Pengantar Mambo/Joomla
Mambo Open Source (MOS) atau sering disebut Mambo adalah sebuah Content Management System (CMS) yang dibuat menggunakan bahasa PHP (PHP Hypertext Processor).
Perkembangan terakhir tentang Mambo, ada sedikit “konflik†antara developer (pengembang) dengan founder (pembuat program). Pihak founder berkeinginan untuk membentuk sebuah perusahaan bernama Mambo Foundation, namun para pengembang tidak setuju karena mereka beralasan bahwa jika Mambo sudah ditangani oleh sebuah perusahaan maka dikhawatirkan Mambo akan menjadi sebuah software yang komersial. Padalah tujuan awal dibuatnya Mambo adalah open source (gratis) untuk semua orang dan siapapun boleh menggunakan, menduplikasi, atau bahkan memodifikasi.
Kondisi seperti ini memicu para developer yang memiliki tanggung jawab dan hati nurani kepada user membuat mereka hengkang dari kepengurusan Mambo. Yang pada akhirnya para developer yang tidak setuju tersebut bergabung dan menciptakan sebuah software “tandingan†Mambo. Maka terciptalah sebuah sofware yang memiliki bentuk dan fungsi yang sama persis bernama Joomla.
Hampir seluruh modul maupun komponen untuk Mambo dapat pula digunakan pula pada Joomla. Jadi, entah Anda menggunakan Mambo ataupun Joomla, tidak menjadi masalah karena seluruh tool memiliki fungsi yang sama.
Meskipun program ini menggunakan bahasa php, bukan berarti harus paham seluruhnya tentang kode php. Bagi mereka tidak memahami kode HTML, Javascript, ASP, CGI, , maupun php tidak perlu takut untuk mempelajarinya karena meskipun tidak tahu tentang kode-kode tersebut, orang bisa membuat sebuah web secara cepat dengan beberapa fitur yang sangat kompleks Mambo dapat digunakan untuk membuat situs: 1. Portal 2. Komersial 3. Non-profit 4. Pribadi
Aplikasi yang beragam dapat dibuat hanya dengan Mambo/Joomla karena memiliki beberapa kemampuan, diantaranya:
1. Dapat melakukan update halaman utama, halaman berita, halaman artikel, maupun halaman arsip secara cepat.
2. Dapat melihat file PDF
3. Dapat menambahkan menu baru pada main menu, other menu, maupun top menu dengan mudah
4. Dapat mengatur weblink dengan cepat dan mudah.
5. Dapat mengatur banner (iklan).
6. Dapat mengatur FAQ (Frequently Asked Questions).
7. Dapat mengatur Newsflashes
8. Membuat arsip dan menampilkannya kembali
9. Dapat mencetak artikel, mengirim artikel lewat email, dan membaca artikel dengan format PDF.
10. Dapat mengatur pengguna (user) dengan tingkat akses level yang berbeda.
11. Dapat menambah komponen, modul, dan template dari pihak ketiga (seperti: forum, calendar, reminder, agenda, guestbook (buku tamu), shopping cart, dan sebagainya).
Desain Mambo berbeda dengan aplikasi sejenis seperti Microsoft Frontpage maupun Macromedia Dreamweaver. Mambo sangat fleksibel, mudah digunakan, dan bentuknya sederhana, menjadikan software ini sangat user friendly karena:
1. Mudah melakukan setup/instalasi.
2. Memiliki interface administrator yang sederhana untuk mengatur isi situs (website).
3. Mudah digunakan untuk mengedit (menambah, mengubah, dan menghapus) content dan gambar.
4. Fleksibel untuk mengatur tampilan front end.
5. Fleksibel untuk menambah komponen dan modul yang baru dari pihak ketiga.
Seperti telah diijelaskan sebelumnya bahwa Anda tidak perlu lagi mengetahui konsep pembuatan web dengan HTML, XML maupun DHTML, cukup memasukan content dan gambar yang ingin ditampilkan ke dalam situs. Bahkan webmaster tidak perlu memahami program FTP untuk melakukan upload data karena di dalam Mambo/Joomla sudah tersedia fasilitas untuk uploading.
Rabu, 12 Desember 2007
wEbloG Instan Menggunakan Macromedia dream weaVer Mx

Cara paling gampang untuk mempunyai sebuah web blog pribadi tanpa harus bersusah payah belajar PHP, ASP, Javascript, atau bahasa pemrograman web lainnya adalah memanfaatkan situs internet yang menyediakan layanan web blog secara instant.
Cukup dengan mengetikan alamat http://www.Blogger.com , atau http://www.Xanga.com , atau http://www.LiveJournal.com , atau yang lainnya, registrasi sebentar, lalu jadilah kita punya sebuah web blog pribadi. Cepat, mudah dan tentu saja gratis !!!.
Tapi bila anda menginginkan sebuah web blog yang nggak instant banget ( yang menurut temen aku katanya kalo bikin sendiri jadinya nggak keliatan “bego banget” ), maka Macromedia Dreamweaver cukup efektif untuk mewujudkan keinginan anda tersebut.
Asal anda tahu dasar – dasar penulisan HTML ( atau minimal pernah menggunakan Macromedia Dreamweaver ), itu sudah lebih dari cukup untuk membuat sebuah web blog yang agak sedikit “ berkelas ” tanpa harus menguasai benar akan bahasa pemrograman PHP.
Tulisan ini berisi tutorial pembuatan web blog dengan Macromedia Dreamweaver, pada server yang mendukung PHP dan MySQL. ( Tentunya untuk pemula seperti saya dong! )
Tool yang perlu kita persiapkan untuk membuat web blog tersebut disamping Macromedia Dreamweaver tentunya ( penulis menggunakan Macromedia Dreamweaver MX ) adalah Apache Server ( penulis menggunakan AppServ 2.4.4a ) dan tentu saja browsernya ( penulis menggunakan IE 6.0 ).
Sebagai persiapan, buka Windows Explorer anda, pada direktori c:/appserv/www ( penulis menginstal AppServ di drive c:/ ) buat sebuah folder kerja dengan nama my_blogger . Didalamnya, buat 3 sub direktori baru masing – masing dengan nama templates , blogger , dan satunya lagi images .
Buat sebuah GIF Image ukuran 800 px X 115 px, simpan dengan nama banner.gif dalam subdirektori images. Images ini akan kita pasang sebagai heading web blog kita nanti.
Dream Weaver
Tutorial: Mengedit Web dengan Dreamweaver
Ada sebagian web designer dalam membuat situs professional tidak memanfaatkan Adobe Photoshop dalam merancang web, padahal dengan software tersebut kita akan lebih mudah dan lebih praktis dibandingkan harus membuat kode html.
Ketika dokumen Adobe Photoshop (download: situs_bisnis.zip) tersimpan dalam bentuk web maka secara otomatis akan membuat tag html sendiri sehingga tidak perlu bersusah payah mengetik kode html. Anda dapat membuktikan sendiri seperti nampak pada gambar berikut.
dreamweaver_01.gif

1. Mengubah Objek menjadi Background
Tidak semua gambar (image) yang pada web yang telah kita buat diganti. Jika image tersebut berfungsi sebagai tombol, maka Anda dapat menambahkan menu pull down agar tampilan website lebih menarik. Anda juga dapat membuat tombol dalam bentuk mouse over, dan lain sebagainya.
Pada bagian ini, kita akan mencoba membahas tentang teknik penggantian objek gambar menjadi latar belakang (backgrdound) agar kita dapat memasukkan beberapa komponen di dalamnya (teks maupun grafik).
1. Pertama kali, bukalah file index.html menggunakan Macromedia Dreamweaver.

Gambar 1
2. Setelah file terbuka, tentukan terlebih dahulu image mana saja yang akan di jadikan latar belakang dan bagian mana saja yang akan dijadikan sebagai tombol. Sebagai contoh, klik image di bagian bawah teks New Product.

Gambar 2
3.Pada bagian Properties, tertulis Src = images/index_26.gif. Hal itu berarti kita tidak dapat memasukan teks di atas gambar tersebut karena objek tersebut adalah image, bukan merupakan background. Tekan Del untuk menghapusnya.

Gambar 3
4.Klik pada Background URL of cell untuk memilih gambar yang akan dijadikan latar belakang (background). Oleh karena nama file yang baru saja dihapus adalah index_26.gif maka gunakan file tersebut sebagai latar belakang.

Gambar 4
5. Ketikkan images/index_26.gif pada kolom Bg.

Gambar 5
6.Lakukan hal yang sama pada bagian lain apabila ingin dijadikan sebagai latar belakang agar kita dapat memasukkan objek berupa teks, animasi, maupun gambar.

2. Memasukkan Objek
Objek yang dimaksud dapat berupa animasi, gambar, maupun teks. Dalam Macromedia Dreamweaver proses memasukkan objek sangat mudah karena sudah disediakan tool yang sangat lengkap. Anda tinggal memilih objek apa yang akan dimasukkan. Berikut ini akan membahas masalah teknik memasukkan objek berupa teks.
1.Letakkan kursor pada tempat yang akan ditambahkan teks.

Gambar 11
2.Pada penel Properties, aturlah beberapa spesifikasi seperti nampak pada gambar berikut.

Gambar 12
3.Ketikkan beberapa kalimat yang berisi berita, kemudian aturlah format teks tersebut seperti nampak pada gambar berikut.

Gambar 13
4.Anda bisa memasukkan image di antara teks tersebut. Untuk melakukan hal itu, pertama kali letakkan kursor di awal paragraf kemudian pilih menu Insert > Image.

Gambar 14
5. Pilih file gambar yang akan dimasukkan dalam dokumen tersebut.

Gambar 15
6. Apabila berhasil memasukkan gambar, maka akan terlihat objek tersebut berada di depan paragraf. Namun posisinya masih kurang sempurna karena susunan teks terdorong oleh gambar tersebut.

