In Country Training 2002
Electronic Commerce (E-Commerce)
In Country Training 2002
E-Commerce
Hal. 1
In Country Training 2002
Oleh : Tessy Badriyah Nana Ramadijanti
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER Surabaya, Pebruari 2002
E-Commerce
Hal. 2
In Country Training 2002
DAFTAR ISI
Bab I
:
E-Commerce
1
1.1. Pendahuluan
4
1.2. Mekanisme E-Commerce
5
1.3. Software untuk Pembuatan E-Commerce
5
1.4. Mekanisme Pembayaran untuk E-Commerce
6
1.5. Keamanan di E-Commerce
7
1.6. Standart Enkripsi pada E-Commerce
9
1.7. Standart Teknologi untuk E-Commerce
5
1.8. Memulai Berjualan secara On-line
6
1.9. Mensetup sebuah E-Commerce
7
1.9.1. Keserderhanaan dan Kemudahan
9
1.9.2. Apa yang akan dijual dan bagaimana caranya ?
5
1.9.3. Pemenuhan Ekspektasi Pelanggan
6
1.9.4. Integrasi dengan sistem yang Sudah Ada
7
1.9.5. Pendekatan On-line
9
1.9.6. Pendekatan Batch/Off-line
5
1.10.
6
Masa Depan E-Commerce dan Dampak Bisnisnya
E-Commerce
Hal. 3
In Country Training 2002
BAB I E-Commerce
Pembahasan mengenai e-Commerce meliputi 2 (dua) Bab.
Tujuan
pembelajaran pada
Bab 1 ini adalah : Memberikan pengertian dan pemahaman mengenai konsep dasar dari e-Commerce Kemudian pada bab selanjutnya akan dijelaskan mengenai desain dan implementasi eCommerce dengan dukungan bahasa pemrograman script PHP dan database MySQL.
1.1. Pendahuluan Ecommerce,
atau
Electronic
Commerce
berkembang pesat dalam dunia Internet.
merupakan
salah
satu
teknologi
yang
Penggunaann sistem E-Com, begitu biasanya E-
commerce disingkat, menguntungkan banyak pihak, baik pihak konsumen, maupun pihak produsen dan penjual (retailer). Bagi pihak konsumen, menggunakan E-Com dapat membuat waktu berbelanja menjadi singkat. Selain itu, harga barang-barang yang dijual melalui E-Com biasanya lebih murah dibandingkan dengan harga di toko, karena jalur distribusi dari produsen barang ke pihak penjual lebih singkat dibandingkan dengan toko konvensional.
Online
shopping menyediakan banyak kemudahan dan kelebihan jika dibandingkan dengan cara belanja yang konvensional. Selain bisa menjadi lebih cepat, di internet telah tersedia hampir semua macam barang yang biasanya dijual secara lengkap. Selain itu, informasi tentang barang jualan tersedia secara lengkap, sehingga walaupun proses pembelian dilakukan secara on-line, akan tetapi banyak informasi penting didapatkan untuk suatu produk yang akan dibeli
1.2. Mekanisme E-Commerce Pembeli yang hendak memilih belanjaan yang akan dibeli bisa menggunakan ‘shopping cart’ untuk menyimpan data tentang barang-barang yang telah dipilih dan akan dibayar. Konsep ‘shopping cart’ ini meniru kereta belanja yang biasanya digunakan orang untuk berbelanja di pasar swalayan. ‘Shopping cart’ berupa formulir dalam web, dan dapat dibuat dengan pemrograman script (misal : PHP) dan database (misal : MySQL). Barang-barang yang sudah dimasukkan ke shopping cart masih bisa di-cancel, jika pembeli berniat untuk membatalkan membeli barang tersebut. Jika pembeli ingin membayar untuk barang yang telah dipilih, ia harus mengisi form transaksi. Form transaksi ini menanyakan identitas pembeli serta nomor kartu kredit. Karena informasi ini bisa disalahgunakan jika jatuh ke tangan yang salah, maka pihak penyedia jasa e-
E-Commerce
Hal. 4
In Country Training 2002
commerce telah mengusahakan agar pengiriman data-data tersebut berjalan secara aman, dengan menggunakan standar security tertentu. Setelah pembeli mengadakan transaksi, retailer akan mengirimkan barang yang dipesan melalui jasa pos langsung ke rumah pembeli. Beberapa cybershop menyediakan fasilitas bagi pembeli untuk mengecek status barang yang telah dikirim melalui internet.
1.3. Software untuk Pembuatan E-Commerce Dalam pembuatan ‘toko’ di internet (atau biasa disebut dengan istilah cybershop), diperlukan software-software tertentu untuk mengatur inventarisasi barang dan proses transaksi jual beli barang. Di pasaran, sudah terdapat software-software khusus untuk membuat sistem E-Com, seperti Intershop Online keluaran Intershop Communications, Merchant Server keluaran Microsoft Corp, dan Electronic Commerce Suite keluaran iCat. Software-software itu khusus dijual kepada pihak-pihak yang berniat membangun cybershop, dan dijual dengan harga ribuan dollar. Pada dasarnya software-software untuk pembuatan ECommerce ini menggunakan database untuk penyusunan katalog. Database misalnya DB2, Oracle, atau MySQL.
1.4. Mekanisme Pembayaran untuk E-Commerce Untuk pembayaran, e-commerce menyediakan banyak alternatif. Bentuk / cara pembayaran yang digunakan di Internet umumnya bertumpu pada sistem keuangan nasional, tapi ada juga beberapa yang mengacu kepada keuangan lokal / masyarakat. Ada beberapa metoda pembayaran yang dapat digunakan, yaitu:
• Sistem pembayaran kartu kredit on-line. • Sistem pembayaran check on-line. Secara umum ada beberapa mekanisme pembayaran yang berkembang terutama yang berkaitan dengan uang yang sifatnya lokal. Beberapa di ant ara-nya adalah:
• LETS http://www.gmlets.u-net.com/ sebuah model dari sistem kredit yang dibangun masyarakat cyber.
• Security First Network Bank http://www.sfnb.com/ sebuah b ank di Internet. • Jika ada perasaan tidak aman dalam melakukan transaksi online, maka sistem secure800 http://www.secure800.com/ dapat membantu mekanisme pembayaran melalui telepon bagi pembelian yang dilakukan secara online.
E-Commerce
Hal. 5
In Country Training 2002
Selanjutnya mekanisme pembayaran online yang terkait dengan sistem kartu kredit :
o Jika anda menjalankan cybercash server http://www.cybercash.com, maka orang akan mendownload dompet cybercash, dan kemudian mereka akan mengirimkan nomor kartu kredit mereka yang di enkripsi melalui Internet.
• Cybersource menjalankan
http://www.cybersource.com/ software.net
yang
dipimpin
http://www.software.net/ -
oleh
juga
orang-orang
memberikan
jasa
yang untuk
pemrosesan kartu kredit real-time http://www.cybersource.com/service/ccard.htm. Selanjutnya yang masih terkait dengan metoda pembayaran yang melibatkan pihak ke tiga sebagai perantara adalah dengan menggunakan metoda check online. Diantaranya adalah:
• CheckFree http://www.checkfree.com/ adalah sebuah sistem pembayaran secara elektronik yang telah dikembangkan sejak 1981, sistem tersebut mempunyai sebuah pembayaran tanpa check (checkless) yang dapat digunakan dari sebuah PC.
• PaymentNet
http://www.paymentnet.com/Home.htm
akan
membantu
anda
dalam
menghandle transaksi melalui kartu kredit maupun kartu debit secara online. Referensi lebih lanjutnya untuk mekanisme pembayaran pada e-commerce dapat dibaca di beberapa tempat seperti:
•
Tulisan
Roy
Davis
tentang
Money--Past,
Present,
and
Future
dari
http://www.ex.ac.uk/~RDavies/arian/money.html.
•
Tulisan tentang payment mechanisms designed for the internet yang di publihasikan oleh Network
Payment
Mechanisms
and
Digital
Cash
page
bisa
diperoleh
di
http://ganges.cs.tcd.ie/mepeirce/Project/oninternet.html.
•
http://www.transaction.net/
1.5. Keamanan di E-Commerce Banyak pendapat yang mengatakan bahwa transaksi di Internet tidak aman karena banyaknya kasus tentang pembobolan sistem keamanan Internet. Hal yang paling berat adalah meyakinkan para pembeli bahwa e-commerce adalah aman untuk mereka. Sebenarnya sebagian besar dari pencurian kartu kredit terjadi di sebabkan oleh pegawai sales yang menghandle nomor kartu kredit tersebut. Sistem e-commerce sebetulnya menghilangkan keinginan mencuri tadi dengan cara meng-enkripsi nomor kartu kredit tersebut di server perusahaan. Para pakar e-commerce mengatakan bahwa transaksi e-commerce jauh lebih aman daripada pembelian kartu kredit biasa. Karena setiap kali dilakukan pembayaran dengan menggunakan kartu kredit – dan setiap kali resi pembelian kartu kredit tersebut dibuang – maka sebetulnya telah terbuka informasi kartu kredit tersebut dapat dicuri. Transaksi dengan
E-Commerce
Hal. 6
In Country Training 2002
kartu
kredit
dapat
di
enkripsi
menggunakan
http://www.builder.com/Business/Ecommerce20/ss05.html,
Secure
Sockets
sebuah
protokol
Layer yang
(SSL) akan
mengamankan saluran komunikasi ke server, memproteksi data pada saat dikirimkan melalui Internet. SSL menggunakan public key encryption, salah satu metoda enkripsi yang cukup kuat saat ini. Untuk melihat apakah sebuah Web site di amankan menggunakan SSL dapat dilihat pada awal URL digunakan https bukan http. Pembuat browser dan perusahaan kartu kredit saat ini mempromosikan sebuah standar tambahan
bagi
keamanan
di
namakan
Secure
http://www.builder.com/Business/Ecommerce20/ss05.html.
Electronic SET
akan
Transaction
(SET)
mengenkode
nomor
kartu kredit yang ada di server vendor di Internet – yang hanya dapat membaca nomor kartu kredit tersebut hanya bank dan perusahaan kartu kredit – artinya pegawai vendor / merchant tidak bisa membaca sama sekali sehingga kemungkinan terjadi pencurian oleh vendor menjadi tidak mungkin. Dalam prakteknya, berbelanja di web memerlukan koneksi ke internet dan browser yang mendukung transaksi elektronik yang aman, seperti Microsoft Internet Explorer dan Netscape Navigator. Microsoft dan Netscape, bekerja sama dengan perusahaan kartu kredit (Visa dan MasterCard), serta perusahaan-perusahaan internet security (seperti VeriSign), telah membuat standar enkripsi khusus yang membuat transaksi melalui web menjadi sangat aman. Yang menandakan suatu retailer web site aman atau tidak adalah adanya tanda khusus yang muncul di status bar di bagian bawah layar browser. Pada IE, tanda yang muncul adalah tanda gembok terkunci di pojok kanan status bar. Sedangkan pengguna Netscape Navigator, akan melihat tanda kunci di pojok kiri status bar. Jika tanda-tanda tersebut muncul, berarti Anda sedang ter-connect pada server yang aman. Walaupun begitu, karena standar yang dipakai untuk secure connection ini relatif baru, belum semua cybershop menggunakan standar ini. Kumpulan dari banyak cybershop yang telah terintegrasi dinamakan cybermall. Beberapa cybermall akan mengecek terlebih dahulu legitimasi dari cybershop yang akan masuk, sehingga dapat menghindari adanya cybershop yang palsu. Beberapa cybermall juga menyediakan jasa-jasa tambahan, seperti billing atau tagihan yang tersentralisasi, menjadikan proses belanja menjadi lebih mudah dan aman.
1.6. Standart Enkripsi pada e-Commerce Standar enkripsi yang digunakan dalam e-commerce pada saat ini adalah SET (Secure Electronic Transaction). Selain digunakan untuk pembayaran dengan credit card, SET juga digunakan untuk pembayaran dengan smartcard. Dengan menggunakan SET, kerahasiaan informasi custo mer (berupa nama dan nomor kartunya) bisa dijaga. SET juga bisa menjaga autotentifikasi atau identitas penjual dan customer, sehingga tidak bisa disalahgunakan oleh sembarang orang.
E-Commerce
Hal. 7
In Country Training 2002
1.7. Standart Teknologi untuk E-Commerce Di
samping
berbagai
standar
yang
digunakan
di
Intenet,
e-commerce
juga
menggunakan standar yang digunakan sendiri, umumnya digunakan dalam transaksi bisnis-kebisnis. Beberapa diantara yang sering digunakan adalah: Secure Socket Layer (SSL): Protokol ini di disain untuk membangun sebuah saluran yang aman ke server. SSL menggunakan teknik enkripsi public key untuk memproteksi data yang di kirimkan melalui Internet. SSL dibuat oleh Netscape tapi sekarang telah di publikasikan di public domain. Secure Electronic Transactions (SET): SET akan mengenkodekan nomor kartu kredit yang di simpan di server merchant. Standar ini di buat oleh Visa dan MasterCard, sehingga akan langsung di dukung oleh masyarakat perbankan. Ujicoba pertama kali dari SET di ecommerce dilakukan di Asia.
1.8. Memulai Berjualan secara On-Line Saat ini banyak sekali produk-produk yang memungkinkan kita mensetup situs ecommerce dan langsung berjualan dalam waktu beberapa hari / minggu, mulai dari yang simple, murah hingga mahal dan kompleks. Para pengusaha kecil mungkin harus melihat jauh diluar ISP-nya untuk melihat solusisolusi
murah
tadi.
Contohnya,
Forman
interactive
http://www.formaninteractive.com/
memberikan produk Internet creator seharga kurang dari US$150. Perangkat lunak tersebut menggunakan beberapa wizard untuk menolong anda membuat halaman web yang aman untuk menjual produk anda. Bahkan jika meletakan halaman web tersebut di server Forman, mereka akan membantu menangani pembayaran melalui CheckFree http://www.checkfree.com/. Solusi-solusi yang murah dan menarik ini juga tampaknya juga diberikan oleh indosatcom sebuah anak perusahaan dari Indosat yang memfokuskan diri di e-commerce. Salah satu produk indosatcom adalah EDIWeb menjadi menarik untuk para pengusaha kecil yang hanya bermodal akses ke WARNET. Telkom juga meluncurkan plasa.com belum terhitung inisiatif lain seperti Wasantara dll. Untuk mulai berjualan secara on-line, terlebih dahulu terdapat beberapa istilah yang perlu diketahui beberapa diantara-nya adalah:
•
Digital atau electronic cash: juga dikenal sebagai e-cash, istilah ini ditujukan untuk beberapa pola / metoda yang memungkinkan seseorang untuk membeli barang atau jasa dengan cara mengirimkan nomor dari satu komputer ke komputer yang lain. Salah satu kelebihan yang dibawa oleh digital cash adalah sifatnya yang anonymous dan dapat di pakai ulang, seperti uang cash biasa. Hal ini merupakan perbedaan utama antara e-cash dengan transaksi kartu kredit melalui Internet. Untuk informasi lebih
E-Commerce
Hal. 8
In Country Training 2002
lanjut
dapat
dilihat
di
PC
Webopaedia
http://www.sandybay.com/pc-
web/digital_cash.htm.
•
Digital money: adalah terminologi global untuk berbagai e-cash dan mekanisme pembayaran elektronik di Internet.
•
Disintermediation: adalah proses untuk memotong jalur perantara. Kira-kira pada saat perusahaan yang berbasiskan web membypass kanal retail tradisional dan menjual secara langsung ke pelanggan / pembeli, maka perantara tradisional – seperti toko dan jasa mail order – akan kehilangan pekerjaan.
•
Electronic
checks:
pada
saat
ini
sedang
di
ujicoba
oleh
CyberCash
http://www.cybercash.com/
•
Electronic
wallet
:
Pola
pembayaran
–
seperti
CyberCash
Internet
Wallet
http://www.cybercash.com/, akan menyimpan nomor kartu kredit anda di harddisk anda dalam bentuk terenkripsi yang aman.
•
Extranet: adalah sebuah kelanjutan dari intranet perusahaan yang mengkaitkan jaringan internal satu perusahaan dengan jaringan internal supplier mereka maupun pelanggan mereka. Dengan cara itu sangat mungkin untuk mengembangkan aplikasi ecommerce yang memungkinkan menyambungkan semua aspek bisnis, dari proses pemesanan hingga pembayaran.
•
Micropaymet adalah transaksi dalam jumlah kecil antara beberapa ratus rupiah hingga puluhan ribu rupiah, misalnya untuk mengambil / mengakses grafik, game maupun informasi. Pay-as-you-go micropayment seharusnya akan membuat revolusi di dunia ecommerce. Contohnya ESPN SportsZone http://espn.sportszone.com/ menggunakan CyberCoin untuk membayar US$1 untuk mengaskses situs mereka selama satu hari – tanpa perlu membayar penuh langganan bulanan.
1.9. Mensetup sebuah e-Commerce Seperti dijelaskan sebelumnya, sebuah e-commerce berbeda dengan situs web biasa karena perbedaan objektif diantara mereka. Yang satu diarahkan untuk memperoleh pemasukan secara langsung dari penjualan, sedang sebuah situs web tradisional lebih di orientasikan kepada komunikasi. Hal ini selanjutnya akan menyebabkan beberapa perbedaan teknis dalam mensetup sebuah situs. Beberapa hal yang berkaitan dengan e-commerce akan dicoba dibahas berikut ini.
E-Commerce
Hal. 9
In Country Training 2002
1.9.1.
Kesederhanaan dan Kemudahan Bila dibandingkan sebuah katalog dengan brosur atau bentuk media marketing lainnya
yang biasa digunakan di dunia konvensional. Katalog biasanya mempunyai struktur yang berbeda. Katalog biasanya mempunyai index untuk kecepatan akses ke informasi, usaha yang serius biasanya diberikan untuk menjamin agar layout sebuah katalog menjadi jelas dan mudah dibaca. Secara alamiah, katalog lebih repetitif - ada elemen-elemen grafik yang di ulang di setiap halaman untuk memberikan petunjuk kepada pembaca halaman web. Hal yang digunakan dalam katalog di dunia konvensional akan digunakan juga di dunia elektronik. Mereka mempunyai tujuan yang sangat berbeda dengan situs web yang murni untuk public relation, hal tersebut harus nampak pada layout situs. Situs dapat menggunakan pola situs multimedia seperti animasi, suara, dan aplet Java. Karena sebuah e-commerce harus melayani pembeli yang akan membeli secara langsung, maka sebuah e-commerce harus bersih dan effisien agar dapat dibaca dengan cepat. Yang menjadi penekanan adalah kejelasan dan kemudahan penggunaan. Grafik sebaiknya kecil dan repetitif. Penggunaan tombol dan label harus jelas dan mudah dimengerti. Tombol dengan teks lebih disukai. Pemrograman HTML harus dilakukan secara efisien. Contohnya untuk menampilkan hasil searching dalam bentuk tabel. Umumnya browser akan lambat untuk menampilkan tabel; browser harus men-download seluruh content sebelum bisa menampilkan tabel-nya. Oleh karena itu akan lebih effisien untuk menggunakan multiple / beberapa tabel.
1.9.2.
Apa yang akan dijual dan bagaimana caranya Kebanyakan e-commerce di Internet menjual barang yang relatif murah, seperti
barang konsumen biasa (seperti buku dan CD) atau barang operasional (seperti pena dan bloknote). Pembeli dapat browse atau memilih barang, memasukan barang yang dipilih ke virtual shopping cart. Setelah mereka selesai berbelanja, mereka perlu registrasi, membayar dengan kartu kredit atau bentuk e-uang yang lain, dan barang akan dikirimkan kepada mereka melalui kurir - atau, pada software, e-buku, e-artikel, e-lagu, mereka bisa mendownload produk tersebut secara langsung. Sebetulnya e-commerce tidak terbatas pada barang berharga murah, jasa telah terbukti sangat populer. Banyak bank telah membuka cabang elektronik-nya. Berbagai industri jasa mulai bergerak online. Contoh, 1-800-MYLOGO
sebuah jasa disain telah memungkinkan logo di pesan secara online. Barang berharga tinggi seperti mobil dan rumah memang belum dapat dijual secara baik melalui media online. Akan tetapi media online dapat menjadi kanal pre-sales yang sangat baik sehingga merupakan versi enhanced dari situs pemasaran tradisional.
E-Commerce
Hal. 10
In Country Training 2002
Program katalog pada e-commerce dapat berupa kombinasi script di server (PHP, CGI, servlets dan lainnya) dengan feature utama seperti shopping cart, fasilitas search, browsing yang effisien, dan registrasi user (yang mungkin termasuk didalamnya validasi kartu kredit).
1.9.3.
Pemenuhan Ekspektasi Pelanggan Perusahaan
mapan
yang
melakukan
migrasi
ke
e-commerce
biasanya
harus
menghadapi masalah tambahan yaitu harus dapat memenuhi ekspektasi customer based mereka yang sudah ada. Sebuah strategi e-commerce yang sukses akan bertumpu pada kekuatan yang sudah ada di perusahaan dan meng-enhance apa yang dapat perusahaan itu berikan. Penanganan yang spesial diberikan untuk menjamin agar pelanggan yang sudah ada dapat dengan mudah mengakses produk-produk yang sudah familiar bagi mereka. Yang lebih penting lagi, penanganan yang hati-hati harus di perhatikan agar servis level yang sama dapat diberikan secara online seperti hal-nya secara offline. Ada dua (2) pendekatan yang sering digunakan untuk memberikan jasa personal yang online. Pertama adalah membuka kepakaran internal perusahaan secara online melalui sistem pakar (expert system). Cara yang ke dua adalah menggunakan agen software yang cerdas . Agen software tersebut dapat juga memberitahukan pembeli jika produk yang dia sukai muncul. Pada dasarnya apapun pendekatan yang dipakai, semua sistem yang di sebutkan di atas mudah untuk di integrasikan dengan standar merchant toolkit. Yang penting adalah kita harus menyadari bahwa pembeli hanya akan kembali ke sebuah e-commerce karena beberapa sebab seperti harga, kualitas jasa, convenience, dan sebagainya.
1.9.4. Integrasi dengan sistem yang sudah ada Yang paling sulit adalah proses integrasi e-commerce dengan sistem yang sudah ada. E-commerce tidak berdiri sendiri, dia di dukung oleh beberapa sistem informasi seperti billing, manajemen stok, accounting, dan manajemen panggilan dari pembeli (kalau anda melakukan direct sales menggunakan telepon). Kombinasi dari sistem ini dikenal sebagai back-end. Mengintegrasikan aplikasi yang sudah lama ada dengan sistem web adalah pekerjaanpekerjaan yang seringkali harus dilakukan oleh intranet developer. Setiap organisasi telah mengembangkan sistem accounting dan billing yang unik yang merefleksikan budaya dan pasar dari organisasi tersebut. Back-end telah dikembangkan dalam waktu yang lama. Back-end berkembang dengan perusahaan, biasanya back-end tidak di disain untuk online commerce. Mengadaptasi sistem seperti ini biasanya memerlukan kemampuan untuk memecahkan beberapa masalah di bidang responsiveness, keamanan, konversi format, scalability dan banyak lagi.
Di atas semua pekerjaan tersebut biasanya ada saja hal-hal kecil yang
menjengkelkan. Contohnya, sebuah perusahaan tidak dapat memberikan nomor referensi
E-Commerce
Hal. 11
In Country Training 2002
kepada pembeli online tanpa harus mengubah secara drastis back-end sistem mereka. Tentunya mereka akan sangat berkeberatan untuk melakukan perubahan tersebut. Solusi yang ditempuh akhirnya memberikan nomor referensi yang sifatnya sementara kepada pembeli online, dan mengkonfirmasikan kemudian melalui e-mail dengan nomor referensi yang sesungguhnya yang sudah di konfirmasikan ke back-end. Untuk menghindari kebingungan akhirnya digunakan kata "confirmation number" untuk membedakan nomor referensi yang sifatnya sementara tadi. Kejadian seperti akan banyak terjadi pada sistem back-end yang mapan. Secara umum ada dua pola utama pada saat kita mengintegrasikan sebuah sistem :
• Membuat sistem back -end dapat diakses secara online melalui e-commerce, atau • Putuskan sama sekali e-commerce dari back-end dan duplikasi data dari e-commerce ke back -end dan sebaliknya secara batch. Tentunya, pilihan yang paling tepat akan sangat tergantung pada sistem yang ada. Umumnya perusahaan-perusahaan menginginkan back-end mereka dapat di akses secara online, akan tetapi mereka umumnya lebih suka solusi kedua yang memutuskan back-end dari online e-commerce -nya karena lebih murah dan lebih mudah di implementasikan.
1.9.5.
Pendekatan Online Pada pendekatan online, e-commerce mempunyai akses langsung ke database di back-
end. Hal ini mempunya dua keuntungan utama yaitu:
•
Sangat mungkin untuk memberikan servis yang lebih baik, seperti informasi stok yang real -time.
•
Sangat menekan biaya operasi sistem, karena tidak dibutuhkan intervensi manusia untuk menerima pesanan atau update harga. Kesulitan utama dalam pendekatan online ini adalah biaya dan keamanan. Keamanan
adalah isu yang paling penting dalam pendekatan online. Sedang dukungan back-end tidak hanya untuk e-commerce-nya tapi juga untuk seluruh bagian dari perusahaan; oleh karena sangat penting artinya agar e-commerce tersebut dapat diakses secara aman. Hal lain yang akan membuat faktor biaya menjadi naik karena cepatnya obsolete perangkat lunak: back-end perlu secara periodik di upgrade dan di modifikasi. Responsiveness, seperti diterangkan terdahulu, sangat penting dalam e-commerce; oleh karena itu back-end harus dapat mengirim data secepatnya. Jika e-commerce sukses, atau back-end sudah mulai overload karena banyak digunakan maka upgrade dan perubahan di back-end harus di lakukan supaya semua berjalan secara lancar efisien. Yang terakhir, pendekatan online memerlukan cukup banyak pekerjaan yang mahal terutama untuk customisasi.
E-Commerce
Hal. 12
In Country Training 2002
1.9.6.
Pendekatan batch / offline
Oleh karena hal-hal yang di sebutkan di atas, banyak perusahaan akhirnya memilih untuk memisahkan e-commerce mereka dengan back-end. Data, seperti deskripsi produk dan informasi pesanan, di duplikasi di kedua lingkungan tersebut. Setiap sistem mempunya database masing-masing yang di optimasi untuk kebutuhan-nya. Keuntungan utama dari pendekatan off-line ini adalah masing-masing dapat berjalan dan berkembang sesuai dengan kebutuhan. Tidak ada kebutuhan untuk mengadaptasi back-end ke e-commerce. Dalam kasus-kasus yang simpel bahkan data dapat di duplikasi secara manual. Proses manual cocok untuk jumlah produk yang kecil dan tetap (statik), untuk jumlah produk yang lebih besar dan dinamik (berubah-ubah) dibutuhkan pendekatan yang lebih otomatis. Alternatif yang populer adalah membangun proses meng-copy yang sifatnya batch secara periodik, proses ini akan secara otomatis melakukan resinkonisasi antara e-commerce dengan database di back-end.
1.10. Masa Depan e-Commerce dan Dampak Bisnisnya Tampaknya e-commerce mempunyai masa depan yang cerah. Jika berbagai detail dari perdagangan online ini dapat di selesaikan maka bukan mustahil e-commerce dan Internet akan mengubah struktur dunia usaha secara global. Dengan perkembangan masyarakat virtual yang demikian besar – banyak orang yang berpartisipasi dalam berbagai interest group online – memperlihatkan pergeseran paradigma dari kekuatan ekonomi yang bertumpu pada pembuat / manufacturer ke kekuatan pasar. Perusahaan kecil dengan produk yang lebih baik dan customer
service
yang
baik
akan
dapat
menggunakan
masyarakat
virtual
ini
untuk
mengalahkan perusahaan besar – sesuatu yang cukup sulit dimengerti di dunia nyata. Perusahaan yang akan secara langsung dirugikan oleh E-Commerce adalah agen perjalanan, tiket bioskop, katalog mail-order, dan toko retail – terutama toko perangkat lunak. Mungkin kalau di Indonesia yang terasa hanya bagi agen perjalanan & bisnis sekitar turis. Cerita sukses e-commerce, seperti amazon.com http://www.amazon.com/, sebetulnya merupakan bentuk lain dari sebuah proses perantara. Amazon.com tidak menerbitkan buku. Mereka semua umumnya hanyalah sebuah distributor online saja.
E-middleman harus membuktikan bahwa
ada nilai tambah yang diberikan pada proses pembelian secara online, melalui marketing, customer service, juga metoda-metoda lain. Kalau tidak maka pelanggan akan memutuskan modem-nya dan tidak akan menggunakan jasa mereka lagi.
E-Commerce
Hal. 13
In Country Training 2002
BAB II DESAIN DAN IMPLEMENTASI ONLINE-BOOKSTORE
Tujuan pembelajaran pada Bab 2 ini adalah : Membangun kerangka aplikasi pemrograman database berbasis Web dengan kasus toko buku online (online-bookstore), dengan dukungan bahasa pemrograman script PHP dan database MySQL.
2.1.
Alur Aplikasi Online-Bookstore
Secara umum suatu online-bookstore memiliki proses bisnis sebagai berikut : •
Halaman depan yang harus dipilih oleh user adalah kategori produk yang menampilkan jenis buku yang dijual, misal : software, elektronik, komputer, unix, dan sebagainya.
•
Jika user selesai memilih kategori produk, kemudian berikutnya akan ditampilkan katalog produk dari kategori yang dipilih
•
Pada katalog produk, jika user selesai mengklik salah satu judul buku yang ada maka akan muncul halaman detail tentang buku tersebut yang meliputi judul buku yang dipilih, harga dan gambar covernya.
Pada halaman ini, juga ditampilkan tombol
pemesanan dan jumlah buku yang dipesan yang akan diproses pada bagian “keranjang belanja” •
Pada keranjang belanja, resume buku yang dipesan akan ditampilkan dan terdapat link untuk kembali ke halaman depan (kategori produk), katalog produk, maupun halaman pembayaran (checkout).
2.2.
Desain Sistem dan Perancangan Database Katalog
Bagian ini akan menjelaskan sistem katalog yang dipergun akan oleh tiap kategori produk, yang meliputi perancangan skema database, pembuatan database dan tabel di MySQL, fungsi koneksi ke database dan halaman kategori serta halaman detail.
2.2.1. Skema Database Katalog Desain skema database yang digunakan untuk sistem katalog ini meliputi 3 (tiga) buah tabel yaitu tabel penerbit, tabel judulbuku dan tabel tipe_kategori. Ketiga buah tabel tersebut disimpan dalam sebuah database yang diberi nama toko_online. Berikut ini akan ditampilkan struktur masing-masing tabel pada database toko_online, beserta kegunaannya.
E-Commerce
Hal. 14
In Country Training 2002
Halaman Utama untuk memilih Kategori Barang
Halaman Katalog Produk dari Kategori Barang yang dipilih
Detail dari produk yang dipilih * Fasilitas untuk : - memasukkan ke keranjan belanja - menentukan jumlah item
Halaman Keranjang Belanja Fasilitas untuk : - Menambah jumlah item - membatalkan pemesanan, dll
Halaman Check-Out (pembayaran)
Gambar 2.1. : Alur aplikasi Online -Bookstore Struktur Tabel tipe_kategori Kegunaan : Menyimpan informasi kategori buku yang dijual.
Field
Tipe
Panjang
Keterangan
Tipe_Ctg
Char
4
Tipe dari kategori produk
Nama_Ctg
Char
40
Nama dari kategori produk
Primary key (kunci utama) dari tabel tipe_kategori diatas adalah field Tipe_Ctg yang akan menjadi foreign key pada tabel judulbuku.
E-Commerce
Hal. 15
In Country Training 2002
Struktur Tabel penerbit Kegunaan : Menyimpan data penerbit.
Field
Tipe
Panjang
Keterangan
Char
4
Nomor identifikasi penerbit
Nama_Pen
varchar
40
Nama penerbit
Alamat_Pen
varchar
50
Alamat penerbit
ID_Pen
Primary key dari tabel penerbit ini adalah field ID_Pen yang menyimpan nomer identifikasi dari penerbit.
Struktur Tabel judulbuku Kegunaan : Menyimpan judul buku yang disediakan
Field ID_Judul Judul Tipe_Ctg
Tipe
Panjang
Keterangan
Char
4
Nomer identifikasi judul buku
varchar
40
Judul Buku
Char
4
Tipe kategori buku (foreign key dari tabel tipe_kategori)
ID_Pen
Char
4
Nomer identifikasi penerbit (foreign key dari tabel penerbit)
Harga
Integer
-
Harga Buku
Th_terbit
Integer
-
Tahun penerbitan buku
Char
100
Keterangan mengenai buku yang
Note
bersangkutan Pada tabel judulbuku ini yang menjadi primary key (kunci utama) adalah field ID_Judul yang merupakan nomer identifikasi buku. Dan terdapat dua foreign key yaitu Tipe_Ctg (tipe kategori buku) yang berasal dari tabel tipe_kategori dan ID_Pen (nomer identifikasi penerbit) yang berasal dari tabel penerbit.
E-Commerce
Hal. 16
In Country Training 2002
Pada tabel penerbit dan judulbuku ada beberapa field yang dipilih sebagai informasi yang akan ditampilkan pada halaman detail setiap buku yang dijual. Field-field tersebut yaitu : 1.
Pada tabel penerbit : ID_Pen (identifikasi penerbit) dan Nama_Pen (nama penerbit).
2.
Pada tabel judubuku : ID_Judul (nomer identifikasi buku), Judul (judul buku), ID_Pen (identifikasi penerbit), Harga (harga buku), Note (keterangan), Th_terbit (tahun penerbitan).
2.2.2. Membuat Database dan Tabel di MySQL Pada bagian ini akan dijelaskan cara pembuatan database dan tabel di MySQL. Langkah-langkah pembuatan database di MySQL adalah : 1.
Pada Windows Explorer, di sub directory dimana executable file dari MySQL berada (misal di C:\MySQL\bin)
E-Commerce
klik dua kali winmysqladmin
Hal. 17
In Country Training 2002
MySQLAdmin akan aktif ditandai dengan icon rambu lalu lintas dengan warna hijau di pojok kanan bawah layar monitor seperti ini :
2.
Setelah itu keluar ke MS-DOS Prompt. Dan dari windows directory, arahkan menuju ke subdirectory MySQL dengan perintah berikut : C:\WINDOWS>cd c:\mysql\bin
3.
Lakukan koneksi ke server database MySQL dengan perintah : C:\mysql\bin>mysql –h localhost Akan keluar tampilan, misal seperti ini (akan berbeda untuk sistem lain) : Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version : 3.23.47 Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer. mysql>
4.
Kemudian berikan perintah untuk membuat database toko_online mysql>create database toko_online; Jangan lupa untuk memberi tanda titik koma (;) pada akhir perintah. Akhirnya, database toko_online telah selesai dibuat : Query OK, 1 row affected (0.05 sec)
Berikutnya, akan dijelaskan langkah pembuatan tabel di MySQL : 1.
Untuk membuat tabel di MySQL, aktifkan terlebih dahulu database apa yang akan digunakan.
Dalam contoh impelementasi kita, yang digunakan adalah database
toko_online. mysql>use toko_online; kemudian akan tampil : Database changed. 2.
Kemudian buat tabel tipe_kategori dengan struktur seperti yang sudah didefinisikan sebelumnya :
mysql>create table tipe_kategori(Tipe_Ctg char(4), Nama_Ctg varchar(40)); 3.
Akhirnya tabel tipe_kategori telah selesai dibuat : Query OK, 0 row affected (0.05 sec) Lakukan cara yang sama untuk tabel yang lain.
E-Commerce
Hal. 18
In Country Training 2002
2.2.3. Fungsi Koneksi Database SQL Pada bagian ini akan dijelaskan fungsi koneksi ke database MySQL. Fungsi-fungsi yang akan dipergunakan untuk melakukan koneksi ke database server akan disimpan ke dalam sebuah file. Nantinya file yang menyimpan fungsi ini (konek.inc) bisa disisipkan (embedded) ke file lain yang melakukan koneksi. File konek.inc berikut ini berisi perintah-perintah fungsi yang dipergunakan untuk melakukan koneksi ke database MySQL, termasuk variabel-variabel yang dapat dipergunakan oleh file yang akan meng-include-kan file ini.
// deklarasi variabel untuk koneksi ke server database $database=”toko_online”; $hostname=”localhost”; // lakukan koneksi if (!$sambung=mysql_connect($hostname,””,””)) echo mysql_error(); // pilih database untuk diaktifkan mysql_select_db($database,$sambung); ?> 2.2.4. Halaman Pilihan Kategori Setelah selesai dilakukan pembahasan tentang konsep desain dan alur proses dari persoalan yang akan diimplementasikan, maka berikutnya akan diberikan pembahasan mengenai implementasi halaman-halaman script PHP. Halaman pertama yang akan dibangun adalah halaman menu utama yang berisi kategori produk yang menampilkan jenis buku yang dijual. Pada halaman ini terdapat link ke halaman katalog produk untuk suatu kategori yang dipilih oleh user yang ditentukan oleh nilai field Tipe_Ctg untuk kategori tersebut. Berikut ini adalah implementasi dari halaman menu utama yang disimpan sebagai file indek.php
Menu Utama Online BookStore EEPIS-ITS
Pililh kategori buku :
E-Commerce
Hal. 19
In Country Training 2002
# sisipkan koneksi ke server database include “konek.inc”; # menampilkan daftar kategori $kategori=”Select Tipe_Ctg, Nama_Ctg From tipe_kategori”; # eksekusi query if (!$hasil=mysql_query($kategori, $sambung)) { echo mysql_error(); exit(); } // menampilkan semua record pada tabel tipe_kategori while ($baris=mysql_fetch_row($hasil)) { echo “”; // tampilkan kategori echo “$baris [1]”; } ?> |
2.2.5. Halaman Kategori Halaman menu utama (indek.php) memiliki link ke halaman yang katalog produk (kategori.php) dengan mengirimkan satu variabel dengan nama Tipe_Ctg sesuai dengan kate gori yang dipilih oleh user pada halaman menu utama.
Setelah itu pada halaman
kategori.php akan terdapat variabel dengan nama $tipe yang berisi kode kategori sesuai dengan yang dipilih oleh user. Halaman katalog produk (kategori.php) akan menampilkan selu ruh judul buku pada tabel judulbuku dengan nilai kolom Tipe_Ctg yang sama dengan isi variabel $type yang dibawa dari halaman kategori (indek.php). Berikut ini adalah implementasi dari halaman katalog produk yang disimpan sebagai file kategori.php
E-Commerce
Hal. 20
In Country Training 2002
include “konek.inc”; // ambil infomasi kategori yang dipilih $kategori=”Select Tipe_Ctg,Nama_Ctg From tipe_kategori where Tipe_Ctg=$tipe”; // eksekusi query if (!$hasil=mysql_query($kategori,$sambung)) { echo mysql_error(); exit(); } $baris=mysql_fetch_row($hasil); // sekarang $baris[0] berisi tipe kategori yang dipilih, // $baris[1] berisi nama kategori yang dipilih ?>
// tampilkan tipe kategori echo $baris[0]; // tampilkan nama kategori echo $baris[1];
Pilih salah satu buku yang tersedia
// lakukan query untuk mendapatkan semua judul buku dari nama kategori // yang ditentukan $buku=”Select * from judulbuku where Tipe_Ctg=$tipe”; // laksanakan query if (!$hasil=mysql_query($buku,$sambung)) { echo mysql_error(); exit(); } // tampilkan hasil query dengan menampung hasil record pada $baris // $baris[0] berisi ID_Judul, $baris[1] berisi Judul, dst. While (!$baris=mysql_fetch_row($hasil)) { echo “”; // tampilkan judul buku yang dapat di-link
E-Commerce
Hal. 21
In Country Training 2002
echo “$baris [1]”; // tampilkan harga buku echo “ | $baris[4]”; // tampilkan tahun penerbitan echo “ | $baris[5]”; } ?> |
Kembali ke halaman pilihan kategori 2.2.6. Halaman Detail Halaman katalog produk (kategori.php) mempunyai link ke halaman detail (detail.php) untuk setiap judul buku yang tertampil dan tersimpan sebagai variabel ID_judul (identifikasi judul buku).
Setelah itu pada halaman detail, akan terdapat suatu variabel dengan nama
$ID_judul dengan isi kode judul buku sesuai dengan pilihan user pada halaman katalog produk. Halaman detail akan menampilkan informasi detail dari buku yang memiliki nilai field ID_Judul sama dengan isi variabel $ID_Judul
yang dibawa dari halaman katalog produk
(kategori.php). Berikut ini adalah implementasi dari halaman detail yang disimpan sebagai file detail.php
Include “konek.inc”; $rinci=”Select judulbuku.ID_Judul, judulbuku.Judul, judulbuku.Notes, judulbuku.Th_terbit, judulbuku.Harga, penerbit.Nama_Pen From judulbuku, penerbit Where judulbuku.ID_judul=’$ID_Judul’ And judulbuku.th_ID_Pen=penerbit.ID_Pen”; // laksanakan query if (!$hasil=mysql_query($rinci,$sambung)) { echo mysql_error(); exit(); } $baris=mysql_fetch_row($hasil); // sekarang $baris[0] berisi field ID_Judul, $baris[1] berisi field Judul, // $baris[2] berisi field Notes, $baris[3] berisi field Th_terbit, // $baris[4] berisi fieldHarga, $baris[5] berisi Nama_Pen E-Commerce
Hal. 22
In Country Training 2002
Echo $baris [1] ?>
Echo “”; Echo “ Keterangan | ”; Echo “ “ . $baris[2] . “ | ”; Echo “
\n”; Echo “”; Echo “ Nama Penerbit | ”; Echo “ “ . $baris[5] . “ | ”; Echo “
\n”; Echo “”; Echo “ Tahun Penerbitan | ”; Echo “ “ . $baris[3] . “ | ”; Echo “
\n”; Echo “”; Echo “ Harga | ”; Echo “ “ . $baris[4] . “ | ”; Echo “
\n”; ?>
// tampilkan form isian jumlah
E-Commerce
Hal. 23
In Country Training 2002
2.3.
Bagian Keranjang Belanja (Shopping Basket) Sejauh ini telah dilakukan pembahasan mengenai sistem katalog yang digunakan untuk
membangun sebuah online-bookstore.
Berikutnya adalah pembahasan mengenai sistem
keranjang belanja (shopping basket) yang akan melakukan pencatatan berapa buku yang telah dipesan oleh user. Ada beberapa alternatif yang dapat digunakan untuk mengimplementasikan keranjang belanja, diantaranya adalah : •
Menggunakan cookies Item disimpan sebagai masing-masing cookies untuk setiap user yang sedang melakukan aktifitas belanja buku.
Karena menggunakan cookie, maka user dapat
melanjutkan aktifitas belanjanya di waktu yang lain pada komputer yang sama, tetapi tidak dapat dibuka pada komputer yang lain (karena komputer yang lain ini tidak menyimpan cookie dari aktifitas belanja user). •
Menyimpan semua informasi belanja user pada database Dengan cara ini maka beban server menjadi semakin bertambah dikarenakan akses ke database menjadi lebih sering, namun informasi belanja yang disimpan bisa lebih banyak, dan proses belanja dapat dibuka di komputer yang lain, tentu saja dengan nama user dan password yang sama.
Implementasi keranjang belanja yang akan dibahas berikut ini menggunakan cara yang kedua yaitu menyimpan semua informasi belanja user pada database.
2.3.1. Desain Database Keranjang Belanja Pada dasarnya sebuah keranjang belanja berfungsi untuk : •
menambah item baru
•
menghapus item yang lama
•
mengganti jumlah item
•
membatalkan pemesanan
•
melakukan pembayaran (checkout)
Untuk keperluan tersebut maka diperlukan tambahan 2 (dua) tabel lagi yaitu : •
tabel order_detail tabel ini menyimpan informasi detail dari record pada tabel order. Struktur dari tabel order_detail
Field
Tipe
Panjang
Keterangan
ID_Order
Char
4
Nomer identifikasi pemesanan (foreign key dari tabel order)
Urut_Order
Char
40
Nomer urut item yang dipesan pada keranjang belanja
ID_Judul
Char
4
Nomer identifikasi buku (foreign key dari table judulbuku)
Qty
Char
4
Alamat dari pembeli
E-Commerce
Hal. 24
In Country Training 2002
•
tabel order tabel ini akan menyimpan seluruh informasi yang umum dari pesanan user Struktur dari tabel order : Field
Tipe
Panjang
Keterangan
ID_Order
Char
4
Nomer identifikasi pemesanan
Status_Order
Char
40
Status pemesanan (baru atau sudah checkout)
Pembeli
Char
4
Nama Pembeli
Alamat
Char
4
Alamat dari pembeli
Kota
Integer
-
Nama kota asal pembeli
KodePos
Integer
-
Kode pos dari alamat pembeli
Char
100
Total pembelian
Total_Order Pajak
Pajak pembelian
2.3.2. Halaman Keranjang Belanja Implementasi dari halaman keranjang belanja (shopping basket) merupakan bagian yang paling kompleks dari aplikasi online-bookstore. Pada dasarnya fasilitas sederhana atau yang paling dasar dari shopping basket adalah menambah item belanja dan membatalkan pemesanan, sedangkan aktifitas lainnya seperti menghapus item, mengganti jumlah pesanan dan implementasi user name dan password, tidak dibahas disini. Berikut ini implementasi dari halaman keranjang belanja yang disimpan dalam file keranjang.php :
Include “db.inc”; # tambahkan item baru ke dalam keranjang belanja if ($ID_Judul!=”” && $order==”ADD”) { # Buat satu, jika belum ada order # $ID_Order adalah sebuah cookie if ($ID_Order==””) { $sqlorder=”Select max(ID_Order) from orders”; if (!hasil=mysql_query($sqlorder,$sambung)) { echo mysql_error(); exit(); } $baris=mysql_fetch_row($hasil); $ID_Order=$baris[0]; $ID_Order++; E-Commerce
Hal. 25
In Country Training 2002
$sqltambah=”insert into orders(ID_Order,Status_Order) values ($ID_Order,’N’); if (!mysql_query($sqltambah,$sambung)) { echo mysql_error(); exit(); } # simpan session $ID_Order setcookie(“ID_Order”,$ID_Order); } # sisipkan item ke dalam order $orderinsert=”Select max(Urut_Order) From Order_details Where ID_Order=$ID_Order”; If (!$hasil=mysql_query($orderinsert,$sambung)) { echo mysql_error(); exit(); } $baris=mysql_fetch_row($hasil); $Urut_Order=$baris[0]; $Urut_Order++; $sqltambah=”Insert into order_details (ID_Order,Urut_Order,ID_Judul,Qty) Values ($ID_Order,$Urut_Order,’$ID_Judul’,’$Qty’)”; If (!mysql_query($sqltambah,$sambung)) { echo mysql_error(); exit(); } } else if ($order==”cancel”) { $sqlhapus=”Delete from order_details where ID_Order=$ID_Order”; mysql_query($sqlhapus,$sambung); $sqlhapus=”Delete from order where ID_Order=$ID_Order”; mysql_query($sqlhapus,$sambung); # hapus variabel session setcookie(“ID_Order”); } ?> Keranjang Belanja
If ($ID_Order!=””) { # tampilkan semua item dalam keranjang belanja
E-Commerce
Hal. 26
In Country Training 2002
$sqltampil=”Select judulbuku.ID_Judul, judulbuku.Judul, (judulbuku.Harga * order_details.Qty), order_details.Qty, judulbuku.Harga, order_details.ID_Order From order_details, judulbuku Where order_details.ID_Judul=judulbuku.ID_Judul And order_details.ID_Order=$ID_Order”; If (!$hasil=mysql_query($sqltampil,$sambung)) { echo mysql_error(); exit(); } echo (“\n”); while ($baris=mysql_fetch_row($hasil)) { echo (“”); echo (“ $baris[1]”); echo (“ | $baris[4]”); echo (“ | $baris[3]”); echo (“ | $baris[2]”); } echo (“ |
\n”); # hitung sub total $sqltotal=”Select sum(judulbuku.Harga*order_details.Qty From order_details, judulbuku Where order_details.ID_Judul=judulbuku.ID_Judul And order_details.ID_Order=$ID_Order”; If (!$hasil=mysql_query($sqltotal,$sambung)) { echo mysql_error(); exit(); } $baris=mysql_fetch_row($hasil); echo (“Sub total pemesanan = $baris[0]
\n”); echo (“”); echo (“Pembayaran Pesanan
\n”); echo (“Hapus Pesanan
\n”); echo (“Lanjutkan Proses Belanja\n”); } else { echo (“
Tidak ada item dlm Keranjang Belanja
\n”); }
E-Commerce
Hal. 27
In Country Training 2002
?> Keterangan untuk tiap perintah dalam script keranjang.php diatas : •
Awalnya akan dilakukan koneksi ke database
•
Kemudian variabel $ID_Judul diperiksa, selanjutnya buku dengan judul ini akan ditempatkan ke keranjang belanja dengan memeriksa variabel $order.
•
Jika perlu dilakukan penambahan item belanja ke dalam keranjang belanja, maka perlu dipastikan atau diperiksa pesanan yang sedang aktif (current_order). Hal ini dilakukan dengan memeriksa variabel cookie ID_Order.
•
Jika ID_Order
belum ada, maka pesanan baru akan dibuat.
Pesanan baru ini akan
dicatat dalam tabel order, dan session pemesanan akan dicatat dalam cookie $ID_Order. •
Kemudian item yang dipesan ditambahkan ke dalam daftar detail pesanan, yaitu pada tabel order_details
•
Jika item $ID_Judul
tidak sedang ditambahkan ke daftar detail pesanan (tabel
order_detail) maka akan diperiksa apakah ada permintaan pembatalan pesanan yang ditandai dengan isi variabel $order. •
Jika terdapat pembatalan, maka pesanan dihapus dari database dan session belanja ini dihapus dengan menghapus cookie $ID_Order.
•
Dan yang terakhir seluruh item keranjang belanja akan ditampilkan ke user beserta sub total pemesanan.
•
2.4.
Pada bagian bawah halaman keranjang belanja, terdapat tiga link yaitu : o
Untuk melakukan pembayaran (checkout)
o
Untuk pembatalan pesanan
o
Link ke halaman depan atau menu utama (indek.php ).
Bagian Pembayaran (Check Out) Ada beberapa alternatif yang dapat digunakan untuk mengimplementasikan proses
pembayaran
pada
online-bookstore,
meliputi
beberapa
aspek
yang
menjadi
pilihan
implementasi.
2.4.1. Beberapa Alternatif Proses Check Out Pada aplikasi online-bookstore, proses checkout meminta informasi pesanan pembeli. Informasi yang diperlukan meliputi alamat, nomor credit card, dan informasi belanja yang dilakukan user. Hal pertama yang dilakukan adalah mendesain fungsionalitas pembayaran dengan menyediakan transfer data yang aman melalui SSL (secure socket layer).
Pada umumnya
toko-toko online akan membawa user ke web server yang aman pada waktu melakukan proses pembayaran (checkout). dahulu
Untuk melakukan hal ini, maka pertama harus meminta terlebih
perijinan/certificate,
E-Commerce
missal
dari
VeriSign
(http://www.verisign.com)
kemudian
Hal. 28
In Country Training 2002
menginstalnya pada server yang digunakan. Proses instalasi SSL bergantung pada web server yang digunakan. Kemudian hal kedua yang perlu mendapat perhatian adalah data apa saja yang diperlukan yang didapat dari informasi pembeli pada saat melakukan pembayaran.
Misalnya
apakah pembeli diijinkan untuk memiliki alamat penagihan dan pengiriman yang berbeda. Hal
terpenting
lainnya
adalah
bagaimana
aplikasi
online
anda
menyediakan
pemrosesan pembayaran, misal menawarkan pembayaran dengan kartu kredit, juga adanya hubungan antara online katalog dengan bank yang diperlukan untuk melakukan pemrosesan pembayaran.Proses pembayaran (checkout) yang
diimplementasikan pada pembahasan ini
meliputi hal yang sangat sederhana berikut ini : •
Pembeli hanya boleh memiliki alamat penagihan yang sama dengan alamat pengiriman
•
Setelah itu akan ditampilkan total pesanan
•
Kemudian pembeli diminta mengisi informasi pembayaran
•
Tampilan terakhir adalah ucapan terima kasih dan nomer identifikasi pemesanan.
•
Sedangkan SSL dan pemrosesan kartu kredit tidak diimplementasikan.
2.4.2. Desain Database untuk Pembayaran (Checkout) Untuk
memproses
pembayaran
(checkout)
diperlukan
tabel
tambahan
menyimpan seluruh informasi untuk pesanan yang dilakukan oleh pembeli.
untuk
Tabel tersebut
dinamakan order_payments. Berikut ini struktur dari table order_payments Struktur table order_payments Field
Tipe
Panjang
Keterangan
ID_Order
Char
4
Foreign Key dari tabel orders
ID_Credit_card
Char
40
Nomer credit card pembeli
Exp_Credit_card
Char
4
Expiration date dari credit card
Tipe_Credit_card
Char
4
Tipe dari credit card (Visa, Master Card, dll).
Integer
-
Nama pembeli yang tercantum di credit card
Nama_Credit_card
Primary key dari tabel order_payments tersebut adalah ID_Credit_card yang merupakan identifikasi nomer card dari pembeli.
E-Commerce
Hal. 29
In Country Training 2002
2.4.3. Halaman Checkout pertama Halaman pertama untuk proses pembayaran berupa suatu form yang meminta pembeli untuk memasukkan informasi alamatnya. Belum dilakukan pemrosesan pada halaman ini. Berikut ini adalah listing file checkout.php :
Checkout Checkout
2.4.4. Halaman Checkout Kedua Halaman
Pembayaran
yang
berikutnya
yaitu
chekout2.php
melakukan
validasi
terhadap informasi yang dimasukkan oleh pembeli pada form pembayaran. Semua field harus terisi.
Kemudian setelah itu dilakukan penghitungan total pembelian dan besarnya pajak.
Setelah itu baru pembeli diminta untuk mengisi informasi credit card-nya. Berikut ini adalah isi file checkout2.php :
Checkout Checkout
Include “konek.inc”; E-Commerce
Hal. 30
In Country Training 2002
If ($ID_Order!=””) { if ($Pembeli==””) $errStr+=”Nama pembeli belum diisi
”; if ($Alamat==””) $errStr+=”Alamat pembeli belum diisi
”; if ($Kota==””) $errStr+=”Kota pembeli belum diisi
”; if ($KodePos==””) $errStr+=”Kode pos dari alamat belum diisi
”; if (errStr!=””) echo (“$errStr
”); # Hitung total pembelian dan pajaknya $total=”Select sum((judulbuku.Harga*order_details.qty)) From order_details, judulbuku Where order_details.ID_Judul=judulbuku.ID_Judul And order_details.ID_Order=$ID_Order”; If (! Mysql_query($total, $sambung) { echo mysql_error(); exit(); } $baris=mysql_fetch_row($hasil); # pajak = 10% $taxrate=0.1; $pajak=$baris[0] * $taxrate; $total=$baris[0]+$pajak; # Lakukan update pada data $perintah=”Update order set Pembeli=’$Pembeli’,Alamat=’$Alamat’, Kota=’$Kota’,KodePos=’$KodePos’,Total_Order=’$Total_Order’, Pajak=’$Pajak Where ID_Order=’$ID_Order’ “; If (! Mysql_query($perintah, $sambung) { echo mysql_error(); exit(); } echo (“Total pembelian = $Total_Order
\n”); echo (“Pajak pembelian = $Pajak
\n”); ?> } else echo(“Order tidak valid
\n”); ?>
2.4.5. Halaman Checkout Ketiga Yang dikerjakan pada halaman pembayaran selanjutnya yaitu checkout3.php adalah: melakukan validasi informasi credit card, setelah valid, kemudian tabel orders diupdate dengan menggunakan informasi ini dan status order ditandai dengan “checked out” (CO).
Yang
terakhir pembeli diberi nomer pemesanan untuk melengkapi transaksi pembelian yang sudah dilakukan.
Include “konek.inc”; If (ID_Order!=””) { if (ID_Credit_card==””) $errStr+=”Nomer credit card belum diisi
”; if (Tipe_Credit_card==””) $errStr+=”Tipe credit card belum diisi
”; if (Exp_Credit_card==””) $errStr+=”Expired Date credit card belum diisi
”; if (Nama_Credit_card==””) $errStr+=”Nama pemilik credit card belum diisi
”; if ($errStr!=””) echo (“$errStr
”); else { $sqlsisip=”Insert into order_payments(ID_Order, ID_Credit_card, Tipe_credit_card, Exp_credit_card, Nama_credit_card) Values ($ID_Order, ‘$ID_Credit_card’, ‘$Tipe_credit_card’, ‘$Exp_Credit_card’, ‘$Nama_Credit_card’) “; if (! Mysql_query($sqlsisip,$sambung) { echo mysql_error(); exit(); } $sqlubah=”Update orders Set Status_Order=’CO’ Where ID_Order=$ID_Order”; if (! Mysql_query($sqlsisip,$sambung) E-Commerce
Hal. 32
In Country Training 2002
{ echo mysql_error(); } setcookie(“ID_Order”);
exit();
?> Checkout Checkout
Echo (“Terima kasih atas Pembelian yang telah anda lakukan
\n”); Echo (“Beli lagi lain waktu …see you …”); Echo (“Nomer pemesanan anda : $ID_Order”); } } else echo (“Nomer Order tidak valid
”); ?> Halaman Utama 2.4.6. Penyelesaian Fungsionalitas Online BookStore Fungsi dari sebuah toko buku online (online bookstore) telah selesai dilakukan. Selanjutnya adalah melakukan pengerjaan pada database katalog sekaligus melakukan perencanaan maintenance katalog.
2.5.
Pemeliharaan Katalog
Yang pertama harus dilakukan dalam membangun aplikasi pemeliharaan (maintenance) katalog adalah hal-hal apa yang harus dilakukan, siapa yang melakukan, perubahan apa yang dibutuhkan terhadap data, Aplikasi pemeliharaan katalog yang direncanakan meliputi : •
penambahan judul buku
•
memodifikasi judul buku
•
penghapusan judul buku
Aplikasi tersebut dikerjakan oleh staff yang bertanggung jawab terhadap stok barang (bagian inventory).
2.5.1. Halaman Daftar (List) Judul Buku
E-Commerce
Hal. 33
In Country Training 2002
Halaman ini menyediakan fasilitas penambahan buku baru dengan menekan tombol Add. User juga dapat memodifikasi ataupun menghapus buku dengan tombol Modify dan Delete. Berikut ini adalah listing file mt_list.php :
Pemeliharaan Katalog Pemeliharaan Katalog
Pilih Operasi Maintenance yang akan dilakukan :
Ke Halaman Utama 2.5.2. Penambahan dan Perubahan Judul Buku Berikutnya
adalah
pembahasan
fungsionalitas
halaman
web
untuk
melakukan
penambahan dan perubahan pada stok buku. Operasi yang dilakukan sesuai yang dipilih oleh
E-Commerce
Hal. 34
In Country Training 2002
user pada halaman sebelumnya (Add, Modify atau Delete). Pertama kali akan dideklarasikan semua variabel yang digunakan untuk operasi yang dimaksud. Variabel action type pada listing program berikut merupakan variabel hidden yang akan ditransfer ke halaman berikutnya. Berikut ini listing dari file mt_edit.php :
Pemeliharaan Data Include “konek.inc”; If ($action_type==”Add”) { // tambahkan judul buku baru $Tipe_Ctg=””; $ID_Judul=””; $Judul=””; $Harga=””; $Notes=””; $Th_terbit=””; $ID_Pen=””; } else { // judul buku telah ada $sqljudul=”Select * From judulbuku Where ID_Judul=’$ID_Judul’ “; if (! Mysql_query($sqljudul,$sambung)) { echo mysql_error(); exit(); } $baris=mysql_fetch_row($sqljudul); $ID_Judul=$baris[0]; $Judul=$baris[1]; $Tipe=$baris[2]; $ID_Pen=$baris[3]; $Harga=$baris[4]; $Th_terbit=$baris[5]; $Note=$baris[6]; } echo (“ Pemeliharaan Katalog
\n”); echo (“”); echo (“