Anda di halaman 1dari 6

02/12/2010

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.

Jika kriteria ketiga (BCNF) tidak dapat


terpenuhi, maka paling tidak tabel tersebut
tidak melanggar Bentuk Normal tahap ketiga
(3rd Normal Form / 3NF).

Jika ada dekomposisi (penguraian) tabel, maka


dekomposisinya harus dijamin aman (Lossless-Join
Decomposition). Artinya, setelah tabel tersebut diuraikan /
didekomposisi menjadi tabel-tabel baru, tabel-tabel baru
tersebut bisa menghasilkan tabel semula dengan sama
persis.
Terpeliharanya ketergantungan fungsional pada saat
perubahan data (Dependency Preservation).
Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan
dijelaskan kemudian-)
BASIS DATA TEKNIK INFORMATIKA - ITS
GASAL 2010/2011

Normalisasi

Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi


3 kriteria sbb:
1.

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

Tabel Universal

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

Tabel Universal

Tabel Universal (Universal / Star Table)


sebuah tabel yang merangkum semua kelompok
data yang saling berhubungan, bukan
merupakan tabel yang baik.
Misalnya:

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

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

Contoh tabel nilai

Notasi: A B
atau A x B
Adalah kebalikan dari notasi sebelumnya.

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

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)

Functional Dependency dari tabel nilai

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

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

Contoh 1 (multi value atribut*)

Bentuk Normal Tahap Pertama (1st


Normal Form / 1NF)
Bentuk normal 1NF terpenuhi jika sebuah
tabel tidak memiliki atribut bernilai banyak
(multivalued attribute), atribut composite
atau kombinasinya dalam domain data yang
sama.
Setiap atribut dalam tabel tersebut harus
bernilai atomic (tidak dapat dibagi-bagi lagi)

10

Misal data mahasiswa sbb:

NRP

Nama

Hobi

12020001

Heri Susanto

Sepakbola, Membaca Komik, Berenang

12020013

Siti Zulaiha

Memasak, membuat program komputer

12020018

Heri Susanto

Membuat program Komputer

12020015

Dini Susanti

Menjahit, Membuat Roti

NRP

Atau:

Nama

Hobi1

12020001

Heri
Susanto

Sepakbola

12020013

Siti Zulaiha Memasak

12020018

Heri
Susanto

Membuat Program
Komputer

12020015

Dini
Susanti

Menjahit

Hobi2
Membaca Komik

Hobi3
Berenang

Membuat Program
Komputer

Membuat Roti

Tabel-tabel di atas tidak memenuhi syarat 1NF


BASIS DATA TEKNIK INFORMATIKA - ITS
GASAL 2010/2011

11

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

12

*Multi value atribut adalah atribut yang memiliki lebih dari satu nilai

02/12/2010

Contoh 2 (composite)

Tabel yang memenuhi 1NF

JadwalKuliah

NRP

Nama

Hobi

12020001

Heri Susanto

Sepakbola

12020001

Heri Susanto

Membaca Komik

12020001

Heri Susanto

Berenang

12020013

Siti Zulaiha

Memasak

12020013

Siti Zulaiha

Membuat program Komputer

12020018

Heri Susanto

Membuat Program Komputer

12020015

Dini Susanti

Menjahit

12020015

Dini Susanti

Membuat Roti

Kodekul

NamaKul

Dosen

Kelas

Jadwal

Dimana nilai pada atribut jadwal berisi gabungan antara


Hari dan Jam.
Jika asumsi hari dan jam memegang peranan penting
dalam sistem basis data, maka atribut Jadwal perlu
dipisah sehingga menjadi JadwalHari dan JadwalJam
sbb:

JadwalKuliah
Kodekul
BASIS DATA TEKNIK INFORMATIKA - ITS
GASAL 2010/2011

NamaKul

Bentuk Normal Tahap Kedua (2nd Normal


Form)

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

Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang


dianggap sebagai primary key sedangkan:
{Mhs_nrp, mk_kode}
{Mhs_nrp, mk_kode}
{Mhs_nrp, mk_kode}
{Mhs_nrp, mk_kode}
{Mhs_nrp, mk_kode}

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

Kelas

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

13

Bentuk normal 2NF terpenuhi dalam sebuah tabel


jika telah memenuhi bentuk 1NF, dan semua atribut
selain primary key, secara utuh memiliki Functional
Dependency pada primary key
Sebuah tabel tidak memenuhi 2NF, jika ada atribut
yang ketergantungannya (Functional Dependency)
hanya bersifat parsial saja (hanya tergantung pada
sebagian dari primary key)
Jika terdapat atribut yang tidak memiliki
ketergantungan terhadap primary key, maka atribut
tersebut harus dipindah atau dihilangkan

Dosen

mhs_nama
mhs_alamat
mk_nama
mk_sks
nihuruf

Tabel di atas perlu didekomposisi menjadi beberapa tabel


yang memenuhi syarat
2NF
BASIS DATA TEKNIK INFORMATIKA - ITS
GASAL 2010/2011

16

Bentuk Normal Tahap Ketiga (3rd Normal


Form /3NF)

Contoh
Functional dependencynya sbb:
{Mhs_nrp, mk_kode} nihuruf
Mhs_nrp
{mhs_nama, mhs_alamat}
Mk_kode
{mk_nama, mk_sks}

fd1
fd2
fd3

Bentuk normal 3NF terpenuhi

(fd1)
(fd2)
(fd3)

jika telah memenuhi bentuk 2NF, dan


jika tidak ada atribut yang bukan kunci memiliki
ketergantungan transitif (tidak secara langsung) pada
primary key.

(mhs_nrp, mk_kode, nihuruf)


