SlideShare a Scribd company logo
1 of 32
DESAIN DATABASEDESAIN DATABASE
DANDAN
NORMALISASINORMALISASI
NormalisasiNormalisasi
 NormalisasiNormalisasi adalah proses pembentukanadalah proses pembentukan
struktur basis data sehingga sebagian besarstruktur basis data sehingga sebagian besar
ambiguityambiguity bisa dihilangkan.bisa dihilangkan.
 Tahap Normalisasi dimulai dari tahap palingTahap Normalisasi dimulai dari tahap paling
ringan (1NF) hingga paling ketat (5NF)ringan (1NF) hingga paling ketat (5NF)
 Biasanya hanya sampai pada tingkat 3NF atauBiasanya hanya sampai pada tingkat 3NF atau
BCNF karena sudah cukup memadai untukBCNF karena sudah cukup memadai untuk
menghasilkan tabel-tabel yang berkualitas baik.menghasilkan tabel-tabel yang berkualitas baik.
NormalisasiNormalisasi
 Alasan utama dari normalisasi databaseAlasan utama dari normalisasi database
minimal sampai dengan bentuk normalminimal sampai dengan bentuk normal
ketiga adalah :ketiga adalah :
 Insertion anomaliesInsertion anomalies
 Deletion anomaliesDeletion anomalies
 Update anomaliesUpdate anomalies
Normalisasi Basis DataNormalisasi Basis Data
 Sebuah tabel dikatakan baik (efisien) atauSebuah tabel dikatakan baik (efisien) atau
normal jika memenuhi 3 kriteria sbb:normal jika memenuhi 3 kriteria sbb:
1.1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinyaJika ada dekomposisi (penguraian) tabel, maka dekomposisinya
harus dijamin aman (harus dijamin aman (Lossless-Join DecompositionLossless-Join Decomposition). Artinya, setelah). Artinya, setelah
tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru,tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru,
tabel-tabel baru tersebut bisa menghasilkan tabel semula dengantabel-tabel baru tersebut bisa menghasilkan tabel semula dengan
sama persis.sama persis.
2.2. Terpeliharanya ketergantungan fungsional pada saat perubahanTerpeliharanya ketergantungan fungsional pada saat perubahan
data (Dependency Preservation).data (Dependency Preservation).
3.3. Tidak melanggar Boyce-Code Normal Form (BCNF)Tidak melanggar Boyce-Code Normal Form (BCNF)
 Jika kriteria ketiga (BCNF) tidak dapatJika kriteria ketiga (BCNF) tidak dapat
terpenuhi, maka paling tidak tabel tersebut tidakterpenuhi, maka paling tidak tabel tersebut tidak
melanggar Bentuk Normal tahap ketiga (3rdmelanggar Bentuk Normal tahap ketiga (3rd
Normal Form / 3NF).Normal Form / 3NF).
Functional Dependency (1)Functional Dependency (1)
 Functional DependencyFunctional Dependency menggambarkanmenggambarkan
hubunganhubungan attributesattributes dalam sebuah relasidalam sebuah relasi
 Suatu attribute dikatakanSuatu attribute dikatakan functionallyfunctionally
dependantdependant pada yang lain jika kitapada yang lain jika kita
menggunakan harga atribut tersebut untukmenggunakan harga atribut tersebut untuk
menentukan harga atribut yang lain.menentukan harga atribut yang lain.
 Simbol yang digunakan adalahSimbol yang digunakan adalah  untukuntuk
mewakili functional dependency.mewakili functional dependency.
 dibaca secara fungsional menentukandibaca secara fungsional menentukan
Functional Dependency (2)Functional Dependency (2)
 Notasi: ANotasi: A  BB
A dan B adalah atribut dari sebuah tabel.A dan B adalah atribut dari sebuah tabel.
Berarti secara fungsional A menentukan BBerarti secara fungsional A menentukan B
atau B tergantung pada A, jika dan hanyaatau B tergantung pada A, jika dan hanya
jika ada 2 baris data dengan nilai A yangjika ada 2 baris data dengan nilai A yang
sama, maka nilai B juga samasama, maka nilai B juga sama
 Notasi: ANotasi: A  BB atau A xatau A x BB
Adalah kebalikan dari notasi sebelumnya.Adalah kebalikan dari notasi sebelumnya.
Functional Dependency (3)Functional Dependency (3)
 Contoh tabel nilaiContoh tabel nilai
Functional Dependency (4)Functional Dependency (4)
 Functional Dependency dari tabel nilaiFunctional Dependency dari tabel nilai
 NIMNIM  NamaMhsNamaMhs
Karena untuk setiap nilai nim yang sama, maka nilaiKarena untuk setiap nilai nim yang sama, maka nilai
NamaMhs juga samaNamaMhs juga sama
 {Matakuliah, NIM}{Matakuliah, NIM}  NilaiHurufNilaiHuruf
Karena attribut NilaiHuruf tergantung pada MatakuliahKarena attribut NilaiHuruf tergantung pada Matakuliah
dan NIM secara bersama-sama. Dalam arti lain untukdan NIM secara bersama-sama. Dalam arti lain untuk
Matakuliah dan NIM yang sama, maka NilaiHuruf jugaMatakuliah dan NIM yang sama, maka NilaiHuruf juga
sama, karena Matakuliah dan NIM merupakan keysama, karena Matakuliah dan NIM merupakan key
(bersifat unik).(bersifat unik).
 MatakuliahMatakuliah  NIMNIM
 NIMNIM  NilaiHurufNilaiHuruf
Tabel UniversalTabel Universal
 contohcontoh
 Kelemahan tabel universal :Kelemahan tabel universal :
 Pengulangan informasiPengulangan informasi
 Potensi inkonsistensi data pada operasiPotensi inkonsistensi data pada operasi
pengubahanpengubahan
 Tersembunyinya informasi tertentuTersembunyinya informasi tertentu
 Tidak normalTidak normal
Tabel UniversalTabel Universal
LOSSLESS-JOINLOSSLESS-JOIN
DECOMPOSITIONDECOMPOSITION
 Tabel hasilTabel hasil
dekomposisi /dekomposisi /
penguraian haruspenguraian harus
dijamin amandijamin aman
 Artinya jika tabel-tabelArtinya jika tabel-tabel
hasil dekomposisihasil dekomposisi
digabung kembali makadigabung kembali maka
dapat menghasilkandapat menghasilkan
tabel awal sebelumtabel awal sebelum
didekomposisididekomposisi
 Contoh Lossy-JoinContoh Lossy-Join
