Anda di halaman 1dari 3

Unnormalized

Not 1NF
normalisasi First Normal Form (1NF) Second Normal Form (2NF)
Tabel : Buku repeated
Normalisasi : Teknik/pendekatan yang digunakan dalam membangun
disain lojik database relasional melalui organisasi himpunan data dengan
ISBN Thn_Terbit ID_Pengarang Nama_Pengarang ID_Pengarang Nama_Pengarang Bagaimana bila R = (A,B,C,D,E) tetapi dengan FD :
12-1202-19222 1992 K0121 ArisM K1021 KosimP (A,B)  (C,D) dan B  E. Apakah memenuhhi 2NF ?
tingkat ketergantungan fungsional dan keterkaitan yang tinggi sedemikian 11-1090-29101 2001 K1021 KosimP
sehingga menghasilkan struktur tabel yang normal. 11-1090-29102 2001 K2091 KOdelia K0121 Aris M Jelas bahwa R bukan 2NF karena ada atribut E yang bergantung
12-1201-90871 2002 K2092 Renaldi K2091 KOdelia
Tujuan : hanya pada atribut B saja dan bukan terhadap (A,B).
13-2089-12910 2001 K2019 Samsuri J
Dari FD : (A,B)  (C,D) juga mencerminkan bahwa hanya C dan D
 Minimalisasi redundansi (pengulangan data)
ISBN Thn_Terbit ID_Pengarang Nama_Pengarang saja yang bergantung secara fungsional terhadap (A,B), tidak untuk E.
 Memudahkan identifikasi entitas 12-1202-19222 1992 K0121 Aris M Jadi bukan 2NF.
 Mencegah terjadinya anomali 12-1202-19222 1992 K1021 Kosim P
11-1090-29101 2001 K1021 Kosim P 1NF
Beberapa bentuk normal (normal forms, NF) : Untuk mengubah menjadi 2NF, lakukan dekomposisi menjadi :
11-1090-29102 2001 K2091 K Odelia
 1NF, 2NF, 3NF, BCNF R1 = (A,B,C,D) dan R2 = (B,E). Tampak R1 dan R2 memenuhi 2NF.
11-1090-29102 2001 K0121 Aris M
based on keys and functional dependencies 12-1201-90871 2002 K2092 Renaldi
 4NF, 5NF 12-1201-90871 2002 K2091 K Odelia
13-2089-12910 2001 K2019 Samsuri J
based on keys and multi-valued dependencies)

1 4 7

First Normal Form (1NF) Second Normal Form (2NF) Second Normal Form (2NF)

 Suatu relasi disebut memenuhi bentuk normal pertama (1NF)  Suatu relasi disebut memenuhi bentuk normal kedua (2NF) Diketahui Workshop = (NIM,Modul,Biaya,Grade)
jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki jika dan hanya jika :
Peserta Workshop
nilai tunggal dan tidak ada pengulangan grup atribut dalam baris. 1. memenuhi 1NF
Key : NIM+Modul
2. setiap atribut yang bukan kunci utama tergantung secara NIM Modul Biaya Grade
 Bentuk 1NF tidak boleh mengandung grup atribut yang berulang. fungsional terhadap semua atribut kunci dan bukan hanya FD : Modul  Biaya
sebagian atribut kunci (fully functionally dependent). (Biaya ditentukan oleh Modul yang
 Tujuan membentuk 1NF : diambil mahasiswa)
::. semantik tabel menjadi lebih eksplisit (say anything once).  Untuk normalisasi ke bentuk 2NF, maka tabel 1NF didekomposisi Tabel biaya peserta workshop
 1NF
::. semua operator aljabar relasional dapat diaplikasikan pada tabel. menjadi beberapa tabel yang masing-masing memenuhi 2NF. NIM Modul Biaya Grade
 Not 2NF
 Bila terdapat ketergantungan parsial maka : eliminate. P11.2004.0129 VB.Net 250000 A Sebab dalam tabel ini,
P11.2004.0130 Prolog 100000 A Biaya tidak bergantung penuh
 Tujuan membentuk 2NF : pada atribut kunci (NIM,Modul)
