Bagian 4 Normalisasi - .:: Halaman Utama | … Basis Data/bsdata_04.pdfuntuk mencegah penciptaan...

35
Bagian 4 Normalisasi Kuliah Basis Data Pra S2 Ilmu Komputer - FMIPA Drs. Agfianto Eko Putra, M.Si.

Transcript of Bagian 4 Normalisasi - .:: Halaman Utama | … Basis Data/bsdata_04.pdfuntuk mencegah penciptaan...

Bagian 4Normalisasi

Kuliah Basis DataPra S2 Ilmu Komputer - FMIPADrs. Agfianto Eko Putra, M.Si.

Drs. Agfianto Eko Putra, M.Si. 2

Topik Bahasan

1. Pengertian Normalisasi2. Anomali

a. Anomali Peremajaan (update);b. Anomali Penyisipan (insert);c. Anomali Penghapusan (delete);

3. Dependensia. Dependensi Fungsionalb. Dependensi Fungsional Sepenuhnyac. Dependensi Totald. Dependensi Transitif

4. Diagram Dependensi Fungsional

Drs. Agfianto Eko Putra, M.Si. 3

Topik Bahasan (lanjutan...)

4. Dekomposisi Tak-hilang5. Bentuk Normal

a. Bentuk Normal Pertamab. Bentuk Normal Keduac. Bentuk Normal Ketigad. Bentuk Normal Boyce-Codd (BCNF)e. Dependensi Nilai Banyak dan Bentuk Normal Keempatf. Dependensi Gabungan dan Bentuk Normal Kelima

(5NF)

6. Overnormalisasi

Drs. Agfianto Eko Putra, M.Si. 4

IV.1. Pengertian Normalisasi

• Menurut E.F. Codd:– Normalisasi dipakai untuk membuat struktur tabel (relasi) dalam

basis data � mengurangi kemubaziran data;– Kadang dipakai sebagai perangkat verifikasi terhadap tabel-tabel

yang dihasilkan metodologi lain;– Memberikan panduan yang sangat membantu bagi pengembang

untuk mencegah penciptaan struktur tabel yang kurang atau mengurangi ketidak-efisienan.

• Menurut Kroenke:– Sebagai proses untuk mengubah suatu relasi yang memiliki

masalah tertentu ke dalam dua buah relasi atau lebih yang tidak memiliki masalah tersebut � anomali.

Drs. Agfianto Eko Putra, M.Si. 5

IV.2. Anomali

• Proses pada basis data yang memberikan efek samping yang tidak di-harapkan, macamnya:– Anomali peremajaan;– Anomali penghapusan,

dan– Anomali penyisipan.

Drs. Agfianto Eko Putra, M.Si. 6

IV.2.1. Anomali Peremajaan

• Terjadi jika pada saat pengubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya ikut berubah �Lihat contoh berikut:

Drs. Agfianto Eko Putra, M.Si. 7

IV.2.2. Anomali Penyisipan

• Terjadi jika pada saat penambahan hendak dilakukan ternyata ada elemen data yang masih kosong dan elemen data tersebut justru menjadi kunci � Lihat contoh berikut…

Drs. Agfianto Eko Putra, M.Si. 8

IV.2.3. Anomali Penghapusan

• Terjadi sekiranya suatu baris (tupel) yang tidak terpakai dihapus dan sebagai akibatnya terdapat data lain yang hilang � lihat contoh berikut…

Drs. Agfianto Eko Putra, M.Si. 9

IV.3. Dependensi

• Merupakan konsep yang mendasari normalisasi;• Menjelaskan hubungan antar atribut atau secara

lebih khusus menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya, macamnya:1. Dependensi fungsional;2. Dependensi fungsional sepenuhnya;3. Dependensi total, dan4. Dependensi transitif.

Drs. Agfianto Eko Putra, M.Si. 10

IV.3.1. Dependensi Fungsional

Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X, jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y.

X � Y(“X secara fungsional menentukan

Y”) atau secara istilah:

penentu (determinan) � yang tergantung (dependen)

Drs. Agfianto Eko Putra, M.Si. 11

IV.3.2. Dependensi Fungsional Sepenuhnya