AA BB CC
A1A1 100100 C1C1
A2A2 200200 C2C2
A3A3 300300 C3C3
A4A4 200200 C4C4
LOSSLESS JOINLOSSLESS JOIN
DECOMPOSITIONDECOMPOSITION
 Asumsi 2 KF :Asumsi 2 KF :
 AABB
 BBCC
 KF 2 kurang tepat 2 KF tsbKF 2 kurang tepat 2 KF tsb
mengakibatkan adanya dekomposisi tabelmengakibatkan adanya dekomposisi tabel
ABC menjadi 2 ????ABC menjadi 2 ????
DEPENDENCY PRESERVATIONDEPENDENCY PRESERVATION
 Ketika kita melakukan perubahan data,Ketika kita melakukan perubahan data,
maka harus bisa dijamin agar perubahanmaka harus bisa dijamin agar perubahan
tersebut tidak menghasilkan inkonsistensitersebut tidak menghasilkan inkonsistensi
data yang mengakibatkan KF yang telahdata yang mengakibatkan KF yang telah
benar menjadi tidak terpenuhibenar menjadi tidak terpenuhi
 Bagaimana dengan tabel universal ???Bagaimana dengan tabel universal ???
 List KF nya :List KF nya :
 Misal tabel MHS dan tabel nilaiMisal tabel MHS dan tabel nilai
merupakan tabel hasil dekomposisimerupakan tabel hasil dekomposisi
 NILAINILAI
(NM_KUL,NIM,NM_MHS,INDEKS_NIL)(NM_KUL,NIM,NM_MHS,INDEKS_NIL)
 MHS(NIM,NM_MHS,ALMT_MHS)MHS(NIM,NM_MHS,ALMT_MHS)
BCNFBCNF
 Suatu tabel dikatakan berada dalamSuatu tabel dikatakan berada dalam
BCNF jika untuk semua KF dengan notasiBCNF jika untuk semua KF dengan notasi
xx y, mk x harus mrp superkey paday, mk x harus mrp superkey pada
tabel tsb, jika tidak mk tabel harustabel tsb, jika tidak mk tabel harus
didekomposisi bdskn KF yg ada shg X mjddidekomposisi bdskn KF yg ada shg X mjd
superkeysuperkey
 Bagaimana dengan tabel universal ???Bagaimana dengan tabel universal ???
 Cek KFnya? Apakah x mrp superkey???Cek KFnya? Apakah x mrp superkey???
Bentuk-bentuk NormalBentuk-bentuk Normal
1.1. Bentuk Normal Tahap Pertama (1st NormalBentuk Normal Tahap Pertama (1st Normal
Form / 1NF)Form / 1NF)
2.2. Bentuk Normal Tahap Kedua (2nd NormalBentuk Normal Tahap Kedua (2nd Normal
Form / 2NF)Form / 2NF)
3.3. Bentuk Normal Tahap (3rd Normal Form /Bentuk Normal Tahap (3rd Normal Form /
3NF)3NF)
4.4. Boyce-Code Normal Form (BCNF)Boyce-Code Normal Form (BCNF)
5.5. Bentuk Normal Tahap (4th Normal Form / 4NF)Bentuk Normal Tahap (4th Normal Form / 4NF)
6.6. Bentuk Normal Tahap (5th Normal Form / 5NF)Bentuk Normal Tahap (5th Normal Form / 5NF)
Bentuk Normal Tahap PertamaBentuk Normal Tahap Pertama
(1st Normal Form / 1NF)(1st Normal Form / 1NF)
 Bentuk normal 1NF terpenuhi jika sebuahBentuk normal 1NF terpenuhi jika sebuah
tabel tidak memiliki atribut bernilai banyaktabel tidak memiliki atribut bernilai banyak
((multivalued attributemultivalued attribute), atribut composite), atribut composite
atau kombinasinya dalam domain dataatau kombinasinya dalam domain data
yang sama.yang sama.
 Setiap atribut dalam tabel tersebut harusSetiap atribut dalam tabel tersebut harus
bernilaibernilai atomicatomic (tidak dapat dibagi-bagi(tidak dapat dibagi-bagi
lagi)lagi)
Contoh 1Contoh 1
Misal data mahasiswa sbb:Misal data mahasiswa sbb:
Atau:Atau:
Tabel-tabel di atas tidak memenuhi syarat 1NFTabel-tabel di atas tidak memenuhi syarat 1NF
Contoh 1Contoh 1
Didekomposisi menjadi:Didekomposisi menjadi:
 Tabel MahasiswaTabel Mahasiswa
 Tabel HobiTabel Hobi
Contoh 2 (composite)Contoh 2 (composite)
JadwalKuliahJadwalKuliah
KodekulKodekul NamaKulNamaKul DosenDosen KelasKelas JadwalJadwal
 Dimana nilai pada atribut jadwal berisi gabungan antara HariDimana nilai pada atribut jadwal berisi gabungan antara Hari
dan Jam.dan Jam.
 Jika asumsi hari dan jam memegang peranan penting dalamJika asumsi hari dan jam memegang peranan penting dalam
sistem basis data, maka atribut Jadwal perlu dipisahsistem basis data, maka atribut Jadwal perlu dipisah
sehingga menjadi JadwalHari dan JadwalJam sbb:sehingga menjadi JadwalHari dan JadwalJam sbb:
JadwalKuliahJadwalKuliah
KodekulKodekul NamaKulNamaKul DoseDose
nn
KelasKelas JadwalHarJadwalHar
ii
JadwalJamJadwalJam
Bentuk Normal Tahap KeduaBentuk Normal Tahap Kedua
(2nd Normal Form)(2nd Normal Form)
 Bentuk normal 2NF terpenuhi dalam sebuahBentuk normal 2NF terpenuhi dalam sebuah
tabel jika telah memenuhi bentuk 1NF, dantabel jika telah memenuhi bentuk 1NF, dan
semua atribut selain primary key, secara utuhsemua atribut selain primary key, secara utuh
memiliki Functional Dependency pada primarymemiliki Functional Dependency pada primary
keykey
 Sebuah tabel tidak memenuhi 2NF, jika adaSebuah tabel tidak memenuhi 2NF, jika ada
atribut yang ketergantungannya (Functionalatribut yang ketergantungannya (Functional
Dependency) hanya bersifat parsial saja (hanyaDependency) hanya bersifat parsial saja (hanya
tergantung pada sebagian dari primary key)tergantung pada sebagian dari primary key)
 Jika terdapat atribut yang tidak memilikiJika terdapat atribut yang tidak memiliki
