Anda di halaman 1dari 12

Pengantar Basis Data

BAB IV
Normalisasi Data

BAB IV

5. Normalisasi dengan Ketergantungan Fungsional

Pada perspektif Normalisasi, sebuah basis data dapat dikatakan baik


(efisien), jika setiap tabel yang menjadi unsur pembentuk basis data
tersebut
b b berada
d dalam
d l keadaan
k d normall

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

5. Normalisasi dengan Ketergantungan Fungsional

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)

Tabel tunggal tersebut merangkum semua kelompok data yang saling


berhubungan (berelasi ) disebut sebagai tabel Universal (Universal/Star Table)

Dari tabel tunggal ini akan diterapkan kriteria Normalisasi diatas sehingga akan
diperoleh sejumlah tabel yang sudah normal (efisien) melalui proses
Dekomposisi

Dekomposisi sendiri merupakan langkah yang paling sering ditempuh dalam


proses Normalisasi, jika sebuah tabel tidak memenuhi Bentuk Normal tertentu

BAB IV

5. Normalisasi dengan Ketergantungan Fungsional


Tabel Universal (Hasil rangkuman Data Mahasiswa, Dosen, Kuliah, Nilai dan Jadual)
nim nama_mhs alamat_mhs tgl_lahir kode_kul nama_kul sks semes indeks waktu tempat nama_dos alamat_dos
ter _nilai
980001 I Made Suta Jl. Dewi Sartika No.12, 12/5/1980 INF1014 Struktur 3 1A Senin, 08.00 – 09.40 dan Ruang A Ir. I Made  Perum. Dosen Griya  … baris 1
Bangli 40121 Data Kamis, 11.00 – 11.50 Kondra Sambangan, Jakarta 43111

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

5. Normalisasi dengan Ketergantungan Fungsional


kode_kul Æ nama_kul
kode_kul Æ sks Dapat disingkat dengan notasi :
kode kul Æ semester
kode_kul
kode_kul Æ nama_kul sks semester waktu
kode_kul Æ waktu tempat nama_dos
kode_kul Æ tempat
kode_kul Æ nama_dos

nama_dos Æ alamat_dos
nim, kode_kul Æ indeks_nilai

Ada kelemahan mendasar dari tabel Universal diatas yaitu :


• Pengulangan informasi
• Potensi inkonsistensi data pada operasi pengubahan data
• Tersembunyinya informasi tertentu

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.

Contoh abstrak yang menghasilkan Lossy-Join Decomposition :

Tabel ABC dengan isinya berikut :


A B C Asumsi tabel ini memiliki 2 KF (misalnya
a1 100 c1 diperoleh dari asumsi yang kurang tepat) :
a2 200 c2
a3 300 c3 AÆB
a4 200 c4 BÆC

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

Jika tabel AB dan tabel BC


digabung

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 :

A B C Dengan data di tabel ABC disamping maka


a1 100 c1 kedua KF dapat dibenarkan, yaitu :
a2 200 c2 AÆB
a3 300 c3
a4 200 c2 BÆC

Karena ada 2 KF maka


tabel ABC didekomposisi
Tabel AB Tabel BC
Kalau kedua tabel disamping
A B B C digabung kembali, maka
a1 100 100 c1 tabel ABC akan diperoleh
a2 200 200 c2 kembali seperti diatas, maka
dekomposisi tersebut
a3 300 300 c3
merupakan Dekomposisi
a4 200 Aman

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

Dengan data di tabel Nilai diatas maka kedua KF nya, yaitu :


nama_kul nim Æ indeks_nilai
nim Æ nama_mhs

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

Solusi terbaik agar kiteria Dependency Preservation terpenuhi adalah dengan


meniadakan/melepaskan atribut nama_mhs dari tabel Nilai

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

5.3. Boyce-Codd Normal Form (BCNF)

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

5.3. Boyce-Codd Normal Form (BCNF)

4 buah KF minimum pada tabel tersebut :


