BAB IV
Normalisasi Data
BAB IV
Sebuah tabel dikatakan baik (efisien) atau normal, jika telah memenuhi 3
kriteria berikut :
1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus
dijamin aman (Lossless-Join Decomposition)
2. Terpeliharanya ketergantungan fungsional pada saat perubahan data
(Dependency Preservation)
3 Tidak melanggar Boyce-Code
3. Boyce Code Normal Form (BCNF)
Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak, tabel
tersebut tidak melanggar Bentuk Normal tahap Ketiga (3rd Normal Form /
3NF)
1
Pengantar Basis Data
BAB IV
Untuk menunjukkan adanya proses dekomposisi tabel, akan lebih baik jika
keseluruhan tabel (basis data akademik sederhana pada bab III) direkonstruksi
menjadi sebuah tabel tunggal (yang tentu saja sangat tidak efisien)
Dari tabel tunggal ini akan diterapkan kriteria Normalisasi diatas sehingga akan
diperoleh sejumlah tabel yang sudah normal (efisien) melalui proses
Dekomposisi
BAB IV
980001 I Made Suta Jl. Dewi Sartika No.12, 12/5/1980 INF1012 Basis Data 3 2 Selasa, 10.00 – 11.40 Ruang B Ir. I Made Perum. Dosen Griya … baris 2
Bangli 40123 dan Jum’at, 08.00 – Kondra Sambangan, Jakarta 43113
09.40
980002 I Wayan Sura Jl. Kartini No.10, 3/6/1980 INF1014 Struktur 3 1B Senin, 08.00 – 09.40 dan Ruang A Ir. I Made Perum. Dosen Griya … baris 3
Badung 45123 Data Kamis, 11.00 – 11.50 Kondra Sambangan, Jakarta 43114
980002 I Wayan Sura Jl. Kartini No.10, 3/6/1980 INF2011 Algoritma 3 1C Rabu, 09.00 – 10.50 Ruang A Dewa Jl. Selamat No. 15, Bekasi … baris 4
Badung 45123 Sujana, S.T., 40121
M.T
980004 Dewi Asih Jl. A Yani 5, Gianyar 11/8/1980 INF1012 Basis Data 3 2 Selasa, 10.00 – 11.40 Ruang B Ir. I Made Perum. Dosen Griya … baris 5
40124 dan Jum’at, 08.00 – Kondra Sambangan, Jakarta 43113
09.40
Dari tabel Universal tersebut diatas, dengan memperhatikan kesamaan dan ketidaksamaan
data diantara baris-baris data juga dengan memahami hubungan alamiah antar data, maka
dapat dibentuk sejumlah KF :
nim Æ nama_mhs
nim Æ alamat_mhs Dapat disingkat dengan notasi :
nim Æ nama_mhs alamat_mhs tgl_lahir
nim Æ tgl_lahir
2
Pengantar Basis Data
BAB IV
nama_dos Æ alamat_dos
nim, kode_kul Æ indeks_nilai
Atas kelemahan tersebut maka perlu dilakukan Dekomposisi, yaitu melakukan pemilahan
tabel universal tersebut menjadi beberapa tabel dengan mempertimbangkan KF yg telah
didapatkan.
Pada prinsipnya Dekomposisi dilakukan agar setiap tabel hasil dekomposisi hanya
memiliki 1 KF saja (KF Minimum) karena jika sebuah tabel memiliki lebih dari 1 KF maka
tabel tersebut bukan merupakan tabel yang baik.
BAB IV
5. Normalisasi dengan Ketergantungan Fungsional
5.1. Lossless-Join Decomposition (Dekomposisi
Aman)
Lossless-Join Decomposition -> dekomposisi (penguraian) terhadap sebuah tabel dimana
jika tabel-tabel hasil dekomposisi kita gabungkan kembali dapat menghasilkan tabel awal
sebelum didekomposisi.
Lossy-Join Decomposition -> dekomposisi (penguraian) terhadap sebuah tabel dimana jika
tabel-tabel hasil dekomposisi kita gabungkan kembali tidak dapat menghasilkan kembali
tabel awal sebelum dekomposisi. Dekomposisi seperti ini tidak diperbolehkan dalam
proses Normalisasi.
3
Pengantar Basis Data
BAB IV
5. Normalisasi dengan Ketergantungan Fungsional
5.1. Lossless-Join Decomposition (Dekomposisi
Aman)
Karena ada 2 KF di tabel diatas maka tentunya harus dilakukan dekomposisi, menjadi 2
buah tabel (tabel AB dan tabel BC):
Tabel AB Tabel BC
A B B C
a1 100 100 c1
a2 200 200 c2
a3 300 300 c3
a4 200 200 c4
A B C
a1 100 c1
a2 200 c2 Hasil ini berbeda dengan tabel
awal (sebelum didekomposisi),
a2 200 c4
maka dekomposisi semacam ini
a3 300 c3 disebut Lossy-Join Decomposition
a4 200 c2
a4 200 c4
BAB IV
5. Normalisasi dengan Ketergantungan Fungsional
5.1. Lossless-Join Decomposition (Dekomposisi
Aman)
Contoh abstrak yang menghasilkan Lossless-Join Decomposition :
Jika data pada baris ke-4 pada tabel ABC awal tadi, diganti dengan data berikut :
a4 200 c2
Sehingga isi tabel ABC menjadi :
4
Pengantar Basis Data
BAB IV
5. Normalisasi dengan Ketergantungan Fungsional
5.2. Dependency Preservation (Pemeliharaan
Ketergantungan)
Dependency Preservation -> kriteria dimana ketika kita melakukan perubahan data, maka
j
harus bisa dijamin agar
g p perubahan tersebut tidak menghasilkan
g inkonsistensi data y
yang
g
mengakibatkan KF yang sudah benar menjadi tidak terpenuhi
Contoh :
Tabel Nilai
nama_kul nim nama_mhs indeks_nilai
Struktur Data 980001 I Made Suta A … baris 1
Struktur Data 980002 I Wayan Sura B … baris 2
Basis Data 980001 I Made Suta … baris 3
Basis Data 980004 Dewi Asih … baris 4
Basis Data 980002 I Wayan Sura … baris 5
Algoritma 980002 I Wayan Sura C … baris 6
Jika ada perubahan nilai atribut nama_mhs di tabel Mahasiswa, maka perubahan
ini harus dijalarkan ke atribut nama_mhs di tabel Nilai
BAB IV
5. Normalisasi dengan Ketergantungan Fungsional
5.2. Dependency Preservation (Pemeliharaan
Ketergantungan)
Jika penjalaran perubahan ini hanya dilakukan pada satu baris data (row) pertama
di tabel Nilai dengan nilai nim yang sama dengan nilai nim di tabel Mahasiswa yang
nama_mhs nya diubah tersebut, maka KF nimÆ nama_mhs tidak terpenuhi lagi
Sehingga tabel Nilai hanya berisi 3 buah atribut yaitu : nama_kul, nim, indeks_nilai
Tabel Nilai
nama_kul nim indeks_nilai
Struktur Data 980001 A
Struktur Data 980002 B
Basis Data 980001
Basis Data 980004
Basis Data 980002
Algoritma 980002 C
5
Pengantar Basis Data
BAB IV
5. Normalisasi dengan Ketergantungan Fungsional
Kriteria berikutnya untuk mendapatkan tabel yang baik adalah dengan menerapkan
Boyce-Code Normal Form (BCNF)
Sebuah tabel dikatakan telah memenuhi kriteria BCNF, jika untuk semua KF dengan
notasi X Æ Y , maka X harus merupakan super key pada tabel tersebut.
Jika tidak demikian, maka tabel tersebut harus didekomposisi berdasarkan KF yang
ada, sedemikian hingga X menjadi super key dari tabel-tabel hasil dekomposisi.
Tabel universal yang merupakan rangkuman dari data mahasiswa, dosen, kuliah,
nilai dan jadual, maka jelas tidak memenuhi kriteria BCNF
Buktinya :
salah satu KF yang ada yaitu : nim Æ nama_mhs alamat_mhs tgl_lahir
seharusnya nim merupakan superkey di tabel tersebut.
tersebut
Namun nim pada tabel universal tersebut tidak unik maka tabel universal
tersebut harus didekomposisi.
Dekomposis Aman yang dapat kita lakukan pada tabel universal tersebut adalah
dengan memilah berdasarkan KF minimum yang telah ditentukan sebelumnya
BAB IV
5. Normalisasi dengan Ketergantungan Fungsional
6
Pengantar Basis Data
BAB IV
5. Normalisasi dengan Ketergantungan Fungsional
1. Tabel Mahasiswa
Tabel ini telah memenuhi BCNF karena pada kriteria BCNF sisi kiri (X) dalam KF
harus merupakan super key dalam tabel.
tabel
Memang benar demikian bahwa atribut nim merupakan superkey (bahkan bisa
menjadi primary key) dari tabel Mahasiswa tersebut diatas.
BAB IV
5. Normalisasi dengan Ketergantungan Fungsional
k d k l nama_kul
kode_kul k l sks
k semes waktu
kt t
tempat
t nama_dos
d
ter
INF1014 Struktur 3 1 Senin, 08.00 – 09.40 dan Ruang A Ir. I Made Kondra
Data Kamis, 11.00 – 11.50
INF1012 Basis Data 3 2 Selasa, 10.00 – 11.40 dan Ruang B Ir. I Made Kondra
Jum’at, 08.00 – 09.40
INF2011 Algoritma 3 1 Rabu, 09.00 – 10.50 Ruang A Dewa Sujana, S.T., M.T
Tabel Kuliah hasil dekomposisi dari tabel universal disini tampak merupakan
gabungan antara Tabel Kuliah dengan Tabel Jadual yg ada di Bab III
Tabel Kuliah ini telah memenuhi kriteria BCNF, karena atribut kode_kul memang
benar merupakan superkey (bahkan bisa menjadi primary key) dari tabel Kuliah
7
Pengantar Basis Data
BAB IV
5. Normalisasi dengan Ketergantungan Fungsional
4. Tabel Nilai
nim kode_kul indeks_nilai
980001 INF1014 A
980001 INF1012
980002 INF1014 B
980002 INF2011 C
980004 INF1012
Tabel Nilai ini telah memenuhi kriteria BCNF, karena atribut nim, kode_kul
memang benar merupakan superkey dari tabel Nilai
BAB IV
8
Pengantar Basis Data
BAB IV
6. Bentuk-Bentuk Normal (Normal Form) yang Lain
6.1. Bentuk Normal tahap Pertama (1st Normal Form / NF)
Bentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki Atribut
Bernilai Banyak (Multivalued Attribute) atau lebih dari satu atribut
dengan domain nilai yang sama.
Berikut ini Tabel Kuliah hasil dekomposisi dari tabel universal :
kode_kul nama_kul sks semes waktu tempat nama_dos
ter
INF1014 Struktur 3 1 Senin, 08.00 – 09.40 dan Ruang A Ir. I Made Kondra
Data Kamis, 11.00 – 11.50
INF1012 Basis Data 3 2 Selasa, 10.00 – 11.40 dan Ruang B Ir. I Made Kondra
Jum’at, 08.00 – 09.40
INF2011 Algoritma 3 1 Rabu, 09.00 – 10.50 Ruang A Dewa Sujana, S.T., M.T
Tabel Kuliah diatas tidak memenuhi Bentuk Normal tahap Pertama, karena
terdapat atribut waktu yang tergolong ke dalam Multivalued Attribute
Jika struktur tabel Kuliah diatas diubah sehingga atributnya bertambah, misalnya
atribut waktu di pilah ke sub atribut waktu1, waktu2, dan seterusnya, juga belum
memenuhi 1NF karena atribut waktu1 dan waktu2 memiliki domain nilai yang
sama
BAB IV
6. Bentuk-Bentuk Normal (Normal Form) yang Lain
6.1. Bentuk Normal tahap Pertama (1st Normal Form / NF)
Struktur tabel dan data tabel Kuliah menjadi : Struktur tabel dan data tabel Jadual :
kode_kul nama_kul sks semester nama_dos kode_kul waktu tempat
KF KF
9
Pengantar Basis Data
BAB IV
6. Bentuk-Bentuk Normal (Normal Form) yang Lain
6.2. Bentuk Normal tahap Kedua (2nd Normal Form / NF)
Tabel Mahasiswa, Kuliah, Dosen, dan Nilai hasil dekomposisi dari tabel
universal yang sudah disebutkan pada bagian 5.3, telah memenuhi 2NF
Contoh pelanggaran 2NF :
Pada tabel Nilai primary key nya (kode_kul, nim), ditambahkan atribut baru
nama_mhs, penambahan atribut tersebut menyebabkan adanya KF yg baru nim Æ
nama_mhs. Karena atribut nama_mhs ini hanya memiliki ketergantungan parsial
pada primary key secara utuh, maka akan melanggar 2NF
BAB IV
6. Bentuk-Bentuk Normal (Normal Form) yang Lain
6.3. Bentuk Normal tahap Ketiga (3rd Normal Form / NF)
Dari tabel Mahasiswa diatas maka akan ada KF baru yang muncul
yaitu :
alamat_jln nama_kota Æ kode_pos
10
Pengantar Basis Data
BAB IV
6. Bentuk-Bentuk Normal (Normal Form) yang Lain
6.3. Bentuk Normal tahap Ketiga (3rd Normal Form / NF)
t b l Mahasiswa
tabel M h i tabel Alamat
nim nama_mhs alamat_jln nama_kota tgl_lahir alamat_jln nama_kota kode_pos
BAB IV
6. Bentuk-Bentuk Normal (Normal Form) yang Lain
6.3. Bentuk Normal tahap Ketiga (3rd Normal Form / NF)
Karena telah memenuhi 3NF maka tabel Alamat tersebut tidak perlu
didekomposisi lagi
11
Pengantar Basis Data
BAB IV
12