ketergantungan terhadap primary key, makaketergantungan terhadap primary key, maka
atribut tersebut harus dipindah atau dihilangkanatribut tersebut harus dipindah atau dihilangkan
ContohContoh
Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:
Mhs_nrMhs_nr
pp
mhs_nammhs_nam
aa
mhs_alammhs_alam
atat
mk_kodemk_kode mk_nammk_nam
aa
mk_skmk_sk
ss
nihurufnihuruf
 Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yangTidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang
dianggap sebagai primary key sedangkan:dianggap sebagai primary key sedangkan:
{Mhs_nrp, mk_kode}{Mhs_nrp, mk_kode}  mhs_namamhs_nama
{Mhs_nrp, mk_kode}{Mhs_nrp, mk_kode}  mhs_alamatmhs_alamat
{Mhs_nrp, mk_kode}{Mhs_nrp, mk_kode}  mk_namamk_nama
{Mhs_nrp, mk_kode}{Mhs_nrp, mk_kode}  mk_sksmk_sks
{Mhs_nrp, mk_kode}{Mhs_nrp, mk_kode}  nihurufnihuruf
 Tabel di atas perlu didekomposisi menjadi beberapa tabel yangTabel di atas perlu didekomposisi menjadi beberapa tabel yang
memenuhi syarat 2NFmemenuhi syarat 2NF
ContohContoh
Functional dependencynya sbb:Functional dependencynya sbb:{Mhs_nrp, mk_kode}  nihuruf
(fd1)
Mhs_nrp  {mhs_nama, mhs_alamat}
(fd2)
Mk_kode  {mk_nama, mk_sks}
(fd3)
fd1 (mhs_nrp, mk_kode, nihuruf)  Tabel Nilai
fd2 (Mhs_nrp, mhs_nama, mhs_alamat)  Tabel Mahasiswa
fd3 (mk_kode, mk_nama, mk_sks)  Tabel MataKuliah
Bentuk Normal Tahap Ketiga (3rdBentuk Normal Tahap Ketiga (3rd
Normal Form /3NF)Normal Form /3NF)
 Bentuk normal 3NF terpenuhi jika telahBentuk normal 3NF terpenuhi jika telah
memenuhi bentuk 2NF, dan jikamemenuhi bentuk 2NF, dan jika tidak adatidak ada
atributatribut non primary keynon primary key yang memilikiyang memiliki
ketergantungan terhadap atributketergantungan terhadap atribut non primary keynon primary key
yang lainnya.yang lainnya.
 Untuk setiap Functional Dependency denganUntuk setiap Functional Dependency dengan
notasi Xnotasi X  A, maka:A, maka:
• X harus menjadi superkey pada tabel tsb.X harus menjadi superkey pada tabel tsb.
• Atau A merupakan bagian dari primary key pada tabelAtau A merupakan bagian dari primary key pada tabel
tsb.tsb.
ContohContoh
Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:
Mahasiswa
NrpNrp NamaNama Alm_JalaAlm_Jala
nn
Alm_KotAlm_Kot
aa
Alm_ProvinAlm_Provin
sisi
Alm_KodepoAlm_Kodepo
ss
 karena masih terdapat atributkarena masih terdapat atribut non primary keynon primary key (yakni(yakni alm_kotaalm_kota
dandan alm_Provinsialm_Provinsi) yang memiliki ketergantungan terhadap atribut) yang memiliki ketergantungan terhadap atribut
non primary keynon primary key yang lain (yakniyang lain (yakni alm_kodeposalm_kodepos):):
alm_kodepos  {alm_Provinsi, alm_kota}
 Sehingga tabel tersebut perlu didekomposisi menjadi:Sehingga tabel tersebut perlu didekomposisi menjadi:Mahasiswa (Nrp, nama, alm_jalan,
alm_kodepos)
Kodepos (alm_kodepos, alm_provinsi,
alm_kota)
Boyce-Code Normal FormBoyce-Code Normal Form
(BCNF)(BCNF)
 Bentuk BCNF terpenuhi dalam sebuah tabel, jika untukBentuk BCNF terpenuhi dalam sebuah tabel, jika untuk
setiapsetiap functional dependencyfunctional dependency terhadap setiap atributterhadap setiap atribut
atau gabungan atribut dalam bentuk:atau gabungan atribut dalam bentuk: XX  Y makaY maka XX
adalahadalah super keysuper key
 tabel tersebut harus di-dekomposisi berdasarkantabel tersebut harus di-dekomposisi berdasarkan
functional dependencyfunctional dependency yang ada, sehingga X menjadiyang ada, sehingga X menjadi
super keysuper key dari tabel-tabel hasil dekomposisidari tabel-tabel hasil dekomposisi
 Setiap tabel dalam BCNF merupakan 3NF. Akan tetapiSetiap tabel dalam BCNF merupakan 3NF. Akan tetapi
setiap 3NF belum tentu termasuk BCNF .setiap 3NF belum tentu termasuk BCNF .
Perbedaannya, untuk functional dependency XPerbedaannya, untuk functional dependency X  A,A,
BCNF tidak membolehkan A sebagai bagian dari primaryBCNF tidak membolehkan A sebagai bagian dari primary
key.key.
Bentuk Normal Tahap KeempatBentuk Normal Tahap Keempat
(4th Normal Form /4NF)(4th Normal Form /4NF)
 Bentuk normal 4NF terpenuhi dalamBentuk normal 4NF terpenuhi dalam
sebuah tabel jika telah memenuhi bentuksebuah tabel jika telah memenuhi bentuk
BCNF, dan tabel tersebut tidak bolehBCNF, dan tabel tersebut tidak boleh
memiliki lebih dari sebuahmemiliki lebih dari sebuah multivaluedmultivalued
atributeatribute
 Untuk setiapUntuk setiap multivalued dependenciesmultivalued dependencies
(MVD) juga harus merupakan(MVD) juga harus merupakan functionalfunctional
dependenciesdependencies
ContohContoh
Misal, tabel berikut tidak memenuhi 4NF:Misal, tabel berikut tidak memenuhi 4NF:
Setiap employee dapat bekerja di lebih dari project dan dapatSetiap employee dapat bekerja di lebih dari project dan dapat
memiliki lebih dari satu skill. Untuk kasus seperti ini tabelmemiliki lebih dari satu skill. Untuk kasus seperti ini tabel
tersebut harus di-dekomposisi menjadi:tersebut harus di-dekomposisi menjadi:
(Employee, Project)
(Employee, Skill)
Bentuk Normal Tahap KeempatBentuk Normal Tahap Keempat
(5th Normal Form /5NF)(5th Normal Form /5NF)
 Bentuk normal 5NF terpenuhi jika tidak dapatBentuk normal 5NF terpenuhi jika tidak dapat
