Normalisasi
Normalisasi
Normalisasi
Normalisasi adalah proses pembentukan struktur
basis data sehingga sebagian besar ambiguity bisa
dihilangkan.
Digunakan untuk memastikan bahwa database yang
dibuat berkualitas baik
Tahap Normalisasi dimulai dari tahap paling ringan
(1NF) hingga paling ketat (5NF)
Biasanya hanya sampai pada tingkat 3NF atau BCNF
karena sudah cukup memadai untuk menghasilkan
tabel-tabel yang berkualitas baik.
Normalisasi
(Pert. 8)
Oleh :
Umi Laili Yuhana, S.Kom, M.Sc.
Sarwosri, S.Kom, M.T.
Dr. Ir. Siti Rochimah
BASIS DATA TEKNIK INFORMATIKA - ITS GASAL
2010/2011
Normalisasi
2.
3.
Normalisasi
Tabel Universal
Tabel Universal
02/12/2010
Functional Dependency
Functional Dependency
Notasi: A B
A dan B adalah atribut dari sebuah tabel. Berarti
secara fungsional A menentukan B atau B tergantung
pada A, jika dan hanya jika ada 2 baris data dengan
nilai A yang sama, maka nilai B juga sama
Notasi: A B
atau A x B
Adalah kebalikan dari notasi sebelumnya.
Functional Dependency
Bentuk-bentuk Normal
1. Bentuk Normal Tahap Pertama (1st Normal Form /
1NF)
2. Bentuk Normal Tahap Kedua (2nd Normal Form /
2NF)
3. Bentuk Normal Tahap (3rd Normal Form / 3NF)
4. Boyce-Code Normal Form (BCNF)
5. Bentuk Normal Tahap (4th Normal Form / 4NF)
6. Bentuk Normal Tahap (5th Normal Form / 5NF)
Nrp namaMhs
Karena untuk setiap nilai nrp yang sama, maka nilai namaMhs
juga sama.
{Namakul, nrp} NiHuruf
Karena attribut Nihuruf tergantung pada Namakul dan nrp secara
bersama-sama. Dalam arti lain untuk Namakul dan nrp yang sama,
maka NiHuruf juga sama, karena Namakul dan nrp merupakan key
(bersifat unik).
NRP NamaKul
Nrp NiHuruf
10
NRP
Nama
Hobi
12020001
Heri Susanto
12020013
Siti Zulaiha
12020018
Heri Susanto
12020015
Dini Susanti
NRP
Atau:
Nama
Hobi1
12020001
Heri
Susanto
Sepakbola
12020013
12020018
Heri
Susanto
Membuat Program
Komputer
12020015
Dini
Susanti
Menjahit
Hobi2
Membaca Komik
Hobi3
Berenang
Membuat Program
Komputer
Membuat Roti
11
12
*Multi value atribut adalah atribut yang memiliki lebih dari satu nilai
02/12/2010
Contoh 2 (composite)
JadwalKuliah
NRP
Nama
Hobi
12020001
Heri Susanto
Sepakbola
12020001
Heri Susanto
Membaca Komik
12020001
Heri Susanto
Berenang
12020013
Siti Zulaiha
Memasak
12020013
Siti Zulaiha
12020018
Heri Susanto
12020015
Dini Susanti
Menjahit
12020015
Dini Susanti
Membuat Roti
Kodekul
NamaKul
Dosen
Kelas
Jadwal
JadwalKuliah
Kodekul
BASIS DATA TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
NamaKul
JadwalHari
JadwalJam
14
Contoh
Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:
Mhs_nrp
mhs_nama
mhs_alamat
15
mk_kode
mk_nama
mk_sks
nihuruf
Kelas
13
Dosen
mhs_nama
mhs_alamat
mk_nama
mk_sks
nihuruf
16
Contoh
Functional dependencynya sbb:
{Mhs_nrp, mk_kode} nihuruf
Mhs_nrp
{mhs_nama, mhs_alamat}
Mk_kode
{mk_nama, mk_sks}
fd1
fd2
fd3
(fd1)
(fd2)
(fd3)
17
18
02/12/2010
Contoh
No Urut
Kode item
Nama item
5001
001
P1
Pensil
5001
002
5002
001
5003
001
P2
P1
P2
Buku Tulis
Tabel Pesanan
No Pesanan
No Urut
Kode item
Primary Key:
No Pesanan + No Urut
5001
001
P1
5001
002
P2
5002
001
P1
5003
001
P2
Pensil
Buku Tulis
Tabel Barang
Kode item
Nama item
P1
Pensil
P2
Buku Tulis
19
20
Contoh BCNF
Boyce-Code Normal Form (BCNF)
Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap
functional dependency terhadap setiap atribut atau gabungan
atribut dalam bentuk:
X Y maka X adalah super key
tabel tersebut harus di-dekomposisi berdasarkan functional
dependency yang ada, sehingga X menjadi super key dari
tabel-tabel hasil dekomposisi
Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap
3NF belum tentu termasuk BCNF . BCNF merupakan perbaikan
bagi 3NF yang anomali.
Siswa
Kursus
Tutor
Anwar
Bahasa Perancis
Pierre
Anwar
Bahasa Inggris
Richard
Budi
Bahasa Perancis
Pierre
Cecep
Bahasa Inggris
Suzanne
21
Tutor
Anwar
Pierre
Anwar
Richard
Budi
Pierre
Cecep
Suzanne
Tutor
Kursus
Pierre
Bahasa Perancis
Richard
Bahasa Inggris
Pierre
Bahasa Perancis
Suzanne
Bahasa Inggris
22
Memenuhi BCNF
Siswa
TUTOR
KURSUS
Hubungan ketergantungan
Jika baris Cecep dihapus,
Informasi suzanne sebagai
tutor bahasa inggris akan hilang
Siswa + Kursus
Kursus + Tutor
BASIS DATA TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
SISWA
23
24
02/12/2010
Contoh
Misal, tabel berikut tidak memenuhi 4NF:
Nama Pegawai
Proyek
Skill
Jim
11, 6
Komunikasi,
pemrogram mahir,
negosiasi
Mary
5, 11
Analisis, Desain
25
26
Contoh
Dealer
Distributor
Kendaraan
PT Sumber Jaya
Nissan
Truk Nissan
PT Sumber Jaya
Toyota
Toyota Kijang
PT Sumber Jaya
Toyota
Truk Dyna
PT Asterindo
Nissan
Sedan Nissan
Latihan Normalisasi
memenuhi 5NF
27
Pembahasan(1)
NoOrder TglOrder
Item1
Item2
Item3
Total
TR001
10/01/20
06
P1
P2
P3
500.000
TR002
15/02/20
06
P3
P5
18/03/20
06
P1
TR003
P2
300.000
200.000
28
29
NoOrder
TglOrder
Item
Total
TR001
10/01/2006
P1
500.000
TR001
10/01/2006
P2
500.000
TR001
10/01/2006
P3
500.000
TR002
15/02/2006
P3
300.000
TR002
15/02/2006
P5
300.000
TR003
18/03/2006
P1
200.000
TR003
18/03/2006
P2
200.000
30
02/12/2010
Soal Latihan(2)
Pembahasan(2)
Tabel soal latihan 2 sudah memenuhi normalisasi pertama
dan kedua tetapi melanggar normaslisasi tahap 3
Bentuk normalisasi kedua dari tabel tersebut adalah
Relasi: Proyek
Relasi: Pegawai
KodeProyek
NamaPegawai
Bagian
P001
Adi
EDP
P002
Bima
HRD
P002
Adi
EDP
KodeProyek
NamaPegawai
NamaPegawai
Bagian
P003
Bima
HRD
P001
Adi
Adi
EDP
P003
Candra
Produksi
P002
Bima
Bima
HRD
P002
Adi
Candra
Produksi
P003
Bima
P003
Candra
31
Soal Latihan(3)
32
Pembahasan (3)
NRP
Nama
MataKuliah
NIP
Dosen
5103100101
Ali
Basis Data
320001123
Ir.X
5103100102
Sita
Basis Data
320001123
Ir.X
5103100102
Sita
RPL
320011133
5103100103
Adi
AI
320021010
Relasi: Mahasiswa1
NRP
Nama
NRP
Mata Kuliah
Ir.Y
5103100101
Ali
5103100101
Basis data
Ir.Z
5103100102
Sita
5103100102
Basis data
5103100103
Adi
5103100102
RPL
5103100103
AI
Relasi: Mahasiswa3
33
Pembahasan (3)
Mata Kuliah
NIP
Dosen
Basis Data
320001123
Ir. X
RPL
320001133
Ir. Y
AI
320021010
Ir. Z
BASIS DATA TEKNIK INFORMATIKA - ITS
GASAL 2010/2011
34
Referensi
NIP
Dosen
Basis Data
320001123
Basis Data
320001123
Ir. X
RPL
320001133
RPL
320001133
Ir. Y
AI
320021010
AI
320021010
Ir. Z
Relasi: Dosen
NIP
Dosen
320001123
Ir. X
320011133
Ir. Y
320021010
Ir. Z
35
36