Normalisasi data adalah proses yang berkaitan dengan model data relasional untuk mengorganisasi himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat. Hasil dari proses normalisasi adalah tabel–tabel data dalam bentuk normal (normal form), yaitu tabel–tabel data yang terhindar dari dua hal yaitu:
- Pengulangan informasi.
- Potensi inkonsistensi data pada operasi pengubahan.
Terdapat enam bentuk normal (normal form) dalam teknik normalisasi data, keenam bentuk tersebut adalah:
- Bentuk Normal Tahap pertama (1st Normal Form)
- Bentuk Normal Tahap Kedua (2nd Normal Form)
- Bentuk Normal Tahap Ketiga (3rd Normal Form)
- Bentuk Normal Boyce - Code (BCNF)
- Bentuk Normal Tahap Keempat (4rd Normal Form)
- Bentuk Normal Tahap Kelima (4rd Normal Form)
2. Proses-Proses Normalisasi data
Dalam proses normalisasi, data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal. Langkah-langkah yang dilakukan dalam melakukan normalisasi data diperlihatkan dalam gambar dibawah ini:
Langkah-langkah proses normalisasi data |
3. Bentuk tidak normal (Unnormalized Form)
Bentuk ini memiliki ciri-ciri, yaitu:
- Merupakan kumpulan data yang akan direkam.
- Tidak ada keharusan mengikuti suatu format tertentu.
- Dapat saja data tidak lengkap atau terduplikasi.
- Data dikumpulkan apa adanya sesuai dengan kedatangannya.
4. Bentuk Normal Tahap pertama (1st Normal Form)
Bentuk normal ke satu 1 NF ini mempunyai beberapa ciri antara lain yaitu:
- Setiap data dibentuk dalam flat file (file data/ rata)
- Data dibentuk dalam satu record demi satu record dan nilai dari field field berupa "atomic value", tidak dapat dibagi-bagi lagi.
- Tidak ada set atribute yang berulang ulang atau atribute bernilai ganda (multivalue).
- Tidak ada set atribut composite atau kombinasinya dalam domain data yang sama.
- Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan kata sehingga artinya lain.
Contoh dari tabel yang belum memenuhi 1NF:
Contoh data pada tabel yang belum memenuhi 1NF |
Atau bentuk entitas seperti berikut:
Contoh lain dari data pada tabel lain yang belum memenuhi 1NF |
Untuk dapat memenuhi aturan 1NF, maka dilakukan penataan ulang data (dekomposisi) menjadi 2 entitas, yakni entitas siswa dan entitas hobi seperti gambar berikut:
Hasil dekomposisi tabel untuk memenuhi bentuk 1NF |
5. Bentuk Normal Tahap Kedua (2nd Normal Form)
Bentuk normal kedua mempunyai syarat yaitu:
- Bentuk data telah memenuhi kriteria bentuk normal kesatu.
- Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama atau primary key.
- Sudah ditentukan kunci kunci field, dimana kunci field haruslah unik dan dapat mewakili atribute lain yang menjadi anggotanya.
Sebagai contoh ditentukan sebuah tabel siswa sebagai berikut:
Tabel di atas telah memenuhi 1NF, namun belum memenuhi 2NF, {NIS, Kode_Mapel} yang dianggap sebagai primary key sedangkan:
Tabel di atas perlu didekomposisi menjadi beberapa tabel untuk memenuhi syarat 2NF. Dekomposisi sesuai dengan functionaldependencynya (FD) adalah sebagai berikut:
- FD 1 : {NIS, Kode_Mapel} Nilai
- FD 2 : NIS > {Nama_siswa, Alamat}
- FD 3 : Kode_mapel {Nama_mapel, Nama_guru}
Dari ketiga FD di atas, maka dilakukan dekomposisi tabel menjadi sebagai berikut:
- Tabel Nilai : (NIS, Kode_mapel, Nilai)
- Tabel Siswa :(NIS, Nama_siswa, Alamat)
- Tabel Mapel :(Kode_mapel, Nama_mapel, Nama_Guru)
6. Bentuk Normal Tahap Ketiga (3rd Normal Form)
Untuk menjadi bentuk normal ketiga (3 NF) suatu tabel harus mempunyai ciri-ciri sebagai berikut:
- Memenuhi bentuk 2 NF (normal kedua)
- Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama atau primary key.
- Setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh.
Berikut ini adalah contoh relasi yang telah memenuhi bentuk 2 NF, tetapi belum memenuhi bentuk 3 NF:
Pada relasi di atas, masih terdapat atribut non primary key (yakni Alamat_kota dan Alamat_Prov) yang memiliki ketergantungan terhadap atribut non primary key yang lain, yaitu Kode_pos.
Kodepos > {Alamat_kota, Alamat_prov} Untuk memenuhi syarat 3NF, maka relasi tersebut harus didekomposisi sebagai berikut:
Siswa : (NIS, Nama_siswa, Alamat_jn, Kodepos)
Kodepos : (Kodepos, Alamat_kota, Alamat_prov)
RANGKUMAN
Normalisasi data adalah proses yang berkaitan dengan model data relasional untuk mengorganisasi himpunan data dengan ketergantungan tinggi. Hasil dari proses normalisasi adalah tabel data dalam bentuk normal. Terdapat enam bentuk normal tabel yaitu:
1) Bentuk Normal Tahap pertama (1st NF).
2) Bentuk Normal Tahap Kedua (2nd NF).
3) Bentuk Normal Tahap Ketiga (3rd NF).
4) Bentuk Normal Boyce - Code (BCNF).
5) Bentuk Normal Tahap Keempat (4rd NF).
6) Bentuk Normal Tahap Kelima (4rd NF)
1) Bentuk Normal Tahap pertama (1st NF).
2) Bentuk Normal Tahap Kedua (2nd NF).
3) Bentuk Normal Tahap Ketiga (3rd NF).
4) Bentuk Normal Boyce - Code (BCNF).
5) Bentuk Normal Tahap Keempat (4rd NF).
6) Bentuk Normal Tahap Kelima (4rd NF)
Bentuk normal ke satu 1 NF ini mempunyai beberapa ciri:
1) Setiap data dibentuk dalam flat file (file data).
2) Data dibentuk dalam satu record demi satu record dan nilai dari field field berupa "atomic value", tidak dapat dibagi-bagi lagi.
3) Tidak ada set atribute yang berulang ulang atau atribute bernilai ganda (multivalue).
4) Tidak ada set atribut composite atau kombinasinya dalam domain data yang sama.
1) Setiap data dibentuk dalam flat file (file data).
2) Data dibentuk dalam satu record demi satu record dan nilai dari field field berupa "atomic value", tidak dapat dibagi-bagi lagi.
3) Tidak ada set atribute yang berulang ulang atau atribute bernilai ganda (multivalue).
4) Tidak ada set atribut composite atau kombinasinya dalam domain data yang sama.
Bentuk normal kedua mempunyai syarat yaitu:
1) Bentuk data telah memenuhi kriteria bentuk normal kesatu.
2) Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama atau primary key.
3) Sudah ditentukan kunci kunci field, dimana kunci field haruslah unik dan dapat mewakili atribute lain yang menjadi anggotanya.
1) Bentuk data telah memenuhi kriteria bentuk normal kesatu.
2) Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama atau primary key.
3) Sudah ditentukan kunci kunci field, dimana kunci field haruslah unik dan dapat mewakili atribute lain yang menjadi anggotanya.
Untuk menjadi bentuk normal ketiga (3 NF) suatu tabel harus mempunyai ciri-ciri sebagai berikut: 1) Memenuhi bentuk 2 NF (normal kedua). 2) Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama atau primary key. 3) Setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh.
Langkah-langkah yang dilakukan dalam melakukan normalisasi data adalah :
1) menghilangkan elemen data berulang.
2) menghilangkan ketergantungan parsial.
3) menghilangkan ketergantungan transitif.
4) menghilangkan kunci kandidiat yang bukan determinan.
5) menghilangkan ketergantungan multi value.
6) menghilangkan ketergantungan join.
1) menghilangkan elemen data berulang.
2) menghilangkan ketergantungan parsial.
3) menghilangkan ketergantungan transitif.
4) menghilangkan kunci kandidiat yang bukan determinan.
5) menghilangkan ketergantungan multi value.
6) menghilangkan ketergantungan join.