Anda di halaman 1dari 20

SISTEM BASIS DATA

3 SKS
Oleh :
Darmin, S.Kom. M.Kom
NIDN 0311127302

Institut Sains dan Teknologi Al-Kamal


LOGO
NORMALISASI
Tujuan Instruksional Umum
(TIU)
Mahasiswa dapat melakukan penormalan data

Tujuan Pembelajaran
1. Memahami pentingnya normlisasi
2. Memahami normalisasi bentuk pertama (1NF)
3. Memahami aturan pembuatan normalisasi (1NF)
4. Memahami normalisasi bentuk kedua (2NF)
5. Memahami aturan normalisasi (2NF)
6. Memahami normalisasi bentuk ketiga (3NF)
7. Memahami normalisasi Boyce-Codd Normal Form (BCNF)
Normalisasi

Normalisasi

Teknik/pendekatan yang
digunakan dalam membangun
disain lojik database relasional
melalui organisasi himpunan data
dengan tingkat ketergantungan
fungsional dan keterkaitan yang
tinggi sedemikian sehingga
menghasilkan struktur tabel yang
normal.
Normalisasi

Ketergantungan Fungsional
(Functional Dependency)

Tabel Nilai

Nama_kul Nim Nim Indeks_nilai


Normalisasi

Normalisasi dengan Dalam perspektif Normalisasi, sebuah


Ketergantungan basis data dapat dikatakan baik, jika setiap
Fungsional tabel yang menjadi unsur pembentuk basis
data tersebut juga telah berada dalam
keadaan baik, atau normal

NIM Modul Grade


Workshop
P11.2004.0129 VB.Net A
NIM Modul Biaya Grade
P11.2004.0129 VB.Net 250000 A P11.2004.0130 Prolog A

P11.2004.0130 Prolog 100000 A P11.2004.0129 Prolog B


P11.2004.0129 Prolog 100000 B P11.2004.0201 Delphi 6 A
P11.2004.0201 Delphi 6 150000 A P11.2004.0250 VB.Net B
P11.2004.0250 VB.Net 250000 B
Modul Biaya
VB.Net 250000
Lebih Baik Prolog 100000
maka normal Delphi 6 150000
Normalisasi
NIM Modul Grade
Workshop
P11.2004.0129 VB.Net A
NIM Modul Biaya Grade
P11.2004.0129 VB.Net 250000 A P11.2004.0130 Prolog A

P11.2004.0130 Prolog 100000 A P11.2004.0129 Prolog B


P11.2004.0129 Prolog 100000 B P11.2004.0201 Delphi 6 A
P11.2004.0201 Delphi 6 150000 A P11.2004.0250 VB.Net B
P11.2004.0250 VB.Net 250000 B
Modul Biaya
VB.Net 250000
Lebih Baik Prolog 100000
maka normal Delphi 6 150000

Kriteria Tabel dikategorikan Baik, yaitu:


1. Jika ada dikomposisi (penguraian) tabel, maka dikomposisinya harus
dijamin aman.
2. Terpelihara ketergantungan fungsional pada saat perubahan data.
3. Tidak melanggar Boyce-Code Normal Form (BCNF)
Normalisasi

Level Normalisasi

1. Bentuk normal tahap pertama (1NF)


2. Bentuk normal tahap kedua (2NF)
3. Bentuk normal tahap ketiga (3NF)
4. Bentuk normal tahap keempat (4NF)
5. Bentuk normal tahap kelima (5NF)
First Normal Form (1NF)

Tabel : Sales
IDSales NamaSales Telepon non-atomic
ADN006 Yeni, SE 3517261, 3520165
ADN007 Memey 4744621,08122861427
Unnormalized
ADN008 Tina 08566241521
ADN009 Ir. Yanto 7265122, 7123910 Not 1NF
ADN010 Made 6723192
IDSales NamaSales Telepon
ADN006 Yeni, SE 3517261
ADN006 Yeni, SE 3520165
1NF ADN007 Memey 4744621
ADN007 Memey 08122861427
ADN008 Tina 08566241521
ADN009 Ir. Yanto 7265122
ADN009 Ir. Yanto 7123910
ADN010 Made 6723192
Second Normal Form (2NF)

Diketahui Workshop = (NIM,Modul,Biaya,Grade)


