SlideShare a Scribd company logo
1 of 5
Download to read offline
Membuat Shopping Cart Sederhana
Menggunakan PHP
Abdurrahman Shofy
admin@opentorndo.com
http://www.opentornado.com



  Lisensi Dokumen:
  Copyright © 2003-2006 IlmuKomputer.Com
  Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
  secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus
  atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
  dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin
  terlebih dahulu dari IlmuKomputer.Com.




Pendahuluan
PHP adalah bahasa pemrograman web server-side yang sangat powerfull. PHP kini telah
digunakan oleh ribuan website di seluruh dunia dan telah menghasilkan berbagai macam
teknologi canggih, seperti blog, CMS, AJAX, dll. Bahasa PHP juga cocok untuk digunakan
membuat situs toko online atau yang biasa disebut e-commerce.

Pada artikel ini saya akan menjelaskan cara membangun sebuah script Shopping Cart
(keranjang belanja) sederhana. Script ini masih sangat sederhana dan bisa dikembangkan untuk
digunakan di website anda masing-masing. Script ini juga hanya berupa Shopping Cart dan
belum termasuk script untuk pembayaran atau manajemen produk.


Cara kerja
Script ini bekerja dengan memanfaatkan variabel SESSION milik PHP dan database MySQL.
Nantinya aplikasi ini berguna untuk menambah barang, meng-edit barang, dan membuang
barang. Script ini nantinya dibagi menjadi 3 buah file yang berbeda yang bisa saling meng-
include.

                                       Struktur session
                                    key               value
                                  id_prod           jmlh_barang



Database
Sebelum mulai membuat script ini, kita buat dahulu database dan tabel yang akan digunakan.
Dalam contoh ini, kita akan membuat database dengan nama 'Toko'. Anda bisa membuatnya
menggunakan script manajemen database semacam PHPMyAdmin atau yang lainnya. Selain
itu, kita juga perlu membuat sebuah tabel yang berisi informasi produk yang kita tawarkan.
Tabel tersebut akan kita beri nama 'produk'.



Komunitas eLearning IlmuKomputer.Com                                                      1
Copyright © 2003-2007 IlmuKomputer.Com
Struktur Tabel 'produk'
   Nama kolom            Tipe          Value                        Tambahan
     id_prod              int              10              auto increment, primary key
      harga               int              20
       title           varchar            100

                                      Isi tabel 'produk'
           id_prod                           harga                           title
               1                             1000                           buku
               2                                100                        permen


db.php
File ini akan berisi informasi untuk terhubung ke database MySQL kita nantinya. File ini
sengaja dibuat terpisah agar memudahkan jika seandainya kita ingin memindahkan hosting
script kita ini. Agar bisa terhubung, kita bisa cukup meng-include file ini di script yang kita
butuhkan.

<?php
mysql_connect(“localhost”,”root”,”password”);
mysql_select_db(“Toko”);
?>

view.php
File ini nantinya berguna untuk melihat jumlah barang yang ada di dalam shopping cart kita.
Yang perlu kita perhatikan adalah jangan lupa meletakkan perintah session_start() di awal file.
Anda bisa meng-include file ini ke setiap halaman yang ada. Berikut isi file tersebut:

<?php
$total=0;

if (!empty($_SESSION['basket'])) { //cek isi variabel _SESSION['basket']
        foreach ($_SESSION['basket'] as $key => $val) {
               $total +=$val; //menghitung jumlah barang
        }
        echo 'Ada <strong>'.$total.'</strong> barang di keranjang<br />';
} else {
        echo "Tidak ada barang di keranjang";
}
?>

cart.php
File inilah yang menjadi file utama kita. File inilah yang bertugas untuk menambah, mengubah,
dan mengurangi isi shopping cart kita nantinya. Sekali lagi, jangan lupa untuk meletakkan
perintah session_start() di awal file dan meng-include file db.php yng tadi kita buat.

<?php
//memulai session


Komunitas eLearning IlmuKomputer.Com                                                         2
Copyright © 2003-2007 IlmuKomputer.Com
session_start();

//meng-include file db.php
require_once “db.php”;

$pesan='';