memiliki sebuahmemiliki sebuah lossless decompositionlossless decomposition menjadimenjadi
tabel-tabel yg lebih kecil.tabel-tabel yg lebih kecil.
 Jika 4 bentuk normal sebelumnya dibentukJika 4 bentuk normal sebelumnya dibentuk
berdasarkanberdasarkan functional dependencyfunctional dependency, 5NF, 5NF
dibentuk berdasarkan konsepdibentuk berdasarkan konsep join dependencejoin dependence..
Yakni apabila sebuah tabel telah di-dekomposisiYakni apabila sebuah tabel telah di-dekomposisi
menjadi tabel-tabel lebih kecil, harus bisamenjadi tabel-tabel lebih kecil, harus bisa
digabungkan lagi (join) untuk membentuk tabeldigabungkan lagi (join) untuk membentuk tabel
semulasemula

More Related Content

Similar to NORMALISASI DATABASE

Bab 8 - NORMALISASI DATA yang berkaitan dengan data yang ada
Bab 8 - NORMALISASI DATA yang berkaitan dengan data yang adaBab 8 - NORMALISASI DATA yang berkaitan dengan data yang ada
Bab 8 - NORMALISASI DATA yang berkaitan dengan data yang adachepahon
 
QUERY AKSES BEBERAPA TABEL.pptx
QUERY AKSES BEBERAPA TABEL.pptxQUERY AKSES BEBERAPA TABEL.pptx
QUERY AKSES BEBERAPA TABEL.pptxDevitaGd
 
Pertemuan 12 slide MATAKULIAH SEMESTER 2 BSI
Pertemuan 12 slide MATAKULIAH SEMESTER 2 BSIPertemuan 12 slide MATAKULIAH SEMESTER 2 BSI
Pertemuan 12 slide MATAKULIAH SEMESTER 2 BSIBina Sarana Informatika
 
Normalisasi data - Basis Data
Normalisasi data - Basis DataNormalisasi data - Basis Data
Normalisasi data - Basis DataAyu_lestari
 
Pertemuan%203.pdf
Pertemuan%203.pdfPertemuan%203.pdf
Pertemuan%203.pdfVyaGlow
 
Metodologi Penelitian - Statistik Deskriptif
Metodologi Penelitian - Statistik DeskriptifMetodologi Penelitian - Statistik Deskriptif
Metodologi Penelitian - Statistik DeskriptifDeady Rizky Yunanto
 
Pengertian normalisasi database dan bentuk
Pengertian normalisasi database dan bentukPengertian normalisasi database dan bentuk
Pengertian normalisasi database dan bentukachimm4ycry
 
Sgs mengolah-database-dg-excel-2007
Sgs mengolah-database-dg-excel-2007Sgs mengolah-database-dg-excel-2007
Sgs mengolah-database-dg-excel-2007Odin Onyenk
 
Pertemuan-12-normalisasi.pptx
Pertemuan-12-normalisasi.pptxPertemuan-12-normalisasi.pptx
Pertemuan-12-normalisasi.pptxnurnur469094
 
Microsoft power point pertemuan 3-normalisasi.pptx
Microsoft power point   pertemuan 3-normalisasi.pptxMicrosoft power point   pertemuan 3-normalisasi.pptx
Microsoft power point pertemuan 3-normalisasi.pptxAndri Suryadi
 
Materi_Perancangan_Basis_Data.pdf
Materi_Perancangan_Basis_Data.pdfMateri_Perancangan_Basis_Data.pdf
Materi_Perancangan_Basis_Data.pdfkochengg
 
Apa saja penyakit yang perlu dilakukan surveilans di indonesia pada tingkat p...
Apa saja penyakit yang perlu dilakukan surveilans di indonesia pada tingkat p...Apa saja penyakit yang perlu dilakukan surveilans di indonesia pada tingkat p...
Apa saja penyakit yang perlu dilakukan surveilans di indonesia pada tingkat p...Arief Budiman
 
fdokumen.com_hlookup-vlookup.ppt
fdokumen.com_hlookup-vlookup.pptfdokumen.com_hlookup-vlookup.ppt
fdokumen.com_hlookup-vlookup.pptfathulumam4
 
Desain_Database__Normalisasi.pptx
Desain_Database__Normalisasi.pptxDesain_Database__Normalisasi.pptx
Desain_Database__Normalisasi.pptxEdySubowo2
 

Similar to NORMALISASI DATABASE (19)

Normalisasi data
Normalisasi dataNormalisasi data
Normalisasi data
 
Bab 8 - NORMALISASI DATA yang berkaitan dengan data yang ada
Bab 8 - NORMALISASI DATA yang berkaitan dengan data yang adaBab 8 - NORMALISASI DATA yang berkaitan dengan data yang ada
Bab 8 - NORMALISASI DATA yang berkaitan dengan data yang ada
 
QUERY AKSES BEBERAPA TABEL.pptx
QUERY AKSES BEBERAPA TABEL.pptxQUERY AKSES BEBERAPA TABEL.pptx
QUERY AKSES BEBERAPA TABEL.pptx
 
Pertemuan 12 slide MATAKULIAH SEMESTER 2 BSI
Pertemuan 12 slide MATAKULIAH SEMESTER 2 BSIPertemuan 12 slide MATAKULIAH SEMESTER 2 BSI
Pertemuan 12 slide MATAKULIAH SEMESTER 2 BSI
 
Normalisasi data - Basis Data
Normalisasi data - Basis DataNormalisasi data - Basis Data
Normalisasi data - Basis Data
 
pemetaan erd
pemetaan erdpemetaan erd
pemetaan erd
 
Pertemuan%203.pdf
Pertemuan%203.pdfPertemuan%203.pdf
Pertemuan%203.pdf
 
Normalisasi
NormalisasiNormalisasi
Normalisasi
 
Metodologi Penelitian - Statistik Deskriptif
Metodologi Penelitian - Statistik DeskriptifMetodologi Penelitian - Statistik Deskriptif
Metodologi Penelitian - Statistik Deskriptif
 
