Kuliah 6 7

72
KULIAH 6-7 KULIAH 6-7 BASIS DATA 1 BASIS DATA 1 NORMALISASI NORMALISASI

Transcript of Kuliah 6 7

KULIAH 6-7KULIAH 6-7BASIS DATA 1BASIS DATA 1

NORMALISASINORMALISASI

NORMALISASINORMALISASI

Pengertian NormalisasiPengertian Normalisasi AnomaliAnomali Dependensi (Ketergantungan)Dependensi (Ketergantungan) Diagram Dependensi FungsionalDiagram Dependensi Fungsional Dekomposisi Tak HilangDekomposisi Tak Hilang Bentuk NormalBentuk Normal OvernormalisasiOvernormalisasi

1. PENGERTIAN NORMALISASI1. PENGERTIAN NORMALISASIIstilah normalisasi berasal dari Istilah normalisasi berasal dari E.F. CoddE.F. Codd, salah seorang , salah seorang perintis teknologi basis data. Selain dipakai sebagai perintis teknologi basis data. Selain dipakai sebagai metodologi tersendiri untuk menciptakan struktur tabel metodologi tersendiri untuk menciptakan struktur tabel (relasi) dalam basis data (dengan tujuan untuk mengurangi (relasi) dalam basis data (dengan tujuan untuk mengurangi kemubaziran data), normalisasi terkadang hanya dipakai kemubaziran data), normalisasi terkadang hanya dipakai sebagai perangkat verifikasi terhadap tabel-tabel yang sebagai perangkat verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain (misal E-R). Normalisasi dihasilkan oleh metodologi lain (misal E-R). Normalisasi memberikan panduan yang sangat membantu untuk memberikan panduan yang sangat membantu untuk mencegah penciptaan struktur tabel yang kurang fleksibel mencegah penciptaan struktur tabel yang kurang fleksibel atau mengurangi ketidakefisienan.atau mengurangi ketidakefisienan.

KroenkeKroenke mendefinisikan normalisasi sebagai proses untuk mendefinisikan normalisasi sebagai proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau lebih yang tak memiliki dalam dua buah relasi atau lebih yang tak memiliki masalah tersebut. Masalah yang dimaksud ini sering masalah tersebut. Masalah yang dimaksud ini sering disebut dengan istilah disebut dengan istilah anomali.anomali.

Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data / database, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi).

2. ANOMALI2. ANOMALI

Anomali adalah proses pada basis data yang Anomali adalah proses pada basis data yang memberikan efek samping yang tidak memberikan efek samping yang tidak diharapkan (misalnya menyebabkan diharapkan (misalnya menyebabkan ketidakkonsistenan data atau membuat ketidakkonsistenan data atau membuat sesuatu data menjadi hilang ketika data lain sesuatu data menjadi hilang ketika data lain dihapus).dihapus).

Macam anomali ada 3 jenis, yaitu :Macam anomali ada 3 jenis, yaitu :Anomali Peremajaan,Anomali Peremajaan,Anomali Penghapusan, danAnomali Penghapusan, danAnomali Penyisipan.Anomali Penyisipan.

Anomali PeremajaanAnomali Peremajaan

Anomali ini terjadi bila terjadi Anomali ini terjadi bila terjadi pengubahan pada sejumlah data pengubahan pada sejumlah data yang mubazir, tetapi tidak yang mubazir, tetapi tidak seluruhnya diubah. Sebagai contoh, seluruhnya diubah. Sebagai contoh, terdapat relasi PESANAN_BELI yang terdapat relasi PESANAN_BELI yang mengandung data PEMASOK dan mengandung data PEMASOK dan KOTA yang menyatakan lokasi KOTA yang menyatakan lokasi pemasok, BARANG, dan JUMLAH pemasok, BARANG, dan JUMLAH yang menyatakan nama barang dan yang menyatakan nama barang dan jumlah barang yang dipesan.jumlah barang yang dipesan.

Anomali Peremajaan (lanj.)Anomali Peremajaan (lanj.)

Anomali Peremajaan (lanj.)Anomali Peremajaan (lanj.)

Anomali PenyisipanAnomali Penyisipan

Anomali penyisipan terjadi jika pada Anomali penyisipan terjadi jika pada saat penambahan hendak dilakukan saat penambahan hendak dilakukan ternyata ada elemen data yang ternyata ada elemen data yang masih kosong dan elemen data masih kosong dan elemen data tersebut justru menjadi kunci. tersebut justru menjadi kunci. Sebagai contoh, terdapat relasi yang Sebagai contoh, terdapat relasi yang berisi tiga buah atribut :berisi tiga buah atribut :KULIAHKULIAHRUANGRUANGTEMPATTEMPAT

Anomali Penyisipan (lanj.)Anomali Penyisipan (lanj.)

Anomali Penyisipan (lanj.)Anomali Penyisipan (lanj.)

Anomali PenghapusanAnomali Penghapusan

Anomali penghapusan terjadi sekiranya Anomali penghapusan terjadi sekiranya sesuatu baris (tupel) yang tak terpakai sesuatu baris (tupel) yang tak terpakai dihapus dan sebagai akibatnya terdapat dihapus dan sebagai akibatnya terdapat data lain yang hilang. Dengan mengambil data lain yang hilang. Dengan mengambil contoh relasi KURSUS di depan, apa yang contoh relasi KURSUS di depan, apa yang terjadi seandainya data siswa dengan terjadi seandainya data siswa dengan identitas 20 yang mengambil kursus identitas 20 yang mengambil kursus bahasa Jepang di hapus ? Data yang bahasa Jepang di hapus ? Data yang menyatakan bahwa biaya kursus bahasa menyatakan bahwa biaya kursus bahasa Jepang sebesar 65.000 juga akan Jepang sebesar 65.000 juga akan terhapus !terhapus !

4. DEPENDENSI (KETERGANTUNGAN)4. DEPENDENSI (KETERGANTUNGAN)

Dependensi merupakan konsep yang mendasari Dependensi merupakan konsep yang mendasari normalisasi. Dependensi menjelaskan hubungan normalisasi. Dependensi menjelaskan hubungan antar atribut, atau secara lebih khusus menjelaskan antar atribut, atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan nilai atribut nilai suatu atribut yang menentukan nilai atribut lainnya. Dependensi ini kelak menjadi acuan bagi lainnya. Dependensi ini kelak menjadi acuan bagi pendekomposisian data ke dalam bentuk yang pendekomposisian data ke dalam bentuk yang paling efisien.paling efisien.

Macam dependensi :Macam dependensi :dependensi fungsional,dependensi fungsional,dependensi fungsional sepenuhnya,dependensi fungsional sepenuhnya,dependensi total, dan dependensi total, dan dependensi transitif.dependensi transitif.

Dependensi FungsionalDependensi Fungsional

Dependensi Fungsional adalah macam dependensi yang banyak diulas Dependensi Fungsional adalah macam dependensi yang banyak diulas pada literatur basis data. Dependensi fungsional didefinisikan sebagai pada literatur basis data. Dependensi fungsional didefinisikan sebagai berikut :berikut :

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

Definisi di atas biasa dituangkan dalam bentuk notasi sebagai berikut :Definisi di atas biasa dituangkan dalam bentuk notasi sebagai berikut :

X X Y Y

(dibaca ”X secara fungsional menentukan Y” atau terkadang cukup (dibaca ”X secara fungsional menentukan Y” atau terkadang cukup dibaca ”X panah Y”).dibaca ”X panah Y”).

