NORMALISASI
1. Pengertian Normalisasi
Normalisasi adalah proses pembentukan struktur
basis data sehingga sebagian besar ambiguity bisa dihilangkan.
Jadi Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data
yang mengelompokkan atribut dari suatu relasi sehingga membentuk struktur
relasi yang baik (tanpa redudansi).
2.Tujuan normalisasi
Berikut ini merupakan tujuan dari
Normalisasi :
1.
Untuk menghilangkan kerangkapan data.
2.
Untuk mengurangi kompleksitas.
3.
Untuk mempermudah pemodifikasian data.
3. macam-macam penyimpangan Anomaly
berikut ini
merupakan penyimpangan Anomaly:
1.
Insertion Anomaly
Inserion Anomaly merupakan eror atau kesalahan yang
terjadi sebagai akibat dari operasi menyisipkan (insert) tupel / record pada
sebuah relasi.
2.
Delet Anomaly
Delet Anomaly merupakan eror atau kesalahan yang terjadi
sebagai akibat dari operasi menyisipkan (delet) tupel / record pada sebuah
relasi.
3.
Update Anomaly
Update Anomaly merupakan eror atau kesalahan yang
terjadi sebagai akibat dari operasi menyisipkan (Update) tupel / record pada
sebuah relasi.
4. Tahapan Normalisasi
Berikut ini adalah
tahapan-tahapan Normalisasi :
1.
1 NF
Bentuk normalisasi 1NF ini
mengelompokkan beberapa tipe data atau kelompok data yang sejenis agar dapat
dipisahkan sehingga anomali data dapat di atasi. Contoh adalah ketika kita
ingin menghapus, mengupdate, atau menambahkan data peminjam, maka kita tidak
bersinggungan dengan data buku atau data penerbit. Sehingga inkonsistensi data
dapat mulai di jaga.
2.
2 NF
Bentuk kedua ini adalah tidak boleh
ada field yang berhubungan dengan field lainnya secara fungsional. Contoh Judul
Buku tergantung dengan id_Buku sehingga dalam bentuk 2NF judul buku dapat di
hilangkan karena telah memiliki tabel master tersendiri.
3.
3 NF
Normalisasi database dalam bentuk 3NF
bertujuan untuk menghilangkan seluruh atribut atau field yang tidak berhubungan
dengan primary key. Dengan demikian tidak ada ketergantungan transitif pada
setiap kandidat key.
4.
Boyce Codd Normal Form BCNF
Merupakan sebuah teknik normalisasi
database yang sering disebut 3.5NF, memiliki hubungan yang sangat erat dengan
bentuk 3NF. Pada dasarnya adalah untuk menghandle anomali dan overlooping yang
tidak dapat di handle dalam bentuk 3NF. Normalisasi database bentuk ini
tergantung dari kasus yang disediakan, tidak semua tabel wajib di normalisasi
dalam bentuk BCNF.
5.
Contoh Normalisasi 1NF
Pada tahap ini dilakukan penghilangan
beberapa group elemen yang berulang agar menjadi satu harga tunggal yang
berinteraksi di antara setiap baris pada suatu tabel, dan setiap atribut harus
mempunyai nilai data yang atomic (bersifat atomic value). Atom adalah zat
terkecil yang masih memiliki sifat induknya, bila terpecah lagi maka ia tidak
memiliki sifat induknya.
Syarat normal ke 1NF antara lain :
1.
setiap data dibentuk dalam flat file, data
dibentuk dalam satu record demi satu record nilai dari field berupa
“atomic value”.
2.
tidak ada
set atribute yang berulang atau bernilai ganda.
3.
telah
ditentukannya primary key untuk tabel / relasi tersebut.
4.
tiapatribut hanya memiliki satu pengertian.
Berikut ini merupakan contoh tabel
yang tidak normal di ubah menjadi normal 1NF :
Ø
Tabel tidak normal
Id_barang
|
Nama_dan_jumlah
|
Harga
|
12211
|
Pupuk urea 3 sak
|
Rp.1.000.000
|
12212
|
Cangkul 5 buah
|
Rp.200.000
|
13212
|
Arco 5 buah
|
Rp.1.200.000
|
Ø
Tabel normal
Id_batang
|
Nama_barang
|
Jumlah
|
harga
|
12211
|
Pupuk urea
|
3 sak
|
Rp.1.000.000
|
12212
|
cangkul
|
5 buah
|
Rp.200.000
|
132 12
|
arco
|
5 buah
|
Rp. 1.200.000
|
6.
Contoh normalisasi 2NF
Bentuk normal kedua didasari atas konsep
full functional dependency (ketergantungan fungsional sepenuhnya) yang dapat
didefinisikan sebagai berikut. Jika A adalah atribut-atribut dari suatu
relasi, B dikatakan full functional dependency (memiliki ketergantungan
fungsional terhadap A, tetapi tidak secara tepat memiliki ketergantungan
fungsional dari subset (himpunan bagian) dari A.
Syarrat normal ke 1NF antara lain sebagai
berikut:
1.
Tabel tersebut memenuhi 1NF
2.
Semuaatribut bukan kunci memiliki full defendent
functional (FD2) terhadap ateribut ang menjadi primary key
3.
Bukan kunci merupakan atribut yang bukan
merupakan bagian dari atribut primary key. Primary key bisa di gabung
atribut-atribut. Simpel-nya, setiap atribut bergantung pada kunci (primary
key).
4.
Umun-nya diperlukan dekomposisi (pemecahan
tabel) terlebih dahilu terhadap tabel yang memenuhi 1NF agar bisa di ubah
menjadi 2NF.
Berikut ini merupakan tabel 1NF di ubah
menjadi 2NF (menghilangkan ketergantungan parsial) :
Ø
Tabel 1NF
Id_barang
|
Nama_barang
|
Jumlah
|
harga
|
12211
|
Pupuk urea
|
3 sak
|
Rp.1.000.000
|
12212
|
cangkul
|
5 buah
|
Rp.200.000
|
132 12
|
arco
|
5 buah
|
Rp. 1.200.000
|
Ø
Tabel 2NF (menghilangkan ketergantungan parsial)
Id_barang
|
Nama_barang
|
12211
|
Pupuk urea
|
12212
|
cangkul
|
132 12
|
arco
|
Nama_barang
|
jumlah
|
Harga
|
Pupuk urea
|
3 sak
|
Rp.1.000.000
|
cangkul
|
5 buah
|
Rp.200.000
|
arco
|
5 buah
|
Rp.1.200.000
|
7. Normalisasi 3NF (Menghilangkan ketergantungan transitif)
Normalisasi database dalam bentuk 3NF
bertujuan untuk menghilangkan seluruh atribut atau field yang tidak berhubungan
dengan primary key. Dengan demikian tidak ada ketergantungan transitif pada
setiap kandidat key .
Syarat normalisasi
3NF yaitu :
1.
Sudah tercapai-nya normalisasi 2NF.
2.
setiap
atribut yang bukan kunci tidak tergantung secara fungsional terhadap atribut
bukan kunci yang lain dalam relasi tsb (tidak terdapat ketergantungan transitif
pada atribut bukan kunci).
Ketergantungan transitif adalah
ketergantungan secara fungsional suatu atribut ke atribut lain-nya melalui
atribut yang lain puala. Berikut adalah contoh nya:
Id_gudang
|
Nama-gudang
|
Kapasitas_gudang
|
Id_barang
|
Banyak_barang
|
122111
|
Gudang A
|
25M
|
1232
|
23
|
123121
|
Gudang B
|
26M
|
2312
|
53
|
Tabel di atas terdapat ketergantungan transitif antara id_gudang =>id_barang untuk
menghilangkan ketergantungan tersebut maka dapat dilakukan penghapusan id_barang. Maka hasil-nya sebagai
berikut :
Id_gudang
|
Nama_gudang
|
Kapasitas_gudang
|
Banyak_barang
|
122111
|
Gudang A
|
25M
|
23
|
12321
|
Gudang B
|
26M
|
53
|
Komentar
Posting Komentar