Teori
Normalisasi
Normalisasi merupakan suatu proses untuk mengubah suatu tabel yang memiliki masalah tertentu ke dalam dua buah tabel atau lebih yang tidak lagi memiliki masalah tersebut (Abdul Kadir, 2008). Ada juga yang berpendapat normalisasi adalah proses penyusunan tabel – tabel yang tidak redundan (dobel), yang dapat menyebabkan anomali yaitu proses basis data yang memberikan efek samping yang tidak diharapkan (Misalnya menyebabkan data tidak konsisten atau membuat data hilang ketika data yang lain dihapus).Normalisasi digunakan sebagai teknik analisis data pada database, sehingga dapat diketahui apakah pembuatan tabel – tabel yang terelasi dalam database itu sudah baik. Kondisi sudah baik yaitu suatu kondisi pada saat proses insert, update, delete dan modifikasi pada satu atau beberapa atribut suatu tabel tidak berpengaruh terhadap integritas data yang lain dalam satu hubungan relasi database.
Langkah – langkah Normalisasi
1. Unnormalization Form
Bentuk yang tidak normal dimaksudkan suatu kumpulan data yang akan diolah yang diperoleh dari format – format yang beraneka ragam, masih terdapat duplikasi, bisa saja tidak sempurna atau tidak lengkap, dan sesuai fakta lapangan. Bentuk ini didapat dari dokumen yang ada dilapangan atau manual dengan atribut bukan nilai sederhana.2. First Normal Form (1NF)
Suatu tabel dianggap normal ke satu (1NF) jika :- Tidak terdapat baris yang bernilai ganda atau duplikat.
- Masing - masing baris bernilai tunggal dan tidak bernilai null.
Langkah – langkah :
- Isikan setiap data bernilai tunggal dan tidak null
- Membuang perulangan data dalam satu baris dengan baris yang lain.
3. Second Normal Form (2NF)
Bentuk normal kedua (2NF) terpenuhi jika :- Harus telah berbentuk normal pertama (1NF).
- pada sebuah tabel semua atribut yang tidak termasuk dalam primary key memiliki ketergantungan fungsional pada primary key secara utuh. Suatu atribut dikatakan ketergantungan fungsional jika harga pada atribut tersebut menentukan harga dari atribut yang lain. Misalnya, nim → mhs_nama.
Langkah – langkah :
- Jika terdapat atribut yang bergantung terhadap atribut bukan kunci utama dan merupakan atribut kunci maka pecah menjadi table baru.
4. Third Normal Form (3NF)
Bentuk normal ketiga (3NF) terpenuhi jika :- Harus telah berbentuk normal kedua (2NF).
- Tidak terdapat anomali – anomali hasil dari ketergantungan transitif. ketergantungan transitif adalah ketergantungan fungsional antara 2 atau lebih atribut bukan kunci.
- Pastikan semua atribut non kunci bergantung penuh terhadap atribut kunci.
- Pisahkan menjadi tabel baru jika menemukan ketergantungan transitif dalam tabel tersebut.
- Third Normal Form (3NF) Bentuk normal ketiga (3NF) terpenuhi jika :
5. Boyce Codd Normal Form (BCNF)
Secara praktis tujuan analisis database cukup sampai pada 3NF, Akan tetapi dalam suatu kasus tertentu lebih baik bila dapat mencapat BCNF. Beberapa pemikir menyamakan antara 3NF dengan BCNF. Bentuk normal BCNF terpenuhi jika :- Masing-masing atribut utama bergantung fungsional penuh pada masing kunci dimana kunci tersebut bukan bagiannya.
- Setiap determinan atribut-atribut relasi adalah kunci relasi atau kandidat kunci.
- BCNF dapat memiliki lebih dari satu kunci.
- BCNF hampir sama dengan 3NF.
- Hilangkan dependensi pada bukan kunci kandidat.
6. Fourth Normal Form (4NF)
Dilakukan jika terdapat anomali pada (3NF)7. 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)Contoh permasalahan dalam Normalisasi
Terdapat suatu hasil kartu studi yang bersifat manual dan akan kita anilisis menggunakan teknik Normalisasi sebagai berikut :
Tahap anilisis dengan Normalisasi :
Biasanya ketika mencapai pada tahap Third Normal Form (3NF) sudah memenuhi syarat untuk digunakan dalam pembuatan aplikasi database. Namun apabila masih terdapat anomali maka bisa dilanjutkan ke tahap berikutnya sampai tidak terdapat anomali.
Hasil akhir dari Normalisasi sebagai berikut :
Adapun kelemahan dari 1NF ini sebagai berikut :
- Inserting (Memasukkan data) Kita tidak dapat memasukkan kode dan nama supplier saja tanpa ada transaksi pembelian, sehingga supplier baru dapat masuk bila ada transaksi pembelian.
- Deleting (Menghapus data) Bila satu baris data transaksi dihapus, maka akan berakibat menghapus pada data supplier. Padahal data suplier masih diperlukan pada transaksi berikutnya. Misalkan transaksi di hapus berdasarkan no_faktur =6, maka akan menghapus supplier=4(rodi).
- Updating (Mengubah data) Kode dan nama pada supplier terlihat tertulis berulang-ulang 3(biti). Jika kita ingin merubah nama supplier tersebut maka harus mengganti disemua baris yang mengandung supplier 3(biti), jika ada yang terlewat data tidak konsisten lagi.
Karena masih terdapat kesalahan maka perlu dilakukan tahap berikutnya.
Tahap Second Normal Form (2NF)Pembentukan bentuk normal kedua ini dilakukan dengan mencari kunci-kunci field yang dapat dipakai sebagai patokan dalam pencarian dan sifatnya unik. Berdasarkan kondisi di atas dapat diambil kunci kandidat yaitu : No_faktur, Kode_supplier, dan kode_barang.
Tahap Third Normal Form (3NF)
Syarat :
Setiap atribut yang bukan kunci harus bergantung hanya pada atribut kunci (primary key) secara menyeluruh. Hilangkan juga anomali – anomali yang masih mempunyai ketergantungan fungsional. Pada tabel supplier terdapat kolom kota, perubahan kota milik supplier dapat menyebabkan data tidak konsisten sekiranya hanya satu baris yang diubah sementara seharusnya ada beberapa baris. Relasi tersebut juga terkena anomaly penyisipan dan penghapusan.
Tugas Praktikum
- 1NF (First Normal Form)
- 2NF (Second Normal Form)
- 3NF (Third Normal Form)
- BCNF Boycode Normal Form)
- 4NF (Fourth Normal Form) -
- 5NF (Fifth Normal Form) -
Tugas Take Home
- 1NF (First Normal Form)
- 2NF (Second Normal Form)
- 3NF (Third Normal Form)
- BCNF Boycode Normal Form)
- 4NF (Fourth Normal Form) -
- 5NF (Fifth Normal Form) -
Kesimpulan
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.Dan tehapan - tahapan normalisasi itu sendiri terdiri dari :
- 1NF (First Normal Form)
- 2NF (Second Normal Form)
- 3NF (Third Normal Form)
- BCNF Boycode Normal Form)
- 4NF (Fourth Normal Form)
- 5NF (Fifth Normal Form)
jangan lupa nanti malam ada #OpenmicCampussMLG di @ipokcafe ba'da isya' :p
Tugas Praktikum yang 3NF kok relasinya gak terhubung sempurna....
BalasHapusgambarnya di klik mas,
BalasHapustemplate blognya nih yang bikin kepotong...