Gambar 16
7. Agar tampilan lebih rapi, Anda dapat mengatur posisi gambar sehingga seluruh teks akan berada di sebelah kanan gambar. Untuk melakukan hal tersebut, pada panel Properties pilih Left untuk Align.

Gambar 17
MEMBUAT LINK DAN NAVIGASI
Menu yang mudah digunakan (user friendly) dapat membantu pengguna ketika mencari informasi yang dibutuhkan. Sebaiknya menggunakan tombol menu yang umum, seperti: Home, Product, Service, dan Contact Us
Dalam Macromedia Dreamweaver, kita membuat Pop-up Menu, dan Jumping Menu secara mudah. Anda tidak bersusah payah menuliskan script yang panjang dalam bahasa Javascript karena telah disediakan tool yang sangat mudah dan fleksibel.
1. Membuat Pop-up Menu
Keunggulan software Macromedia Dreamweaver dibandingkan dengan aplikasi lain yang sejenis adalah adanya tool untuk membuat menu pop-up yang dibuat dengan bahasa Java. Bagi mereka yang masih awan dengan bahasa Java, tidak perlu bingung karena disediakan panel Behavior untuk mempermudah dalam pembuatan menu pop-up.
Sebelum membuat pop-up menu terlebih dulu harus menyiapkan nama file sebagai link. Sebagai contoh: ketika user memilih menu PC maka yang akan muncul adalah pilihan nama computer seperti Acer, HP, BenQ, dan lain sebagainya. Dan ketika user memilih salah satu opsi (missal: Acer) maka akan terhubung ke file tersebut.
Dengan demikian, Anda harus membuat beberapa file dengan bentuk interface yang sama seperti halaman utama, yaitu menyimpan dengan nama lain (contoh: Save As > acer.html). Diasumsikan, Anda telah memiliki beberapa file sebagai link yang dimaksud.
1.Pertama kali, klik menu PC.
dreamweaver_21.gif

2.Jika panel Behaviors belum muncul, aktifkan terlebih dulu dengan cara memilih menu Window > Behaviors.
dreamweaver_22.gif

3. Pada panel Behaviors (berada di sebelah kanan), klik tombol Add (tanda plus) untuk membuka menu.
dreamweaver_23.gif

4. Selanjutnya pilih Show Pop up Menu.
dreamweaver_24.gif

5. Setelah mengklik pilihan tersebut, maka akan muncul kotak dialog Show Pop-up Menu yang masih kosong.
dreamweaver_25.gif

6. Pada Tab Contents, masukkan nama menu pada kolom Text (misal: Acer).
dreamweaver_26.gif

7. Kemudian masukkan alamat URL pada kolom Link.
dreamweaver_27.gif

8. Selanjutnya pada kolom Target, pilih _parent.
dreamweaver_28.gif

9.Untuk membuat menu yang baru, klik tanda plus (+) di bagian atas. Kemudian lakukan hal sama seperti pada tahap 6.
dreamweaver_29.gif
10.Selanjutnya, klik Tab Appearance untuk mengatur warna teks dan latar belakang pop up menu. Tentukan jenis dan ukuran font yang digunakan. Lalu tentukan pula warna teks dan warna cell ketika mouse berada di atas teks.
dreamweaver_30.gif
11.Klik Tab Advanced untuk menentukan lebar, tinggi dan warna border kotak pop up menu.
dreamweaver_31.gif
12. Klik Tab Position untuk menentukan posisi pop up menu.
dreamweaver_32.gif
13. Setelah selesai klik OK. Untuk melihat hasilnya, klik tombol F12.
dreamweaver_33.gif
14. Untuk mengasah keterampilan Anda, buatlah pop-up menu pada tombol lain.
2. Membuat Rollover Image
Macromedia Dreamweaver selain menyediakan tool untuk membuat Pop up Menu juga menyediakan tool untuk membuat Rollover Image sebagai tombol. Yang harus Anda lakukan pertama kali adalah menyediakan dua buah gambar yang ukurannya sama tapi warnanya berbeda.
1. Buatlah duplikasi gambar tombol yang telah ada.
dreamweaver_41.gif
2. Kemudian editlah file hasil duplikasi tersebut menggunakan Adobe Photoshop. Pilih menu Image > Adjustment > Hue/Saturation.
dreamweaver_42.gif
3.Setelah muncul kotak dialog Hue/Saturation, aktifkan pilihan Colorize. Kemudian geser Slider Hue maupun Saturation sesuai kebutuhan. Setelah selesai klik OK, simpan dokumen tersebut dengan cara menekan Ctrl+S.
dreamweaver_43.gif
4. Sekarang kembali ke Macromedia Dreamweaver. Klik gambar About Us.
dreamweaver_44.gif
5. Hapuslah objek tersebut dengan cara menekan tombol Del. Selanjutnya pilih menu Insert > Image Objects > Rollover Image.
dreamweaver_45.gif
6. Setelah muncul kotak dialog Insert Rollover Image, berilah nama gambar pada kolom Image name kemudian tentukan gambar asli pada kolom Original Image. Untuk mempermudah pencarian file, klik tombol Browse. Tentukan pula file untuk gambar rollover pada kolom Rollover Image.
dreamweaver_46.gif
7. Masukkan teks alternat pada kolom Alt, lalu tentukan nama file sebagai link ketika tombol tersebut di klik.
dreamweaver_47.gif
8.Untuk melihat hasilnya, tekan tombol F12.
Ada sebagian web designer dalam membuat situs professional tidak memanfaatkan Adobe Photoshop dalam merancang web, padahal dengan software tersebut kita akan lebih mudah dan lebih praktis dibandingkan harus membuat kode html.
Ketika dokumen Adobe Photoshop (download: situs_bisnis.zip) tersimpan dalam bentuk web maka secara otomatis akan membuat tag html sendiri sehingga tidak perlu bersusah payah mengetik kode html. Anda dapat membuktikan sendiri seperti nampak pada gambar berikut.
dreamweaver_01.gif

1. Mengubah Objek menjadi Background
Tidak semua gambar (image) yang pada web yang telah kita buat diganti. Jika image tersebut berfungsi sebagai tombol, maka Anda dapat menambahkan menu pull down agar tampilan website lebih menarik. Anda juga dapat membuat tombol dalam bentuk mouse over, dan lain sebagainya.
Pada bagian ini, kita akan mencoba membahas tentang teknik penggantian objek gambar menjadi latar belakang (backgrdound) agar kita dapat memasukkan beberapa komponen di dalamnya (teks maupun grafik).
1. Pertama kali, bukalah file index.html menggunakan Macromedia Dreamweaver.

Gambar 1
2. Setelah file terbuka, tentukan terlebih dahulu image mana saja yang akan di jadikan latar belakang dan bagian mana saja yang akan dijadikan sebagai tombol. Sebagai contoh, klik image di bagian bawah teks New Product.

Gambar 2
3.Pada bagian Properties, tertulis Src = images/index_26.gif. Hal itu berarti kita tidak dapat memasukan teks di atas gambar tersebut karena objek tersebut adalah image, bukan merupakan background. Tekan Del untuk menghapusnya.

Gambar 3
4.Klik pada Background URL of cell untuk memilih gambar yang akan dijadikan latar belakang (background). Oleh karena nama file yang baru saja dihapus adalah index_26.gif maka gunakan file tersebut sebagai latar belakang.

Gambar 4
5. Ketikkan images/index_26.gif pada kolom Bg.

Gambar 5
6.Lakukan hal yang sama pada bagian lain apabila ingin dijadikan sebagai latar belakang agar kita dapat memasukkan objek berupa teks, animasi, maupun gambar.

2. Memasukkan Objek
Objek yang dimaksud dapat berupa animasi, gambar, maupun teks. Dalam Macromedia Dreamweaver proses memasukkan objek sangat mudah karena sudah disediakan tool yang sangat lengkap. Anda tinggal memilih objek apa yang akan dimasukkan. Berikut ini akan membahas masalah teknik memasukkan objek berupa teks.
1.Letakkan kursor pada tempat yang akan ditambahkan teks.

Gambar 11
2.Pada penel Properties, aturlah beberapa spesifikasi seperti nampak pada gambar berikut.

Gambar 12
3.Ketikkan beberapa kalimat yang berisi berita, kemudian aturlah format teks tersebut seperti nampak pada gambar berikut.

Gambar 13
4.Anda bisa memasukkan image di antara teks tersebut. Untuk melakukan hal itu, pertama kali letakkan kursor di awal paragraf kemudian pilih menu Insert > Image.

Gambar 14
5. Pilih file gambar yang akan dimasukkan dalam dokumen tersebut.

Gambar 15
6. Apabila berhasil memasukkan gambar, maka akan terlihat objek tersebut berada di depan paragraf. Namun posisinya masih kurang sempurna karena susunan teks terdorong oleh gambar tersebut.

Gambar 16
7. Agar tampilan lebih rapi, Anda dapat mengatur posisi gambar sehingga seluruh teks akan berada di sebelah kanan gambar. Untuk melakukan hal tersebut, pada panel Properties pilih Left untuk Align.

Gambar 17
MEMBUAT LINK DAN NAVIGASI
Menu yang mudah digunakan (user friendly) dapat membantu pengguna ketika mencari informasi yang dibutuhkan. Sebaiknya menggunakan tombol menu yang umum, seperti: Home, Product, Service, dan Contact Us
Dalam Macromedia Dreamweaver, kita membuat Pop-up Menu, dan Jumping Menu secara mudah. Anda tidak bersusah payah menuliskan script yang panjang dalam bahasa Javascript karena telah disediakan tool yang sangat mudah dan fleksibel.
1. Membuat Pop-up Menu
Keunggulan software Macromedia Dreamweaver dibandingkan dengan aplikasi lain yang sejenis adalah adanya tool untuk membuat menu pop-up yang dibuat dengan bahasa Java. Bagi mereka yang masih awan dengan bahasa Java, tidak perlu bingung karena disediakan panel Behavior untuk mempermudah dalam pembuatan menu pop-up.
Sebelum membuat pop-up menu terlebih dulu harus menyiapkan nama file sebagai link. Sebagai contoh: ketika user memilih menu PC maka yang akan muncul adalah pilihan nama computer seperti Acer, HP, BenQ, dan lain sebagainya. Dan ketika user memilih salah satu opsi (missal: Acer) maka akan terhubung ke file tersebut.
Dengan demikian, Anda harus membuat beberapa file dengan bentuk interface yang sama seperti halaman utama, yaitu menyimpan dengan nama lain (contoh: Save As > acer.html). Diasumsikan, Anda telah memiliki beberapa file sebagai link yang dimaksud.
1.Pertama kali, klik menu PC.
dreamweaver_21.gif