Sebagai contoh, terdapat relasi PESANAN_JUAL yang dinotasikan Sebagai contoh, terdapat relasi PESANAN_JUAL yang dinotasikan dengan :dengan :

PESANAN_JUAL (PEMBELI, KOTA, BARANG, JUMLAH)PESANAN_JUAL (PEMBELI, KOTA, BARANG, JUMLAH)

Yang artinya bahwa relasi PESANAN_JUAL mengandung atribut Yang artinya bahwa relasi PESANAN_JUAL mengandung atribut PEMBELI, KOTA, BARANG, dan JUMLAH. Sampel data pada relasi ini PEMBELI, KOTA, BARANG, dan JUMLAH. Sampel data pada relasi ini diperlihatkan pada gambar 5.diperlihatkan pada gambar 5.

Dependensi Fungsional (lanj.)Dependensi Fungsional (lanj.)

Pada contoh ini, PEMBELI secara fungsional menentukan Pada contoh ini, PEMBELI secara fungsional menentukan KOTA, sebab terlihat bahwa untuk PEMBELI yang sama, KOTA, sebab terlihat bahwa untuk PEMBELI yang sama, KOTA-nya juga sama. Dengan demikian :KOTA-nya juga sama. Dengan demikian :

PEMBELI PEMBELI KOTA KOTA

Contoh yang lain :Contoh yang lain :{ PEMBELI, BARANG } { PEMBELI, BARANG } JUMLAH JUMLAH{ PEMBELI, BARANG } { PEMBELI, BARANG } KOTA KOTA{ PEMBELI, BARANG } { PEMBELI, BARANG } { JUMLAH, KOTA } { JUMLAH, KOTA }

Catatan : Catatan : Bagian yang terletak di sebelah kiri panah biasa disebut Bagian yang terletak di sebelah kiri panah biasa disebut penentu (determinan)penentu (determinan) dan bagian yang yang terletak di dan bagian yang yang terletak di sebelah kanan panah disebut sebelah kanan panah disebut yang tergantung yang tergantung (dependen).(dependen).

Tanda { } biasa digunakan kalau ada lebih dari satu Tanda { } biasa digunakan kalau ada lebih dari satu atribut, baik pada penentu maupun yang tergantung.atribut, baik pada penentu maupun yang tergantung.

Dependensi Fungsional (lanj.)Dependensi Fungsional (lanj.)

Dependensi Fungsional SepenuhnyaDependensi Fungsional Sepenuhnya Definisi dependensi fungsional sepenuhnya adalah sebagai Definisi dependensi fungsional sepenuhnya adalah sebagai berikut :berikut :

Suatu atribut Y mempunyai dependensi fungsional Suatu atribut Y mempunyai dependensi fungsional penuh terhadap atribut X jika :penuh terhadap atribut X jika :

Y mempunyai dependensi fungsional terhadap XY mempunyai dependensi fungsional terhadap XY tidak memiliki dependensi terhadap bagian dari X.Y tidak memiliki dependensi terhadap bagian dari X.

Sebagai contoh, terdapat relasi PELANGGAN :Sebagai contoh, terdapat relasi PELANGGAN :

PELANGGAN (KODE_PELANGGAN, NAMA, KOTA, PELANGGAN (KODE_PELANGGAN, NAMA, KOTA, NOMOR_FAX)NOMOR_FAX)

Pada relasi ini :Pada relasi ini :{KODE_PELANGGAN, KOTA} {KODE_PELANGGAN, KOTA} NOMOR_FAX NOMOR_FAXKODE_PELANGGAN KODE_PELANGGAN NOMOR_FAX NOMOR_FAX

Mengingat bahwa NOMOR_FAX bergantung pada Mengingat bahwa NOMOR_FAX bergantung pada { KODE_PELANGGAN, KOTA } (kondisi 1) dan juga { KODE_PELANGGAN, KOTA } (kondisi 1) dan juga bergantung pada KODE_PELANGGAN (kondisi 2), yang bergantung pada KODE_PELANGGAN (kondisi 2), yang tidak lain adalah bagian dari { KODE_PELANGGAN, KOTA }, tidak lain adalah bagian dari { KODE_PELANGGAN, KOTA }, maka NOMOR_FAX tidaklah mempunyai dependensi maka NOMOR_FAX tidaklah mempunyai dependensi fungsional sepenuhnya terhadap { KODE_PELANGGAN, fungsional sepenuhnya terhadap { KODE_PELANGGAN, KOTA }. Dengan kata lain, NOMOR_FAX hanya mempunyai KOTA }. Dengan kata lain, NOMOR_FAX hanya mempunyai dependensi fungsional sepenuhnya terhadap dependensi fungsional sepenuhnya terhadap KODE_PELANGGAN.KODE_PELANGGAN.

Catatan :Catatan :Berkaitan dengan hal ini terdapat istilah Berkaitan dengan hal ini terdapat istilah irreducible irreducible dependentdependent atau dependensi yang tak dapat dibagi lagi. atau dependensi yang tak dapat dibagi lagi. Istilah ini identik dengan dependensi fungsional Istilah ini identik dengan dependensi fungsional sepenuhnya (sepenuhnya (full functional dependentfull functional dependent) atau terkadang ) atau terkadang hanya disebut dependensi sepenuhnya (hanya disebut dependensi sepenuhnya (fully dependentfully dependent).).

Dependensi Fungsional Sepenuhnya Dependensi Fungsional Sepenuhnya (lanj.)(lanj.)

Dependensi TotalDependensi Total

Definisi dependensi total adalah sebagai berikut :Definisi dependensi total adalah sebagai berikut :

Suatu atribut Y mempunyai dependensi Suatu atribut Y mempunyai dependensi total terhadap atribut X jika :total terhadap atribut X jika :

Y memiliki dependensi fungsional terhadap Y memiliki dependensi fungsional terhadap XXX mempunyai dependensi fungsional X mempunyai dependensi fungsional terhadap Yterhadap Y

Dependensi seperti ini dinyatakan dengan notasi :Dependensi seperti ini dinyatakan dengan notasi :

X X Y Y

Dependensi Total (lanj.)Dependensi Total (lanj.)

Dependensi TransitifDependensi Transitif

Definisi dependensi transitif adalah Definisi dependensi transitif adalah sebagai berikut :sebagai berikut :

Atribut Z mempunyai dependensi Atribut Z mempunyai dependensi transitif terhadap X bila :transitif terhadap X bila :

Y memiliki dependensi fungsional terhadap XY memiliki dependensi fungsional terhadap XZ memiliki dependensi fungsional terhadap YZ memiliki dependensi fungsional terhadap Y

Sebagai contoh, terdapat relasi Sebagai contoh, terdapat relasi sebagaimana diperlihatkan pada gambar 7 sebagaimana diperlihatkan pada gambar 7 sebagai berikut ini :sebagai berikut ini :

Dependensi Transitif (lanj.)Dependensi Transitif (lanj.)

Pada relasi ini :Pada relasi ini :

KULIAH KULIAH { RUANG, WAKTU } { RUANG, WAKTU }RUANG RUANG TEMPAT TEMPAT

Terlihat bahwa :Terlihat bahwa :

KULIAH KULIAH RUANG RUANG TEMPAT TEMPAT

Dengan demikian TEMPAT mempunyai Dengan demikian TEMPAT mempunyai dependensi transitif terhadap KULIAH.dependensi transitif terhadap KULIAH.

Dependensi Transitif (lanj.)Dependensi Transitif (lanj.)

4. DIAGRAM DEPENDENSI FUNGSIONAL4. DIAGRAM DEPENDENSI FUNGSIONAL

