DEPENDENCY
Functional Dependency
Functional
Dependency (FD) merupakan ketergantungan yang terjadi antara atribut-atibut
pada suatu entitas.
Symbol yang digunakan untuk
mewakili FD adalah -> (dibaca secara fungsional menentukan)
Contoh : A -> B
Maksudnya : A
secara fungsional B (nilai A akan menentukan nilai dari B)
Contoh dalam
kasus : KodeMK –> NamaMK (artinya atribut NamaMK tergantung pada atribut
KodeMK)
Macam-macam Dependency
:
1. Full Dependency
Merupakan
suatu ketergantungan dimana terdapat atribut A dan atribut B dalam satu relasi,
B bergantung penuh terhadap A.
Contoh:
NIM -> Nama MHS
attribute NIM menentukan
attribute Nama MHS, dimana setiap NIM yang sama juga akan menentukan nama yang
sama pula, satu NIM satu Nama MHS.
2.
Partially Dependency
Merupakan
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:
NIP
|
Nama
|
Jabatan
|
Gaji/Jt
|
KdCbng
|
Alamat
|
123
|
Bambang
|
DIRUT
|
5
|
1
|
Surabaya
|
234
|
Samsul
|
CS
|
3
|
2
|
Ngawi
|
567
|
Indra
|
sekretaris
|
3.5
|
3
|
Pasuruan
|
NIP -> {Nama, Jabatan, Gaji, KdCab, AlmtCab}
kdCab -> AlmtCab
artinya : alamat cabang ditentukan oleh NIP melalui kdCab
NORMALISASI
Normalisasi merupakan suatu proses pembentukan struktur basis
data sehingga sebagian besar ambiguity
dapat dihilangkan.
Alasan-alasan
dilakukan NORMALISASI :
1. Optimalisasi
struktur-struktur table
2. Meningkatkan
kecepatan
3. Mengurangi
redudansi
4. Lebih efisien
dalam media penyimpanan
5. Menghindari
anomaly
6. Menghilangkan pemasukan
data yang sama, dll
Langkah-langkah Normalisasi
1.
Bentuk tidak normal
2.
1NF : Menghilangkan
attribute bernilai ganda
3.
2 NF : Menghilangkan
depedensi parsial
4.
3NF : Menghilangkan
depedensi transitif
5.
BCNF : Menghilangkan
ketergantungan yang penentunya bukan kunci kandidat
6.
4NF : Mengilangkan
lebih dari 1 depedensi yang bernilai ganda
7.
5NF : Mengatasi
depedensi ganda
Penjelasan mengenai
hal-hal diatas,
(tapi saya bahas sampe 3 aja yah,soalnya baru tau 3 doang ^_^,
heeeee , langsung aja liat dibawah) :
1. 1NF
Merupakan sebuah relasi dimana setiap irisan antara baris dan
kolom berisikan satu dan hanya satu nilai.
Cara untuk 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.
2.
2NF
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.
3NF
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.