×

Contoh Soal Normalisasi Database Lengkap dengan Pembahasan

Normalisasi database adalah proses penting dalam desain basis data untuk memastikan data tersimpan secara efisien, mengurangi redundansi, dan menjaga integritas data. Dalam dunia pendidikan dan ujian komputer, soal normalisasi database sering muncul baik dalam bentuk pilihan ganda, isian singkat, maupun soal studi kasus. Artikel ini akan membahas contoh soal normalisasi database lengkap dengan pembahasan, sehingga siswa maupun mahasiswa bisa memahami konsep normalisasi, mengerjakan soal, dan mempersiapkan diri untuk ujian dengan lebih baik.

Pengertian Normalisasi Database

Normalisasi adalah proses penyusunan struktur database dengan tujuan:

  1. Menghilangkan redundansi data agar tidak ada data yang berulang.
  2. Memastikan integritas data, sehingga data tetap konsisten dan akurat.
  3. Meningkatkan efisiensi penyimpanan dan query.
  4. Membuat database lebih mudah dipelihara.

Normalisasi dilakukan dengan memecah tabel menjadi beberapa tabel kecil dan mendefinisikan relasi antar tabel. Proses ini biasanya mengikuti beberapa bentuk normal (normal form) yang umum, yaitu:

  • 1NF (First Normal Form): Menghapus grup data berulang, setiap kolom harus atomik.
  • 2NF (Second Normal Form): Memastikan semua kolom non-primer bergantung sepenuhnya pada primary key.
  • 3NF (Third Normal Form): Menghapus dependensi transitif, kolom non-primer tidak boleh bergantung pada kolom non-primer lain.
  • BCNF (Boyce-Codd Normal Form): Perbaikan dari 3NF untuk mengatasi anomali tertentu.

Pentingnya Memahami Normalisasi

Memahami normalisasi database sangat penting karena:

  1. Mencegah redundansi data. Misalnya, data karyawan dan alamat tidak perlu disimpan berulang.
  2. Mencegah anomali data. Insert, update, dan delete menjadi lebih konsisten.
  3. Meningkatkan efisiensi query. Database yang dinormalisasi membuat proses pencarian lebih cepat.
  4. Mempermudah pemeliharaan database. Struktur yang terorganisir lebih mudah diperbarui.

Tips Mengerjakan Soal Normalisasi Database

  1. Identifikasi Primary Key. Primary key adalah kolom unik yang menjadi acuan setiap tabel.
  2. Cek atomicity data. Pastikan setiap kolom hanya menyimpan satu nilai (1NF).
  3. Periksa dependensi. Pastikan kolom non-primer bergantung sepenuhnya pada primary key (2NF).
  4. Hapus dependensi transitif. Kolom non-primer tidak boleh bergantung pada kolom non-primer lain (3NF).
  5. Latihan soal. Semakin banyak latihan, semakin mudah mengenali pola normalisasi dan dependensi.

Contoh Soal Normalisasi Database Lengkap dengan Pembahasan

Berikut beberapa contoh soal normalisasi database dari tingkat dasar hingga menengah.

🔖 Baca juga:
Contoh Soal TEFL ITS Terlengkap Beserta Pembahasan untuk Pemula

Soal 1: Identifikasi 1NF

Diberikan tabel berikut:

ID_KaryawanNama_KaryawanAlamatTeleponProyek
001BudiJakarta08123456789Proyek A, Proyek B
002SitiBandung08198765432Proyek A

Pertanyaan: Apakah tabel ini sudah memenuhi 1NF? Jika tidak, normalisasi hingga 1NF.

Jawaban dan Pembahasan:
Tabel belum memenuhi 1NF karena kolom Proyek menyimpan lebih dari satu nilai (Proyek A, Proyek B). 1NF mengharuskan setiap kolom bersifat atomik.
Hasil Normalisasi 1NF:

ID_KaryawanNama_KaryawanAlamatTeleponProyek
001BudiJakarta08123456789Proyek A
001BudiJakarta08123456789Proyek B
002SitiBandung08198765432Proyek A

Soal 2: Identifikasi 2NF

Diberikan tabel berikut (sudah dalam 1NF):

ID_KaryawanID_ProyekNama_KaryawanNama_ProyekGaji
001ABudiProyek A5000000
001BBudiProyek B5000000
002ASitiProyek A4500000

Pertanyaan: Apakah tabel ini sudah memenuhi 2NF? Jika tidak, normalisasi hingga 2NF.

Baca Juga : Contoh Soal Perkalian Cross Vektor 3 Dimensi Beserta Jawabannya