Diagram dependensi fungsional (diagram DF) Diagram dependensi fungsional (diagram DF) adalah diagram yang digunakan untuk adalah diagram yang digunakan untuk menggambarkan dependensi fungsional. menggambarkan dependensi fungsional. Diagram ini menunjukkan hubungan antara Diagram ini menunjukkan hubungan antara atribut yang menjadi penentu atribut lainnya, atribut yang menjadi penentu atribut lainnya, dengan hubungan yang dinyatakan dengan dengan hubungan yang dinyatakan dengan tanda panah.tanda panah.

Sebagai contoh, dependensi fungsional pada Sebagai contoh, dependensi fungsional pada relasi yang terdapat pada gambar 7. dapat relasi yang terdapat pada gambar 7. dapat disajikan dalam diagram dependensi fungsional disajikan dalam diagram dependensi fungsional sebagaimana terlihat pada gambar 8 :sebagaimana terlihat pada gambar 8 :

4. DIAGRAM DEPENDENSI FUNGSIONAL (lanj.)4. DIAGRAM DEPENDENSI FUNGSIONAL (lanj.)

KULIAH KULIAH { RUANG, WAKTU } { RUANG, WAKTU }RUANG RUANG TEMPAT TEMPAT

Digambarkan :Digambarkan :

5. DEKOMPOSISI TAK HILANG5. DEKOMPOSISI TAK HILANG

Pada proses normalisasi seringkali terjadi Pada proses normalisasi seringkali terjadi pemecahan sebuah relasi menjadi dua relasi pemecahan sebuah relasi menjadi dua relasi atau lebih. Proses pemecahan seperti ini biasa atau lebih. Proses pemecahan seperti ini biasa disebut dengan istilah dekomposisi. Secara disebut dengan istilah dekomposisi. Secara lebih khusus, macam dekomposisi yang lebih khusus, macam dekomposisi yang dilakukan adalah dekomposisi tak hilang, yang dilakukan adalah dekomposisi tak hilang, yang artinya bahwa tak ada informasi yang hilang artinya bahwa tak ada informasi yang hilang ketika relasi dipecah menjadi relasi-relasi lain.ketika relasi dipecah menjadi relasi-relasi lain.

Gambar 9 memperlihatkan sebuah relasi dan Gambar 9 memperlihatkan sebuah relasi dan dua macam dekomposisi :dua macam dekomposisi :

DEKOMPOSISI TAK HILANG (lanj.)DEKOMPOSISI TAK HILANG (lanj.)

DEKOMPOSISI TAK HILANG (lanj.)DEKOMPOSISI TAK HILANG (lanj.)

Pada dekomposisi di atas :Pada dekomposisi di atas :Pada kasus (a), dekomposisi bersifat tak hilang. Pada kasus (a), dekomposisi bersifat tak hilang. Berdasarkan kedua relasi hasil dekomposisi (terkadang Berdasarkan kedua relasi hasil dekomposisi (terkadang disebut proyeksi), relasi semula bisa diperoleh kembali. disebut proyeksi), relasi semula bisa diperoleh kembali. Sebagai contoh, berdasarkan kedua relasi hasil Sebagai contoh, berdasarkan kedua relasi hasil dekomposisi, informasi bahwa nomor 95001 bernama ALI dekomposisi, informasi bahwa nomor 95001 bernama ALI dengan program studi berupa EKONOMI dapat diperoleh dengan program studi berupa EKONOMI dapat diperoleh kembali. Begitu juga untuk nomor 95002 dan 95003.kembali. Begitu juga untuk nomor 95002 dan 95003.

Pada kasus (b) terdapat suatu kerancuan. Nama yang Pada kasus (b) terdapat suatu kerancuan. Nama yang bernomor 95001 memang betul adalah ALI (Relasi : bernomor 95001 memang betul adalah ALI (Relasi : NIM_NAMA ), tetapi si ALI yang bernomor 95001 ini NIM_NAMA ), tetapi si ALI yang bernomor 95001 ini mengambil program studi EKONOMI atau FISIKA (Relasi mengambil program studi EKONOMI atau FISIKA (Relasi NAMA_PROG, karena ada dua nama ALI) ? Dekomposisi NAMA_PROG, karena ada dua nama ALI) ? Dekomposisi yang menghasilkan relasi NIM_NAMA dan NAMA_PROG ini yang menghasilkan relasi NIM_NAMA dan NAMA_PROG ini merupakan contoh dekomposisi hilang.merupakan contoh dekomposisi hilang.

6. BENTUK NORMAL6. BENTUK NORMALAturan-aturan normalisasi dinyatakan dalam istilah Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk normal adalah suatu aturan yang bentuk normal. Bentuk normal adalah suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut pada level-level dipenuhi oleh relasi-relasi tersebut pada level-level normalisasi. Suatu relasi dikatakan berada dalam bentuk normalisasi. Suatu relasi dikatakan berada dalam bentuk normal tertentu jika memenuhi kondisi-kondisi tertentu. normal tertentu jika memenuhi kondisi-kondisi tertentu. Misalnya, suatu relasi berada dalam bentuk normal Misalnya, suatu relasi berada dalam bentuk normal pertama (biasa disebut 1NF) jika dan hanya jika setiap pertama (biasa disebut 1NF) jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris. atribut bernilai tunggal untuk setiap baris.

Beberapa level yang biasa digunakan pada normalisasi Beberapa level yang biasa digunakan pada normalisasi adalah :adalah :Bentuk normal pertama (1NF),Bentuk normal pertama (1NF),Bentuk normal kedua (2NF),Bentuk normal kedua (2NF),Bentuk normal ketiga (3NF),Bentuk normal ketiga (3NF),Bentuk normal Boyce-Codd (BCNF),Bentuk normal Boyce-Codd (BCNF),Bentuk normal keempat (4NF),Bentuk normal keempat (4NF),Bentuk normal kelima (5NF).Bentuk normal kelima (5NF).

BENTUK NORMAL (lanj.)BENTUK NORMAL (lanj.)

Bentuk normal pertama hingga ketiga (dibuat Bentuk normal pertama hingga ketiga (dibuat oleh E.F. Codd) merupakan bentuk normal yang oleh E.F. Codd) merupakan bentuk normal yang umum dipakai. Artinya bahwa pada kebanyakan umum dipakai. Artinya bahwa pada kebanyakan relasi, bila ketiga bentuk normal tersebut telah relasi, bila ketiga bentuk normal tersebut telah dipenuhi, maka persoalan anomali tidak akan dipenuhi, maka persoalan anomali tidak akan muncul lagi. Bentuk normal Boyce-Codd muncul lagi. Bentuk normal Boyce-Codd merupakan revisi terhadap bentuk normal ketiga. merupakan revisi terhadap bentuk normal ketiga. Bentuk 4NF dan 5NF (dikemukan oleh Fagin) Bentuk 4NF dan 5NF (dikemukan oleh Fagin) hanya dipakai pada kasus-kasus khusus, yakni hanya dipakai pada kasus-kasus khusus, yakni pada relasi yang mengandung dependensi nilai pada relasi yang mengandung dependensi nilai banyak.banyak.

Bentuk-bentuk normal sering digambarkan Bentuk-bentuk normal sering digambarkan sebagaimana terlihat pada gambar 10.sebagaimana terlihat pada gambar 10.

BENTUK NORMAL (lanj.)BENTUK NORMAL (lanj.)

Bentuk Normal Pertama (1NF)Bentuk Normal Pertama (1NF)

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

Sebagai contoh, berikut adalah data dalam Sebagai contoh, berikut adalah data dalam keadaan belum ternormalisasi :keadaan belum ternormalisasi :

Bentuk Normal Pertama (1NF) (lanj.)Bentuk Normal Pertama (1NF) (lanj.)

Bentuk Normal Pertama (1NF) (lanj.)Bentuk Normal Pertama (1NF) (lanj.)

Pada contoh di atas, KEAHLIAN menyatakan atribut yang Pada contoh di atas, KEAHLIAN menyatakan atribut yang berulang (misalnya, FIKA memiliki tiga keahlian, dan berulang (misalnya, FIKA memiliki tiga keahlian, dan ILHAM memiliki dua keahlian). Bentuk seperti ini perlu ILHAM memiliki dua keahlian). Bentuk seperti ini perlu diubah menjadi bentuk normal pertama, dengan cara yang diubah menjadi bentuk normal pertama, dengan cara yang akan dijelaskan berikutnya :akan dijelaskan berikutnya :Definisi bentuk normal pertama adalah sebagai berikut :Definisi bentuk normal pertama adalah sebagai berikut :

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

Data yang tak ternormalisasi pada gambar 11 dapat diubah Data yang tak ternormalisasi pada gambar 11 dapat diubah ke dalam bentuk normal pertama dengan cara membuat ke dalam bentuk normal pertama dengan cara membuat setiap baris berisi kolom dengan jumlah yang sama dan setiap baris berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu nilai. Data pada setiap kolom hanya mengandung satu nilai. Data pada gambar 11 perlu diubah menjadi relasi sebagaimana gambar 11 perlu diubah menjadi relasi sebagaimana terlihat pada gambar 12 berikut :terlihat pada gambar 12 berikut :

Bentuk normal pertama (1NF) (lanj.)Bentuk normal pertama (1NF) (lanj.)

Bentuk Normal Pertama (1NF) (lanj.)Bentuk Normal Pertama (1NF) (lanj.)

Bentuk Normal Pertama (1NF) (lanj.)Bentuk Normal Pertama (1NF) (lanj.)

Bentuk semacam itu banyak dipakai oleh Bentuk semacam itu banyak dipakai oleh pengembang yang barangkali tidak mengenal pengembang yang barangkali tidak mengenal konsep normalisasi. Sejumlah item ditulis berdiri konsep normalisasi. Sejumlah item ditulis berdiri sebagai kolom tersendiri. Tentu saja rancangan sebagai kolom tersendiri. Tentu saja rancangan seperti ini tidak praktis. Berapa jumlah kolom seperti ini tidak praktis. Berapa jumlah kolom yang disediakan untuk menyediakan macam item yang disediakan untuk menyediakan macam item yang dipesan oleh seseorang ?. Barangkali yang dipesan oleh seseorang ?. Barangkali jumlah sebanyak 20 dirasakan cukup untuk jumlah sebanyak 20 dirasakan cukup untuk mewakili macam item yang mungkin dipesan oleh mewakili macam item yang mungkin dipesan oleh seseorang, namun bagaimana jika banyak seseorang, namun bagaimana jika banyak pesanan yang terdiri atas 2 macam ? Bukankah pesanan yang terdiri atas 2 macam ? Bukankah banyak kolom yang tidak digunakan ? Bagaimana banyak kolom yang tidak digunakan ? Bagaimana pula seandainya pada kasus tertentu ada pula seandainya pada kasus tertentu ada seseorang yang memesan lebih dari 20 item ?seseorang yang memesan lebih dari 20 item ?

Bentuk sebagaimana pada gambar 13 perlu Bentuk sebagaimana pada gambar 13 perlu diubah menjadi relasi yang diperlihatkan pada diubah menjadi relasi yang diperlihatkan pada gambar 14 berikut :gambar 14 berikut :

Bentuk Normal Pertama (1NF) (lanj.)Bentuk Normal Pertama (1NF) (lanj.)

Bentuk Normal Pertama (1NF) (lanj.)Bentuk Normal Pertama (1NF) (lanj.)

Relasi yang memenuhi bentuk normal pertama Relasi yang memenuhi bentuk normal pertama umumnya memiliki berbagai masalah. Masalah yang umumnya memiliki berbagai masalah. Masalah yang timbul secara umum adalah disebabkan oleh adanya timbul secara umum adalah disebabkan oleh adanya kemubaziran. Kemubaziran (perhatikan baris-baris kemubaziran. Kemubaziran (perhatikan baris-baris dengan NOMOR_PESANAN sama dengan 50001 pada dengan NOMOR_PESANAN sama dengan 50001 pada gambar 14. TGL_PESANAN dan TOTAL merupakan gambar 14. TGL_PESANAN dan TOTAL merupakan contoh kemubaziran) yang dapat mengakibatkan contoh kemubaziran) yang dapat mengakibatkan ketidakkonsistenan, yakni bila ada perubahan data ketidakkonsistenan, yakni bila ada perubahan data yang tidak lengkap terhadap data yang mubazir yang tidak lengkap terhadap data yang mubazir (misalnya TGL_PESANAN pada gambar 14). Selain itu, (misalnya TGL_PESANAN pada gambar 14). Selain itu, sekalipun ketidakkonsistenan misalnya tidak terjadi, sekalipun ketidakkonsistenan misalnya tidak terjadi, namun terjadi ketidakefisienan sewaktu mengubah namun terjadi ketidakefisienan sewaktu mengubah data.data.

Berbagai persoalan yang menyangkut anomali (baik Berbagai persoalan yang menyangkut anomali (baik anomali peremajaan, maupun anomali penyisipan dan anomali peremajaan, maupun anomali penyisipan dan anomali penghapusan) biasanya juga muncul pada anomali penghapusan) biasanya juga muncul pada relasi yang hanya memenuhi bentuk normal pertama.relasi yang hanya memenuhi bentuk normal pertama.

Bentuk Normal Kedua (2NF)Bentuk Normal Kedua (2NF)Bentuk normal kedua didefinisikan berdasarkan dependensi Bentuk normal kedua didefinisikan berdasarkan dependensi fungsional :fungsional :

Suatu relasi berada dalam bentuk normal kedua jika Suatu relasi berada dalam bentuk normal kedua jika dan hanya jika :dan hanya jika :

– Berada pada bentuk normal pertamaBerada pada bentuk normal pertama– Semua atribut bukan kunci memiliki dependensi Semua atribut bukan kunci memiliki dependensi

sepenuhnya terhadap kunci primersepenuhnya terhadap kunci primer

Catatan :Catatan :Atribut bukan kunci adalah atribut yang tidak merupakan Atribut bukan kunci adalah atribut yang tidak merupakan bagian kunci primer.bagian kunci primer.

Dalam ungkapan yang lebih praktis, bentuk normal kedua Dalam ungkapan yang lebih praktis, bentuk normal kedua mensyaratkan setiap atribut bergantung kepada kunci primer. mensyaratkan setiap atribut bergantung kepada kunci primer. Relasi pada gambar 12 tidak tergolong sebagai bentuk normal Relasi pada gambar 12 tidak tergolong sebagai bentuk normal kedua, meskipun memenuhi persyaratan bentuk normal kedua, meskipun memenuhi persyaratan bentuk normal pertama. Perhatikan bahwa NAMA dan JABATAN mempunyai pertama. Perhatikan bahwa NAMA dan JABATAN mempunyai dependensi sepenuhnya terhadap NIP (sebab untuk setiap dependensi sepenuhnya terhadap NIP (sebab untuk setiap nilai NIP yang sama, NAMA dan JABATAN juga sama). Namun nilai NIP yang sama, NAMA dan JABATAN juga sama). Namun tidak demikian halnya dengan KEAHLIAN dan PENGALAMAN.tidak demikian halnya dengan KEAHLIAN dan PENGALAMAN.

