Sabtu, 17 November 2012

Materi-Materi Dependensi ( Ketergantungan )


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:

Unknown mengatakan...

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

 
Design by Sesi Chrishandayani | Bloggerized by chrissesi - JEPARA | Information System