Dari Wikipedia, ensiklopedia bebas
Abstrak
Aplikasi perangkat lunak komputer dan Internet telah berkembang pesat pada
dasawarsa ini, demikian pula aplikasi web dan browser internet maupun intranet.
Aplikasi E-Commerce
telah lama berkembang diawali dengan EDI (Electronic Data Interchange)
yang telah berkembang dalam lingkup internasional. Disini akan diuraikan
mengenai arsitektur sistem, tool dan konfigurasi yang diperlukan untuk
mengimplementasi aplikasi web
e-commerce, konsiderasi masalah keamanan sistem, juga perancangan
flowchart aplikasi dan
perancangan database. 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
Electronic commerce, yang umum dikenal sebagai e-commerce,
adalah pembelian dan penjualan produk atau jasa melalui sistem elektronik
seperti internet dan jaringan komputer lainnya. Electronic commerce mengacu
pada teknologi seperti mobile commerce , transfer dana elektronik , manajemen rantai suplai , pemasaran Internet , proses transaksi online , pertukaran data elektronik
(EDI), sistem manajemen persediaan ,
dan otomatis pengumpulan data sistem.
Perdagangan elektronik modern biasanya menggunakan World Wide Web setidaknya di
satu titik dalam siklus hidup-transaksi itu, meskipun mungkin mencakup lebih
luas teknologi seperti e-mail, perangkat mobile media sosial,
dan telepon juga. Electronic commerce umumnya dianggap sebagai aspek penjualan e-bisnis. Hal ini juga terdiri dari pertukaran data untuk memfasilitasi pembiayaan dan pembayaran aspek dari transaksi bisnis.
E-commerce dapat dibagi menjadi:
- E-tailing atau "etalase virtual" di situs Web dengan katalog online, kadang-kadang berkumpul menjadi "mal virtual"
- Pengumpulan dan penggunaan data demografis melalui kontak Web dan media sosial
- Electronic Data Interchange (EDI), pertukaran bisnis-ke-bisnis data
- E-mail dan faks dan penggunaannya sebagai media untuk menjangkau prospek dan pelanggan ditetapkan (misalnya, dengan newsletter)
- Bisnis-ke-bisnis jual beli
- Keamanan transaksi bisnis
Contoh Aplikasi E-Commerce Beberapa aplikasi umum e-commerce adalah:
* E-mail dan Messaging
* Content Management Systems
* Dokumen, spreadsheet, database
* Akunting dan sistem keuangan
* Informasi pengiriman dan pemesanan
* Pelaporan informasi dari klien dan enterprise
* Sistem pembayaran domestik dan internasional
* Newsgroup
* On-line Shopping
* Conferencing
* Online Banking
* E-mail dan Messaging
* Content Management Systems
* Dokumen, spreadsheet, database
* Akunting dan sistem keuangan
* Informasi pengiriman dan pemesanan
* Pelaporan informasi dari klien dan enterprise
* Sistem pembayaran domestik dan internasional
* Newsgroup
* On-line Shopping
* Conferencing
* Online Banking
Stateless Web Server
Untuk aplikasi
E-Commerce ini web server harus dapat mengingat identitas user 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 apapun yang telah
dilakukan oleh user sebelumnya dan terhadap siapa identitas user. Server
memperlakukan informasi request secara serial, satu persatu pada saat request
masuk. Tidak ada koneksi permanen (persistence) yang berjalan sete
Gambar 3. Perbandingan State dalam Sistem Aplikasi: A.State yang kontinyu dalam Aplikasi desktop, dan B.Stateless protokol dalam Aplikasi web
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,
sehingga Aplikasi ini mampu
mengingat ‘siapa memesan apa’, maka beberapa informasi yang mengidentifikasi
user harus dikirim dengan setiap request halaman web. Informasi
tersebut disimpan menggunakan session. Session tersebut digunakan
untuk merekam / tracking aktivitas user yang melalui sejumlah halaman
pada website, misalnya pada jenis Aplikasi Shopping Cart (kereta belanja). Direkam pula informasi
identitas user yang memiliki kereta belanja tersebut.
Dengan PHP, untuk penggunaan session ini awalnya 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 user berkunjung pada halaman-halaman
situs web, semua informasi variabel yang dipilih oleh user akan disimpan dalam
file pada server, dan semua script yang dibutuhkan untuk melacak sebagai
identifier unik.
Implementasi session dapat menggunakan 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 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 memberi identifier unik pada masing-masing user, yang
berfungsi mengidentifikasi siapa user tersebut. Sehingga saat user 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 suatu string unik yang akan
diletakkan dalam cookie, dalam direktori di server akan terdapat
sebuah file yang memiliki nama yang sama sebagai ID user yang unik. Dalam file
tersebut dapat disimpan semua variabel yang berkaitan dengan user. Contohnya
terdapat array berisi item-item barang yang ditambahkan oleh seorang
user ke dalam kereta belanjanya. Terdapat keterbatasan penggunaan cookie,
yakni bila browser user di atur untuk menolak (reject) cookie.
Metode lain yang digunakan adalah propagasi URL, yaitu
mengaktifkan flag –enable-trans-sid dalam konfigurasi PHP, hal ini
agar session id secara otomatis akan ditambahkan ke setiap relative
link pada tiap halaman web setiap kali session telah dimulai.
Arsitektur dan Konfigurasi Sistem
Arsitektur dasar dari aplikasi web ini adalah arsitektur client/server. Artinya
pemrosesan aplikasi ini
dijalankan melibatkan 2 sisi yakni server pusat dan client. Hal ini
berbeda dengan misalnya aplikasi
Microsoft Word yang hanya melibatkan 1 sisi saja yaitu sisi client.
Atau bagi user mesin VAX yang hanya menggunakan sisi server saja sedangkan sisi
client hanya dumb terminal saja yang tidak melakukan
pemrosesan apapun di client.
Gambar 2. Arsitektur Client/Server
Gambar 2. Arsitektur Client/Server
2.2 Konfigurasi Sistem dan Tool Yang Digunakan
Masalah lain dalam aplikasi ini adalah aspek keamanan dalam memperoleh informasi dari
user, 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
Web server menggunakan skema keamanan
Public-key/Private-key. Artinya komputer yang akan berkomunikasi dan
menggunakan data terenkripsi harus memiliki 2 buah kunci untuk mengenkripsi
data dan mendekripsinya. Pertama, public-key tersedia bagi siapapun yang ingin
melakukan komunikasi terhadapnya. Sehingga siapapun yang ingin melakukan
komunikasi terhadap sebuah server 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 User dengan
Server E-Commerce
2.2.2.Sertifikat
Meski masalah keamanan sudah ditangani dengan adanya Public
key / Private key, masih ada masalah yang perlu diperhatikan yakni pesan 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 jika 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.
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 PHP 4 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
diusahakan firewall.
• Web server di dalam firewall (lihat gambar
7). Jika diterapkan seperti ini, perlu dikonfigurasi agar firewall
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 yaitu firewall 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.
• 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 pemrosesan kartu kredit,
diperlukan instalasi pustaka kode ( code library) yang diperoleh dari
VeriSign. Selanjutnya dikompilasi ulang dengan PHP sehingga dapat mengenali
fungsi-fungsi tersebut (fungsi-fungsi pfpro) . Fungsi-fungsi tersebut akan
memproses 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 library
pada PHP (fungsi-fungsi cybercash).
2.2.7. CURL
Merupakan akronim dari fungsi-fungsi pustaka Client URL.
Kode library ini digunakan 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. Awalnya dikirim request tentang
informasi kartu kredit: nomor, tanggal kadaluarsa, alamat, dan sebagainya,
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.
Kesimpulan
Proses yang ada dalam E-commerce adalah sebagai
berikut :
• Presentasi
electronis (Pembuatan Web site) 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
• 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 penggunaan transfer elektronik / pembayaran yang tepat waktu dan dapat langsung dicek.
• Mempercepat pelayanan ke pelanggan, dan pelayanan lebih responsif.
• Mengurangi biaya-biaya yang berhubungan dengan kertas, seperti biaya pos surat, pencetakan,report,dan sebagainya.
• Mengurangi keterlambatan penggunaan transfer elektronik / pembayaran yang tepat waktu dan dapat langsung dicek.
• Mempercepat pelayanan ke pelanggan, dan pelayanan lebih responsif.
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.
-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.
-Pemrograman untuk
aplikasi e-commerce ini diimplementasikan dengan PHP.
Fungsi-fungsi utama yang dipergunakan dalam kode program di sini adalah fungsi
yang berhubungan dengan session dan fungsi yang berkaitan
dengan pustaka cURL.
-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.
-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
-Firewall digunakan untuk melindungi jaringan lokal dari serangan
luar.
-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.
-Pemrograman untuk
aplikasi e-commerce ini diimplementasikan dengan PHP.
-Fungsi session_register()
digunakan untuk menyatakan memulai session, sekaligus didefinisikan variabel
apa saja yang akan disimpan dalam session.
-Fungsi session_register()
diletakkan pada baris pertama program, karena fungsi ini mengirim cookies
yang merupakan salah satu tipe dari HTTP header.
Kesimpulan :
Pengembangan aplikasi e-commerce bagi sebuah
perusahaan / lembaga merupakan proses yang cukup kompleks. Melibatkan beberapa
organisasi / situs dalam penanganan sekuriti dan otorisasi.
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
0 komentar:
Posting Komentar