• Tidak ada hasil yang ditemukan

Membuat Sistem Keranjang Belanja Sederhana

N/A
N/A
Protected

Academic year: 2021

Membagikan "Membuat Sistem Keranjang Belanja Sederhana"

Copied!
10
0
0

Teks penuh

(1)
(2)

Membuat Sistem Keranjang Belanja

Sederhana

Oleh: Dadan

Bicara tentang keranjang sekarang ini toko online mana sih yang belum

punya fasilitas keranjang belanja. Fitur ini wajib dimiliki setiap toko online.

Keranjang belanja digunakan untuk menyimpan data-data barang yang

ingin di beli oleh pengunjung website kita.

"Dasar lelaki mata keranjang". Begitulah teriakan yang tersirat dari perasaan wanita yang

jengkel terhadap seseorang. Wanita memang tidak suka dengan mata keranjang. Tapi keranjang yang satu ini beda. Ini keranjang buat shopping. Cewe mana sih yang ga suka liad keranjang belanjanya penuh. Weks...

Bicara tentang keranjang sekarang ini toko online mana sih yang belum punya fasilitas keranjang belanja. Fitur ini wajib dimiliki setiap toko online. Keranjang belanja digunakan untuk menyimpan data-data barang yang ingin di beli oleh pengunjung website kita.

Memang kalau mau buat toko online sekarang sih gampang, tinggal pake wordpress atau opencart langsung jadi. Namun tentu lebih baik lagi kalau kita mengerti bagaimana sistem keranjang belanja itu bekerja, siapa tahu nanti kita bisa membuat CMS toko online sendiri.

Bagi Anda para mahasiswa yang sedang mempelajari web programing, keranjang belanja pasti juga akan masuk pada materi kuliah Anda. Pada kesempatan kali ini saya akan membahas bagaimana sih cara kerja dari fitur keranjang belanja. Sistem keranjang belanja yang akan saya tunjukan disini merupakan sistem yang sudah di pakai oleh CMS lokal indonesia loh. Sengaja saya buah lebih sederhana agar mudah dipelajari.

Sebelum mengikuti tutorial ini, diharapkan Anda sudah paham mengenai dasar-dasar pemograman PHP. Terutama untuk operasi inner join database dan session php. Jika belum mengerti kedua istilah tadi silahkan di pelajari dulu yah. :-)

Sebelum itu berikut saya terangkan dahulu alur sistem keranjang belanja sederhana yang akan kita buat.

Semua berawal dari file daftar_produk.php yang menampilkan daftar produk. 1.

Ketika pengunjung mengklik link beli, program akan mengarahkan ke aksi_keranjang.php terlebih 2.

dahulu untuk mencegah terjadinya doubel data pemesanan.

Baru setelah itu akan di arahkan ke keranjang.php. Di file keranjang.php akan menampilkan dafar 3.

barang yang di beli beserta link tambah barang dan selesai belanja.

Ketika pengunjung memutuskan selesai belanja maka akan diarahkan ke file selesai.php yang 4.

berfungsi layaknya sebagai struk belanjaan selesai

5.

(3)

Karena ini sistem sederhana, kita hanya memerlukan empat tabel saja. Silahkan nanti di import saja database-nya. Saya sudah menyertakan file sql di paket downloadnya.

Pertama-tama kita buat dulu file koneksi.php, berikut adalah source kodenya <?php // koneksi ke mysql $dbHost = "localhost"; $dbUser = "root"; $dbPass = ""; $dbName = "toko";

mysql_connect($dbHost, $dbUser, $dbPass); mysql_select_db($dbName);

?>

Karena saya menggunakan Xammp sebagai webserver, maka saya mengosongkan bagian passwordnya. Silahkan disesuaikan dengan konfigurasi webserver Anda.

Selanjutnya kita buat file daftar_produk.php, berikut adalah source kodenya <?php

session_start();

include "koneksi.php"; echo"<h1>Daftar Produk</h1> <ul>";

$r=mysql_query("SELECT * FROM produk"); while($d=mysql_fetch_array($r)){

echo"<li>$d[nama_produk] : $d[harga] || <a href='aksi_keranjang.php?id=$d[id_produk]'>Beli</a></li>"; }

echo"</ul>"; ?>

Kode diatas berfungsi untuk menampilkan data dari tabel produk. Tampilannya sederhana dulu saja, nanti akan kelihatan seperti ini

(4)

