normalisasi -...

34
Normalisasi Merupakan suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut pada level-level normalisasi. Beberapa level yang biasa digunakan pada normalisasi. Bentuk normal pertama (1NF) Bentuk normal kedua (2NF) Bentuk normal ketiga (3NF) Bentuk normal Boyce-Codd (BCNF) Bentuk normal keempat (4NF) Bentuk normal kelima (5NF)

Upload: lamminh

Post on 07-Apr-2019

225 views

Category:

Documents


0 download

TRANSCRIPT

Normalisasi • Merupakan suatu aturan yang dikenakan

pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut pada level-level normalisasi.

• Beberapa level yang biasa digunakan pada normalisasi.

– Bentuk normal pertama (1NF)

– Bentuk normal kedua (2NF)

– Bentuk normal ketiga (3NF)

– Bentuk normal Boyce-Codd (BCNF)

– Bentuk normal keempat (4NF)

– Bentuk normal kelima (5NF)

• Bentuk normal pertama hingga bentuk normal ketiga adalah merupakan bentuk normal yang umum dipakai artinya bahwa pada kebanyakan relasi

• Bila ketiga bentuk normal tersebut sudah terpenuhi, maka persoalan anomaly tidak akan pernah timbul lagi,

• Sedangkan bentuk normal Boyce-codd hingga bentuk normal kelima dipakai pada kasus tertentu.

1NF

2NF

3NF

BCNF

4NF

5NF

High Normal

Bentuk Normal Pertama

• Suatu relasi dikatakan dalam bentuk

normal pertama jika dan hanya jika setiap

atribut bernilai tunggal untuk setiap baris

Bentuk Normal Pertama

• Bentuk ini biasa dikenakan pada

tabel yang belum ternormalisasi.

Tabel yang memiliki atribut yang

berulang adalah contohnya. Berikut

adalah contoh data dalam keadaan

belum ternormalisasi:

NIP

NAMA

JABATAN

KEAHLIAN

LAMA

(tahun)

107

ILHAM

ANALIS SENIOR

COBOL

ORACLE

6

1

109

RIAN

ANALIS YUNIOR

COBOL

DBASE III+

2

2

112

FIKA

PEMROGRAM

COBOL

DBASE III+

SYBASE

1

1

1

• Pada contoh, KEAHLIAN menyatakan atribut yang berulang (misalnya, FIKA memiliki tiga keahlian, dan ILHAM memiliki dua keahlian). Bentuk seperti ini perlu diubah menjadi bentuk normal pertama.

• Normal Pertama adalah suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris.

• Data yang tak ternormalisasi pada gambar diatas diubah ke dalam bentuk normal pertama dengan cara membuat setiap baris berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu nilai.

• Berbagai persoalan yang menyangkut anomali biasanya juga muncul pada relasi yang hanya memenuhi bentuk normal pertama.

NIP

NAMA

JABATAN

KEAHLIAN

LAMA

(tahun)

107

ILHAM

ANALIS SENIOR

COBOL

6

107

ILHAM

ANALIS SENIOR

ORACLE

1

109

RIAN

ANALIS YUNIOR

COBOL

2

109

RIAN

ANALIS YUNIOR

DBASEIII+

2

112

FIKA

PEMROGRAM

COBOL

1

112

FIKA

PEMROGRAM

DBASE III+

1

112

FIKA

PEMROGRAM

SYBASE

1

Bentuk Normal Kedua

• Suatu relasi berada dalam bentuk normal

kedua jika dan hanya jika:

– Berada pada bentuk normal pertama

– Semua atribut bukan kunci memiliki

dependensi sepenuhnya terhadap kunci

primer.

• Dalam ungkapan praktis, bentuk normal kedua mensyaratkan setiap atribut bergantung kepada kunci primer.

• Relasi pada tabel sebelumnya tidak tergolong sebagai bentuk normal kedua, meskipun tergolong pada bentuk normal pertama.

• Perhatikan bahwa NAMA dan JABATAN mempunyai dependensi sepenuhnya terhadap NIP (sebab untuk setiap nilai NIP yang sama, NAMA dan JABATAN juga sama). Namun tidak demikian halnya dengan KEAHLIAN dan PENGALAMAN.

• Untuk mengubahnya ke dalam bentuk

normal kedua perlu dilakukan dekomposisi

terhadap relasi tersebut.

NIP

NAMA

JABATAN

107

ILHAM

ANALIS SENIOR

109

RIAN

ANALIS YUNIOR

112

FIKA

PEMROGRAM

NIP

KEAHLIAN

LAMA

107

COBOL

6

107

ORACLE

1

109

COBOL

2

109

DBASE III+

2

112

COBOL

1

112

DBASE III+

1

112

SYBASE

1

Relasi NKP

Relasi NNJ

Normal Ketiga