• Suatu atribut Y mempunyai dependensi fungsional sepenuhnya terhadap atribut X, jika:– Y mempunyai dependensi fungsional terhadap X, dan– Y tidak memiliki dependensi terhadap bagian dari X.

• Misalnya:

PELANGGAN(KODE_PLG,NAMA,KOTA,FAKS)Terdapat:

1 - {KODE_PLG, KOTA} ���� FAKS2 - KODE_PLG ���� FAKS

• Berkaitan dengan hal ini terdapat istilah irreducible dependent atau dependensi yang tidak dapat dibagi lagi. Istilah ini identik dengan dependensi fungsional sepenuhnya (full functional dependent) atau terkadang hanya disebut dependensi sepenuhnya (fully dependent).

Drs. Agfianto Eko Putra, M.Si. 12

IV.3.3. Dependensi Total

• Suatu atribut Y mempunyai dependensi total terhadap atribut X jika:– Y memiliki dependensi

fungsional terhadap X, dan– X mempunyai dependensi

fungsional terhadap Y.

• Dependensi seperti ini dinyatakan dengan notasi:

X � �Y

Drs. Agfianto Eko Putra, M.Si. 13

IV.3.4. Dependensi Transitif

• Atribut Z mempunyai dependensi transitif terhadap X bila:– Y memiliki dependensi

fungsional terhadap X– Z memiliki dependensi

fungsional terhadap Y.

• atau dapat dituliskanX � Y � Z

Drs. Agfianto Eko Putra, M.Si. 14

IV.4. Diagram Dependensi Fungsional

• Diagram dependensi fungsional (diagram DF) adalah diagram yang digunakan untuk menggambarkan dependensi fungsional;

• Diagram ini menunjukkan hubungan antara atribut yang menjadi penentu atribut lainnya dengan hubungan yang dinyatakan dengan tanda panah.

KULIAHKULIAH

RUANGRUANG WAKTUWAKTU

TEMPATTEMPAT

Drs. Agfianto Eko Putra, M.Si. 15

IV.5. Dekomposisi Tak Hilang

• Pada proses normalisasi seringkali terjadi pemecahan sebuah relasi mejadi dua relasi atau lebih � dekomposisi;

• Secara lebih khusus, macam dekomposisi yang dilakukan adalah dekomposisi tak hilang, yang artinya bahwa tak ada informasi yang hilang ketika relasi dipecah menjadi relasi-relasi lain.

Drs. Agfianto Eko Putra, M.Si. 16

IV.6. Bentuk Normal

• Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut dalam level-level normalisasi;

• Suatu relasi dikatakan berada dalam bentuk normal tertentu jika memenuhi kondisi-kondisi tertentu;

• Beberapa level yang biasa digunakan pada normalisasi adalah:– Bentuk normal pertama (1NF);– Bentuk normal kedua (2NF);– Bentuk normal ketiga (3NF);– Bentuk normal Boyce-Cood (BCNF);– Bentuk normal keempat (4NF);– Bentuk normal kelima (5NF);

Drs. Agfianto Eko Putra, M.Si. 17

IV.6. Bentuk Normal

• Bentuk normal pertama hingga ketiga (dibuat oleh E. F Cood) merupakan bentuk normal yang umum dipakai. Artinya bahwa pada kebanyakan relasi, bila ketiga tersebut terpenuhi, maka persoalan anomali tidak akan muncul lagi.

• Bentuk normal Boyce-Cood merupakan revisi terhadap bentuk normal ketiga.

• Gambar di samping menjelaskan bahwa setiap normalisasi bergantung pada level sebelumnya.

• Semakin dalam levelnya, relasi mempunyai kecenderungan lebih baik dalam artian memiliki problem yang lebih kecil ataupun sama sekali tak memiliki permasalahan anomali.

Drs. Agfianto Eko Putra, M.Si. 18

IV.6.1. Bentuk Normal Pertama

• Bentuk normal pertama biasa dikenakan pada tabel yang belum ternormalisasi. Tabel yang belum ternomalisasi adalah tabel yang memiliki atribut yang berulang;

• Suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris;

Drs. Agfianto Eko Putra, M.Si. 19

IV.6.1. Bentuk Normal Pertama

Drs. Agfianto Eko Putra, M.Si. 20

IV.6.2. Bentuk Normal Kedua

