Tabel tersebut merupakan contoh data transaksi yang disusun dalam bentuk First Normal Form (1NF). Dalam 1NF, semua data disusun dalam tabel dua dimensi dengan setiap kolom berisi satu jenis data, dan setiap baris merepresentasikan satu entitas transaksi. Tabel ini mencatat informasi lengkap tentang pembelian produk, mencakup nama dan alamat pembeli, nomor telepon, nama penjual, nomor pesanan, waktu pembayaran, metode pembayaran, jasa kirim, detail produk, harga produk, jumlah kuantitas, subtotal, biaya pengiriman, biaya layanan, dan total pembayaran. Namun, tabel ini masih mengandung redundansi data, seperti informasi jasa kirim dan produk yang berulang jika ada lebih dari satu produk dalam satu pesanan. Oleh karena itu, tabel ini perlu dinormalisasi lebih lanjut ke bentuk normal yang lebih tinggi (2NF atau 3NF) untuk mengurangi redundansi dan meningkatkan efisiensi penyimpanan data.
proses normalisasi data dari bentuk First Normal Form (1NF) ke Second Normal Form (2NF). Pada tahap 1NF, data disusun dalam bentuk tabel dua dimensi tanpa adanya data yang terduplikasi di satu kolom, tetapi masih mengandung redundansi, seperti informasi pembeli, barang, dan biaya tambahan yang berulang untuk setiap transaksi. Oleh karena itu, dilakukan normalisasi ke 2NF untuk menghilangkan redundansi dengan memecah data menjadi beberapa tabel berdasarkan ketergantungan fungsionalnya.
Pada tahap 2NF, data dipecah menjadi tabel-tabel terpisah, yaitu tabel Pembeli, Penjual, Barang, Pesanan, Rincian Pesanan, dan Biaya Tambahan. Setiap tabel memiliki primary key yang unik untuk mengidentifikasi data secara independen. Tabel Pembeli menyimpan data terkait pelanggan, seperti nomor handphone, nama, dan alamat pembeli. Tabel Penjual mencatat informasi penjual berdasarkan ID unik. Tabel Barang berisi informasi produk yang dijual, termasuk nama dan harga produk. Tabel Pesanan mencatat data utama transaksi, seperti nomor pesanan, waktu pembayaran, metode pembayaran, dan jasa pengiriman. Detail produk dalam pesanan dicatat di tabel Rincian Pesanan, termasuk variasi barang, harga, kuantitas, dan subtotal. Terakhir, tabel Biaya Tambahan mencatat biaya lain-lain, seperti biaya pengiriman, layanan, dan penanganan, yang terkait dengan setiap pesanan.
Normalisasi ini memastikan setiap kolom hanya bergantung pada primary key tabelnya dan menghilangkan ketergantungan parsial. Hasilnya adalah struktur database yang lebih terorganisir, fleksibel, dan efisien, sehingga memudahkan pengelolaan data dan mengurangi kemungkinan inkonsistensi.
3NF (Third Normal Form) adalah salah satu bentuk normalisasi dalam desain database yang bertujuan untuk menghilangkan ketergantungan transitif antara atribut non-kunci terhadap primary key. Suatu tabel dikatakan memenuhi 3NF jika sudah memenuhi 2NF (tidak ada ketergantungan parsial antara atribut non-kunci dengan primary key) dan tidak ada ketergantungan transitif, yaitu atribut non-kunci hanya bergantung langsung pada primary key. Berdasarkan tabel pada gambar, Tabel Pembeli sudah memenuhi 3NF karena atribut Nama Pembeli dan Alamat Pembeli bergantung langsung pada primary key No. Handphone Pembeli. Tabel Penjual juga memenuhi 3NF karena atribut Nama Penjual bergantung langsung pada primary key Penjual_ID. Hal yang sama berlaku untuk Tabel Barang, Tabel Jasa Kirim, dan Tabel Metode Pembayaran, di mana setiap atribut non-kunci bergantung langsung pada primary key masing-masing tabel. Terakhir, Tabel Pesanan juga memenuhi 3NF karena semua kolomnya (No.Handphone Pembeli, Barang_ID, Waktu Pembayaran, Id_Metode_Pembayaran, Id_Jasa_Kirim) bergantung langsung pada primary key No_Pesanan. Dengan demikian, semua tabel dalam desain ini sudah memenuhi bentuk 3NF.
Diagram ERD (Entity Relationship Diagram) yang diunggah merepresentasikan hubungan antar-entitas dalam sistem basis data untuk pengelolaan pesanan. Entitas utama yang terlibat adalah Pembeli, dengan atribut seperti no_hp (primary key), nama_pesanan, dan alamat_pembeli, yang melakukan transaksi melalui entitas Pesanan, yang memiliki atribut seperti no_pesanan (primary key) dan waktu_pembayaran. Setiap pesanan terkait dengan entitas Produk, yang mencakup atribut id_produk (primary key), nama_produk, dan harga, dan dirinci lebih lanjut dalam entitas Rincian Pesanan, yang mencatat informasi seperti kuantitas, subtotal, dan variasi. Produk yang dipesan berasal dari Penjual, yang diidentifikasi dengan atribut id_penjual (primary key) dan nama_penjual. Selain itu, pesanan mencakup informasi tentang Jasa Kirim, dengan atribut id_jasa_kirim (primary key) dan nama_jasa_kirim, serta Metode Pembayaran, dengan atribut id_metode_pembayaran (primary key) dan nama_metode_pembayaran. Diagram ini juga mencakup entitas Biaya Tambahan, yang mencatat biaya seperti biaya_pengiriman dan biaya_layanan. Secara keseluruhan, diagram ini menggambarkan alur proses di mana pembeli memesan produk tertentu melalui transaksi yang mencakup detail produk, metode pembayaran, jasa kirim, dan biaya tambahan, dengan struktur yang dirancang untuk meminimalkan redundansi dan menjaga integritas data.
Untuk Lebih memahami terkait gambar-gambar dan materi di atas di atas dapat disimak/dipahami vidio berikut ini:
Â
Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H