1.1 Memahami Normalisasi
Ketika kita merancang suatu basis data untuk suatu sistem relational, prioritas utama dalam mengembangkan model data logical adalah dengan merancang suatu representasi data yang tepat bagi relationship dan constrainnya (batasannya). Kita harus mengidentifikasi suatu set relasi yang cocok, demi mencapai tujuan di atas. Teknik yang dapat kita gunakan untuk membantu mengidetifikasi relasi-relasi tersebut dianamakan Normalisasi.
Proses normalisasi pertama kali diperkenalkan oleh E.F.Codd pada tahun 1972. Normalisasi sering dilakukan sebagai suatu uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi tersebut sudah baik atau masih melanggar aturan-aturan standar yang diperlakukan pada suatu relasi yang normal (sudah dapat dilakukan proses insert, update, delete, dan modify pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut).
Proses normalisasi merupakan metode yang formal/standar dalam mengidentifikasi dasar relasi bagi primary keynya (atau candidate key dalam kasus BCNF), dan dependensi fungsional diantara atribut-atribut dari relasi tersebut. Normalisasi akan membantu perancang basis data dengan menyediakan suatu uji coba yang berurut yang dapat diimplementasikan pada hubungnan individual sehingga skema relasi dapat di normalisasi ke dalam bentuk yang lebih spesifik untuk menghindari terjadinya error atau inkonsistansi data, bila dilakuan update tehadap relasi tersebut dengan Anomaly.
1.2 Langkah-langkah Pembentukan Normalisasi
-> BENTUK TIDAK NORMAL (UNNORMALIZED FORM)
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat menginput.
->BENTUK NORMAL KE SATU (FIRST NORMAL FORM / 1 NF)
Pada tahap ini dilakukan penghilangan beberapa group elemen yang berulang agar menjadi satu harga tunggal yang berinteraksi di antara setiap baris pada suatu tabel, dan setiap atribut harus mempunyai nilai data yang atomic (bersifat atomic value). Atom adalah zat terkecil yang masih memiliki sifat induknya, bila terpecah lagi maka ia tidak memiliki sifat induknya.
Syarat normal ke satu (1-NF) antara lain:
1. setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record nilai dari field berupa “atomic value”.
2. tidak ada set atribute yang berulang atau bernilai ganda.
3. telah ditentukannya primary key untuk tabel / relasi tersebut.
4. tiapatribut hanya memiliki satu pengertian.
-> BENTUK NORMAL KE DUA (SECOND NORMAL FORM / 2 NF
Bentuk normal kedua didasari atas konsep full functional dependency (ketergantungan
fungsional sepenuhnya) yang dapat didefinisikan sebagai berikut. Jika A adalah atribut-atribut dari suatu relasi, B dikatakan full functional dependency (memiliki ketergantungan fungsional terhadap A, tetapi tidak secara tepat memiliki ketergantungan fungsional dari subset (himpunan bagian) dari A.
FULL FUNCTIONAL DEPENDENCY (Ketergantungan Fungsional Sepenuhnya) Suatu ketergantungan fungsional A -> B adalah ketergantungan fungsional sepenuhnya, jika perpindahan beberapa atribut dari A menghasilkan tepat satu pasangan pada atribut B. Suatu ketergantungan fungsional A -> B adalah ketergantungan fungsional sebagian, jika ada beberapa atribut yang dapat dihilangkan dari A sementara ketergantungan tersebut tetap berlaku /berfungsi.
Bentuk normal kedua memungkinkan suatu relasi memiliki composite key, yaitu relasi
dengan primary key yang terdiri dari dua atau lebih atribyut. Suatu relasi yang memiliki single atribut untuk primary keynya secara otomatis pada akhirnya menjadi 2-NF.
Syarat normal kedua (2-NF) sebagai berikut.
1. Bentuk data telah memenuhi kriteria bentuk normal kesatu.
2. Atribute bukan kunci (non-key) haruslah memiliki ketergantungan fungsionla
sepenuhnya (fully functional dependency) pada kunci utama / primary key.
Dengan demikian untuk membentuk normal kedua haruslah sudah ditentukan
primary keynya. Primary key tersebut haruslah lebih sederhana, lebih unik, dapat
Primary Key.
mewakili atribute lain yang menjadi anggotanya, dan lebih sering digunakan pada tabel atau relasi tersebut.
-> BENTUK NORMAL KE TIGA (THIRD NORMAL FORM / 3 NF)
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari pada relasi 1-NF,
namun relasi tersebut masih mungkin mengalami kendala bila terjadi anomaly
peremajaan (update) terhadap relasi tersebut. Misalkan kita akan melakukan update terhadap nama dari seorang Pemilik (pemilik), seperti Durki (No_Pemilik: CO93), kita harus melakukan update terhadap dua baris dalam relasi Property_Pemilik (lihat Tabel 9.5, (c) relasi Property_Pemilik). Jika
kita hanya mengupdate satu baris saja, sementara baris yang lainnya tidak, maka data di dalam database tersebut akan inkonsisten / tidak teratur. Anomaly update ini disebabkan oleh suatu ketergantungan transitif (transitive dependency). Kita harus menghilangkan ketergantungan tersebut dengan melakukan normalisasi ketiga (3-NF). Transitive Dependency (ketergantungan transitif)
Suatu kondisi dimana A, B, dan C adalah atribut-atribut dari suatu relasi sedemikian sehingga A -> B dan B -> C, maka A -> C (C memiliki ketergantungan transitif terhadap A melalui B), dan harus dipastikan bahwa A tidak memiliki ketergantungan fungsional (functional dependent) terhadap B atau C). Syarat normal ketiga (Third Normal Form / 3 NF) sebagai berikut.
1. Bentuk data telah memenuhi kriteria bentuk normal kedua.
2. Atribute bukan kunci (non-key) harus tidak memiliki ketergantungan transitif, dengan kata lain suatu atribut bukan kunci (non_key) tidak boleh memiliki ketergantungan fungsional (functional dependency) terhadap atribut bukan kunci lainnya, seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap priamry key di relasi itu saja.
-> BOYCE-CODD NORMAL FORM (BCNF)
Suatu relasi dalam basis data harus dirancang sedemikian rupa sehingga mereka tidak
memiliki ketergantungan sebagian (partial dependecy), maupun ketergantungan transitif (transitive dependecy), seperti telah dibahas pada subbab sebelumnya. Boyce-Codd Normal Form (BCNF) didasari pada beberapa ketergantungan fungsional (functional dependencies) dalam suatu relasi yang melibatkan seluruh candidate key di dalam relasi tersebut. Jika suatu relasi hanya memiliki satu candidate key, maka hasil uji normalisasi sampai ke bentuk normal ketiga sudah identik dengan
Boyce-Codd Noormal Form (BCNF). Boyce-Codd Normal Form (BCNF) Suatu relasi dikatakan telah memenuhi kriteria Boyce-Codd Normal Form (BCNF), jika dan hanya jika setiap determinan adalah suatu candidate key. Boyce-Codd Normal Form (BCNF) tidak mengharuskan suatu relasi harus sudah dalam bentuk normal ketiga (3-NF), baru bisa di buatkan ke dalam BCNF. Oleh karena
itu untuk melakukan uji BCNF kita hanya mengidentifaksi seluruh determinan yang ada pada suatu relasi, lalu pastikan determinan-determinan tersebut adalah candidate key. Dengan demikian, bisa dikatakan bahwa BCNF lebih baik dari bentuk normal ketiga (3-NF), sehingga setiap relasi di dalam BCNF juga merupakan relasi dalam 3-NF, tetapi tidak sebaliknya, suatu relasi di dalam 3-NF belum tentu merupakan relasi di dalam BCNF.
-> Fourth Normal Form (4NF)
Dilakukan jika terdapat anomali pada (3NF)
->Fifth Normal Form (5NF)
Langkah ini untuk memecah relasi menjadi dua sehingga relasi tersebut tidak digabungkan kembali manjadi satu dan jika terdapat anomali pada (5NF)
1.3 Contoh analisis dengan normalisasi
Form/Faktur Rumah_Impian Perincian Pelanggan
1. Tahap Tabel Pelanggan_Biaya yang belum normal (unnormal)
2. Tahap Tabel Pelanggan Biaya dalam bentuk normal kesatu (1-NF)
3. Tabel Pelanggan Biaya dalam bentuk normal kedua (2-NF)
4. Tabel / Relasi yang memenuhi kriteria normal ketiga (3-NFyang berasal dari relasi Property_Pemilik
5. Hasil akhir uji normalisasi sampai ke bentuk (3-NF) yang berasal dari
relasi Pelanggan_Biaya
2.1. Buatlah normalisasi dari data berikut
Sistem informasi toko serba_ada
1. Tahap Unnormalization Form
2. Tahap First Normal Form (1NF)
3. Tahap Second Normal Form (2NF)
4. Tahap Third Normal Form (3NF)
4. Kesimpulan dan Saran
4.1 Kesimpulan
Pada praktikum kali ini, kita belajar tentang normalisasi yang terdiri dari:
- Unnormalization Form
- First Normal Form (1NF)
- Second Normal Form (2NF)
- Third Normal Form (3NF)
- Boyce Codd Normal Form (BCNF)
- Fourth Normal Form (4NF)
- Fifth Normal Form (5NF)
4.2 Saran dan Manfaat Bagi Pembaca
Dengan laporan ini,kita dapat mengetahui apa itu normalisasi dan bagaimana tahap-tahapnya. Semoga pembaca dapat mengikutinya
dirumah dan bermanfaat. Sekian :)
Daftar Pustaka
- Modul Praktikum Desain Basis Data
- Sanjaya, Ridwan. 2005. Pengolahan Database MySQL dengan Java 2. Yogyakarta: Andi
- Nugroho, Bunafit. 2005. Administrasi Database MySQL. Yogyakarta:Graha Ilmu
- http://mufari.files.wordpress.com/2009/10/normalisasi-database.pdf
- http://riniwidi.files.wordpress.com/2009/05/normalisasi.pdf
- http://mufari.files.wordpress.com/2009/10/normalisasi-database.pdf
- http://riniwidi.files.wordpress.com/2009/05/normalisasi.pdf
Tidak ada komentar:
Posting Komentar