AdSense

Ketergantungan fungsional (Functional Depedency)

Ketergantungan fungsional (Functional Depedency)


Pengertian, Definisi, Jenis dan Contoh Ketergantungan Fungsional (Functional Dependency)

Ketergantungan fungsional berperan penting dalam desain perancangan basis data khususnya pada pendekatan teknik normalisasi basis data. Dalam melakukan dekomposisi struktur tabel data dengan ketergantungan fungsional dapat memudahkan analis untuk mendefinisikan atribut key relasi sistem basis data.

Pengertian Ketergantungan Fungsional (Functional Dependency)

Ketergantungan fungsional (FK) bahasa inggris disebut dengan Functional Dependency (FD). Pengertian Ketergantungan Fungsional (Functional Dependency) adalah gambaran hubungan ketergantungan antara dua atribut atau kolom pada sebuah tabel/relasi, biasanya menggambarkan hubungan antara Primary Key (PK) dan atribut non-kunci (non-key) lainnya.

Definisi Ketergantungan fungsional (Functional Dependency)

Definisi formal untuk Ketergantungan Fungsional (Functional Dependency) adalah dimana diberikan 2 baris data (row) r1 dan r2 dalam sebuah tabel X dimana dikatakan A memiliki ketergantungan B (A → B), jika memenuhi r1 (A) = r2 (A), maka r1 (B) = r2 (B). 

Dimana A disebut dengan determinan, dan B disebut dengan dependen.

Artinya atribut A mempunyai ketergantungan fungsional terhadap atribut B jika dan hanya jika setiap elemen atau nilai atribut B berhubungan dengan sebuah nilai A. Dimana, A secara fungsional menentukan B dan B secara fungsional bergantung terhadap A. Dinotasikan dengan A => B.

Atau Jika r1 (A) memiliki ketergantungan terhadap atau sama dengan r2 (A) maka jika atau haruslah r1 (B) juga memiliki ketergantungan terhadap atau sama dengan r2 (B).

Defenisi ini dapat dituliskan dengan notasi r1 (A) = r2 (A) => r2 (B) = r2 (B)

Gambaran keterkaitan alami antar kolom yang satu dengan kolom lainya dalam sebuah tabel star tabel/universal. Dimana dapat terlihat gambaran hubungan akurat antara dua kolom dikatakan terikat atau tidak terhadap Primary Key. Ketergantungan Fungsional bertujuan untuk membuat seluruh kolom dalam satu tabel hanya tergantung pada primary key.

Contoh Ketergantungan Fungsional (Functional Dependency)

Perhatikan gambar 1 berikut.
Gambar 1 Ketergantungan Fungsional (Functional Dependency)
Dari Gambar tabel diatas dapat diidentifikasikan Ketergantungan Fungsional (Functional Dependency) antar kolom tabel diatas, bahwa:

