Pada tutorial shopping cart kali ini, kita akan belajar merancang database dan table-table untuk menyimpan data-data dari aplikasi shopping cart. Tutorial ini untuk para pemula yang sedang belajar bahasa pemograman PHP dan belajar membuat aplikasi shopping cart system. Database ini akan menyimpan data barang, data pembelian barang, data penjualan barang, data konsumen dan data admin. Semua data-data tersebut akan disimpan dalam table-table yang saling berhubungan atau relational dalam satu database. Kita akan menggunakan bahasa pemograman PHP dan database MySQL. Untuk local servernya kita akan xampp, untuk cara installnya anda bisa lihat disini.
Tutorial Shopping Cart (Persiapan Database di MySQL)
Daftar isi :
- Membuat Database di MySQL.
- Membuat Table :
- 2.1 tbl_produk.
- 2.2 tbl_kategori
- 2.3 tbl_pembelian.
- 2.4 tbl_toko
- 2.5 tbl_pesanan.
- 2.6 tbl_detail_pesanan.
- 2.7 tbl_member.
- 2.8 User.
- 2.9 tbl_detail_pembelian
- Penutup
1. Membuat Database di MySQL
Di dalam shopping cart system, database sangat penting, dengan database yang terstruktur di harapkan terbentuk suatu aplikasi shopping cart yang baik sesuai dengan harapan. Database berfungsi untuk menampung data-data dalam shopping cart system nantinya, oke langsung aja kita mulai.
Buka MySQL phpmyadmin dan buat database dengan nama “db_bukawarung” atau bisa dengan perintah :
CREATE DATABASE `db_bukawarung` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */
2. Membuat Table di MySQL
Setelah kita membuat database, sekarang kita akan membuat table-table yang diperlukan untuk menampung data aplikasi shopping cart system nantinya.
2.1 Membuat table tbl_produk
Table tbl_produk disini berfungsi untuk menampung data product kita, jalankan kode dibawah ini untuk membuat table “tbl_produk”
CREATE TABLE `tbl_produk` (
`id_produk` int(11) NOT NULL AUTO_INCREMENT,
`nama_produk` varchar(60) COLLATE utf8_unicode_ci NOT NULL,
`kategori` varchar(30) COLLATE utf8_unicode_ci NOT NULL,
`keterangan` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
`harga` double NOT NULL,
`photo` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`stok` tinyint(4) NOT NULL,
PRIMARY KEY (`id_produk`)
) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Penjelasan table tbl_produk
- id_produk berfungsi menampung id dari produk dengan value unik jadi di mysql kita setting primary dan auto increament
- nama_produk berfungsi untuk menyimpan data nama produk
- kategori berfungsi untuk menyimpan data kategori dari produk
- keterangan berfungsi untuk menyimpan data keterangan dari produk
- harga berfungsi untuk menyimpan data harga dari produk
- photo berfungsi untuk menyimpan data photo produk
- stok berfungsi untuk menyimpan data stok dari produk
2.2 Membuat table tbl_kategori
Table tbl_kategori berfungsi untuk menampung data kategori dari produk dan tbl_kategori berhubungan dengan tbl_produk, jadi table tbl_produk memiliki relationship dengan tbl_kategori.
Jalankan kode dibawah ini untuk membuat tbl_kategori
CREATE TABLE `tbl_kategori` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`photo` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Penjelasan table tbl_kategori
- id berfungsi menampung id dari kategori dengan value unik jadi di mysql kita setting primary dan auto increament
- name berfungsi untuk menyimpan data nama kategori
- photo berfungsi untuk menyimpan data photo dari kategori
2.3 Membuat Table tbl_pembelian
Table tbl_pembelian berfungsi untuk menyimpan data pembelian produk, jalankan kode dibawah ini untuk membuat tbl_pembelian
CREATE TABLE `tbl_pembelian` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`no_nota` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`tgl_beli` date NOT NULL,
`id_toko` int(11) NOT NULL,
`total` double NOT NULL,
`keterangan` varchar(500) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Penjelasan table tbl_pembelian
- id berfungsi menampung id dari pembelian dengan value unik jadi di mysql kita setting primary dan auto increament
- no_nota berfungsi untuk menyimpan data nota dari pembelian
- tgl_beli berfungsi untuk menyimpan data tanggal pembelian
- id_toko berfungsi untuk menyimpan data id dari toko tempat pembelian, field ini berhubungan dengan tbl_toko.
- total berfungsi untuk menyimpan data total dari pembelian
- keterangan berfungsi untuk menyimpan data keterangan dari pembelian
2.4 Membuat table tbl_toko
Table tbl_toko berfungsi untuk menyimpan data toko atau suplier, kodenya seperti dibawah ini
CREATE TABLE `tbl_toko` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nama` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
`alamat` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
`telphone` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Penjelasan table tbl_toko
- id berfungsi menampung id dari toko dengan value unik jadi di mysql kita setting primary dan auto increament
- nama berfungsi untuk menyimpan data nama toko
- alamat berfungsi untuk menyimpan data alamat toko
- email berfungsi untuk menyimpan data email dari toko
- telphone berfungsi untuk menyimpan data telphone dari toko
2.5 Membuat table tbl_pesanan
Table tbl_pesanan berfungsi untuk menyimpan data penjualan, jalankan kode dibawah ini untuk membuat table tbl_pesanan
CREATE TABLE `tbl_pesanan` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_pelanggan` int(11) NOT NULL,
`nama_pelanggan` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`alamat_pelanggan` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
`email_pelanggan` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`tlp_pelanggan` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`total_belanja` double NOT NULL,
`metode_bayar` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`status` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`tanggal` date NOT NULL,
`keterangan` varchar(300) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Penjelasan table tbl_pesanan
- id berfungsi menyimpan id dari pesanan / penjualan dengan value unik jadi di mysql kita setting primary dan auto increament
- id_pelanggan berfungsi untuk menyimpan data id penjualan
- nama_pelanggan berfungsi untuk menyimpan data nama pelanggan / pembeli
- alamat_pelanggan berfungsi untuk menyimpan data alamat pelanggan
- email_pelanggan berfungsi untuk menyimpan data email pelanggan
- tlp_pelanggan berfungsi untuk menyimpan data telphone pelanggan
- total_belanja berfungsi untuk menyimpan data total penjualan
- metode_pembayaran berfungsi untuk menyimpan data metode pembayaran yang dipilih oleh pelanggan
- status berfungsi untuk menyimpan data status dari penjualan
- tanggal berfungsi untuk menyimpan data tanggal penjualan
- keterangan berfungsi untuk menyimpan data keterangan penjualan
2.6 Membuat Table tbl_detail_pesanan
Table tbl_detail_pesanan berfungsi untuk menyimpan detail dari penjualan
CREATE TABLE `tbl_detail_pesanan` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_pesanan` int(11) NOT NULL,
`id_produk` int(11) NOT NULL,
`nama_produk` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`detail_produk` varchar(300) COLLATE utf8_unicode_ci NOT NULL,
`qty_pesanan` int(11) NOT NULL,
`hrg_produk` double NOT NULL,
`sub_total` double NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Penjelasan table tbl_detail_pesanan
- id berfungsi menyimpan id dari detail penjualan dengan value unik jadi di mysql kita setting primary dan auto increament
- id_pesanan berfungsi untuk menyimpan id dari pesanan / penjualan
- id_produk berfungsi untuk menyimpan id dari produk pesanan / penjualan
- nama_produk berfungsi untuk menyimpan nama produk pesanan / penjualan
- qty_pesanan berfungsi untuk menyimpan quantity pesanan / penjualan
- hrg_produk berfungsi untuk menyimpan harga produk pesanan / penjualan
- sub_total berfungsi untuk menyimpan total pesanan / penjualan
2.7 Membuat table tbl_member
tbl_member berfungsi untuk menyimpan seluruh data konsumen atau pembeli, jalankan kode dibawah ini untuk membuat tbl_member
CREATE TABLE `tbl_member` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nama` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`alamat` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`phone` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
`kata_sandi` varchar(300) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Penjelasan table tbl_member
- id berfungsi menyimpan id dari member / pelanggan dengan value unik jadi di mysql kita setting primary dan auto increament
- nama berfungsi untuk menyimpan data nama dari pelanggan / member
- alamat berfungsi untuk menyimpan data alamat dari pelanggan / member
- phone berfungsi untuk menyimpan data no telphone dari pelanggan / member
- email berfungsi untuk menyimpan data email dari pelanggan / member
- kata_sandi berfungsi untuk menyimpan data password dari pelanggan / member
2.8 Membuat Table users
Table users berfungsi untuk menyimpan data admin, jalankan kode dibawah ini untuk membuat table users
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`password` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Penjelasan table users
- id berfungsi menyimpan id dari users dengan value unik jadi di mysql kita setting primary dan auto increament
- username berfungsi untuk menyimpan data username dari user
- email berfungsi untuk menyimpan data email dari user
- password berfungsi untuk menyimpan data password dari user
2.9 Membuat table tbl_detail_pembelian
Table tbl_detail_pembelian berfungsi untuk menyimpan data detail dari pembelian barang, kode pembuatan tablenya dibawah ini
CREATE TABLE `tbl_detail_pembelian` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_pembelian` int(11) NOT NULL,
`id_produk` int(11) NOT NULL,
`qty` smallint(6) NOT NULL,
`harga` double NOT NULL,
`total` double NOT NULL,
`keterangan` varchar(200) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Penjelasan tbl_detail_pembelian
- id berfungsi menyimpan id dari detail pembelian dengan value unik jadi di mysql kita setting primary dan auto increament
- id_pembelian berfungsi untuk menyimpan id pembelian
- id_produk berfungsi untuk menyimpan id produk
- qty berfungsi untuk menyimpan data quantity dari pembelian
- harga berfungsi untuk menyimpan data harga produk dari pembelian
- total berfungsi untuk menyimpan total dari pembelian
- keterangan berfungsi untuk menyimpan keterangan dari pembelian
3. Penutup
Demikian tutorial php shopping cart dengan bahasan pembuatan database dan table di MySQL, Pada tutorial berikutnya kita akan membuat tutorial shopping cart dengan bahasan pembuatan admin page untuk mengelola konten aplikasi shopping cart kita.