2022
NORMALISASI DATABASE
Oleh :
I. Tujuan Percobaan
Peserta praktikum dapat memahami cara menormalisasi database.
II. Dasar Teori
2.1 Pengertian Normalisasi
Normalisasi database biasanya jarang dilakukan dalam database skala
kecil, dan dianggap tidak diperlukan pada penggunaan personal. Tujuan
utama normalisasi adalah mengelompokkan atribut ke dalam relasi sehingga
data gandanya minimal. Konsep normalisasi dikemukakan pertama kali oleh
Codd (1970) dengan memperkenalkan 1NF (first normal form ‘bentuk
normal pertama’), dilanjutkan dengan 2NF dan 3NF pada tahun 1971.
Bersama Raymond F. Boyce, Codd (1974) mendefinisikan BCNF (Boyce-
Codd normal form ‘bentuk normal Boyce-Codd’). Fagin (1977)
memperkenalkan 4NF (fourth normal form ‘bentuk normal keempat’)
dilanjutkan dengan 5NF (fifth normal form ‘bentuk normal kelima’) pada
tahun 1979. Date, Darwen, dan Lorentzos (2002) mendefinisikan 6NF (sixth
normal form ‘bentuk normal keenam’).
a. Anomali Penambahan
Anomali penambahan terjadi ketika ada data baru ditambahkan ke
dalam sebuah relasi. Lihat relasi PegawaiCabang pada Gambar 1(a). Bila
ada pegawai baru yang ditempatkan di Cabang C01, maka ke dalam relasi
PegawaiCabang, selain data pegawai (NIP, Nama, Alamat), data detail
cabang C01 (NomorCabang, AlamatCabang, Telepon Cabang) juga harus
dimasukkan dengan risiko terjadi ketidakkonsistenan data. Sebaliknya, pada
relasi Pegawai pada Gambar 1(b), cukup dimasukkan data pegawai dan
nomor cabang C01 tempat ia bekerja tanpa harus memasukkan detail
cabang.
Bila ada cabang baru yang belum ada pegawainya, maka ke dalam
relasi PegawaiCabang, data detail cabang baru (NomorCabang,
AlamatCabang, TeleponCabang) dimasukkan dengan atribut pegawai (NIP,
Nama, Alamat) dikosongkan. Hal ini tak mungkin dilakukan karena NIP
sebagai primary key tidak boleh kosong. Berarti data cabang baru tak dapat
ditambahkan. Sebaliknya, pada relasi Cabang pada Gambar 1(c), detail
cabang baru dapat ditambahkan tanpa masalah.
b. Anomali Penghapusan
Anomali penghapusan terjadi ketika ada data yang dihapus. Lihat
relasi PegawaiCabang pada Gambar 1(a). Bila pegawai dengan NIP 19009
dihapus, maka data detail cabang C03 pada relasi PegawaiCabang juga ikut
terhapus. Sebaliknya, penghapusan pegawai dengan NIP 19009 pada relasi
Pegawai pada Gambar 1(b) tidak mengakibatkan hilangnya data detail
cabang C03.
c. Anomali Modifikasi
Anomali modifikasi terjadi ketika ada data yang diubah. Lihat relasi
PegawaiCabang pada Gambar 1(a). Misalkan cabang C03 pindah alamat dan
nomor teleponnya pun berubah. Pada relasi PegawaiCabang, modifikasi data
harus dilakukan secara berulang ke seluruh data cabang C03 yang ada. Hal
ini dapat menimbulkan ketidakkonsistenan data. Sebaliknya, modifikasi data
pada relasi Cabang pada Gambar 1(c) cukup dilakukan sekali.
2.3 Jenis-Jenis Ketergantungan
a. Ketergantungan Fungsional
Jika A dan B adalah atribut relasi R, maka B dinyatakan memiliki ketergantungan fun
c. Ketergantungan Transitif
Misal A, B, C adalah atribut sebuah relasi. Jika A B dan B C, maka dikatakan C mem
Gambar 6.4 Relasi 1NF (first normal form ‘bentuk normal pertama’)
Jadi, hasil akhir proses normalisasi data faktur belanja adalah empat
buah relasi 3NF yaitu relasi Pelanggan, Faktur, DetailFaktur dan Barang.
Lihat Gambar 9. Keterkaitan antar relasi dapat dilihat dari atribut foreign
key yang digarisbawahi dengan garis terputus-putus merujuk ke
atribut primary key yang digarisbawahi dengan garis menerus.
III. Alat dan Bahan
1. Modul praktikum
2. Laptop
4. Relasikan antar tabel detail faktur belanja terhadap dua tabel lainnya
5. Buatlah third normal form dari tabel faktur belanja
V. Data Percobaan
Tabel 6.1 Data Percobaan
Hasil
2.
Hasil
3.
Hasil Tabel Barang
Tabel DetailFaktur
Tabel FakturPelanggan_2nf
Query Relasikan antar dua tabel pada 2NF
4.
Hasil
5.
Hasil
VI. Analisa dan Pembahasan
Normalisasi Database adalah proses pengelompokan atribut data yang
membentuk entitas sederhana, nonredundant, fleksibel, dan mudah
beradaptasi. Sehingga dapat dipastikan bahwa database yang dibuat
berkualitas baik.
Normalisasi digunakan terutama untuk dua tujuan,
• Menghilangkan dan mengurangi redudansi data.
• Memastikan ketergantungan data masuk akal yaitu data disimpan secara
logis.
Berdasarkan gambar 6.14 didapatkan relasi tiap tabel yaitu pada tabel
detailfaktur terdapat primary key komposit yaitu NoFaktur dan juga
KodeBarang yang terhubung pada kedua tabel yaitu NoFaktur akan menjadi
foreign key pada tabel fakturpelanggan_2nf dan KodeBarang pada tabel
barang.