FUNCTIONAL DEPENDENCY
·
Functional Dependency atau Ketergantungan Fungsional menggambarkan hubungan attributes
dalam sebuah relasi
·
Suatu attribute bisa disebut memnuhi functionally dependant jika kita menggunakan nilai atribut tersebut
untuk menentukan nilai atribut
yang lain.
·
Functional Dependency dapat disimbolkan dengan:
A -> B : tanda -> dibaca secata fungsional menentukan.
Berarti A secara
fungsional menentukan B atau B secara fungsional tergantung pada
A.
Contoh:
Tabel Mahasiswa
NIM
|
NAMA
|
5302411049
|
Galuh
Puspita Ariputri
|
5302411050
|
Isnaeni
|
5302411051
|
Nurul
Khoiriyah
|
Ketergantungan fungsional dari tabel mahasiswa adalah NIM -> NAMA
MACAM MACAM DEPENDENCY
Full Functional Dependendency
Definisi : Suatu atribut Y mempunyai dependensi fungsional penuh
terhadap X jika
- B memiliki dependensi fungsional terhadap A dan/atau
- B tidak memiliki dependensi terhadap subset dari A
NIM
|
NAMA
|
IPK
|
RUANG
|
DOSEN
|
5302411049
|
Galuh
Puspita Ariputri
|
3,8
|
304
|
Abi
|
5302411050
|
Isnaeni
|
3,7
|
101
|
Bagus
|
5302411051
|
Nurul
Khoiriyah
|
3,6
|
208
|
Candra
|
Contoh : { NIM,NAMA } à RUANG bukan merupakan full functional dependency
{ NIM } –> RUANG merupakan full functional dependency
Dependensi Total
Definisi : Suatu atribut B mempunyai dependensi total terhadap atribut A jika
- B memiliki dependensi fungsional terhadap A dan
- A memiliki dependensi fungsional terhadap B
Notasi : A <–> B
Contoh : Tabel Pemasok
KodePemasok
|
NamaPemasok
|
Kota
|
01
|
Abi
|
Semarang
|
02
|
Bagus
|
Kendal
|
03
|
Candra
|
Jepara
|
Pada kasus ini KodePemasok <–>NamaPemasok, karena setiap
kode tidak mempunyai nama yang sama.
Dependensi Transitif
Definisi : Atribut C mempunyai dependensi transitif terhadap A bila :
- B memiliki dependensi fungsional terhadap A
- C memiliki dependensi fungsional terhadap B
Contoh :
MataKuliah
|
Ruang
|
Tempat
|
Waktu
|
Sistem
Basis Data
|
304
|
E6
|
Jum’at
|
Metode
Numerik
|
101
|
E8
|
Rabu
|
Kewirausahaan
|
208
|
E2
|
Senin
|
Relasi :
- MataKuliah –> {Ruang, Waktu}
- Ruang –> Tempat
Terlihat bahwa : MataKuliah –> Ruang –> Tempat
Dengan demikian Tempat mempunyai dependensi transitif terhadap kuliah
NORMALISASI
·
Normalisasi merupakan proses pembentukan struktur basis data untuk menghilangkan
sebagian besar anomali dan menciptakan struktur tabel yang efisien.
·
Anomali adalah proses pada basis data yang
memberikan efek samping yang tidak diharapkan, misalnya menyebabkan ketidak
konsistenan data atau membuat sesuatu data menjadi hilang ketika data lain
dihapus.
·
Macam-macam anomali:
1.
Anomali Peremajaan/Edit/Update
Anomali ini terjadi apabila
terjadi pengubahan terhadap sejumlah data yang mubazir, tetapi tidak seluruhnya
di ubah.
2.
Anomali Penyisipan/insert
Anomali penyisipan terjadi
jika pada saat penambahan hendak dilakukan ternyata ada elemen data yang masih
kosong dan elemen tersebut justru menjadi kunci.
3.
Anomali Penghapusan/delete
Anomali penghapusan terjadi
sekiranya sesuatu baris (tuple) yang tak terpakai dihapus dan sebagai akibatnya
terdapat data lain yang akan hilang.
·
Tahap
Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF) namun terkadang hanya mencapai 3NF atau BCNF
saja karena dianggap cukup sebagai struktur atau tabel yang berkualitas.
BENTUK-BENTUK NORMALISASI
1. Bentuk Normal Tahap Pertama (1st Normal
Form / 1NF)
Sebuah keadaan yang membuat perpotongan baaris dan kolom hanya
berisis satu nilai.
Syarat:
-
Bentuk
normal 1NF terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued
attribute), atribut composite atau kombinasinya dalam domain data yang
sama.
-
Setiap
atribut dalam tabel tersebut harus bernilai atomic (tidak dapat
dibagi-bagi lagi)
Contoh:
UNF
NIDN
|
NAMA_DOSEN
|
NO_TELEPON
|
2002122
|
Abi
|
085673849221, 081776389273
|
2002123
|
Bagus
|
087767655492
|
2002124
|
Candra
|
089935521767, 086552451189, 080989111
|
1NF
NIDN
|
NAMA_DOSEN
|
NO_TELEPON
|
2002122
|
Abi
|
085673849221
|
2002122
|
Abi
|
081776389273
|
2002123
|
Bagus
|
087767655492
|
2002124
|
Candra
|
089935521767
|
2002124
|
Candra
|
086552451189
|
2002124
|
Candra
|
080989111
|
2. Bentuk Normal Tahap Kedua (2nd Normal Form
/ 2NF)
Syarat:
-
Bentuk
normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF, dan
semua atribut selain primary key, secara utuh memiliki Functional Dependency
pada primary key
-
Sebuah
tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya (Functional
Dependency) hanya bersifat parsial saja (hanya tergantung pada sebagian dari
primary key)
-
Jika
terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka
atribut tersebut harus dipindah atau dihilangkan
Contoh:
1NF
No_pegawai
|
Nama_pegawai
|
No_customer
|
Nama_customer
|
120
|
Abi
|
01
|
Tiara
|
120
|
Abi
|
02
|
Baiti
|
121
|
Bagus
|
03
|
Nina
|
122
|
Candra
|
04
|
Ichma
|
122
|
Candra
|
05
|
Tika
|
122
|
Candra
|
06
|
Bella
|
2NF
No_pegawai
|
Nama_pegawai
|
120
|
Abi
|
120
|
Abi
|
121
|
Bagus
|
122
|
Candra
|
122
|
Candra
|
122
|
Candra
|
No_customer
|
Nama_customer
|
01
|
Tiara
|
02
|
Baiti
|
03
|
Nina
|
04
|
Ichma
|
05
|
Tika
|
06
|
Bella
|
No_pegawai
|
No_customer
|
120
|
01
|
120
|
02
|
121
|
03
|
122
|
04
|
122
|
05
|
122
|
06
|
3. Bentuk Normal Tahap (3rd Normal Form /
3NF)
Syarat:
-
Bentuk
normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jika tidak ada
atribut non primary key yang memiliki ketergantungan terhadap atribut non
primary key yang lainnya.
Contoh:
2NF
NIDN
|
Nama_dosen
|
Alamat
|
Kota
|
Provinsi
|
Kode_pos
|
2002122
|
Abi
|
Jl. Merpati
|
Semarang
|
Jateng
|
50229
|
2002123
|
Bagus
|
Jl.Siliwangi
|
Pontianak
|
Kalbar
|
54331
|
2002124
|
Candra
|
Jl.Patemon
|
Kediri
|
Jatim
|
52614
|
2002125
|
Dedi
|
Jl.Griya Asri
|
Bandung
|
Jabar
|
52111
|
NiDN ->
{ Nama_dosen, Alamat, Kota, Provinsi, Kode_pos}
Kode_pos ->
{ Kota, Provinsi}
3NF
NIDN
|
Nama_dosen
|
Alamat
|
Kode_pos
|
2002122
|
Abi
|
Jl. Merpati
|
50229
|
2002123
|
Bagus
|
Jl.Siliwangi
|
54331
|
2002124
|
Candra
|
Jl.Patemon
|
52614
|
2002125
|
Dedi
|
Jl.Griya Asri
|
52111
|
Kota
|
Provinsi
|
Kode_pos
|
Semarang
|
Jateng
|
50229
|
Pontianak
|
Kalbar
|
54331
|
Kediri
|
Jatim
|
52614
|
Bandung
|
Jabar
|
52111
|
4. Boyce-Code Normal Form (BCNF)
Syarat:
-
Bentuk
BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency
terhadap setiap atribut atau gabungan atribut dalam bentuk: A à B maka A adalah super key
-
Tabel
tersebut harus di-dekomposisi berdasarkan functional dependency yang
ada, sehingga A menjadi
super key dari tabel-tabel hasil dekomposisi
-
Setiap
tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk
BCNF .
5. Bentuk Normal Tahap (4th Normal Form /
4NF)
Syarat:
-
Bentuk
normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan
tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute
-
Untuk
setiap multivalued dependencies (MVD) juga harus merupakan functional
dependencies
6. Bentuk Normal Tahap (5th Normal Form /
5NF)
Syarat:
-
Bentuk
normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition
menjadi tabel-tabel yg lebih kecil.
-
Jika
4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency,
5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah
tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa
digabungkan lagi (join) untuk membentuk tabel semula
Tidak ada komentar:
Posting Komentar