2.Jika panel Behaviors belum muncul, aktifkan terlebih dulu dengan cara memilih menu Window > Behaviors.
dreamweaver_22.gif

3. Pada panel Behaviors (berada di sebelah kanan), klik tombol Add (tanda plus) untuk membuka menu.
dreamweaver_23.gif

4. Selanjutnya pilih Show Pop up Menu.
dreamweaver_24.gif

5. Setelah mengklik pilihan tersebut, maka akan muncul kotak dialog Show Pop-up Menu yang masih kosong.
dreamweaver_25.gif

6. Pada Tab Contents, masukkan nama menu pada kolom Text (misal: Acer).
dreamweaver_26.gif

7. Kemudian masukkan alamat URL pada kolom Link.
dreamweaver_27.gif

8. Selanjutnya pada kolom Target, pilih _parent.
dreamweaver_28.gif

9.Untuk membuat menu yang baru, klik tanda plus (+) di bagian atas. Kemudian lakukan hal sama seperti pada tahap 6.
dreamweaver_29.gif
10.Selanjutnya, klik Tab Appearance untuk mengatur warna teks dan latar belakang pop up menu. Tentukan jenis dan ukuran font yang digunakan. Lalu tentukan pula warna teks dan warna cell ketika mouse berada di atas teks.
dreamweaver_30.gif
11.Klik Tab Advanced untuk menentukan lebar, tinggi dan warna border kotak pop up menu.
dreamweaver_31.gif
12. Klik Tab Position untuk menentukan posisi pop up menu.
dreamweaver_32.gif
13. Setelah selesai klik OK. Untuk melihat hasilnya, klik tombol F12.
dreamweaver_33.gif
14. Untuk mengasah keterampilan Anda, buatlah pop-up menu pada tombol lain.
2. Membuat Rollover Image
Macromedia Dreamweaver selain menyediakan tool untuk membuat Pop up Menu juga menyediakan tool untuk membuat Rollover Image sebagai tombol. Yang harus Anda lakukan pertama kali adalah menyediakan dua buah gambar yang ukurannya sama tapi warnanya berbeda.
1. Buatlah duplikasi gambar tombol yang telah ada.
dreamweaver_41.gif
2. Kemudian editlah file hasil duplikasi tersebut menggunakan Adobe Photoshop. Pilih menu Image > Adjustment > Hue/Saturation.
dreamweaver_42.gif
3.Setelah muncul kotak dialog Hue/Saturation, aktifkan pilihan Colorize. Kemudian geser Slider Hue maupun Saturation sesuai kebutuhan. Setelah selesai klik OK, simpan dokumen tersebut dengan cara menekan Ctrl+S.
dreamweaver_43.gif
4. Sekarang kembali ke Macromedia Dreamweaver. Klik gambar About Us.
dreamweaver_44.gif
5. Hapuslah objek tersebut dengan cara menekan tombol Del. Selanjutnya pilih menu Insert > Image Objects > Rollover Image.
dreamweaver_45.gif
6. Setelah muncul kotak dialog Insert Rollover Image, berilah nama gambar pada kolom Image name kemudian tentukan gambar asli pada kolom Original Image. Untuk mempermudah pencarian file, klik tombol Browse. Tentukan pula file untuk gambar rollover pada kolom Rollover Image.
dreamweaver_46.gif
7. Masukkan teks alternat pada kolom Alt, lalu tentukan nama file sebagai link ketika tombol tersebut di klik.
dreamweaver_47.gif
8.Untuk melihat hasilnya, tekan tombol F12.
Selasa, 11 Desember 2007
"Dampak Cracker Bagi e-Commerce"
Pada tahun 2003 yang tidak lama lagi akan dijelang, kesepakatan perdagangan bebas dan penghapusan bea impor barang antar negara-negara Asean Free Trade Area / North American Free Trade Agreement (AFTA/NAFTA) akan mengantarkan kita ke gerbang era globalisasi pasar dunia. Tiap negara akan memicu dan memacu komoditi unggulannya agar dapat terus bertahan dan mampu bersaing dengan negara lainnya.
Kondisi struktural institusi bisnis negara-negara tersebut akan menghadapi pakem baru, dideregulasi sedemikian rupa sehingga meninggalkan pakem monopolistik protektif yang mulai usang, menjadi pakem liberalisasi dan privatisasi. Hal tersebut akan mengubah peta persaingan ekonomi antar negara tersebut menjadi lebih terbuka dan transparan. Tiap negara kini tengah mempersiapkan stimulan peningkat daya saing komoditi mereka.
Berdasarkan pengamatan Bank Dunia, kemampuan daya saing negara-negara tersebut akan terakselerasi dan terstimulasi sedemikian rupa apabila diberi sentuhan-sentuhan teknologi informasi. Mulai dari proses produksi, distribusi hingga pengkomsusian barang atau jasa dapat ditandemkan dengan teknologi informasi dengan tujuan agar tercapai efektifitas dan efisiensi yang ujung-ujungnya akan menurunkan biaya produksi dan meningkatkan nilai jual.
Bahkan tak kurang dari negara-negara berkembang yang termasuk dalam anggota G-7 telah sepakat untuk memberikan kesempatan kepada teknologi informasi menjadi landasan berpijak setiap langkah dan tindakan peningkatan kemajuan ekonomi negara tersebut. Salah satu aplikasi teknologi informasi yang tengah menjadi primadona saat ini adalah Internet.
Salah satu pengejawantahan dunia bisnis dan perdagangan berbasis Internet adalah electronic commerce atau disingkat e-commerce. e-Commerce adalah proses membeli, menjual, memasarkan dan melayani suatu barang, jasa dan informasi melalui beragam jenis jaringan komputer seperti Internet (James A. O’Brien, Management Information Systems, 1999). e-Commerce itu sendiri pada dasarnya terbagi atas dua jenis, yaitu aktifitas business to business (B2B) dan business to customer (B2C).
Fokus B2B adalah perdagangan antar perusahaan, sedangkan B2C memfokuskan diri pada perdagangan antara sebuah perusahaan dengan konsumen akhir. Salah satu contoh perusahaan di Indonesia yang menerapkan konsep B2B adalah situs www.dagang2000.com milik PT Indosat Adimarga dan www.indonesianexport.com milik PT e-Commerce Nusantara. Sedangkan yang menerapkan konsep B2C antara lain adalah toko buku online www.sanur.co.id dan situs ritel www.radioclick.com.
Berdasarkan majalah Newsweek (edisi November 1999) diungkapkan bahwa proyeksi B2B e-commerce dunia meningkat dari sekitar USD 200 milyar pada tahun 2000 menjadi sekitar USD 1,3 trilyun pada tahun 2003, yang berarti meningkat sekitar enam kali lipat hanya dalam kurun waktu tiga tahun saja. Bahkan pada Newsweek edisi Januari 2000 diprediksikan pada tahun 2004 akan tercapai angka spektakuler yakni USD 2,7 trilyun.
Sedangkan pada sektor B2C, Newsweek (edisi November 2000) memprediksi bahwa nilai e-commerce tersebut akan mencapai kisaran USD 175 milyar pada tahun 2003, meningkat 3,5 kali lipat dari nilai awal USD 50 milyar pada tahun 2000. Angka tersebut memproyeksikan besaran nilai transaksi yang dapat dihasilkan melalui aktifitas e-commerce di dunia.
Untuk di Indonesia sendiri, ternyata hasil survei Business Intelligence Report (BIRO), menunjukkan bahwa sekitar 60% responden sudah terbiasa berkorespondensi lewat e-mail dan siap bertransaksi secara online. Hasil survei yang dikutip oleh majalah Warta Ekonomi (edisi No.25/XIII/25 Juni 2001) tersebut berbasis pada 420 responden perusahaan UKM yang berlokasi di Jabotabek dengan 80% responden memiliki investasi di bawah US$ 1 juta dan 72,5% responden memiliki omzet di bawah US$ 1 juta. Dipaparkan pula bahwa ternayta sebanyak 127 perusahaan, atau sekitar 30% responden UKM tersebut sudah membuat dan menggunakan website dengan motivasi utama mendukung kegiatan promosi.
Perbedaan Terminologi Hacker dan Cracker
Secara lebih spesifik hacker didefinisikan sebagai seseorang yang memiliki keinginan untuk melakukan eksplorasi dan penetrasi terhadap sebuah sistem operasi dan kode komputer pengaman lainnya, tetapi tidak melakukan tindakan pengrusakan apapun, tidak mencuri uang atau informasi. Sedangkan cracker adalah sisi gelap dari hacker dan memiliki kertertarikan untuk mencuri informasi, melakukan berbagai macam kerusakan dan sesekali waktu juga melumpuhkan keseluruhan sistem komputer.
Perbedaan terminologi antar hacker dan cracker terkadang menjadi bias dan hilang sama sekali dalam perspektif media massa dan di masyarakat umum. Para cracker juga tidak jarang menyebut diri mereka sebagai hacker sehingga menyebabkan citra hacking menjadi buruk. (Richard Mansfield, Hacker Attack, 2000).
Tindakan penyusupan ke dalam suatu sistem komputer yang dilakukan oleh cracker tersebut dalam upaya mencuri data kartu kredit hingga mengganti tampilan suatu situs di Internet, disebut dengan istilah cracking. Hal tersebut menegaskan bahwa terminologi hacking sebenarnya adalah perilaku atau tindakan menerobos masuk sebuah sistem secara elektronis. Tidak lebih dari sekedar untuk mendapatkan akses sebuah sistem komputer dan membaca beberapa file di dalam sistem komputer tersebut, tanpa diikuti tindakan pencurian atau pengrusakan apapun.
Beberapa contoh tindakan cracker yang dianggap merugikan pengguna Internet lainnya antara lain adalah dilumpuhkannya beberapa saat situs Yahoo.com, eBay.com, Amazon.com, Buy.com, ZDNet.com, CNN.com, eTrade.com dam MSN.com karena serangan bertubi-tubi dari cracker dengan teknik Distributed Denial of Service (DDoS). Serangan yang dilancarkan pada bulan Februari 2000 tersebut sempat melambatkan trafik Internet dunia sebesar 26 persen.
Kemudian kasus lain semisal dicurinya 55 ribu data kartu kredit dari situs CreditCards.com. Data tersebut kemudian ditayangkan di situs lain cracker pencurinya setelah dia gagal memeras sejumlah USD 100 ribu dari situs yang nahas tersebut. Kejadian pencurian data kartu kredit tersebut berlangsung pada bulan Desember 2000.
Dampak Aktifitas Cracker Terhadap e-Commerce
Perilaku cracker tersebut akan berdampak negatif bagi perkembangan e-commerce. Di satu sisi para pemiliki komoditi akan enggan mengaplikasikan e-commerce karena kuatir menjadi sasaran untuk dilumpuhkan, diganti tampilan situsnya atau data pelanggannya dicuri. Sedangkan bagi para konsumen akan dibayangi oleh ketakutan bahwa data pribadi mereka, termasuk nomor kartu kredit, akan dapat dibajak oleh cracker.
Pada survei yang dilakukan oleh America’s Federal Trade Commision (AFTC) seperti dikutip oleh majalah The Economist (edisi Mei 1999), 80 persen warga Amerika mencemaskan kemungkinan tersebarnya data pribadi dirinya di Internet. Sedangkan menurut survei yang dilakukan oleh PC Data Online pada tanggal 15 Februari 2000, dengan maraknya kasus kejahatan di Internet, 54 persen responden menyatakan bahwa dirinya akan mengubah kebiasaan kebiasaannya di Internet. 80 persen dari yang akan berubah tersebut menyatakan akan semakin jarang mengirim informasi kartu kredit melalui Internet.
Lebih menarik lagi adalah penelitian yang dikerjakan bersama oleh Information Week Research, PricewaterhouseCoopers dan Reality Research pada tanggal 12 Juli 2000 terhadap sekitar 4900 profesional TI dari 30 negara. Hasil penelitian tersebut mengungkapkan bahwa penanggulangan virus dan tindakan destruktif lain yang dilakukan oleh cracker menyedot dana pelaku bisnis sedunia senilai USD 1,6 triliun pada tahun 2000 saja. Selain itu sekitar produktifitas 40 ribu person year akan hilang karena komputer diserang cracker. 1 person year setara dengan 1 orang bekerja selama 24 jam sehari, 7 hari seminggu, sepanjang tahun.
Untuk kondisi di Indonesia, maka hasil survei yang dilakukan oleh MarkPlus & Co. yang dipaparkan di depan peserta konferensi bertajuk Indonesia Leading Internet Brand 2000 pada tanggal 25 Juni 2000 di Hotel Shangri-La Jakarta dan dimuat pada majalah Swa Sembada (edisi No.11/XVI/30 Mei - 12 Juni 2001), dapat dijadikan rujukan. Survei itu sendiri dilakukan pada 22 Maret 2000 hingga 5 April 2000 dengan mengambil responden sebanyak 1100 orang dari lima kota utama di Indonesia, yaitu Jabotabek 250 orang, Bandung 200 orang, Yogyakarta 150 orang, Surabaya 200 orang dan Medan 100 orang.
Dari data-data yang dikumpulkan dari para responden tersebut, tergambarkan bahwa 14,2% responden mulai menggunakan Internet kurang dari 6 bulan yang lalu, 25,9% antara 6-12 bulan yang lalu, 31,3% antara 1-2 tahun yang lalu, 13,7% antara 2-3 tahun yang lalu, 8,4% antara 3-4 tahun yang lalu dan 6,6% merupakan pengguna yang telah menggunakan Internet lebih dari 4 tahun yang lalu. Hal yang perlu digarisbawahi pada hasil survei tersebut adalah:
“90,1 persen tidak pernah bertransaksi online dengan alasan karena merasa kuatir (15,1 persen) atau karena merasa tidak aman / beresiko tinggi (13,6 persen). Ini berarti lebih dari 25 persen dari 1100 responden enggan bertransaksi e-commerce karena kuatir dengan faktor keamanan bertransaksi melalui Internet”.
Berdasarkan beberapa hasil survei di atas maka dapat ditarik benang merah antara aktifitas cracking dengan nilai transaksi e-commerce. Semakin kerap aktifitas cracking tersebut dilakukan oleh para cracker, akan semakin kuatir para konsumen dalam bertransaksi online di Internet, maka akan semakin menurun pula nilai transaksi yang dapat dijaring melalui e-commerce.
Chat Room Digemari Cracker
Dengan berhubungan dengan koleganya, seorang cracker dapat belajar mengenai teknik-teknik baru, memahami ideologi cracker, barter informasi, mengajak cracker lain untuk melakukan cracking hingga berbagi pengalaman. Sosialiasi cracker dengan cracker lainnya sebagai kerap terjadi di suatu tempat yang sama dan dapat dianggap sebagai sebuah komunitas.
Dalam komunitas tersebut, cracker melakukan hubungan melalui alat komunikasi elektronis sehingga komunitas tersebut bisa dinyatakan sebagai komunitas elektronis atau maya. Komunitas maya tersebut kerap menggunakan aplikasi chat atau Internet Relay Chat (IRC).
Chat adalah suatu aktifitas bertemunya dua orang atau lebih di Internet dari manapun di dunia untuk melakukan dialog bersama secara online dengan cara mengetikkan pesan pada satu ruangan khusus yang biasanya disediakan oleh bermacam institusi di Internet (Straubhaar & LaRose, Media Now, 2000). Chat seperti sebagai ruang santai yang di dalamnya banyak orang di seluruh pelosok dunia dapat mengobrol secara tertulis tanpa bertatap muka pada waktu yang bersamaan (Jeff Zaleski, Spiritualitas Cyber Space, 1997).
Yang membuat cracker tertarik untuk membuat satu komunitas maya menggunakan chat room di Internet adalah karena aplikasi tersebut memungkinkan cracker atau siapapun dapat tampil atau berinteraksi tanpa harus menunjukkan jati diri sebenarnya (anonimity). Teknologi yang diusung oleh Internet memungkinkan munculnya konsep dan implementasi anonimitas seperti tokoh tanpa identitas misalnya para hacker dalam Internet (Yasraf Amir Pialang, Dunia yang Dilipat, 1999).
Salah seorang cracker Amerika yang menggunakan nama alias MafiaBoy terbukti memamerkan kemampuannya untuk melumpuhkan situs CNN.com pada tanggal 8 Februari 2000 kepada rekan cracker lainnya di sebuah chat room. Di dalam chat room tersebut dia juga terbukti menganjurkan rekannya untuk melakukan serangan ke situs-Internet lain yang akhirnya melumpuhkan situs Yahoo.com, Amazon.com, eBay.com dan ZDNet.com (www.zdnet.com/zdnn/stories/news/0,4586,2552467,00.html).
Sedangkan hC-, seorang cracker Indonesia yang dikenakan denda sebesar Rp 150 juta di pengadilan negeri Singapura pada tanggal 30 Agustus 2000 karena membobol jaringan komputer perusahaan Data Storage Institute dan MTL Instruments Pte Ltd Singapura, berdasarkan statement of facts pihak kepolisian Singapura terungkap bahwa melalui chat room di IRC lah pada awalnya hC- mempelajari teknik penyusupan sebuah jaringan komputer. (www.detik.com.net/2000/08/28/2000828-132609.shtml).
Kondisi struktural institusi bisnis negara-negara tersebut akan menghadapi pakem baru, dideregulasi sedemikian rupa sehingga meninggalkan pakem monopolistik protektif yang mulai usang, menjadi pakem liberalisasi dan privatisasi. Hal tersebut akan mengubah peta persaingan ekonomi antar negara tersebut menjadi lebih terbuka dan transparan. Tiap negara kini tengah mempersiapkan stimulan peningkat daya saing komoditi mereka.
Berdasarkan pengamatan Bank Dunia, kemampuan daya saing negara-negara tersebut akan terakselerasi dan terstimulasi sedemikian rupa apabila diberi sentuhan-sentuhan teknologi informasi. Mulai dari proses produksi, distribusi hingga pengkomsusian barang atau jasa dapat ditandemkan dengan teknologi informasi dengan tujuan agar tercapai efektifitas dan efisiensi yang ujung-ujungnya akan menurunkan biaya produksi dan meningkatkan nilai jual.
Bahkan tak kurang dari negara-negara berkembang yang termasuk dalam anggota G-7 telah sepakat untuk memberikan kesempatan kepada teknologi informasi menjadi landasan berpijak setiap langkah dan tindakan peningkatan kemajuan ekonomi negara tersebut. Salah satu aplikasi teknologi informasi yang tengah menjadi primadona saat ini adalah Internet.
Salah satu pengejawantahan dunia bisnis dan perdagangan berbasis Internet adalah electronic commerce atau disingkat e-commerce. e-Commerce adalah proses membeli, menjual, memasarkan dan melayani suatu barang, jasa dan informasi melalui beragam jenis jaringan komputer seperti Internet (James A. O’Brien, Management Information Systems, 1999). e-Commerce itu sendiri pada dasarnya terbagi atas dua jenis, yaitu aktifitas business to business (B2B) dan business to customer (B2C).
Fokus B2B adalah perdagangan antar perusahaan, sedangkan B2C memfokuskan diri pada perdagangan antara sebuah perusahaan dengan konsumen akhir. Salah satu contoh perusahaan di Indonesia yang menerapkan konsep B2B adalah situs www.dagang2000.com milik PT Indosat Adimarga dan www.indonesianexport.com milik PT e-Commerce Nusantara. Sedangkan yang menerapkan konsep B2C antara lain adalah toko buku online www.sanur.co.id dan situs ritel www.radioclick.com.
Berdasarkan majalah Newsweek (edisi November 1999) diungkapkan bahwa proyeksi B2B e-commerce dunia meningkat dari sekitar USD 200 milyar pada tahun 2000 menjadi sekitar USD 1,3 trilyun pada tahun 2003, yang berarti meningkat sekitar enam kali lipat hanya dalam kurun waktu tiga tahun saja. Bahkan pada Newsweek edisi Januari 2000 diprediksikan pada tahun 2004 akan tercapai angka spektakuler yakni USD 2,7 trilyun.
Sedangkan pada sektor B2C, Newsweek (edisi November 2000) memprediksi bahwa nilai e-commerce tersebut akan mencapai kisaran USD 175 milyar pada tahun 2003, meningkat 3,5 kali lipat dari nilai awal USD 50 milyar pada tahun 2000. Angka tersebut memproyeksikan besaran nilai transaksi yang dapat dihasilkan melalui aktifitas e-commerce di dunia.
Untuk di Indonesia sendiri, ternyata hasil survei Business Intelligence Report (BIRO), menunjukkan bahwa sekitar 60% responden sudah terbiasa berkorespondensi lewat e-mail dan siap bertransaksi secara online. Hasil survei yang dikutip oleh majalah Warta Ekonomi (edisi No.25/XIII/25 Juni 2001) tersebut berbasis pada 420 responden perusahaan UKM yang berlokasi di Jabotabek dengan 80% responden memiliki investasi di bawah US$ 1 juta dan 72,5% responden memiliki omzet di bawah US$ 1 juta. Dipaparkan pula bahwa ternayta sebanyak 127 perusahaan, atau sekitar 30% responden UKM tersebut sudah membuat dan menggunakan website dengan motivasi utama mendukung kegiatan promosi.
Perbedaan Terminologi Hacker dan Cracker
Secara lebih spesifik hacker didefinisikan sebagai seseorang yang memiliki keinginan untuk melakukan eksplorasi dan penetrasi terhadap sebuah sistem operasi dan kode komputer pengaman lainnya, tetapi tidak melakukan tindakan pengrusakan apapun, tidak mencuri uang atau informasi. Sedangkan cracker adalah sisi gelap dari hacker dan memiliki kertertarikan untuk mencuri informasi, melakukan berbagai macam kerusakan dan sesekali waktu juga melumpuhkan keseluruhan sistem komputer.
Perbedaan terminologi antar hacker dan cracker terkadang menjadi bias dan hilang sama sekali dalam perspektif media massa dan di masyarakat umum. Para cracker juga tidak jarang menyebut diri mereka sebagai hacker sehingga menyebabkan citra hacking menjadi buruk. (Richard Mansfield, Hacker Attack, 2000).
Tindakan penyusupan ke dalam suatu sistem komputer yang dilakukan oleh cracker tersebut dalam upaya mencuri data kartu kredit hingga mengganti tampilan suatu situs di Internet, disebut dengan istilah cracking. Hal tersebut menegaskan bahwa terminologi hacking sebenarnya adalah perilaku atau tindakan menerobos masuk sebuah sistem secara elektronis. Tidak lebih dari sekedar untuk mendapatkan akses sebuah sistem komputer dan membaca beberapa file di dalam sistem komputer tersebut, tanpa diikuti tindakan pencurian atau pengrusakan apapun.
Beberapa contoh tindakan cracker yang dianggap merugikan pengguna Internet lainnya antara lain adalah dilumpuhkannya beberapa saat situs Yahoo.com, eBay.com, Amazon.com, Buy.com, ZDNet.com, CNN.com, eTrade.com dam MSN.com karena serangan bertubi-tubi dari cracker dengan teknik Distributed Denial of Service (DDoS). Serangan yang dilancarkan pada bulan Februari 2000 tersebut sempat melambatkan trafik Internet dunia sebesar 26 persen.
Kemudian kasus lain semisal dicurinya 55 ribu data kartu kredit dari situs CreditCards.com. Data tersebut kemudian ditayangkan di situs lain cracker pencurinya setelah dia gagal memeras sejumlah USD 100 ribu dari situs yang nahas tersebut. Kejadian pencurian data kartu kredit tersebut berlangsung pada bulan Desember 2000.
Dampak Aktifitas Cracker Terhadap e-Commerce
Perilaku cracker tersebut akan berdampak negatif bagi perkembangan e-commerce. Di satu sisi para pemiliki komoditi akan enggan mengaplikasikan e-commerce karena kuatir menjadi sasaran untuk dilumpuhkan, diganti tampilan situsnya atau data pelanggannya dicuri. Sedangkan bagi para konsumen akan dibayangi oleh ketakutan bahwa data pribadi mereka, termasuk nomor kartu kredit, akan dapat dibajak oleh cracker.
Pada survei yang dilakukan oleh America’s Federal Trade Commision (AFTC) seperti dikutip oleh majalah The Economist (edisi Mei 1999), 80 persen warga Amerika mencemaskan kemungkinan tersebarnya data pribadi dirinya di Internet. Sedangkan menurut survei yang dilakukan oleh PC Data Online pada tanggal 15 Februari 2000, dengan maraknya kasus kejahatan di Internet, 54 persen responden menyatakan bahwa dirinya akan mengubah kebiasaan kebiasaannya di Internet. 80 persen dari yang akan berubah tersebut menyatakan akan semakin jarang mengirim informasi kartu kredit melalui Internet.
Lebih menarik lagi adalah penelitian yang dikerjakan bersama oleh Information Week Research, PricewaterhouseCoopers dan Reality Research pada tanggal 12 Juli 2000 terhadap sekitar 4900 profesional TI dari 30 negara. Hasil penelitian tersebut mengungkapkan bahwa penanggulangan virus dan tindakan destruktif lain yang dilakukan oleh cracker menyedot dana pelaku bisnis sedunia senilai USD 1,6 triliun pada tahun 2000 saja. Selain itu sekitar produktifitas 40 ribu person year akan hilang karena komputer diserang cracker. 1 person year setara dengan 1 orang bekerja selama 24 jam sehari, 7 hari seminggu, sepanjang tahun.
Untuk kondisi di Indonesia, maka hasil survei yang dilakukan oleh MarkPlus & Co. yang dipaparkan di depan peserta konferensi bertajuk Indonesia Leading Internet Brand 2000 pada tanggal 25 Juni 2000 di Hotel Shangri-La Jakarta dan dimuat pada majalah Swa Sembada (edisi No.11/XVI/30 Mei - 12 Juni 2001), dapat dijadikan rujukan. Survei itu sendiri dilakukan pada 22 Maret 2000 hingga 5 April 2000 dengan mengambil responden sebanyak 1100 orang dari lima kota utama di Indonesia, yaitu Jabotabek 250 orang, Bandung 200 orang, Yogyakarta 150 orang, Surabaya 200 orang dan Medan 100 orang.
Dari data-data yang dikumpulkan dari para responden tersebut, tergambarkan bahwa 14,2% responden mulai menggunakan Internet kurang dari 6 bulan yang lalu, 25,9% antara 6-12 bulan yang lalu, 31,3% antara 1-2 tahun yang lalu, 13,7% antara 2-3 tahun yang lalu, 8,4% antara 3-4 tahun yang lalu dan 6,6% merupakan pengguna yang telah menggunakan Internet lebih dari 4 tahun yang lalu. Hal yang perlu digarisbawahi pada hasil survei tersebut adalah:
“90,1 persen tidak pernah bertransaksi online dengan alasan karena merasa kuatir (15,1 persen) atau karena merasa tidak aman / beresiko tinggi (13,6 persen). Ini berarti lebih dari 25 persen dari 1100 responden enggan bertransaksi e-commerce karena kuatir dengan faktor keamanan bertransaksi melalui Internet”.
Berdasarkan beberapa hasil survei di atas maka dapat ditarik benang merah antara aktifitas cracking dengan nilai transaksi e-commerce. Semakin kerap aktifitas cracking tersebut dilakukan oleh para cracker, akan semakin kuatir para konsumen dalam bertransaksi online di Internet, maka akan semakin menurun pula nilai transaksi yang dapat dijaring melalui e-commerce.
Chat Room Digemari Cracker
Dengan berhubungan dengan koleganya, seorang cracker dapat belajar mengenai teknik-teknik baru, memahami ideologi cracker, barter informasi, mengajak cracker lain untuk melakukan cracking hingga berbagi pengalaman. Sosialiasi cracker dengan cracker lainnya sebagai kerap terjadi di suatu tempat yang sama dan dapat dianggap sebagai sebuah komunitas.
Dalam komunitas tersebut, cracker melakukan hubungan melalui alat komunikasi elektronis sehingga komunitas tersebut bisa dinyatakan sebagai komunitas elektronis atau maya. Komunitas maya tersebut kerap menggunakan aplikasi chat atau Internet Relay Chat (IRC).
Chat adalah suatu aktifitas bertemunya dua orang atau lebih di Internet dari manapun di dunia untuk melakukan dialog bersama secara online dengan cara mengetikkan pesan pada satu ruangan khusus yang biasanya disediakan oleh bermacam institusi di Internet (Straubhaar & LaRose, Media Now, 2000). Chat seperti sebagai ruang santai yang di dalamnya banyak orang di seluruh pelosok dunia dapat mengobrol secara tertulis tanpa bertatap muka pada waktu yang bersamaan (Jeff Zaleski, Spiritualitas Cyber Space, 1997).
Yang membuat cracker tertarik untuk membuat satu komunitas maya menggunakan chat room di Internet adalah karena aplikasi tersebut memungkinkan cracker atau siapapun dapat tampil atau berinteraksi tanpa harus menunjukkan jati diri sebenarnya (anonimity). Teknologi yang diusung oleh Internet memungkinkan munculnya konsep dan implementasi anonimitas seperti tokoh tanpa identitas misalnya para hacker dalam Internet (Yasraf Amir Pialang, Dunia yang Dilipat, 1999).
Salah seorang cracker Amerika yang menggunakan nama alias MafiaBoy terbukti memamerkan kemampuannya untuk melumpuhkan situs CNN.com pada tanggal 8 Februari 2000 kepada rekan cracker lainnya di sebuah chat room. Di dalam chat room tersebut dia juga terbukti menganjurkan rekannya untuk melakukan serangan ke situs-Internet lain yang akhirnya melumpuhkan situs Yahoo.com, Amazon.com, eBay.com dan ZDNet.com (www.zdnet.com/zdnn/stories/news/0,4586,2552467,00.html).
Sedangkan hC-, seorang cracker Indonesia yang dikenakan denda sebesar Rp 150 juta di pengadilan negeri Singapura pada tanggal 30 Agustus 2000 karena membobol jaringan komputer perusahaan Data Storage Institute dan MTL Instruments Pte Ltd Singapura, berdasarkan statement of facts pihak kepolisian Singapura terungkap bahwa melalui chat room di IRC lah pada awalnya hC- mempelajari teknik penyusupan sebuah jaringan komputer. (www.detik.com.net/2000/08/28/2000828-132609.shtml).
Pemrograman E-Commerce dengan PHP dan MySQL