Peserta Workshop
Key : NIM+Modul
NIM Modul Biaya Grade
FD : Modul  Biaya
(Biaya ditentukan oleh Modul yang
diambil mahasiswa)
Tabel biaya peserta workshop
 1NF
NIM Modul Biaya Grade
 Not 2NF
P11.2004.0129 VB.Net 250000 A Sebab dalam tabel ini,
P11.2004.0130 Prolog 100000 A Biaya tidak bergantung penuh
pada atribut kunci (NIM,Modul)
P11.2004.0129 Prolog 100000 B
P11.2004.0201 Delphi 6 150000 A
P11.2004.0250 VB.Net 250000 B
Second Normal Form (2NF)

NIM Modul Biaya Grade

(NIM,Modul) = key
(Modul)  Biaya (partial) Eliminate
(NIM,Modul)  Grade (full)
Membuat Dekomposisi
Works1 = (NIM,Modul,Grade)
NIM Modul Biaya Grade Works2 = (Modul,Biaya)
Fully Dependency
(ketergantungan penuh)
Second Normal Form (2NF)

NIM Modul Grade


Workshop
P11.2004.0129 VB.Net A
NIM Modul Biaya Grade
P11.2004.0129 VB.Net 250000 A P11.2004.0130 Prolog A

P11.2004.0130 Prolog 100000 A P11.2004.0129 Prolog B


P11.2004.0129 Prolog 100000 B P11.2004.0201 Delphi 6 A
P11.2004.0201 Delphi 6 150000 A P11.2004.0250 VB.Net B
P11.2004.0250 VB.Net 250000 B
Works1

Modul Biaya
Lebih Baik VB.Net 250000
maka normal Prolog 100000
Delphi 6 150000

Works2
Third Normal Form (3NF)

Misal diketahui struktur informasi dari suatu dokumen supplier :


S Status City PQ Akan dibentuk suatu tabel dengan skema
P Qty TPS=(S,Status,City,P,Qty)
S1 20 LONDON P1 300
dengan (S,P) = primary key
P2 200
P3 400 dan berlaku FD :
P4 200 SStatus
P5 100 SCity
P6 100 CityStatus
S2 10 PARIS P1 300
Lakukan normalisasi dari 1NF hingga 3NF.
P2 400
S3 10 PARIS P2 200
S4 20 LONDON P2 200
P4 399
P5 400
Third Normal Form (3NF)

TPS
S Status City P Qty  1NF
S1 20 LONDON P1 300  Not 2NF
S1 20 LONDON P2 200 Problem :
S1 20 LONDON P3 400  Redundansi  inconsistency
S1 20 LONDON P4 200 low speed process
S1 20 LONDON P5 100  Anomaly (aneh) :
S1 20 LONDON P6 100 S(Status,City) tapi kita tidak bisa insert
S2 10 PARIS P1 300 data (S5,30,JAKARTA) tanpa diikuti data
S2 10 PARIS P2 400
P (khususnya) dan Q. Menghapus 1 baris
data akan jg merusak keutuhan informasi.
S3 10 PARIS P2 200
 Solusi :
S4 20 LONDON P2 200
Dekomposisi menjadi :
S4 20 LONDON P4 399 TPS1 dan TPS2
S4 20 LONDON P5 400
Third Normal Form (3NF)

TPS TPS1
S Status City P Qty  1NF
S Status City
S1 20 LONDON P1 300 S1 20 LONDON
 2NF
S1 20 LONDON P2 200 S2 10 PARIS  Not 3NF
S1 20 LONDON P3 400 S3 10 PARIS SCity
S1 20 LONDON P4 200 S4 20 LONDON CityStatus
S1 20 LONDON P5 100 TPS2  1NF
S1 20 LONDON P6 100 S P Qty  2NF
S2 10 PARIS P1 300 S1 P1 300  3NF
S2 10 PARIS P2 400 S1 P2 200 redundansi partial
S3 10 PARIS P2 200 S1 P3 400  not potensial
S4 20 LONDON P2 200 S1 P4 200  lebih baik dari
S4 20 LONDON P4 399 S1 P5 100 sebelumnya yg
S4 20 LONDON P5 400 S1 P6 100 berlebihan kita dpt
S2 P1 300 menghilangkan
S2 P2 400 semua yg berlebihan
S3 P2 200 supaya lebih minimal
S4 P2 200
S4 P4 399
S4 P5 400
Third Normal Form (3NF)