Tabel Nilai
(Mhs_nrp, mhs_nama, mhs_alamat) Tabel Mahasiswa
(mk_kode, mk_nama, mk_sks)
Tabel MataKuliah

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

17

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

18

02/12/2010

Contoh

Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:


No Pesanan

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

{No Pesanan, No Urut} Kode Item


{No Pesanan, No Urut} Nama item
Kode Item Nama item (Nama item tergantung pada kode item,
Kode item bukan primary key dari tabel ini)
Nama item bergantung pada No
pesanan dan no urut secara tidak
langsung, karena ia bergantung
pada kode item

Tabel berikut telah memenuhi 3NF

Tabel Barang

Kode item

Nama item

Primary Key: Kode item

P1

Pensil

P2

Buku Tulis

Dengan kata lain ada atribut bukan


primary key yang bergantung pada
atribut yang bukan primary key

Solusi: nama dihilangkan dari


tabel
diINFORMATIKA
atas dan
BASIS DATA
TEKNIK
- ITS dibuat
2010/2011
tabel sendiri bersamaan denganGASAL
kode
item

19

Solusi: nama dihilangkan dari


tabel
diINFORMATIKA
atas dan
BASIS DATA
TEKNIK
- ITS dibuat
2010/2011
tabel sendiri bersamaan denganGASAL
kode
item

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

Tabel tersebut tidak melanggar 3NF


Seorang siswa dapat mengambil sejumlah
kursus
Tutor hanya mengajar pada sebuah
kursus, satu kursus bisa diajar oleh banyak
tutor
Kunci kandidat:

21

Tutor

Anwar

Pierre

Anwar

Richard

Budi

Pierre

Cecep

Suzanne

Tutor

Kursus

Pierre

Bahasa Perancis

Richard

Bahasa Inggris

Pierre

Bahasa Perancis

Suzanne

Bahasa Inggris

Solusi: dekomposisi tabel

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

22

Bentuk Normal Tahap Keempat (4th


Normal Form /4NF)

Memenuhi BCNF
Siswa

Solusi: dekomposisi tabel

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

4NF terpenuhi jika


telah memenuhi bentuk BCNF,
Tidak mengandung dua atribut atau lebih yang
bernilai banyak

23

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

24

02/12/2010

Bentuk Normal Tahap Keempat (5th


Normal Form /5NF)

Contoh
Misal, tabel berikut tidak memenuhi 4NF:
Nama Pegawai

Proyek

Skill

Jim

11, 6

Komunikasi,
pemrogram mahir,
negosiasi

Mary

5, 11

Analisis, Desain

Setiap pegawai dapat bekerja di lebih dari satu proyek dan


dapat memiliki lebih dari satu skill. Untuk kasus seperti ini
tabel tersebut harus di-dekomposisi menjadi:
(Nama Pegawai, Proyek)
(Nama Pegawai, Skill)
BASIS DATA TEKNIK INFORMATIKA - ITS
GASAL 2010/2011

25

Suatu tabel dikatakan tidak memenuhi 5NF jika ia


atributnya saling bergantung dengan atribut lain
Bentuk normal 5NF terpenuhi jika data yang ada
padanya tidak dapat didekomposisi lagi menjadi
tabel yang lebih kecil
Jika 4 bentuk normal sebelumnya dibentuk
berdasarkan functional dependency, 5NF dibentuk
berdasarkan konsep join dependence. Yakni apabila
sebuah tabel telah di-dekomposisi menjadi tabeltabel lebih kecil, harus bisa digabungkan lagi (join)
untuk membentuk
tabel semula
BASIS DATA TEKNIK INFORMATIKA - ITS
GASAL 2010/2011

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

Tidak memenuhi 5NF

Latihan Normalisasi

Pecah menjadi 3 tabel:


Deal_dist(Dealer, Distributor)
Dist_kend(Distributor,Kendaraan)
Deal_kend(Dealer, kendaraan)
Jika digabung menjadi satu akan
kembali menjadi tabel diatas

memenuhi 5NF

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

27

Soal Latihan (1)

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

Bentuk Normal Pertama

300.000
200.000

Bagaimana bentuk normalisasinya?

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

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

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

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

Apakah sudah memenuhi bentuk normal ?


Bagaimana bentuk normalisasi tabel tersebut?

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

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

Tabel soal latihan 3 sudah memenuhi normalisasi pertama


Bentuk normalisasi kedua dari tabel tersebut adalah
Relasi: Mahasiswa2

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

Apakah sudah memenuhi bentuk normalisasi?


Bagaimana bentuk normalisasi tabel tersebut?
Primary key: NRP+MataKuliah

Relasi: Mahasiswa3

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

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

Relasi Mahasiswa1 dan mahasiswa2 telah memenuhi normalisasi


tahap 2
Relasi mahasiswa3 melanggar normalisasi tahap 3 yaitu Nama
dosen bergantung pada NIP
Relasi: Mata Kuliah
Relasi: Mahasiswa3
Mata Kuliah
NIP
Mata Kuliah

NIP

Dosen

Basis Data

320001123

Basis Data

320001123

Ir. X

RPL

320001133

RPL

320001133

Ir. Y

AI

320021010

AI

320021010

Ir. Z

1. Konsep & Tuntunan Praktis Basis Data, Abdul


Kadir, penerbit Andi Yogyakarta
2. Rebecca M. Riordan. 2005. Designing
Effective Database System. Addison Wesley
Proffesional Chapter 2.

Relasi: Dosen
NIP

Dosen

320001123

Ir. X

320011133

Ir. Y

320021010

Ir. Z

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

35

BASIS DATA TEKNIK INFORMATIKA - ITS


GASAL 2010/2011

36

Anda mungkin juga menyukai