Pengertian normalisasi database dan bentuk
Pengertian normalisasi database dan bentukPengertian normalisasi database dan bentuk
Pengertian normalisasi database dan bentuk
 
Sgs mengolah-database-dg-excel-2007
Sgs mengolah-database-dg-excel-2007Sgs mengolah-database-dg-excel-2007
Sgs mengolah-database-dg-excel-2007
 
Pertemuan-12-normalisasi.pptx
Pertemuan-12-normalisasi.pptxPertemuan-12-normalisasi.pptx
Pertemuan-12-normalisasi.pptx
 
Microsoft power point pertemuan 3-normalisasi.pptx
Microsoft power point   pertemuan 3-normalisasi.pptxMicrosoft power point   pertemuan 3-normalisasi.pptx
Microsoft power point pertemuan 3-normalisasi.pptx
 
Materi_Perancangan_Basis_Data.pdf
Materi_Perancangan_Basis_Data.pdfMateri_Perancangan_Basis_Data.pdf
Materi_Perancangan_Basis_Data.pdf
 
Apa saja penyakit yang perlu dilakukan surveilans di indonesia pada tingkat p...
Apa saja penyakit yang perlu dilakukan surveilans di indonesia pada tingkat p...Apa saja penyakit yang perlu dilakukan surveilans di indonesia pada tingkat p...
Apa saja penyakit yang perlu dilakukan surveilans di indonesia pada tingkat p...
 
fdokumen.com_hlookup-vlookup.ppt
fdokumen.com_hlookup-vlookup.pptfdokumen.com_hlookup-vlookup.ppt
fdokumen.com_hlookup-vlookup.ppt
 
Sbd ke3
Sbd ke3Sbd ke3
Sbd ke3
 
Kuliah 6 7
Kuliah 6 7Kuliah 6 7
Kuliah 6 7
 
Desain_Database__Normalisasi.pptx
Desain_Database__Normalisasi.pptxDesain_Database__Normalisasi.pptx
Desain_Database__Normalisasi.pptx
 

More from Universitas Bina Darma Palembang

More from Universitas Bina Darma Palembang (20)

30448 pertemuan1
30448 pertemuan130448 pertemuan1
30448 pertemuan1
 
29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))
 
28501 pertemuan14(php)
28501 pertemuan14(php)28501 pertemuan14(php)
28501 pertemuan14(php)
 
28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)
 
25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)
 
23921 pertemuan 3
23921 pertemuan 323921 pertemuan 3
23921 pertemuan 3
 
19313 pertemuan6
19313 pertemuan619313 pertemuan6
19313 pertemuan6
 
18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)
 
18040 pertemuan13(css)
18040 pertemuan13(css)18040 pertemuan13(css)
18040 pertemuan13(css)
 
17945 pertemuan5
17945 pertemuan517945 pertemuan5
17945 pertemuan5
 
16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)
 
15294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah015294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah0
 
13926 pertemuan4
13926 pertemuan413926 pertemuan4
13926 pertemuan4
 
12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)
 
6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)
 
5623 pertemuan11(html1)
5623 pertemuan11(html1)5623 pertemuan11(html1)
5623 pertemuan11(html1)
 
4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)
 
4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)
 
2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)
 
2190 pertemuan24(polling)
2190 pertemuan24(polling)2190 pertemuan24(polling)
2190 pertemuan24(polling)
 

Recently uploaded

Perlindungan Anak Dalam Hukum Perdata (2).pdf
Perlindungan Anak Dalam Hukum Perdata (2).pdfPerlindungan Anak Dalam Hukum Perdata (2).pdf
Perlindungan Anak Dalam Hukum Perdata (2).pdfjeffrisovana999
 
Contoh Algoritma Asosiasi pada data mining
Contoh Algoritma Asosiasi pada data miningContoh Algoritma Asosiasi pada data mining
Contoh Algoritma Asosiasi pada data miningSamFChaerul
 
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxUKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxzidanlbs25
 
ASUMSI DAN KARAKTERISTIK AKUNTANSI SYARIAH.pptx
ASUMSI DAN KARAKTERISTIK AKUNTANSI SYARIAH.pptxASUMSI DAN KARAKTERISTIK AKUNTANSI SYARIAH.pptx
ASUMSI DAN KARAKTERISTIK AKUNTANSI SYARIAH.pptxAdrimanMulya
 
514034136-Tugas-Modul-4-5-Komputer-Dan-Media-Pembelajaran.pptx
514034136-Tugas-Modul-4-5-Komputer-Dan-Media-Pembelajaran.pptx514034136-Tugas-Modul-4-5-Komputer-Dan-Media-Pembelajaran.pptx
514034136-Tugas-Modul-4-5-Komputer-Dan-Media-Pembelajaran.pptxAbidinMaulana
 
KISI KISI PSAJ IPS KLS IX 2324.docskskkks
KISI KISI PSAJ IPS KLS IX 2324.docskskkksKISI KISI PSAJ IPS KLS IX 2324.docskskkks
KISI KISI PSAJ IPS KLS IX 2324.docskskkksdanzztzy405
 
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...Shary Armonitha
 
Salinan PPT TATA BAHASA Bahasa Indonesia
Salinan PPT TATA BAHASA Bahasa IndonesiaSalinan PPT TATA BAHASA Bahasa Indonesia
Salinan PPT TATA BAHASA Bahasa Indonesiasdn4mangkujayan
 
KONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHAN
KONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHANKONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHAN
KONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHANDevonneDillaElFachri
 

Recently uploaded (11)

Perlindungan Anak Dalam Hukum Perdata (2).pdf
Perlindungan Anak Dalam Hukum Perdata (2).pdfPerlindungan Anak Dalam Hukum Perdata (2).pdf
Perlindungan Anak Dalam Hukum Perdata (2).pdf
 
Contoh Algoritma Asosiasi pada data mining
Contoh Algoritma Asosiasi pada data miningContoh Algoritma Asosiasi pada data mining
Contoh Algoritma Asosiasi pada data mining
 
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxUKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
 
Abortion pills in Kuwait salmiyah [+966572737505 ] Get Cytotec in Kuwait city...
Abortion pills in Kuwait salmiyah [+966572737505 ] Get Cytotec in Kuwait city...Abortion pills in Kuwait salmiyah [+966572737505 ] Get Cytotec in Kuwait city...
Abortion pills in Kuwait salmiyah [+966572737505 ] Get Cytotec in Kuwait city...
 