• Suatu relasi berada dalam bentuk normal kedua jika dan hanya jika:– Berada pada bentuk normal pertama– Semua atribut yang bukan kunci memiliki dependensi sepenuhnya

terhadap kunci primer• Atribut yang bukan kunci adalah atribut yang bukan merupakan bagian

kunci primer.• Dalam ungkapan yang lebih praktis, bentuk normal kedua mensyarat-

kan setiap atribut bergantung kepada kunci primer;• Untuk mengubah suatu relasi yang tergolong sebagai bentuk normal

pertama ke bentuk normal kedua perlu dilakukan dekomposisi terhadap relasi tersebut;

• Proses dekomposisi dapat dilakukan dengan menggambarkan diagram dependensi fungsional terlebih dahulu;

• Berdasarkan diagram ini, relasi dalam bentuk normal pertama dipecah ke dalam sejumlah relasi.

Drs. Agfianto Eko Putra, M.Si. 21

IV.6.2. Bentuk Normal Kedua

Drs. Agfianto Eko Putra, M.Si. 22

IV.6.2. Bentuk Normal Kedua

• Menurut Date: Normal pertama menjadi Normal KeduaTerdapat relasi R:

R(A,B,C,D)KUNCI PRIMER (A,B)A ���� D

R dapat digantikan dengan dua proyeksi R1 dan R2:R1(A,D)

KUNCI PRIMER (A)R2(A,B,C)

KUNCI PRIMER (A,B)KUNCI TAMU (A) REFERENSI R1

• Masalah yang sering terjadi pada relasi yang tergolong pada bentuk normal kedua diakibatkan oleh adanya dependensi transitif.

Drs. Agfianto Eko Putra, M.Si. 23

IV.6.2. Bentuk Normal KeduaIV.6.2. Bentuk Normal Kedua

Drs. Agfianto Eko Putra, M.Si. 24

IV.6.3. Bentuk Normal Ketiga

• Suatu relasi dikatakan dalam bentuk ketiga (3NF) jika:– Berada pada bentuk normal kedua– Semua atribut bukan kunci tidak memiliki transitif terhadap kunci primer;

• Pendekatan normalisasi:Bila terdapat relasi R sbb:

R(A,B,C)KUNCI PRIMER (A)B ���� C

Maka relasi R dapat digantikan dengan dua proyeksi R1 dan R2:R1(B,C)

KUNCI PRIMER (B)R2(A,B)

KUNCI PRIMER (A)KUNCI TAMU (B) REFERENSI R1

Drs. Agfianto Eko Putra, M.Si. 25

IV.6.2. Bentuk Normal KeIV.6.2. Bentuk Normal Ketigatiga

Drs. Agfianto Eko Putra, M.Si. 26

IV.6.4. Bentuk Normal Boyce-Codd (BCNF)

• 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 sebagian perbaikan terhadap 3NF. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya.

• Suatu relasi yang memenuhi 3NF belum tentu memenuhi BCNF. Dalam banyak literatur disebutkan bahwa BCNF adalah perbaikan dari 3NF, karena bentuk normal ketigapun mungkin masih mengandung anomali sehingga masih perlu dinormalisasi lebih lanjut.

Drs. Agfianto Eko Putra, M.Si. 27

• Relasi di atas memenuhi 3NF tetapi tidak memenuhi BCNF, karena– Seorang siswa dapat mengambil sejumlah kursus bahasa;– Setiap tutor hanya mengajar pada sebuah kursus bahasa;– Setiap siswa pada setiap kursus bahasa hanya diajar oleh seorang tutor;– Suatu kursus bahasa yang sama bisa memiliki lebih dari satu tutor.

{Siswa, Kursus} ���� Tutor{Siswa, Tutor} ���� Kursus

Drs. Agfianto Eko Putra, M.Si. 28

IV.6.4. Bentuk Normal Boyce-Codd (BCNF)

• Cara mengkonversi relasi yang telah memenuhi 3NF ke BCNF:– Carilah semua penentu;– Bila terdapat penentu

yang bukan berupa kunci kandidat, maka:

• Pisahkan relasi tersebut, dan

• Buat penentu tersebut sebagai kunci primer.

Drs. Agfianto Eko Putra, M.Si. 29

