INSTALASI COS E-COMMERCE


INSTALASI COS E-COMMERCE

Mungkin banyak yang berpendapat, termasuk Anda, bahwa pembuatan situs web komersial membutuhkan waktu dan biaya yang tidak sedikit. Namun sekarang dengan hadirnya Joomla, segala kebutuhan itu terjawab.
Joomla ialah CMS (Content Management System) yang bersifat opensoruce dan gratis. Penggunaanya sangat mudah, bahkan untuk seseorang yang sama sekali tidak mengerti HTML.
Dalam buku ini Anda akan dituntun membuat sebuah virtual market (toko online) yang nantinya dapat Anda sesuaikan dengan kebutuhan masing-masing. Semua pembahasan dilakukan dengan penjabaran tahap demi tahap disertai gambar-gambar yang mudah dimengerti. Buku ini dilengkapi pula dengan CD yang berisikan materi pendukung. Anda dapat langsung mempraktekanya sendiri tanpa bantuan orang lain. Setelah membaca buku ini Anda akan mampu membuktikan bahwa Anda dapat membuat sebuah web store hanya dalam 1 atau 2 jam saja.
Adapun materi yang dibahas dalam buku ini meliputi :
· Web Server Lokal
· Instalasi Joomla
· Desain Tampilan
· Komponen dan Modul
· Pengaturan Menu
· Pengelolaan Menu Tambahan
· Pengelolaan Menu Belanja
· Upload ke Web Hosting
Setelah era digital yang selalu menggunakan “e-“ didepan semua kata seperti e-commerce, e-book, e-sales, e-mail dan seterusnya, Customer Relationship Management atau CRM merupakan akronim atau singkatan yang paling populer dikalangan orang - orang sales dan marketing. Telaah per katanya adalah sebagai berikut; Pelanggan atau customer, kata pertama, di kamus bahasa Inggris artinya adalah seseorang yang berulang kali atau teratur melakukan pembelian kepada seorang pedagang. Jadi pelanggan adalah orangnya (dalam definisi ini tidak disinggung tentang kepuasan, mahal – murahnya pembelian, dan lain lain). Hubungan atau relationship kata kedua adalah bentuk komunikasi dua arah antara pembeli dan penjual. Manajemen, kata terakhir, artinya pengelolaan (secara luas tanpa perlu menjabarkan detail bagaimana mengelola sesuatu). Jadi definisi diatas kalau digabungkan kirakira menjadi pengelolaan hubungan dua arah antara suatu perusahaan dengan orang yang menjadi pelanggan di perusahaan tersebut. CRM dalam perkembangannya juga bisa didefinisikan sebagai berikut :
- CRM adalah sebuah istilah industri TI untuk metodologi, strategi, perangkat lunak (software) dan atau aplikasi berbasis web lainnya yang mampu membantu sebuah perusahaan (enterprise, kalau besar ukurannya) untuk mengelola hubungannya dengan para pelanggan.
- CRM adalah usaha sebuah perusahaan untuk berkonsentrasi menjaga pelanggan (supaya tidak lari ke pesaing) dengan mengumpulkan segala bentuk interaksi pelanggan baik itu lewat telepon, email, masukan di situs atau hasil pembicaraan dengan staf sales dan marketing.
Bukan hal yang mudah untuk mendefinisikan apa itu CRM. Ini dikarenakan luasnya cakupan CRM terhadap aktivitas sales dan marketing yang pada akhirnya menjadi bagian dari manajemen pengetahuan (knowledge management) dari perusahaan itu sendiri. Apa hubungannya dengan TI atau teknologi komputer pada umumnya? Jelas, TI merupakan bagian terpenting (tapi bukan yang pertama) dari CRM karena tanpa kemampuan teknologi komputer yang handal untuk mengolah besarnya informasi yang berhasil dikumpulkan, CRM akan lumpuh dan tidak ada artinya.
Strategi pengembangan teknologi informasi harus memiliki keselarasan dengan strategi bisnis yang dijalankan oleh perusahaan. Dalam melakukan penyelarasan IT, perlu melakukan pertimbangan arah strategi bisnis yang jelas, komunikasi, komitmen dan itegrasi dari masing – masing fungsi yang ada dalam perusahaan.
Penyelarasan antar strategi bisnis dengan teknologi informasi (IT) merupakan permasalahan yang kompleks dan bersifat multidimensi. Seringkali keputusan untuk melakukan pengembangan dibidang teknologi informasi hanya didasarkan pada kemampuan sebuah perangkat lunak yang canggih tanpa melihat lebih jauh apakah perangkat lunak tersebut telah sesuai dengan kebutuhan organisasi dalam jangka panjang.
Perusahaan yang berhasil melakukan integrasi antar teknologi dengan strategi bisnis menunjukkan peningkatan pendapatan yang signifikan. Penyelarasan strategi bisnis dan IT digunakan oleh perusahaan untuk meningkatkan efisiensi, mengurangi biaya, menciptakan hambatan untuk pendatang baru, meningkatkan hubungan dengan konsumen dan suplier, dan menciptakan produk dan solusi bisnis baru. Sebaliknya kegagalan dalam melakukan penyelarasan ini dapat mengakibatkan peningkatan biaya dan kehilangan kesempatan. Oleh karena itu, keputusan yang tepat dari pihak yang memiliki otoritas sangat berpengaruh dalam peningkatan ataupun penurunan produktivitas perusahaan.
Seiring dengan berkembangnya zaman, teknologi informasi merupakan salah satu aspek yang harus diperhatikan oleh perusahaan-perusahaan karena teknologi informasi saat ini berkembang sangat cepat. Dengan adanya teknologi informasi ini, tentunya akan sangat membantu perusahaan dalam meningkatkan kinerja perusahaan, dan salah satu perusahaan besar dunia yang menerapkan teknologi informasi di dalam proses bisnis perusahaanya adalah Computer Associates (CA).
Analisis dan perancangan aplikasi E-commerce
Abstrak
Aplikasi perangkat lunak komputer dan Internet telah berkembang pesat pada dasawarsa ini, demikian pula dengan aplikasi web dan browser internet maupun intranet. AplikasiE-Commerce telah lama berkembang diawali dengan EDI (Electronic Data Interchange) yang telah berkembang dalam lingkup internasional. Dalam makalah ini diuraikan mengenai arsitektur sistem, tool dan konfigurasi yang diperlukan untuk mengimplementasi aplikasi web e-commerce, konsiderasi masalah keamanan sistem, juga perancangan dari sisi diagram alur aplikasi dan perancangan basis data. Digunakan bahasa pemrograman PHP karena kemudahan dalam pemrograman, dan kelengkapan fitur untuk mengimplementasi sistem e-commerce, kemampuan untuk cross platform, serta kemudahan untuk deployment bagi pengembang aplikasi.
Definisi E-Commerce ( Electronic Commerce) : E-commerce merupakan suatu cara berbelanja atau berdagang secara online atau direct selling yang memanfaatkan fasilitas Internet dimana terdapat website yang dapat menyediakan layanan “get and deliver“.E-commerce akan merubah semua kegiatan marketing dan juga sekaligus memangkas biaya-biaya operasional untuk kegiatan trading (perdagangan) .
Proses yang ada dalam E-commerce adalah sebagai berikut :
  • Presentasi electronis (Pembuatan Web site) untuk produk dan layanan.
  • Pemesanan secara langsung dan tersedianya tagihan.
  • Otomasi account Pelanggan secara aman (baik nomor rekening maupun nomor Kartu Kredit).
  • Pembayaran yang dilakukan secara Langsung (online) dan penanganan transaksi
    Keuntungan yang diperoleh dengan menggunakan transaksi melalui E-commerce bagi suatu perusahaan adalah sebagai berikut :
  • Meningkatkan pendapatan dengan menggunakan online channel yang biayanya lebih murah.
  • Mengurangi biaya-biaya yang berhubungan dengan kertas, seperti biaya pos surat, pencetakan, report, dan sebagainya.
  • Mengurangi keterlambatan dengan mengunakan transfer elektronik / pembayaran yang tepat waktu dan dapat langsung dicek.
  • Mempercepat pelayanan ke pelanggan, dan pelayanan lebih responsif.