Bentuk Normal Kedua (2NF) (lanj.)Bentuk Normal Kedua (2NF) (lanj.)

Untuk mengubah suatu relasi yang Untuk mengubah suatu relasi yang tergolong sebagai bentuk normal pertama tergolong sebagai bentuk normal pertama ke bentuk normal kedua perlu dilakukan ke bentuk normal kedua perlu dilakukan dekomposisi terhadap relasi tersebut. dekomposisi terhadap relasi tersebut. Proses dekomposisi dapat dilakukan Proses dekomposisi dapat dilakukan dengan menggambarkan diagram dengan menggambarkan diagram dependensi fungsional terlebih dahulu. dependensi fungsional terlebih dahulu. Berdasarkan diagram ini, relasi dalam Berdasarkan diagram ini, relasi dalam bentuk normal pertama dipecah ke dalam bentuk normal pertama dipecah ke dalam sejumlah relasi.sejumlah relasi.

Sebagai contoh, salah satu relasi yang Sebagai contoh, salah satu relasi yang dibahas di depan ditulis ulang pada bagian dibahas di depan ditulis ulang pada bagian berikut ini.berikut ini.

Bentuk Normal Kedua (2NF) (lanj.)Bentuk Normal Kedua (2NF) (lanj.)

Bentuk Normal Kedua (2NF) (lanj.)Bentuk Normal Kedua (2NF) (lanj.)Diagram dependensi fungsional di atas menjelaskan bahwa :Diagram dependensi fungsional di atas menjelaskan bahwa :

NAMA dan JABATAN memiliki dependensi fungsional NAMA dan JABATAN memiliki dependensi fungsional terhadap NIP.terhadap NIP.

LAMA mempunyai dependensi fungsional terhadap gabungan LAMA mempunyai dependensi fungsional terhadap gabungan NIP dan KEAHLIANNIP dan KEAHLIAN

Berdasarkan diagram dependensi fungsional tersebut, Berdasarkan diagram dependensi fungsional tersebut, pendekomposisiannya menghasilkan dua buah relasi, yang pendekomposisiannya menghasilkan dua buah relasi, yang katakanlah saja disebut NNJ dan NKP. Kedua relasi tersebut katakanlah saja disebut NNJ dan NKP. Kedua relasi tersebut adalah sebagai berikut :adalah sebagai berikut :

NNJ ( NNJ ( NIPNIP, NAMA, JABATAN ), NAMA, JABATAN )NKP ( NKP ( NIP, KEAHLIANNIP, KEAHLIAN, LAMA ), LAMA )

Pada kedua relasi di atas, tanda garis bawah digunakan untuk Pada kedua relasi di atas, tanda garis bawah digunakan untuk menyatakan kunci primer masing-masing relasi.menyatakan kunci primer masing-masing relasi.

Dengan pendekomposisian seperti di atas, isi kedua relasi Dengan pendekomposisian seperti di atas, isi kedua relasi tersebut akan berupa sebagaimana yang diperlihatkan pada tersebut akan berupa sebagaimana yang diperlihatkan pada gambar 16 :gambar 16 :

Bentuk Normal Kedua (2NF) (lanj.)Bentuk Normal Kedua (2NF) (lanj.)

Bentuk Normal Kedua (2NF) (lanj.)Bentuk Normal Kedua (2NF) (lanj.)C.J. DateC.J. Date menggambarkan proses dekomposisi relasi yang menggambarkan proses dekomposisi relasi yang tergolong dalam bentuk normal pertama ke bentuk normal tergolong dalam bentuk normal pertama ke bentuk normal kedua seperti berikut : kedua seperti berikut : Terdapat relasi R :Terdapat relasi R :

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

R dapat digantikan dengan dua proyeksi R1 dan R2R dapat digantikan dengan dua proyeksi R1 dan R2

R1 ( A, D )R1 ( A, D ) KUNCI PRIMER (A)KUNCI PRIMER (A)R2 ( A, B, C )R2 ( A, B, C ) KUNCI PRIMER ( A, B )KUNCI PRIMER ( A, B ) KUNCI TAMU ( A ) REFERENSI R1KUNCI TAMU ( A ) REFERENSI R1

Bila rumusan diatas dikenakan pada relasi berikut :Bila rumusan diatas dikenakan pada relasi berikut :

Bentuk Normal Kedua (2NF) (lanj.)Bentuk Normal Kedua (2NF) (lanj.)

Bentuk Normal Kedua (2NF) (lanj.)Bentuk Normal Kedua (2NF) (lanj.)

Maka akan diperoleh dua relasi :Maka akan diperoleh dua relasi :

PESANAN1 ( PESANAN1 ( NOMOR_PESANANNOMOR_PESANAN, TANGGAL_PESANAN, TOTAL ), TANGGAL_PESANAN, TOTAL )PESANAN2 ( PESANAN2 ( NOMOR_PESANAN, ITEMNOMOR_PESANAN, ITEM ) )

Dalam hal ini NOMOR_PESANAN bertindak sebagai Dalam hal ini NOMOR_PESANAN bertindak sebagai kunci primer PESANAN1 dan gabungan kunci primer PESANAN1 dan gabungan NOMOR_PESANAN dan ITEM bertindak sebagai kunci NOMOR_PESANAN dan ITEM bertindak sebagai kunci primer pada PESANAN2. Pada PESANAN2, primer pada PESANAN2. Pada PESANAN2, NOMOR_PESANAN menjadi kunci tamu yang NOMOR_PESANAN menjadi kunci tamu yang mereferensi ke PESANAN1.mereferensi ke PESANAN1.

Berikut adalah isi masing-masing relasi PESANAN1 dan Berikut adalah isi masing-masing relasi PESANAN1 dan PESANAN2 :PESANAN2 :

Bentuk Normal Kedua (2NF) (lanj.)Bentuk Normal Kedua (2NF) (lanj.)

Bentuk Normal Ketiga (3NF)Bentuk Normal Ketiga (3NF)

Definisi bentuk normal ketiga :Definisi bentuk normal ketiga :

Suatu relasi dikatakan dalam bentuk normal ketiga Suatu relasi dikatakan dalam bentuk normal ketiga (3NF) jika :(3NF) jika :

Berada dalam bentuk normal keduaBerada dalam bentuk normal keduaSetiap atribut bukan kunci tidak memiliki dependensi Setiap atribut bukan kunci tidak memiliki dependensi

transitif terhadap kunci primer. transitif terhadap kunci primer.

Relasi NNJ dan NKP pada contoh di depan memenuhi kriteria Relasi NNJ dan NKP pada contoh di depan memenuhi kriteria di atas, sehingga kedua relasi tersebut masuk ke dalam di atas, sehingga kedua relasi tersebut masuk ke dalam bentuk normal ketiga. Begitu juga halnya dengan relasi bentuk normal ketiga. Begitu juga halnya dengan relasi PESANAN1 dan PESANAN2.PESANAN1 dan PESANAN2.

Contoh suatu relasi yang memenuhi bentuk normal kedua Contoh suatu relasi yang memenuhi bentuk normal kedua tetapi tidak memenuhi bentuk normal ketiga dapat dilihat tetapi tidak memenuhi bentuk normal ketiga dapat dilihat pada gambar 17 :pada gambar 17 :

Bentuk Normal Ketiga (3NF) (lanj.)Bentuk Normal Ketiga (3NF) (lanj.)

