NORMALISASI Basis Data-1 C H A P T E R 4 Normalisasi 1NF Copyright © 2005 PENS-ITS NORMALISASI Basis Data-1 Objectives Tujuan: 1. Memahami pentingnya normalisasi. 2. Memahami normalisasi bentuk pertama (1NF). 3. Memahami aturan pembuatan normalisasi 1NF. Copyright © 2005 PENS-ITS NORMALISASI Basis Data-1 PENTINGNYA NORMALISASI • Suatu rancangan database disebut jelek jika : § Data yang sama tersimpan di beberapa tempat (file atau record) § Ketidakmampuan untuk menghasilkan informasi tertentu § Terjadi kehilangan informasi • Misal suatu skema relasi : CABANG (nama_cabang,aset,kota) PINJAM (nama_cabang,nomor_hutang,nama_customer,jumlah) • Alternatif rancangan untuk skema database tersebut adalah : UTANG (nama_cabang, aset, kota, nomor_hutang,nama_customer, jumlah) • Rancangan ini akan mengakibatkan terjadinya perulangan Informasi (data redundancy) yaitu pada attribute asset dan kota. Infomasi yang berulang hanya memboroskan ruang penyimpanan dan menyulitkan pada waktu proses updating data. Copyright © 2005 PENS-ITS NORMALISASI Basis Data-1 PENTINGNYA NORMALISASI • Alternatif lain dari rancangan database berikut : PINJAM (nama_cabang, nomor_utang, nama_customer, jumlah) TABUNG(nama_cabang, nomor_tabungan, nama_customer, saldo) • Adalah : PIN_TAB(nama_cabang, nama_customer, nomor_utang, jumlah, nomor_tabungan, saldo) • Dengan rancangan database seperti di atas akan timbul NULL VALUE, yaitu jika seseorang hanya pinjam saja atau jika hanya menabung saja. Copyright © 2005 PENS-ITS NORMALISASI Basis Data-1 PENTINGNYA NORMALISASI • Kehilangan informasi bisa terjadi bila pada waktu merancang database kita melakukan proses dekomposisi yang keliru. Misalnya suatu skema relasi : UTANG (nama_cabang, aset, kota, nomor_hutang, Nama_customer, jumlah) • Dekomposisi menjadi dua buah skema relasi: JUML(jumlah, nama_customer) PINJ(nama_cabang, nomor_hutang,jumlah) • Diberikan query “Dapatkan nama cabang dimana Ali melakukan transaksi hutang” • Apa yang terjadi dengan informasi yang dihasilkan? Mengapa hasilnya seperti itu? • Tujuan normalisasi adalah mengeliminasi duplikasi informasi, memudahkan pengubahan struktur tabel, memperkecil pengaruh perubahan struktur database dan lain-lain. • Bentuk normalisasi yang sering digunakan adalah 1st NF, 2nd NF, 3rd NF, dan BCNF Copyright © 2005 PENS-ITS NORMALISASI Basis Data-1 NORMALISASI 1NF 1st Normal Form (1NF) • Suatu relation R disebut 1st NF jika dan hanya jika semua attribute value-nya atomic (tidak boleh ada attribute yang composit & multivalue) • Merubah dari bentuk tabel tidak normal (unnormalized table) menjadi bentuk normal (1NF). Copyright © 2005 PENS-ITS NORMALISASI Basis Data-1 NORMALISASI 1NF Unnormalized table (tabel tidak normal) • Suatu tabel dikatakan unnormalized jika : a) Mempunyai penggandaan field yang sejenis Contoh : Tabel dibawah adalah tabel siswa mengambil mata kuliah (MK) SISWA Tabel siswa diatas mempunyai 3 field yang sejenis, yaitu MK1, MK2 dan MK3. Sehingga tabel diatas adalah termasuk unnormalized. Copyright © 2005 PENS-ITS NORMALISASI Basis Data-1 NORMALISASI 1NF b) Elemen datanya memungkinkan untuk null (tidak berisi) Contoh : Ini adalah tabel yang mencatat no SIM dari siswa yang mempunyai SIM SISWA_SIM Tampak dalam tabel diatas bahwa elemen data dari no SIM si-Amin dan si-Bayu adalah null atau tidak berisi nilai. Sehingga tabel di atas adalah termasuk unnormalized. Copyright © 2005 PENS-ITS NORMALISASI Basis Data-1 NORMALISASI 1NF NORMAL I (1NF) • Suatu tabel dikatakan berada pada bentuk normal I jika ia tidak berada pada bentuk unnormalized table. Jadi disini akan terjadi proses pentransformasi dari tabel bentuk unnormalized ke bentuk normal I. Prosesnya dinamakan normalisasi I (1NF). Contoh : Kalau tabel pada contoh (a) diatas kita normalisasi I, maka hasilnya akan didapatkan seperti ini : SISWA Copyright © 2005 PENS-ITS NORMALISASI Basis Data-1 NORMALISASI 1NF Kalau pada contoh (b) diatas kita normalisasi I, maka hasilnya akan didapatkan seperti ini : SISWA SIM Copyright © 2005 PENS-ITS