5. Anomali Penyisipan (Insert)
Apa yang terjadi jika B. Jerman ditambahkan ke Kursus?
No_Siswa Kursus Biaya
10 B. Inggris 60000
10 B. Perancis 80000
10 B. Jepang 70000
15 B. Inggris 60000
20 B. Jepang 60000
No_Siswa Kursus Biaya
10 B. Inggris 60000
10 B. Perancis 80000
10 B. Jepang 70000
15 B. Inggris 60000
20 B. Jepang 60000
B.Jerman 90000
6. Solusi Anomali Penyisipan (Insert)
No_Siswa Kursus Biaya
10 B. Inggris 60000
10 B. Perancis 80000
10 B. Jepang 70000
15 B. Inggris 60000
20 B. Jepang 60000
Kursus Biaya
B. Inggris 60000
B. Jepang 70000
B.Jerman 90000
No_Siswa ...
10 ..
15 ..
20 ..
No_Siswa Kursus
10 B. Inggris
.. ..
20 B. Jepang
7. Anomali Peremajaan (Update)
Pemasok Kota Barang Jumlah
Kartika Jakarta Mouse 5
Citra Bandung Monitor 2
Yudi Medan CPU 2
Citra Bandung Printer 1
Apa yang terjadi jika Citra pindah kota ke Bogor?
8. Solusi Anomali Peremajaan (Update)
Pemasok Kota Barang Jumlah
Kartika Jakarta Mouse 5
Citra Bandung Monitor 2
Yudi Medan CPU 2
Citra Bandung Printer 1
Pemasok Kota
Kartika Jakarta
Citra Bandung
Yudi Medan
Pemasok Barang Jumlah
Kartika Mouse 5
Citra Monitor 2
Yudi CPU 2
Citra Printer 1
9. Anomali Penghapusan (Delete)
Apa yang terjadi jika No_Siswa 10 dihapus?
No_Siswa Kursus Biaya
10 B. Inggris 60000
10 B. Perancis 80000
10 B. Jepang 70000
15 B. Inggris 60000
20 B. Jepang 60000
No_Siswa Kursus Biaya
15 B. Inggris 60000
20 B. Jepang 60000
10. Solusi Anomali Penghapusan (Delete)
No_Siswa Kursus Biaya
10 B. Inggris 60000
10 B. Perancis 80000
10 B. Jepang 70000
15 B. Inggris 60000
20 B. Jepang 60000 Kursus Biaya
B. Inggris 60000
B. Jepang 70000
B.Jerman 90000
No_Siswa ...
15 ..
20 ..
No_Siswa Kursus
15 B. Inggris
20 B. Jepang
20. Sebuah atribut berdependensi fungsional terhadap atribut
lainnya jika dan hanya jika satu nilai pada atribut
tersebut tepat dipetakan satu terhadap satu nilai
dari atribut dependentnya
21. Pembeli Kota Barang Jumlah
P1 Yogyakarta B1 10
P1 Yogyakarta B2 5
P2 Jakarta B1 4
P2 Jakarta B2 7
P3 Solo B3 6
P3 Solo B4 6
Pembeli à Kota
{Pembeli, Barang} à Kota
Dependensi Fungsional
24. Atribut y memiliki dependensi fungsional total
terhadap atribut x jika y berdependensi fungsional terhadap x
begitu juga sebaliknya (x ↔ y)
25. Dependensi Fungsional Total
Diasumsikan tidak pernah ada nama yang sama maka
No_Siswa ↔ Nama
No_Siswa Nama Alamat
A1 Budi Bandung
A2 Andi Bogor
A3 Ani Serang
A4 Dian Madura
A5 Andri Ciamis
27. Atribut y memiliki dependensi fungsional penuh
terhadap atribut x jika y berdependensi fungsional terhadap x
dan y hanya berdependensi fungsional
terhadap subset dari x
28. {x,y} à z
Dikatakan dependensi fungsional penuh jika z tidak hanya cukup
bergantung pada x saja atau y saja
30. Atribut y memiliki dependensi fungsional
sebagian terhadap atribut x jika Y berdependensi
fungsional terhadap X dan Y tidak berdependensi fungsional
terhadap subset dari X
31. {x,y} à z
x à z
Maka z berdependensi fungsional sebagian terhadap x
33. Atribut z memiliki dependensi fungsional
transitif terhadap atribut x jika y berdependensi fungsional
terhadap x dan z berdependensi fungsional terhadap y
34. x à y
y à z
Jadi x à z
Maka z berdependensi fungsional transitif terhadap x
35. Dependensi Fungsional Transitif
Kuliah à {Kampus, Waktu}
Kampus à Ruang
Kuliah à Waktu (Kuliah à Kampus à Waktu)
Kuliah Kampus Ruang Waktu
RPL 5 5406 Senin
Basis Data 4 4417 Selasa
Kalkulus 2 2505 Rabu
Data Mining 1 1407 Kamis
38. Tabel Pada
Basis Data
Penentuan Atribut
Bentuk Normal
1 - BCNF
Unnormalized
Form
Dokumen Manual
• Atribut bawaan (dari dokumen)
• Atribut bentukan (dari aturan
bisnis atau asumsi)
Jenis Input
39. Bagian pada dokumen akan menjadi atribut apabila isian atau
nilainya bersifat dinamis (data bisa berubah nilai)
Contoh Atribut
Contoh Nilai
42. PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR HOURS
15 Evergreen 103 Juni E. Arbough Elect. Engineer 84.50 23.8
101 John G. News Database Engineer 105.00 19.4
105 Alice K. Johnson Database Engineer 105.00 35.7
106 William Smithfield Programmer 35.75 12.6
102 David H. Senior System Analyst 96.75 23.8
18 Amber Wave 114 Annelise Jones Application Designer 48.10 24.6
118 James J. Frommer General Support 18.36 45.3
104 Anne K. Ramoras System Analyst 96.75 32.4
112 Darlene M. Smithson DSS Analyst 45.95 44.0
22 Rolling Tide 105 Alice K. Johnson Database Desginer 105.00 64.7
104 Anne K. Ramoras System Analyst 96.75 48.4
113 Delbert K. Joenbrood Application Designer 48.10 23.6
111 Geoff B. Wabash Clerical Support 26.87 22.0
106 William Smithfield Programmer 35.75 12.8
25 Starflight 107 Maria D. Alonzo Programmer 35.75 24.6
115 Travis B. Bawangi System Analyst 96.75 45.8
101 John G. News Database Designer 105.00 56.3
114 Annelise Jones Application Designer 48.10 33.1
108 Ralph B. Washington System Analyst 96.75 23.6
118 James J. Frommer General Support 18.36 30.5
112 Darlene M. Smithson DSS Analyst 45.95 41.4
44. • Eliminasi nilai null pada repeating groups
• Identifikasi primary key (Suggestion)
• Identifikasi seluruh dependensi (Suggestion)
45. PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR HOURS
15 Evergreen 103 Juni E. Arbough Elect. Engineer 84.50 23.8
15 Evergreen 101 John G. News Database Designer 105.00 19.4
15 Evergreen 105 Alice K. Johnson Database Engineer 105.00 35.7
15 Evergreen 106 William Smithfield Programmer 35.75 12.6
15 Evergreen 102 David H. Senior System Analyst 96.75 23.8
18 Amber Wave 114 Annelise Jones Application Designer 48.10 24.6
18 Amber Wave 118 James J. Frommer General Support 18.36 45.3
18 Amber Wave 104 Anne K. Ramoras System Analyst 96.75 32.4
18 Amber Wave 112 Darlene M. Smithson DSS Analyst 45.95 44.0
22 Rolling Tide 105 Alice K. Johnson Database Designer 105.00 64.7
22 Rolling Tide 104 Anne K. Ramoras System Analyst 96.75 48.4
22 Rolling Tide 113 Delbert K. Joenbrood Application Designer 48.10 23.6
22 Rolling Tide 111 Geoff B. Wabash Clerical Support 26.87 22.0
22 Rolling Tide 106 William Smithfield Programmer 35.75 12.8
25 Starflight 107 Maria D. Alonzo Programmer 35.75 24.6
25 Starflight 115 Travis B. Bawangi System Analyst 96.75 45.8
25 Starflight 101 John G. News Database Designer 105.00 56.3
25 Starflight 114 Annelise Jones Application Designer 48.10 33.1
25 Starflight 108 Ralph B. Washington System Analyst 96.75 23.6
25 Starflight 118 James J. Frommer General Support 18.36 30.5
25 Starflight 112 Darlene M. Smithson DSS Analyst 45.95 41.4
48. • Pastikan tabel sudah dalam bentuk normal pertama
• Eliminasi depedensi fungsional sebagian
• Tentukan atribut yang berdepedensi terhadap atribut lain
49. PROJ_NUM PROJ_NAME
EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR
HOURS
Nama tabel: PROJECT
PROJ_NUM à PROJ_NAME
Nama tabel: EMPLOYEE
EMP_NUM à EMP_NAME, JOB_CLASS, CHG_HOURS
JOB_CLASS à CHG_HOUR
PROJ_NUM EMP_NUM
{PROJ_NUM,EMP_NUM} à HOURS
Nama tabel: ASSIGNMENT
50. Nama tabel: PROJECT
Nama tabel: EMPLOYEE
Nama tabel: ASSIGNMENT
PROJ_NUM PROJ_NAME
15 Evergreen
18 Amber Wave
.. ..
EMP_NUM EMP_NAME JOB_CLASS CHG_HOUR
101 John G. News Database Engineer 105.00
102 David H. Senior System Analyst 96.75
.. .. .. ..
PROJ_NUM EMP_NUM HOURS
15 103 23.8
15 101 19.4
.. .. ..
Tabel hasil
normalisasi bentuk
kedua (2nd form)
52. • Pastikan tabel sudah dalam bentuk normal kedua
• Eliminasi depedensi transitif
• Tentukan kembali depedensi antar atribut
53. PROJ_NUM PROJ_NAME EMP_NUM EMP_NAME JOB_CLASS
HOURS
Nama tabel: PROJECT
PROJ_NUM à PROJ_NAME
Nama tabel: EMPLOYEE
EMP_NUM à EMP_NAME, JOB_CLASS
JOB_CLASS à CHG_HOUR
PROJ_NUM EMP_NUM
{PROJ_NUM,EMP_NUM} à HOURS
Nama tabel: ASSIGNMENT
JOB_CLASS CHG_HOUR
Nama tabel: JOB
54. Nama tabel: PROJECT Nama tabel: EMPLOYEE
Nama tabel: ASSIGNMENT
PROJ_NUM PROJ_NAME
15 Evergreen
18 Amber Wave
.. ..
EMP_NUM EMP_NAME JOB_CLASS
101 John G. News Database Engineer
102 David H. Senior System Analyst
.. .. ..
PROJ_NUM EMP_NUM HOURS
15 103 23.8
15 101 19.4
.. .. ..
JOB_CLASS CHG_HOUR
Database Engineer 105.00
System Analyst 96.75
.. ..
Nama tabel: JOB
Tabel hasil normalisasi bentuk ketiga (3rd form)
56. • Pastikan tabel sudah dalam bentuk normal ketiga
• Hanya dilakukan jika dan hanya jika semua determinan
merupakan candidate key
57. CA B
{A,B} à C, D
C à B
3rd normal form but not BCNF
D
DA C
{A,C} à D
3rd normal form and BCNF
BC
C à B
58. SISWA KURSUS TUTOR
Anwar B. Perancis Pierre
Anwar B. Inggris Richard
Budi B. Perancis Pierre
Cecep B. Inggris Suzanne
Ilustrasi tabel BCNF
SISWA TUTOR
Anwar Pierre
Anwar Richard
Budi Pierre
Cecep Suzanne
TUTOR KURSUS
Pierre B. Perancis
Richard B. Inggris
Suzanne B. Inggris
{SISWA,KURSUS} à TUTOR
TUTOR à KURSUS
TUTOR à KURSUS
Relasi SISWA dengan TUTOR