ASUMSI DAN KARAKTERISTIK AKUNTANSI SYARIAH.pptx
ASUMSI DAN KARAKTERISTIK AKUNTANSI SYARIAH.pptxASUMSI DAN KARAKTERISTIK AKUNTANSI SYARIAH.pptx
ASUMSI DAN KARAKTERISTIK AKUNTANSI SYARIAH.pptx
 
Abortion pills in Jeddah+966543202731/ buy cytotec
Abortion pills in Jeddah+966543202731/ buy cytotecAbortion pills in Jeddah+966543202731/ buy cytotec
Abortion pills in Jeddah+966543202731/ buy cytotec
 
514034136-Tugas-Modul-4-5-Komputer-Dan-Media-Pembelajaran.pptx
514034136-Tugas-Modul-4-5-Komputer-Dan-Media-Pembelajaran.pptx514034136-Tugas-Modul-4-5-Komputer-Dan-Media-Pembelajaran.pptx
514034136-Tugas-Modul-4-5-Komputer-Dan-Media-Pembelajaran.pptx
 
KISI KISI PSAJ IPS KLS IX 2324.docskskkks
KISI KISI PSAJ IPS KLS IX 2324.docskskkksKISI KISI PSAJ IPS KLS IX 2324.docskskkks
KISI KISI PSAJ IPS KLS IX 2324.docskskkks
 
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
Sistem operasi adalah program yang bertindak sebagai perantara antara user de...
 
Salinan PPT TATA BAHASA Bahasa Indonesia
Salinan PPT TATA BAHASA Bahasa IndonesiaSalinan PPT TATA BAHASA Bahasa Indonesia
Salinan PPT TATA BAHASA Bahasa Indonesia
 
KONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHAN
KONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHANKONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHAN
KONSEP DASAR ADVOKASI GIZI KEBIJAKAN PEMERINTAHAN
 