//handler untuk aksi shopping cart
if (isset($_GET['action'])) {
         if (isset($_GET['id'])) {      //cek variabel id
                  $id=(int)$_GET['id'];
         } else {
                  $id=0;
         }
         $action=$_GET['action'];

        switch($_GET['action']) {
        case 'add':
                if (!empty($_SESSION['basket'][$id])) {
                        $pesan="Barang sudah ada di keranjang";
                } else {
                        $_SESSION['basket'][$id]=1;
                }
                break;
        case 'update' :
                $produk=$_POST['produk'];
                foreach ($produk as $key => $val) {
                        if (!empty($_SESSION['basket'][$key])) {
                                $_SESSION['basket'][$key]=$val;
                        } //jika barang memang ada, baru di-update
                }
                break;
        case 'delete' :
                if (!empty($_SESSION['basket'][$id])) {
                        unset($_SESSION['basket'][$id]);
                } else {
                        $pesan="Barang yang dimaksud tidak ada";
                }
                break;
        }
}

//Menampilan isi shopping cart
if (!empty($_SESSION['basket'])) {
$basket=$_SESSION['basket'];
?>
<FORM method="POST" action="?action=update">
<h3>Isi keranjang belanja:</h3>
  <center><table border="1">
    <tr>


Komunitas eLearning IlmuKomputer.Com                                 3
Copyright © 2003-2007 IlmuKomputer.Com
<th>No.</th>
    <th>Nama produk</th>
    <th>Jumlah</th>
    <th>Aksi</th>
   </tr>

<?php
        $no_urut=0;
        $total=0;
        $total_harga=0;
        foreach ($basket as $key => $val) { //menuliskan tabel
               $no_urut++;
               $query="SELECT * FROM produk WHERE id_prod='$key'";
               $hasil=mysql_query($query);
               if ($hasil) {
                       $data=mysql_fetch_array($hasil);
                       $total+=$val; //jumlah barang
                       $total_harga += ($val * $data['harga']); //total
harga
?>
<tr>
    <td><?php echo $no_urut?></td>
    <td><?php echo $data['title']?></td>
    <td><INPUT name="produk[<?php echo $key?>]" type="text"
value="<?php echo $val?>" /></td>
    <td><A href="?action=delete&id=<?php echo $key?
>">Hapus</a></A></td>
</tr>
<?php }
} ?>
<tr>
    <td colspan="2" align="center"><INPUT type="submit"
value="Perbaharui"></td>
    <td><strong>Total</strong></td>
    <td><?php echo 'Rp '.$total_harga?></td>
</tr>
</table>
</FORM><br />
<?php
        echo 'Ada <strong>'.$total.'</strong> barang di keranjang<br />';
} else {
        echo "<center><strong>Tidak ada barang di
keranjang</strong><br />";
}
echo '<strong>'.$this->pesan.'</strong>'; //menampilkan pesan kalau
ada
?></center>




Komunitas eLearning IlmuKomputer.Com                                        4
Copyright © 2003-2007 IlmuKomputer.Com
Menambah, mengubah, atau membuang item dari shopping cart
Untuk menambah item ke shopping cart, cukup sediakan link ke halaman yang meng-include
file cart.php dengan tambahan url “?action=add&id=<id_produk>”. Contoh, jika file yang
menginclude file cart.php adalah toko.php dan no id tabel item yang akan ditambahkan adalah
1, maka sediakan link dengan target/tujuan: “toko.php?action=add&id=1”. Begitu diklik, maka
halaman secara otomatis berganti ke halaman shopping cart.

Sementara untuk mengubah atau membuang item dari shopping cart, anda tidak perlu membuat
link untuknya. Kedua hal di atas bisa dilakukan lewat halaman shopping cart. Anda hanya perlu
memastikan bahwa ada link untuk menuju ke halaman shopping cart di setiap halaman situs
webstore anda.

Penutup
Script yang kita buat kali ini masih sangat sederhana. Masih banyak fitur yang belum di
implementasikan di script ini, di antaranya script ini belum berupa class. Untuk mendapatkan
script    yang    sudah   berupa      class,  anda      bisa  mendapatkannya      di  alamat
http://blog.opentornado.com. Anda bisa saja mengembangkannya menjadi sebuah script e-
commerce yang lengkap. Jika anda sudah membuatnya, pastikan anda mengirim email ke saya
agar saya bisa mengetahuinya.