Gambar 1. Contoh Aplikasi E-Commerce : Pembelian CD dengan Kartu Kredit
2. Arsitektur dan Konfigurasi Sistem
Arsitektur dasar dari aplikasi web ini adalah arsitektur client/server. Artinya pemrosesan aplikasi ini dijalankan melibatkan kedua sisi yakni sisi mesin server pusat dan sisi client. Hal ini berbeda dengan misalnya aplikasi Microsoft Word yang hanya melibatkan satu sisi saja yaitu sisi client. Atau bagi pengguna mesin VAX yang hanya menggunakan sisi server saja sedangkan sisi client hanya dumb terminal saja yang tidak melakukan pemrosesan apapun di sisi client.

Gambar 2. Arsitektur Client/Server
2.1 Stateless Web Server
Untuk aplikasi E-Commerce ini web server harus dapat mengingat siapa / identitas pengguna yang sedang melakukan browsing setiap halaman. Pada dasarnya aplikasi web dan protokol HTTP adalah stateless. Artinya setiap merespon sebuah request HTTP, server akan selesai bekerja (complete) dan tidak melakukan pencatatan apa yang telah dilakukan oleh pengguna sebelumnya dan terhadap siapa identitas pengguna. Server memperlakukan informasi permintaan (request) secara serial, satu persatu pada saatrequest masuk. Tidak ada koneksi permanen (persistence) yang berjalan setelah sebuah halaman telah selesai dilayani / dikerjakan.
Gambar 3. Perbandingan State dalam Sistem Aplikasi: A.State yang kontinyu dalam aplikasi desktop, dan B.Stateless protokol dalam aplikasi web
Agar sebuah situs web mempunyai Memori / state, dalam hal ini aplikasi ini mampu mengingat ‘siapa memesan apa’, beberapa informasi yang mengidentifikasi pengguna harus dikirim dengan setiap request halaman web. Informasi tersebut disimpan dengan menggunakan session.
Session tersebut dipergunakan untuk merekam / tracking aktivitas pengguna yang melalui sejumlah halaman pada website, misalnya pada jenis aplikasi Shopping Cart (kereta belanja). Direkam pula informasi identitas pengguna yang memiliki kereta belanja tersebut.
Dengan PHP, untuk penggunaan session ini mula-mula dilakukan pengaturan pada file php.ini yang menunjukkan session dimulai (start). Dengan ini PHP akan membuat suatu identifier unik dan file yang berkaitan, yang disimpan di server (lokasinya di atur di php.ini dan nilai defaultnya di direktori /tmp). Kemudian pada saat pengguna berkunjung pada halaman-halaman situs web, semua informasi variabel yang dipilih oleh pengguna akan disimpan dalam file pada server, dan semua script yang dibutuhkan untuk melacak sebagai identifier unik.
Implementasi session dapat mempergunakan cookie yang disimpan pada sisi client, atau dipropagasikan melalui alamat URL.Untuk penggunaan cookie, yaitu dengan passing variabel melalui cookie yang menyimpan informasi semua elemen barang belanja dan harganya. Namun
hal ini memiliki keterbatasan yaitu dari (http://www.netscape.com/newsref/std/cookie_spec.html) mengenai spesifikasi cookie yang hanya mengijinkan 20 cookie per domain dan berukuran hanya 4 bytes per cookie. Cara lain adalah dengan memberi identitas / identifier unik pada masing-masing pengguna, suatu nilai unik yang mengidentifikasi siapa pengguna tersebut. Sehingga pada saat pengguna menambahkan satu item pada kereta belanja, informasi yang berkaitan dengan identifier unik tadi disimpan di komputer server. Jika menggunakan cookie untuk fungsi penyimpan informasi tadi, diperlukan membuat stringunik yang akan diletakkan dalam cookie, dalam direktori di server akan terdapat sebuah file yang memiliki nama yang sama sebagai ID pengguna yang unik. Dalam file tersebut dapat disimpan semua variabel yang berkaitan dengan pengguna. Contohnya terdapatarray berisi item-item barang yang ditambahkan oleh seorang pengguna ke dalam kereta belanjanya.
Terdapat keterbatasan penggunaan cookie, yakni bila browser pengguna di atur untuk menolak (reject) cookie.
Metode lain yang dapat digunakan adalah dengan propagasi URL, yaitu dengan mengaktifkan flag –enable-trans-sid dalam konfigurasi PHP, hal ini berguna agar session id akan secara otomatis ditambahkan ke setiap relative link pada halaman-halaman web setiap kali session telah dimulai.
2.2 Konfigurasi Sistem dan Tool Yang Digunakan
Masalah lain dalam aplikasi ini adalah mengenai aspek keamanan dalam memperoleh informasi dari pengguna, terutama data mengenai penggunaan kartu kredit. Informasi ini perlu diverifikasi oleh institusi yang berkualifikasi dan memerlukan pengaturan konfigurasi serta penggunaan beberapa macam tool.
Dalam membangun aplikasi ini dipergunakan algoritma untuk memelihara (maintain)state, pengambilan informasi secara secure terhadap kartu kredit, menggunakan kode pemrograman khusus dan penggunaan opsi instalasi khusus.
Di bawah ini akan dibahas mengenai teori dasar enkripsi dan sekuriti Web. Kemudian akan dibahas tool mandatory untuk instalasi web server Apache.
2.2.1 Enkripsi Public-Key / Private-Key
Mesin di web menggunakan skema keamanan Public-key/Private-key. Artinya komputer yang akan berkomunikasi menggunakan data terenkripsi harus memiliki dua buah kunci untuk mengenkripsi data dan mendekripsinya. Pertama, public-key tersedia bagi siapa saja yang ingin melakukan komunikasi terhadapnya. Sehingga siapapun yang ingin melakukan komunikasi terhadap sebuah mesin secara secure akan memiliki salinan dari Public key mesin tersebut. Namun public key ini tidak cukup untuk dapat mendekripsi data, masih dibutuhkan Private key yang bersifat rahasia. Misalnya pada pemrosesan kartu kredit dengan sebuah bank, nasabah memiliki Public key bank tersebut dimana ia dapat melakukan dekripsi informasi, namun masih diperlukan Private key yang disimpan oleh bank tersebut, untuk dapat melakukan dekripsi data.
Gambar 4. Pengiriman Data Terenkripsi antara Pengguna dengan Server E-Commerce
2.2.2 Sertifikat
Meski masalah keamanan sudah ditangani dengan keberadaan Public key / Private key, masih ada masalah yang perlu diperhatikan yakni pesan / data yang diperoleh adalah benar dari pihak yang memiliki otorisasi, bukan dari pihak lain yang tidak berkepentingan atau yang menyalahgunakan. Untuk itu dibutuhkan pihak ketiga untuk memverifikasi pesan yang datang.
Pesan terenkripsi yang dikirim dan diterima akan memiliki semacam ‘signature’, dan verifikasi selanjutnya dilakukan terhadap ‘signature’ tersebut. Untuk itu, organisasi yang akan mempergunakan komunikasi melalui web memerlukan kerjasama dengan organisasi lain yang mengeluarkan sertifikat yang memverifikasi pengirim pesan. Organisasi ini pulalah yang memberikan Publik key dan Private key. Salah satu contoh organisasi yang menerbitkan sertifikat sekuriti adalah VeriSign.
2.2.3 Secure Protocol
Protokol HTTP secara alamiah bersifat terbuka terhadap penyusupan. Paket-paket data yang melintas melalui router Internet dapat disadap dan dibaca. Namun informasi kartu kredit diinginkan agar tidak mudah terbaca. Untuk itu dibutuhkan penggunaan Secure Socket Layer atau SSL. SSL adalah protokol tambahan dimana key dan sertifikat dari suatu situs e-commerce akan ditransfer ke browser atau ke server lain. Melalui SSL, browser akan dapat memverifikasi sertifikat dari situs tersebut sehingga dapat mengetahui identitas pengirim sebenarnya. Tata cara enkripsi ini masih mengandung kelemahan yakni pada aspek sumber daya manusia apabila kurang jujur, yakni apabila terjadi akses tidak sah dilakukan oleh orang yang sudah berada dalam sistem.
2.2.4 Enkripsi dan Tool Sekuriti
Untuk web server Apache, ditambahkan modul SSL pada saat instalasinya. Untuk dapat melakukan autorisasi kartu kredit, diperlukan sertifikat. Contoh yang paling sering digunakan adalah VeriSign, yang memiliki layanan PayfloPro.
Setelah Apache dikonfigurasi dengan SSL, maka website aplikasi dapat berkomunikasi dengan browser secara secure. Cirinya: URL dimulai dengan https:// , browser akan mencari Port 443 dan mencari serifikat. Dalam PHP, banyak fitur yang dapat digunakan untuk dapat berhubungan dengan situs lain. Misalnya fungsi fopen(). Namun fungsi-fungsi berhubungan dengan filesystem atau URL tidak mendukung bekerja dengan SSL, sehingga diperlukan kumpulan fungsi khusus atau program diluar PHP. Opsi-opsi dalam PHP4 dapat mendukung layanan proses pembayaran.
Gambar 5. Komunikasi Antar Situs dalam Aplikasi E-Commerce
2.2.5 Penggunaan Firewall
Firewall digunakan untuk melindungi jaringan lokal dari serangan luar. Ada beberapa pilihan untuk menempatkan web server :
• web server ditempatkan di luar dari Firewall (lihat gambar 6), adapun keuntungan dengan menempatkan server diluar dari firewall adalah bahwa web server mungkin saja menjadi subject penyerangan dari pihak luar; maka mereka “sniffer” tidak akan dapat meningkatkan serangan berikutnya untuk merusak server-server lainnya. Dengan kata lain web server tidak akan dapat keuntungan dari segala macam bentuk pelindungan yang di usahakan firewall.

Gambar 6. Web Server di Luar Firewall
1. Web server di dalam firewall (lihat gambar 7). Jika diterapkan seperti ini, perlu dikonfigurasi firewall menjadi akan melewatkan transaksi pada TCP port 80, atau dengan membolehkan secara langsung melewatkan paket maupun dengan menggunakan mekanisme proxy. Keuntungan dari menempatkan web server di dalam firewall yaitufirewall akan memblok akses dari luar yang menggunakan layanan Internet lainnya, seperti Telnet, FTP. Tetapi apabila penyusup “sniffer” tersebut menggunakan kesalahan dari program CGI script, mereka akan mempunyai akses tak terbatas ke jaringan lokal.

Gambar 7. Web Server yang Diletakkan Di dalam Firewall
Pilihan ketiga, yang paling baik, yaitu menggunakan dua firewall: satu untuk melindungi jaringan internal / lokal dan yang satunya lagi untuk melindungi web server (lihat gambar 8).
2.2.6 PayFloPro dan Cybercash
Untuk penggunaan VeriSign untuk pemrosesan kartu kredit, diperlukan instalasi pustaka kode ( code library) yang diperoleh dari VeriSign. Selanjutnya dikompilasi ulang dengan PHP sehingga akan dapat mengenali fungsi-fungsi tersebut (fungsi-fungsi pfpro) . Fungsi-fungsi tersebut akan memproses permintaan (request) dan akan mengembalikan jawaban (response). Setelah itu response tersebut akan dibandingkan dengan kode yang telah diketahui, setelah itu akan diketahui apakah transaksi tersebut sukses atau tidak.
Selain PayFloPro, dapat juga digunakan Cybercash, yang diinstal sebagai pustaka / librarypada PHP (fungsi-fungsi cybercash).
2.2.7 CURL
Merupakan akronim dari fungsi-fungsi pustaka Client URL. Kode pustaka ini dipergunakan untuk berkomunikasi melalui Internet menggunakan sembarang protokol di sisi lawan. Kode ini mendukung Gopher, Telnet, dan HTTPS. Untuk dapat menggunakan fungsi ini, konfigurasi instalasi PHP harus menyertakan flag –with-curl.
2.3 Pemrosesan Kartu Kredit
Pemrosesan kartu kredit dilakukan oleh perusahaan yang khusus untuk itu, terdapat beberapa nama perusahaan yang cukup dikenal, namun semuanya memiliki kesamaan cara kerja. Mula-mula dikirim permintaan / request dengan informasi kartu kredit: nomor, tanggal kadaluarsa, alamat, dan sebagainya, dan kemudian perusahaan tersebut akan mengirimkan kode kembalian sebagai respon. Kode PHP di sini adalah berfungsi untuk membandingkan kode yang diterima dengan nilai yang didapat sebelumnya dari agen pemrosesan. Untuk aplikasi ini dipergunakan Authorizenet.com sebagai pemroses kartu kredit.
3. Rancangan Aplikasi E-Commerce
Gambaran aplikasi e-commerce akan diuraikan sebagai berikut. Mula-mula aplikasi akan menampilkan daftar barang yang tersedia. Lalu pengguna dapat memilih beberapa item yang ingin dibeli. Pada saat pengguna memilih suatu item barang, identitas barang tersebut dicatat, dan selanjutnya user dapat melanjutkan berbelanja / memilih item yang lain. Server mengingat item apa saja yang telah dipesan. Pada saat pengguna melanjutkan browsing, server memelihara track pengguna tersebut dan pengguna tersebut dapat melakukan check out terhadap item-item yang telah dipesan.
Untuk dapat melaksanakan hal ini, digunakan metode untuk memelihara state seperti yang telah dibahas di bagian sebelum ini.
3.1 Rancangan Layar
Setiap halaman pada aplikasi ini memiliki tombol yang memungkinkan pengguna untuk langsung melakukan checkout. Pada halaman yang menampilkan daftar barang terdapat kumpulan form yang memungkin pengguna untuk memberi indikasi item mana yang akan dibeli. Setiap item dapat ditentukan secara lebih spesifik sesuai jenis barang yang ada, misalnya untuk aplikasi toko furniture online terlebih dahulu ditentukan jenis furnituremeja, terdiri atas meja bulat, meja kotak, meja tulis, dan sebagainya. Form untuk pemesanan menggunakan kotak teks untuk jumlah pesanan, dan tombol ‘Order’, yang pada contoh meja tadi dicantumkan untuk masing-masing jenis meja.
Selanjutnya ditampilkan satu halaman yang berisi daftar semua item yang sedang berada dalam kereta belanja (shopping cart). Halaman ini memungkinkan pengguna untuk menambah atau mengurangi jumlah item yang dipesan, dan menghapus suatu item pesanan.
Pada akhir proses pemesanan, ditampilkan halaman yang mengumpulkan informasi pengguna, preferensi, dan halaman untuk memulai pemrosesan kartu kredit. Halaman ini juga menunjukkan pesan bila ada kesalahan informasi atau terdapat penolakan autorisasi kartu kredit oleh agen pemroses.
Selanjutnya, setelah transaksi selesai diproses, terdapat tanda terima transaksi yang mengkonfirmasi pesanan dan menyampaikan nomor id pesanan kepada pengguna. Yang penting diperhatikan untuk pengembangan aplikasi e-commrce adalah informasi nomor kartu kredit dan informasi personal lainnya harus aman dan tidak mudah dilihat oleh orang yang tidak berhak.

Gambar 9. Diagram Alir Penggunaan Aplikasi E-Commerce
Gambar 10. Rancangan Layar Halaman Depan Web E-Commerce
Gambar 11. Rancangan Layar Halaman Daftar Barang
Gambar 12. Rancangan Layar Halaman Daftar Pesanan
Gambar 13. Rancangan Layar Halaman Pemrosesan Kartu Kredit
3.2 Rancangan Basis Data
Gambar 14. Rancangan Basis Data Aplikasi Web E-Commerce Tabel utama yang digunakan dalam aplikasi ini adalah tabel Pesanan, yang mencatat order pemesanan. Tabel-tabel lain berelasi dengan tabel ini. Tabel Pesanan menyimpan informasi id_user, id_alamat, dan semua informasi yang dibutuhkan untuk pembayaran. Tabel Pesanan ini memiliki relasi one-to-many dengan tabel Item yang berisi informasi item-item barang yang terdapat dalam sebuah order. Informasi mengenai pengguna dan alamat pengguna dipisahkan, seorang pengguna dapat didentifikasi dari alamat e-mailyang dimilikinya, dan alamat terdiri atas alamat kantor dan rumah. Tabel Pengiriman berisi informasi opsi yang diberikan untuk pengiriman barang. Misalnya terdapat pilihan menggunakan UPS, DHL, TIKI, Pos, dan sebagainya. Tabel Status berisi catatan mengenai status pesanan, yaitu dapat berupa status dikembalikan (backordered), dikirim (shipped), atau dibatalkan (cancelled). Terdapat pula tabel Jenis_Kartu untuk menyimpan informasi jenis kartu kredit seperti Visa, Mastercard, dan sebagainya.

Subscribe to receive free email updates: