Selasa, 27 November 2012

Functional Dependency


Functional Dependencies atau ketergantungan fungsional merupakan ketergantungan relasi suatu atribut dalam tabel atau set entity terhadap atribut yang lainya.
Misalnya diberikan relasi R, Atribut A dikatakan mempengaruhi secara fungsional atribut lainya B yang juga berada di R, ditulis dengan A --> B (baca: A menentukan B atau B tergantung A), jika untuk setiap elemen/anggota dari atribut A memetakan satu elemen pada Y, dan tidak harus sebaliknya.

Contoh:
Misalkan pada Data Mahasiswa terdapat atribut: NIM, Nama, Alamat. dikarenakan Nama tergantung pada NIM dan Alamat tergantung pada NIM, maka :
NIM --> Nama dan NIM --> Alamat.

Aturan-aturan Ketergantungan Fungsional:
Jika A,B,dan C merupakan himpunan atribut pada relasi R, maka terdapat sifat-sifat yang dikenal dengan axioma amstrong (sifat-sifat ini digunakan untuk normalisasi) adalah sebagai berikut: 

  1. Aksioma Reflexity: Jika B merupakan subset A, maka A --> B,

  2. Aksioma Augmentasi: Jika A --> B, maka AC --> BC,

  3. Aksioma Transitifity: Jika A --> B dan B --> C, maka A --> C

dengan aturan-aturan diatas dapat dibuat aturan turunan sebagai berikut:

  1. Union: Jika A --> B dan A --> C, maka A --> BC,

  2. Dekomposisi: Jika A --> BC , maka A --> B dan A --> C,

  3. Peseudo Transitifity: Jika A --> B dan BC --> D, maka AC --> D,


Functional Dependency menunjukkan suatu relationship atau hubungan, batasan, keterkaitan antara atribut-atribut di dalam suatu relasi. Bisa disebut juga Ketergantungan Fungsional.
*Notasi: AĆ  B
A dan B atribut dari sebuah tabel. Maka secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama. Notasi dari FD yaitu: A –> B, maksudnya yaitu atribut B tergantung pada atribut A. Salah satu contohnya yaitu:
KodeMK –> NamaMK (artinya atribut NamaMK tergantung pada atribut KodeMK)


1Macam-macam Dependency :

1. Full Dependency
Merupakan suatu ketergantungan dimana terdapat atribut A dan atribut B dalam satu relasi.
Contoh:
NIM –> Nilai (artinya yaitu Nilai tergantung pada atribut NIM)
dari contoh di atas Dapat disimpulkan bahwa 1 atribut menetukan pada 1 atribut

2. Partially Dependency
Yaitu suatu functional Dependency yang mana beberapa atribut pada A dapat dihilangkan tetapi ketergantunga terhadap atribut B masih dapat dipertahankan.
Contoh: NIM, nama –> idRuang (artinya idRuang tergantung pada NIM dan nama)
sehingga apabila nama dihilangkan, NIM masih terdapat ketergantungan dengan idRuang.

3. Transitive Dependency
Merupakan salah satu functional dependency dimana keterhubungan anatara A,B,C saling berkaitan. Transitive Dependency dapat dinotasikan A –> B dan B –> C, sehingga apabila kita ingin mengaitkan A –> C maka membutuhkan relasi dari B.
Contoh:
Id_Pelanggan –> {Nama, Salesman, Area}
Salesman –> Area


Normalisasi
         Normalisasai adalah suatu proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomaly, dan mengacu pada cara data item dielompokan ke dalam struktur record. Hal-hal yang menjadi dasar acuan dalam proses normalisasi adalah tujuan pembentukan basis data, diantanya harus menghilangkan hal-hal berikut:
a. pengulangan informasi
b. potensi inkosistensi data pada operasi update
c. hindari atribut yang tidak perlu disimpan
d. tersembunyinya informasi tertentu.


Bentuk normalisasi yang biasa digunakan adalah :

1.                   First normal form (1NF)
2.                   Second normal form (2NF)
3.                   Third normal form (3NF)
4.                   Boyce-codd normal form (BCNF)
5.                   Four normal form (4NF)
6.                   Five normal form (5NF)


1 NF (Bentuk Normal Pertama)
            First Normal Form, suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai. Cara unttuk UNF ke 1NF:
- Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel unnormalizied.
- Identifikasi grup yang berulang dalam tabel unnormalized yang berulang untuk kunci atribut
- Hapus grup yang berulang dengan cara memasukkan data yang semestinya ke dalam kolom yang kosong pada baris yang berisikan data yang berulang atau dengan cara menggantikan data yang ada dengan copy dari kunci atribut yang sesungguhnya  ke dalam relasi terpisah.
Dalam 1NF tidak diperbolehkan adanya :
·         Atribut yang bernilai banyak (Multivalued attribute).
·         Attribut komposit atau kombinasi keduanya.
  
2NF (Bentuk Normal Kedua)
            Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1 NF, dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada primary key. Merupakan sebuah relasi dalam 1NF dan setiap atribut non-primary-key bersifat fully functionally dependent pada primary key.
Langkah perubahan dari 1NF ke 2NF yaitu:
- Mengidentifikasi primary key untuk relasi 1NF.
- Mengidentifikasi functional dependency dalam relasi.
- Jika terdapat partial dependency terhadap primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.
  
3 NF (Bentuk Normal Ketiga)
           Merupakan sebuah relasi dalam 1NF dan 2NF dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitive dependent pada primary key. Langkah-langkah perubahan dari 2NF ke 3NF:
- Mengidentifikasi primary key dalam relasi 2NF.
- Mengidentifikasi functional dependency dalam relasi.
- Jika terdapat transitive dependency terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.

1 komentar:

  1. Penasehat KJJT Serukan Kawal Kasus Habib Arogan, Perusakan dan Pengeroyokan di Cagar Budaya Botoputih | Jatim.TV - #NoViralNoJustice #PercumaLaporPolisi #Kapolri #Jokowi #FPI - https://www.jatim.tv/2022/05/penasehat-kjjt-serukan-kawal-kasus.html

    BalasHapus