Sederhana banget yah. Ga kayak di toko online lainnya. Sabar, karena ini memang dasarnya banget jadi saya buat demikian. Nanti kalau Anda sudah paham bisa di kembangkan lagi tampilan dan fungsinya. Sementara gini saja dulu.

Jadi disini saya hanya menampilkan link beli dimana ketika link itu diklik akan mengarah pada file

aksi_keranjang.php. Masing-masing link akan mengantar id produk ke file aksi_keranjang.php

dengan metode get. Nah berikut adalah source kode dari file aksi_keranjang.php <?php

session_start();

include "koneksi.php"; $sid = session_id();

//di cek dulu apakah barang yang di beli sudah ada di tabel keranjang $sql = mysql_query("SELECT id_produk FROM keranjang WHERE

id_produk='$_GET[id]' AND id_session='$sid'"); $ketemu=mysql_num_rows($sql);

if ($ketemu==0){

// kalau barang belum ada, maka di jalankan perintah insert

mysql_query("INSERT INTO keranjang (id_produk, jumlah, id_session)

VALUES ('$_GET[id]', 1, '$sid')"); } else {

// kalau barang ada, maka di jalankan perintah update mysql_query("UPDATE keranjang

SET jumlah = jumlah + 1

WHERE id_session ='$sid' AND id_produk='$_GET[id]'");

}

header('Location:keranjang.php'); ?>

(5)

File diatas ga ada tampilannya. Karena hanya berfungsi sebagai file proses.

Pada kode diatas di awali dengan session_start. Lalu akan menyertakan file koneksi.php agar bisa terhubung ke database toko. Selanjutnya akan dibuat session id. Session_id buat apa? ini untuk membedakan antara pembeli yang satu dengan lainnya. Sebab nanti bisa jadi yang belanja di toko online kita bisa lebih dari satu orang dalam waktu bersamaan. Nah session_id inilah yang menjadi pembeda antara pembeli-pembeli tadi.

Selanjtunya akan diperiksa dulu apakah barang yang di beli sudah ada di tabel keranjang dengan session id yang berlaku. Jika belum ada, maka akan dijalankan perintah insert. Jika ada, maka akan di jalankan perintah update dengan menambahkan jumlah barang 1 buah.

Selanjutnya dijalankan perintah header () untuk mengarahkan ke file keranjang.php. Berikut adalah source kode dari file keranjang.php

<?php session_start(); $sid = session_id(); include "koneksi.php"; echo"<h1>Keranjang Belanja</h1> <table border=1> <tr> <th>Nama Produk</th> <th>Qty</th> <th>Harga</th> <th>Sub Total</th> </tr> ";

//jalankan perintah inner join dari tabel keranjang dan produk $sql = mysql_query("SELECT * FROM keranjang, produk WHERE id_session='$sid' AND keranjang.id_produk=produk.id_produk"); while($d=mysql_fetch_array($sql)){

$subtotal = $d[harga]* $d[jumlah]; $total = $total + $subtotal; echo"<tr><td>$d[nama_produk]</td> <td>$d[jumlah]</td> <td>$d[harga]</td> <td>$subtotal</td></tr>"; } echo"</table>

<h2>Total Belanja : <b>$total</b></h2> <ul>

<li><a href='daftar_produk.php'>Tambah Barang</a></li> <li><a href='selesai.php'>Selesai belanja</a></li> </ul>";

?>

Nah, file inilah yang menjadi inti dari sistem. Fungsinya sebagai penampil data belanjaan bedasarkan id session yang berlaku. Data diambil lewat operasi join antar tabel keranjang dan produk, bisa dilihat pada kode baris 15.

(6)

Pada bagian bawah saya menambahkan dua link yaitu untuk tambah barang yang mengarah ke daftar_produk.php dan selesai belanja yang mengarah ke selesai.php. Untuk yang tambah barang saya kira tidak perlu di jelaskan lagi, saya akan melanjutkan ke file selesai.php. berikut adalah source kodenya

<?php

session_start();

include "koneksi.php"; $sid = session_id();

// fungsi untuk mendapatkan isi keranjang belanja function isi_keranjang(){

$isikeranjang = array(); $sid = session_id();

$sql = mysql_query("SELECT * FROM keranjang WHERE id_session='$sid'"); while ($r=mysql_fetch_array($sql)) { $isikeranjang[] = $r; } return $isikeranjang; } $tgl_skrg = date("Ymd"); // simpan data pemesanan

mysql_query("INSERT INTO pembelian(tgl_beli) VALUES ('$tgl_skrg')"); // mendapatkan nomor orders dari tabel pembelian

$id_orders=mysql_insert_id();