nama_matakuliah ↛  nim
Artinya, nilai dari atribut nama_matakuliah (Algoritma dan Pemrograman, Basis Data, Kalkulus, dan Bahasa Inggris) tidak memiliki ketergantungan dan atau menentukan secara fungsional terhadap nilai atribut nim (M001, M005, dan M010), karena memiliki nilai atribut yang berbeda beda. Begitu juga sebaliknya, nilai atribut nim ↛  nama_matakuliah, artinya nilai Atribut nim (M001, M005, dan M010) tidak memiliki ketergantungan dan atau menentukan secara fungsional terhadap nilai atribut nama_matakuliah (Algoritma dan Pemrograman, Basis Data, Kalkulus, dan Bahasa Inggris).
nim → nama_mahasiswa
artinya nilai dari atribut nama_mahasiswa (Ardiansyah, Malik, dan Hanis) secara fungsional hanya memiliki ketergantungan terhadap nilai atribut nim (M001, M005, dan M010). Pada contoh gambar 1 diatas berlaku notasi nim => nama_mahasiswa (p=>q). Perhatikan gambar 1 pada r1(B) dan r3(B) jika ada nama_mahasiwa yang sama dengan nim yang berbeda maka notasi tersebut tidak berlaku.
nama_mahasiswa ↛  indeks_nilai
Artinya, atribut nama_mahasiswa (Ardiansyah, Malik, dan Hanis) tidak memiliki ketergantungan dan atau menentukan secara fungsional terhadap nilai atribut indeks_nilai, karena nilai atribut nama_mahasiswa yang sama tapi, nilai atribut indeks_nilai-nya berbeda. Perhatikan r2(C) dan r5(C). Begitu juga sebaliknya indeks_nilai ↛  nama_mahasiswa.
nim, nama_mahasiswa → indeks_nilai
Artinya, abungan antara nilai atribut nim (M001, M005, dan M010) dengan nilai atribut mama_matakuliah (Algoritma dan Pemrograman, Basis Data, Kalkulus, dan Bahasa Ingris) secara fungsional memiliki ketergantungan dan atau menentukan terhadap nilai atribut indeks_nilai (A, B, C, D, dan E). Perhatikan Gambar 1 r1(B) dan r2(B). Walaupun ada atribut bernilai sama antara satu baris dan kolom, namun jika dikombinasikan akan memberikan nilai unik (unique).
nim, nama_mahasiswa → nama_matakuliah
nim, nama_mahasiswa → nama_matakuliah, indeks_nilai
nim, nama_mahasiswa, nama_matakuliah → indeks_nilai

Macam-Macam Ketergantungan Fungsional (Functional Dependency)

Ada tiga macam jenis Ketergantungan fungsional yang sebaiknya dipahami yaitu ketergantungan fungsional penuh (full functional Depedency), ketergantungan fungsional parsial/sebagian (partially functional dependency), dan ketergantungan fungsional transitif (transitive dependency).
  1. Definisi ketergantungan fungsional penuh (full functional Dependency) adalah jika diberikan atribut A dan B pada suatu tabel, B dikatakan memiliki ketergantungan fungsional secara penuh pada A jika B memiliki ketergantungan pada A, dan B tidak tergantung pada subset A. Contohnya dapat dilihat pada gambar 1 diatas, ketergantungan fungsional penuh (full functional Dependency) pada relasi nilai atribut nim => nama_mahasiswa atau nim => nama_mahasiswa, alamat_mahasiswa, tgl_lahirmhs (jika didalam relasi (tabel) terdapat kolom alamat dan tanggal lahir mahasiswa).
  2. Definisi ketergantungan fungsional parsial (partially functional dependency) adalah diberikan atribut A dan B dalam suatu tabel, B dikatakan memiliki ketergantngan fungsional secara parsial (sebagian) pada A jika B memiliki ketergantungan pada A, dan B tergantung pada subset A. Contoh ketergantungan fungsional sebagian (partially functional depedency) adalah ketika ada kombinasi ketergantungan fungsional atribut id_jurusan, id_mahasiswa => nama_fakultas. Artinya kita dapat mengetahui nama_fakultas cukup dengan mengetahui id_jurusan saja atapun hanya dengan id_mahasiswa.
  3. Definisi ketergantungan fungsional transitif (transitive dependency) adalah diberikan atribut A, B dan C pada sebuah tabel, C dikatakan memiliki ketergantungan fungsional secara transitif pada A jika B tergantung pada A, dan C tergantung pada subset B. Contoh ketergantungan fungsional transitif (transitive dependency) adalah nim, nama_matakuliah => indeks_nilai, dimana kombinasi nim dan nama_matakuliah memiliki ketergantung terhadap indeks_nilai, namun indeks_nilai hanya tergantung (transit) pada nama_kuliah. Jika tidak dikombinasiskan nim dengan nama_matakuliah maka tidak memiliki Ketergantungan Fungsional (Functional Dependency).

0 Response to "Ketergantungan fungsional (Functional Depedency)"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel