Pengertian Normalisasi
Suatu teknik yang menstrukturkan atau mendekomposisi atau memecah data menggunakan cara tertentu untuk mencegah timbulnya anomali/penyimpangan yang terjadi akibat adanya kerangkapan data dalam relasi dan pengolahan.
Fungsi Normalisasi Basis Data
Normalisasi digunakan untuk menghindari terjadinya berbagai penyimpangan data dan tidak konsistennya data.
Tujuan Normalisasi Basis Data
Untuk menghilangkan dan mengurangi redudansi data dan memastikan data berada pada tabel yang tepat.
Proses Normalisasi
Bentuk Tidak Normal
- Merupakan Kumpulan data yang akan direkam
- Data dapat tidak lengkap atau terduplikasi
- Tidak ada keharusan mengikuti format tertentu
- data dikumpulkan apa adanya sesuai dengan kedatangannya.
Berikut contoh Tabel Unnormal data dari Nota pembelian Blumkopi:

Tabel 1 NF
Suatu Tabel dikatakan 1 NF apabila dan hanya jika setiap setiap atribut hanya memiliki satu nilai tunggal.
Contoh Tabel 1NF
| Tanggal Pembelian | No.Nota | Id_pembeli | Nama Pembeli | Id kasir | Nama Kasir | Nama Item | Id Item | Qty | Harga Satuan | Total Harga | Total Bayar | Kembalian | Tanggal Bayar |
| 22 Januari 2020,17:53 | IT0122A000E | q-004 | Rangga | z-001 | Awan | Es Kopi Susu | p-003 | 1 | 10.000 | 10.000 | 100.000 | 90.000 | 22 Januari 2020,18:20 |
| 22 Januari 2020,17:53 | IT02344B00R | q-007 | Juned | z-006 | Lely | Es Coklat Kelapa | q-005 | 2 | 18.000 | 36.000 | 50,000 | 14,000 | 22 Januari 2020,18:30 |
| 23 Januari 2020,19:00 | IF3557C999K | q-009 | Kayla | w-004 | Meta | Hot Thai Tea | w-007 | 1 | 15.000 | 15.000 | 20.000 | 5.000 | 23 Januari 2020,19:32 |
| 23 Januari 2020,19:00 | IF4887S556Z | t-408 | Lita | r-903 | Umay | Hot Cappucino hazelnut | s-803 | 3 | 15.000 | 45.000 | 100.000 | 55.000 | 23 Januari 2020,19:45 |
| 24 Januari 2020,15:00 | JK356UI9K | t-506 | Rahma | p-705 | Ricky | Hot Cappucino | z-550 | 2 | 12.000 | 24.000 | 50.000 | 26.000 | 24 Januari 2020,16:00 |
Tabel 2NF
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.
Contoh Tabel 2NF
Tabel Nota
| Id.Nota | Tanggal Pembelian | Id_pembeli | Id Item | Id Kasir | Qty | Harga Satuan | Tanggal bayar |
| IT0122A000E | 22 Januari 2020,17:53 | q-004 | p-003 | z-001 | 1 | 10.000 | 22 januari 2020,18:20 |
| IT02344B00R | 22 Januari 2020,17:53 | q-007 | q-005 | z-006 | 2 | 18.000 | 22 januari 2020,18:30 |
| IF3557C999K | 23 Januari 2020,19:00 | q-009 | w-007 | w-004 | 1 | 15.000 | 23 januari 2020,19:32 |
| IF4887S556Z | 23 Januari 2020,19:00 | t-408 | s-803 | r-903 | 3 | 15.000 | 23 januari 2020,19:45 |
| JK356UI9K | 24 Januari 2020,15:00 | t-506 | z-550 | p-705 | 2 | 12.000 | 24 januari 2020,16:00 |
Tabel Kasir
| Id kasir | Nama kasir |
| z-001 | Awan |
| z-006 | Lely |
| w-004 | Meta |
| r-903 | Umay |
| p-705 | Ricky |
Tabel Pembeli
| Id pembeli | Nama pembeli |
| q-004 | Rangga |
| q-007 | Juned |
| q-009 | Kayla |
| t-408 | Lita |
| t-506 | Rahma |
Tabel Item
| Nama Item | Harga Satuan | Id Item |
| Es Kopi Susu | 10.000 | p-003 |
| Es Coklat Kelapa | 18.000 | q-005 |
| Hot Thai Tea | 15.000 | w-007 |
| Hot Cappucino hazelnut | 15.000 | s-803 |
| Hot Cappucino | 12.000 | z-550 |
Tabel Transaksi
| Id Pembeli | Tanggal Pembelian | Id Kasir | Id Item | Qty | Harga Satuan | Total Harga | Total Bayar | Kembalian | Tanggal Bayar |
| q-004 | 22 Januari 2020,17:53 | z-001 | p-003 | 1 | 10.000 | 10.000 | 100.000 | 90.000 | 22 Januari 2020,18:20 |
| q-007 | 22 Januari 2020,17:53 | z-006 | q-005 | 2 | 18.000 | 36.000 | 50.000 | 14.000 | 22 Januari 2020,18:30 |
| q-009 | 23 Januari 2020,19:00 | W-004 | w-007 | 1 | 15.000 | 15.000 | 20.000 | 5.000 | 23 Januari 2020,19:32 |
| t-408 | 23 Januari 2020,19:00 | r-903 | s-803 | 3 | 15.000 | 45.000 | 100.000 | 55.000 | 23 Januari 2020,19:45 |
| t-506 | 24 Januari 2020,15:00 | p-705 | z-550 | 2 | 12.000 | 24.000 | 50.000 | 26.000 | 24 Januari 2020,16:00 |
Tabel 3NF
pada tabel 3NF tidak diperkenankan adanya partial“transitive dependency”
“transitive dependency” merupakan functional dependency yang berdasarkan sifat transifitas.
pada 3NF ini,jika terdapat suatu atribut yang tidak bergantung pada primary key tapi bergantung pada field yang lain maka atribut-atribut tersebut perlu dipisah ke tabel baru.
disini saya contohnya ada pada atribut”kembalian” field tersebut bergantung pada yang bukan primary key field”Id Item,Qty,Harga Satuan,Total Harga dan total bayar”.Jadi setelah diNormalisasikan 3NF nya menjadi:
Tabel Transaksi
| IdNota | Id Pembeli | Tanggal Pembelian | Id Kasir | Id Item | Qty | Harga Satuan | Total Harga | Total Bayar | Kembalian | Tanggal Bayar |
| IT0122A000E | q-004 | 22 Januari 2020,17:53 | z-001 | p-003 | 1 | 10.000 | 10.000 | 100.000 | 90.000 | 22 Januari 2020,18:20 |
| IT02344B00R | q-007 | 22 Januari 2020,17:53 | z-006 | q-005 | 2 | 18.000 | 36.000 | 50.000 | 14.000 | 22 Januari 2020,18:30 |
| IF3557C999K | q-009 | 23 Januari 2020,19:00 | W-004 | w-007 | 1 | 15.000 | 15.000 | 20.000 | 5.000 | 23 Januari 2020,19:32 |
| IF4887S556Z | t-408 | 23 Januari 2020,19:00 | r-903 | s-803 | 3 | 15.000 | 45.000 | 100.000 | 55.000 | 23 Januari 2020,19:45 |
| JK356UI9K | t-506 | 24 Januari 2020,15:00 | p-705 | z-550 | 2 | 12.000 | 24.000 | 50.000 | 26.000 | 24 Januari 2020,16:00 |
| Id Item | Qty | Harga Satuan | Total Harga | Total Bayar | Kembalian |
| p-003 | 1 | 10.000 | 10.000 | 100.000 | 90.000 |
| q-005 | 2 | 18.000 | 36.000 | 50.000 | 14.000 |
| w-007 | 1 | 15.000 | 15.000 | 20.000 | 5.000 |
| s-803 | 3 | 15.000 | 45.000 | 100.000 | 55.000 |
| z-550 | 2 | 12.000 | 24.000 | 50.000 | 26.000 |
Sekian dari saya,Terimakasih:v


























































































