Adaptif, Inovatif, Kreatif
Beranda
Tentang
Berita

Panduan Normalisasi Database: Memahami 1NF, 2NF, dan 3NF beserta Contoh Kasus

Penulis: Admin 23 July 2026
Panduan Normalisasi Database: Memahami 1NF, 2NF, dan 3NF beserta Contoh Kasus
Normalisasi database adalah proses sistematis dalam merancang skema tabel basis data relasional untuk meminimalkan redundansi data dan mencegah terjadinya anomali manipulasi data (Insert, Update, dan Delete Anomalies). Database yang tidak ternormalisasi dengan baik sering kali menyebabkan pembengkakan ukuran penyimpanan dan inkonsistensi data serius. Mari kita bedah tahapan normalisasi dari bentuk yang belum normal (Unnormalized Form) hingga Third Normal Form (3NF) melalui contoh kasus pendaftaran mata kuliah mahasiswa: • Unnormalized Form (UNF) Bayangkan satu tabel mentah yang memuat semua informasi sekaligus, di mana satu kolom berisi kelompok data yang berulang atau dipisahkan oleh koma. Contoh: Tabel `KRS_Mentah` memiliki kolom `NIM, Nama, Mata_Kuliah (bisa berisi 'Algoritma, Basis Data, Jaringan'), Dosen_Pengampu`. • First Normal Form (1NF) Syarat utama 1NF adalah setiap atribut/kolom harus bernilai atomik (tidak boleh ada kelompok berulang atau multi-value). Untuk memenuhi 1NF, kita memecah data mata kuliah sehingga satu baris hanya mewakili satu pasangan mahasiswa dan satu mata kuliah. Jika seorang mahasiswa mengambil 3 mata kuliah, maka akan ada 3 baris terpisah dengan NIM yang sama. • Second Normal Form (2NF) Syarat 2NF adalah tabel sudah memenuhi 1NF dan tidak boleh ada ketergantungan parsial (partial dependency) terhadap composite primary key. Artinya, seluruh atribut yang bukan kunci utama harus bergantung sepenuhnya pada seluruh kunci utama. Jika primary key gabungan kita adalah `(NIM, Kode_MK)`, maka kolom `Nama_Mahasiswa` hanya bergantung pada `NIM` (ketergantungan parsial). Solusinya: Kita pecah menjadi tabel terpisah, yaitu tabel `Mahasiswa (NIM, Nama)`, tabel `Mata_Kuliah (Kode_MK, Nama_MK, SKS)`, dan tabel transaksi `KRS (NIM, Kode_MK, Nilai)`. • Third Normal Form (3NF) Syarat 3NF adalah tabel sudah memenuhi 2NF dan tidak boleh ada ketergantungan transitif (transitive dependency), yaitu atribut non-key yang bergantung pada atribut non-key lainnya. Contoh pada tabel `Mahasiswa`: jika terdapat kolom `NIM, Nama, Kode_Prodi, Nama_Prodi, Fakultas`, maka `Nama_Prodi` dan `Fakultas` sebenarnya bergantung pada `Kode_Prodi` (bukan langsung pada `NIM`). Solusi 3NF: Pisahkan menjadi tabel `Prodi (Kode_Prodi, Nama_Prodi, Fakultas)` sehingga tabel `Mahasiswa` hanya menyimpan `Kode_Prodi` sebagai foreign key. Dengan mencapai 3NF, arsitektur database kita terbukti efisien, konsisten, dan mudah dikembangkan untuk skala jangka panjang.