DEPENDENCY DAN NORMALISASI

FUNCTIONAL DEPENDENCY
Functional Dependency menggambarkan hubungan attributes dalam sebuah relasi
Suatu attribute dikatakan functionally dependant pada yang lain jika kita menggunakan harga atribut tersebut untuk menentukan harga atribut yang lain.
Simbol yang digunakan adalah –> untuk mewakili functional dependency.
–> dibaca secara fungsional menentukan.
  • Notasi: A –> B
    A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama 
  • Notasi: A –>  B atau  A   x–>  B
    Adalah kebalikan dari notasi sebelumnya
contoh tabel nilai :










Functional Dependency dari tabel nilai
  • NIM –> NamaMhs
    Karena untuk setiap nilai nim yang sama, maka nilai NamaMhs juga sama
  • {Matakuliah, NIM} –> NilaiHuruf
    Karena attribut NilaiHuruf tergantung pada Matakuliah dan NIM secara bersama-sama. Dalam arti lain untuk Matakuliah dan NIM yang sama, maka NilaiHuruf juga sama, karena Matakuliah dan NIM merupakan key (bersifat unik).
  • Matakuliah –> NIM
  • NIM –> NilaiHuruf
Macam-macam Dependency:
  1. Full Dependency
    Merupakan suatu ketergantungan dimana terdapat atribut A dan atribut B dalam satu relasi.
    Contoh:
    NIM –> Nilai (artinya yaitu Nilai tergantung pada atribut NIM)
    dari contoh di atas Dapat disimpulkan bahwa 1 atribut menetukan pada 1 atribut
  2. Partially Dependency
    Yaitu 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:
    Id_Pelanggan –> {Nama, Salesman, Area}
    Salesman –> Area
NORMALISASI
  • Merupakan suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat yang diinginkan.
  • proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomali dan mengacu pada cara data item dikelompokkan ke dalam struktur record.
  • proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.
Alasan dilakukan normalisasi:
1. optimalisasi struktur-struktur tabel
2. meningkatkan kecepatan
3. menghilangkan pemasukan data yang sama
4. lebih efisien dalam penggunaan media penyimpanan
5. mengurangi redudansi
6. menghindari anomali
7. integritas data yang ditingkatkan

Proses Normalisasi
Ø  Suatu teknik formal untuk menganalisa relasi berdasarkan primary key atau candidate key-nya dan functional dependency antar atribut.
Ø  Dilakukan dalam beberapa langkah. Setiap langkah mengacu ke bentuk normal tertentu, sesuai dengan sifat yang dimilikinya.
Ø  Setelah normalisasi diproses, relasi secara bertahap menjadi lebih terbatas/kuat bentuk formatnya dan juga mengurangi tindakan update yang anomali.

Langkah-Langkah Normalisasi

1. Bentuk Tidak Normal (Unnormalized Form)
Merupakan kumpulan dari data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi, data dikumpulkan apa adanya sesuai dengan kedatangannya.

2. Bentuk Normal Kesatu (1NF / First Normal Form)
Menghilangkan beberapa elemen yang berulang agar menjadi suatu bernilai tunggal yang berinterigasi diantara setiap baris dan kolom pada suatu tabel.
Cara unttuk 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.

3. Bentuk Normal Kedua (2NF / Second Normal Form)
Normalisai bentuk kedua telah memenuhi normalisasi bentuk pertama, setiap atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama (primary key), sehingga untuk membentuk normal kedua harus sudah ditentukan kunci field, kunci field haruslah unik dan tetap mewakili atribut yang lain yang menjadi anggotanya.
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.

4.  Bentuk Normal Ketiga (3NF / Third Normal Form)
Untuk menjadi normal ketiga maka relasi haruslah dalam bentuk normal kedua dan semua atribut bukan primer tidak punya hubungan yang transitif dengan kata lain, setiap atribut bukan kunci haruslah bergantung pada primary key dan pada primary key  secara seluruh.
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.

5.  Boyce-Code Normal Form (BCNF)
Bentuk yang mempunyai paksaan yang lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF, relasi dalam bentuk normal kesatu dan setiap atribut harus bergantung fungsi pada atribut super key.

6. Bentuk Normal Keempat (4NF / Fourth Normal Form)
Relasi R adalah bentuk normal keempat dan hanya relasi tersebut termasuk BCNF dan semua tergantung multi value adalah ketergantungan fungsional.

7. Bentuk Normal Kelima (5NF / Fifth Normal Form)
Berisi PJNF (Projection Join Normal Form) dan 4NF dilakukan dengan menghilangkan ketergantungan join yang bukan merupakan kunci kandidat.
Baca selengkapnya »

0 komentar:

Posting Komentar

Copyright © Aulia Fitriyani ID