Bentuk Normal Ketiga (3NF) (lanj.)Bentuk Normal Ketiga (3NF) (lanj.)

Pada contoh di atas, kunci primer relasi berupa gabungan Pada contoh di atas, kunci primer relasi berupa gabungan NOMOR_PESANAN dan NOMOR_URUT. Baik KODE_ITEM NOMOR_PESANAN dan NOMOR_URUT. Baik KODE_ITEM maupun NAMA_ITEM mempunyai dependensi fungsional maupun NAMA_ITEM mempunyai dependensi fungsional terhadap kunci primer tersebut. Namun perlu diperhatikan terhadap kunci primer tersebut. Namun perlu diperhatikan bahwa bila KODE_ITEM bernilai sama, NAMA_ITEM juga bahwa bila KODE_ITEM bernilai sama, NAMA_ITEM juga bernilai sama. Hal ini menunjukkan adanya suatu bernilai sama. Hal ini menunjukkan adanya suatu dependensi di antara kedua atribut tersebut. Lalu manakah dependensi di antara kedua atribut tersebut. Lalu manakah yang menjadi penentu ? apakah KODE_ITEM bergantung yang menjadi penentu ? apakah KODE_ITEM bergantung pada NAMA_ITEM, atau sebaliknya ? Suatu item bisa saja pada NAMA_ITEM, atau sebaliknya ? Suatu item bisa saja memiliki nama sama, tetapi mempunyai karakteristik yang memiliki nama sama, tetapi mempunyai karakteristik yang berbeda. Sebagai contoh, dua buah mobil bisa saja diberi berbeda. Sebagai contoh, dua buah mobil bisa saja diberi nama sama, tetapi masing-masing mempunyai warna nama sama, tetapi masing-masing mempunyai warna tersendiri. Pada keadaan seperti ini tidaklah bisa dikatakan tersendiri. Pada keadaan seperti ini tidaklah bisa dikatakan bahwa NAMA_ITEM-lah yang menentukan KODE_ITEM. bahwa NAMA_ITEM-lah yang menentukan KODE_ITEM. Lebih tepat kalau KODE_ITEM yang menjadi penentu. Jadi Lebih tepat kalau KODE_ITEM yang menjadi penentu. Jadi NAMA_ITEM memiliki dependensi fungsional terhadap NAMA_ITEM memiliki dependensi fungsional terhadap KODE_ITEM. Adanaya dependensi NAMA_ITEM terhadap KODE_ITEM. Adanaya dependensi NAMA_ITEM terhadap KODE_ITEM pada relasi ini menunjukkan bahwa KODE_ITEM pada relasi ini menunjukkan bahwa NAMA_ITEM tidak memiliki dependensi secara langsung NAMA_ITEM tidak memiliki dependensi secara langsung terhadap kunci primer (gabungan NOMOR_PESANAN dan terhadap kunci primer (gabungan NOMOR_PESANAN dan NOMOR_URUT). Dengan kata lain, NAMA_ITEM memiliki NOMOR_URUT). Dengan kata lain, NAMA_ITEM memiliki dependensi transitif terhadap kunci primer.dependensi transitif terhadap kunci primer.

Bentuk Normal Ketiga (3NF) (lanj.)Bentuk Normal Ketiga (3NF) (lanj.)Agar relasi pada gambar 17 memenuhi bentuk normal ketiga maka Agar relasi pada gambar 17 memenuhi bentuk normal ketiga maka diperlukan langkah normalisasi dengan mengikuti pendekatan berikut diperlukan langkah normalisasi dengan mengikuti pendekatan berikut ::

Bila terdapat relasi R seperti berikut :Bila terdapat relasi R seperti berikut :R ( A, B, C )R ( A, B, C ) KUNCI PRIMER (A)KUNCI PRIMER (A) B B C C

Maka relasi R dapat digantikan dengan dua proyeksi R1 dan R2, Maka relasi R dapat digantikan dengan dua proyeksi R1 dan R2, dengan bentuk sebagai berikut :dengan bentuk sebagai berikut :

R1 ( B, C )R1 ( B, C ) KUNCI PRIMER ( B )KUNCI PRIMER ( B )R2 ( A, B )R2 ( A, B ) KUNCI PRIMER (A)KUNCI PRIMER (A) KUNCI TAMU (B) REFERENSI R1KUNCI TAMU (B) REFERENSI R1

Dengan menggunakan pendekatan di atas, maka relasi pada gambar Dengan menggunakan pendekatan di atas, maka relasi pada gambar 17 dapat didekomposisi menjadi dua relasi sebagaimana 17 dapat didekomposisi menjadi dua relasi sebagaimana diperlihatkan pada gambar 18 :diperlihatkan pada gambar 18 :

Bentuk Normal Ketiga (3NF) (lanj.)Bentuk Normal Ketiga (3NF) (lanj.)

Bentuk Normal Boyce-Codd (BCNF)Bentuk Normal Boyce-Codd (BCNF)

Definisi bentuk normal Boyce-Codd :Definisi bentuk normal Boyce-Codd :

Suatu relasi disebut memenuhi bentuk normal Boyce-Suatu relasi disebut memenuhi bentuk normal Boyce-Codd jika dan hanya jika semua penentu (determinan) Codd jika dan hanya jika semua penentu (determinan) adalah kunci kandidat (atribut yang bersifat unik).adalah kunci kandidat (atribut yang bersifat unik).

BCNF merupakan bentuk normal sebagai perbaikan terhadap BCNF merupakan bentuk normal sebagai perbaikan terhadap 3NF. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk sebaliknya. Suatu relasi yang 3NF, tetapi tidak untuk sebaliknya. Suatu relasi yang memenuhi 3NF belum tentu memenuhi BCNF. Dalam banyak memenuhi 3NF belum tentu memenuhi BCNF. Dalam banyak literatur disebutkan bahwa BCNF adalah perbaikan dari 3NF, literatur disebutkan bahwa BCNF adalah perbaikan dari 3NF, karena bentuk normal ketiga pun mungkin masih karena bentuk normal ketiga pun mungkin masih mengandung anomali sehingga masih perlu dinormalisasi mengandung anomali sehingga masih perlu dinormalisasi lebih lanjut.lebih lanjut.

Untuk melukiskan relasi yang tergolong sebagai 3NF tetapi Untuk melukiskan relasi yang tergolong sebagai 3NF tetapi tidak memenuhi BCNF, terlihat pada relasi SKT gambar 19 :tidak memenuhi BCNF, terlihat pada relasi SKT gambar 19 :

Bentuk Normal Boyce-Codd (BCNF) (lanj.)Bentuk Normal Boyce-Codd (BCNF) (lanj.)

Bentuk Normal Boyce-Codd (BCNF) (lanj.)Bentuk Normal Boyce-Codd (BCNF) (lanj.)

Relasi di atas didasarkan oleh fakta :Relasi di atas didasarkan oleh fakta :

Seseorang siswa dapat mengambil sejumlah kursus bahasa.Seseorang siswa dapat mengambil sejumlah kursus bahasa.Setiap tutor hanya mengajar pada sebuah kursus bahasa (misalnya, Setiap tutor hanya mengajar pada sebuah kursus bahasa (misalnya,

Pierre hanya mengajar bahasa Perancis)Pierre hanya mengajar bahasa Perancis)Setiap siswa pada setiap kursus bahasa hanya diajar oleh seorang tutor Setiap siswa pada setiap kursus bahasa hanya diajar oleh seorang tutor

