Tampilan
Pertemuan 12: Normalisasi dan Bentuk Normal 1
Tujuan pembelajaran
Setelah pertemuan ini, Anda mampu:
- menjelaskan mengapa normalisasi diperlukan;
- mengenali tabel yang tidak normal;
- mengubah tabel tidak normal menjadi bentuk normal pertama (1NF).
Peta materi
1. Mengapa perlu normalisasi?
Bayangkan satu buku catatan besar yang menulis ulang nama, alamat, dan nomor telepon pelanggan setiap kali ia berbelanja. Jika pelanggan pindah rumah, Anda harus mencari dan mengubah puluhan baris. Satu baris terlewat saja, data jadi bertentangan.
Normalisasi adalah proses atau tahapan dalam merancang basis data yang bertujuan menghilangkan data ganda (redundancy) dan data yang tidak konsisten.
Aturan pokoknya
Pecah tabel besar menjadi tabel-tabel kecil, lalu hubungkan dengan relasi.
Sejarah singkat
Edgar F. Codd, pencetus model relasional, mengajukan bentuk normal pertama, kedua, dan ketiga. Secara teori ada sampai bentuk normal ke-6, tetapi di praktik hampir semua basis data berhenti di bentuk normal ke-3.
2. Dua arah merancang basis data
| Pertemuan 3-7 | Normalisasi | |
|---|---|---|
| Titik awal | Ruang lingkup dan ide | Hasil akhir yang sudah ada (laporan, formulir, nota) |
| Langkah | Entity, attribute, relationship | Rapikan tabel hasil akhir, lalu bentuk model datanya |
Normalisasi biasanya datang dari kebutuhan akhir yang sudah selesai. Kasus kita: laporan Order dari toko online.
3. Tabel awal (tidak normal)
Bayangkan laporan order yang dibuat langsung dalam satu tabel besar:
| kode_order | tanggal | pembeli | alamat_pengiriman | penjual | produk1_nama | produk1_harga | produk1_jumlah | produk1_total | produk2_nama | produk2_harga | produk2_jumlah | produk2_total | total_belanja | total_berat |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| O001 | 2024-01-10 | Joko | Jl. Mawar 1 | Galeri Olahraga | Sepatu Lari | 350000 | 1 | 350000 | Kaos | 90000 | 2 | 180000 | 530000 | 1200 |
Masalah yang terlihat:
- kolom Produk berulang (produk1, produk2, dan seterusnya);
- bila pembeli membeli lima barang, tabel harus dirombak;
- ada kolom total yang bisa dihitung dari kolom lain;
- sebagian kolom (Produk 2 dan seterusnya) sering kosong.
4. Aturan Bentuk Normal Pertama (1NF)
1NF
- Tiap kolom hanya menyimpan satu nilai.
- Tidak ada kolom duplikat/ganda.
- Tidak ada baris duplikat/ganda.
- Tidak ada atribut turunan.
5. Menerapkan 1NF
Langkah 1: kolom ganda. Kolom Produk Nama, Harga, Jumlah, Berat, dan Total berulang beberapa kali. Ubah menjadi satu baris untuk setiap produk dalam sebuah order.
Langkah 2: atribut turunan. Produk Total, Total Harga, Total Berat, dan Total Belanja dihitung dari kolom lain. Hapus; nilainya bisa dihitung kapan saja.
Hasil 1NF:
| kode_order | tanggal | pembeli | alamat_pengiriman | penjual | sku | nama_produk | harga | jumlah | berat |
|---|---|---|---|---|---|---|---|---|---|
| O001 | 2024-01-10 | Joko | Jl. Mawar 1 | Galeri Olahraga | BRG001 | Sepatu Lari | 350000 | 1 | 800 |
| O001 | 2024-01-10 | Joko | Jl. Mawar 1 | Galeri Olahraga | BRG002 | Kaos | 90000 | 2 | 200 |
| O002 | 2024-01-12 | Sari | Jl. Melati 5 | Galeri Olahraga | BRG001 | Sepatu Lari | 350000 | 1 | 800 |
Tabel ini sudah rapi dari sisi kolom dan baris. Namun perhatikan: data Joko, Galeri Olahraga, dan Sepatu Lari masih tertulis berulang. Itu yang akan dirapikan oleh 2NF di Pertemuan 13.
Gunakan spreadsheet materi asli
Slide asli menyertakan spreadsheet contoh untuk laporan order dan setiap tahap normalisasinya. Bukalah sambil mengikuti halaman ini agar lebih mudah.
Latihan
Ubah tabel Nota Kantin berikut ke bentuk 1NF:
no_nota, tanggal, kasir, menu1, harga1, menu2, harga2, menu3, harga3, total
Contoh jawaban
Satu baris per menu pada sebuah nota, dan kolom total dihapus karena atribut turunan:
no_nota, tanggal, kasir, nama_menu, harga
| no_nota | tanggal | kasir | nama_menu | harga |
|---|---|---|---|---|
| N01 | 2024-02-01 | Rina | Nasi Goreng | 15000 |
| N01 | 2024-02-01 | Rina | Es Teh | 5000 |
Kuis cepat
1. Tujuan utama normalisasi adalah...
2. Aturan pokok normalisasi adalah...
3. Mana yang BUKAN aturan 1NF?
4. Dalam praktik, bentuk normal yang umumnya dicapai adalah sampai...
Terjawab 0 dari 4 soal
Rangkuman
Yang harus diingat
- Normalisasi menghilangkan data ganda dan data tidak konsisten dengan cara memecah tabel besar.
- Praktiknya berhenti di 3NF.
- 1NF: satu nilai per kolom, tanpa kolom ganda, tanpa baris ganda, tanpa atribut turunan.
| Istilah | Arti |
|---|---|
| Redundancy | Data yang tertulis berulang tanpa perlu |
| Inkonsistensi | Data yang saling bertentangan |
| 1NF | Bentuk normal pertama |
Tugas mandiri
Cari satu nota atau formulir nyata (nota belanja, kwitansi SPP, jadwal kuliah). Salin ke tabel, tandai bagian yang melanggar aturan 1NF, lalu ubah ke 1NF.
Progres tersimpan di browser Anda dan tampil di halaman beranda.