Functional Dependency (ketergantunagn Fungsional)
Biasanya
disebut dengan singkatan FD, fungsi dari FD sendiri adalah menggambarkan
relatinship atau hubungan, batasan, serta keterkaitan antara atribut-atribut
dalam relasi. Suatau atribut dikatakan sebagai FD pada atribut yang lain jika
harga dalam atribut tersebut digunakan akan menentukan atribut yang lain.
Simbol à mewakili bentuk FD dengan
cara pembacaan “secara fungsional menentukan”. Contoh:
A à
B, ini berarti bahwa A dan B atribut dasri tabel. Secara fungsional A
menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data
dengan nilai A sama, maka nilai B juaga
sama. Dalam sebuah tabel dapat digambarkan sebagai berikut.
Contoh 1
Tabel Pemasok
No_Pemasok
|
Nama_Pemasok
|
P01
|
Imam
|
P02
|
Septi
|
P03
|
Hana
|
FD dari tabel Tabel Pemasok
adalah
No_PemasokàNama_Pemasok
Contoh 2
Nilai
Matakuliah
|
NIM
|
NamaMhs
|
NilaiHuruf
|
Struktur Data
|
5309998
|
Sefriani Nurrahilah
|
A
|
Struktur Data
|
5309991
|
Supai
|
A
|
SBD
|
5309992
|
Samina
|
B
|
PBO
|
5309991
|
Sembada
|
AB
|
FD dari tabel Nilai adalah
-
NIMàNamaMhs
-
{Matakuliah,NIM}àNilaiHuruf
Hal ini
dikarenakan atribut NilaiHuruf tergantung pada matakuliah dan NIM. Jika
Matakuliah dan NIM yang sama, maka NilaiHuruf juga sama.
Macam-macam Dependency
·
Functional dependency
1.
Full functonal dependency
Menunjukan jika terdapat atribut A dan B dalam suatu
relasi, dimana:
-
B memiliki ketergantungan fungsional secara
penuh pada A,
-
B bukan memiliki dependensi terhadap subset A.
Contoh 1
NIM
|
Nama
|
Ipk
|
idRuang
|
Dosen
|
5309991
|
Setia
|
3.4
|
221
|
Suharjo
|
5309994
|
Sepya
|
3.2
|
201
|
Santi
|
5309996
|
Sela
|
3.7
|
110
|
Sefa
|
{NIM,nama}àidRuang bukan Full
Dependency
Jika nama
dihilangkan, maka NIMàidRunga
bisa Full dependency
Contoh 2
No_Dosen
|
Nama
|
Jk
|
Pendidikan
|
Th_Lulus
|
S12
|
Tri Supriati
|
Wanita
|
S1
|
2008
|
S32
|
Yusuf Widodo
|
Pria
|
S2
|
2006
|
S42
|
Suci Lasmini
|
Wanita
|
S1
|
2010
|
{No_Dosen,Pendidikan}àTh_Lulus
B tidak
memiliki dependensi terhadap subset A.
2.
Partially dependency
Merupakan ketergantungan fungsional, dimana beberapa
atribut dapat dihilangkan dari A dengan tidak menghilangkan ketergantungan.
B memiliki dependensi terhadap subset A.
Contoh
NIM
|
Nama
|
Ipk
|
idRuang
|
Dosen
|
5309991
|
Setia
|
3.4
|
221
|
Suharjo
|
5309994
|
Sepya
|
3.2
|
201
|
Santi
|
5309996
|
Sela
|
3.7
|
110
|
Sefa
|
NIM,NamaàidRuang
Jika Nama dihilangkan, ketergantungan masih ada.
3.
Transitive dependency
Merupakan tipe FD, dimana kondisi A,B,C adalah atribut
sebuah relasi dimana AàB
dan BàC
(C dikatakan sebagai transitive dependency terhadap A melalui B).
Contoh
Nip
|
Nama
|
Jabatan
|
Gaji(jt)
|
kdCabang
|
almCabang
|
1112
|
Selama
|
Supervisor
|
7
|
05
|
Banjarnegara
|
1121
|
Sena
|
Supervisor
|
7
|
01
|
Semarang
|
1122
|
Senja
|
Quality Control
|
10
|
01
|
Wonosobo
|
Nipà{Nama,Jabatan,Gaji,kdCabang,almCabang}
kdCabangàalmCabang
NORMALISASI
Noemalisasi
merupakan suatu proses untuk mendapatkan struktur tabel atau relasi yang
efisien dan bebas dari anomali, dan mengacu pada cara data item dikelompokan ke
dalm struktur record. Normalisasi dilakukan agar :
1.
Optimalisasi struktur-struktur tabel
2.
Meningkatkan kecepatan
3.
Menghilangkan pemasukan data yang sama
4.
Lebih efisien dalam penggunaan media penyimpanan
5.
Mengurangi redundansi
6.
Menghindari anomali
7.
Intregitas data yagn ditingkatkan
Bentuk normalisasi yang biasa
digunakan :
-
First normal form(1NF)
Keadaan yang
membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu
nilai.
Tidak
diperbolehkan adanya :
a.
Atribut yang bernilai banyak
b.
Atribut komposit atau kombinasi keduanya
Contoh
NIM
|
Nama
|
Matakuliah
|
68
|
Septi
|
Basis data, PBO,
RPL
|
12
|
Sena
|
Green computing
|
Tabel di atas dirubah dalam bentuk 1NF sebagai berikut
NIM
|
Nama
|
Matakuliah
|
68
|
Septi
|
Basis data
|
68
|
Septi
|
PBO
|
68
|
Septi
|
RPL
|
12
|
Sena
|
Green computing
|
-
Second normal form(2NF)
Dalam bentuk ini
terdapat syarat yaitu:
a.
Memenuhi bentuk 1NF, dan semua atribut selai
primary key. Secara utuh memiliki FD pada primary key.
b.
Jika terdapat atribut yang tidak memiliki
ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau
dihilangkan.
Contoh
Bentuk 1 NF
NIM
|
Nama
|
Kode_dosen
|
Matakuliah
|
68
|
Septi
|
A1
|
Basis data
|
68
|
Septi
|
A5
|
PBO
|
68
|
Septi
|
B2
|
RPL
|
12
|
Sena
|
B1
|
Green computing
|
NIM
|
Nama
|
68
|
Septi
|
68
|
Septi
|
68
|
Septi
|
12
|
Sena
|
Kode_dosen
|
Matakuliah
|
A1
|
Basis data
|
A5
|
PBO
|
B2
|
RPL
|
B1
|
Green computing
|
Bentuk 2NF
NIM
|
Kode_dosen
|
68
|
A1
|
68
|
A5
|
68
|
B2
|
12
|
B1
|
-
Third normal form(3NF)
Bentuk 3NF
terpenihi jika :
a.
Telah terpenuhi bentuk 2NF, dan
b.
Tidak ada atribut non primary key yang memiliki
ketergantungan terhadap atribut non primary key yang lainnya.
Contoh
NIMà{NamaMhs,Jalan,Kota,Provinsi,KodePos}
FD di atas memenuhi sayarat 2NF tapi tidak memenuhi
bentuk 3NF, jadi dirubah menjadi:
KodePosà{Kota,Provinsi}
-
Boyce-codd normal form(BCNF)
-
Four normal form(4NF)
-
Five normal form(5NF)