3. 4.6 Penutup, cakupan, dan Ekuivalensi dari
dependensi fungsional
4.1.6 Penutup himpunan F dari dependensi
fungsional
Diketahui sebuah humpunan F dari dependensi fungsional untuk skema relasi R, kita definisikan F+ , yaitu penutup
(closure) dari F, sebagai himpunan dari seluruh dependensi fungsional yang secara logika diimplikasikan oleh F.
Dalam bentuk matematisnya, F+ = {X Y / F |= X Y}. Humpunan penutup memenuhi dua sifat berikut ini
secara bersamaan.
1. F+ adalah himpunan terkecil yang memuat F dan memnuhi sifat 2.
2. Setiap aplikasi aksioma inferansi terhadap FD dari F hanya menghasilkan FD yang sudah ada di dalam F+ .
Contoh :
Diketahui himpunan F = { XY Z }. Tentukan seluruh elemen F+ . Asumsikan bahwa skema tersebut terdiri
dari seluruh atribut yang telah disebutkan di dalam FD dari F
Himpunan hasil ditunjukan dibawah ini...
F+ = { X X,Y Y,Z Z, XY X, XY Y, XY XY, XZ X, XZ Y, XZ XZ, YZ Y,
YZ Z, YZ YZ, XYZ XY, XYZ XZ, XYZ YZ, XYZ XYZ }
4. 4.6.2 Penutup Himpunan Atribut
Jumlah elemen dalam F+ bisa jauh lebih besar daripada jumlah atribut F. Perhatikan bahwa F hanya memiliki satu
FD tapi F+ memiliki 16 buah FD berbeda. Untuk setiap depedensi fungsional yang diketahui X → Y, F+ dapat
digunakn untuk menentukan apakah ada atau tidak F |= X → Y ; namun, komputasi F+ dapat menjadi proses
yang sangat panjang.
Apakah terdapat hubungan antara FD yang dapat diturunkan dari X dan FD dari F+ yang memiliki X sebagai
determinan namun, jika X+ = {A1 A2 A3 ....An } maka, dengan definisi penutup X, setiap atribut dari himpunan
ini dapat diturunkan dari X . Jelasnya, X → A1 , X → A2 , X → A3 , ....., X → An . Dengan menggunakan FD ini
dan aplikasi berulang dari aksioma aditivitas, kita dapat membentuk FD X → A1 A2 A3 ... An yang di sisi
kanannya meiliki seluruh atribut Ai € X+ . Sisi sebelah kanan dari perkalian ini ternyata menjadi sebuah
himpunan maksimal dari atribut di dalam F+ terhadap atribut yang dapat diturunkan dari X. Jelasnya, X → Z € F+
5. Algoritma Penutup ( Closure )
Input untuk algoritma ini adalah sebuah himpunan F dari FD dan sebuah himpunan atribut X yang didefinisikan melalui
skema yang sama . Output dari skema ini adalah X+
Contoh:
Diketahui himpunan dependensi fungsional F = { A → B, B → C, BC → D, DA → B }. Carilah X+ dengan X = {A}.
Apakah arti dari himpunan ini? Apakah benar bahwa A → DA ?
Langkah (1) buatlah G = {A → B, B → C, BC → D, DA → B}.
Langkah (2) buatlah Ti = T1 = {A}.
Langkah (3/3a) karena determinan A → B adalah elemen dari T1 , kita membentuk T2 = T1 U {B}. Kita dapat membuang
A → B dari G kerena tidak lagi dapat memberikan konstribusi berupa atribut apa pun di sisi kanan
terhadap T1 baru. Dan bekerja dengan himpunan G = {B → C, BC → D, DA → B }.
Langkah (3/3a) dengan himpunan G baru kita tentukan bahwa determinan B → C sekarang adalah elemen T2 . Dengan
menambahkan atribut di sisi kanan dari Fd ini terhadap T2 , maka kita bentuk T3 = T2 U {C}= {ABC}
baru. Dengan membuang B → C dari G . Maka kita dapat G = {BC → D, DA → B}.
Langkah (3/3a) dengan mengambil T3 kita menemukan bahwa determinan BC → D adalah elemen dari himpunan ini,
dengan menambahkan atribut di sisi kanan dependensi fungsional ini terhadap T3 , maka kita mendapati
bahwa T5 = T4 U {ABC} U {D} = {ABCd}. Dengan membuang BC → D dari G . Dan G = {DA → B}.
Langkah (3/3a) dengan mengambil T4 kita menemukan bahwa determinan DA → B adalah elemen dari himpunan ini .
Dengan menambahkan atribut disisi kanan dependensi fungsional ini terhadap T4 , maka T5 = T4 U
{ABC} U {B} = {ABCD}. Dengan membuang DA → B dari G kita mendapati bahwa G = ø
Langkah (3/3b) karena G = ø , algoritma berhenti dan Ti = T5 = {ABCD} = X+ .
6. 4.6.3 Cakupan dan Ekuivalensi Himpunan
Dependensi Fungsional
Untuk himpunan diketahui F dari FD, humpunan F+ dapat membuat sejumlah besar FD. Hal ini
khususnya benar untuk setiap himpunan F yang juga memiliki sejumlah besar FD. Oleh karena itu
sangatlah diperlukan untuk dapat menemukan himpunan-himpunan yang memuat jumlah FD
yang lebih kecil dari pada F dan selalu membentuk seluruh FD dari F+ . Himpunan-himpunan FD
yang yang memenuhi kondisi ini dikatakan sebagai himpunan-himpunan Ekuivalen.
Algoritma Cakupan Nonredundan
(1) Tentukan G sebagai F. Yaitu, himpunan G = F
(2) ujilah setiap FD dari G untuk meredundansi menggunakan algoritma hingga tidak ada lagi FD
dari G yang akan diuji.
(3) Himpunan g adalah cakupan nonredundan dari F
Himpunan F yang diketahuti mungkin terdapat lebih dari satu cakupan nonredundan karena
urutan-urutan penyusunan FD adalah relevan. Dengan kata lain, kehadiran atau ketidakhadiran FD
tertentu dapat menentukan apakah ada atau tidak FD lain yang akan menjadi redundan. Selain itu,
jika kita dapat menemukan sebuah cakupan nonredundan, maka cakupan ini tidak boleh menjadi
minimal.
7. 4.6.4 Atribut-Atribut Asing (Extraneous)
Jika F adalah himpunan nonredundan dari FD maka F tidak dapat dibuat lebih kecil dengan membuang apa pun dari FD-
nya. Jika kita melakukannya, maka himpunan aslinya tidak akan pernah ekuivalen terhadap F. Namun, dimungkinkan
untuk mereduksi ukuran FD dari F dengan membuang atribut asing (extraneous ) di sisi kiri yang berhubungan dengan F
atau atribut asing di sisi kanan yang berhubungan dengan F. Kedua konsep ini dapat diformalkan sebagai berikut: anggap
F merupakan himpunan FD dari skema R dan anggap A1 A2 → B1 B2 merupakan dependensi fungsional dalam F
Algoritma Reduksi Kiri
(1) Tentukanlah himpunan G dari FD sebagai F, jelasnya himpunan G = F
(2) Untuk setiap A1 A2 ...Ai ....An → Y dalam G. Algoritma berhenti ketika seluruh FD dari G telah meng eksekusi
langkah 3
(3) Untuk setiap Atribut A1 di dalam detrminan FD yang terpilih di langkah sebelumnya, lakukan langkah 4 hingga
seluruh Atribut telah menerima pengujian. Setelah menyelesaikan pengujian terhadap seluruh atribut dari FD tertentu
ulangi langkah 2.
(4) Ujilah apakah seluruh Atribut Y (sisi kanan dari FD) adalah elemen dari penutup A1 A2 ... An . Jika kasusnya seperti
ini , buanglah atribut Ai dari dari determinan FD yang mengalami pengujian karena Ai adalah atribut kiri yang asing.
Jika tidak seluruh Y adalah elemen-elemen dari penutup A1 A2 ... An maka atribut Ai bukan merupakan atribut kiri
yang asing dan perlu ditinggalkan di dalam determinan FD dalam pembahasan.
Catatan : Algoritma dapat dieksekusi sedikit lebih cepat jika pembaca menyadari bahwa lengkah 2 hanya dapet
diterapkan terhadap FD dengan determinan dua atau lebih atribut
8. 4.6.5 Cakupan Cononical
Untuk semua himpunan F dan FD, sebuah cakupan (cover) Cononical, dinotasikan dengan Fc adalah
himpunan FD yang memenuhi beberapa kondisi berikut ini secara bersamaan.
(1) Setiap FD dari Fc bersifat sederhana. Jelasnya, sisi kanan dari setiap dependensi fingsional Fc
memiliki hanya satu atribut
(2) Fc adalah reduksi kiri (left-reduced)
(3) Fc adalah nonredundan.
Contoh :
Diketahui himpunan F dari Fd seperti diperlihatkan di bawah ini, carilah cakupan cononical untuk F.
Kita sebut Fc = {X → Z, XY → WP, XY → ZWQ , XZ → R}.
Untuk himpunan F adalah Fc = {X → Z, XY → WP, XY → ZWQ, X → R}. Dengan aplikasi
pengulangan di aksioma projeksitivitas, kita dapat menuliskan ulangan himpunan ini sebagai berikut:
Fc = {X → Z, XY → W, XY → P, XY → Z, XY → W, XY → Q, X → R}.