Halo Pejuang Skripsi dan Calon Database Administrator! 🎓
Kesalahan pemula yang paling fatal saat merancang database adalah membawa "Mentalitas Excel". Maksudnya gimana? Semua data ditaruh di satu tabel raksasa yang panjangnya minta ampun.
Contoh Tabel:
| No Faktur | Tanggal | Nama Pelanggan | Alamat Pelanggan | Nama Barang | Harga | Suplier |
| INV-001 | 01-Jan | Budi | Jl. Mawar No. 1 | Kopi Arabika | 15.000 | PT. Kopi Jaya |
| INV-002 | 02-Jan | Budi | Jl. Mawar No. 1 | Teh Melati | 5.000 | PT. Teh Segar |
| INV-003 | 03-Jan | Siti | Jl. Anggrek No. 5 | Kopi Arabika | 15.000 | PT. Kopi Jaya |
Kelihatannya rapi? SALAH BESAR! ❌ Lihat kolom Nama Pelanggan dan Alamat. Nama "Budi" dan "Jl. Mawar" ditulis berulang-ulang (Redundansi).
Bayangkan kalau Budi pindah rumah. Kamu harus cari SEMUA transaksi Budi dari tahun jebot dan ganti alamatnya satu-satu. Kalau ada 1000 transaksi dan kamu kelewatan satu aja, datanya jadi nggak konsisten. Inilah yang disebut Update Anomaly.
Solusinya: Normalisasi (Normalization)
Normalisasi adalah proses memecah tabel "Gado-gado" tadi menjadi tabel-tabel kecil yang spesifik dan saling berhubungan. Tujuannya: Zero Redundancy.
Biasanya skripsi standar mewajibkan sampai tahap 3NF (Third Normal Form).
1. Pecah Berdasarkan Topik (Entity) Jangan campur data Pelanggan sama data Barang. Pisahkan!
-
Buat
Tabel Pelanggan(Isinya cuma data diri orang). -
Buat
Tabel Barang(Isinya cuma spesifikasi produk). -
Buat
Tabel Transaksi(Isinya cuma kejadian jual-beli).
2. Hubungkan dengan ID (Foreign Key) Di tabel transaksi, jangan tulis "Budi" lagi. Cukup tulis ID_Pelanggan = 1. Database akan merujuk ke Tabel Pelanggan untuk tau siapa itu ID 1.
Kenapa Harus Normalisasi?
-
Hemat Penyimpanan: Kamu nggak perlu simpan teks "Jl. Mawar No 10 Blok A..." sebanyak 1000 kali. Cukup simpan sekali di tabel pelanggan.
-
Edit Sekali, Berubah Semua: Kalau Budi pindah alamat, cukup update di
Tabel Pelanggan. Semua riwayat transaksi otomatis merujuk ke data terbaru (atau data historis tergantung desain). -
Lulus Sidang Skripsi: Ini poin paling penting. Dosen akan melihat ERD (Entity Relationship Diagram) kamu. Kalau tabelmu masih gemuk dan nggak terpecah, itu sasaran empuk buat "dibantai".
Kesimpulan
Bikin database itu seni mengorganisir data. Jangan malas memecah tabel demi kemudahan di awal, karena bakal bikin ribet di akhir.
Masih bingung gimana bentuk tabel yang sudah 3NF (Third Normal Form)? Coba bedah struktur database di Source Code Aplikasi POS saya. Di sana saya sudah memisahkan Tabel Master (Barang, User, Member) dan Tabel Transaksi dengan relasi yang rapi dan efisien.
Bisa jadi contekan valid buat bab "Perancangan Sistem" di skripsi kamu lho! 😉