menurut e.f. codd -...
TRANSCRIPT
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.
Proses pada basis data yang memberikan efek samping yang tidak di-harapkan, macamnya:
Anomali peremajaan; Anomali penghapusan, dan Anomali penyisipan.
IV.2.1. Anomali Peremajaan Terjadi jika pada saat pengubahan pada
sejumlah data yang mubazir, tetapi tidak seluruhnya ikut berubah
Pemasok Kota Barang Jumlah
Agus Jakarta Monitor 12
Citra Bogor Cd 10
Anto Bandung CPU 12
Citra Bogor CPU 3
Pemasok Kota Barang Jumlah
Agus Jakarta Monitor 12
Citra Yogya Cd 10
Anto Bandung CPU 12
Citra Bogor CPU 3
Seandainay pemasok citra berpindah tempat yogya, dan perubahan
dilakukan pada data pertama, maka akan terjadi anomali peremajaan
Terjadi jika pada saat penambahan hendak dilakukan ternyata ada elemen data yang masih kosong dan elemen data tersebut justru menjadi kunci
Contoh :
Relasi ini menyatakan :
Kuliah mengguunakan ruang tertentu.
Suatu ruang berada pada tempat tertentu ( misal ruangmeerapi ada pada gedung utara.
kuliah ruang tempat
Jarkom Merapi Gedung utara
Pbd Merbabu Gedung selatan
Matematika Rama Gedung selatan
Sistem Pakar Shinta Gedung utara
Akan terjadi kelsulitan ketika ingin menambahkan ruangan bau karena
informasi kuliah yang menggunakan ruangan tersebut tidak ada
Terjadi sekiranya suatu baris (tupel) yang tidak terpakai dihapus dan sebagai akibatnya terdapat data lain yang hilang
Merupakan konsep yang mendasari normalisasi;
Menjelaskan hubungan antar atribut atau secara lebih khusus menjelas-kan nilai suatu atribut yang menentukan nilai atribut lainnya, macamnya:
1) Dependensi fungsional;2) Dependensi fungsional sepenuhnya;3) Dependensi total, dan4) Dependensi transitif.
Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X, jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y.
X Y
secara istilah:
penentu (determinan) yang tergantung (dependen)
Pada contoh ini pembeli secara fungsional menentukankota, sebab terlihat bahwa untuk pembeli yang samakotanya juga sama,dengan demikian :
pembeli - kota
contoh lain :
( pembeli, barang )- jumlah.
(pembeli, barang ) kota.
(pembeli, barang ) (jumlah, Kota ).
Pembeli Kota Barang Jumlah
P1 Yogya B1 10
P1 Yogya B2 5
P2 Bandung B1 6
P2 Bandung B2 7
P2 Bandung B3 8
P3 Jakarta b1 4
Suatu atribut Y mempunyai dependensi fungsional sepenuhnya terhadap atribut X, jika:Y mempunyai dependensi fungsional terhadap X, danY tidak memiliki dependensi terhadap bagian dari X.
Berkaitan dengan hal ini terdapat istilah irreducible dependent atau depen-densi yang tidak dapat dibagi lagi. Istilah ini identik dengan dependensi fungsional sepenuhnya (full functional dependent) atau terkadang hanya disebut dependensi sepenuhnya (fully dependent).
Sebagai contoh pada relasi pelanggan ;
Pelanggan(kd_pelanggan, nama, kota,nm_fax ).
Pada relasi ini :
1). (kd_pelanggan,kota) nm_fax.
2).(kd_pelanggan)nm_fax
Dengan kata lain bahwa nm_fax memmpunyai dependensi fungsional terhadap kd_pelanggan
Suatu atribut Y mempunyai dependensi total terhadap atribut X jika:Y memiliki dependensi fungsional terhadap X, danX mempunyai dependensi fungsional terhadap Y.
Dependensi seperti ini dinyatakan dengan notasi:X Y
Contoh :Misalnya relasi seperti gambar berikut :
Kode_pemasok < -- > nama_pemasok
Kd_pemasok Nama_pemasok Kota
A1 Citra Bogor
B1 Anto Bandung
K1 Arif jakarta
Atribut Z mempunyai transitif adalah sebagai berikut:Y memiliki dependensi fungsional terhadap XZ memiliki dependensi fungsional terhadap Y.
atau dapat dituliskanX Y Z
Contoh :
kuliah ruang tempat Waktu
Jarkom Merapi Gedung utara Senis, 08 :00
Pbd Merbabu Gedung selatan Rabu, 09:00
Matematika Rama Gedung selatan Selasa, 08:00
Sistem Pakar Shinta Gedung utara Rabu, 12:00
Pada relasi ini :
Kuliah (ruang,waktu).
Kuliah tempat
Terlihat bahwa kuliah ruang waktu
Dengan demikian tempat mempunyai dependensi transitif terhadap kuliah
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.
CONTOH
KULIAH
TEMPAT
WAKTU
RUANG
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.
Bentun relasi semula
Dekomposisi tak hilang
Dekomposisi hilang
Nim Nama Program_studi
90001 anto Mi
90002 Ali TI
90003 Hendra MI
Nim Nama
90001 anto
90002 Ali
90003 Hendra
Nim Program_studi
90001 Mi
90002 TI
90003 MI
Nama Program_studi
anto Mi
Ali TI
Hendra MI
Nim Nama
90001 anto
90002 Ali
90003 Hendra
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 konsidi-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);
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 atas 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.
Relasi Umum
1NF
2NF
3NF
BCNF
4NF
5NF
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;
Nip Nama Jabatan Keahlisn Lama kerja
107 Ani Analis senior Cobol
Oracle
6
2
108 Anto Analis Senior Cobol
DBaseIII+
2
3
110 anti Programmer Cobol
Dbase
Pascal
2
4
1
Pada contoh diatas Keahlian menyatakan atribut yang
berulang., bentuk seperti ini dapat dirubah kedalam bentuk
normal pertama, menjadi
Nip Nama Jabatan Keahlisn Lama kerja
107 Ani Analis senior Cobol 6
107 Ani Analis senior Oracle 2
108 Anto Analis Senior Cobol 2
108 Anto Analis Senior DBaseIII+ 3
110 anti Programmer Cobol 2
110 anti Programmer Dbase 4
110 anti Programmer Pascal 1
Relasi dalam bentuk normal pertama
Suatu relasi berada dalam bentuk normal kedua jika dan hanya jika:Berada pada bentuk normal pertamaSemua atribut yang bukan kunci memiliki dependensi se-penuhnya 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.
Nip Nama Jabatan Keahlisn Lama kerja
107 Ani Analis senior Cobol 6
107 Ani Analis senior Oracle 2
108 Anto Analis Senior Cobol 2
108 Anto Analis Senior DBaseIII+ 3
110 anti Programmer Cobol 2
110 anti Programmer Dbase 4
110 anti Programmer Pascal 1
Diagram dependensi fungsional untuk relasi diatas dapat
digambarkan sebagai beikut :
Nama
Jabatan
Nip
keahlian
Lama
Dari diagram dependensi fungsional diatas, dapat dilakukan dekomposisi menjadi :
Nip Nama Jabatan
107 Ani Analis senior
108 Anto Analis Senior
110 anti Programmer
Nip Keahlisn Lama kerja
107 Cobol 6
107 Oracle 2
108 Cobol 2
108 DBaseIII+ 3
110 Cobol 2
110 Dbase 4
110 Pascal 1
Terdapat relasi R:
R(A,B,C,D)
KUNCI PRIMER (A,B)
A DR 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.
Suatu relasi dikatakan dalam bentuk ketiga (3NF) jika:
Berada pada bentuk normal kedua
Semua atribut bukan kunci tidak memiliki transitif terhadap kunci primer;
Nm_PSN Nm_Urut Kd_Item Nm_Item
9001 0001 P1 Pensil
9001 0002 P2 Buku tulis
9001 0003 P3 Penggaris
9001 0004 P4 Penghapus
9002 0001 P3 Penggaris
9002 0002 P5 Pulpen
9002 0003 P6 Spidol
9003 0001 P1 Pensil
9003 0002 P2 Buku tulis
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
Nm_PSN Nm_Urut Kd_Item
9001 0001 P1
9001 0002 P2
9001 0003 P3
9001 0004 P4
9002 0001 P3
9002 0002 P5
9002 0003 P6
9003 0001 P1
9003 0002 P2
Kd_Item Nm_Item
P1 Pensil
P2 Buku tulis
P3 Penggaris
P4 Penghapus
P5 Pulpen
P6 Spidol
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.
Misalkan ada tabel SKT :
Siswa Kursus Tutor
Anwar Bahasa Inggris Pierre
Anwar Bahasa Inggris Pierre
Budi Bahasa Inggris Richard
Cecep Bahasa Inggris suzanne
Pada relasi SKT diatas merupakan gabungan dari :
Siswa dan Kursus, serta
Siswa dan Tutor.
Tutor Siswa
Kursus
Siswa Tutor
Anwar Pierre
Anwar Pierre
Budi Richard
Cecep suzanne
Kursus Tutor
Bahasa Inggris Pierre
Bahasa Inggris Richard
Bahasa Inggris suzanne
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.
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
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 --->> CMaka keduanya dapat ditulis menjadi:A --->> B | CSecara praktis, suatu relasi memenuhi bentuk normal keempat jika:telah berada pada BCNF, dantidak mengandung dua atribut atau lebih yang bernilai bany
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.
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 dapat menimbulkan persoalan yang disebut deadlock (saling mengunci) pada pengaksesan yang serentak (sejumlah pengguna mengakses baris yang sama).
Namun perlu juga diperhatikan bahwa tidak selamanya pendekom-posisian 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).