Kamis, 29 November 2012

FUNCTIONAL DEPENDENCY DAN NORMALISASI

Pengertian Functional Dependency
Functional Dependency (FD) ialah suatu ketergantungan relasi yang terjadi antara atribut dlam tabel atau set entity dengan atribut lain. FD menggambarkan suatu relationship/ hubungan, batasan, keterkaitan diantara atribut dlam relasi.

Basis data yang baik hanya terdapat 1 ketergantungan fungsional dalam 1 entity/label, disebut dengan Basis Data Normal. Simbol yang digunakan dalam FD adalah à , yang artinya secara fungsional menentukan.

Notasi Dalam FD

1. Notasi FD: A => B

Maksudnya yaitu A dan B adalah atribut dari suatu tabel. Jadi secara fungsional A menentkan B atau B tergantung dari A, jika dan hanya jika ada 2 basis data dengan nilai yag sama maka nilai B juga akan sama.

2. Notasi:  A X=> B

Artinya yaitu kebalikan dari notasi sebelumnya.

Contoh:

NamaKul

Nrp

NamaMhs

NiHuruf

Struktur Data

12345

Nuril Utami

A

Struktur Data

12346

Sekar Sari

B

Basis Data

12345

Nuril Utami

B

Basis Data

12346

Sekar Sari

A

 

Keterangan dari FD diatas:

1. Nrp --> NamaMhs
Karena untuk setiap nilai Nrp ynag sama, maka nilai NamaMhs juga akan sama.
2. {NamaKul, Nrp} --> NiHuruf
Karena atribut Nihuruf tergantng pada NamaKul dan Nrp secara bersama-sama. Atau NamaKul & Nrp ynag sama, mka NiHuruf juga akan sama, sebab NamaKul dan Nrp merupakan key yang bersifat unik.
3. NamaKul  X--> Nrp
4. Nrp X--> NiHuruf

Jenis- jenis Dependency

1. Full functional Dependency 

 Yaitu jika ada atribut A dan B dalam suatu relasi, dimana B memiliki keterantungan fungsional secara penuh terhadap A dan B bukan memiliki dependensi terhadap subset A.

2. Partially Dependency

Yaitu jika terdapat beberapa atribut yang dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan dan B memiliki dependensi terhadap subset A.
 

3. Transitive Dependency

Yaitu dimana A,B, C adalah atribut dari sebuah relasi A -> B dan B -> C, jadi bisa dikatakan kalau C sebagai transitive dependency terhadap A melalui B.
 

Aturan-aturan dalam Ketergantungan Fungsional

Jika A, B , C merupakan himpunan atribut pada sebuah relasi R, ada beberapa sifat yang disebut Axioma Amstrong (sifat-sifat untk normalisasi) , yaitu:
*Aksioma Reflexity: Jika B merupakan bagian subset A, maka A -> B. 
* Aksioma Augmentasi: Jika A -> B, maka AC -> BC. 
*Aksioma Transitifity: Jika A -> B dan B -> C, maka A -> C .

 Dari  aturan-aturan diatas dapat dibuat aturan-aturan turunan sebagai berikut:

  1. Union: Jika A -> B dan A -> C, maka A -> BC,
  2. Dekomposisi: Jika A -> BC , maka A -> B dan A -> C,
  3. Peseudo Transitifity: Jika A -> B dan BC -> D, maka AC -> D, 

 Pengertian Normalisasi

Normalisasi yaitu suatu teknik mengorganisasikan data kedalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi. Atau bisa juga , Normalisasi ialah suatu proses pembentukan struktur basis data sehingga sebagian besar dari ambiguitynya bisa di hilangkan.

Beberapa yang menjadi acuan dasar dalam proses normalisasi ialah tujuan pembentukan basis data, jadi harus menghilangkan hal-hal berikut:
a.      pengulangan informasi (redudancy)
b.      potensi inkonsistensi data pada operasi update.
c.       hindari atribut yang tidak perlu disimpan (derive attribut) 
d.      tersembunyinya informasi tertentu 
 

Tujuan dari normalisasi:

a.      menghilangkan kerangkapan data.
b.      Mengurangi kompleksitas.
c.       Mempermudah pemodifikasian data.
 
Proses normalisasi:
1. Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. 
2. Apabila tabel yang diuji belum memenuhi persyaratan tertentu maka tabel tersebut pelu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.

Tahapan-tahapan normalisasi:
1. Bentuk tidak normal : menghilangkan perulangan grub.

2. Bentuk normal pertama (1NF) : menghilangkan ketergantungan sebagian.
 Aturan : 
- Tidak ada atribut multivalue, atribut komplisit atau kombinasinya.
- Mendefinisikan atribut key.
- Setiap atribut dalam tabel harus bernilai atomic / tdak dapat dibagi-bagi lagi.

3. Bentuk normal kedua (2NF) : menghilangkan ketergantungan transitif.
Aturan:
- Sudah memenuhi aturan bentuk normal kesatu (1NF).
- Semua atribut bukan key hanya boleh tergantung (functional dependency) pada atribut key.
- Jika ada ketergantungan  parsial ,maka atribut tersebut harus dipisah dan di taruh tabel yang lain.
- Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisahkan tadi.

4. Bentuk normal ketiga (3NF) : menghilangkan anomali-anomali hasil dari ketergantungan fungsional.
Aturan:
- Sudah memenuhi aturan bentuk normal kedua (2NF).
- Tidak ada ketergantungan transitif (dimana atribut bukan  key tergantung pada atribut bukan key lainnya).
 
5. Bentuk normal Boyce-Codd (BCNF) : menghilangkan ketergantungan multivalue.
Aturan:
- jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk:    X-> Y maka X adalah super key.
- Setiap tabel dalam BCNF merupakan 3NF. Tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X -> A, BCNF tidak membolehkan A sebagai bagian dari primary key.
 
6. Bentuk normal keempat (4NF) : menghilangkan anomaly-anomaly yang tersisa.
Aturan:
- 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 .
 
7. Bentuk normal kelima (5NF)
Aturan:
- 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 .

3 komentar:

  1. apasih pengertian dari dependency dan jenis-jenisnya serta penjelasannya.......????

    terimakasih

    BalasHapus
  2. Apakah dependency dapat mengakibatkan inkonsistensi data? Jelaskan

    BalasHapus
  3. Lucky Club Live Casino & Slots, 100% Australian - Lucky Club
    Lucky Club, one of Australia's top online casinos, is a top Australian casino, offering free spins for luckyclub new and existing players. With more than 500,000 games

    BalasHapus