P11.2004.0129 Prolog 100000 B
:: semantik tabel 2NF menjadi lebih eksplisit (fully FD)
:: mengurangi update anomali yang masih mungkin terjadi pada 1NF P11.2004.0201 Delphi 6 150000 A
P11.2004.0250 VB.Net 250000 B

2 5 8

First Normal Form (1NF) Second Normal Form (2NF) Second Normal Form (2NF)
Tabel : Sales Contoh :
IDSales NamaSales Telepon non-atomic Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key)
ADN006 Yeni, SE 3517261, 3520165 dengan FD : A,B  C,D,E maka tabel R memenuhi 2NF sebab : NIM Modul Biaya Grade
ADN007 Memey 4744621,08122861427 A,B  C,D,E berarti :
Unnormalized
ADN008 Tina 08566241521 A,B  C,
Not 1NF
ADN009 Ir. Yanto 7265122, 7123910 A,B  D dan
ADN010 Made 6723192 (NIM,Modul) = key
A,B  E
(Modul)  Biaya (partial) Eliminate
IDSales NamaSales Telepon Jadi semua atribut bukan kunci utama tergantung penuh pada (A,B).
ADN006 Yeni, SE 3517261
(NIM,Modul)  Grade (full)
ADN006 Yeni, SE 3520165 Make Decomposition :
1NF ADN007 Memey 4744621 Works1 = (NIM,Modul,Grade)
ADN007 Memey 08122861427 NIM Modul Biaya Grade Works2 = (Modul,Biaya)
ADN008 Tina 08566241521
ADN009 Ir. Yanto 7265122 Fully Dependency
ADN009 Ir. Yanto 7123910
ADN010 Made 6723192

3 6 9

1
Second Normal Form (2NF) Third Normal Form (3NF) Third Normal Form (3NF)
NIM Modul Grade
Workshop Contoh : TPS
P11.2004.0129 VB.Net A Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key)
NIM Modul Biaya Grade S Status City P Qty  1NF
P11.2004.0130 Prolog A dengan FD : A,B  C,D,E dan C  D,E maka R bukan 3NF sebab :
P11.2004.0129 VB.Net 250000 A S1 20 LONDON P1 300  Not 2NF
Atribut D dan E (bukan kunci utama) bergantung secara fungsional
P11.2004.0130 Prolog 100000 A P11.2004.0129 Prolog B pada C (yang juga bukan kunci utama). S1 20 LONDON P2 200
Problem :
P11.2004.0129 Prolog 100000 B P11.2004.0201 Delphi 6 A S1 20 LONDON P3 400
 Redundansi  inconsistency
P11.2004.0201 Delphi 6 150000 A Melalui FD : S1 20 LONDON P4 200
P11.2004.0250 VB.Net B low speed process
 Diketahui A,B  C,D,E. S1 20 LONDON P5 100
P11.2004.0250 VB.Net 250000 B  Anomaly :
Works1 Karena sifat refleksif maka A,BA,B. Sehingga A,BA,B,C,D,E S1 20 LONDON P6 100
(A,B) : Superkey. S(Status,City) tapi kita tidak bisa insert
S2 10 PARIS P1 300 data (S5,30,JAKARTA) tanpa diikuti data
Modul Biaya  Diketahui CD,E.
More Better VB.Net 250000 Karena sifat refleksif maka CC. Sehingga CC,D,E. S2 10 PARIS P2 400 P (khususnya) dan Q. Menghapus 1 baris
Karena C A,B,C,D,E maka C bukan superkey. S3 10 PARIS P2 200 data akan jg merusak keutuhan informasi.
Then Prolog 100000  Tidak memenuhi definisi 3NF. Jadi R bukan 3NF. S4 20 LONDON P2 200  Solusi :
1NF Delphi 6 150000 S4 20 LONDON P4 399 Dekomposisi menjadi :
Agar R memenuhi 3NF maka didekomposisi menjadi : S4 20 LONDON P5 400 TPS1 dan TPS2
Works2 R1=(A,B,C) dan R2=(C,D,E) sehingga R1 dan R2 memenuhi 3NF.

10 13 16

Third Normal Form (3NF) Third Normal Form (3NF) Third Normal Form (3NF)
TPS1 TPS2
 Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) FD : A,B  C,D,E berarti A,B  C ; C  D,E ; A,B  D,E S Status City  1NF S P Qty  1NF
