Anda di halaman 1dari 31

Normalisasi

1NF, 2NF, 3NF dan BCNF


Tujuan Normalisasi

Mendesain basis data relasional dengan tabel-tabel yang:


• Berisi data yang diperlukan.
• Memiliki sesedikit mungkin redundansi.
• Memudahkan dalam pemodifikasian data.
• Menghindari kemungkinan kehilangan data yang tidak
disengaja atau tidak diketahui.
Syarat Tabel Normal
• Jika terjadi penguraian tabel (decomposition), maka
dekomposisinya harus dijamin aman (lossless join
decomposition).
• Terpeliharanya ketergantungan fungsional pada saat
perubahan data (dependency preservation).
• Tidak melanggar Boyce Codd Normal Form (BCNF)
atau minimal tidak melanggar bentuk normalisasi
ketiga (3NF).
Tahapan Normalisasi
Bentuk Normal Form

• Tahap Normalisasi dimulai dari tahap paling ringan


(bentuk normal pertama (1NF)) hingga paling ketat
(bentuk normal kelima (5NF)).
• Biasanya hanya sampai pada tingkat 3NF atau BCNF
karena sudah cukup memadai untuk menghasilkan tabel-
tabel yang berkualitas baik.
• Urutan: 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Unnormalization Form
Bentuk yang tidak normal dimaksudkan suatu kumpulan data yang akan
diolah yang diperoleh dari format-format yang beraneka ragam, masih
terdapat duplikasi atau pengulangan data, bisa saja tidak sempurna atau tidak
lengkap, dan sesuai fakta lapangan. Bentuk ini didapatkan dari dokumen yang
ada dilapangan atau model berupa tabel berdasarkan situasi sebenarnya.
Unnormalization Form
Unnormalization Form
Unnormalization Form
Unnormalization Form
Bentuk Normal Tahap Pertama
(1st Normal Form / 1NF)
Ciri-ciri bentuk normal 1NF adalah :
a. Jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued
attribute) dengan arti harus bernilai tunggal.
b. Jika sebuah tabel tidak memiliki atribut composite atau kombinasinya
dalam domain data yang sama. Setiap atribut dalam tabel tersebut harus
bernilai atomic (tidak dapat dibagi-bagi lagi).
c. Jika sebuah tabel tidak memiliki atribut turunan/derivatied value.
d. Jika sebuah tabel tidak memiliki record yang bernilai ganda/redundancy.
e. Atribut composite atau kombinasinya dalam domain data yang sama.
Bentuk Normal Tahap Pertama
(1st Normal Form / 1NF)

Tabel ini masih


memperlihatkan
atribut yang
muncul secara
berulang, untuk itu
harus melanjutkan
ke tahap
normalisasi kedua.
Bentuk Normal Tahap Pertama
(1st Normal Form / 1NF)
Bentuk Normal Tahap Pertama
(1st Normal Form / 1NF)
Bentuk Normal Tahap Pertama
(1st Normal Form / 1NF)
Bentuk Normal Tahap Pertama
(1st Normal Form / 1NF)
Bentuk Normal Tahap Kedua
(2nd Normal Form / 2NF)
Ciri-ciri bentuk normal 2NF adalah :
a. Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk
1NF, dan semua atribut selain primary key, secara utuh memiliki Functional
Dependency pada primary key.
b. Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya
(Functional Dependency) hanya bersifat parsial saja (hanya tergantung pada
sebagian dari primary key).
c. Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key,
maka atribut tersebut harus dipindah atau dihilangkan.
Jika ada kolom yang tidak tergantung secara fungsional terhadap primary key, maka
kolom harus dipisah dengan membuat tabel lain (tabel baru) dan pada tabel baru tersebut
juga ditambahkan kolom untuk primary key dari tabel asal (sebagai relasi terhadap tabel
asal).
Bentuk Normal Tahap Kedua
(2nd Normal Form / 2NF)

Bentuk FD (Functional Dependency)‐nya adalah:


Nomor_Faktur  Tanggal, Kode_Supplier, Nama_Supplier
Kode_Brg  Nama_Barang
Kode_Brg, Nomor_Faktur  Jumlah
Bentuk Normal Tahap Kedua
(2nd Normal Form / 2NF)

Bentuk FD (Functional Dependency)‐nya adalah:


Nrp  Nama
Nrp  Hobi
Bentuk Normal Tahap Kedua
(2nd Normal Form / 2NF)

Bentuk FD (Functional Dependency)‐nya adalah:


NIP  Nama, Jabatan
NIP, Keahlian  LamaKerja
Bentuk Normal Tahap Kedua
(2nd Normal Form / 2NF)

NIM, Modul = Key