Jawaban dan Pembahasan:
Tabel belum memenuhi 2NF karena kolom Nama_Karyawan dan Gaji bergantung pada ID_Karyawan saja, bukan pada kombinasi primary key (ID_Karyawan + ID_Proyek). Begitu juga kolom Nama_Proyek bergantung pada ID_Proyek saja.
Hasil Normalisasi 2NF:

Tabel Karyawan:

ID_KaryawanNama_KaryawanGaji
001Budi5000000
002Siti4500000

Tabel Proyek:

ID_ProyekNama_Proyek
AProyek A
BProyek B

Tabel Karyawan_Proyek:

ID_KaryawanID_Proyek
001A
001B
002A

Soal 3: Identifikasi 3NF

Diberikan tabel berikut (sudah dalam 2NF):

ID_KaryawanNama_KaryawanID_DepartemenNama_DepartemenGaji
001BudiD001IT5000000
002SitiD002HR4500000

Pertanyaan: Apakah tabel ini sudah memenuhi 3NF? Jika tidak, normalisasi hingga 3NF.

Jawaban dan Pembahasan:
Tabel belum memenuhi 3NF karena kolom Nama_Departemen bergantung pada ID_Departemen, bukan pada primary key ID_Karyawan. Ini disebut dependensi transitif.
Hasil Normalisasi 3NF:

Tabel Karyawan:

ID_KaryawanNama_KaryawanID_DepartemenGaji
001BudiD0015000000
002SitiD0024500000

Tabel Departemen:

ID_DepartemenNama_Departemen
D001IT
D002HR

Soal 4: Normalisasi Database Gabungan

Diberikan tabel:

ID_PesananTanggalNama_PelangganProdukJumlahHarga
P0012026-01-01AndiLaptop110000000
P0022026-01-02BudiMouse2500000
P0032026-01-02AndiKeyboard1300000

Pertanyaan: Normalisasi tabel ini hingga 3NF.

baca juga : Universitas Teknokrat Indonesia Masuk 10 Besar Kampus Swasta Terbaik Nasional Versi AppliedHE ASEAN 2026

Jawaban dan Pembahasan:

  1. Tabel ini memiliki kolom yang berulang untuk pelanggan dan produk.
  2. Primary key bisa berupa ID_Pesanan + Produk untuk transaksi detail.
  3. Normalisasi 1NF: setiap kolom atomik, sudah atomik.
  4. Normalisasi 2NF: Pisahkan tabel pelanggan, produk, dan transaksi.
    Tabel Pelanggan:
ID_PelangganNama_Pelanggan
001Andi
002Budi

Tabel Produk:

ID_ProdukProdukHarga
001Laptop10000000
002Mouse250000
003Keyboard300000

Tabel Pesanan:

ID_PesananTanggalID_Pelanggan
P0012026-01-01001
P0022026-01-02002
P0032026-01-02001

Tabel Pesanan_Detail:

ID_PesananID_ProdukJumlah
P0010011
P0020022
P0030031

Dengan cara ini, tabel sudah memenuhi 3NF dan semua dependensi transitif sudah dihapus.

Soal 5: Analisis Normalisasi BCNF

Diberikan tabel:

ID_MahasiswaMata_KuliahDosen
001MatematikaDr. A
002FisikaDr. B
003MatematikaDr. C

Pertanyaan: Apakah tabel ini sudah memenuhi BCNF? Jika tidak, jelaskan perbaikannya.

Jawaban dan Pembahasan:
Tabel belum memenuhi BCNF karena satu mata kuliah dapat diajar oleh lebih dari satu dosen, sehingga terjadi dependensi parsial pada kandidat key (Mata_Kuliah → Dosen).
Perbaikan BCNF:
Tabel Mata_Kuliah:

Mata_KuliahDosen
MatematikaDr. A
MatematikaDr. C
FisikaDr. B

Tabel Mahasiswa_Mata_Kuliah:

ID_MahasiswaMata_Kuliah
001Matematika
002Fisika
003Matematika

Kesimpulan

Normalisasi database adalah proses penting dalam desain basis data untuk mengurangi redundansi dan meningkatkan integritas data. Dengan memahami konsep 1NF, 2NF, 3NF, dan BCNF, siswa dapat:

  • Mengidentifikasi anomali data
  • Menentukan primary key dan dependensi kolom
  • Menormalisasi tabel hingga bentuk normal yang tepat

Contoh soal yang disertai pembahasan di atas membantu siswa memahami teori sekaligus praktik normalisasi. Dengan latihan rutin, kemampuan menganalisis tabel dan menormalisasi database akan meningkat, sehingga siap menghadapi ujian komputer atau tugas kuliah. Artikel ini SEO-friendly karena menyertakan kata kunci “Contoh Soal Normalisasi Database Lengkap dengan Pembahasan”, subjudul H2/H3, dan struktur pembahasan yang sistematis.

Penulis : Reyfen Andrian

Post Comment