jika dan hanya jika : A,B  D reduce S1 20 LONDON  2NF S1 P1 300  2NF
1. memenuhi 2NF A,B  E reduce S2 10 PARIS  Not 3NF (trans.) S1 P2 200  3NF
2. setiap atribut yang bukan kunci tidak tergantung secara S3 10 PARIS SCity S1 P3 400 redundansi partial
fungsional terhadap atribut bukan kunci yang lain dalam relasi tsb Dekomposisinya : R1=(A,B,C) ; FD : (A,B)C
S4 20 LONDON CityStatus S1 P4 200  not potensial
R2=(C,D,E) ; FD : CD,E
(tidak terdapat ketergantungan transitif pada atribut bukan kunci).  Sekarang kita dapat menambah S1 P5 100  better then
R S1 P6 100
data (S5,30,JAKARTA) dgn aman previous redundant
Another Definition : A B C D E  Tapi masih ada anomaly : S2 P1 300 We may not eliminate
Karena CityStatus S2 P2 400
all redundant but we
 Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) maka kita tidak bisa entry S3 P2 200
make its minimize
jika dan hanya jika setiap FD nontrivial : X  A, data City baru sebelum Status S4 P2 200
dimana X dan A atribut (atau kompositnya), memenuhi salah satu punya nilai. Penghapusan 1 baris S4 P4 399
kondisi : A B C C D E S4 P5 400
sebagian data City juga bisa
1. X adalah superkey merusak keutuhan informasi S.
2. A merupakan anggota candidate key (A disebut prime attribute)  Selain itu, masih ada redundansi
R1 R2
pada Status dan City
11 14 17

Third Normal Form (3NF) Third Normal Form (3NF) Third Normal Form (3NF)

 Jika suatu relasi sudah memenuhi 2NF tapi tidak memenuhi 3 NF, Misal diketahui struktur informasi dari suatu dokumen supplier : TPS1-1 TPS1-2 TPS2
maka untuk normalisasi ke bentuk 3NF, tabel 2NF didekomposisi S Status City PQ Akan dibentuk suatu tabel dengan skema S City P Qty  1NF
City Status S
menjadi beberapa tabel hingga masing-masing memenuhi 3NF. TPS=(S,Status,City,P,Qty) P1 300  2NF
P Qty
S1 LONDON LONDON 20 S1
 Tujuan membentuk 3NF : S1 20 LONDON P1 300
P2 200
dengan (S,P) = primary key S2 PARIS PARIS 10 S1 P2 200  3NF
:: semantik tabel 3NF menjadi lebih eksplisit dan berlaku FD :
(fully FD hanya pada primary key).
P3 400 S3 PARIS S1 P3 400
P4 200 SStatus  1NF
:: menghindari update anomali yang masih mungkin terjadi pada 2NF. S4 LONDON S1 P4 200
P5 100 SCity  2NF
 3NF S1 P5 100
P6 100 CityStatus  1NF
Note : S2 10 PARIS P1 300 S1 P6 100
P2 400
Lakukan normalisasi dari 1NF hingga 3NF.  2NF
Jika suatu relasi memenuhi 2NF dan hanya memiliki tepat satu atribut S2 P1 300
S3 10 PARIS P2 200  3NF
yang bukan kunci utama maka relasi tsb memenuhi 3NF S2 P2 400
S4 20 LONDON P2 200
P4 399 S3 P2 200
P5 400 S4 P2 200
S4 P4 399
S4 P5 400

12 15 18

2
1NF

2NF
Boyce Codd Normal Form (BCNF) Boyce Codd Normal Form (BCNF) SUMMARY
3NF
Students Books
 Suatu relasi disebut memenuhi BCNF BCNF
sid name age bid title year
jika dan hanya jika setiap determinan yang ada pada relasi tersebut B001 MySQL 2002 4NF
53666 Jones 18
adalah candidate key. 53668 Smith 18 B002 Algorithm 2003
Definisi yang lain : 53669 Melissa 17 B003 Visual Foxpro 6.0 2003 5NF
Suatu relasi disebut memenuhi BCNF jika untuk setiap FD nontrivial : 53670 Hilden 19 B004 Visual basic 6.0 2005
X  A atribut X adalah superkey.
 Untuk normalisasi ke bentuk BCNF, maka tabel 3NF didekomposisi Students=(sid, name, age) Books=(bid, title, year)