// panggil fungsi isi_keranjang dan hitung jumlah produk yang dipesan $isikeranjang = isi_keranjang();

$jml = count($isikeranjang); // simpan data detail pemesanan

(7)

for ($i = 0; $i < $jml; $i++){

mysql_query("INSERT INTO detail_beli(id_beli, id_produk, jumlah) VALUES('$id_orders',{$isikeranjang[$i]['id_produk']},

{$isikeranjang[$i]['jumlah']})"); }

// setelah data pemesanan tersimpan, hapus data pemesanan di tabel keranjang

for ($i = 0; $i < $jml; $i++) { mysql_query("DELETE FROM keranjang WHERE id_belanja = {$isikeranjang[$i]['id_belanja']}");}

echo"Nomor Order: <b>$id_orders</b><br /><br />"; echo"<h1>Rincian Belanja</h1> <table border=1> <tr> <th>Nama Produk</th> <th>Qty</th> <th>Harga</th> <th>Sub Total</th> </tr> ";

$r=mysql_query("SELECT * FROM detail_beli,produk WHERE

detail_beli.id_produk=produk.id_produk AND id_beli='$id_orders'"); while($d=mysql_fetch_array($r)){

$subtotal = $d[harga]* $d[jumlah]; $total = $total + $subtotal; echo"<tr><td>$d[nama_produk]</td> <td>$d[jumlah]</td> <td>$d[harga]</td> <td>$subtotal</td></tr>"; } echo"</table>

<h2>Total Belanja : <b>$total</b></h2>"; ?>

Wuih, panjang juga yah kodenya. pertama-tama akan dibuat fungsi penghitung isi tabel keranjang pada baris 6-15. Fungsi itu akan mengembalikan nilai berapa banyak barang yang di beli bedasarkan id_session yang berlaku.

Lanjut pada baris 20 adalah perintah sql untuk memasukan data tanggal pembelian ke tabel pembelian. Nantinya tabel pembelian bisa dikembangkan tidak hanya tanggal pembelian saja, bisa ditambah jam pemesanan, id_customer yang memesan, dll. SIlahkan nanti di kembangin sendiri yah. Baris 26-27 akan menghitung barang belanjaan menggunakan fungsi isi_keranjang. Lalu nilainya akan disimpan pada variabel $jml. $jml ini akan dipakai pada proses selanjuntnya

(8)

baris 30-31 adalah proses penyimpanan data secara berulang ke tabel detail_beli. Perulangannya itu bergantung dari banyak jenis produk yang di beli. Makanya digunakan perintah for agar pemasukannya disesuaikan dengan banyak jenis barang yang dibeli.

Selanjutnya pada baris 35 akan terjadi penghapusan isi data dari tabel keranjang. Ibarat kita sampai dikasir toko isi keranjang belanja kita diambil oleh mbak kasir. Maka kode baris 35 perannya seperti mbak kasir itu. Mengosongkan keranjang belanja kita

Selanjutnya baris 38 sampai akhir adalah kode untuk menampilkan rincian belanja. Kodenya hampir sama dengan file keranjang.php. Disini pembeli bisa melihat rincinan belanjanya. Fungsinya hampir sama seperti struk belanja.

Nantinya file selesai.php akan terlihat seperti ini

File selesai.php juga bisa Anda kembangkan lebih lanjut lagi. Berikut saya review lagi alur sistem keranjang belanja yang beru saja kita bahas.

Semua berawal dari file daftar_produk.php yang menampilkan daftar produk. 1.

Ketika pengunjung mengklik link beli, program akan mengarahkan ke aksi_keranjang.php terlebih 2.

dahulu untuk mencegah terjadinya doubel data pemesanan.

Baru setelah itu akan di arahkan ke keranjang.php. Di file keranjang.php akan menampilkan dafar 3.

barang yang di beli beserta link tambah barang dan selesai belanja.

Ketika pengunjung memutuskan selesai belanja maka akan diarahkan ke file selesai.php yang 4.

berfungsi layaknya sebagai struk belanjaan selesai

5.

Sampailah kita dipenghujung tutorial ini. Semoga apa yang saya sampaikan bisa bermanfaat untuk Anda. Jika ada yang ingin ditanyakan silahkan hubungi penulis saja untuk konsultasi lebih lanjut. Sekian dan terima kasih

(9)
(10)

Dadan

Saya adalah pria biasa saja yang tumbuh semakin besar di lingkungan yang serba biasa, Semoga kehadiran saya disini bisa membantu Anda. ^_^

Referensi

Dokumen terkait