A. Functional Dependency
- Merupakan hubungan/relationalship antara atribut-atribut dalam relasi.
Suatu atribut dikatakan functionally dependent jika harga atribut tersebut
menentukan harga atribut lain. Disimbolkan dengan tanda panah dan dibaca “secara
fungsional menentukan”.
- Notasi dari functional dependency adalah A -> B. Dibaca atribut A
menentukan atribut B.
Contoh:
Tabel pemasok barang
No_pemasok
|
Nama_pemasok
|
5
|
Dina
|
15
|
Zian
|
20
|
Esa
|
Ketergantungan pada tabel pemasok barang diatas adalah :
No_pemasok -> Nama_pemasok atau No_pemasok menentukan Nama_pemasok
Tabel Siswa
Matkul
|
Nim
|
Nama
|
Nilai
|
Psikopen
|
5302411033
|
Dina
|
A
|
Bahasa Inggris
|
5302411013
|
Yanuar
|
B
|
Teknik Digital
|
5302411008
|
Sigit
|
AB
|
Ketergantungan pada tabel siswa diatas adalah :
Nim -> Nama atau Nim menentukan Nama , karena untuk setiap nilai dengan
Nim yang sama maka nilai dengan nama juga akan sama.
{Matkul,Nim} -> Nilai
Matkul dan Nim dapat menentukan Nilai jika Matkul dan Nilai merupakan
gabungan.
Macam-Macam Functional Dependency
1.
Full Functional Dependency
Menunjukkan suatu relasi jika terdapat atribut A dan B
dalam satu relasi, dimana atribut B memiliki ketergantungan fungsional secara
penuh pada atribut A dan atribut A ketergantungan pada atribut B. Full functional
dependency hanya terdiri dari satu atribut saja.
2.
Partially Dependency
Merupakan ketergantungan fungsional dimana beberapa
atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan. Dan
B memiliki dependensi terhadap subset A. Pada partially dependency ini salah
satu dari atributnya harus primary key.
3.
Transitive Dependency
Merupakan suatu ketergantungan fungsional dimana A, B,C
adalah atribut sebuah relasi dimana A -> B dan B -> C. Maka, C dikatakan
sebagai transitive dependency terhadap A melalui B
B. Normalisasi
- Normalisasi merupakan suatu proses untuk mendapatkan struktur tabel
atau relasi yang efisien dan bebas dari anomali, dan mengacu pada cara
data item dikelompokkan ke dalam struktur record.
·Tujuan Normalisasi , adalah:
1.
Mengoptimalkan struktur-struktur tabel.
2.
Meningkatkan kecepatan.
3.
Menghilangkan pemasukan data yang sama.
4.
Lebih efisien dalam penggunaan media penyimpanan.
5.
Mengurangi redudansi yaitu adanya penggandaaan data.
6.
Menghindari anomali yaitu adanya keanehan-keanehan dari data.
7.
Menjaga integritas data.
Bentuk-bentuk Normalisasi :
1. First Normal Form (1NF)
Merupakan suatu keadaan dimana perpotongan baris dan
kolom pada relasi hanya berisi satu nilai. Pada bentuk ini tidak diperbolehkan
adanya atribut multivalue (atribut bernilai banyak) dan atribut komposit, atau
perpaduan di antara keduanya.
2. Second Normal Form (2NF)
Merupakan suatu tabel dikatakan 2NF jika 1NF sudah
terpenuhi dan semua atribut selain primary key secara utuh memiliki
ketergantungan fungsional pada primary key. Jika terdapat atribut yang tidak
memiliki ketergantungan terhadap primary key, maka atribut tersebut harus
dipindah atau dihilangkan.
3. Third Normal Form (3NF)
Merupakan suatu tabel dikatakan 3NF apabila 2NF sudah
terpenuhi dan tidak ada atribut non primary key yang memiliki ketergantungan
terhadap atribut non primary key yang lainnya (ketergantungan transitif).
4. Boyce-Codd Normal Form (BCNF)
Merupakan Semua anomali yang tersisa dari hasil penyempurnaan
kebergantungan fungsional di atas telah dihilangkan.
5. Four Normal Form (4NF)
Semua kebergantungan bernilai banyak (multivalued dependencies) telah
dihilangkan.
6. Five Normal Form (5NF)
Semua anomali yang tertinggal telah dihilangkan.
Langkah Normalisasi
Dimulai dari bentuk yang tidak normal -> bentuk 1NF (menghilangkan
atribut-atribut ganda) -> 2NF (menghilangkan dependensial partial) -> 3NF
(menghilangkan dependency transitive) -> BCNF (menghilangkan ketergantungan
penentunya bukan kunci candidate) -> 4NF (menghilangkan lebih dari satu
dependency yang bernilai ganda) -> 5NF (mengatasi dependency ganda).