Halaman

Minggu, 16 Juni 2013

Merancang Database Menggunakan Normalisasi


        Database atau basis data memiliki pengertian sederhana sebagai kumpulan tabel. Satu tabel merepresentasikan suatu objek/entitas tertentu. Suatu entitas terdiri dari beberapa atribut. Beberapa entitas memiliki hubungan/relationship yang saling terkait.
Perancangan basis data diperlukan, agar kita bisa memiliki basis data yang kompak dan efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah dalam pemanipulasian (tambah, ubah, hapus) data.

Proses Normalisasi adalah proses merancang database yang menggunakan Metode BOTTOM-UP yaitu proses pen-transformasian Database dari sistem klasik yang hanya menggunakan Flat File menjadi RDBMS yang integrative dan sistematis yang meliputi langkah-langkah dekomposisi dari rekord yang kompleks menjadi rekord yang sederhana atau proses reduksi tabel menjadi tabel yang lebih kecil tanpa menghilangkan informasi, dalam arti lain normalisasi merupakan  proses pengelompokan data elemen menjadi table-table yang menunjukkan entity dan relasinya.

Pada proses normalisasi  selalu diuji pada beberapa kondisi, apakah ada kesulitan pada saat menambah / insert, menghapus / delete, mengubah / update, dan membaca / retrieve pada suatu Database.Bila ada kesulitan pada pengujian tersebut, maka relasi tersebut dipecahkan menjadi beberapa table lagi, sehingga diperolehdatabase yang optimal.
Proses perancangan database menggunakan normalisasi dimulai dari dokumen dasar yang dipakai dalam sistem sesuai dengan lingkup sistem yang akan dibuat rancangan databasenya. Sebagai contoh adalah sebuah Kartu Hasil Studi (KHS) sebuah perguruan tinggi swasta di Tegal

1.         Bentuk Unnormalisasi
 Langkah pertama dalam merancang sebuah database adalah dengan membentuk contoh data tersebut di atas dengan membentuk unnormalisasi data, dengan cara mencantumkan semua atribut data yang ada apa adanya seperti terlihat berikut ini :


          Pada relasi diatas adalah dengan menuliskan semua data yang ada yang akan direkam, data yang double tidak perlu ditulis. Terlihat baris / record yang tidak lengkap. 

2.         Bentuk Normal Pertama (1 NF)
 
Suatu tabel dikatakan dalam bentuk normal pertama apabila:
a.      Tidak ada baris data yang duplikat atau berulang dalam tabel.
b.      Setiap sel memiliki nilai tunggal artinya tidak ada perulangan.
c.       Data dalam kolom memiliki tipe data yang sejenis.
 Bentuklah menjadi bentuk normal pertama dengan memisah-misahkan data pada atribut-atribut yang tepat dan bernilai atomik, juga seluruh record / baris harus lengkap adanya. Bentuk relasi adalah flat file. pada normal ini kita bisa membuat 17 Field sehingga dibentuk seperti ini :

Pada normal pertama tersebut masih terjadi banyak kelemahan, terutama pada proses ANOMALI  insert, update dan delete berikut ini.

a.
Inserting / Penyisipan
Kita tidak dapat memasukkan NPM dan nama  mahasiswa saja tanpa
adanya Nama matakulian yang dimbil, sehingga mahasiswa baru bisa
dimasukkan kalau ada telah mengambil mata kuliah.
b.
Deleting / Penghapusan
Bila satu record / baris di atas dihapus, misal Mata Kuliah Matematika
Diskrit, maka berakibat pada penghapusan data Nama Dosen
(S. Abas M.Eng) padahal data tersebut masih diperlukan.

c.
Updating / Pengubahan
NPM dan nama mahasiswa terlihat ditulis berkali-kali, bila nama
mahasiswa berubah, maka di setiap baris yang ada harus dirubah,
bila tidak menjadi tidak konsisten.
 


3.         Bentuk Normal Kedua (2 NF)
Tabel dalam keadaan 2NF apabila tabel sudah dalam keadaan 1NF dan semua atribut yang bukan kunci, bergantung pada semua kunci dalam tabel. Dengan kata lain 2NF bertujuan untuk menghilangkan ketergantungan parsial.
Bentuk normal kedua dengan melakukan dekomposisi relasi di atas menjadi beberapa relasi dan mencari kunci primer dari tiap-tiap relasi tersebut dan atribut kunci haruslah unik.



seperti dibawah ini :


 4.         Bentuk Normal Ketiga (3 NF)
Definisi Bentuk Normal Ketiga (3 NF) adalah:
a.         Memenuhi bentuk 2 NF (normal kedua).
b.         Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama / primary key.
Pada data di atas dengan keterangan "*" merupakan Primary key dari masing-masing tabel. garisnya menunjukan adanya relasi antar tabel.

5. Pengujian dengan data tabel
Dari normal ke tiga kita menuju pengujian antar tabel, seperti telihat gambar dibawah ini :

6. Hubungan Relasi Antar Tabel
Pada Step ini menunjukkan hubungan pokok dari tabel satu ke tabel yang lainnya,
seperti terlihat pada gambar dibawah ini :

           Itulah dia contoh study kasus dari penggunaan Normalisasi Pada Sistem Basis Data. Dengan perantara menggunakan KHS (Kartu Hasil Study).

Sekian Semoga Bermanfaat ^_^



Vertical Resize - Hello Kitty