Lalu Bagaimana DATABASE dikatakan BAGUS…?!
Disinilah akan kita Bahas Bagaimana sebuah Database dikatakan BAGUS. Sebelum masuk lebih jauh perlu kita ketahui dulu definisi dari sebuah Database.
Definisi :
· Basis Data adalah himpunan kelompok data (arsip) yang saling berhubungan yang saling dikoordinasi sedemikian rupa agar dapat dimanfaatkan kembali dengan cepat dan mudah.
· Basis Data adalah kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundunsi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
· Basis Data adalah kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.
Tujuan dibangunnya sebuah Basis Data adalah sebagai berikut :
· Kecepatan & Kemudahan (Speed)
Dengan memanfaatkan Basis Data kita dapat menyimpan data ataupun melakukan perubahan/manipulasi terhadap data serta menampilkan data dengan mudah dan cepat. Hal ini berbeda jika kita menyimpan data secara manual (non elektronik) ataupun elektronik tetapi tidak dalam kerangka penerapan basis data, misalkan dengan Excel ataupun dokumen teks biasa (MS-Word).
· Efisiensi Ruang Penyimpanan (Space)
Dengan Basis Data, kita dapat melakukan efisiensi/optimalisasi pemanfaatan ruang penyimpanan (space), yaitu dengan jalan melakukan pengkodean atau dengan membuat relasi-relasi antar kelompok data Hal ini digunakan untuk menghilangkan pengulangan (redundunsi), yang akan memperbesar ruang penyimpanan.
· Keakuratan (Accuracy)
Dengan melakukan pengkodean atau pembentukan relasi antar tabel dengan memanfaatkan aturan (constrain) tipe data, keunikan data akan dapat menghilangkan sifat anomali yang mungkin ada pada data, sehingga dapat menekan ketidak akuratan penyimpanan ataupun informasi yang bisa diambil
· Ketersediaan (Availability)
Dengan memanfaatkan teknologi jaringan computer serta penempatan data yang disesuaikan dengan lokasi asal database, maka data yang berasal dari suatu lokasi dapat diakses (tersedia/available) bagi lokasi lain. (misal Nasabah sebuah Bank, datanya dipisah-pisah berdasarkan lokasi Cabang Bank tersebut).
· Kelengkapan (Completeness)
Kelengkapan suatu data yang kita kelola bersifat relative (tergantung kebutuhan), tetapi paling tidak perancangan basis data harus berpikiran jauh kedepan (sehubungan dengan kebutuhan apa saja yang suatu saat muncul dikelak kemudian hari akan muncul perlu masukan dalam data).
· Keamanan (Security)
Untuk menjaga keamanan Basis Data ada beberapa hal yang bisa dilakukan, diantaranya adalah : (1) Penentuan perangkat lunak Data Base Server yang handal (sulit untuk ditembus), (2) Pemberian Otoritas kepada user mana saja yang berhak mengkases, serta memanipulasi data-data yang ada.
· Kebersamaan pemakaian (Sharability)
Sebuah Basis Data (Tabel-Tabel) yang dimiliki oleh sebuah departemen barangkali diperlukan oleh departemen yang lain. Untuk itu system yang mendukung lingkungan multiuser akan dapat memenuhi kebutuhan ini, sehingga sebuah data dapat diakses secara bersama-sama oleh beberapa user.
Hal terpenting pada perancangan sebuah system Informasi, yang menjadi pokok persoalan adalah bagaima kita merancang sebuah Basis Data yang BAIK. Karena baik tidaknya sebuah system informasi tidak hanya tergantung kepada design tampilan program saja, akan tetapi lebih tergantung kepada Basis Datanya. Sebuah Basis Data dikatakan dalam kondisi baik apabila Tabel-tabel yang ada berada dalam kondisi NORMAL (Baik). Untuk itu diperlukan sebuah Proses untuk membuat sebuah Basis Data yang NORMAL (Baik).
Untuk bisa mendapatkan sebuah Database yang NORMAL, maka ada beberapa hal yang akan dihilangkan dengan proses Normalisasi, yaitu :
o Redundancy
Yaitu adanya duplikasi data dalam bebarapa tabel, misalnya dalam Database Akademik terdapat tabel-tabel Mahasiswa (NIM, NamaMahasiswa, …), tabel KRS (NIM, Nama_Mahasiswa, Kode_Mtk, Nama_Mtk, Nilai), tabel MataKuliah (Kode_Mtk, Nama_Mtk). Pada database tersebut terdapat Redundancy data, yaitu adanya data Nama_Mahasiswa yang terdapat pada dua tabel, yaitu tabel KRS dan tabel Mahasiswa. Demikian juga dengan data Nama_Mtk yang terdapat pada dua tabel, yaitu tabel KRS dan tabel Mata Kuliah.
Solusi :
Seharusnya data Nama_Mahasiswa dan Nama_Mtk dapat dihilangkan dari tabel KRS, sebab kedua data tersebut sudah diwakili dengan NIM dan Kode_Mtk di tabel KRS sebagai Foreign-Key (Kunci Tamu) yang direlasikan ke tabel Mahasiswa dan tabel Mata Kuliah.
Redundancy ini dapat menyebabkan : - pemborosan storage (space)
o Ambiguitas
Yaitu suatu keadaan yang bisa menyebabkan ketidakpastian informasi yang akan dihasilkan. Hal ini disebabkan adanya data yang sama tetapi sebenarnya data tersebut adalah berbeda. Misalnya ada Nama Dosen Erwin Gotawa yang persis sama dengan identitas dosen yang berbeda, tetapi karena pada pencatatan jadual matakuliah hanya dicatat namanya saja, maka kondisi ini akan menyebabkan ketidakpastian dosen pengajar. Misal : Basis Data diajar oleh Erwin Gotawa (yang beralamat di Jl. Sawo No.1 Surabaya), Kalkulus diajar oleh Erwin Gotawa (yang beralamat di Jl. Semangka No.5 Madiun). Yang menjadi persoalan adalah Erwin Gotawa yang mana dan Mengajar Mata Kuliah apa ?
Solusi :
Untuk mengatasi hal tersebut, maka Dosen harus dipisah menjadi sebuah Entitas/Tabel tersendiri dengan menambahkan sebuah Kode Dosen yang berfungsi sebagai Primary Key.
o Inkonsistensi
Yaitu suatu keadaan ketidakkonsistenan data dikarenakan adanya Redundancy data. Dimana jika ada ketidakbenaran (kesalahan) data pada Tabel Master, maka perlu dilakukan perbaikan data pada tabel Mater tersebut, tetapi pada tabel-tabel lain yang memuat data tersebut tidak dilakukan perbaikan. Hal ini akan membuat Ketidakkonsistenan data, dimana seharusnya dengan NIM atau Kode_Mtk yang sama memberikan informasi tentang Nama Mahasiswa dan Nama Mata Kuliah yang sama. Tetapi dalam kenyataannya tidak sama.
Solusi :
Untuk menghilangkan Inkonsistensi, maka lakukan Coding dengan membuat sebuah AtributKey (Primary-Key) pada setiap Tabel Master, sehingga setiap Tabel lain yang mengacu ke Tabel Master perlu dibuatkan sebuah Atribut yang berfungsi sebagai Foreign-Key (Kunci Tamu) dengan tanpa harus memasukkan Atribut Deskriptif seperti Nama Mahasiswa dan Nama Mata Kuliah..
o Anomali
Yaitu suatu keadaan data yang bisa mempunyai banyak (lebih dari satu) bentuk, tetapi pada hakekatnya adalah satu juga. Misalnya Attribut Kota bisa bernilai : Surabaya, Sby, atau L. Dimana ketiga nilai tersebut (Surabaya, Sby dan L) pada hakekatnya adalah satu yaitu sebuah nama kota yang bernama Surabaya, yang membedakan adalah cara penulisannya saja. Hal ini akan sangat menyulitkan proses pencarian informasi di kelak kemudian hari. Jika ingin mencari pegawai yang beralamat di Surabaya, kita akan kesulitan mencarinya, sebab kalau dicari dengan kata kunci “Surabaya”, maka data yang beralamat di “Sby” dan “L” pasti tidak akan ditemukan, demikian sebaliknya kalau dicari berdasarkan kata kunci “Sby”, maka data yang beralamat di “Surabaya” dan “L” juga tidak dapat ditemukan.
Solusi :
Jika ada sebuah Atribut yang ternyata bisa menyebabkan Anomali, maka pisah Atribut tersebut menjadi sebuah Entitas (Tabel) sendiri, dengan menambahkan sebuah Atribut yang berfungsi sebagai Primary-Key.
0 comments
Posting Komentar