TPS1-1 TPS1-2 TPS2


S City City Status S P Qty  1NF
S1 LONDON LONDON 20 S1 P1 300  2NF
 3NF
S2 PARIS PARIS 10 S1 P2 200
S3 PARIS S1 P3 400
 1NF
S4 LONDON  2NF S1 P4 200
 3NF S1 P5 100
 1NF
S1 P6 100
 2NF
 3NF S2 P1 300
S2 P2 400
S3 P2 200
Lebih Baik S4 P2 200
maka normal S4 P4 399
S4 P5 400
Boyce Codd Normal Form (BCNF)

Students Books
sid name age bid title year

53666 Jones 18 B001 MySQL 2002

53668 Smith 18 B002 Algorithm 2003

53669 Melissa 17 B003 Visual Foxpro 6.0 2003

53670 Hilden 19 B004 Visual basic 6.0 2005

Students=(sid, name, age) Books=(bid, title, year)


FD : sid  name, age FD : bid  title, year
• BCNF, sebab sid superkey • BCNF, sebab bid superkey
Pinjam
idpinjam sid bid date Pinjam=(idpinjam, sid, bid, date)
P-01 53666 B002 10/11/2005
FD : idpinjam  bid, date
• Bukan BCNF, sebab idpinjam bukan superkey
P-02 53668 B001 10/11/2005
idpinjam  sid
P-03 53668 B004 11/12/2005
P-04 53670 B002 14/11/2005
Boyce Codd Normal Form (BCNF)

Pinjam1
idpinjam sid
Pinjam FD trivial
P-01 53666
idpinjam sid bid date  BCNF
P-02 53668
P-01 53666 B002 10/11/2005
P-03 53668
P-02 53668 B001 10/11/2005
P-04 53670
P-03 53668 B004 11/12/2005
P-04 53670 B002 14/11/2005 Didekomposisi
Pinjam2
Pinjam=(idpinjam, sid, bid, date) idpinjam bid date
FD : idpinjam  bid, date
Bukan BCNF, sebab idpinjam bukan P-01 B002 10/11/2005
superkey P-02 B001 10/11/2005
idpinjam  sid
P-03 B004 11/12/2005
P-04 B002 14/11/2005

idpinjam  bid, date


idpinjam superkey  BCNF
Perbandingan BCNF dan 3NF

 Contoh kasus redundansi pada 3NF


Jadwal = (Nim,Modul,Dosen)
FD = {Dosen  Modul}
Relasi ini memenuhi 3NF, karena tidak ada ketergantungan transitif.
Tetapi tidak memenuhi BCNF karena dari Dosen  Modul maka Dosen
bukan candidate key.
Alternatif yang dilakukan adalah dekomposisi tabel menjadi :
NIM Modul Dosen NIM Dosen Dosen Modul
P11.2004.0129 VB.Net Ajib P11.2004.0129 Ajib Ajib VB.Net
P11.2004.0130 Prolog Aris P11.2004.0130 Aris Aris Prolog
P11.2004.0129 VB Net Ajib P11.2004.0129 Ajib Jono Prolog
P11.2004.0201 VB Net Budi P11.2004.0201 Budi Budi VB.Net
P11.2004.0250 Prolog Jono P11.2004.0250 Jono
P11.2004.0260 VB.Net Budi P11.2004.0260 Budi

NOT BCNF BCNF


Tahapan Normalisasi

Bentuk tidak normal


Entity Set
Menghilangkan perulangan group

First Normal
Form
Menghilangkan
ketergantungan sebagian
Second
Normal Form
Menghilangkan
Praktisi database kebanyakan ketergantungan transitif
menganggap bahwa tingkatan Third Normal
normalisasi hingga BCNF atau Form
3NF dianggap sudah cukup
untuk meminimalisasi masalah Menghilangkan anomali-
dalam desain database anomali hasil
Boyce-Codd
(redundansi,lossless,dependency ketergantungan fungsional
preservation) Normal Form
TERIMA KASIH

Anda mungkin juga menyukai