nim Æ nama_mhs alamat_mhs tgl_lahir
kode_kul Æ nama_kul sks semester waktu tempat nama_dos
nama_dos Æ alamat_dos
nim, kode_kul Æ indeks_nilai
Dengan berdasarkan keempat KF di atas, maka tabel universal itu didekomposisi
menjadi 4 buah tabel, yaitu :
1. Tabel Mahasiswa dengan atribut nim, nama_mhs, alamat_mhs dan tgl_lahir
2. Tabel Kuliah dengan atribut kode_kul, nama_kul, sks, semester, waktu,
tempat dan dosen
tempat,
3. Tabel Dosen dengan atribut nama_dos dan alamat_dos
4. Tabel Nilai dengan atribut nim, kode_kul dan indeks_nilai

Pengisian data ke masing-masing tabel hasil dekomposisi tersebut harus


memperhatikan keunikan baris data nya (jika ada beberapa baris data yang isi
keseluruhan datanya sama pada tabel universal tersebut cukup dinyatakan dalam
satu baris data saja pada tabel hasil dekomposisinya)

6
Pengantar Basis Data

BAB IV
5. Normalisasi dengan Ketergantungan Fungsional

5.3. Boyce-Codd Normal Form (BCNF)


Tabel-tabel hasil dekomposisi tersebut yaitu :

1. Tabel Mahasiswa

nim nama_mhs alamat_mhs tgl_lahir

980001 I Made Suta Jl. Dewi Sartika No.12, Bangli 40121 12/5/1980


980002 I Wayan Sura Jl. Kartini No.10, Badung 45123 3/6/1980
980004 Dewi Asih Jl. A Yani 5, Gianyar 40124 11/8/1980

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

5.3. Boyce-Codd Normal Form (BCNF)


2. Tabel Kuliah

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

KF tabel ini yaitu :


kode_kul Æ nama_kul sks semester waktu tempat nama_dos

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

5.3. Boyce-Codd Normal Form (BCNF)


3. Tabel Dosen
nama_dos alamat_dos
Ir. I Made Kondra Perum. Dosen Griya Sambangan, Jakarta 43111
Dewa Sujana, S.T., M.T Jl. Selamat No. 15, Bekasi 40121
KF tabel ini yaitu : nama_dosÆ alamat_dos
Tabel Dosen ini telah memenuhi kriteria BCNF, karena atribut nama_dos memang
benar merupakan superkey dari tabel Dosen

4. Tabel Nilai
nim kode_kul indeks_nilai
980001 INF1014 A
980001 INF1012
980002 INF1014 B
980002 INF2011 C
980004 INF1012

KF tabel ini yaitu : nim kode_kulÆ indeks_nilai

Tabel Nilai ini telah memenuhi kriteria BCNF, karena atribut nim, kode_kul
memang benar merupakan superkey dari tabel Nilai

BAB IV

6. Bentuk-Bentuk Normal (Normal Form) yang Lain

Ketiga kriteria yang sudah dibahas sebelumnya, merupakan kriteria


minimal untuk mendapatkan prediksi efisien/normal bagi sebuah tabel

Akan tetapi kita juga menerapkan kriteria-kriteria lain yang juga


tercakup dalam kerangka Normalisasi, walaupun bukan kriteria utama.
Kriteria-kriteria tersebut adalah :

• Bentuk Normal tahap Pertama (1st Normal Form / NF)


• Bentuk Normal tahap Kedua (2nd Normal Form / NF)
• Bentuk Normal tahap Ketiga (3rd Normal Form / NF)
• Bentuk Normal tahap Keempat(4th Normal Form / NF)

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)

Solusi agar Tabel Kuliah diatas memenuhi 1NF adalah dengan


mendekomposisinya menjadi :
tabel Kuliah (kode_kul, nama_kul, sks, semester, nama_dos)
tabel Kuliah

tabel Jadual (kode_kul, waktu, tempat)

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

INF1014 Struktur Data 3 1 Ir. I Made Kondra INF1014 Senin, 08.00 – 09.40 Ruang A


INF1014 Kamis, 11.00 – 11.50 Ruang A
INF1012 Basis Data 3 2 Ir. I Made Kondra INF1012 Selasa, 10.00 – 11.40 Ruang B
INF1012 Jum’at, 08.00 – 09.40 Ruang B
INF2011 Algoritma 3 1 Dewa Sujana, S.T., M.T INF2011 Rabu, 09.00 – 10.50 Ruang A