IV.6.5. Dependensi Nilai Banyak dan Bentuk Normal Keempat

• Dependensi nilai banyak merupakan terjemahan dari multivalued dependency (MVD). Dependensi ini pertama kali diperkenalkan oleh R. Fagin pada tahun 1977, dipakai pada bentuk normal keempat (4NF). Dependensi ini dipakai untuk menyatakan hubungan satu ke banyak.

Drs. Agfianto Eko Putra, M.Si. 30

IV.6.5. Dependensi Nilai Banyak dan Bentuk Normal Keempat

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

• Pada suatu relasi R dengan atribut A, B, C atribut B dikatakan bersifat multidependen terhadap A jika:– Sekumpulan nilai B yang diberikan pada pasangan (A,

C) hanya tergantung pada nilai A, dan– Tidak tergantung pada nilai C.

• Hubungan di atas dinyatakan dengan A --->> B

Drs. Agfianto Eko Putra, M.Si. 31

IV.6.5. Dependensi Nilai Banyak dan Bentuk Normal Keempat

• Bila R(A,B,C) merupakan suatu relasi, dengan A, B, C adalah atribut-atribut relasi tersebut, maka proyeksi dari R berupa (A, B) dan (A, C) jika R memenuhi MVD:

A -->> B | C.• Perlu diketahui, bila terdapat:

A --->> BA --->> C

• Maka keduanya dapat ditulis menjadi:A --->> B | C

• Secara praktis, suatu relasi memenuhi bentuk normal keempat jika:

– telah berada pada BCNF, dan– tidak mengandung dua atribut atau

lebih yang bernilai banyak.

Drs. Agfianto Eko Putra, M.Si. 32

IV.6.6. Dependensi Gabungan dan Bentuk Normal Kelima (5NF)

• Dependensi gabungan mendasari bentuk normal kelima.• Suatu relasi R (X, Y, ..., Z) memenuhi dependensi gabungan jika

gabungan dari proyeksi A, B, ..., C dengan A, B, ..., C merupakan sub-himpunan dari atribut-atribut R. Dependensi gabungan sesuai dengan definisi di atas dinyatakan dengan notasi:

* (A, B, ..., C)dengan A = XY, B = YZ, C= ZX.

Drs. Agfianto Eko Putra, M.Si. 33

IV.6.6. Dependensi Gabungan dan Bentuk Normal Kelima (5NF)

• Bentuk normal kelima (5NF), yang terkadang disebut PJ/NF (Projection Join/Normal Form), menggunakan acuan dependensi gabungan. Suatu relasi berada dalam 5NF jika dan hanya jika setiap dependensi gabungan dalam R tersirat oleh kunci kandidat relasi R.

• Secara praktis dapat dikatakan bahwa suatu relasi R berada dalam 5NF jika data yang ada padanya tak dapat lagi didekomposisi menjadi relasi-relasi yang lebih kecil dengan kunci kandidat relasi-relasi yang lebih kecil ini tidak sama dengan kunci kandidat relasi.

Drs. Agfianto Eko Putra, M.Si. 34

IV.7. Overnormalisasi

• Tabel-tabel yang menenuhi 5NF terkadang didekomposisi lagi �overnormalisasi.

• Tujuannya adalah untuk meningkatkan kinerja. Caranya adalah dengan memperhatikan permintaan terhadap data yang sering dilakukan. Kolom-kolom data yang sering diperlakukan diletakkan pada tabel tersendiri, terpisah dengan kolom-kolom data yang jarang diperlukan.

• Alasan yang lain, tabel yang terlalu banyak memiliki kolom dapatmenimbulkan persoalan yang disebut deadlock (saling mengunci) pada pengaksesan yang serentak (sejumlah pengguna mengakses baris yang sama).

• Namun perlu juga diperhatikan bahwa tidak selamanya pendekomposisian terhadap tabel yang telah memenuhi 5NF dapat meningkatkan kinerja.

• Pada kenyataannya, tabel yang terlalu pendek (sedikit memiliki kolom) juga menimbulkan persoalan peningkatan waktu CPU dan juga memerlukan banyak I/O disk ketika penggabungan data (misalnya untuk penyajian laporan).

Drs. Agfianto Eko Putra, M.Si. 35

ProduksiAgfi’s production house

[email protected]