Aplikasi perangkat lunak komputer dan Internet telah berkembang pesat pada dasawarsa ini, demikian pula dengan aplikasi web dan browser internet maupun intranet. Aplikasi ECommerce 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, perancangan dari sisi diagram alur aplikasi dan perancangan basis data, serta kode program PHP yang diperlukan untuk implementasi aplikasi ini. 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.
Tulisan berikut membahas bahasa scripting PHP dan MySql untuk keperluan E-Commerce.
Selamat membaca
DOWNLOAD ARTIKEL LENGKAP (PDF):
1. dian-ecommerce.zip
DOWNLOAD SOFTWARE PENDUKUNG:
1. Acrobat PDF Reader
2. Firefox with Google Toolbar
3. PMP: 150% Pass Guarantee 44 PDU, 1200 Questions, 5 Mock Exam PMI Approved R.E.P. Try FREE Demo
e-Commerce
Aplikasi perangkat lunak komputer dan Internet telah berkembang pesat pada dasawarsa ini, demikian pula dengan 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. 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.
Arsitektur Client/Server

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 saat request masuk. Tidak ada koneksi permanen (persistence) yang berjalan setelah sebuah halaman telah selesai dilayani / dikerjakan.
Perbandingan State dalam Sistem Aplikasi

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 string unik 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 terdapat array 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.
Pengiriman Data Terenkripsi antara Pengguna dengan Server E-Commerce

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.
Komunikasi Antar Situs dalam Aplikasi E-Commerce

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.
Web Server di Luar Firewall