KF KF

kode_kul Æ nama_kul sks semester nama_dos kode_kul waktu Æ tempat

9
Pengantar Basis Data

BAB IV
6. Bentuk-Bentuk Normal (Normal Form) yang Lain
6.2. Bentuk Normal tahap Kedua (2nd Normal Form / NF)

2NF terpenuhi jika :


• Semua atribut selain primary key,
key secara utuh memiliki
Ketergantungan Fungsional pada primary key
• Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang
Ketergantungan Fungsionalnya hanya bersifat parsial saja (hanya
tergantung pada sebagian dari primary key)

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)

3NF terpenuhi jika :


g g
Untuk setiap KF (Ketergantungan Fungsional)
g dengan
g notasi X Æ A, maka:
- X haruslah menjadi superkey pada tabel tersebut,
- Atau A merupakan bagian dari primary key pada tabel tersebut

Contoh : Jika karena suatu kebutuhan, atribut alamat_mhs (yang


tergolong Atribut Komposit) pada tabel Mahasiswa dipilah menjadi 3
atribut yaitu : alamat_jln, nama_kota dan kode_pos
nim nama_mhs alamat_jln nama_kota kode_pos tgl_lahir

980001 I Made Suta Jl. Dewi Sartika No.12 g


Bangli 40121 12/5/1980
/ /
980002 I Wayan Sura Jl. Kartini No.10 Badung  45123 3/6/1980

980004 Dewi Asih Jl. A Yani 5 Gianyar  40124 11/8/1980

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)

Pemisahan atribut alamat_mhs pada tabel Mahasiswa menjadi 3 sub atribut


yaitu alamat_jjln,, nama_kota dan kode_p
y pos,, maka selain tidak memenuhi
kriteria BCNF juga tidak memenuhi 3NF, karena :
• alamat_jln, nama_kota bukanlah superkey dari tabel Mahasiswa tsb
• kode_pos juga bukan merupakan bagian dari primary key dari tabel
Mahasiswa tsb
Karena adanya KF baru pada tabel Mahasiswa yaitu :
alamat_jln nama_kota Æ kode_pos, maka perlu didekomposisi menjadi tabel
Mahasiswa dan tabel Alamat.

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

980001 I Made Suta Jl. Dewi Bangli 12/5/1980 Jl. Dewi Bangli 40121


Sartika No.12 Sartika No.12
980002 I Wayan Sura Jl. Kartini  Badung  3/6/1980 Jl. Kartini  Badung  45123
No.10 No.10
980004 Dewi Asih Jl. A Yani 5 Gianyar  11/8/1980 Jl. A Yani 5 Gianyar  40124

BAB IV
6. Bentuk-Bentuk Normal (Normal Form) yang Lain
6.3. Bentuk Normal tahap Ketiga (3rd Normal Form / NF)

Pada tabel Alamat terbentuk KF berikut :


alamat jln nama_kota
alamat_jln nama kota Æ kode_pos
kode pos
kode_pos Æ nama_kota
Dengan adanya KF yang terbentuk pada tabel Alamat diatas maka :
Terpenuhi BCNF pada tabel Mahasiswa dan pada tabel Alamat
Terpenuhi 3 NF pada tabel Alamat, dimana :
• Pada KF pertama, alamat_jln, nama_kota merupakan superkey
(sekaligus primary key pada tabel Alamat tsb)
• Pada KF kedua, kendati kode_pos bukan merupaka superkey,
tetapi nama_kota
nama kota merupakan bagian dari primary key dari tabel
Alamat

Karena telah memenuhi 3NF maka tabel Alamat tersebut tidak perlu
didekomposisi lagi

11
Pengantar Basis Data

BAB IV

6. Bentuk-Bentuk Normal (Normal Form) yang Lain

Penerapan aturan Normalisasi sampai dengan


tahap ketiga sesungguhnya sudah sangat memadai
untuk menghasilkan tabel yang efisien dan
berkualitas baik

Namun demikian ada sejumlah pembahasan


Bentuk Normal tahap Keempat (4NF) dan Bentuk
Normal tahap Kelima(5NF) tetapi tidak dibahas
lebih detil

12

Anda mungkin juga menyukai