Normalisasi Lanjut I. Review Normalisasi Definisi Normalisasi adalah suatu teknik untuk mengorganisasikan data ke dalam tabeltabel untuk memenuhi kebutuhan pemakai di dalam suatu ogranisasi. Tujuan dari Normalisasi Untuk menghilang kerangkapan data Untuk mengurangi kompleksitas Untuk mempermudah pemodifikasian data Proses Normalisasi Data diuraikan dalam bentuk table, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila table yang diuji belum memenuhi persyaratan tertentu, maka table tersebut perlu dipecah menjadi beberapa table yang lebih sederhana sampai memenuhi bentuk yang optimal. Tahapan Normalisasi Bentuk Tidak Normal Menghilangkan perulangan group Bentuk Normal Pertama (1 NF) Menghilangkan Ketergantungan sebagian Bentuk Normal Kedua (2NF) Menghilangkan Ketergantungan Transitif Bentuk Normal Ketiga (3NF) 1
Menghilangkan anomali-anomali hasil dari ketergantungan fungsional Bentuk Normal Boyce-Codd (BCNF) Menghilangkan ketergantungan Multivalue Bentuk Normal Keempat (4NF) Menghilangkan anomali-anomali yang tersisa Bentuk Normal Kelima Depedensi (Ketergantungan) Depedensi merupakan konsep yang mendasari normalisasi yang menjelaskan hubungan antar atribut atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya. Macam macam depedensi : Depedensi fungsional X secara fungsional menentukan Y atau secara istilah : penentu (determinan) yang tergantung (dependen) Depedensi fungsional sepenuhnya Suatu atribut Y mempunyai dependensi fungsional sepenuhnya terhadap atribut X, jika: Y mempunyai dependensi fungsional terhadap X, dan Y tidak memiliki dependensi terhadap bagian dari X. Depedensi total Suatu atribut Y mempunyai dependensi total terhadap atribut X jika: Y memiliki dependensi fungsional terhadap X, dan X mempunyai dependensi fungsional terhadap Y. Dependensi seperti ini dinyatakan dengan notasi: X Y 2
Depedensi transitif Atribut Z mempunyai dependensi transitif terhadap X jika : Y memiliki dependensi fungsional terhadap X. Z memiliki dependensi fungsional terhadap Y. atau dapat dituliskan : X Y Z Bentuk Normal Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut dalam level-level normalisasi; Suatu relasi dikatakan berada dalam bentuk normal tertentu jika memenuhi kondisi-kondisi tertentu; Beberapa level yang biasa digunakan pada normalisasiadalah: Bentuk normal pertama (1NF) Bentuk normal kedua (2NF) Bentuk normal ketiga (3NF) Bentuk normal Boyce-Cood (BCNF) Bentuk normal keempat (4NF) Bentuk normal kelima (5NF) Bentuk Normal Kesatu (1 NF) Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomic yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data. Un normal Form 3
Normal ke 1 Atau bentuk lain : Un normal Form Normal ke 1 Bentuk Normal Kedua (2NF) Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap keynya. Dalam ungkapan yang lebih praktis, 4
bentuk normal kedua primer. mensyaratkan setiap atribut bergantung kepada kunci Untuk mengubah suatu relasi yang tergolong sebagai bentuk normal pertama ke bentuk normal kedua perlu dilakukan dekomposisi terhadap relasi tersebut. Proses dekomposisi dapat dilakukan dengan menggambarkan diagram dependensi fungsional terlebih dahulu. Berdasarkan diagram ini, relasi dalam bentuk normal pertama dipecah ke dalam sejumlah relasi. Normal ke 1 Normal ke 2 Relasi (dependensi fungsional) NIP { Nama, Jabatan } { NIP, Keahlian } Lama Hasil dekomposisi : 5
Bentuk Normal Ketiga (3NF) Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap keynya. Normal ke 2 Normal ke 3 6
II. Boyce-Codd Normal Form (BCNF) Suatu relasi disebut memenuhi bentuk normal Boyce-Codd jika dan hanya jika semua penentu (determinan) adalah kunci kandidat (atribut yang bersifat unik). BCNF merupakan bentuk normal sebagian perbaikan terhadap 3NF. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya Suatu relasi yang memenuhi 3NF belum tentu memenuhi BCNF. Dalam banyak literatur disebutkan bahwa BCNF adalah perbaikan dari 3NF, karena bentuk normal ketigapun mungkin masih mengandung anomali sehingga masih perlu dinormalisasi lebih lanjut. BCNF memiliki ketentuan yaitu : Masing-masing atribut utama bergantung fungsional penuh pada masingmasing kunci dimana kunci tersebut bukan bagiannya. Relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah kunci relasi. Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka atribut-atribut ini merupakan satu kunci relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah relasi tidak memiliki informasi yang redundan. Perbedaan BCNF dengan 3NF : Pada BCNF suatu atribut yang bergantung secara fungsional terhadap kunci primer, mungkin saja merupakan kunci primer bagi atribut yang lain. Pada 3NF hal ini bisa saja terjadi dan tidak menjadi masalah. Contoh : 7
Relasi di atas memenuhi 3NF tetapi tidak memenuhi BCNF, Karena : o Seorang mahasiswa dapat mengambil sejumlah mata kuliah. o Setiap dosen hanya mengajar pada sebuah mata kuliah. o Setiap mahasiswa pada setiap mata kuliah hanya diajar oleh seorang dosen. o Suatu mata kuliah yang sama bisa memiliki lebih dari satu dosen. Mahasiswa, Mata Kuliah Dosen Mahasiswa, Dosen Mata Kuliah Cara mengkonversi relasi yang telah memenuhi 3NF ke BCNF: Carilah semua penentu Bila terdapat penentu yang bukan berupa kunci kandidat, maka: Pisahkan relasi tersebut, dan Buat penentu tersebut sebagai kunci primer. III. Bentuk Normal ke Empat (4 NF) Multivalued dependency (MVD). Dependensi ini pertama kali diperkenalkan oleh R.Fagin pada tahun 1977, dipakai pada bentuk normal keempat (4NF). Dependensi ini dipakai untuk menyatakan hubungan satu ke banyak. Secara umum, dependensi nilai banyak muncul pada relasi yang paling tidak memiliki tiga atribut dan dua di antaranya bernilai banyak, dan nilainilainya tergantung hanya pada atribut ketiga. 8
Bila R(A,B,C) merupakan suatu relasi, dengan A, B, C adalah atribut atribut relasi tersebut, maka proyeksi dari R berupa (A, B) dan (A, C) jika R memenuhi MVD: A -->> B C Perlu diketahui, bila terdapat: A --->> B A --->> C Maka keduanya dapat ditulis menjadi: A --->> B C Misalnya, pegawai ditugaskan ke banyak proyek dan ia mempunyai banyak keahlian. Jika kita mencatat info ini pd satu tabel, ketiga atribut harus digunakan sbg kunci Hubungan antara pegawai dan proyek mrp ketergantungan multivalue krn untuk setiap pasang nilai pegawai/ahli pd tabel, himp nilai proyek yg berhub hanya ditentukan oleh pegawai dan tidak tergantung pada ahli. Hubungan antara pegawai &ahli mrp ketergantungan multivalue,karena himpunan nilai ahli untuk pasangan pegawai/proyek selalu hanya tergantung pd pegawai untuk mengubah sebuah tabel dg ketergantungan multivalue ke dlm 4NF, pindahkan masing2 pasangan MVD ke tabel baru. PEGAWAI_PROYEK PEGAWAI_AHLI PEGAWAI PROYEK PEGAWAI AHLI 1211 P1 1211 P3 1211 ANALISIS 1211 PEMROGRAMAN 1211 PERANCANGAN 9
IV. Bentuk Normal kelima (5NF) Sebuah tabel berada pd bentuk normal kelima (5NF) jika tidak dpt mempunyai dekomposisi lossless mjd sejumlah tabel lebih kecil. Bentuk normal kelima berdasarkan pd konsep ketergantungan gabungan (join dependence) Ketergantungan gabungan berarti bhw sebuah tabel, setelah didekomposisi menjadi 3 atau lebih tabel yg lebih kecil, harus dapat digabungkan kembali untuk membentuk tabel asal. Dengan kata lain 5NF menunjukkan ketika sebuah tabel tidak dapat didekomposisi lagi. 10