NORMALISASI DATABASE

  • 2. NormalisasiNormalisasi  NormalisasiNormalisasi adalah proses pembentukanadalah proses pembentukan struktur basis data sehingga sebagian besarstruktur basis data sehingga sebagian besar ambiguityambiguity bisa dihilangkan.bisa dihilangkan.  Tahap Normalisasi dimulai dari tahap palingTahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF)ringan (1NF) hingga paling ketat (5NF)  Biasanya hanya sampai pada tingkat 3NF atauBiasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untukBCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik.menghasilkan tabel-tabel yang berkualitas baik.
  • 3. NormalisasiNormalisasi  Alasan utama dari normalisasi databaseAlasan utama dari normalisasi database minimal sampai dengan bentuk normalminimal sampai dengan bentuk normal ketiga adalah :ketiga adalah :  Insertion anomaliesInsertion anomalies  Deletion anomaliesDeletion anomalies  Update anomaliesUpdate anomalies
  • 4. Normalisasi Basis DataNormalisasi Basis Data  Sebuah tabel dikatakan baik (efisien) atauSebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb:normal jika memenuhi 3 kriteria sbb: 1.1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinyaJika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (harus dijamin aman (Lossless-Join DecompositionLossless-Join Decomposition). Artinya, setelah). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru,tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengantabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.sama persis. 2.2. Terpeliharanya ketergantungan fungsional pada saat perubahanTerpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).data (Dependency Preservation). 3.3. Tidak melanggar Boyce-Code Normal Form (BCNF)Tidak melanggar Boyce-Code Normal Form (BCNF)  Jika kriteria ketiga (BCNF) tidak dapatJika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidakterpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal tahap ketiga (3rdmelanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).Normal Form / 3NF).
  • 5. Functional Dependency (1)Functional Dependency (1)  Functional DependencyFunctional Dependency menggambarkanmenggambarkan hubunganhubungan attributesattributes dalam sebuah relasidalam sebuah relasi  Suatu attribute dikatakanSuatu attribute dikatakan functionallyfunctionally dependantdependant pada yang lain jika kitapada yang lain jika kita menggunakan harga atribut tersebut untukmenggunakan harga atribut tersebut untuk menentukan harga atribut yang lain.menentukan harga atribut yang lain.  Simbol yang digunakan adalahSimbol yang digunakan adalah  untukuntuk mewakili functional dependency.mewakili functional dependency.  dibaca secara fungsional menentukandibaca secara fungsional menentukan
  • 6. Functional Dependency (2)Functional Dependency (2)  Notasi: ANotasi: A  BB A dan B adalah atribut dari sebuah tabel.A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan BBerarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanyaatau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yangjika ada 2 baris data dengan nilai A yang sama, maka nilai B juga samasama, maka nilai B juga sama  Notasi: ANotasi: A  BB atau A xatau A x BB Adalah kebalikan dari notasi sebelumnya.Adalah kebalikan dari notasi sebelumnya.
  • 7. Functional Dependency (3)Functional Dependency (3)  Contoh tabel nilaiContoh tabel nilai
  • 8. Functional Dependency (4)Functional Dependency (4)  Functional Dependency dari tabel nilaiFunctional Dependency dari tabel nilai  NIMNIM  NamaMhsNamaMhs Karena untuk setiap nilai nim yang sama, maka nilaiKarena untuk setiap nilai nim yang sama, maka nilai NamaMhs juga samaNamaMhs juga sama  {Matakuliah, NIM}{Matakuliah, NIM}  NilaiHurufNilaiHuruf Karena attribut NilaiHuruf tergantung pada MatakuliahKarena attribut NilaiHuruf tergantung pada Matakuliah dan NIM secara bersama-sama. Dalam arti lain untukdan NIM secara bersama-sama. Dalam arti lain untuk Matakuliah dan NIM yang sama, maka NilaiHuruf jugaMatakuliah dan NIM yang sama, maka NilaiHuruf juga sama, karena Matakuliah dan NIM merupakan keysama, karena Matakuliah dan NIM merupakan key (bersifat unik).(bersifat unik).  MatakuliahMatakuliah  NIMNIM  NIMNIM  NilaiHurufNilaiHuruf
  • 10.  Kelemahan tabel universal :Kelemahan tabel universal :  Pengulangan informasiPengulangan informasi  Potensi inkonsistensi data pada operasiPotensi inkonsistensi data pada operasi pengubahanpengubahan  Tersembunyinya informasi tertentuTersembunyinya informasi tertentu  Tidak normalTidak normal
  • 12. LOSSLESS-JOINLOSSLESS-JOIN DECOMPOSITIONDECOMPOSITION  Tabel hasilTabel hasil dekomposisi /dekomposisi / penguraian haruspenguraian harus dijamin amandijamin aman  Artinya jika tabel-tabelArtinya jika tabel-tabel hasil dekomposisihasil dekomposisi digabung kembali makadigabung kembali maka dapat menghasilkandapat menghasilkan tabel awal sebelumtabel awal sebelum didekomposisididekomposisi  Contoh Lossy-JoinContoh Lossy-Join AA BB CC A1A1 100100 C1C1 A2A2 200200 C2C2 A3A3 300300 C3C3 A4A4 200200 C4C4
  • 13. LOSSLESS JOINLOSSLESS JOIN DECOMPOSITIONDECOMPOSITION  Asumsi 2 KF :Asumsi 2 KF :  AABB  BBCC  KF 2 kurang tepat 2 KF tsbKF 2 kurang tepat 2 KF tsb mengakibatkan adanya dekomposisi tabelmengakibatkan adanya dekomposisi tabel ABC menjadi 2 ????ABC menjadi 2 ????
  • 14. DEPENDENCY PRESERVATIONDEPENDENCY PRESERVATION  Ketika kita melakukan perubahan data,Ketika kita melakukan perubahan data, maka harus bisa dijamin agar perubahanmaka harus bisa dijamin agar perubahan tersebut tidak menghasilkan inkonsistensitersebut tidak menghasilkan inkonsistensi data yang mengakibatkan KF yang telahdata yang mengakibatkan KF yang telah benar menjadi tidak terpenuhibenar menjadi tidak terpenuhi
  • 15.  Bagaimana dengan tabel universal ???Bagaimana dengan tabel universal ???  List KF nya :List KF nya :
  • 16.  Misal tabel MHS dan tabel nilaiMisal tabel MHS dan tabel nilai merupakan tabel hasil dekomposisimerupakan tabel hasil dekomposisi  NILAINILAI (NM_KUL,NIM,NM_MHS,INDEKS_NIL)(NM_KUL,NIM,NM_MHS,INDEKS_NIL)  MHS(NIM,NM_MHS,ALMT_MHS)MHS(NIM,NM_MHS,ALMT_MHS)
  • 17. BCNFBCNF  Suatu tabel dikatakan berada dalamSuatu tabel dikatakan berada dalam BCNF jika untuk semua KF dengan notasiBCNF jika untuk semua KF dengan notasi xx y, mk x harus mrp superkey paday, mk x harus mrp superkey pada tabel tsb, jika tidak mk tabel harustabel tsb, jika tidak mk tabel harus didekomposisi bdskn KF yg ada shg X mjddidekomposisi bdskn KF yg ada shg X mjd superkeysuperkey
  • 18.  Bagaimana dengan tabel universal ???Bagaimana dengan tabel universal ???  Cek KFnya? Apakah x mrp superkey???Cek KFnya? Apakah x mrp superkey???
  • 19. Bentuk-bentuk NormalBentuk-bentuk Normal 1.1. Bentuk Normal Tahap Pertama (1st NormalBentuk Normal Tahap Pertama (1st Normal Form / 1NF)Form / 1NF) 2.2. Bentuk Normal Tahap Kedua (2nd NormalBentuk Normal Tahap Kedua (2nd Normal Form / 2NF)Form / 2NF) 3.3. Bentuk Normal Tahap (3rd Normal Form /Bentuk Normal Tahap (3rd Normal Form / 3NF)3NF) 4.4. Boyce-Code Normal Form (BCNF)Boyce-Code Normal Form (BCNF) 5.5. Bentuk Normal Tahap (4th Normal Form / 4NF)Bentuk Normal Tahap (4th Normal Form / 4NF) 6.6. Bentuk Normal Tahap (5th Normal Form / 5NF)Bentuk Normal Tahap (5th Normal Form / 5NF)
  • 20. Bentuk Normal Tahap PertamaBentuk Normal Tahap Pertama (1st Normal Form / 1NF)(1st Normal Form / 1NF)  Bentuk normal 1NF terpenuhi jika sebuahBentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyaktabel tidak memiliki atribut bernilai banyak ((multivalued attributemultivalued attribute), atribut composite), atribut composite atau kombinasinya dalam domain dataatau kombinasinya dalam domain data yang sama.yang sama.  Setiap atribut dalam tabel tersebut harusSetiap atribut dalam tabel tersebut harus bernilaibernilai atomicatomic (tidak dapat dibagi-bagi(tidak dapat dibagi-bagi lagi)lagi)
  • 21. Contoh 1Contoh 1 Misal data mahasiswa sbb:Misal data mahasiswa sbb: Atau:Atau: Tabel-tabel di atas tidak memenuhi syarat 1NFTabel-tabel di atas tidak memenuhi syarat 1NF
  • 22. Contoh 1Contoh 1 Didekomposisi menjadi:Didekomposisi menjadi:  Tabel MahasiswaTabel Mahasiswa  Tabel HobiTabel Hobi
  • 23. Contoh 2 (composite)Contoh 2 (composite) JadwalKuliahJadwalKuliah KodekulKodekul NamaKulNamaKul DosenDosen KelasKelas JadwalJadwal  Dimana nilai pada atribut jadwal berisi gabungan antara HariDimana nilai pada atribut jadwal berisi gabungan antara Hari dan Jam.dan Jam.  Jika asumsi hari dan jam memegang peranan penting dalamJika asumsi hari dan jam memegang peranan penting dalam sistem basis data, maka atribut Jadwal perlu dipisahsistem basis data, maka atribut Jadwal perlu dipisah sehingga menjadi JadwalHari dan JadwalJam sbb:sehingga menjadi JadwalHari dan JadwalJam sbb: JadwalKuliahJadwalKuliah KodekulKodekul NamaKulNamaKul DoseDose nn KelasKelas JadwalHarJadwalHar ii JadwalJamJadwalJam
  • 24. Bentuk Normal Tahap KeduaBentuk Normal Tahap Kedua (2nd Normal Form)(2nd Normal Form)  Bentuk normal 2NF terpenuhi dalam sebuahBentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF, dantabel jika telah memenuhi bentuk 1NF, dan semua atribut selain primary key, secara utuhsemua atribut selain primary key, secara utuh memiliki Functional Dependency pada primarymemiliki Functional Dependency pada primary keykey  Sebuah tabel tidak memenuhi 2NF, jika adaSebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya (Functionalatribut yang ketergantungannya (Functional Dependency) hanya bersifat parsial saja (hanyaDependency) hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key)tergantung pada sebagian dari primary key)  Jika terdapat atribut yang tidak memilikiJika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, makaketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkanatribut tersebut harus dipindah atau dihilangkan
  • 25. ContohContoh Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF: Mhs_nrMhs_nr pp mhs_nammhs_nam aa mhs_alammhs_alam atat mk_kodemk_kode mk_nammk_nam aa mk_skmk_sk ss nihurufnihuruf  Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yangTidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggap sebagai primary key sedangkan:dianggap sebagai primary key sedangkan: {Mhs_nrp, mk_kode}{Mhs_nrp, mk_kode}  mhs_namamhs_nama {Mhs_nrp, mk_kode}{Mhs_nrp, mk_kode}  mhs_alamatmhs_alamat {Mhs_nrp, mk_kode}{Mhs_nrp, mk_kode}  mk_namamk_nama {Mhs_nrp, mk_kode}{Mhs_nrp, mk_kode}  mk_sksmk_sks {Mhs_nrp, mk_kode}{Mhs_nrp, mk_kode}  nihurufnihuruf  Tabel di atas perlu didekomposisi menjadi beberapa tabel yangTabel di atas perlu didekomposisi menjadi beberapa tabel yang memenuhi syarat 2NFmemenuhi syarat 2NF
  • 26. ContohContoh Functional dependencynya sbb:Functional dependencynya sbb:{Mhs_nrp, mk_kode}  nihuruf (fd1) Mhs_nrp  {mhs_nama, mhs_alamat} (fd2) Mk_kode  {mk_nama, mk_sks} (fd3) fd1 (mhs_nrp, mk_kode, nihuruf)  Tabel Nilai fd2 (Mhs_nrp, mhs_nama, mhs_alamat)  Tabel Mahasiswa fd3 (mk_kode, mk_nama, mk_sks)  Tabel MataKuliah
  • 27. Bentuk Normal Tahap Ketiga (3rdBentuk Normal Tahap Ketiga (3rd Normal Form /3NF)Normal Form /3NF)  Bentuk normal 3NF terpenuhi jika telahBentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jikamemenuhi bentuk 2NF, dan jika tidak adatidak ada atributatribut non primary keynon primary key yang memilikiyang memiliki ketergantungan terhadap atributketergantungan terhadap atribut non primary keynon primary key yang lainnya.yang lainnya.  Untuk setiap Functional Dependency denganUntuk setiap Functional Dependency dengan notasi Xnotasi X  A, maka:A, maka: • X harus menjadi superkey pada tabel tsb.X harus menjadi superkey pada tabel tsb. • Atau A merupakan bagian dari primary key pada tabelAtau A merupakan bagian dari primary key pada tabel tsb.tsb.
  • 28. ContohContoh Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF: Mahasiswa NrpNrp NamaNama Alm_JalaAlm_Jala nn Alm_KotAlm_Kot aa Alm_ProvinAlm_Provin sisi Alm_KodepoAlm_Kodepo ss  karena masih terdapat atributkarena masih terdapat atribut non primary keynon primary key (yakni(yakni alm_kotaalm_kota dandan alm_Provinsialm_Provinsi) yang memiliki ketergantungan terhadap atribut) yang memiliki ketergantungan terhadap atribut non primary keynon primary key yang lain (yakniyang lain (yakni alm_kodeposalm_kodepos):): alm_kodepos  {alm_Provinsi, alm_kota}  Sehingga tabel tersebut perlu didekomposisi menjadi:Sehingga tabel tersebut perlu didekomposisi menjadi:Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos) Kodepos (alm_kodepos, alm_provinsi, alm_kota)
  • 29. Boyce-Code Normal FormBoyce-Code Normal Form (BCNF)(BCNF)  Bentuk BCNF terpenuhi dalam sebuah tabel, jika untukBentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiapsetiap functional dependencyfunctional dependency terhadap setiap atributterhadap setiap atribut atau gabungan atribut dalam bentuk:atau gabungan atribut dalam bentuk: XX  Y makaY maka XX adalahadalah super keysuper key  tabel tersebut harus di-dekomposisi berdasarkantabel tersebut harus di-dekomposisi berdasarkan functional dependencyfunctional dependency yang ada, sehingga X menjadiyang ada, sehingga X menjadi super keysuper key dari tabel-tabel hasil dekomposisidari tabel-tabel hasil dekomposisi  Setiap tabel dalam BCNF merupakan 3NF. Akan tetapiSetiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF .setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency XPerbedaannya, untuk functional dependency X  A,A, BCNF tidak membolehkan A sebagai bagian dari primaryBCNF tidak membolehkan A sebagai bagian dari primary key.key.
  • 30. Bentuk Normal Tahap KeempatBentuk Normal Tahap Keempat (4th Normal Form /4NF)(4th Normal Form /4NF)  Bentuk normal 4NF terpenuhi dalamBentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuksebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak bolehBCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuahmemiliki lebih dari sebuah multivaluedmultivalued atributeatribute  Untuk setiapUntuk setiap multivalued dependenciesmultivalued dependencies (MVD) juga harus merupakan(MVD) juga harus merupakan functionalfunctional dependenciesdependencies
  • 31. ContohContoh Misal, tabel berikut tidak memenuhi 4NF:Misal, tabel berikut tidak memenuhi 4NF: Setiap employee dapat bekerja di lebih dari project dan dapatSetiap employee dapat bekerja di lebih dari project dan dapat memiliki lebih dari satu skill. Untuk kasus seperti ini tabelmemiliki lebih dari satu skill. Untuk kasus seperti ini tabel tersebut harus di-dekomposisi menjadi:tersebut harus di-dekomposisi menjadi: (Employee, Project) (Employee, Skill)
  • 32. Bentuk Normal Tahap KeempatBentuk Normal Tahap Keempat (5th Normal Form /5NF)(5th Normal Form /5NF)  Bentuk normal 5NF terpenuhi jika tidak dapatBentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuahmemiliki sebuah lossless decompositionlossless decomposition menjadimenjadi tabel-tabel yg lebih kecil.tabel-tabel yg lebih kecil.  Jika 4 bentuk normal sebelumnya dibentukJika 4 bentuk normal sebelumnya dibentuk berdasarkanberdasarkan functional dependencyfunctional dependency, 5NF, 5NF dibentuk berdasarkan konsepdibentuk berdasarkan konsep join dependencejoin dependence.. Yakni apabila sebuah tabel telah di-dekomposisiYakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisamenjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabeldigabungkan lagi (join) untuk membentuk tabel semulasemula