(misalnya, tutor bahasa Inggeris pada kelas Anwar hanyalah Richard)(misalnya, tutor bahasa Inggeris pada kelas Anwar hanyalah Richard)Suatu kursus bahasa yang sama bisa saja memiliki lebih dari satu tutor Suatu kursus bahasa yang sama bisa saja memiliki lebih dari satu tutor

(misalnya, ada kelas bahasa Inggeris yang diajar oleh Richard dan ada (misalnya, ada kelas bahasa Inggeris yang diajar oleh Richard dan ada kelas bahasa Inggeris yang lain yang diajar oleh Suzanne).kelas bahasa Inggeris yang lain yang diajar oleh Suzanne).

Pada keadaan ini, kunci relasi SKT berupa gabungan :Pada keadaan ini, kunci relasi SKT berupa gabungan :SISWA dan KURSUS, sertaSISWA dan KURSUS, sertaSISWA dan TUTOR.SISWA dan TUTOR.

Relasi SKT memenuhi bentuk normal ketiga. Mengapa ? Sebab tak ada Relasi SKT memenuhi bentuk normal ketiga. Mengapa ? Sebab tak ada dependensi transitif pada relasi tersebut. Namun relasi SKT tidak dependensi transitif pada relasi tersebut. Namun relasi SKT tidak memenuhi BCNF lataran adanya determinan TUTOR (yang menentukan memenuhi BCNF lataran adanya determinan TUTOR (yang menentukan KURSUS) dan determinan ini tidak berdiri sebagai kunci kandidat. Gambar KURSUS) dan determinan ini tidak berdiri sebagai kunci kandidat. Gambar 20 menunjukkan diagram dependensi fungsional pada relasi SKT.20 menunjukkan diagram dependensi fungsional pada relasi SKT.

Bentuk Normal Boyce-Codd (BCNF) (lanj.)Bentuk Normal Boyce-Codd (BCNF) (lanj.)

Bentuk Normal Boyce-Codd (BCNF) (lanj.)Bentuk Normal Boyce-Codd (BCNF) (lanj.)Relasi SKT masih menimbulkan anomali. Sebagai contoh, bila Relasi SKT masih menimbulkan anomali. Sebagai contoh, bila baris yang berisi siswa bernama Cecep dihapus maka baris yang berisi siswa bernama Cecep dihapus maka informasi yang menyatakan bahwa Suzanne adalah tutor informasi yang menyatakan bahwa Suzanne adalah tutor bahasa Inggris akan ikut hilang.bahasa Inggris akan ikut hilang.

Cara mengkonversi relasi yang telah memenuhi bentuk Cara mengkonversi relasi yang telah memenuhi bentuk normal ketiga ke BCNF adalah :normal ketiga ke BCNF adalah :d.d.Carilah semua penentuCarilah semua penentue.e.Bila terdapat penentu yang bukan berupa kunci kandidat, Bila terdapat penentu yang bukan berupa kunci kandidat, maka :maka :f.f.Pisahkan relasi tersebut, danPisahkan relasi tersebut, dang.g.Buat penentu tersebut sebagai kunci primer.Buat penentu tersebut sebagai kunci primer.

Itulah sebabnya, agar memenuhi BCNF, relasi SKT perlu Itulah sebabnya, agar memenuhi BCNF, relasi SKT perlu didekomposisi menjadi :didekomposisi menjadi :

ST (SISWA, TUTOR)ST (SISWA, TUTOR)TK (TUTOR, KURSUS)TK (TUTOR, KURSUS)

Komposisi data kedua relasi di atas diperlihatkan pada Komposisi data kedua relasi di atas diperlihatkan pada gambar 21 berikut :gambar 21 berikut :

Bentuk normal Boyce-Codd (BCNF) (lanj.)Bentuk normal Boyce-Codd (BCNF) (lanj.)

Dependensi Nilai Banyak dan Bentuk Dependensi Nilai Banyak dan Bentuk

Normal Keempat (4NF)Normal Keempat (4NF)

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

Contoh hubungan satu ke banyak dapat Contoh hubungan satu ke banyak dapat dilihat pada gambar 22 :dilihat pada gambar 22 :

Bentuk Normal Keempat (4NF) (lanj.)Bentuk Normal Keempat (4NF) (lanj.)

Untuk memahami konsep dependensi Untuk memahami konsep dependensi nilai banyak, perhatikan tabel berikut nilai banyak, perhatikan tabel berikut ini :ini :

Bentuk Normal Keempat (4NF) (lanj.)Bentuk Normal Keempat (4NF) (lanj.)

Bentuk Normal Keempat (4NF) (lanj.)Bentuk Normal Keempat (4NF) (lanj.)

Bentuk Normal Keempat (4NF) (lanj.)Bentuk Normal Keempat (4NF) (lanj.)

Relasi pada gambar 24 merupakan contoh relasi yang Relasi pada gambar 24 merupakan contoh relasi yang memiliki kemubaziran dan tentu saja membawa kemungkinan memiliki kemubaziran dan tentu saja membawa kemungkinan terjadinya berbagai anomali. Salah satu contoh, bila terjadinya berbagai anomali. Salah satu contoh, bila matakuliah Matematika I diajar oleh seorang dosen baru matakuliah Matematika I diajar oleh seorang dosen baru maka ada dua baris yang diciptakan. Baris pertama untuk maka ada dua baris yang diciptakan. Baris pertama untuk menyatakan ISI Diferensial dan baris kedua untuk menyatakan ISI Diferensial dan baris kedua untuk menyatakan ISI integral. Contoh lain, bila Fitria tidak lagi menyatakan ISI integral. Contoh lain, bila Fitria tidak lagi mengajar Matematika 1 (gambar 24) maka informasi bahwa mengajar Matematika 1 (gambar 24) maka informasi bahwa isi Matematika adalah Diferensial dan Integral ikut isi Matematika adalah Diferensial dan Integral ikut menghilang. Meskipun demikian, relasi ini memenuhi menghilang. Meskipun demikian, relasi ini memenuhi persyaratan BCNF. Hal ini disebabkan kunci primer relasi ini persyaratan BCNF. Hal ini disebabkan kunci primer relasi ini berupa gabungan MATAKULIAH, DOSEN, dan ISI.berupa gabungan MATAKULIAH, DOSEN, dan ISI.

Masalah relasi yang memenuhi BCNF sebagaimana kasus di Masalah relasi yang memenuhi BCNF sebagaimana kasus di atas sebenarnya dapat dipecahkan melalui dekomposisi. Hal atas sebenarnya dapat dipecahkan melalui dekomposisi. Hal ini disebabkan adanya kenyataan bahwa antara DOSEN dan ini disebabkan adanya kenyataan bahwa antara DOSEN dan ISI tidak ada ketergantungan. Solusi yang tepat terhadap ISI tidak ada ketergantungan. Solusi yang tepat terhadap masalah ini diajukan oleh R. Fagin melalui konsep dependensi masalah ini diajukan oleh R. Fagin melalui konsep dependensi nilai banyak.nilai banyak.

