Ketergantungan Fungsional Pada Basis Data
1. Tabel dan Atribut
Sebagaimana telah dijelaskan dalam aktivitas mencar ilmu 2, tabel yaitu kompulan data yang tersusun dalam format baris (record) dan kolom (field atau atribut). Atribut ini lebih umum dipakai dalam perancangan basis data, alasannya menunjukkan fungsinya sebagai pembentuk karakteristik (sifat–sifat) yang menempel pada sebuah table. Atribut dibedakan menjadi beberapa jenis yaitu :
- Simple atribut (Simple Attribute) dan Atribut Komposit (Composite Attribute)
- Atribut BernilaiTunggal (Single Valued Attribute)
- Atribut Bernilai Banyak (Multi Valued Atrtribute).
- Mandatory dan Non mandatory Attribute
- Not Null atribut
- Atribut Turunan.
Dari gambar diatas dan gambar dibawah ini sanggup diketahui dan dikelompokkan atribut-atributnya menurut kategorinya yaitu sebagai berikut :
2. Relationship
Sebagai mana dijelaskan pada uraian aktivitas 3 bahwa korelasi atau relationship merupakan korelasi yang terjadi antara satu atau lebih entitas. Berikut ini yaitu rujukan penggambaran diagram relationship antara 2 entitas :
Pada diagram di atas terlihat korelasi ‘kerja’ antara entitas pegawai dengan entitas proyek.Derajat dari relationship menjelaskan jumlah entitas yang berpartisipasi dalam suatu relationship. Klasifikasi korelasi menurut derajatnya adalah:
Rasio kardinalitasatau Cardinality Ratio Constraintmenjelaskan batasan jumlah keterhubungan satu entitas dengan entitas lainnya. Jenis – jenis Cardinality Ratio (rasio kardinalitas)
Weak Entity yaitu suatu entitas dimana keberadaan dari entitas tersebut tergantung dari keberadaan entitas lain. Entitas yang merupakan induknya disebut Identifying Owner dan relationshipnya disebut Identifying Relationship.
Contoh dari sebuah weak entity :
Entitas tanggungan yaitu weak entity alasannya tergantung penuh pada entitas pegawai. Berikut ini yaitu rujukan ER-Diagram dari sebuah database toko :
3. Ketergantungan Fungsional
Atribut Y pada korelasi R dikatakan tergantung fungsional pada atribut X (R,X -> R,Y), kalau dan hanya kalau setiap nilai X pada korelasi R mempunyai sempurna satu nilai Y pada R.Misal, terdapat denah database Pemasok_barang. Dengan tabel pemasok (No_pem, Na_pem)
Ketergantungan fungsional dari tabel Pemasok_barang yaitu : No_pem -> Na_pem (nama pemasuk tergantung secara fungsional dari Nomer pemasok)
4. Ketergantungan Fungsional Penuh
Atribut Y pada korelasi R dikatakan tergantung fungsional penuh pada atribut X pada korelasi R, kalau Y tidak tergantung pada subset dari X (bila X yaitu key gabungan). Contoh tabel Kirim_barang (No_pem, Na_pem, No_bar, Jumlah)
Ketergantungan fungsionalnya yaitu : No_pem -> Na_pem
No_bar, No_pem -> Jumlah (tergantung penuh terhadap keynya)
5. Ketergantungan Transitif
Atribut Z pada korelasi R dikatakan tergantung transitif pada atribut X, kalau atribut Y tergantung pada atribut X pada korelasi R dan atribut tergantung pada atribut Y pada korelasi R. Contoh perhatikan tabel dibawah ini :
6. Contoh Lain Ketergantungan Fungsional
Diberikan sebuah tabel T berisi paling sedikit 2 buah atribut, yaitu A dan B. Kita sanggup menyatakan notasi berikut ini :
A -> B
Yang berarti A secara fungsional memilih B atau B secara fungsional tergantung pada A, kalau dan hanya kalau setiap kumpulan baris (row) yang ada di tabel T, niscaya ada 2 baris data (row) di tabel dengan nilai A yang sama, maka nilai B niscaya juga sama. Definisi yang paling formal untuk itu adalah:
Diberikan 2 row r1 dan r2 dalam tabel T dimana A -> B
kalau r1(A) = r2(A) maka r1(B) = r2(B)
Dengan melihat data di atas dan dengan pertimbangan intuisi kita, maka ketergantungan fungsional yang sanggup kita ejekan yaitu :
- Atribut sederhana: nim, tgl_lahir, kota, arahan pos. Merupakan atribut sederhana (atomic attribute) alasannya tidak sanggup dipecah lagi.
- Atribut komposit : alamat_mhs(merupakan atribut komposite alasannya sanggup dipecah lagi menjadi tabel: alamat, kota, arahan pos), nama_mhs (merupakan atribut komposite alasannya sanggup dipecah lagi menjadi tabel: nama depan, nama belakang, inisial).
- Atribut tunggal : nim, nama_mhs, alamat_mhs, tgl_lahir (merupakan atribut tunggal alasannya hanya mempunyai satu nilai)
- Atribut bernilai banyak: hobi (merupakan multivalue atribut alasannya mempunyai nilai banyak dan nilai yang jenisnya)
- Mandatori atribut : nim, nama-mhs (merupakan mandatori atribut alasannya atribut tersebut harus mempunyai nilai dan dihentikan kosong)
- Non mandatory atribut: alamat, tgl lahir, hobi (merupakan non mandatori atribute alasannya boleh tidak mempunyai nilai atau NOT NULL)
- Atribut turunan : indeks prestasi (ip), merupakan atribut diturunkan dari beberapa atribut nilai mata kuliah.
2. Relationship
Sebagai mana dijelaskan pada uraian aktivitas 3 bahwa korelasi atau relationship merupakan korelasi yang terjadi antara satu atau lebih entitas. Berikut ini yaitu rujukan penggambaran diagram relationship antara 2 entitas :
Pada diagram di atas terlihat korelasi ‘kerja’ antara entitas pegawai dengan entitas proyek.Derajat dari relationship menjelaskan jumlah entitas yang berpartisipasi dalam suatu relationship. Klasifikasi korelasi menurut derajatnya adalah:
- Unary Degree (Derajat Satu). Relationship yang hanya melibatkan 1 entitas.
- Binary Degree (Derajat Dua). Relationship yang melibatkan 2 entitas.
- Ternary Degree (Derajat tiga). Relationship yang melibatkan 3 entitas.
Rasio kardinalitasatau Cardinality Ratio Constraintmenjelaskan batasan jumlah keterhubungan satu entitas dengan entitas lainnya. Jenis – jenis Cardinality Ratio (rasio kardinalitas)
- One–to–one (1:1). Relationship antar entitas dimana korelasi antara entitas pertama dan kedua yaitu satu berbanding satu.Contoh : pada pengajaran private satu guru satu siswa. “seorang guru mengajar seorang siswa, seorang siswa diajar oleh seorang guru”
- One-to-manyatau many-to-one (1 : N atau N : 1). Relationship antar entitas dimana korelasi antara entitas pertama dan kedua yaitu satu berbanding banyak atau banyak berbanding satu.Contoh kasus :Dalam suatu perusahan satu bab mempekerjakan banyak pegawai. “Satu bab mempekerjakan banyak pegawai, satu pegawai kerja dalam satu bagian”
- Many-to-many (N : N). Relationship antar entitas dimana korelasi antara entitas pertama dan kedua yaitu banyak berbanding banyak.Contoh kasus : Dalam Dalam universitas seorang mahasiswa sanggup mengambil banyak matakuliah.“Satu mahasiswa mengambil banyak matakulih dan satu matakuliah diambil banyak mahasiswa.”
Weak Entity yaitu suatu entitas dimana keberadaan dari entitas tersebut tergantung dari keberadaan entitas lain. Entitas yang merupakan induknya disebut Identifying Owner dan relationshipnya disebut Identifying Relationship.
Contoh dari sebuah weak entity :
Entitas tanggungan yaitu weak entity alasannya tergantung penuh pada entitas pegawai. Berikut ini yaitu rujukan ER-Diagram dari sebuah database toko :
3. Ketergantungan Fungsional
Atribut Y pada korelasi R dikatakan tergantung fungsional pada atribut X (R,X -> R,Y), kalau dan hanya kalau setiap nilai X pada korelasi R mempunyai sempurna satu nilai Y pada R.Misal, terdapat denah database Pemasok_barang. Dengan tabel pemasok (No_pem, Na_pem)
Ketergantungan fungsional dari tabel Pemasok_barang yaitu : No_pem -> Na_pem (nama pemasuk tergantung secara fungsional dari Nomer pemasok)
4. Ketergantungan Fungsional Penuh
Atribut Y pada korelasi R dikatakan tergantung fungsional penuh pada atribut X pada korelasi R, kalau Y tidak tergantung pada subset dari X (bila X yaitu key gabungan). Contoh tabel Kirim_barang (No_pem, Na_pem, No_bar, Jumlah)
Ketergantungan fungsionalnya yaitu : No_pem -> Na_pem
No_bar, No_pem -> Jumlah (tergantung penuh terhadap keynya)
5. Ketergantungan Transitif
Atribut Z pada korelasi R dikatakan tergantung transitif pada atribut X, kalau atribut Y tergantung pada atribut X pada korelasi R dan atribut tergantung pada atribut Y pada korelasi R. Contoh perhatikan tabel dibawah ini :
6. Contoh Lain Ketergantungan Fungsional
Diberikan sebuah tabel T berisi paling sedikit 2 buah atribut, yaitu A dan B. Kita sanggup menyatakan notasi berikut ini :
A -> B
Yang berarti A secara fungsional memilih B atau B secara fungsional tergantung pada A, kalau dan hanya kalau setiap kumpulan baris (row) yang ada di tabel T, niscaya ada 2 baris data (row) di tabel dengan nilai A yang sama, maka nilai B niscaya juga sama. Definisi yang paling formal untuk itu adalah:
Diberikan 2 row r1 dan r2 dalam tabel T dimana A -> B
kalau r1(A) = r2(A) maka r1(B) = r2(B)
Dengan melihat data di atas dan dengan pertimbangan intuisi kita, maka ketergantungan fungsional yang sanggup kita ejekan yaitu :
- nim -> nama_mhs, yang berarti bahwa atribut nama_mhs hanya tergantung pada atribut nim. Hal ini dibuktikan dari fakta : untuk setiap nilai nim yang sama maka niscaya nilai nama_mhsnya juga sama.
- nama_kul, nim -> indeks_nilai, yang berarti bahwa atribut indeks_nilai tergantung pada atribut nama_kul dan nim secara bersama–sama, memang kita tidak sanggup menunjukkan fakta, bahwa untuk setiap nilai nama_kul dan nim yang sama, maka nilai indeks_nilainya juga sama, alasannya nama_kul, nim merupakan key (sehingga bersifat unik) untuk tabel tersebut. Tetapi, ketergantungan fungsional tersebut sesuai dengan pengertian bahwa setiap indeks_nilai diperuntukkan pada mahasiswa tertentu untuk mata kuliah tertentu yang diambilnya.