Rabu, 10 Februari 2021

Normalisasi Database Bagian 2 : Dependensi

 Dependensi atau lebih tepatnya dependensi fungsional adalah kekangan antara dua buah atribut atau dua buah himpunan atribut. Untuk memahaminya pertama tama kita andaikan terdapat relasi R dengan dua diantara atributnya berupa X dan Y, sehingga bisa dinotasikan sebagai berikut :

         R(X, Y, ....... )

Pada keadaan ini, atribut Y dikatakan mempunyai dipendensi fungsional terhadap X apabila setiap nilai dalam x berhubungan dengan satu nilai yang sama dalam Y. Dependensi Y terhadap X biasa dinotasikan dengan :

          X --> Y

dapat dibaca dengan

1. X panah Y

2. X menentukan Y

3. Y tergantung secara fungsional pada X

 Atribut yang berada dikiri tanda panah biasa disebut penentu atau determinan. Dan yang berada disebelah kanan tanda panah disebut dependen atau yang tergantung.

Kita ambil contoh dalam sebuah tabel barang dimana terdapat Kode_Barang dan Nama_Barang, setiap barang yang ada dalam daftar barang tersebut pasti dibuatkan kode barangnya sehingga setiap Kode_Barang hanya akan memiliki satu Nama_Barang dan setiap Nama_Barang memiliki satu Kode_Barang.

Tetapi tidak semua atribut memiliki aturan yang demikian, misalnya setiap satu barang akan memiliki satu harga dan setiap satu nama barang memiliki satu kode barang, misalnya jika sebuah Kode_Barang akan memiliki satu buah Harga_barang tetapi tidak akan berlaku sebaliknya yaitu setiap satu Harga_Barang hanya akan memiliki satu Kode_Barang karena kemungkinan beberapa barang memiliki harga yang sama selalu ada.

Pada contoh diatas notasinya adalah sebagai berikut :

    Kode_Barang --> Nama_barang

    Kode_Barang --> Harga_Barang

 

1. Dependensi Sepenuhnya.

Suatu atribut Y dikatakan memiliki dependensi sepenuhnya terhadap atribut X apabila memenuhi 2 kondisi yaitu :

1. Y mempunyai dependensi fungsional terhadap X.

2. Y tidak memiliki dependensi terhadap bagian dari X. 

Contoh :

Seorang dosen memiliki riwayat pendidikan menamatkan sekolah mulai dari SD, SMP, SMA, S1, S2 dan S3, masing masing memiliki tahun lulus yang berbeda, perhatikan notasi berikut :

 {No_Dosen, Pendidikan} --> Tahun_Lulus

Kita bisa mengujinya apakah Tahun_Lulus ini tergantung sepenuhnya kepada kedua atribut No_Dosen dan Pendidikan. Disini didapat kesimpulan bahwa Tahun_Lulus ini sangat bergantung kepada No_Dosen dan Pendidikan karena setiap dosen memiliki tahun lulus yang berbeda beda untuk setiap jenjang pendidikan yang dimilikinya.

 

2. Dependensi Parsial

Suatu atribut dikatakan memiliki dependensi parsial terhadap X apabila memenuhi dua syarat berikut :

1. Y adalah atribut non kunci primer dan X adalah atribut kunci primer.

2. Y memiliki dependensi terhadap bagian dari X tetapi tidak memiliki dependensi terhadap keseluruhan dari X

Sebagai contoh disini tabel dosen tadi memiliki kunci primer berupa No_Dosen dan Pendidikan, hubungan kunci primer ini dengan Jenis_Kelamin adalah dependensi Parsial karena No_Dosen akan menentukan jenis kelamin tetapi pendidikan tidak menentukan jenis kelamin.

 

3. Dependensi Total.

Suatu atribut Y memiliki dependensi total terhadap atribut X jika memenuhi dua kondisi berikut :

1. Y memiliki dependensi fungsional terhadap X.

2. X memiliki dependensi fungsional terhadap Y.

Notasinya adalah 

         X <--> Y

Contohnya adalah Kode_Mahasiswa dan Nama_Mahasiswa dengan syarat nama mahasiswanya diikuti oleh nama bapak dan nama kakeknya sehingga tidak satu orangpun mahasiswa yang memiliki nama yang sama karena nama bapak dan kakeknya sudah pasti berbeda. Tetapi jika hanya nama mahasiswa itu saja maka hal ini dapat mengakibatkan adanya data yang ganda karena nama mahasiswa ada yang persis sama dan hanya akan berbeda jika sudah menyebutkan nama bapak dan / atau nama kakeknya.

 

4. Dependensi Transitif.

Suatu atribut Z dikatakan memiliki dependensi transitif terhadap X apabila memenuhi dua kondisi berikut:

1. Z memiliki dependensi fungsional terhadap Y.

2. Y memiliki dependensi fungsional terhadap X.

Notasinya adalah 

   X --> Y --> Z

 Contoh adalah pada notasi berikut :

            Kode_Barang --> Nama_Pemasok

Sesungguhnya pada notasi diatas terdapat Kode_Pemasok yang akan menentukan Nama_Pemasok sehingga notasinya adalah :

            Kode_Barang --> Kode_Pemasok --> Nama_Pemasok

 

Demikianlah sekilas pemaparan mengenai dependensi fungsional yang nantinya akan sangat berguna pada saat kita melakukan normalisasi terhadap suatu database atau untuk merancang struktur database yang akan dibangun, semoga bermanfaat dan menambah wawasan kita bersama.

Tidak ada komentar:

Posting Komentar