Normalisasi adalah suatu
proses untuk mengubah suatu tabel yang memiliki masalah tertentu ke
dalam dua buah tabel atau lebih, yang tidak lagi memiliki masalah tersebut
(Abdul Kadir, 2002: 52). Masalah tersebut biasanya merupakan suatu
ketidakkonsistenan (tidak normal) apabila dilakukan penghapusan (delete), pengubahan (update) dan pembacaan (retrieve) pada suatu basis data.
LANDASAN TEORI
Normalisasi adalah suatu
proses untuk mengubah suatu tabel yang memiliki masalah tertentu ke
dalam dua buah tabel atau lebih, yang tidak lagi memiliki masalah tersebut
(Abdul Kadir, 2002: 52). Masalah tersebut biasanya merupakan suatu
ketidakkonsistenan (tidak normal) apabila dilakukan penghapusan (delete), pengubahan (update) dan pembacaan (retrieve) pada suatu basis data.
Bentuk
normalisasi adalah suatu aturan yang dikenakan pada tabel-tabel dalam basis data dan harus dipenuhi
oleh tabel-tabel tersebut pada level-level normalisasi. Ada macam-macam bentuk
normalisasi, diantaranya adalah bentuk tidak normal, bentuk normal pertama,
bentuk normal kedua dan bentuk normal ketiga.
TUJUAN NORMALISASI
•
Untuk
menghilangkan kerangkapan data
•
Untuk
mengurangi kompleksitas
•
Untuk
mempermudah pemodifikasian data
PROSES
NORMALISASI
•
Data
diuraikan dalam bentuk tabel, selanjutnya dianalisisberdasarkan persyaratan
tertentu ke beberapa tingkat.
•
Apabila
tabel yang diuji belum memenuhi persyaratan tertentu,maka tabel tersebut perlu
dipecah menjadi beberapa tabel yanglebih sederhana sampai memenuhi bentuk yang
optimal.
Aturan-aturan
dalam masing-masing bentuk
normalisasi tersebut adalah sebagai berikut (Abdul Kadir, 2002: 54)
:
a. Bentuk
tidak normal
Bentuk ini
merupakan kumpulan data yang akan disimpan, tidak ada keharusan mengikuti suatu
format tertentu, dapat saja data tidak lengkap atau terduplikasi dan data
dikumpulkan apa adanya.
b. Bentuk
normal pertama
Suatu tabel
dikatakan dalam bentuk normal pertama (1NF) bila setiap kolom bernilai tunggal
untuk setiap baris. Ini berarti bahwa nama kolom yang berulang cukup diwakili
oleh sebuah nama kolom (tidak perlu ada indeks dalam memberi nama kolom).
c. Bentuk
normal kedua
Suatu tabel
berada dalam bentuk normal kedua (2NF) jika tabel berada dalam bentuk normal
pertama, semua kolom bukan kunci primer tergantung sepenuhnya terhadap kunci
primer. Suatu kolom disebut tergantung sepenuhnya terhadap kunci primer jika nilai
pada suatu kolom selalu bernilai sama untuk suatu nilai kunci primer yang sama.
d. Bentuk
normal ketiga
Suatu tabel
berada dalam bentuk normal ketiga (3NF) jika tabel berada dalam bentuk
normal kedua, setiap kolom bukan kunci primer tidak memiliki ketergantungan
secara transitif terhadap kunci primer.
ANOMALI
Anomali adalah proses pada basis data yang memberikan
efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan
data atau membuat suatu data menjadi hilang ketika data dihapus)
Macam Anomali terdiri
dari
§ Anomali peremajaan,
§ Anomali Penghapusan, dan
§ Anomali penyisipan
Anomali peremajaan
Anomali ini terjadi
bila ada perubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya
diubah. Contoh : Tabel Pesanan
Pemasok
|
Kota
|
Barang
|
Jumlah
|
Kartika
|
Jakarta
|
Mouse
|
5
|
Citra
|
Bandung
|
Monitor
|
2
|
Yudi
|
Medan
|
CPU
|
2
|
Citra
|
Bandung
|
Printer
|
1
|
Seandainya Citra
dengan kota Bandung pindah ke Bogor maka pengubahan data hanya dilakukan pada
data pertama menjadi : Tabel Pesanan
Pemasok
|
Kota
|
Barang
|
Jumlah
|
Kartika
|
Jakarta
|
Mouse
|
5
|
Citra
|
Bogor
|
Monitor
|
2
|
Yudi
|
Medan
|
CPU
|
2
|
Citra
|
Bandung
|
Printer
|
1
|
Di sini terlihat bahwa
data tentang pemasok Citra tidak sama yang menyebabkan ketidakkonsistenan data.
Anomali Penyisipan
Anomali ini terjadi
pada saat penambahan data ternyata ada elemen yang kosong dan elemen tsb justru
menjadi key. Contoh : Tabel Kursus
NoSiswa
|
Kursus
|
Biaya
|
10
|
Bhs.Inggris
|
60000
|
10
|
Bhs.Perancis
|
80000
|
10
|
Bhs.Jepang
|
70000
|
15
|
Bhs.Inggris
|
60000
|
20
|
Bhs.Jepang
|
70000
|
Misalnya akan dibuka
kursus baru yaitu Bhs.Jerman dengan biaya 75000 akan tetapi belum ada
seorangpun yang ikut kursus ini, shg data menjadi : Tabel Kursus
NoSiswa
|
Kursus
|
Biaya
|
10
|
Bhs.Inggris
|
60000
|
10
|
Bhs.Perancis
|
80000
|
10
|
Bhs.Jepang
|
70000
|
15
|
Bhs.Inggris
|
60000
|
20
|
Bhs.Jepang
|
70000
|
Bhs.Jerman
|
75000
|
Anomali penghapusan
Anomali ini terjadi
apabila dalam satu baris/ tuple ada data yang akan dihapus sehingga akibatnya
terdapat data lain yang hilang. Contoh pada table kursus data NoSiswa 20 akan
dihapus karena sudah tidak ikut kursus lagi sehingga akibatnya data kursus bhs
jepang dan biaya 70000 akan ikut terhapus.
Konsep dasar pada
tahap normalisasi yang menjelaskan hubungan atribut atau secara lebih khusus
menjelaskan nilai suatu atribut yang menentukan atribut lainnya.
Macam-macam
dependensi, yaitu :
Dependensi fungsional
Definisi : Suatu
atribut Y mempunyai dependensi fungsional terhadap atribut X jika dan hanya
jika setiap nilai X berhubungan dengan sebuah nilai Y.
Notasi
: X –> Y (X secara fungsional
menentukan Y)
Contoh :
Tabel Pesanan
Pembeli
|
Kota
|
Barang
|
Jumlah
|
P1
|
Yogya
|
B1
|
10
|
P1
|
Yogya
|
B2
|
5
|
P2
|
Jakarta
|
B1
|
4
|
P2
|
Jakarta
|
B2
|
7
|
P3
|
Solo
|
B3
|
6
|
P3
|
Solo
|
B4
|
6
|
Pembeli secara
fungsional menentukan kota, sebab setiap pembeli yang sama mempunyai kota
yang sama, dengan demikian : Pembeli –> Kota
contoh lain
: {Pembeli,
Barang} –> Jumlah
Keterangan:
§ Bagian yang terletak disebelah kiri tanda panah biasa disebut DETERMINAN /
PENENTU dan bagian yang terletak di sebelah kanan panah disebut DEPENDENSI /
YANG TERGANTUNG.
§ Tanda {} biasanya digunakan untuk menentukan lebih dari satu atribut
sebagai penentu atau sebagai yang tergantung.
Dependensi fungsional sepenuhnya
Definisi : Suatu
atribut Y mempunyai dependensi fungsional penuh terhadap X jika
§ Y mempunyai dependensi fungsional terhadap X dan/atau
§ Y tidak memiliki dependensi terhadap bagian dari X
Contoh :
Pembeli –> Kota
{Pembeli, Barang}
–> Jumlah
Intinya :
Kota mempunyai dependensi fungsional terhadap Pembeli atau {Pembeli, Barang}
tapi kota mempunyai dependensi fungsional sepenuhnya terhadap pembeli bukan
barang.
Dependensi Total
Definisi : Suatu
atribut Y mempunyai dependensi total terhadap atribut X jika
§ Y memiliki dependensi fungsional terhadap X dan
§ X memiliki dependensi fungsional terhadap Y
Notasi :
X<–> Y
Contoh : Tabel Pemasok
KodePemasok
|
NamaPemasok
|
Kota
|
K1
|
Kartika
|
Jakarta
|
C1
|
Citra
|
Bandung
|
C2
|
Candra
|
Jakarta
|
Pada kasus ini
KodePemasok <–>NamaPemasok, karena setiap kode tidak mempunyai nama yang
sama.
Dependensi Transitif
Definisi : Atribut Z
mempunyai dependensi transitif terhadap X bila :
§ Y memiliki dependensi fungsional terhadap X
§ Z memiliki dependensi fungsional terhadap Y
Contoh :
Kuliah
|
Ruang
|
Tempat
|
Waktu
|
Jarkom
|
Merbabu
|
Gedung Utara
|
Senin
|
Basis Data
|
Arjuna
|
Gedung Selatan
|
Selasa
|
Matematika
|
Merapi
|
Gedung Barat
|
Rabu
|
Fisika
|
Merbabu
|
Gedung Timur
|
Kamis
|
Relasi :
§ Kuliah –> {Ruang, Waktu}
§ Ruang –> Tempat
Terlihat bahwa
: Kuliah –> Ruang –> Tempat
Dengan demikian Tempat
mempunyai dependensi transitif terhadap kuliah
Diagram Dependensi Fungsional (Diagram DF) Adalah diagram
yang digunakan untuk menggabarkan dependensi fungsional. Diagram ini
menunjukkan hubungan antara atribut yang menjadi penentu atribut lainnya,
dengan hubungan yang dinyatakan dengan tanda panah. Seperti contoh diatas dapat
digambarkan diagram DF sebagai berikut :
Dekomposisi
Pada tahap normalisasi
sering kali terjadi pemecahan table kedalam bentuk dua atau lebih relasi.
Proses pemecahaan ini disebut dengan dekomposisi. Syarat : Tidak ada informasi
yang hilang ketika suatu relasi dipecah menjadi relasi-relasi lain. Contoh :
Terdapat suatu relasi awal sebagai berikut :
Nim
|
Nama
|
Program Studi
|
95001
|
Andi
|
Ekonomi
|
95002
|
Vira
|
Teknik
|
95003
|
Andi
|
Fisika
|
Akan dibentuk kedalam
dekomposisi tak hilang menjadi :
Nim
|
Nama
|
Nim
|
Program Studi
|
|
95001
|
Andi
|
95001
|
Ekonomi
|
|
95002
|
Vira
|
95002
|
Teknik
|
|
95003
|
Andi
|
95003
|
Fisika
|
Pada relasi
awal dapat diketahui informasi sebagai berikut : 95001 adalah ANDI program studi Ekonomi. Setelah
proses dekomposisi tak hilang hasilnya adalah sama 95001adalah ANDI dan 95001 program
studi Ekonomi. Contoh dekomposisi hilang adalah
Nim
|
Nama
|
Nama
|
Program Studi
|
|
95001
|
Andi
|
Andi
|
Ekonomi
|
|
95002
|
Vira
|
Vira
|
Teknik
|
|
95003
|
Andi
|
Andi
|
Fisika
|
95001 bernama ANDI,
tetapi ANDI dengan program studi Ekonomi atau Fisika?
REFERENSI