FD : sid  name, age FD : bid  title, year
menjadi beberapa tabel yang masing-masing memenuhi BCNF.
• BCNF, sebab sid superkey • BCNF, sebab bid superkey
 Tujuan membentuk BCNF :
:: semantik multiple candidate key menjadi lebih eksplisit Pinjam
Pinjam=(idpinjam, sid, bid, date)
(FD hanya pada candidate key). idpinjam sid bid date
FD : idpinjam  bid, date
:: menghindari update anomali yang masih mungkin terjadi pada 3NF. P-01 53666 B002 10/11/2005
• Bukan BCNF, sebab idpinjam bukan superkey
P-02 53668 B001 10/11/2005
idpinjam  sid
Dari definisi 3NF dan BCNF, maka apabila suatu relasi memenuhi P-03 53668 B004 11/12/2005

BCNF pasti memenuhi 3NF, tetapi belum tentu sebaliknya. P-04 53670 B002 14/11/2005 LEVEL NORMALISASI

19 22 25

Boyce Codd Normal Form (BCNF) Boyce Codd Normal Form (BCNF)
Pinjam
Contoh : idpinjam sid bid date
Diketahui tabel R=(A,B,C) P-01 53666 B002 10/11/2005
dengan FD : A  B dan B  C maka R bukan BCNF, sebab : P-02 53668 B001 10/11/2005
 A superkey ? P-03 53668 B004 11/12/2005
AB (diketahui) P-04 53670 B002 14/11/2005
AB dan BC maka AC (transitif)
AA (refleksif) Didekomposisi menjadi :
Sehingga A(A,B,C) atau AR. Jadi A superkey. Pinjam1 Pinjam2
 B superkey ? idpinjam sid idpinjam bid date

BC (diketahui) P-01 53666 P-01 B002 10/11/2005

BB (refleksif) P-02 53668 P-02 B001 10/11/2005

Tapi BA. Sehingga BA,B,C atau B bukan superkey. P-03 53668 P-03 B004 11/12/2005

Agar R memenuhi BCNF maka didekomposisi menjadi : P-04 53670 P-04 B002 14/11/2005

R1=(A,B) ; FD : A  B dan FD trivial idpinjam  bid, date


R2=(B,C) ; FD : B  C.  BCNF idpinjam superkey
sehingga R1 dan R2 masing-masing memenuhi BCNF. Sebab A dan B  BCNF
dua-duanya sekarang menjadi superkey. 20 23

Boyce Codd Normal Form (BCNF) Comparison of BCNF And 3NF

Contoh :  Contoh kasus redundansi pada 3NF


Jadwal = (Nim,Modul,Dosen)
Diketahui tabel R=(A,B,C)
FD = {Dosen  Modul}
dengan FD : AB  C dan C  B. Apakah : Relasi ini memenuhi 3NF, karena tidak ada ketergantungan transitif.
 3NF ? Tetapi tidak memenuhi BCNF karena dari Dosen  Modul maka Dosen
 BCNF ? bukan candidate key.
Alternatif yang dilakukan adalah dekomposisi tabel menjadi :
 R memenuhi 3NF karena :
NIM Modul Dosen NIM Dosen Dosen Modul
ABC ; maka AB  ABC, atau A  R. Jadi AB superkey dari R
CB ; maka AC  AB, atau AC  ABC dan AC  R. P11.2004.0129 VB.Net Ajib P11.2004.0129 Ajib Ajib VB.Net

Jadi AC juga superkey (sekaligus juga candidate key) dari R P11.2004.0130 Prolog Aris P11.2004.0130 Aris Aris Prolog
Karena AB superkey dan C subset candidate key maka P11.2004.0129 VB Net Ajib P11.2004.0129 Ajib Jono Prolog
R memenuhi 3NF P11.2004.0201 VB Net Budi P11.2004.0201 Budi Budi VB.Net
 R bukan BCNF karena :
P11.2004.0250 Prolog Jono P11.2004.0250 Jono
AB superkey tetapi C bukan superkey.
P11.2004.0260 VB.Net Budi P11.2004.0260 Budi

21 NOT BCNF BCNF 24

Anda mungkin juga menyukai