Bentuk Normal Keempat (4NF) (lanj.)Bentuk Normal Keempat (4NF) (lanj.)Secara umum, dependensi nilai banyak muncul pada relasi yang paling tidak Secara umum, dependensi nilai banyak muncul pada relasi yang paling tidak memiliki tiga atribut dan dua di antaranya bernilai banyak, dan nilai-nilainya memiliki tiga atribut dan dua di antaranya bernilai banyak, dan nilai-nilainya tergantung hanya pada atribut ketiga.tergantung hanya pada atribut ketiga.Pada suatu relasi R dengan atribut A, B, C, atribut B dikatakan bersifat Pada suatu relasi R dengan atribut A, B, C, atribut B dikatakan bersifat multidependen terhadap A jika :multidependen terhadap A jika :Sekumpulan nilai B yang diberikan pada pasangan (A, C) hanya Sekumpulan nilai B yang diberikan pada pasangan (A, C) hanya tergantung pada nilai A, dantergantung pada nilai A, danTak tergantung pada nilai C.Tak tergantung pada nilai C.Hubungan di atas dinyatakan dengan :Hubungan di atas dinyatakan dengan :A A →⟩→⟩ B B(dibaca : ”A menentukan banyak nilai B” atau ”B multidependen terhadap A”).(dibaca : ”A menentukan banyak nilai B” atau ”B multidependen terhadap A”).

Teorema Fagin yang berkaitan dengan dependensi nilai-banyak :Teorema Fagin yang berkaitan dengan dependensi nilai-banyak :Bila R (A, B, C) merupakan suatu relasi, dengan A, B, C adalah atribut-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) atribut relasi tersebut, maka proyeksi dari R berupa (A, B) dan (A, C) jika R memenuhi MVD A jika R memenuhi MVD A →⟩→⟩ B | C. B | C.Perlu diketahui, bila terdapat :Perlu diketahui, bila terdapat :A A →⟩→⟩ B BA A →⟩→⟩ C CMaka keduanya dapat ditulis :Maka keduanya dapat ditulis :A A →⟩→⟩ B | C B | CBerdasarkan teorema Fagin di atas, relasi pada gambar 24 dapat Berdasarkan teorema Fagin di atas, relasi pada gambar 24 dapat didekomposisi menjadi dua relasi sebagaimana terlihat pada gambar 25 didekomposisi menjadi dua relasi sebagaimana terlihat pada gambar 25 berikut : berikut :

Bentuk Normal Keempat (4NF) (lanj.)Bentuk Normal Keempat (4NF) (lanj.)

Dependensi Gabungan dan Bentuk Dependensi Gabungan dan Bentuk Normal Kelima (5NF)Normal Kelima (5NF)

Dependensi gabungan mendasari bentuk normal kelima :Dependensi gabungan mendasari bentuk normal kelima :

Suatu relasi R(X, Y, ..., Z) memenuhi dependensi Suatu relasi R(X, Y, ..., Z) memenuhi dependensi gabungan jika gabungan dari proyeksi A, B, ...,C dengan gabungan jika gabungan dari proyeksi A, B, ...,C dengan A, B, ..., C merupakan subhimpunan dari atribut-atribut A, B, ..., C merupakan subhimpunan dari atribut-atribut R. Dependensi gabungan sesuai dengan definisi di atas R. Dependensi gabungan sesuai dengan definisi di atas dinyatakan dengan notasi :dinyatakan dengan notasi :

*(A, B, ...,C)*(A, B, ...,C)

Dengan A = XY, B = YZ, C = ZXDengan A = XY, B = YZ, C = ZX

Sebagai contoh, terdapat hubungan dealer yang mengageni Sebagai contoh, terdapat hubungan dealer yang mengageni suatu perusahaan distributor kendaraan. Dalam hal ini suatu perusahaan distributor kendaraan. Dalam hal ini distributor memiliki sejumlah produk kendaraan.distributor memiliki sejumlah produk kendaraan.

Bentuk Normal Kelima (5NF) (lanj.)Bentuk Normal Kelima (5NF) (lanj.)

Bentuk Normal Kelima (5NF) (lanj.)Bentuk Normal Kelima (5NF) (lanj.)

Bentuk normal kelima (5NF), yang terkadang Bentuk normal kelima (5NF), yang terkadang disebut PJ/NF (Projection Join/Normal Form), disebut PJ/NF (Projection Join/Normal Form), menggunakan acuan dependensi gabungan. Suatu menggunakan acuan dependensi gabungan. Suatu relasi berada dalam 5NF jika dan hanya jika setiap relasi berada dalam 5NF jika dan hanya jika setiap dependensi gabungan dalam R tersirat oleh kunci dependensi gabungan dalam R tersirat oleh kunci kandidat relasi R. Secara praktis dapat dikatakan kandidat relasi R. Secara praktis dapat dikatakan bahwa suatu relasi R berada dalam 5NF jika data bahwa suatu relasi R berada dalam 5NF jika data yang ada padanya tak dapat lagi dedekomposisi yang ada padanya tak dapat lagi dedekomposisi menjadi relasi-relasi yang lebih kecil dengan kunci menjadi relasi-relasi yang lebih kecil dengan kunci kandidat relasi-relasi yang lebih kecil ini ridak sama kandidat relasi-relasi yang lebih kecil ini ridak sama dengan kunci kandidat relasi. Relasi seperti dengan kunci kandidat relasi. Relasi seperti DEAL_DIST, DIST_KEND, dan DEAL_KEND DEAL_DIST, DIST_KEND, dan DEAL_KEND memenuhi 5NF, sedangkan relasi DDK tidak memenuhi 5NF, sedangkan relasi DDK tidak memenuhi bentuk normal kelima.memenuhi bentuk normal kelima.

Bentuk Normal Kelima (5NF) (lanj.)Bentuk Normal Kelima (5NF) (lanj.)

Bentuk Normal Kelima (5NF) (lanj.)Bentuk Normal Kelima (5NF) (lanj.)

7. OVERNORMALISASI7. OVERNORMALISASITabel-tabel yang memenuhi 5NF terkadang didekomposisi Tabel-tabel yang memenuhi 5NF terkadang didekomposisi lagi. Prosesnya dikenal dengan sebutan overnormalisasi. lagi. Prosesnya dikenal dengan sebutan overnormalisasi. Tujuannya adalah untuk meningkatkan kinerja. Caranya Tujuannya adalah untuk meningkatkan kinerja. Caranya adalah dengan memperhatikan permintaan terhadap data adalah dengan memperhatikan permintaan terhadap data yang sering dilakukan. Kolom-kolom data yang sering yang sering dilakukan. Kolom-kolom data yang sering diperlukan diletakkan pada tabel tersendiri, terpisah diperlukan diletakkan pada tabel tersendiri, terpisah dengan kolom-kolom data yang jarang diperlukan. Alasan dengan kolom-kolom data yang jarang diperlukan. Alasan yang lain, tabel yang terlalu banyak memiliki kolom dapat yang lain, tabel yang terlalu banyak memiliki kolom dapat menimbulkan persoalan yang disebut menimbulkan persoalan yang disebut deadlockdeadlock (saling (saling mengunci) pada pengaksesan yang serentak (sejumlah mengunci) pada pengaksesan yang serentak (sejumlah pengguna mengakses baris yang sama).pengguna mengakses baris yang sama).

Namun perlu juga diperhatikan bahwa tidak selamanya Namun perlu juga diperhatikan bahwa tidak selamanya pendekomposisian terhadap tabel yang telah memenuhi pendekomposisian terhadap tabel yang telah memenuhi 5NF dapat meningkatkan kinerja. Pada kenyataannya, tabel 5NF dapat meningkatkan kinerja. Pada kenyataannya, tabel yang terlalu pendek (sedikit memiliki kolom) juga yang terlalu pendek (sedikit memiliki kolom) juga menimbulkan persoalan peningkatan waktu CPU dan juga menimbulkan persoalan peningkatan waktu CPU dan juga memerlukan banyak I/O disk ketika terjadi penggabungan memerlukan banyak I/O disk ketika terjadi penggabungan data (misalnya untuk penyajian laporan).data (misalnya untuk penyajian laporan).

TUGAS 4TUGAS 4