Pages

Rabu, 28 November 2012

Dependency dan Normalisasi



Materi kali saya menerangkan tentang Dependency dan Normalisasi.
Ketergantungan kunci atau Functional Dependent merupakan keterkaitan antara atribut dalam suatu relasi.Dinotasikan dengan anak panah (->), dalam implikasinya dituliskan A->B. tanda  -> bermakna:
Isi Attribut A menentukan isi attribute B
atau
Attribut B functionally dependent A.
Kondisi tersebut akan terjadi jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama
Contoh:
NIM->Nama_Mhs
Kita lihat tabel IPK mahasiswa untu lebih jelasnya, kita melihat bahwa disitu ada nama mahasiswa yang sama yaitu Noor Hidayah tetapi memiliki NIM yang berbeda, maka terbukti bahwa Nama_Mhs bergantung pada NIM
NIM
Nama_Mhs
Jurusan
IPK
1000020
Nita Anjelina
PTIK
3.4
1000021
Akbar Tanjung
PTIK
3.45
1000022
Noor Hidayah
PTIK
3.6
1000023
Noor Hidayah
PTIK
3.33


Macam-macam Functional Dependency
1. Full functional dependency
Merupakan ketergantungan penuh atas suatu attribute, Misal attribute B bergantung penuh pada attribute A tetapi B tidak bergantung pada bagian attribute lain. Contoh :
NIM
Nama_MHS
IPK
Id_RuangWaktu
Dosen
1000020
Nita Anjelina
3.4
102-E2
Dharu Wihartasih
1000021
Akbar Tanjung
3.45
104-E2
Dharu Wihartasih
1000022
Noor Hidayah
3.6
106-E2
Dharu Wihartasih
1000023
Noor Hidayah
3.33
102-E8
Rio Saputra

Jika pada awalnya {NIM,Nama_MHS}->Id_RuangWaktu maka itu tidak bisa disebut dengan Full Dependency, karena NIM merupakan primary key maka Nama_MHS dihilangkan, NIM-> Id_RuangWaktu baru bisa disebut Full Dependency
2. Partially Dependency
Pada intinya adalah ketergantungan beberapa attribute pada satu attribute tetapi ketika salah satu attribute yang bergantung dihapus masih terdapat ketergantungan.
Contoh : NIM, Nama_MHS->id_RuangWaktu
Jika misal Nama_MHS dihilangkan ketergantungan masih ada
3. Transitive Dependency
Merupakan tipe functional dependency yaitu kondisi dimana A,B,C  adalah atribut sebuah relasi dimana A->B dan B->C. Maka C dikatakan sebagai transitive dependency terhadap A melalui B.
Contoh :
Nip
Nama
Jabatan
Gaji
kdCabang
almCabang
12092-01
Dharu Wihartasih
Kepala Cabang
4.500.000
01
Kudus
12067-02
Nia Stefani Irawan
Bendahara
3.000.000
02
Semarang
12067-02
Rio Saputra
Sekertaris
2.450.000
02
Semarang
12049-03
Derick Indrayan
Pegawai
1.750.000
03
Jepara

Nip->{Nama, Jabatan, Gaji, KdCabang, almCabang}KdCabang->almCabang
Normalisasi
Merupakan suatu proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomaly, dan mengacu pada cara data item dikelompokkan ke dalam struktur record. Bertujuan untuk menghilangkan ambiguity saat proses pembentukan struktur basis data.

Langkah-langkah normalisasi


1. Bentuk First Normal Form (1NF)
Suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya baris berisi satu nilai.
Ciri-ciri dari 1NF:
-tidak ada attribute yang bernilai banyak
-tidak ada attribut bernilai ganda
-tidak ada attribut komposit
Contoh :
NIM
Nama
Jurusan
JamRuang
120031
Sally
PTIK
102-E2,106-E8
120032
Desy
PTIK
104-E6,109-E2
120033
Andri
Teknik Elektro
104-E6
120034
Tyo
Teknik Elektro
106-E8

Bentuk First Normal Form (1NF)
NIM
Nama
Jurusan
JamRuang
120031
Sally
PTIK
102-E2
120031
Sally
PTIK
106-E8
120032
Desy
PTIK
104-E6
120032
Desy
PTIK
109-E2
120033
Andri
Teknik Elektro
104-E6
120034
Tyo
Teknik Elektro
104-E6

2. Bentuk normal ke dua (2NF)
Bentuk normal 2NF terpenuhi dalam sebuah table jika telah memenuhi bentuk 1NF dan semua attribut selain primary key, secara utuh memilki funcrional dependency pada primary key. Kunci field haruslah unik dan dapat mewakili attribut lain yang menjadi anggotanya. Missal : Dari contoh relasi mahasiswa pada 1NF terlihat bahwa primary key adalah NIM. Nama dan Jurusan bergantung fungsi NIM, tetapi JamRuang bukanlah fungsi dan siswa. Maka file mahasiswa dipecah menjadi 2:
Relasi Mahasiswa
NIM
Nama
Jurusan
120031
Sally
PTIK
120032
Desy
PTIK
120033
Andri
Teknik Elektro
120034
Tyo
Teknik Elektro

Relasi Jam dan Ruang Kuliah
NIM
JamRuang
120031
102-E2
120031
106-E8
120032
104-E6
120032
109-E2
120033
104-E6
120034
104-E6

3. Bentuk Normal Ketiga (3NF)
Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF dan tidak ada attribut non primary yang memiliki ketergantungan terhadap attribut non primary key yang lainnya (ketergantungan transitif). Contoh diatas sebenarnya sudah sesuai dengan bentuk normal ketiga. Namun kita coba pahami lebih dalam lagi dengan contoh yang lain:
NIM
Nama
Jalan
Kota
Provinsi
KodePos
980001
Ali Akbar
Jl Ahmad Yani
Pontianak
Kal-Bar
38482

tabel di atas sudah sesuai dengan bentuk yang kedua tapi belum memenuhi syarat bentuk normal kedua
NIM->{Nama,Jalan,Kota,Provinsi,KodePos}KodePos->{Kota,Provinsi} Diubah untuk menghilangkan transitif, maka akan menjadi
Tabel Mahasiswa
NIM
Nama
Jalan
KodePos
980001
Ali Akbar
Jl Ahmad Yani
38482
Tabel Kode Pos
KodePos
Kota
Provinsi
38482
Pontianak
Kal-Bar
4. Bentuk-Codd Normal Form (BCNF)
Relasi harus dalam bentuk normal kesatu dan setiap attribut harus bergantung fungsi pada attribut superkey.
5. Bentuk Normal ke empat (4NF)
Jika dan hanya jika relasi tersebut termasuk BCNF dan semua ketergantungan multivalue adalah juga ketergantungan fungsional.
6. Bentuk Normal ke lima (5NF)
Menghilangkan ketergantungan join yang buka merupakan kunci kandidat

Tidak ada komentar:

Posting Komentar