Normalisasi database merupakan konsep fundamental dalam perancangan basis data relasional. Bagi mahasiswa teknik informatika, sistem informasi, maupun praktisi database, memahami normalisasi hingga bentuk normal ketiga sangat penting untuk menghindari redundansi dan inkonsistensi data. Artikel ini membahas contoh soal dan jawaban normalisasi database lengkap dengan pembahasan 1NF, 2NF, dan 3NF secara sistematis dan mudah dipahami.
Pengertian Normalisasi Database
Normalisasi adalah proses pengorganisasian data dalam database untuk mengurangi redundansi dan meningkatkan integritas data. Proses ini dilakukan dengan membagi tabel besar menjadi beberapa tabel yang lebih kecil dan saling berelasi menggunakan primary key dan foreign key.
baca juga:50+ Contoh Soal UN SMP 2025 Terbaru untuk Latihan Siswa Kelas 9
Baca juga:Contoh Soal Trihibrid Lengkap dengan Penyelesaian dan Pembahasan
Tujuan utama normalisasi adalah:
Menghilangkan data ganda
Mengurangi anomali insert, update, dan delete
Meningkatkan konsistensi data
Membuat struktur database lebih efisien
Dalam praktiknya, normalisasi dilakukan melalui beberapa tahapan yang disebut normal form, yaitu 1NF, 2NF, 3NF, dan seterusnya. Pada artikel ini fokus pada tiga bentuk normal pertama.
Penjelasan 1NF First Normal Form
Sebuah tabel dikatakan memenuhi 1NF jika:
Setiap kolom berisi nilai atomik atau tidak dapat dibagi lagi
Tidak ada atribut multivalue dalam satu kolom
Setiap baris bersifat unik
Contoh Soal Normalisasi 1NF
Diketahui tabel berikut:
Tabel Mahasiswa_KRS
NIM
Nama
MataKuliah
Dosen
Data:
101 | Andi | Basis Data, Algoritma | Pak Budi, Bu Sari
102 | Sinta | Basis Data | Pak Budi
Permasalahan:
Kolom MataKuliah dan Dosen mengandung lebih dari satu nilai dalam satu sel sehingga belum memenuhi 1NF.
Jawaban dan Pembahasan 1NF
Untuk memenuhi 1NF, setiap kolom harus bernilai tunggal. Maka tabel dipecah menjadi:
101 | Andi | Basis Data | Pak Budi
101 | Andi | Algoritma | Bu Sari
102 | Sinta | Basis Data | Pak Budi
Sekarang setiap kolom berisi nilai atomik sehingga memenuhi 1NF.
Penjelasan 2NF Second Normal Form
Sebuah tabel memenuhi 2NF jika:
Sudah memenuhi 1NF
Tidak ada ketergantungan parsial terhadap primary key
Ketergantungan parsial terjadi jika atribut non key hanya bergantung pada sebagian dari primary key komposit.
Contoh Soal Normalisasi 2NF
Tabel Nilai_Mahasiswa
NIM
KodeMK
NamaMahasiswa
NamaMK
Nilai
Primary key: NIM dan KodeMK
Masalah:
NamaMahasiswa hanya bergantung pada NIM
NamaMK hanya bergantung pada KodeMK
Artinya terdapat ketergantungan parsial.
Jawaban dan Pembahasan 2NF
Pisahkan menjadi tiga tabel:
Tabel Mahasiswa
NIM
NamaMahasiswa
Tabel MataKuliah
KodeMK
NamaMK
Tabel Nilai
NIM
KodeMK
Nilai
Dengan pemisahan ini, setiap atribut non key bergantung sepenuhnya pada primary key masing masing tabel sehingga memenuhi 2NF.
Penjelasan 3NF Third Normal Form
Sebuah tabel memenuhi 3NF jika:
Sudah memenuhi 2NF
Tidak ada ketergantungan transitif
Ketergantungan transitif terjadi jika atribut non key bergantung pada atribut non key lainnya.
Contoh Soal Normalisasi 3NF
Tabel Pegawai
IDPegawai
NamaPegawai
KodeDepartemen
NamaDepartemen
Primary key: IDPegawai
Masalah:
NamaDepartemen bergantung pada KodeDepartemen, bukan langsung pada IDPegawai. Ini disebut ketergantungan transitif.
Jawaban dan Pembahasan 3NF
Pisahkan menjadi dua tabel:
Tabel Pegawai
IDPegawai
NamaPegawai
KodeDepartemen
Tabel Departemen
KodeDepartemen
NamaDepartemen
Sekarang tidak ada ketergantungan transitif sehingga tabel memenuhi 3NF.
Contoh Soal Lengkap Normalisasi 1NF sampai 3NF
Soal
Diketahui tabel berikut:
Transaksi
NoTransaksi
Tanggal
IDPelanggan
NamaPelanggan
Alamat
KodeBarang
NamaBarang
Harga
Jumlah
Satu transaksi dapat memiliki beberapa barang.
Langkah 1 Menuju 1NF
Pisahkan setiap barang menjadi baris berbeda sehingga setiap kolom bernilai atomik.
NoTransaksi | Tanggal | IDPelanggan | NamaPelanggan | Alamat | KodeBarang | NamaBarang | Harga | Jumlah
Sekarang data sudah memenuhi 1NF.
Langkah 2 Menuju 2NF
Primary key komposit adalah NoTransaksi dan KodeBarang.
Masalah:
NamaPelanggan dan Alamat bergantung hanya pada IDPelanggan
NamaBarang dan Harga bergantung hanya pada KodeBarang
Pisahkan menjadi:
Tabel Pelanggan
IDPelanggan
NamaPelanggan
Alamat
Tabel Barang
KodeBarang
NamaBarang
Harga
Tabel Transaksi
NoTransaksi
Tanggal
IDPelanggan
Tabel DetailTransaksi
NoTransaksi
KodeBarang
Jumlah
Sekarang memenuhi 2NF.
Langkah 3 Menuju 3NF
Periksa apakah ada ketergantungan transitif. Jika tidak ada atribut non key yang bergantung pada atribut non key lain, maka sudah memenuhi 3NF.
Struktur di atas sudah memenuhi 3NF karena setiap atribut non key bergantung langsung pada primary key masing masing tabel.
Manfaat Normalisasi Database
Mengurangi redundansi data
Mencegah inkonsistensi saat update
Menghindari anomali penghapusan
Meningkatkan efisiensi penyimpanan
Mempermudah pengelolaan relasi
Kesalahan Umum dalam Normalisasi
Tidak menentukan primary key dengan benar
Mengabaikan ketergantungan parsial
Tidak memeriksa ketergantungan transitif
Terlalu cepat memecah tabel tanpa analisis
Tips Mengerjakan Soal Normalisasi
Identifikasi primary key terlebih dahulu
Periksa nilai atomik untuk 1NF
Cek ketergantungan parsial untuk 2NF
Cek ketergantungan transitif untuk 3NF
Gunakan diagram relasi untuk membantu visualisasi
Kesimpulan
Memahami contoh soal dan jawaban normalisasi database lengkap dengan pembahasan 1NF, 2NF, dan 3NF sangat penting dalam perancangan sistem basis data relasional. Proses normalisasi membantu mengurangi redundansi, meningkatkan integritas data, dan mencegah anomali dalam operasi database.
penulis:ilham



Post Comment