Akhir kata, semoga artikel ini bisa bermanfaat bagi kita semua. Salam dan Semoga sukses!

Abdurrahman Shofy Adianto
420phy@opentornado.com
http://www.opentornado.com ~Indonesian High Quality Linux WebStore


Referensi
Script     yang      digunakan     di     artikel  ini   dikembangkan dari  artikel  di
http://www.thewatchmakerproject.com/journal/276/ dengan berbagai macam perubahan dan
perbaikan. Diantaranya adalah perubahan sistem penyimpanan session yang disederhanakan.
Selain itu, fitur update shopping cart juga semakin disempurnakan.


Biografi Penulis
Abdurrahman Shofy. Programmer PHP dan praktisi Linux. Pendiri dan pemilik webstore
Linux OpenTornado.com. Berlokasi di kota Duri-Riau. Bisa dihubungi via e-mail:
420phy@opentornado.com.




Komunitas eLearning IlmuKomputer.Com                                                       5
Copyright © 2003-2007 IlmuKomputer.Com

More Related Content

Viewers also liked

Viewers also liked (7)

Sustainability Plan Presentation
Sustainability Plan PresentationSustainability Plan Presentation
Sustainability Plan Presentation
 
Following the Evolution of New Protein Folds via Protodomains
Following the Evolution of New Protein Folds via ProtodomainsFollowing the Evolution of New Protein Folds via Protodomains
Following the Evolution of New Protein Folds via Protodomains
 
3DSIG 2016 Presentation: Exploring Internal Symmetry and Structural Repeats w...
3DSIG 2016 Presentation: Exploring Internal Symmetry and Structural Repeats w...3DSIG 2016 Presentation: Exploring Internal Symmetry and Structural Repeats w...
3DSIG 2016 Presentation: Exploring Internal Symmetry and Structural Repeats w...
 
Site Plan Review
Site Plan ReviewSite Plan Review
Site Plan Review
 
3DSIG 2014 Presentation: Systematic detection of internal symmetry in proteins
3DSIG 2014 Presentation: Systematic detection of internal symmetry in proteins3DSIG 2014 Presentation: Systematic detection of internal symmetry in proteins
3DSIG 2014 Presentation: Systematic detection of internal symmetry in proteins
 
New Suburbanism Presentation
New Suburbanism PresentationNew Suburbanism Presentation
New Suburbanism Presentation
 
php and mysql
php and mysql php and mysql
php and mysql
 

Recently uploaded

Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaAndreRangga1
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxwawan479953
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfJarzaniIsmail
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptxnursariheldaseptiana
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxdeskaputriani1
 
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxTEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxMOHDAZLANBINALIMoe
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANwawan479953
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfAndiCoc
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfIwanSumantri7
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfAkhyar33
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYNovitaDewi98
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKgamelamalaal
 
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptxPPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptxriscacriswanda
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxDedeRosza
 
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...Kanaidi ken
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAppgauliananda03
 
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptxPANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptxfitriaoskar
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxsyahrulutama16
 

Recently uploaded (20)

Pengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, FigmaPengenalan Figma, Figma Indtroduction, Figma
Pengenalan Figma, Figma Indtroduction, Figma
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptxDEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
DEMONSTRASI KONTEKSTUAL MODUL 1.3 CGP 10.pptx
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
 
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxTEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
 
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptxPPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
PPT MODUL 6 DAN 7 PDGK4105 KELOMPOK.pptx
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptxPANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
PANDUAN PENGEMBANGAN KSP SMA SUMBAR TAHUN 2024 (1).pptx
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 

