Latar Belakang
Seiring dengan perkembangan teknologi, semakin banyak toko beralih ke sistem penjualan online. Meskipun menawarkan kemudahan, pengelolaan toko online memiliki tantangan, seperti pencatatan data pelanggan, manajemen produk, transaksi penjualan, metode pembayaran, dan pengiriman barang yang terpisah-pisah. Hal ini dapat menyebabkan kesalahan dalam pengelolaan data, keterlambatan pengiriman, dan kesulitan dalam menghasilkan laporan penjualan yang akurat. Untuk itu, diperlukan sebuah sistem penjualan yang terintegrasi untuk meningkatkan efisiensi, mengurangi kesalahan, dan memberikan pengalaman yang lebih baik bagi pelanggan.
Rancangan ERD
1. Entitas Pelanggan
-Atribut:
- id_pelanggan (Primary Key)
- nama
- alamat
-Pelanggan terhubung ke transaksi melalui relasi melakukan. Artinya, setiap pelanggan dapat melakukan satu atau lebih transaksi.
2. Entitas Transaksi
-Atribut:
- id_transaksi (Primary Key)
- tgl_transaksi
- total_harga
- id_pelanggan (Foreign Key, relasi dengan entitas pelanggan)
-Relasi melakukan menghubungkan pelanggan dengan transaksi. Setiap transaksi dilakukan oleh satu pelanggan.
3. Entitas Barang
-Atribut:
- id_barang (Primary Key)
- nama_barang
- harga
- stok
-Transaksi mencakup barang melalui relasi mencakup. Ini menunjukkan bahwa setiap transaksi dapat melibatkan satu atau lebih barang, dengan jumlah tertentu.
4. Entitas Pembayaran
-Atribut:
- id_pembayaran (Primary Key)
- status_pembayaran
- metode_pembayaran
- id_transaksi (Foreign Key, relasi dengan entitas transaksi)
-Relasi memiliki menghubungkan transaksi dengan pembayaran. Artinya, setiap transaksi memiliki satu metode pembayaran.
5. Entitas Pengiriman
-Atribut:
- id_pengiriman (Primary Key)
- alamat_pengiriman
- status_pengiriman
- id_pembayaran (Foreign Key, relasi dengan entitas pembayaran)
-Relasi melibatkan menghubungkan pembayaran dengan pengiriman. Setiap pembayaran dapat melibatkan satu pengiriman dengan informasi alamat dan status pengiriman.
Relasi dan Hubungan Penting
-Relasi melakukan: Menghubungkan pelanggan dengan transaksi, menunjukkan bahwa pelanggan dapat melakukan satu atau lebih transaksi.
-Relasi mencakup: Menghubungkan transaksi dengan barang, menunjukkan bahwa satu transaksi dapat mencakup beberapa barang.
-Relasi memiliki: Menghubungkan transaksi dengan pembayaran, menunjukkan bahwa setiap transaksi memiliki satu pembayaran.
-Relasi melibatkan: Menghubungkan pembayaran dengan pengiriman, menunjukkan bahwa setiap pembayaran melibatkan satu pengiriman.
Rancangan Enhanced Entity-Relationship Diagram (EERD)
Berikut adalah penjelasan yang menunjukkan hubungan antar entitas dalam sebuah sistem manajemen transaksi dari masing-masing tabel dan relasi:
1. Tabel pelanggan
Menyimpan data pelanggan, dengan atribut:
- id_pelanggan (INT, Primary Key): Identitas unik pelanggan.
- nama (VARCHAR): Nama pelanggan.
- alamat (TEXT): Alamat pelanggan.
- email (VARCHAR): Email pelanggan.
Relasi:
id_pelanggan digunakan sebagai foreign key di tabel transaksi.
2. Tabel transaksi
Menyimpan data transaksi yang dilakukan pelanggan, dengan atribut:
- idtransaksi (INT, Primary Key): Identitas unik transaksi.
- tgl_transaksi (VARCHAR): Tanggal transaksi.
- total_harga (DECIMAL): Total harga transaksi.
- pelanggan_id_pelanggan (INT, Foreign Key): Mengacu pada id_pelanggan di tabel pelanggan.
Relasi:
Satu pelanggan dapat memiliki banyak transaksi (one-to-many), idtransaksi digunakan sebagai foreign key di tabel pembayaran, pengiriman, dan transaksi_barang.
3. Tabel barang
Menyimpan data barang yang dijual, dengan atribut:
- idbarang (INT, Primary Key): Identitas unik barang.
- nama_barang (VARCHAR): Nama barang.
- harga (DECIMAL): Harga barang.
- stok (INT): Jumlah stok barang yang tersedia.
Relasi:
idbarang digunakan sebagai foreign key di tabel transaksi_barang.
4. Tabel transaksi_barang
Menyimpan detail barang yang terlibat dalam transaksi, dengan atribut:
- transaksi_idtransaksi (INT, Foreign Key): Mengacu pada idtransaksi di tabel transaksi.
- barang_idbarang (INT, Foreign Key): Mengacu pada idbarang di tabel barang.
- jumlah (INT): Jumlah barang dalam transaksi.
Relasi:
Hubungan many-to-many antara transaksi dan barang.
5. Tabel pembayaran
Menyimpan data pembayaran untuk transaksi, dengan atribut:
- idpembayaran (INT, Primary Key): Identitas unik pembayaran.
- metode_pembayaran (ENUM): Metode pembayaran yang digunakan.
- status_pembayaran (ENUM): Status pembayaran (lunas, belum lunas, dll.).
- transaksi_idtransaksi (INT, Foreign Key): Mengacu pada idtransaksi di tabel transaksi.
Relasi:
Satu transaksi memiliki satu pembayaran (one-to-one).
6. Tabel pengiriman
Menyimpan data pengiriman barang, dengan atribut:
- idpengiriman (INT, Primary Key): Identitas unik pengiriman.
- alamat_pengiriman (TEXT): Alamat tujuan pengiriman.
- status_pengiriman (ENUM): Status pengiriman (dikirim, diterima, dll.).
- pembayaran_idpembayaran (INT, Foreign Key): Mengacu pada idpembayaran di tabel pembayaran.
Relasi:
Satu pembayaran terkait dengan satu pengiriman (one-to-one).
Implementasi SQL
Dari rancangan studi kasus ini akan menghasilkan 5 tabel yang berelasi dengan Foreign Key di beberapa tabel tersebut. Berikut adalah tabel yang memiliki Foreign Key:
- Pelanggan Transaksi Pembayaran Pengiriman
- Pelanggan memiliki id_pelanggan yang menjadi Foreign Key di Transaksi.
- Transaksi memiliki id_transaksi yang menjadi Foreign Key di Pembayaran.
- Pembayaran memiliki id_pembayaran yang menjadi Foreign Key di Pengiriman.
Dengan kata lain, setiap entitas yang memiliki Foreign Key terhubung dalam urutan yang jelas, yaitu:
- Pelanggan yang melakukan Transaksi.
- Transaksi yang memiliki Pembayaran.
- Pembayaran yang melibatkan Pengiriman.
Implementasi Aplikasi Sederhana
Pada studi kasus ini, saya telah mengembangkan sebuah aplikasi berbasis web yang dirancang untuk mempermudah proses manajemen transaksi. Aplikasi ini terdiri dari beberapa fitur utama, antara lain: halaman kembali ke beranda, form transaksi, form pengiriman, form pembayaran, form pelanggan, dan form transaksi-barang. Masing-masing form tersebut memiliki fungsi spesifik yang saling terintegrasi untuk mendukung kelancaran operasional dalam aplikasi ini.
Saya telah menyediakan video demonstrasi yang menjelaskan fitur aplikasi ini secara rinci. Tonton video berikut untuk melihat cara kerja aplikasi secara langsung.
Tonton video selengkapnya di sini:
Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H