Merupakan konsep dasar normalisasi yang menjelaskan
hubungan antar atribut, atau lebih khusus menjelaskan nilai suatu atribut yang
menentukan nilai atribut lainnya. Fungsinya menjadi acuan dekomposisi data ke
dalam bentuk yang lebih efisien.
Macamnya:
1.
Dependensi fungsional
2.
Dependensi fungsional penuh
3.
Dependensi total
4.
Dependensi Transitif
1. Dependensi
fungsional
Ketergantungan
Fungsional (functional dependency)
sering disingkat dengan KF, dapat dijelaskan dengan.
Jika sebua tabel T
berisi minimal 2 buah atribut,yaitu A dan B, maka dapat dinyatakan dengan
notasi;
A ==> B
Yang berarti, A secara
fungsional menentukan B atau B secara fungsional bergantung A, jika dan hanya
jika setiap kumpulan baris data (row)
yang ada di tabel T, pasti ada dua baris data di tabel T dengan nilai A yang
sama, maka nilai untuk B pasti juga sama.
Definisi secara formal
untuk notasi diatas adalah;
Diberikan 2 baris data
(row) R1 dan R2 dalam tabel T
dimana A ==>
B, jika R1(A)=R2(A), maka R1(B)=R2(B).
Contoh pada tabel Nilai terdapat data sebagai
berikut:
Maka KF yang dapat diajukan berdasarkan intuisi dan
fakta adalah :
a. NIM ==>
NAMA_MHS
Yang berarti atribut
NAMA_MHS hanya bergantung pada atribut NIM. Hal ini dapat ditunjukkan dengan
fakta bahwa untuk setiap NIM yang sama maka pasti NAMA_MHS nya juga sama.
b. {Mata_Kuliah, NIM} ==> NILAI
Yang berarti bahwa
atribut NILAI bergantung pada atribut Mata_Kuliah dan NIM secara bersama-sama.
Fakta menunjukkan hanya mahasiswa (diwakilin dengan NIM) tertentu saja yang
memiliki indeks nilai, karena memang sudah mengambil mata kuliah, maka untuk
setiap Nama_Kuliah dan NIM yang samam maka NILAI nya juga sama karena
(Nama_Kuliah, NIM) merupakan Keym
(sehingga bersifat unik) untuk tabel tersebut.
Tanda { } biasa
digunakan jika ada lebih dari satu atribut, baik sebelah kiri panah maupun
sebelah kanannya.
Jadi
secara ringkas dapat dijelaskan sebagai berikut;
Suatu atribut Y
bergantung fungsi terhadap X jika dan hanya jika setiap nilai X berhubungan
dengan sebuah nilai Y
Notasi:
X ==>
Y
Bagian di kiri panah
sering disebut determinan (penentu), dan sebelah kanan disebut dependen
(tergantung).
Contoh yang lain :
{
PEMBELI, BARANG } ==> JUMLAH
{
PEMBELI, BARANG } ==> KOTA
{
PEMBELI, BARANG } ==> { JUMLAH, KOTA }
Catatan
: Bagian yang terletak di sebelah
kiri panah biasa disebut penentu
(determinan) dan bagian yang yang
terletak di sebelah kanan panah disebut yang
tergantung (dependen). Tanda { } biasa digunakan kalau ada lebih dari satu
atribut, baik pada penentu maupun yang tergantung.
1. Dependensi
Fungsional Penuh
Definisi
dari dependensi fungsional penuh adalah Suatu atribut Y mempunyai dependensi
fungsional penuh terhadap atribut X jika :
Y mempunyai dependensi fungsional terhadap X,
Y tidak memiliki dependensi terhadap bagian dari X
Contoh pada tabel Pelanggan dengan dengan atribut
sebgai berikut :
Pelanggan (Kode_PLG, Nama, Kota, No_FAX)
Maka Dependensi fungsional penuh dapat dijelaskan
sebagai berikut;
1. {Kode_PLG, Kota} ==> No_FAX
2. Kode_PLG ==> No_FAX
Kondisi 1: No_FAX bergantung pada {Kode_PLG, Kota}
dan juga pada
Kondisi 2: bergantung
pada Kode_PLG, yang merupakan bagian dari kondisi 1, maka No_FAX tidak
mempunyai dependensi fungsional sepenuhnya terhadap {Kode_PLG, Kota}. Dengan
kata lain, No_FAX hanya mempunyai dependensi penuh terhadap Kode_PLG.
Dari beberapa literatur
mengatakan bahwa dependensi fungsional penuh merupakan dependensi fungsional
yang tidak dapat dibagi lagi (irreducible
dependent).
Catatan
:
Berkaitan dengan hal ini terdapat istilah irreducible dependent atau dependensi
yang tak dapat dibagi lagi. Istilah ini identik dengan dependensi fungsional
sepenuhnya (full functional dependent) atau terkadang hanya disebut dependensi
sepenuhnya (fully dependent).
2. Dependensi
Total
Definisi
dari dependensi fungsional total adalah Suatu atribut Y mempunyai dependensi
Total terhadap atribut X jika;
Y mempunyai dependensi fungsional terhadap X,
X tidak memiliki dependensi terhadap bagian dari Y
Dinyatakan dengan
Notasi: X ↔ Y
Contoh pada tabel Mahasiswa :
Maka dependensi totalnya adalah
NIM ↔ NAMA_MHS
Dengan asumsi tidak ada nilai data pada NAMA_MHS
yang sama.
1. Dependensi
Transitif
Definisi
dari dependensi Transitif adalah Suatu atribut Z mempunyai dependensi transitif
terhadap atribut X jika;
Y mempunyai dependensi fungsional terhasap X,
Z juga mempunyai dependensi fungsional terhasap Y
Contoh :
a.
Tabel Jadwal
Maka
dependensi transitifnya adalah
Kuliah ==> {RUANG,
WAKTU}
RUANG ==>
GEDUNG
Maka terlihat Kuliah à RUANGÃ
GEDUNG, dengan demikian atribut GEDUNG memiliki dependensi transitif terhadap
atribut Kuliah.
Normalization
dengan Functional Dependency
Suatu basis data dikategorikan baik (efisien) atau
normal jika memenuhi criteria minimal berikut;
1. Jika ada dekomposisi
(penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless Join Decomposotion).
Contoh terdapat tabel dengan KF yaitu A ==> B dan B ==>
C;
Dekomposisinya yang aman adalah;
2. Terpeliharanya ketergantungan fungsional pada
saat perubahan data (Dependency
Preservation).
3. Tidak melanggar aturan Boice-Code Normal Form (BCNF)
Suatu tabel/relasi
dikatakan dalam bentuk normal BCNF jika dan hanya jika semua penentu (determinan)
adalah kunci kandidat (atribut yang bersifat unik).
4. Jika tidak terpenuhi BCNF paling tidak tabel
tersebut tidak melanggar Bentuk
Normal
tahap Ketiga.
Diagram Dependensi Fungsional (Diagram DF)
Adalah diagram yang digunakan untuk menggabarkan dependensi
fungsional. Diagram ini menunjukkan hubungan antara atribut yang menjadi
penentu atribut lainnya, dengan hubungan yang dinyatakan dengan tanda panah.
Seperti contoh diatas dapat digambarkan diagram DF sebagai berikut :
Dekomposisi
Pada tahap normalisasi sering kali terjadi pemecahan
table kedalam bentuk dua atau lebih relasi. Proses pemecahaan ini disebut
dengan dekomposisi. Syarat : Tidak ada informasi yang hilang ketika suatu
relasi dipecah menjadi relasi-relasi lain. Contoh : Terdapat suatu relasi awal
sebagai berikut :
Nim
|
Nama
|
Program
Studi
|
95001
|
Andi
|
Ekonomi
|
95002
|
Vira
|
Teknik
|
95003
|
Andi
|
Fisika
|
Akan
dibentuk kedalam dekomposisi tak hilang menjadi :
Nim
|
Nama
|
Nim
|
Program
Studi
|
|
95001
|
Andi
|
95001
|
Ekonomi
|
|
95002
|
Vira
|
95002
|
Teknik
|
|
95003
|
Andi
|
95003
|
Fisika
|
Pada
relasi awal dapat diketahui informasi sebagai berikut : 95001 adalah ANDI
program studi Ekonomi. Setelah proses dekomposisi tak hilang hasilnya
adalah sama 95001 adalah ANDI dan 95001 program studi Ekonomi.
Contoh dekomposisi hilang adalah
Nim
|
Nama
|
Nama
|
Program
Studi
|
|
95001
|
Andi
|
Andi
|
Ekonomi
|
|
95002
|
Vira
|
Vira
|
Teknik
|
|
95003
|
Andi
|
Andi
|
Fisika
|
95001
bernama ANDI, tetapi ANDI dengan program studi Ekonomi atau Fisika?
Contoh
diagram DF :
KULIAH ==>{ RUANG,
WAKTU }
RUANG ==> TEMPAT
Digambarkan :
1 komentar:
salam hangat, saya tertarik dengan tulisan di blog anda, jika boleh saya tahu, source ini berasal dari siapa? saya butuh sourcenya untuk penulisan skripsi. trims
Posting Komentar