Halaman Setelah Checkout Implementasi Sistem

commit to user 66 if login { redirect mobileuserlogin, refresh; } else { this-data-alamat = this-member-get_alamatdata[id_member]; data = this-member-get_alamatdata[id_member]; this-data-kurir=this-order_m-get_ship; this-data-content=mobileorder; this-load-viewmobileuser_view,this-data; } } - Pada Model Member dan order_m Mengambil data alamat member yang login dari database function get_alamatid_member { this-db-fromalamat; this-db-joinkota,kota.id_kota=alamat.kota; this-db-joinprovinsi,provinsi.id_provinsi=alamat.provinsi; this-db-whereid_member,id_member; query=this-db-get-result; ifquery return query; else return false; } Mengambil data kurir dari database function get_ship { query=this-db-getkurir; return query-result; }

4.1.5 Halaman Setelah Checkout

Berisi informasi setelah checkout, seperti total ongkos kirim dari alamat yang dipilih sebelumnya, total pembelian produk, total pembayaran dan bank tujuan transfer. commit to user 67 Gambar 4.6. Halaman Checkout Sukses Ketika pesanan ditambahkan, otomatis akan mengurangi stok dalam database untuk produk yang dipesan, menghitung tarif ongkos kirim berdasarkan kurir dan alamat yang dipilih dan membuat order Script untuk gambar 4. : - Pada Controller Kata log : public function add_order { login=this-session-userdatalog_in; id_member=login[id] ; tgl_pesan = dateY-m-d; status=1; id_alamat=this-input-postalamat; total=this-input-posttotal; berat=this-input-postberat; jasa=this-input-postjasa; almt = this-member-get_alamat_detid_alamat; idkota=almt-kota; tarif=this-shipping_m-find_tarifidkota,jasa; akhir=this-order_m-get_last_order; tgl=substrakhir-id_pesanan,0,8; id=substrakhir-id_pesanan,8; Menentukan id pesanan berdasarkan id pesanan terakhir. Jika belum ada, maka id pesanan sama dengan 1, jika ada, id pesanan terakhir ditambah 1. if tgl==dateYmd id=id+1; else id=1; id_pesanan=dateYmd.id; commit to user 68 Menghitung biaya pengir iman berdasarkan parameter berat dan tarif per kg ongkir= this-hitung_ongkirberat,tarif-harga_kg; total2=total+ongkir; Menambahkan ke database ke tabel pesanan data=arrayid_pesanan=id_pesanan,tgl_pesan=tgl_pesan,status=status, id_member=id_member, “id_alamat=id_alamat, id_kurir=tarif-id_kurir, ongkir=tarif-harga_kg; query=this-order_m-tmbh_orderdata; id=this-input-postid_produk; qty=this-input-postqty; if query { Menambahkan pesanan pada keranjang ke database tabel detail pesanan. Karena berjenis array dan lebih dari satu, maka digunakan perulangan. foreachthis-cart-contents as items{ data=this-produk_m-get_productitems[id]; tot_brt=items[weight]items[qty]; data=arrayid_pesanan=id_pesanan, id_produk=items[id], jml=items[qty], harga=data-harga, berat=data-berat_gr; query2=this-order_m-insert_detaildata; stok=items[stok]-items[qty]; data=arraystok=stok; this-produk_m-updateitems[id], data; } if query2 { Jika sukses menyimpan, mengirimkan nilai total pembayaran pada halaman selanjutnya. this-cart-destroy; this-data-idpesanan=id_pesanan; this-data-tot_harga=total; this-data-total=total2; this-data-ongkir = ongkir; this-data-content=mobileorder_done; this-load-viewmobileuser_view,this-data; } else { this-data-content=mobileorder_error; this-load-viewmobileuser_view,this-data; } } else { this-data-content=mobileorder_error; this-load-viewmobileuser_view,this-data; } } commit to user 69 Fungsi untuk menghitung biaya pengiriman function hitung_ongkirberat, tarif { brt=berat1000; if brt 0 { if berat 1000 { brt = 1; ongkir=tarifbrt; } else { bulat=berat-brt; ongkir=tarifbulat1000+1; } } else { brt=berat1000; ongkir=tarifbrt; } return ongkir; } - Pada Model order_m : function tmbh_orderdata=array { if this-db-insertpesanan,data return true; return false; } function insert_detaildata=array { if this-db-insertdetail_pesanan,data return true; return false; }

4.1.6 Halaman Account User