Senin, 26 November 2012

Dependensi dan Normalisasi


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