endang b
DESCRIPTION
NORMALISASI DATABASETRANSCRIPT
Normalisasi•A.Pengertian Normalisasi
•>Berasal dari E.F Codd. Salah seorang perintis teknologi basis data. Kronke[4] mendefinisikan normalisasi sebagai proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua relasi atau lebih yang tak memiliki masalah tersebut. Masalah ini sering disebut dengan Anomali.
•B. Anomali
•Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan (misalnya menyebabkan ketidakkonsistenan data atau membuat sesuatu data menjadi hilang ketika data yang lain dihapus ).
•> Macam - macam Anomali :
•1. Anomali Peremajaan.
•2. Anomali Penghapusan.
•3. Anomali Penyisipan.
B.1. Anomali Permajaan.
Anomali ini terjadi bila terjadi pengubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya diubah.
Sebagai contoh , terdapat relasi PESANAN _ Beli yang mengandung data PEMASOK dan KOTA yang menyatakan lokasi pemasok. Barang yang menyatakan nama barang dan jumlah barang yang dipesan.
> Terlihat adanya ketidakkonsistenan . Fakta pertama menyatakan bahwa pemasok citra berlokasi di Bogor, tetapi fakta kedua menyatakan bahwa pemasok citra berada di Bandung . Mana yang benar ? Keadaan inilah yang menyatakan ketidakkonsistenan.
B.2. Anomali Penyisipan.
Anomali penyisipan terjadi jika pada saat penambahan hendak dilakukan ternyata ada elemen data yang masih kosong dan elemen data tersebut justru menjadi kunci. Sebagai contoh terdapat relasi yang berisi tiga buah atribut :
1. KULIAH
2. RUANG
3. TEMPAT
Relasi diatas menyatakan bahwa :
• Kuliah menggunakan RUANG tertentu ( misalnya jaringan komputer menggunakan Ruang Merapi ).
•Suatu RUANG berada pada TEMPAT tertentu ( misalnya ruang merapi terdapat pada gedung utara ).
B.3.Anomali Penghapusan
Anomali penghapusan terjadi sekiranya sesuatu baris ( Tupel ) yang terpakai dihapus dan sebagai akibatnya terdapat data lain yang hilang.
Sebagai contoh relasi KURSUS di depan, apa yang terjadi seandainya data bahwa siswa dengan identitas 20 yang mengambil kursus bahasa Jepang dihapus ? Data yang menyatakan bahwa kursus bahasa Jepang sebesar 65.000 juga akan terhapus !
Dependensi ( Ketergantungan )
Merupakan konsep yang mendasari Normalisasi. Dependensi menjelaskan hubungan antaratribut, atau secaralebih khusus menjelaskan nilai suatu atribut yang menetukan nilai suatu atribut lainnya.
Macam – macam Dependensi :
1. Dependensi Fungsional
2. Dependensi Fungsional sepenuhnya
3. Dependensi Total
4. Dpendensi Transitif
C.1.1. Dependensi Fungsional.
Dependensi Fungsional bisa didefinisikan sebagai berikut , suatu atribut Y mempunyai atribut dependensi fungsional terhadap X jika dan hanya jika setiap nilai berhubungan dengan nilai Y.
Notasi : X Y ( Dibaca “ X secara fungsional menetukan Y “ atau cukup dibaca “ X panah Y “ ).
Pembeli Kota Barang Jumlah
P1 Yogya B1 10
P1 Yogya B2 5
P2 Solo B1 7
P2 Solo B2 6
P2 Solo B3 6
P3 Klaten B3 7
P3 Klaten B4 6 Gambar 4.5 Relasi PESAN_JUAL.
Contoh :{PEMBELI, BARANG} JUMLAH{PEMBELI, BARANG} KOTA{PEMBELI, BARANG} {JUMLAH KOTA}
Pada contoh ini, PEMBELI secara fungsional menetukan KOTA, sebab terlihat bahwa untuk PEMBELI yang sama, KOTA – nya juga sama. Dengan demikian : PEMBELI KOTA { PEMBELI, BARANG } JUMLAHKeterangan :1. Bagian yang terletak disebelah kiri panah biasa disebut penentu (Determinan) dan bagian yang terletak disebelah kanan panah di sebut yang tergantung ( Dependen ).2. Tanda {} biasa digunakan kalo ada lebih dari satu atribut,
baik pada penentu maupun yang tergantung .
C.1.2. Dependensi Fungsional sepenuhnya.
Definisi Dependensi Fungsional sepenuhnya adalah suatu atribut Y mempunyai dependensi fungsional penuh terhadap atribut X : * Y mempunyai dependensi fungsional terhadap X.
* Y tidak memiliki dependensi terhadap bagian dari X.Berkaitan dengan hal ini terdapat istilah irreducible dependent [3] atau dependensi yang tidak dapat dibagi lagi . Istilah ini identik dengan dependensi fungsional sepenuhnya atau terkadang hanya disebut dependensi sepenuhnya.
C.1.3. Dependensi Total.
Dependensi Total adalah suatu atribut Y mempunyai dependensi Total terhadap atribut X jika : Y memiliki dependensi fungsional terhadap X. X mempunyai dependensi fungsional terhadap Y.Notasi : X Y
Kode Pemasok Nama Pemasok Kota
K1 Kartika Jakarta
C1 Citra Bandung
C2 Candra Jakarta
Gambar 4.6 Relasi untuk memperlihatkan dependensi total
Pada contoh ini :
KODE_ PEMASOK NAMA_PEMASOK Dengan asumsi tidak ada nama pemasok yang sama.
C.1.4. Dependensi Transitif.Didefinisikan sbb : Atribut Z mempunyai dependensi transitif terhadap X bila : Y memiliki dependensi fungsional terhadap X. Z memiliki dependensi fungsional terhadap Y.
Kuliah Ruang Tempat Waktu
Jaringan Komputer Merapi Gedung Utara Senin, 08:00-09:50
Matematika I Rama Gedung Selatan Selasa, 07:00-08:45
Sistem Pakar Sinta Gedung Selatan Rabu, 10:00-11:45
Fisika I Merapi Gedung Utara Selasa, 08:00-09:50
Gambar 4.7 Contoh relasi yang menunjukan adanya dependensi transitif
Terlihat bahwa : KULIAH RUANG TEMPATDengan demikian TEMPAT mempunyai dependensi transitif terhadap KULIAH.
C.2. Diagram Dependensi Fngsional
Diagram dependensi fungsional ( Diagram DF ) adalah diagram yang digunakan untuk menggambarkan dependensi fungsional. Diagram ini menunjukan hubungan antara atribut yang menjadi penentu atribut yang lainnya.
KULIAH
RUANG
RUANG
TEMPAT
Gambar 4.8 Contoh diagram Dependensi fungsional
C.3. Dekomposisi Tak Hilang
Pada Proses Normalisasi seringkali terjadi pemecahan sebuah relasi menjadi dua relasi atau lebih. Proses pemecahan seperti ini biasa disebut dengan istilah 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 .
Nim Nama Program Studi
95001 Ali Ekonomi
95002 Edi Ekonomi
95003 Ali Fisika
Gambar 4.9 Memperlihatkan relasi dan dua macam Dekomposisi
Bentuk Relasi Semula
Nim Nama95001 Ali95002 Edi95003 Ali
Relasi : Nim_NamaNama Program Studi
Ali EkonomiEdi Ekonomi
Ali Fisika
Relasi : Nim_Prog
(a) Contoh dekomposisi tak hilang
Nim Program Studi
95001 Ekonomi
95002 Ekonomi
95003 Fisika
Relasi : Nama_ProgNim Nama95001 Ali95002 Edi95003 Ali
Relasi : Nim_Nama
(b) Contoh dekomposisi hilang
Gambar 4.9 Contoh pendekomposisian relasi
Pada dekomposisi diatas : 1. Pada kasus (a), dekomposisi bersifat tak hilang. Berdasar hasil kedua
relasi hasil dekomposisi ( terkadang disebut proyeksi ), relasi semula bisa diperoleh kembali.
2. Pada kasus (b), terdapat suatu kerancuan. Nama yang bernomor 95001 memang betul adalah Ali ( Relasi : NIM_NAMA). Tetapi si Ali bernomor 95001 ini mengambil program studi EKONOMI atau FISIKA ( Relasi : NAMA_PROG ). Karena ada dua nama ALI ) ? Dekomposisi yang menghasilkan relasi NIM_NAMA dan NAMA_PROG merupakan dekomposisi hilang.
C.4. Bentuk Normal.
Bentuk Normal adalah suatu aturan yang dikenakan pada relasi – relasi dalam basis data dan harus dipenuhi oleh relai – relasi tersebut pada level Normalisasi. Beberapa level yang sering digunakan dalam normalisasi adalah :
Bentuk Normal Pertama ( INF ) Bentuk Normal Kedua ( 2NF ) Bentuk Normal Ketiga ( 3NF ) Bentuk Normal Boyce-Codd ( BCNF ) Bentuk Normal Keempat ( 4NF ) Bentuk Normal Kelima ( 5NF )
Relasi Umum
1NF
2NF
3NF
4NF
5NF
BCNF
Gambar 4.10 Bentuk-bentuk normal
Gambar diatas mejelaskan bahwa setiap level normalisasi bergantung pada level sebelumnya. Semakin dalam levelnya, relasi mempunyai kecenderungan lebih baik. Dalam artian memiliki problem yang lebih kecil ataupun sama sekali tidak memiliki permasalahan Anomali.
C.4.1. Bentuk Normal Pertama
Definisi Normal Pertama ( data yang belum ternomalisasi ) adalah suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris.
Nip Nama Jabatan Keahlian Lama ( tahun)
107 Ilham Analis Senior Cobol 6 Oracle 1
109 Rian Analis Yunior Cobol 2 Dbase 2
112 Fika Pemrogram Cobol 1 Dbase 1 Sybase 1
Gambar 4.11Contoh data belum ternormalisasi
Bentuk semacam itu banyak dipakai oleh pengembang yang barangkali tidak mengenal konsep normalisasi. Sejumlah items ditulis berdiri sebagai kolom tersendiri.Relasi dalam bentuk pertama pada umumnya memiliki berbagai masalah. Masalah yang timbul secara umum disebabkan karena kemubaziran .
C.4.2. Bentuk Normal Kedua
Bentuk normal kedua didefinisikan berdasarkan dependensi fungsional. Suatu relasi berada dalam bentuk normal kedua jika dan hanya jika : Berada dalam bentuk normal pertama. Semua atribut bukan kunci memiliki dependensi sepenuhnya terhadap kunci primer.
Atribut bukan kunci adalah atribut yang tidak merupakan bagian kunci primer.Untuk mengubah relasi bentuk normal pertama ke bentuk normal kedua perlu dilakukan dekomposisi terhadap relasi tersebut. Proses dekomposisi dapat dilakukandengan menggambarkan diagram dependensi fungsional terlebih dahulu. Berdasarkan diagram ini, relasi dalam bentuk normal pertama dipecah dalam sejumlah relasi.
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 Dbase III+ 2 112 Fika Pemrogram Cobol 1 112 Fika Pemrogram Dbase III+ 1 112 Fika Pemrogram Sybase 1
Gambar 4.14
Nama
Jabatan
Nip
KeahlianLama
Gambar 4.15 Diagram dependensi fungsional relasi pada Gambar 4.14
Diagram diatas menjelaskan bahwa : NAMA dan JABATAN memiliki dependensi fungsional terhadap NIP. LAMA mempunyai dependensi fungsional terhadap gabungan NIP dan KEAHLIAN.Berdasarkan diagaram dependensi fungsional tersebut. Pedekomposisiannya menghasilkan dua buah relasi., yang katakanlah saja disebut NNJ dan NKP, kedua relasi tersebut adalah sbb:
NNJ ( NIP, NAMA, JABATAN )NKP ( NIP, KEAHLIAN, LAMA )
Tanda garis bawah digunakan untuk menyatakan kunci primer masing – masing relasi. Seperti pada gambar sbb ...
Nip Nama Jabatan
107 Ilham Analis Senior
109 Rian Analis Yunior
112 Fika Pemrogram
Relasi : NNJ Nip Keahlian Lama ( tahun)
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
Date [3] menggambarkan proses dekomposisi relasi yang tergolong dalam bentuk normal pertama ke bentuk normal kedua spt berikut :Terdapat 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
Nomor_pesanan Tgl_pesanan Item Total
50001 12/05/1997 P1 45.000
50001 12/05/1997 P2 45.000
50001 12/05/1997 P3 45.000
50001 12/05/1997 P4 45.000
50002 12/05/1997 P3 32.500
50002 12/05/1997 P5 32.500
50003 13/05/1997 P1 12.000
50003 13/05/1997 P2 12.000
Bila rumusan diatas dikenakan pada relasi berikut :
C.4.3 Bentuk normal ketiga
Definisi bentuk nolmal ketiga:Suatu relasi dikatakan dalam bentuk nolmal ketiga (3NF) jika:• Berada dalam bentuk nolmal kedua.• Setiap atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci
primer.Nomor Pesanan 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 Sepidol
50003 0001 P1 Pensil
50003 0002 P2 Buku Tulis
Gambar 4.18Relasi yang mamenuhi normal ke-2, tapi tidak Memenuhibentuk normal ke-3
Pada contoh diatas, kunci primer relasi berupa gabungan NOMOR_PESANAN dan NOMOR_URUT. Baik KODE_ITEM maupun NAMA_ITEM mempunyai dependensi fungsional terhadap kunci primer tersebut. Namun perlu diperhatikan bahwa bila KODE_ITEM bernilai sama, NAMA_ITEM juga bernilai sama. Lebih tepatnya kalau KODE_ITEM yang menjadi penentu. Jadi NAMA_ITEM memiliki dependensi fungsional terhadap KODE_ITEM.Agar relasi pada Gambar 4.18 memenuhi bentuk normal ketiga maka diperlukan langkah normalisasi dengan mengikuti pendekatan berikut:Bila terdapat relasi R seperti berikut:
R (A,B,C)KUNCI PRIMER (A)B C
Maka relasi R dapat diganti dengan dua proyeksi R1 dan R2, dengan bentuk sebagai berikut:
R1 (B,C)KUNCI PRIMER (B)
R2 (A,B)KUNCI PRIMER (A)KUNCI TAMU (B) REFERENSI R1
Gambar 4.19 Dekomposisi yang menghasilkan relasi-relasi yang memenuhi bentuk normal ke-3
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
Kode Item Nama Item
P1 Pensil
P2 Buku Tulis
P3 Penggaris
P4 Penghapus
P3 Penggaris
P5 Pulpen
P6 Sepidol
P1 Pensil
P2 Buku Tulis
C.4.4 Bentuk Nolmal Boycee-Codd (BCNF)
Suatu relasi dibuat memenuhi bentuk nolmal Boycee-Codd jika dan hanya jika semua penentu (determinan) adalah kunci kandidat (atribut yang bersifat unik.BCNF merupakan bentuk nolmal sebagai perbaikan terhadap 3NF. Suatu relasi yang memenuhi BCNF selalu memenuhi 3NF, tetapi tidak untuk semuanya. BCNF adalah perbaikan dari 3NF, karena bentuk nolmal ketigapun mungkin masih mengandung anomaly sehingga masih perlu dinomalisasi lebih lanjut.Relasi diatas didasarkan oleh fakta:10. seseorang siswa dapat mengambil sejumlah kursus bahasa.11. setiap tutur hanya mengajar pada sebuah kursus bahasa
(misalnya, Pierre hany mengajar bahasa Prancs).3. Setiap siswa pada setiap kursus bahasa 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, ada kelas bahasa Iggris yang diajar oleh Richard dan ada kelas bahasa Inggris yang lan yang diajar oleh Suzanne).
Pada keadaan ini, kunci SKT berupa gabungan:20. SISWA dan KURSUS, serta21. SISWA dan TUTOR.
Siswa Kursus TutorAnwar Bahasa Perancis PierreAnwar Bahasa Ingris RichardBudi Bahasa Perancis PierreCecep Bahasa Inggris Suzane
Gambar 4.20 Contoh relasi (SKT) yang memenuhi 3NF tetapi tidak memenuhi BCNF
Siswa
KursusTutor
Gambar 4.21 Diagram Dependensi fungsional pada relasi SKT
Cara mengkonversi relasi yang telah memenuhi bentuk normal ketiga ke BCNF adalah: 1) carilah semua penentu 2) bila terdapat penentu yang bukan berupa kunci kandidat,
maka: 1. pisahkan relasi tersebut, dan
2. buat penentu tersebut sebagai kunci primer.
Itulah sebabnya, agar memenuhi BCNF, relasi SKT perlu didekomposisi menjadi: 1. ST (SISWA, TUTOR) 2. TK (TUTOR, KURSUS).
C.4.5 Dependensi Nilai Banyak 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 nolmal keempat (4NF).Pada suatu relasi R dengan atribut A,B,C, atibut B dikatakan bersifat multidependenterhadap A jika:8. sekumpulan nilai B yang diberikan pada pasangan (A,C) hany tergantung pada
nilai A, dan • tergantung pada nilai C. hubungan diatas dinyatakan dengan
A B(dibaca:”A menentukan banyak nilai B” atau “B multidependen terhadap A”).Bila R (A,B,C) merupakan suatu relasi, dengan A,B,C adalah atribut relasi tersebut, maka proyeksi dari R berupa (A,B) dan (A,C) jika R memenuhi MVDA B\C.Perlu diketahui, bila terdapat:
A BA C
Maka keduanya dapat ditulis menjadi:A B\C
Secara praktis, suatu relasi memenuhi bentuk nolmal keempatjika:• telah berada pada BCNF, dan2. tidak mengandung kedua atribut atau lebih yang bernilai
banyak
C.4.6. Dependensi Gabungan dan Bentuk Normal Kelima (5NF)
suatu relasi R(X,Y, …., Z) memenuhi dependensi gabungan jika gabungan dari proyeksi A,B, …, C dengan A,B, …..,C merupakan subhimpunan dari atribut-atribut R. Dependensi gabungan sesuai dengan definisi di atas dinyatakan dengan notasi:
(A,B, …..C)dengan A=XY, B=YZ, C=ZX.
Suatu relasi berada dalam 5NF jika dan hanya jika setiap dependen gabungan dalam R tersirat oleh kunci kandidat rlasi R.
C.4.7. OvernormalisasiTujuan Overnormalisasi adalah unuk meningkatkan kinerja, caranya adalah dengan memperhatikan permintaan terhadap data yang sering dilakukan.