NORMALISASI BASISDATA
1
Oleh: Heru Prasetyo, M.kom
Satu mesin dapat melakukan pekerjaan lima puluh orang biasa. Tidak ada
mesin dapat melakukan pekerjaan dari satu orang yang luar biasa.
(Elbert Hubbard)
Anomali
Adalah proses pada basis data yang memberikan efeksamping yang tidak diharapkan, misalnya menyebabkan
ketidak konsistenan data atau membuat sesuatu data menjadi hilang ketika data lain dihapus.
Normalisasi perlu dilakukan karena umumnya selaluterjadi anomali/ketidaknormalan dalam suatu basisdata
Anomali ada 3 macam
1. Anomali Peremajaan/Update
Anomaly
• Anomali ini terjadi apabila terjadi pengubahan
terhadap sejumlah data yang tidak
berguna/mubazir, tetapi tidak seluruhnya di
ubah. Contoh:
• Seandainya pemasok Citra berpindah ke kota
lain, misalnya Bogor. Dan pengubahan hanya
dilakukan pada data pertama (ada 2 buah data
pemasok Citra), maka hasilnya sebagai
berikut:
• Terlihat ada ketidak konsistenan. Fakta
pertama menyatakan bahwa pemasok Citra
berlokasi di Bogor, tetapi fakta kedua
menyatakan di Bandung.
2. Anomali Penyisipan/Insertion
Anomaly
• Anomali penyisipan terjadi jika pada saat
penambahan hendak dilakukan ternyata ada
elemen data yang masih kosong dan elemen
tersebut justru menjadi kunci/key. Contoh:
• Masalahnya, bagaimana caranya menyimpan
fakta bahwa RUANG baru bernama Arjuna
terdapat pada Gedung Selatan?
Penyisipan/penambahan tidak dapat
dilakukan mengingat tidak ada informasi
KULIAH yang menggunakan ruangan tersebut.
3. Anomali Penghapusan/Delete
Anomaly
• Anomali penghapusan terjadi jika ketika
sesuatu baris (tuple, record) yang tak terpakai
dihapus,mengakibatkan juga data lain
terhapus (menjadi hilang). Contoh:
• Apabila data siswa dengan Nomor Identitas 20
yang mengambil kursus bahasa jepang
dihapus, maka data yang menyatakan bahwa
biaya kursus bahasa jepang sebesar 65.000
juga akan terhapus.
Normalisasi
• Menurut E. F.Codd, perintis tehnologi basisdata, asal istilahini normalisasi,
• Selain dipakai sebagai metodologi tersendiri untukmenciptakan struktur tabel 9 relasi dalam basis data (dengan tujuan untuk mengurangi ke-mubazir-an data), normalisasi terkadang hanya dipakai sebagai perangkatverifikasi terhadap tabel-tabel yang dihasilkan olehmetodologi lain ( misalnya E-R). Normalisasi memberikanpanduan yang sangat membantu bagi pengembang untukmencegah penciptaan struktur tabel yang kurang fleksibelatau mengurangi ketidakfleksibelan.
• Menurut Kroenke ,
• Normalisasi sebagai proses untuk mengubah suaturelasi yang memiliki masalah tertentu ke dalam duabuah relasi atau lebih yang tidak memiliki masalahtersebut. Masalah yang dimaksud oleh Kroenke inisering disebut dengan istilah anomali.
Kesimpulan pengertian Normalisasi:
• Normalisasi merupakan sebuah teknik dalam logikal desain sebuahbasis data/ database, teknik pengelompokan atribut dari suaturelasi sehingga membentuk struktur relasi yang baik tanparedudansi (pengulangan yang tidak perlu) dan ambiguity (ketidakterstrukturan).
• Normalisasi adalah suatu proses memperbaiki/membangun denganmodel data relasional, dan secara umum lebih tepat dikoneksikandengan model data logika. Proses normalisasi adalah proses pengelompokan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya.
• Pada proses normalisasi dilakukan pengujian pada beberapa kondisiapakah ada kesulitan pada saat menambah/ menyisipkan, menghapus, mengubah dan mengakses pada suatu basis data. Bilaterdapat kesulitan pada pengujian tersebut maka perlu dipecahkanrelasi pada beberapa tabel lagi atau dengan kata lain perancanganbasis data belum optimal.
Tujuan Normalisasi
• Untuk menghilangkan kerangkapan data
• Untuk mengurangi kompleksitas
• Untuk mempermudah pemodifikasian data
Bentuk Normalisasi
• Bentuk Tidak Normal (Unnormalized Form)
• Bentuk Normal (Normal Form)
Bentuk Tidak Normal
• Bentuk ini merupakan kumpulan data yang
direkam, tidak ada keharusan mengikuti suatu
format tertentu. Data dapat saja tidak lengkap
atau terduplikasi. Data dikumpulkan apa
adanya sesuai dengan kedatangannya/kondisi
awalnya.
Bentuk Normal
• Data diuraikan dalam bentuk tabel,
selanjutnya dianalisis berdasarkan persyaratan
tertentu ke beberapa tingkat.
• Apabila tabel yang diuji belum memenuhi
persyaratan tertentu, maka tabel tersebut
perlu dipecah menjadi beberapa tabel yang
lebih sederhana sampai memenuhi bentuk
yang optimal.
Sebuah tabel dikatakan baik (efisien) atau normal jika
memenuhi 3 kriteria sbb:
• Jika ada dekomposisi (penguraian) tabel, makadekomposisinya harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebutdiuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabelsemula dengan sama persis.
• Terpeliharanya ketergantungan fungsional pada saatperubahan data (Dependency Preservation).
• Tidak melanggar Boyce-Codd Normal Form (BCNF)
FUNCTIONAL DEPENDENCY
• Atau Ketergantungan Fungsional/DependensiFungsional.
• Konsep yang mendasari Normalisasi.
• Menjelaskan hubungan antar atribut.
• Menjelaskan suatu nilai dari atribut yang menentukan nilai atribut lain.
• Nanti akan digunakan sebagai acuanpendekomposisian data ke dalam bentuk yang paling efisien.
• Terdiri dari 4 macam.
FD1-DEPENDENSI FUNGSIONAL
• Suatu atribut Y mempunyai dependensi
fungsional terhadap atribut X jika dan hanya
jika setiap nilai X berhubungan dengan sebuah
nilai Y.
• Notasi: X � Y
• Dibaca: X secara fungsional menentukan Y
• PESANAN_JUAL(PEMBELI. KOTA. BARANG. JUMLAH)
• Relasi Pesanan_Jual mengandung atribut Pembeli, Kota, Barang dan Jumlah.
• PEMBELI secara fungsional menentukan KOTA karenanampak bahwa PEMBELI yang sama, KOTA-nyapun jugasama.
• Notasi: PEMBELI � KOTA
• PEMBELI � KOTA
• {PEMBELI, BARANG} � JUMLAH
• {PEMBELI, BARANG} � KOTA
• {PEMBELI, BARANG} � {JUMLAH, KOTA}
• Kiri panah disebut DETERMINANT(Penentu)
• Kanan panah disebut DEPENDENT(Yang
Tergantung)
• Tanda “{}” digunakan jika atribut terdiri dari
lebih dari satu attribut digunakan dalam relasi.
FD2-DEPENDENSI FUNGSIONAL
SEPENUHNYA/FULL FUNCTIONAL
DEPENDENT• Juga disebut Fully Dependent atau juga Irreducible
Dependent, dependensi yang tidak dapat dibagi lagi.
• Suatu atribut Y mempunyai dependensi fungsionalterhadap atribut X jika:– Y mempunyai dependensi fungsional terhadap X
– Y tidak memiliki dependensi terhadap bagian dari X.
• Contoh:
• Relasi PELANGGAN(KODE_PELANGGAN, NAMA, KOTA, NOMOR_FAX)
• Notasi Fungsional:– {KODE_PELANGGAN, KOTA} � NOMOR_FAX
– {KODE_PELANGGAN � NOMOR_FAX
• Notasi Fungsional:
– {KODE_PELANGGAN, KOTA} � NOMOR_FAX
– KODE_PELANGGAN � NOMOR_FAX
• NOMOR_FAX bergantung pada{KODE_PELANGGAN, KOTA} , ini kondisi FD1
• NOMOR_FAX juga bergantung padaKODE_PELANGGAN, ini kondisi FD2
• Maka NOMOR_FAX tidak memiliki dependensifunsional sepenuhnya terhadap{KODE_PELANGGAN, KOTA}
• NOMOR_FAX hanya mempunyai dependensifungsional sepenuhnya terhadapKODE_PELANGGAN
FD3-DEPENDENSI TOTAL• Suatu atribut Y mempunyai dependensi fungsional terhadap
atribut X jika:– Y mempunyai dependensi fungsional terhadap X
– X mempunyai dependensi terhadap Y.
• Notasi: X �� Y
• Contoh:
• Relasi PELANGGAN(KODE_PEMASOK, NAMA_PEMASOK, KOTA)• Notasi Fungsional(Asumsi, tidak ada nama pemasok yang sama):
– KODE_PEMASOK �� NAMA_PEMASOK
FD4-DEPENDENSI TRANSITIF
• Suatu atribut Z mempunyai dependensi transitif
terhadap X bila:
– Y mempunyai dependensi fungsional terhadap X
– Z mempunyai dependensi terhadap Y.
• Notasi: X � Y � Z
• Contoh:
• Relasi JADWAL(KULIAH, RUANG,TEMPAT, WAKTU)
• Notasi funsional:
– KULIAH � {RUANG, WAKTU}
– RUANG � TEMPAT
– KULIAH � RUANG � TEMPAT
• TEMPAT memiliki dependensi transitif terhadap
KULIAH
DIAGRAM DEPENDENSI
Contoh 1 Diagram Dependensi dari Relasi JADWAL
Contoh 2 Diagram Dependensi dari Relasi
PESANAN_JUAL
Noted: Atribut Kota diganti Alamat.
DEKOMPOSISI
• Adalah proses pemecahan sebuah Relasi dalam
Normalisasi menjadi Relasi-Relasi lain
• Dekomposisi Hilang, jika terjadi kemungkinan
hilangnya suatu informasi akibat dekomposisi. Ini
harus dihindari.
• Dekomposisi Tak Hilang, jika tak ada informasi
yang hilang atau mungkin hilang akibat proses
basisdata setelah sebuah relasi dipecah menjadi
beberapa relasi. Ini harus dipastikan dilakukan.
Contoh Proses• Relasi/Tabel awal:
• Dekomposisi Tak Hilang:
• Dekomposisi Hilang:
•
TUGAS
• Lakukan dekomposisi terhadap salah satu Tabel
pada Tugas 2, menggunakan kaidah FD1-4. Hasil
akhirnya adalah beberapa tabel yang sudah
efisien.
• Buat Diagram Dependensi antar Tabel baru yang
tercipta tersebut.
• Cukup 1 lembar HVS A4. Dikerjakan berkelompok
sesuai kelompok terdahulu.
LANJUT KE BASISDATA 2