• Suatu relasi dikatakan dalam bentuk

normal ketiga jika:

– Berada dalam bentuk normal kedua

– Setiap atribut bukan kunci tidak memiliki

dependensi transitif terhadap kunci primer.

• Relasi NNJ dan NKP memenuhi kriteria

bentuk normal ketiga.

NOMOR_

PESANA

N

NOMOR_

URUT

KODE_ITEM

NAMA_ITEM

50001

0001

P1

Pensil

50001

0002

P2

Buku Tulis

50001

0003

P3

Penggaris

50001

0004

P4

Penghapus

50002

0001

P3

Penggaris

50002

0002

P5

Pulpen

50002

0003

P6

Spidol

50003

0001

P1

Pensil

50003

0002

P2

Buku Tulis

• Pada contoh, kunci primer relasi

berupa gabungan

NOMOR_PESANAN dan

NOMOR_URUT. Sedangkan

KODE_ITEM dan NAMA_ITEM

mempunyai dependensi fungsional

terhadap kunci primer tersebut.

• Perhatikan jika KODE_ITEM bernilai

sama, maka NAMA_ITEM juga

bernilai sama. Ini menunjukkan

adanya dependensi diantara

keduanya.

• Lalu mana yang jadi penentu? Apakah KODE_ITEM tergantung pada NAMA_ITEM atau sebaliknya? Pada keadaan seperti ini tidaklah bisa dikatakan NAMA_ITEM sebagai penentu. Lebih tepat jika KODE_ITEM sebagai penentu.

• Sehingga NAMA_ITEM tidak memiliki dependensi secara langsung terhadap kunci primer atau dengan kata lain, NAMA_ITEM memiliki dependensi transitif terhadap kunci primer

• Lalu dilakukan dekomposisi, yaitu ;

no_pesanan dan no_urut (kunci primer)

serta kode item yang berdepedensi

transitif

• Dan relasi tabel kode item dan nama item

Lanjutan Normal Ketiga

NOMOR_

PESANAN

NOMOR_

URUT

KODE_ITEM

50001

0001

P1

50001

0002

P2

50001

0003

P3

50001

0004

P4

50002

0001

P3

50002

0002

P5

50002

0003

P6

50003

0001

P1

50003

0002

P2

Lanjutan Normal Ketiga

KODE_ITEM

NAMA_ITEM

P1

Pensil

P2

Buku Tulis

P3

Penggaris

P4

Penghapus

P3

Penggaris

P5

Pulpen

P6

Spidol

P1

Pensil

P2

Buku Tulis

Bentuk Normal

Boyce-Codd • Suatu relasi disebut memenuhi bentuk

normal Boyce-Codd jika dan hanya jika

semua penentu (determinan) adalah kunci

kandidat (atribut yang bersifat unik).

• BCNF merupakan bentuk normal sebagai

perbaikan terhadap 3NF. Suatu relasi

yang memenuhi BCNF selalu memenuhi

3NF, tetapi tidak sebaliknya.

• Melakukan pengujian relasi pada BNCD, kita identifikasi semua nilai penentu (determinant) dan pastikan semuanya candidate key,

• dimana determinant adalah sebuah atribute atau sebuah group yang mana beberapa atribut lainnya adalah ketergantungan fungsional total

• Perbedaan antara 3NF dan BCNF pada ketergantungan fungsi A B.

• 3 NF mengikuti ketergantungan

dalam sebual relasi, jika nilai B

adalah sebuah atribut primary key

dan nilai A bukan sebuah kandidat

key

• BCNF lebih baik dari 3 NF,

ketidakkonsistenan jarang muncul di

BCNF pada kondisi tertentu.

Lanjutan Boyce-Codd

SISWA

KURSUS

TUTOR

Anwar

Bahasa Prancis

Pierre

Anwar

Bahasa Inggris

Richard

Budi

Bahasa Prancis

Pierre

Cecep

Bahasa Inggris

Suzanne

Contoh relasi (SKT) yang memenuhi 3NF tetapi tidak memenuhi BCNF

• Relasi diatas didasarkan fakta:

– Seorang siswa dapat mengambil sejumlah kursus bahasa

– Setiap tutor hanya mengajar pada sebuah kursus bahasa (misalnya, Pierre hanya mengajar bahasa Prancis)

– Setiap siswa pada setiap kursus bahasa hanya diajar oleh seorang tutor (misalnya, tutor bahasa Inggris pada kelas Anwar hanyalah Richard)

– Suatu kursus bahasa yang sama bisa saja memiliki lebih dari satu tutor (misalnya, kelas bahasa Inggris yang diajar oleh Richard dan ada kelas bahasa Inggris yang lain yang diajar oleh Suzanne).

