Pengertian Normalisasi

Normalisasi adalah proses mengorganisasi data ke dalam tabel-tabel yang memiliki hubungan logis sehingga mengurangi redundansi (pengulangan data) dan menghindari terjadinya anomali pada database.

Melalui normalisasi, setiap data akan ditempatkan pada tabel yang sesuai sehingga database menjadi lebih terstruktur dan mudah dikelola.


Tujuan Normalisasi

Normalisasi dilakukan dengan tujuan untuk:

  • Mengurangi pengulangan data (redundansi).
  • Menjaga konsistensi data.
  • Menghindari kesalahan saat menambah, mengubah, atau menghapus data.
  • Mempermudah proses pemeliharaan database.
  • Meningkatkan efisiensi penyimpanan data.

Manfaat Normalisasi

Beberapa manfaat normalisasi antara lain:

  • Database menjadi lebih terstruktur.
  • Mengurangi penggunaan ruang penyimpanan.
  • Mempermudah pencarian data.
  • Meminimalkan kesalahan dalam pengelolaan data.
  • Mempermudah pengembangan sistem di masa depan.

Masalah pada Database yang Belum Dinormalisasi

Jika database belum dinormalisasi, dapat muncul beberapa masalah berikut.

1. Redundansi Data

Redundansi adalah penyimpanan data yang sama secara berulang.

Contoh:

NIM Nama Mahasiswa Mata Kuliah Nama Dosen
231011001 Indah Basis Data Bapak Andi
231011001 Indah Pemrograman Web Bapak Budi

Nama mahasiswa Indah ditulis berulang kali sehingga menyebabkan pemborosan penyimpanan.


2. Anomali Data

Anomali adalah masalah yang muncul ketika melakukan operasi pada database.

a. Insert Anomaly

Terjadi ketika data tidak dapat ditambahkan karena informasi lain belum tersedia.

Contoh:

Tidak dapat menambahkan data mata kuliah baru karena belum ada mahasiswa yang mengambil mata kuliah tersebut.


b. Update Anomaly

Terjadi ketika perubahan data harus dilakukan di banyak tempat.

Contoh:

Jika nama dosen berubah, maka semua baris yang memuat nama dosen tersebut harus diperbarui.


c. Delete Anomaly

Terjadi ketika penghapusan suatu data menyebabkan hilangnya informasi lain yang masih diperlukan.

Contoh:

Menghapus data mahasiswa terakhir yang mengambil suatu mata kuliah menyebabkan informasi mengenai mata kuliah tersebut ikut hilang.


Bentuk-Bentuk Normalisasi

Normalisasi dilakukan secara bertahap mulai dari Unnormalized Form (UNF) hingga bentuk normal tertentu.


1. Unnormalized Form (UNF)

UNF adalah kondisi awal di mana data masih belum terstruktur dan masih terdapat kelompok data yang berulang.

Contoh

NIM Nama Mata Kuliah
231011001 Indah Basis Data, Pemrograman Web

Pada contoh di atas, kolom Mata Kuliah berisi lebih dari satu nilai sehingga belum memenuhi aturan normalisasi.


2. First Normal Form (1NF)

Suatu tabel dikatakan memenuhi 1NF apabila:

  • Setiap kolom hanya memiliki satu nilai (Atomic Value).
  • Tidak terdapat kelompok data yang berulang.
  • Setiap baris bersifat unik.

Contoh

NIM Nama Mata Kuliah
231011001 Indah Basis Data
231011001 Indah Pemrograman Web

Data sudah dipisahkan sehingga setiap sel hanya memiliki satu nilai.


3. Second Normal Form (2NF)

Suatu tabel memenuhi 2NF apabila:

  • Sudah memenuhi 1NF.
  • Setiap atribut non-key bergantung sepenuhnya pada Primary Key.

Contoh

Tabel Mahasiswa

NIM (PK) Nama
231011001 Indah
231011002 Andi

Tabel Mata Kuliah

KodeMK (PK) Nama Mata Kuliah
IF201 Sistem Basis Data
IF202 Pemrograman Web

Tabel KRS

NIM (FK) KodeMK (FK)
231011001 IF201
231011001 IF202

Data mahasiswa dan mata kuliah dipisahkan sehingga tidak terjadi pengulangan.


4. Third Normal Form (3NF)

Suatu tabel memenuhi 3NF apabila:

  • Sudah memenuhi 2NF.
  • Tidak terdapat ketergantungan transitif (Transitive Dependency), yaitu atribut non-key tidak boleh bergantung pada atribut non-key lainnya.

Contoh

Sebelum 3NF

NIM Nama Kode Prodi Nama Prodi

Sesudah 3NF

Tabel Mahasiswa

NIM Nama Kode Prodi

Tabel Program Studi

Kode Prodi Nama Prodi

Dengan demikian, informasi program studi tidak disimpan berulang pada tabel mahasiswa.


Boyce-Codd Normal Form (BCNF)

BCNF merupakan penyempurnaan dari 3NF.

Pada BCNF, setiap determinan harus merupakan kandidat kunci (Candidate Key).

BCNF digunakan pada database yang memiliki struktur hubungan lebih kompleks.


Contoh Proses Normalisasi

Misalkan terdapat data berikut.

NIM Nama Mata Kuliah Dosen
231011001 Indah Basis Data Andi
231011001 Indah Pemrograman Web Budi

Setelah dinormalisasi menjadi:

Tabel Mahasiswa

NIM Nama
231011001 Indah

Tabel Mata Kuliah

KodeMK Nama Mata Kuliah Dosen
IF201 Basis Data Andi
IF202 Pemrograman Web Budi

Tabel KRS

NIM KodeMK
231011001 IF201
231011001 IF202

Struktur database menjadi lebih rapi dan tidak terjadi pengulangan data.


Ringkasan

  • Normalisasi adalah proses penyusunan tabel agar database menjadi lebih efisien dan bebas redundansi.
  • Tujuan utama normalisasi adalah mengurangi pengulangan data serta menghindari anomali.
  • Tahapan normalisasi yang umum digunakan adalah 1NF, 2NF, dan 3NF.
  • Normalisasi menghasilkan struktur database yang lebih mudah dipelihara dan dikembangkan.