Shopping cart

  • 1. Membuat Shopping Cart Sederhana Menggunakan PHP Abdurrahman Shofy admin@opentorndo.com http://www.opentornado.com Lisensi Dokumen: Copyright © 2003-2006 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com. Pendahuluan PHP adalah bahasa pemrograman web server-side yang sangat powerfull. PHP kini telah digunakan oleh ribuan website di seluruh dunia dan telah menghasilkan berbagai macam teknologi canggih, seperti blog, CMS, AJAX, dll. Bahasa PHP juga cocok untuk digunakan membuat situs toko online atau yang biasa disebut e-commerce. Pada artikel ini saya akan menjelaskan cara membangun sebuah script Shopping Cart (keranjang belanja) sederhana. Script ini masih sangat sederhana dan bisa dikembangkan untuk digunakan di website anda masing-masing. Script ini juga hanya berupa Shopping Cart dan belum termasuk script untuk pembayaran atau manajemen produk. Cara kerja Script ini bekerja dengan memanfaatkan variabel SESSION milik PHP dan database MySQL. Nantinya aplikasi ini berguna untuk menambah barang, meng-edit barang, dan membuang barang. Script ini nantinya dibagi menjadi 3 buah file yang berbeda yang bisa saling meng- include. Struktur session key value id_prod jmlh_barang Database Sebelum mulai membuat script ini, kita buat dahulu database dan tabel yang akan digunakan. Dalam contoh ini, kita akan membuat database dengan nama 'Toko'. Anda bisa membuatnya menggunakan script manajemen database semacam PHPMyAdmin atau yang lainnya. Selain itu, kita juga perlu membuat sebuah tabel yang berisi informasi produk yang kita tawarkan. Tabel tersebut akan kita beri nama 'produk'. Komunitas eLearning IlmuKomputer.Com 1 Copyright © 2003-2007 IlmuKomputer.Com
  • 2. Struktur Tabel 'produk' Nama kolom Tipe Value Tambahan id_prod int 10 auto increment, primary key harga int 20 title varchar 100 Isi tabel 'produk' id_prod harga title 1 1000 buku 2 100 permen db.php File ini akan berisi informasi untuk terhubung ke database MySQL kita nantinya. File ini sengaja dibuat terpisah agar memudahkan jika seandainya kita ingin memindahkan hosting script kita ini. Agar bisa terhubung, kita bisa cukup meng-include file ini di script yang kita butuhkan. <?php mysql_connect(“localhost”,”root”,”password”); mysql_select_db(“Toko”); ?> view.php File ini nantinya berguna untuk melihat jumlah barang yang ada di dalam shopping cart kita. Yang perlu kita perhatikan adalah jangan lupa meletakkan perintah session_start() di awal file. Anda bisa meng-include file ini ke setiap halaman yang ada. Berikut isi file tersebut: <?php $total=0; if (!empty($_SESSION['basket'])) { //cek isi variabel _SESSION['basket'] foreach ($_SESSION['basket'] as $key => $val) { $total +=$val; //menghitung jumlah barang } echo 'Ada <strong>'.$total.'</strong> barang di keranjang<br />'; } else { echo "Tidak ada barang di keranjang"; } ?> cart.php File inilah yang menjadi file utama kita. File inilah yang bertugas untuk menambah, mengubah, dan mengurangi isi shopping cart kita nantinya. Sekali lagi, jangan lupa untuk meletakkan perintah session_start() di awal file dan meng-include file db.php yng tadi kita buat. <?php //memulai session Komunitas eLearning IlmuKomputer.Com 2 Copyright © 2003-2007 IlmuKomputer.Com
  • 3. session_start(); //meng-include file db.php require_once “db.php”; $pesan=''; //handler untuk aksi shopping cart if (isset($_GET['action'])) { if (isset($_GET['id'])) { //cek variabel id $id=(int)$_GET['id']; } else { $id=0; } $action=$_GET['action']; switch($_GET['action']) { case 'add': if (!empty($_SESSION['basket'][$id])) { $pesan="Barang sudah ada di keranjang"; } else { $_SESSION['basket'][$id]=1; } break; case 'update' : $produk=$_POST['produk']; foreach ($produk as $key => $val) { if (!empty($_SESSION['basket'][$key])) { $_SESSION['basket'][$key]=$val; } //jika barang memang ada, baru di-update } break; case 'delete' : if (!empty($_SESSION['basket'][$id])) { unset($_SESSION['basket'][$id]); } else { $pesan="Barang yang dimaksud tidak ada"; } break; } } //Menampilan isi shopping cart if (!empty($_SESSION['basket'])) { $basket=$_SESSION['basket']; ?> <FORM method="POST" action="?action=update"> <h3>Isi keranjang belanja:</h3> <center><table border="1"> <tr> Komunitas eLearning IlmuKomputer.Com 3 Copyright © 2003-2007 IlmuKomputer.Com
  • 4. <th>No.</th> <th>Nama produk</th> <th>Jumlah</th> <th>Aksi</th> </tr> <?php $no_urut=0; $total=0; $total_harga=0; foreach ($basket as $key => $val) { //menuliskan tabel $no_urut++; $query="SELECT * FROM produk WHERE id_prod='$key'"; $hasil=mysql_query($query); if ($hasil) { $data=mysql_fetch_array($hasil); $total+=$val; //jumlah barang $total_harga += ($val * $data['harga']); //total harga ?> <tr> <td><?php echo $no_urut?></td> <td><?php echo $data['title']?></td> <td><INPUT name="produk[<?php echo $key?>]" type="text" value="<?php echo $val?>" /></td> <td><A href="?action=delete&id=<?php echo $key? >">Hapus</a></A></td> </tr> <?php } } ?> <tr> <td colspan="2" align="center"><INPUT type="submit" value="Perbaharui"></td> <td><strong>Total</strong></td> <td><?php echo 'Rp '.$total_harga?></td> </tr> </table> </FORM><br /> <?php echo 'Ada <strong>'.$total.'</strong> barang di keranjang<br />'; } else { echo "<center><strong>Tidak ada barang di keranjang</strong><br />"; } echo '<strong>'.$this->pesan.'</strong>'; //menampilkan pesan kalau ada ?></center> Komunitas eLearning IlmuKomputer.Com 4 Copyright © 2003-2007 IlmuKomputer.Com
  • 5. Menambah, mengubah, atau membuang item dari shopping cart Untuk menambah item ke shopping cart, cukup sediakan link ke halaman yang meng-include file cart.php dengan tambahan url “?action=add&id=<id_produk>”. Contoh, jika file yang menginclude file cart.php adalah toko.php dan no id tabel item yang akan ditambahkan adalah 1, maka sediakan link dengan target/tujuan: “toko.php?action=add&id=1”. Begitu diklik, maka halaman secara otomatis berganti ke halaman shopping cart. Sementara untuk mengubah atau membuang item dari shopping cart, anda tidak perlu membuat link untuknya. Kedua hal di atas bisa dilakukan lewat halaman shopping cart. Anda hanya perlu memastikan bahwa ada link untuk menuju ke halaman shopping cart di setiap halaman situs webstore anda. Penutup Script yang kita buat kali ini masih sangat sederhana. Masih banyak fitur yang belum di implementasikan di script ini, di antaranya script ini belum berupa class. Untuk mendapatkan script yang sudah berupa class, anda bisa mendapatkannya di alamat http://blog.opentornado.com. Anda bisa saja mengembangkannya menjadi sebuah script e- commerce yang lengkap. Jika anda sudah membuatnya, pastikan anda mengirim email ke saya agar saya bisa mengetahuinya. Akhir kata, semoga artikel ini bisa bermanfaat bagi kita semua. Salam dan Semoga sukses! Abdurrahman Shofy Adianto 420phy@opentornado.com http://www.opentornado.com ~Indonesian High Quality Linux WebStore Referensi Script yang digunakan di artikel ini dikembangkan dari artikel di http://www.thewatchmakerproject.com/journal/276/ dengan berbagai macam perubahan dan perbaikan. Diantaranya adalah perubahan sistem penyimpanan session yang disederhanakan. Selain itu, fitur update shopping cart juga semakin disempurnakan. Biografi Penulis Abdurrahman Shofy. Programmer PHP dan praktisi Linux. Pendiri dan pemilik webstore Linux OpenTornado.com. Berlokasi di kota Duri-Riau. Bisa dihubungi via e-mail: 420phy@opentornado.com. Komunitas eLearning IlmuKomputer.Com 5 Copyright © 2003-2007 IlmuKomputer.Com