• Relasi SKT dikatakan memenuhi 3NF karena tidak ada dependensi transitif pada relasi tersebut. Namun tidak memenuhi BCNF karena adanya determinan TUTOR (yang menentukan kursus) dan determinan ini tidak berdiri sebagai kunci kandidat.

• Relasi SKT masih menimbulkan anomali. Contoh, bila baris yang berisi siswa bernama Cecep dihapus maka informasi yang menyatakan bahwa Suzanne adalah tutor bahasa Inggris akan ikut hilang.

• Relasi SKT masih menimbulkan

anomali. Contoh, bila baris yang

berisi siswa bernama Cecep dihapus

maka informasi yang menyatakan

bahwa Suzanne adalah tutor bahasa

Inggris akan ikut hilang.

• Cara mengkonversi relasi yang telah

memenuhi bentuk normal ketiga ke

BCNF adalah:

• carilah semua penentu

• bila terdapat penentu yang bukan

berupa kunci kandidat, maka:

– pisahkan relasi tersebut

– buat penentu tersebut sebagai kunci

primer

• itulah sebabnya agar memenuhi

BCNF, relasi SKT perlu

didekomposisi menjadi:

Lanjutan Boyce-Codd

SISWA

TUTOR

Anwar

Pierre

Anwar

Richard

Budi

Pierre

Cecep

Suzanne

Relasi ST

TUTOR KURSUS

Pierre Bahasa Perancis

Richard Bahasa Inggris

Suzanne Bahasa Inggris

Relasi TK

Bentuk Normal Ke Empat

• Suatu relasi berada dalam bentuk normal

keempat jika :

– Telah melalui bentuk normal Boyce-codd

– Tidak mengandung dua atribut atau lebih

yang bernilai banyak

• 4NF digunakan untuk menormalkan

ketergantungan nilai banyak atau

Multivalues dependency (MVD)

• Untuk memahami konsep

dependensi nilai banyak, perhatikan

tabel dibawah ini:

MATAKULIAH

DOSEN

ISI

Pengetahuan

Komputer

Amir

Fitria

Dasar Komputer

Pengenalan Pengolah Kata

Pengenalan Lembar Kerja

Matematika I

Fitria

Diferensial

Integral

• Tabel tsb mengungkapkan tentang

dosen yang mengajar matakuliah

dan isi matakuliah yang

bersangkutan.

• Contoh, ada dua dosen yang

mengajar Pengetahuan Komputer

yaitu Amir dan Fitria. Dengan isi

matakuliah : Dasar Komputer,

Pengenalan Pengolah Kata dan

Pengenalan Lembar Kerja.

MATAKULIAH

DOSEN

ISI

Pengetahuan Komputer

Amir

Dasar Komputer

Pengetahuan Komputer

Amir

Pengenalan Pengolah Kata

Pengetahuan Komputer

Amir

Pengenalan Lembar Kerja

Pengetahuan Komputer

Fitria

Dasar Komputer

Pengetahuan Komputer

Fitria

Pengenalan Pengolah Kata

Pengetahuan Komputer

Fitria

Pengenalan Lembar Kerja

Matematika I

Fitria

Diferensial

Matematika I

Fitria

Integral

Relasi hasil normalisasi

• Relasi tabel sebelumnya, memiliki kemubaziran dan tentu saja membawa kemungkinan terjadinya anomali.

• Contoh bila matakuliah Matematika I diajar oleh seorang dosen baru maka ada dua baris yang perlu diciptakan. Dan jika Fitria tidak lagi mengajar Matematika I maka ISI dari Matematika I juga akan ikut menghilang.

• Meskipun demikian, relasi ini memenuhi persyaratan BCNF. Hal ini disebabkan kunci primer relasi ini berupa gabungan MATAKULIAH, DOSEN dan ISI.

• Masalah relasi yang memenuhi BCNF seperti diatas dapat dipecahkan melalui dekomposisi. Karena pada kenyataannya DOSEN dan ISI tidak ada ketergantungan. Solusi yang tepat adalah dengan konsep dependensi nilai banyak.

• Secara umum, dependensi nilai banyak muncul pada relasi yang paling tidak memiliki tiga atribut dan dua diantaranya bernilai banyak, dan nilai-nilainya bergantung hanya pada atribut ketiga.

MATAKULIAH

DOSEN

Pengetahuan

Komputer

Amir

Pengetahuan

Komputer

Fitria

Matematika I

Fitria

MATAKULIAH

ISI

Pengetahuan Komputer

Dasar Komputer

Pengetahuan Komputer

Pengenalan Pengolah Kata

Pengetahuan Komputer

Pengenalan Lembar Kerja

Matematika I

Diferensial

Matematika I

Integral

Relasi-relasi hasil dekomposisi

Relasi ini memenuhi bentuk normal keempat jika: • Telah berada pada BCNF • Tidak mengandung dua atribut atau lebih yang bernilai banyak