Gambar 6. Web Server di Luar Firewall
• 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 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.
Web Server yang Diletakkan Di dalam Firewall

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).
Webserver yang Diletakkan di Antara Internal Firewall dan External Firewall

Gambar 8. Webserver yang Diletakkan di Antara Internal Firewall dan External Firewall
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 / library pada 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 furniture meja, 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.
Diagram Alir Penggunaan Aplikasi E-Commerce

Gambar 9. Diagram Alir Penggunaan Aplikasi E-Commerce
Rancangan Layar Halaman Depan Web E-Commerce

Gambar 10. Rancangan Layar Halaman Depan Web E-Commerce
Rancangan Layar Halaman Daftar Barang

Gambar 11. Rancangan Layar Halaman Daftar Barang
Rancangan Layar Halaman Daftar Pesanan

Gambar 12. Rancangan Layar Halaman Daftar Pesanan
Rancangan Layar Halaman Pemrosesan Kartu Kredit

Gambar 13. Rancangan Layar Halaman Pemrosesan Kartu Kredit
3.2 Rancangan Basis Data
Rancangan Basis Data Aplikasi Web E-Commerce

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-mail yang 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.
3.3 Keamanan Nomor Kartu Kredit dalam Basis Data
Nomor kartu kredit tidak disimpan di dalam basis data, karena dapat mengurangi keamanan. Perangkat komputer dapat dinilai sebagai suatu alat yang tidak aman, karena dapat diakses oleh orang lain. Bila digunakan ISP (Internet Service Provider) untuk hosting web site ini, tentunya akan sangat diragukan keamanannya, karena ISP menggunakan shared server yang digunakan secara bersama, meskipun telah menggunakan konfigurasi secure server yang ditawarkan oleh ISP tersebut. Nomor kartu kredit yang tersimpan dalam basis data akan dapat diakses oleh orang lain yang mempunyai akses terhadap mesin server. Juga tidak ada kebutuhan untuk menyimpan nomor kartu kredit dalam bentuk apapun. Yang diperlukan oleh aplikasi ini adalah memvalidasi nomor tersebut saja, dan segera menghapusnya dari memori setelah selesai. Jika nomor kartu kredit ini tidak pernah dituliskan ke hardisk, akan menjadi sangat aman karena akan terhindar dari kemungkinan pencurian oleh yang tidak berhak.
Komunikasi Antar Situs dan Penghapusan Informasi Kartu Setelah Proses Selesai