Bentuk FD nya adalah:
NIM, Modul  Biaya, Grade
Modul  Biaya (Ketergantungan parsial)
Dikomposisi menjadi:
NIM, Modul  Grade
Modul  Biaya
Bentuk Normal Tahap Ketiga
(3rd Normal Form / 3NF)
Ciri-ciri bentuk normal 3NF adalah :
a. Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jika tidak
ada atribut non primary key (biasa) yang memiliki ketergantungan terhadap
atribut non primary key (biasa) yang lainnya.
b. Untuk setiap Functional Dependency dengan notasi X  A, maka:
• X harus menjadi superkey pada tabel tersebut.
• atau A merupakan bagian dari primary key pada tabel tersebut.
Jika ada kolom yang memiliki hubungan secara transitif terhadap primary key,
maka kolom tersebut harus dipisah dengan membuat tabel lain (tabel baru) dan
pada tabel baru tersebut juga tambahkan kolom sebagai tempat bagi kolom
ketergantungannya dan menjadi primary key pada tabel baru, kolom tersebut akan
menjadi relasi yang menghubungkan tabel asal dengan tabel baru.
Bentuk Normal Tahap Ketiga
(3rd Normal Form / 3NF)

Pada tabel di atas, jelas terlihat bahwa kolom Nama_Suppler sebenarnya tergantung pada
kolom Kode_Supplier, karena kolom Kode_Supplier tergantung pada No_Faktur
(primary_key) maka Nama_Supplier juga tergantung pada No_Faktur tetapi
ketergantungannya hanya transitif, melalui kolom Kode_Supplier.
No_Faktur  Kode_Supplier, Nama_Supplier
Kode_Supplier  Nama_Supplier
Karena Nama_Supplier tergantung pada Kode_supplier, maka pada tabel baru harus
disertakan kolom Kode_Supplier sebagai primary key pada tabel baru. Sedangkan kolom
Kode_Supplier pada tabel asal tidak dihapus (tetap ada, sebagai relasi dengan tabel baru).
Bentuk Normal Tahap Ketiga
(3rd Normal Form / 3NF)
Bentuk Normal Boyce Codd
(Boyce Codd Normal Form / BCNF)

• Sebuah relasi memenuhi syarat BCNF jika dan hanya jika setiap determinan dalam
relasi tersebut adalah candidate key. Ini berarti setiap determinan dalam relasi
BCNF bernilai unik.
• BCNF merupakan perbaikan dari 3NF. Relasi yang memenuhi BCNF pasti
memenuhi 3NF tetapi tidak sebaliknya.

Primary key untuk relasi ini adalah komposit NIM dan


Rumpun_MK. Atribut Pembimbing dan IP bergantung
fungsional pada primary key-nya.
Terlihat juga adanya ketergantungan fungsional yaitu
Rumpun_MK bergantung pada Pembimbing.
Dimana sebagian atribut kunci (Rumpun_MK) bergantung
pada atribut bukan kunci (Pembimbing).
Bentuk Normal Boyce Codd
(Boyce Codd Normal Form / BCNF)

Relasi berada dalam bentuk BCNF jika dan


hanya jika setiap atribut kunci pada suatu
relasi adalah kunci kandidat.

Relasi dimodifikasi sehingga atribut bukan kunci


tempat bergantung secara fungsional, ditransformasi
menjadi komponen kunci primer.
Perlu dekomposisi untuk menghilangkan
ketergantungan parsial sehingga tercipta 2 relasi baru
Contoh Kasus Normalisasi Data

• Untuk mendapatkan hasil yang paling normal, maka proses normalisasi


dimulai dari normal pertama.
• Field-field tabel di atas yang merupakan group berulang: NoPegawai,
NamaPegawai, Golongan, BesarGaji.
Normalisasi pertama
Solusinya hilangkan duplikasi dengan mencari ketergantungan parsial.
menjadikan field-field menjadi tergantung pada satu atau beberapa field.
Karena yang dapat dijadikan kunci adalah NoProyek dan NoPegawai, maka
langkah kemudian dicari field-field mana yang tergantung pada NoProyek dan
mana yang tergantung pada NoPegawai.
Normalisasi Kedua
Field-field yang tergantung pada satu field haruslah dipisah dengan tepat,
misalnya NoProyek menjelaskan NamaProyek dan NoPegawai menjelaskan
NamaPegawai, Golongan dan BesarGaji.

Untuk membuat hubungan antara dua tabel, dibuat


suatu tabel yang berisi key-key dari tabel yang lain.
Normalisasi Ketiga
Pada tabel diatas masih terdapat masalah, bahwa BesarGaji tergantung kepada
Golongan nya. Padahal disini Golongan bukan merupakan field kunci.
Artinya kita harus memisahkan field non-kunci Golongan dan BesarGaji yang tadinya
tergantung secara parsial kepada field kunci NoPegawai, untuk menghilangkan
ketergantungan transitif.
Terima Kasih

Anda mungkin juga menyukai