2. Normalisasi
• Sasaran perancangan Database relasional:
▫ Menghasilkan himpunan skema relasi
▫ Untuk menyimpan informasi tanpa redundansi.
▫ Meningkatkan derajad konsistensi data
▫ Dengan pemeliharaan integritas data dan
▫ Memudahkan pengguna mencari informasi yang dikehendaki
• Untuk mencapai sasaran :
▫ Memerlukan informasi tambahan dari kondisi objek yang
dimodelkan.
▫ Mencari kebergantungan fungsian (functional dependency)
▫ Merancang relasi menjadi bentuk normal (normal form)
3. Relasi yang terstruktur dengan baik:
Mengandung redudansi dalam jumlah minimal
Mengijinkan pengguna menyisipkan,
memodifikasi serta menghapus baris-baris
(rekod)
Tanpa menimbulkan kesalahan atau
inkonsistensi data.
Redundansi pada tabel dapat
menghasilkan inkonsistensi (anomali).
4. staffNo Name position salary branchNo
SL21
SG37
SG14
SA9
SG5
SL41
John White
Ann Beech
David Ford
Mary Howe
Susan Brand
Julie Lee
Manager
Assistant
Supervisor
Assistant
Manager
Assistant
30000
12000
18000
9000
24000
9000
B005
B003
B003
B007
B003
B005
Staff
branchNo Address
B005
B007
B003
22,Deer Rd, London
16, Argyll St,
Aberdeen
163, Main St, Glasgow
Branch
5. staffNo Name position salary branch
No
Address
SL21
SG37
SG14
SA9
SG5
SL41
John
White
Ann Beech
David
Ford
Mary
Howe
Susan
Brand
Julie Lee
Manager
Assistant
Supervisor
Assistant
Manager
Assistant
30000
12000
18000
9000
24000
9000
B005
B003
B003
B007
B003
B005
22 Deer Rd, London
163 Main St, Glasgow
163 Main St, Glasgow
16 Argyll St, Aberdeen
163 Main St, Glasgow
22 Deer Rd, London
StaffBranch
6. 3 Jenis Anomali :
Anomali penyisipan (insert anomaly);
Keadaan dimana akan terjadi kesalahan pada
saat pengguna melakukan penyisipan data
Anomali penghapusan (deleting anomaly);
Keadaan dimana akan terjadi kesalahan pada
saat pengguna melakukan penghapusan data
pada tabel
Anomali Modifikasi (modification
anomaly);
Keadaan dimana akan terjadi kesalahan pada
saat pengguna melakukan modifikasi data
7. • Contoh: Skema Relasi mahasiswa_nilai
Atribut Semantik dan Domain
NIM Setiap mahasiswa diberi satu nomer yang unik tdd 5: Char Utk mhsw
perempuan diawali dengan P, Lelaki dengan L.
NamaMhs Nama Mahasiswa :char
Major Bidang pengkhususan (unik):Char
SKSLulus Jumlah SKS yang diperlukan untuk lulus:Integer
KodeMKul Kode Matakuliah (unik) untuk setiap matakuliah:Char
NamaMkul Nama Matakuliah:Char
SKS Jumlah SKS:Integer
Nilai Nilai yang diperoleh untuk satu matakuliah:Decimal
• Organizational / Enterprise Constraint:
- Seorang mahasiswa boleh mengambil lebih dari satu matakuliah
- Seorang mahasiswa harus mempunyai hanya satu major sebagai
pengkhususan
- Setiap major memiliki syarat jumlah sks yang diperlukan untuk lulus
8. Bentuk Tidak Normal (Unnormalized Form);
- Tabel/relasi tsb terdiri dari satu kelompok data yang berulang
- Nilai atribut pada tiap tuple tidak atomic (nilai tunggal)
NIM NamaMhs Major SKSLulus KodeMkul NamaMkul SKS Nilai
P1050 Anita Ilmu Komputer 118 SK001
SK002
P.Tek.Informasi
Algoritma &
Pemrograman
2
4
80
75
L2115 Hendri Sistem Informasi 125 SM100 Sistem Informasi 4 85
Tabel Tidak Normal (Unnormalized Table)
9. Bentuk Normal Pertama (1NF)
Tabel/relasi dalam bentuk normal pertama :
jika setiap atribut pada tuple memiliki nilai atomic (nilai tunggal)
Untuk menukarkan bentuk tidak normal kedalam bentuk
normal :
1.Sisipkan data yang tidak berulang kedalam kolom-kolom
bagi setiap baris tuple yang nilainya berulang.
2.Tetapkan satu kunci primer bagi tabel normal
10. • Tabel dalam bentuk normal
NIM NamaMhs Major SKSLulus KodeMkul NamaMkul SKS Nilai
P1050
P1050
L2115
Anita
Anita
Hendri
Ilmu Komputer
Ilmu Komputer
Sistem Informasi
118
118
125
SK001
SK002
SM100
P.Tek.Informasi
Algoritma &
Pemrograman
Sistem Informasi
2
4
4
80
75
85
11. Kebergantungan Fungsian
(Functional Dependency)
• Atribut B Bergantung Fungsian (BF) pada atribut A
j.h.j untuk setiap nilai A tertentu pasti akan
dapatkan nilai B yang sama.
A B
A B
12. Relasi Mahasiswa_Nilai
NIM NamaMhs Major SKSLulus KodeMkul NamaMKul SKS Nilai
P1050
P1050
L2115
L4213
P2020
P4000
Anita
Anita
Hendri
Fahmi
Sarita
Dewi
Ilmu Komputer
Ilmu Komputer
Sistem Informasi
Software
Engineering
Sistem Informasi
Sistem Informasi
118
118
125
130
125
125
SK001
SK002
SM100
KP222
SM100
SM100
P.Tek.Informasi
Algoritma &
Pemrograman
Sistem Informasi
C++
Sistem Informasi
Sistem Informasi
2
4
4
4
4
4
80
75
85
70
60
65
Instansiasi Relasi Mahasiswa_Nilai
13. • Dalam Relasi Mahasiswa_Nilai:
NIM (NamaMhs,Major,SKSLulus)
KodeMkul (NamaMkul,SKS)
Major SKSLulus
(NIM,KodeMkul) Nilai
NIM
KodeMkul
Nilai
NamaMhs
Major
SKSLulus
NamaMkul
SKS
14. KF3
Kunci
primer
Kebergantungan
Sebagian
Kebergantungan
Transitif
KF1
KF2
NIM KodeMkul NamaMhs Major SKSLulus NamaMkul SKS Nilai
Kebergantungan
Sebagian
KF4
Diagram Kebergantungan Fungsi
15. Kebergantungan Fungsian Penuh
(KFP)
• Jika A dan B adalah atribut relasi R. B
dikatakan Bergantung Fungsian Penuh (BFP)
atas A jika B BF terhadap A tetapi tidak pada
mana-mana subset A.
X X, x bukan subset proper x
(X,Y) X , x subset proper (x,y)
KFP melibatkan penentu tunggal.
KFS (K.Fungsian Sebagian); jika KF melibatkan
penentu lebih dari 1 atribut
16. Bentuk Normal Kedua (2NF)
• Sebuah relasi berada dalam 2NF jika ia berada pada 1NF dan
semua atribut bukan kunci Bergantung Fungsian Penuh (BFP)
atas kunci primer (KP).
• 1NF 2NF:
1. Buat List semua KF
2. Tentukan Kunci Primer (KP) relasi R dan subset dari KP tsb
3. Dekomposisi.Kelompokkan semua atribut (a) yang BFP pada KP
kedalam satu relasi bersama sama dengan KP. Hasilnya R0 (p,a)
4. Kelompokkan semua atribut yang Bergantung Fungsian Sebagian
(BFS) atas KP dalam satu relasi bersama dengan salinan atribut
subset KP dimana atribut tsb BF padanya.
R1(p,a), R2(p2,a2)…Rn(pn ,, an)
17. 1. KF lihat pada diagram KF sebelumnya
2. Kunci Primer pada Relasi mahasiswa_nilai :
NIM + KodeMkul
3. Dekomposisi Relasi:
GRED (NIM,KodeMkul,Nilai)
MAHASISWA(NIM,NamaMhs,Major,SKSLulus)
MKULIAH (KodeMkul,NamaMkul,SKS)
18. MKULIAH
KodeMkul NamaMKul SKS
SK001 P.Tek.Informasi 2
SK002 Algoritma&Pemrograman 4
SM100 Sistem Informasi 4
KP222 C++ 4
GRED
NIM KodeMkul Nilai
P1050 SK001 80
P1050 SK002 75
L2115 SM100 85
L4213 KP222 85
P2020 SM100 70
P4000 SM100 60
19. MAHASISWA
NIM NamaMhs Major SKSLulus
P1050 Anita Ilmu Komputer 118
L2115 Hendri Sistem Informasit 125
L4213 Fahmi Software
Engineering
130
P2020 Zarina Ilmu Komputer 125
P4000 Sarita Sistem Informasi 125
Check Anomali pada relasi yang baru diatas
20. Kebergantungan Transitif
(KT)
• Terdapat sekurang-kurangnya 3 atribut A,B,C
dalam satu relasi sehingga C BF atas B, B BF
pada A maka C BF pada A secara transitif
melalui B, dengan syarat A tidak BF kepada B
atau C.
A B, B C, maka AC
21. Bentuk Normal Ketiga (3NF)
• Semua relasi berada dalam 3NF jika ia berada
dalam 2NF dan tidak ada atribut bukan KP
Bergantung Transitif (BT) pada KP.
• Dekomposisi 2NF-3NF:
1. Cari KT dan tetapkan penentu yang bukan KP .
2. Kelompokkan atribut yang BT bersama dengan
satu salinan atribut penentu pada relasi baru.
3. Kelompokkan atribut tunggal menjadi satu
relasi baru
4. Bagi setiap relasi R dengan atribut A,B,C ,
AB dan B C .Uraikan relasi R menjadi R1,
dan R2. Dimana R1 (A,B) dan R2(B,C).
22. NIM
Major
SKSLulus
NamaMhs
Kebergantungan Transitif (KT)
1. Kebergantungan Transitif (KT) yaitu :
NIM (NamaMhs,Major)
Major SKSLulus
2. Relasi baru yang dihasilkan:
PENGKHUSUSAN (Major, SKSLulus)
MHS_PENGKHUSUSAN(NIM, NamaMhs, Major)
23. MKULIAH
KodeMkul NamaMKul SKS
SK001 P.Tek.Informasi 2
SK002 Algoritma&Pemrograman 4
SM100 Sistem Informasi 4
KP222 C++ 4
GRED
NIM KodeMkul Nilai
P1050 SK001 80
P1050 SK002 75
L2115 SM100 85
L4213 KP222 85
P2020 SM100 70
P4000 SM100 60
24. NIM NamaMhs Major
P1050 Anita Ilmu Komputer
L2115 Hendri Sistem Informasi
L4213 Fahmi Software
Engineering
P2020 Zarina Sistem Informasi
P4000 Sarita Sistem Informasi
Major SKSLulus
Ilmu Komputer 118
Sistem Informasi 125
Software
130
Engineering
MHS_PENGKHUSUSAN PENGKHUSUSAN
Check Anomali untuk tabel diatas.
25. • Maka Relasi mahasiswa_nilai yang dihasilkan:
MHS_Pengkhususan (NIM, NamaMhs,Major)
MKULIAH (KodeMkul, NamaMKul, SKS)
PENGKHUSUSAN (Major, SKSLulus)
GRED (NIM,KodeMkul,Nilai)
27. Boyce-Codd Normal Form (BCNF)
Sebuah relasi adalah dalam BCNF hanya jika setiap penentu adalah
kunci calon (candidate key).
Perhatikan:
Untuk relasi yang memiliki hanya satu kunci calon, 3NF setara dengan BCNF.
Jika sebuah relasi yang memiliki hanya satu kunci calon, dan berada dalam
3NF, secara otomatis ia juga dalam BCNF.
Kemungkinan sbh relasi tidak memenuhi syarat BCNF jarang berlaku, karena
memerlukan 3 keadaan a.l:
Terdapat dua atau lebih kunci calon
Dua kunci calon adalah kunci komposit
Dua kunci calon tersebut beririsan sekurang-kurangnya ada satu atribut yang
sama.
28. 3NF BCNF
Contoh:
Skema relasi DOSEN_RISET sbb:
DOSEN_RISET (NIP, NIM, No_Riset)
Semua atribut unik
Batasan Organisasi:
Seorang dosen boleh membimbing (supervisi) hanya
satu riset.
Satu mhsw boleh membuat lbh dari 1 riset.
Satu riset boleh dijalankan oleh lebih dari 1 mhs dan
boleh dibimbing lebih dari 1 orang dosen.
Seorang pelajar dibimbing oleh hanya 1 dosen untuk
satu riset.
29. 3NFBCNF
Oleh karena:
Seorang dosen boleh membimbing hanya satu riset,
maka: NIPmenentukan No_Riset.
Satu riset boleh dijalankan oleh lebih dari seorang
mahasiswa dan seorang mahasiswa boleh
menjalankan lebih dari satu riset, maka No_Riset
dan NIM masing-masing bukan penentu.
Tapi, dengan mengetahui No_Riset dan NIM mhs
maka kita dapat mengetahui NIP dosen yang
membimbing riset tsb.
Mengetahui NIM dan NIP, maka kita dapat
mengetahui riset (No_Riset) yg sedang dibimbing
seorang dosen.
30. Dari deskripsi diatas:
Untuk relasi DOSEN_RISET:
Kunci Calon : (NIP+NIM), (No_Riset + NIM)
Kunci Primer: (No_Riset + NIM)
KF lain : NIP No_Riset
Diagram KF:
NIP
No_Riset
NIM
32. • Kedua kunci calon adalah kunci komposit dengan
NIM merupakan atribut kunci yang beririsan.
Relasi DOSEN_RISET :
• dalam 3NF tidak ada kebergantungan transitif.
• Tetapi tidak dalam BCNF karena NIP adalah
penentu bagi No_Riset (NIPNo_Riset),
sedangkan NIP bukan kunci calon.
33. NIP
No_Riset
NIM
• Diagram KF diatas:
▫ No_Riset bergantung kepada NIP
▫ Subset dari atribut kunci yaitu No_Riset BF kepada
atribut bukan kunci (NIP).
▫ Periksa Anomali pada relasi DOSEN_RISET.
34. NIP No_Riset NIM
D1
R1
M1
D1
R1
M2
D2
R2
M1
D3
R3
M2
D4
R3
M1
D5
R4
M3
Relasi diatas dapat dipecahkan (dekomposisi) menjadi 2
relasi untuk menghilangkan anomali.
Relasi baru yang terbentuk tetap mempertimbangkan KF
yang sudah ada.
Dua relasi yang dihasilkan:
RISET_MHS (No_Riset,NIM)
DOSEN (NIP, No_Riset)
36. • Dekomposisi suatu relasi kepada bentuk normal
yang lebih tinggi tidak selalu menyelesaikan semua
masalah.
• Mungkin akan timbul satu masalah baru.
• Dalam cth kasus ini, apabila kita gabungkan (join)
dua tabel diatas untuk memperoleh tabel asal,
kemungkinan akan menyalahi batasan yang sudah
ditentukan sebelumnya.
37. • Dari penggabungan tabel kedalam bentuk asal
didapati adanya penyalahan terhadap batasan
organisasi.
• Yaitu: Seorang mahasiswa tidak boleh membuat
riset yang sama dengan bimbingan dua dosen
yang berbeda.
• Dekomposisi relasi DOSEN_RISET kepada
relasi DOSEN dan relasi RISET menyebabkan
batasan tersebut tidak dapat diamati lagi.
• Harus dihindari supaya tidak ada informasi yang
hilang
38. Kesimpulan
Tidak semua relasi harus ditukarkan kedalam
bentuk BCNF
Walaupun relasi dalam BCNF dapat diperoleh tetapi
tidak selamanya itu diinginkan.
Tidak ada patokan dasar dalam normalisasi.
Normalisasi terus dilakukan selagi kita masih
menemukan adanya anomali-anomali dan juga adanya
pelanggaran terhadap batasan yang ditentukan oleh
organisasi (Enterprise/Organizational Constraint)
39. Perhatikan Tabel dibawah ini
Mahasiswa_Aktivitas
NamaMhs NIM Kelas NamaKelab KetuaKelab HariLatihan
Karim L001 1A Memanah Lim Rabu
Sally P201 2B Menjahit Sally Senin
Sam L002 1A Tinju Chandra Senin
Tri P013 2B Memanah Lim Rabu
Jalil L215 3C Atletik Ramli Sabtu
Tri L262 6A Memanah Lim Rabu
40. Soal Latihan:
Diberi satu contoh instansiasi bagi relasi Mahasiswa_AKTIVITAS seperti
gambar sebelumnya. Anggapkan seorang mahasiswa hanya diperbolehkan
menganggotai satu kelab saja.
Jawab soal-soal berikut:
(a) Tunjukkan semua bentuk kebergantungan fungsian yang ada dalam
Mahasiswa_AKTIVITAS.
(b) Tunjukkan kunci primer bagi Mahasiswa_AKTIVITAS dan jelaskan
alasan anda.
(c) Adakah Mahasiswa_AKTIVITAS menghadapi masalah anomali
update? Jelaskan.
(d) Apakah bentuk normal relasi Mahasiswa_AKTIVITAS.
(e) Dekomposisikan relasi Mahasiswa_AKTIVITAS kedalam bentuk
normal yang lebih tinggi dan tunjukkan bahwa masalah anomali
update telah dapat diatasi oleh dekomposisi tsb.
Relasi diatas dikomposisikan ke 1 NF menjadi:
Mahasiswa (NIM,NamaMhs,Major,SKSLulus) dan
MtKuliah (NIM,KodeMkul,NamaMkul,SKS,Nilai)
Contoh BF: NIM Nama Mhs, Kode_Mkul Nama_Mkul, SKS, Major SKS Lulus
Kebergantungan fungsian memiliki karakteristik sbb:
1. Terdapat relasi satu kes satu antara atribut di kiri dan atribut di sebelah kanan.
Penentu adalah satu atau lebih atribut yang berada pada sebelah kiri anak panah dalm satu diagram KF