Gambar 15. Komunikasi Antar Situs dan Penghapusan Informasi Kartu Setelah Proses Selesai
4. Kode Program
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.
Konsep pemrograman berorientasi objek digunakan dalam kode program ini. Digunakan sifat inheritance, yakni jika sebuah kelas / class mewarisi properti dan metode (properties and methods) dari kelas induk / parent class, ia memiliki akses terhadap semua metode dan properti dari induknya. Dan sebuah aplikasi dapat dibangun dengan memperluas / extending sebuah kelas berdasarkan kelas lain yang telah ada.
4.1 Fungsi Session
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. Jika suatu tipe header dikirim setelah teks dikirim ke browser akan mengakibatkan error.
< ?
session_register(“var1�?);
$var1 = “nilai1�?;
?>
Pada waktu diakses pertama kali, halaman tersebut akan memulai session. Akan dikirim cookie atau session id yang akan ditambahkan ke dalam relative link. Perintah session_register akan memerintahkan PHP untuk melakukan pencarian variabel $var1 pada file session. Jika ada, variabel tersebut akan tersedia / available secara global, atau dapat pula diakses melalui array $HTTP_SESSION_VARS. Setelah halaman tersebut diproses, nilai terakhir dari variabel yang terdaftar akan dituliskan ke file session.
Fungsi-fungsi yang digunakan untuk session ini :
Session_destroy() : fungsi untuk menonaktifkan session dan semua variabel yang berkaitan dengannya.
Session_unregister() : fungsi untuk menghapus nilai dari suatu variabel dalam file session.
Session_set_save_handler() : fungsi yang memungkinkan untuk mengatur sendiri metode penyimpanan (storing), pengambilan (retrieving), dan penulisan (writing) session handler.
Metode session handler yang dipilih adalah yang manajemen session berdasarkan file-based. Namun metode ini tidak sesuai digunakan untuk lingkungan tercluster (clustered environment) dimana beberapa mesin bekerja secara bersama untuk melayani satu situs, untuk lingkungan seperti ini tidak dapat menggunakan local filesystem.
Session_encode(): fungsi untuk menuliskan variabel ke dalam basis data, variabel tersebut harus terlebih dahulu diubah formatnya ke dalam format yang dimengerti oleh basis data. Fungsi session_encode berguna untuk mengubah format ini.
$str = session_encode(string)
Session_decode() : fungsi untuk membalik proses encoding di atas, sehingga variabel dikembalikan kedalam representasi PHP.
4.2 Fungsi-fungsi cURL
Untuk aplikasi ini diperlukan komunikasi dengan layanan validasi kartu kredit, dilakukan dengan fungsi cURL. Cara kerjanya adalah mula-mula fungsi ini akan mengirim pesan yang secure melalui HTTPS, dan layanan yang memvalidasi kartu kredit tersebut akan mengembalikan response, yang kemudian diproses lebih lanjut dengan PHP.
Fungsi cURL yang digunakan :
Curl_init() : fungsi ini mengembalikan nilai integer yang serupa dengan nilai identifier kembalian yang dikembalikan oleh mysql_connect() atau pointer file yang dikembalikan oleh fopen(). Pada kasus seperti ini disebut dengan cURL handle, atau ch. Pada argument tunggal pada fungsi ini diberikan URL yang akan diakses.
Int curl_init ([string url])
$cc_company_url =
https://secure.process.site/transact.dll?exp=foo&cardtype=bar
$ch = curl_init($cc_company_url);
Fungsi ini akan memulai session cURL. Panggilan pada URL ini tidak akan berfungsi hingga fungsi curl_exec dieksekusi.
Curl_setopt() : sebelum komunikasi URL dieksekusi, perlu diset salah satu opsi cURL yaitu opsi CURLOPT_RETURNTRANSFER. Opsi ini untuk mengembalikan hasil dari request https ke dalam variabel PHP.
Curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
Curl_exec() : fungsi ini untuk mengeksekusi transfer. Sebuah argumen digunakan yaitu berasal dari hasil kembalian fungsi curl_init() dan digunakan pula pengesetan opsi-opsi lain.
Bool curl_exec (int ch)
Curl_close(): fungsi ini menutup koneksi cURL menggunakan curl handle :
Void curl_close (int ch)
Kumpulan fungsi-fungsi ini yang menjalankan transaksi dan mengembalikan hasil ke dalam variabel $data.
$ch = curl_init($authorize_net_url);
curl_setopt($ch, CURL_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
5. Hasil dan Pembahasan
Hasil yang diperoleh dari kegiatan ini adalah dokumen analisis dan perancangan, serta prototipe perangkat lunak. Prototipe ini dibangun menggunakan perangkat lunak open source serta memiliki karakteristik cross-platform. Dari hasil diskusi dengan pengguna, diperoleh masukan mengenai kebutuhan pengguna akan perangkat lunak e-commerce, namun spesifik pada suatu produk tertentu, serta kebutuhan untuk memperkaya fungsi-fungsi multimedia sehingga secara visual lebih menarik.
Diperlukan kerja sama dengan supplier / distributor produk komersil untuk dapat menawarkan produk-produknya melalui e-commerce. Juga jasa kurir diperlukan untuk dapat melakukan layanan antar kepada konsumen dengan cepat.
Bagi lembaga penelitian atau lembaga pendidikan, perlu juga memperhatikan masalah HKI dalam layanan e-commerce untuk produk-produk karya intelektual. Diperlukan kerjasama dengan pemilik hak intelektual tersebut untuk menawarkan produk-produk karya intelektual tersebut secara komersil.
Dalam sebuah seminar mengenai e-commerce di Bandung dikemukakan bahwa faktor terpenting dalam aplikasi e-commerce adalah delivery. Adanya sistem distribusi multi level marketing juga diinformasikan dapat memotong jalur delivery supaya lebih cepat sampai ke tangan konsumen.
6. Kesimpulan
Pengembangan aplikasi e-commerce bagi sebuah perusahaan / lembaga merupakan proses yang cukup kompleks. Melibatkan beberapa organisasi / situs dalam penanganan sekuriti dan otorisasi.
Perangkat lunak ini dirancang untuk mengimplementasi sistem e-commerce dalam dunia bisnis yang mendukung pemotongan rantai distribusi sehingga konsumen dapat memperoleh suatu produk dengan harga yang lebih murah. Jenis antarmuka web dipilih dengan pertimbangan fleksibilitas implementasi perangkat lunak ini yang dapat dilakukan di jaringan intranet maupun internet, kemudahan untuk deployment, serta kemampuan cross platform.
Pengembangan sistem ini masih jauh dari sempurna, namun setidaknya dapat memberikan dasar dan dapat memberikan sumbangan bagi pemikiran untuk pengembangan teknologi yang dapat dirasakan manfaatnya oleh masyarakat di bidang ekonomi, khususnya untuk jalannya bisnis perdagangan secara online.
Daftar Pustaka
1. Buyens, Jim,(2001), Web Database Development, Elex Media Komputindo , Jakarta .
2. Minoli, Daniel Mindi Emma, (1998), Web Commerce Technology Handbook, Mc Graw Hill.
3. Atkins, Dorck and Buis, Paul, (1997), Internet Security Professional Reference, New Riders.
4. Rumbaugh, James dkk., (1991), Object Oriented Modelling and Design, Prentice-Hall International.,Inc.
5. Pressman, Roger S., (1992), Software Engineering A Practitioner’s Approach, third edition. McGraw-Hill International Edition.
6. http://www.php.net
7. http://www.mysql.com
8. Greenspan,Jay, and Bulger,Brad, (2001), MySQL/PHP Database Application, M&T Books.
9. Fery Soswanto, “E-Commerce dengan memanfaatkan Sistem Operasi Linux�?.
« Perancangan Sistem Informasi Penentuan Angka Kredit Jabatan Fungsional Peneliti
Sistem Pendukung e-Learning di Web »
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.
Arsitektur Client/Server
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 saat request masuk. Tidak ada koneksi permanen (persistence) yang berjalan setelah sebuah halaman telah selesai dilayani / dikerjakan.
Perbandingan State dalam Sistem Aplikasi
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 string unik 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 terdapat array 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.
Pengiriman Data Terenkripsi antara Pengguna dengan Server E-Commerce
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.
Komunikasi Antar Situs dalam Aplikasi E-Commerce
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.
Web Server di Luar Firewall
Gambar 6. Web Server di Luar Firewall
• 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 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.
Web Server yang Diletakkan Di dalam Firewall
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).
Webserver yang Diletakkan di Antara Internal Firewall dan External Firewall
Gambar 8. Webserver yang Diletakkan di Antara Internal Firewall dan External Firewall
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 / library pada 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 furniture meja, 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.
Diagram Alir Penggunaan Aplikasi E-Commerce
Gambar 9. Diagram Alir Penggunaan Aplikasi E-Commerce
Rancangan Layar Halaman Depan Web E-Commerce
Gambar 10. Rancangan Layar Halaman Depan Web E-Commerce
Rancangan Layar Halaman Daftar Barang
Gambar 11. Rancangan Layar Halaman Daftar Barang
Rancangan Layar Halaman Daftar Pesanan
Gambar 12. Rancangan Layar Halaman Daftar Pesanan
Rancangan Layar Halaman Pemrosesan Kartu Kredit
Gambar 13. Rancangan Layar Halaman Pemrosesan Kartu Kredit
3.2 Rancangan Basis Data
Rancangan Basis Data Aplikasi Web E-Commerce
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-mail yang 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.
3.3 Keamanan Nomor Kartu Kredit dalam Basis Data
Nomor kartu kredit tidak disimpan di dalam basis data, karena dapat mengurangi keamanan. Perangkat komputer dapat dinilai sebagai suatu alat yang tidak aman, karena dapat diakses oleh orang lain. Bila digunakan ISP (Internet Service Provider) untuk hosting web site ini, tentunya akan sangat diragukan keamanannya, karena ISP menggunakan shared server yang digunakan secara bersama, meskipun telah menggunakan konfigurasi secure server yang ditawarkan oleh ISP tersebut. Nomor kartu kredit yang tersimpan dalam basis data akan dapat diakses oleh orang lain yang mempunyai akses terhadap mesin server. Juga tidak ada kebutuhan untuk menyimpan nomor kartu kredit dalam bentuk apapun. Yang diperlukan oleh aplikasi ini adalah memvalidasi nomor tersebut saja, dan segera menghapusnya dari memori setelah selesai. Jika nomor kartu kredit ini tidak pernah dituliskan ke hardisk, akan menjadi sangat aman karena akan terhindar dari kemungkinan pencurian oleh yang tidak berhak.
Komunikasi Antar Situs dan Penghapusan Informasi Kartu Setelah Proses Selesai
Gambar 15. Komunikasi Antar Situs dan Penghapusan Informasi Kartu Setelah Proses Selesai
4. Kode Program
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.
Konsep pemrograman berorientasi objek digunakan dalam kode program ini. Digunakan sifat inheritance, yakni jika sebuah kelas / class mewarisi properti dan metode (properties and methods) dari kelas induk / parent class, ia memiliki akses terhadap semua metode dan properti dari induknya. Dan sebuah aplikasi dapat dibangun dengan memperluas / extending sebuah kelas berdasarkan kelas lain yang telah ada.
4.1 Fungsi Session
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. Jika suatu tipe header dikirim setelah teks dikirim ke browser akan mengakibatkan error.
< ?
session_register(“var1�?);
$var1 = “nilai1�?;
?>
Pada waktu diakses pertama kali, halaman tersebut akan memulai session. Akan dikirim cookie atau session id yang akan ditambahkan ke dalam relative link. Perintah session_register akan memerintahkan PHP untuk melakukan pencarian variabel $var1 pada file session. Jika ada, variabel tersebut akan tersedia / available secara global, atau dapat pula diakses melalui array $HTTP_SESSION_VARS. Setelah halaman tersebut diproses, nilai terakhir dari variabel yang terdaftar akan dituliskan ke file session.
Fungsi-fungsi yang digunakan untuk session ini :
Session_destroy() : fungsi untuk menonaktifkan session dan semua variabel yang berkaitan dengannya.
Session_unregister() : fungsi untuk menghapus nilai dari suatu variabel dalam file session.
Session_set_save_handler() : fungsi yang memungkinkan untuk mengatur sendiri metode penyimpanan (storing), pengambilan (retrieving), dan penulisan (writing) session handler.
Metode session handler yang dipilih adalah yang manajemen session berdasarkan file-based. Namun metode ini tidak sesuai digunakan untuk lingkungan tercluster (clustered environment) dimana beberapa mesin bekerja secara bersama untuk melayani satu situs, untuk lingkungan seperti ini tidak dapat menggunakan local filesystem.
Session_encode(): fungsi untuk menuliskan variabel ke dalam basis data, variabel tersebut harus terlebih dahulu diubah formatnya ke dalam format yang dimengerti oleh basis data. Fungsi session_encode berguna untuk mengubah format ini.
$str = session_encode(string)
Session_decode() : fungsi untuk membalik proses encoding di atas, sehingga variabel dikembalikan kedalam representasi PHP.
4.2 Fungsi-fungsi cURL
Untuk aplikasi ini diperlukan komunikasi dengan layanan validasi kartu kredit, dilakukan dengan fungsi cURL. Cara kerjanya adalah mula-mula fungsi ini akan mengirim pesan yang secure melalui HTTPS, dan layanan yang memvalidasi kartu kredit tersebut akan mengembalikan response, yang kemudian diproses lebih lanjut dengan PHP.
Fungsi cURL yang digunakan :
Curl_init() : fungsi ini mengembalikan nilai integer yang serupa dengan nilai identifier kembalian yang dikembalikan oleh mysql_connect() atau pointer file yang dikembalikan oleh fopen(). Pada kasus seperti ini disebut dengan cURL handle, atau ch. Pada argument tunggal pada fungsi ini diberikan URL yang akan diakses.
Int curl_init ([string url])
$cc_company_url =
https://secure.process.site/transact.dll?exp=foo&cardtype=bar
$ch = curl_init($cc_company_url);
Fungsi ini akan memulai session cURL. Panggilan pada URL ini tidak akan berfungsi hingga fungsi curl_exec dieksekusi.
Curl_setopt() : sebelum komunikasi URL dieksekusi, perlu diset salah satu opsi cURL yaitu opsi CURLOPT_RETURNTRANSFER. Opsi ini untuk mengembalikan hasil dari request https ke dalam variabel PHP.
Curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
Curl_exec() : fungsi ini untuk mengeksekusi transfer. Sebuah argumen digunakan yaitu berasal dari hasil kembalian fungsi curl_init() dan digunakan pula pengesetan opsi-opsi lain.
Bool curl_exec (int ch)
Curl_close(): fungsi ini menutup koneksi cURL menggunakan curl handle :
Void curl_close (int ch)
Kumpulan fungsi-fungsi ini yang menjalankan transaksi dan mengembalikan hasil ke dalam variabel $data.
$ch = curl_init($authorize_net_url);
curl_setopt($ch, CURL_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
5. Hasil dan Pembahasan
Hasil yang diperoleh dari kegiatan ini adalah dokumen analisis dan perancangan, serta prototipe perangkat lunak. Prototipe ini dibangun menggunakan perangkat lunak open source serta memiliki karakteristik cross-platform. Dari hasil diskusi dengan pengguna, diperoleh masukan mengenai kebutuhan pengguna akan perangkat lunak e-commerce, namun spesifik pada suatu produk tertentu, serta kebutuhan untuk memperkaya fungsi-fungsi multimedia sehingga secara visual lebih menarik.
Diperlukan kerja sama dengan supplier / distributor produk komersil untuk dapat menawarkan produk-produknya melalui e-commerce. Juga jasa kurir diperlukan untuk dapat melakukan layanan antar kepada konsumen dengan cepat.
Bagi lembaga penelitian atau lembaga pendidikan, perlu juga memperhatikan masalah HKI dalam layanan e-commerce untuk produk-produk karya intelektual. Diperlukan kerjasama dengan pemilik hak intelektual tersebut untuk menawarkan produk-produk karya intelektual tersebut secara komersil.
Dalam sebuah seminar mengenai e-commerce di Bandung dikemukakan bahwa faktor terpenting dalam aplikasi e-commerce adalah delivery. Adanya sistem distribusi multi level marketing juga diinformasikan dapat memotong jalur delivery supaya lebih cepat sampai ke tangan konsumen.
6. Kesimpulan
Pengembangan aplikasi e-commerce bagi sebuah perusahaan / lembaga merupakan proses yang cukup kompleks. Melibatkan beberapa organisasi / situs dalam penanganan sekuriti dan otorisasi.
Perangkat lunak ini dirancang untuk mengimplementasi sistem e-commerce dalam dunia bisnis yang mendukung pemotongan rantai distribusi sehingga konsumen dapat memperoleh suatu produk dengan harga yang lebih murah. Jenis antarmuka web dipilih dengan pertimbangan fleksibilitas implementasi perangkat lunak ini yang dapat dilakukan di jaringan intranet maupun internet, kemudahan untuk deployment, serta kemampuan cross platform.
Pengembangan sistem ini masih jauh dari sempurna, namun setidaknya dapat memberikan dasar dan dapat memberikan sumbangan bagi pemikiran untuk pengembangan teknologi yang dapat dirasakan manfaatnya oleh masyarakat di bidang ekonomi, khususnya untuk jalannya bisnis perdagangan secara online.
Daftar Pustaka
1. Buyens, Jim,(2001), Web Database Development, Elex Media Komputindo , Jakarta .
2. Minoli, Daniel Mindi Emma, (1998), Web Commerce Technology Handbook, Mc Graw Hill.
3. Atkins, Dorck and Buis, Paul, (1997), Internet Security Professional Reference, New Riders.
4. Rumbaugh, James dkk., (1991), Object Oriented Modelling and Design, Prentice-Hall International.,Inc.
5. Pressman, Roger S., (1992), Software Engineering A Practitioner’s Approach, third edition. McGraw-Hill International Edition.
6. http://www.php.net
7. http://www.mysql.com
8. Greenspan,Jay, and Bulger,Brad, (2001), MySQL/PHP Database Application, M&T Books.
9. Fery Soswanto, “E-Commerce dengan memanfaatkan Sistem Operasi Linux�?.
« Perancangan Sistem Informasi Penentuan Angka Kredit Jabatan Fungsional Peneliti
Sistem Pendukung e-Learning di Web »
SalnaTera
Saltanera Teknologi
Selamat datang di Saltanera Teknologi. Saltanera adalah sebuah perusahaan penyedia solusi e-business yang berada di Indonesia. Kami menyediakan solusi bagi organisasi-organisasi yang dinamis. Solusi yang kami berikan kepada setiap client tidak hanya berdasarkan atas sudut pandang teknologi, melainkan juga dilihat dari sudut pandang bisnis.
Saltanera selalu fokus untuk mencari cara-cara baru yang dapat menggabungkan teknologi yang ada saat ini untuk dapat meningkatkan nilai kompetitif dari client kami. Kami akan membantu setiap client untuk menjadi lebih baik, lebih efektif, dan lebih efisien melalui pemanfaatan teknologi.
Produk Software dari Saltanera


Saltanera menawarkan produk dan solusi yang dapat membantu suatu perusahaan atau organisasi untuk menjalankan bisnisnya secara lebih responsif, dinamis, dan kompetitif. Solusi untuk enterprise yang kami sediakan adalah:
1. Saltanera DynamicFlow - Solusi komprehensif Business Process Management (BPM) untuk merancang, membangun, menjalankan, mengontrol, dan mengoptimalkan proses bisnis yang terdapat pada perusahaan/organisasi Anda.
2. Saltanera QualityPlus - Membantu perusahaan dalam pelaksanaan dan pemenuhan standar manajemen kualitas, yaitu ISO 9000.
Layanan Saltanera
Layanan-layanan yang kami sediakan ditujukan untuk mengatasi masalah klasik dalam bisnis: bagaimana meningkatkan performansi dan revenue secara efektif dan efisien. Layanan yang kami sediakan dapat dikategorikan dalam 3 jenis, yaitu:
1. Layanan Teknologi
2. Layanan Konsultasi
3. Layanan Outsourcing
Resource bagi Developer
Saltanera DevSpace™ menyediakan berbagai resource bagi developer. Anda dapat memperoleh tutorial, artikel, dokumentasi, dan lain sebagainya.
Kontribusi Saltanera bagi Dunia Open Source
Sebagai kontribusi kepada komunitas open source, Saltanera meluncurkan proyek open source yang kami beri nama Klorofil Collaboration Project.
Tujuan dari proyek open source tersebut adalah untuk membantu berbagai organisasi, perusahaan, termasuk software vendor, dan developer yang ingin membangun aplikasi berskala enterprise dengan menggunakan bahasa pemrograman PHP.
* © 2005 - 2007 PT Saltanera Teknologi. All rights reserved.
* Lowongan Kerja
* Ketentuan Layanan
* Kebijakan Privas
Selamat datang di Saltanera Teknologi. Saltanera adalah sebuah perusahaan penyedia solusi e-business yang berada di Indonesia. Kami menyediakan solusi bagi organisasi-organisasi yang dinamis. Solusi yang kami berikan kepada setiap client tidak hanya berdasarkan atas sudut pandang teknologi, melainkan juga dilihat dari sudut pandang bisnis.
Saltanera selalu fokus untuk mencari cara-cara baru yang dapat menggabungkan teknologi yang ada saat ini untuk dapat meningkatkan nilai kompetitif dari client kami. Kami akan membantu setiap client untuk menjadi lebih baik, lebih efektif, dan lebih efisien melalui pemanfaatan teknologi.
Produk Software dari Saltanera


Saltanera menawarkan produk dan solusi yang dapat membantu suatu perusahaan atau organisasi untuk menjalankan bisnisnya secara lebih responsif, dinamis, dan kompetitif. Solusi untuk enterprise yang kami sediakan adalah:
1. Saltanera DynamicFlow - Solusi komprehensif Business Process Management (BPM) untuk merancang, membangun, menjalankan, mengontrol, dan mengoptimalkan proses bisnis yang terdapat pada perusahaan/organisasi Anda.
2. Saltanera QualityPlus - Membantu perusahaan dalam pelaksanaan dan pemenuhan standar manajemen kualitas, yaitu ISO 9000.
Layanan Saltanera
Layanan-layanan yang kami sediakan ditujukan untuk mengatasi masalah klasik dalam bisnis: bagaimana meningkatkan performansi dan revenue secara efektif dan efisien. Layanan yang kami sediakan dapat dikategorikan dalam 3 jenis, yaitu:
1. Layanan Teknologi
2. Layanan Konsultasi
3. Layanan Outsourcing
Resource bagi Developer
Saltanera DevSpace™ menyediakan berbagai resource bagi developer. Anda dapat memperoleh tutorial, artikel, dokumentasi, dan lain sebagainya.
Kontribusi Saltanera bagi Dunia Open Source
Sebagai kontribusi kepada komunitas open source, Saltanera meluncurkan proyek open source yang kami beri nama Klorofil Collaboration Project.
Tujuan dari proyek open source tersebut adalah untuk membantu berbagai organisasi, perusahaan, termasuk software vendor, dan developer yang ingin membangun aplikasi berskala enterprise dengan menggunakan bahasa pemrograman PHP.
* © 2005 - 2007 PT Saltanera Teknologi. All rights reserved.
* Lowongan Kerja
* Ketentuan Layanan
* Kebijakan Privas
Langganan:
Postingan (Atom)