Aplikasi M Commerce Berbasis WAP dan J2M

MAKALAH SKRIPSI
Perancangan dan Pembuatan Aplikasi M-Commerce
Berbasis WAP dan J2ME
Studi Kasus pada Workshop Kerajinan dan Souvenir
"Dani Craft"

Oleh:

RIZA ZAKARIYA
03/164920/TK/28365

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2008

HALAMAN PENGESAHAN

MAKALAH SKRIPSI
Perancangan dan Pembuatan Aplikasi M-Commerce
Berbasis WAP dan J2ME

Studi Kasus pada Workshop Kerajinan dan Souvenir
"Dani Craft"

Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh
Gelar Sarjana Teknik Program S-1
Pada Jurusan Teknik Elektro Fakultas Teknik
Universitas Gadjah Mada

Oleh:
RIZA ZAKARIYA
03/164920/TK/28365

Yogyakarta, 2 Juli 2008
Telah diperiksa dan disetujui oleh:

Dosen Pembimbing I

Dosen Pembimbing II

Ir. Lukito Edi Nugroho, M.Sc., Ph.D.

NIP: 131 963 570

Ir. Rudy Hartanto, M.T.
NIP: 131 887 486

Perancangan dan Pembuatan Aplikasi M-commerce Berbasis WAP dan J2ME
Studi Kasus pada Workshop Kerajinan dan Souvenir "Dani Craft"
Riza Zakariya1, Lukito Edi Nugroho2, Rudy Hartanto2
1

Mahasiswa Jurusan Teknik Elektro, FT UGM
2
Dosen Jurusan Teknik Elektro, FT UGM

Abstrak
Perkembangan teknologi informasi dan komunikasi yang sangat pesat satu dekade ini telah
mendorong percepatan transformasi budaya dalam dunia ekonomi dan bisnis dengan munculnya
tren m-commerce yang memungkinkan berbagai transaksi bisnis dan kegiatan komersial
dilakukan melalui mobile handled device. M-commerce menawarkan keunggulan yang tidak
dimiliki e-commerce yaitu dapat digunakan dimana saja (ubiquity) dan kenyamanan

(convenience) karena piranti mobile memiliki sifat sangat ringan, tidak membutuhkan tempat
(space) yang khusus, dan fasilitas yang disediakan hampir sama dengan para pengguna PC.
Terdorong oleh keinginan untuk mengembangkan pasarnya, Workshop kerajinan dan Souvenir
Dani Craft tertarik untuk mengimplementasikan aplikasi mobile berbasis WAP/WML dan J2ME
karena sifatnya yang multiplatform dan memiliki skalabilitas pengembangan yang tinggi. Aplikasi
mobile yang akan dikembangkan selanjutnya disebut m-DaniCraft dan digunakan untuk
menangani business process pemesanan souvenir oleh reseller Dani Craft.
Kata kunci:m-commerce, multiplatform, WAP,J2ME.
1. Pendahuluan
Perkembangan
teknologi
informasi
dan
komunikasi yang sangat pesat satu dekade ini telah
mendorong percepatan transformasi budaya dalam
dunia ekonomi dan bisnis dengan munculnya tren
electronic
commerce
(e-commerce).
Dalam

perjalanannya, sebagai pengembangan lanjut dari ecommerce, munculah terminologi baru yaitu mobile
commerce (m-commerce) yang memungkinkan
transaksi bisnis dan kegiatan komersial e-commerce
dilakukan melalui mobile handled device. Tren
pengembangan m-commerce adalah mewujudkan
transaksi bisnis yang semakin cepat, mobile, dan
merasuk kedalam kehidupan manusia (pervasive).
Menurut Lee, dkk., (2003), m-commerce adalah
pertukaran atau pembelian dan penjualan komoditaskomoditas, jasa, atau informasi pada internet dengan
menggunakan mobile handled device[1]. Menurut
Muhammad Safri Lubis, beberapa keuntungan telah
membuat m-commerce menjadi sebuah alternatif
perdagangan dewasa ini dan diprediksikan akan
sangat berkembang dan diminati dimasa-masa
mendatang adalah ubiquity dan convenience karena
sangat ringan dan tidak membutuhkan space yang
khusus, sedangkan fasilitas yang disediakan hampir
sama dengan para pengguna PC atau laptop[2].
Dani Craft memandang perkembangan mcommerce sebagai peluang untuk mengembangkan
pasarnya. Aplikasi m-commerce akan digunakan

untuk menjembatani transaksi bisnis dengan resellernya kapan saja dan di mana saja dengan lebih mudah,
intensif, efektif, serta dan efisien tanpa dibatasi lagi
oleh gerak, ruang, dan waktu.

Hingga saat ini telah berkembang berbagai
standar dalam teknologi pengembangan aplikasi
mobile yang memiliki sifat device independent,
multi-platform,
dan
memiliki
skalabilitas
pengembangan lebih lanjut. Dua diantara standar
teknologi tersebut adalah Wireless Application
Protocol / Wireless Markup Language (WAP/WML)
dan Java 2 Mobile Edition (J2ME).
WAP (Wireless Aplication Protocol) adalah suatu
protokol aplikasi yang memungkinkan internet dapat
diakses oleh ponsel dan perangkat wireless lainnya
melalui bahasa WML (Wireless Markup Language).
Seluruh informasi dalam WML diatur ke dalam

sekumpulan card dan deck. WML dikembangkan
dari bahasa XML (eXtensible Markup Language)
dengan 4 fungsi utama yaitu :
1. Presentasi teks dan layout, mencakup teks
dan gambar.
2. Metafora organisasi deck/card
3. Navigasi dan hubungan antar card.
4. Parameterisasi string dan manajemen status,
sehingga seluruh deck WML bisa di
parameterisasi.
Ada tiga bagian utama dalam arsitektur WAP
yaitu perangkat mobile wireless yang mendukung
WAP, WAP gateway sebagai perantara, dan server
sebagai sumber dokumen. Fungsi WAP gateway
adalah meneruskan HTTP request dan HTTP respons
dari dan ke perangkat mobile wireless.
Sementara itu J2ME (Java 2 Micro Edition)
sebagai subset dari bingkai kerja Java yang
mengembangkan paradigma “Write Once, Run
Anywhere” juga menjadi salah satu standar

pemrograman di dalam mobile wireless. Teknologi

J2ME menspesifikasikan konfigurasi (configuration),
profil (profile), dan paket opsi (optional package)
untuk mencapai kinerja optimal pada suatu piranti
dan meningkatkan portabilitas. Configuration adalah
virtual machine yang menyediakan beberapa pustaka
kelas dasar dan didefinisikan dalam CLDC
(Connected Limited Device Configuration) untuk
perangkat mobile kecil seperti ponsel, dan dalam
CDC (Connected Device Configuration) untuk
perangkat mobile yang lebih besar seperti PDA.
Profile adalah pustaka yang menyediakan lingkungan
pengembangan GUI, game, media, koneksi jaringan,
suara, dan keamanan data dan dispesifikasikan dalam
MIDP (Mobile Information Device Profile).
Sedangkan optional package menyediakan fungsifungsi opsional yang lebih spesifik lagi bagi piranti
mobile semisal piranti yang memiliki akses Bluetooth
dapat menggunakan paket opsi API Bluetooth.
m-DaniCraft dibangun dengan arsitektur multitier dengan MySQL sebagai elemen database tier

(back-end storage), PHP sebagai middle tier (server
side business logic), dan WAP dan J2ME sebagai
client tier (client side presentation).
WAP dan J2ME yang bertindak sebagai client
tier bertugas mengatur bagaimana aplikasi mobile
berinteraksi
dengan user, bagaimana data
ditampilkan, dan bagaimana fungsi dan fitur aplikasi
ditampilkan. Menurut bentuk dan batasan layanan
server serta komputasinya, client tier terbagi atas tiga
model: thin client, fat client, dan medium client.
Pada model thin client, client hanya menangani
antarmuka sedangkan seluruh pemrosesan logika dan
data dikerjakan di sisi server. Sebaliknya pada model
fat client, seluruh proses komputasi diletakkan di sisi
client sehingga server tidak dibebani tugas-tugas
komputasi.
Adapun
model
medium

client
menggabungkan keuntungan peletakan sebagian
komputasi di sisi server dan pemanfaatan komputasi
lokal di sisi client. Client tidak bertindak sebagai
penampil data saja tetapi dapat didayagunakan lebih
seperti melakukan validasi data, menjadi data cache,
dan sebagainya. Komunikasi antara client dan server
tidak seintensif pada thin client sehingga biaya
komunikasi dapat ditekan, namun server tidak terlalu
dibebani dengan komputasi yang sebenarnya dapat
dilakukan secara lokal di sisi client.
2. Metodologi Penelitian
Metode penelitian yang digunakan dalam
penyusunan tugas akhir ini adalah sebagai berikut:
1. Melakukan studi pustaka dengan mempelajari
berbagai macam literatur baik berupa buku
ataupun artikel elektronik dari internet dalam
bentuk buku, majalah, makalah, maupun
jurnal.
2. Mengumpulkan informasi tentang kebutuhan

pengguna dari sisi penyedia layanan dan
pelanggan pada aplikasi e-commerce Dani
Craft.

3. Merancang alur, model, dan logika kerja
aplikasi m-commerce dengan studi kasus pada
Workshop Kerajinan dan Souvenir Dani Craft.
4. Merancang dan membuat modul database dan
modul administrator.
5. Merancang dan membuat modul client dengan
konsep thin client (WAP/WML) dan medium
client (J2ME).
6. Melakukan pengujian dan perbandingan
kinerja aplikasi yang berbasis WAP/WML dan
J2ME pada komputer localhost dengan
emulator.
7. Melakukan pengujian dan perbandingan
kinerja aplikasi yang berbasis WAP/WML dan
J2ME pada remote host dengan sampel piranti
mobile berbasis WAP dan J2ME.

Pengembangan dan pengujian aplikasi akan
dilakukan dan disimulasikan di komputer lokal
(localhost). Sementara pengujian dalam keadaan
yang sesungguhnya dilakukan dengan server
web.ugm.ac.id dan tiga tipe piranti mobile sampel
yang mendukung standar WAP 2.0 dan MIDP 2.0.
Pengujian dengan banyak variasi tipe dan merek
tidak dilakukan dalam skripsi ini dikarenakan
keterbatasan sumberdaya dan waktu yang tersedia.
Spesifikasi perangkat keras yang digunakan
dalam pengujian localhost yaitu:
1. Prosesor Intel Celeron 434 MHz
2. Memori SRAM 256 MB
3. Hard disk 80 GB.
Adapun spesifikasi perangkat lunak pendukung
pada antara lain:
1. Sistem operasi Windows XP SP2.
2. XAMPP for Windows Version 1.5.1 dengan
Web Server Apache/2.2.0, PHP/4.4.1-pl1,
Database MySQL 5.0.18, phpMyAdmin
2.7.0-pl1, dan Mail Server Mercury/32.
3. Browser Mozilla Firefox 1.7 untuk
Windows dengan Mozilla Mail &
Newsgroups sebagai mail-client.
4. Emulator WAP M3Gate versi 0.6 dan
WinWap versi 3.0 PRO untuk debugging
WAP.
5. NetBeans IDE 5.5 dan NetBeans Mobility
Pack 5.5 for Windows untuk penulisan kode
program J2ME, compiling, debugging,
beserta
simulasinya
dengan
Java
Development Kit versi 1.5.0.08.
Sementara itu, pengujian pada remote host
dilakukan pada server web.ugm.ac.id dengan pada
domain
http://rizaz.web.ugm.ac.id.
Spesifikasi
perangkat lunak yang digunakan adalah sebagai
berikut:
1. Operating System FreeBSD.
2. Apache Web Server 1.3.29 (Unix).
3. PHP 4.3.4 mod_ssl/2.8.16 OpenSSL/0.9.7.c.
4. MySQL 4.0.27.
6. PHPMyAdmin 2.11.5.1.
7. cPanel X. v.2.6.0
Adapun sampel piranti mobile yang digunakan
adalah sebagai berikut:

1. Nokia 6630 dengan sistem operasi Symbian
0S v8.0, Series 60 v.2.0 UI.
2. Nokia 6600 dengan sistem operasi Symbian
0S v7.0s, Series 60 v.2.0 UI.
3. Sony Ericsson K700i.
Ketiga sampel piranti mobile ini merupakan piranti
yang telah mendukung WAP dan MIDP 2.0.
3. Hasil dan Pembahasan
Sistem m-DaniCraft dirancang terdiri dari empat
modul utama yaitu modul database, modul
administrator, modul WAP client, dan modul J2ME
client. Arsitektur modul m-DaniCraft diperlihatkan
dalam gambar.1

akan dikirim ke emailnya. Reseller juga dapat
mengakses informasi tambahan yang tidak
berhubungan langsung dengan transaksi misalnya
profil Dani Craft, jawaban atas pertanyaan yang
sering ditanyakan, bantuan pengguna, dan
sebagainya.
3.1 Implementasi Modul Database
Modul database m-DaniCrat diimplementasikan
dengan hubungan antar entitas data seperti
diperlihatkan dalam gambar 3

Gbr. 1 – Modul m-DaniCraft

Gbr. 3 – ER diagram m-DaniCraft

Aliran data sistem m-DaniCraft diperlihatkan dalam
gambar 2.

3.2 Implementasi Modul Administrator
Implementasi modul administrator m-DaniCraft
diperlihatkan dalam gambar 4 berikut:

Gbr. 4 – Implementasi modul administrator
Gbr. 2 – DFD Modul m-DaniCraft
Seorang administrator memiliki kewenangan
untuk mengedit katalog souvenir yang berisi
informasi detail souvenir berupa nama, kode, dan
harga. Selain itu, administrator bertugas untuk
mengaktivasi dan mengedit informasi produksi
souvenir setelah reseller memesan dan membayar
harga souvenir.
Di lain pihak, seorang reseller memiliki
kewenangan untuk mengakses katalog produk secara
online, memesan salah satu atau beberapa diantara
produk, melakukan pembayaran, dan menerima
informasi
perkembangan
produksi
souvenir
pesanannya. Setiap melakukan transaksi reseller
akan menerima nota digital dan sebuah invoice yang

Kode-kode PHP (sebagai server script) disisipkan
dalam kode-kode HTML (yang mengatur presentasi
teks dan layout). HTML menyediakan tampilan
untuk berinteraksi dengan user seperti form masukan,
hyperlink, button, dan sebagainya. Sedangkan PHP
berperan mengolah masukan user di sisi server,
mengeksekusi
application
logic,
serta
menghubungkannya dengan back-end storage
(database).
Contoh tampilan antarmuka modul administrator
diperlihatkan dalam gambar 5 dan gambar 6.

Gbr. 5 –Tampilan antarmuka modul administrator(1)

3.4 Implementasi Modul J2ME Client
Dalam kasus m-DaniCraft ini, J2ME client
mengadopsi konsep medium client sehingga client
tidak bertindak sebagai user interface saja tetapi
dapat didayagunakan untuk melakukan sebagian
komputasi seperti validasi data masukan sebelum
dikirim ke server. Implementasi J2ME client yang
mengadopsi model medium client diperlihatkan
dalam gambar 9.

Gbr. 9 – Implementasi J2ME sebagai medium client
Gbr. 6 –Tampilan antarmuka modul administrator(2)
3.3 Implementasi Modul WAP Client
Browser WAP di piranti mobile yang bertindak
sebagai client akan menangkap respon server yang
berwujud cookie dan echo kode WML. Kode-kode
WML tersebut kemudian di-parsing menjadi teks,
form, atau image lengkap dengan layout-nya. Tidak
ada komputasi lokal yang dilakukan di sisi client,
karena seluruh komputasi dibebankan kepada
application logic yang berada di sisi server. Semua
data di-echo-kan dari server. Client hanya bertugas
mem-parsing kode XML kiriman server dan
menyimpan nilai cookie. Implementasi WAP client
yang mengadopsi model thin client diperlihatkan
oleh gambar 7.

Gbr. 7 – Implementasi WAP sebagai thin client
Sedangkan contoh tampilan antarmuka WAP client
diperlihatkan dalam gambar 8.

Mekanisme koneksi HTTP pada MIDlet di atas
dilakukan dalam tiga tahap status yaitu setup,
connected dan closed. Pada saat status setup, MIDlet
akan mengatur parameter request ke server. Pada saat
status connected, MIDlet akan menerima responnya.
Setelah semua respon diterima, MIDlet akan
menutup koneksi sehingga koneksi masuk pada
status closed.
Dalam penanganan cookie, J2ME client mDaniCraft memanfaatkan kelas SessionConnector
dari Sun Microsystem. Mekanisme pengiriman
cookie dengan kelas SessionConnector merupakan
pengembangan dari koneksi dengan kelas
HTTPConnection. Untuk setiap koneksi dengan
server, akan ada satu form yang akan menangkap isi
echo server. Proses koneksi diciptakan dalam thread
yang terpisah dari thread local processing
(penampilan form, alert, dan sebagainya) untuk
menghindari deadlock. Pada waktu pembukaan
koneksi ke server, MIDlet secara otomatis akan
menciptakan form yang mengkonfirmasi penggunaan
airtime. Akibatnya ada dua commandAction yang
menggunakan commandListener yang sama sehingga
menyebabkan deadlock. Deadlock terjadi karena ada
dua operasi (commandAction) yang menggunakan
satu rutin fungsi yang sama. Oleh karena itu, untuk
menghindari deadlock semua hubungan ke server
perlu dibuatkan thread sendiri. Pembuatan thread
akan ditangani oleh obyek kelas ParsingPHP yang
diturunkan dari kelas Thread.
Contoh tampilan antarmuka J2ME client
diperlihatkan dalam gambar 10 dan gambar 11.

Gbr.10 –Tampilan antarmuka J2ME client (1)
Gbr. 8 –Tampilan antarmuka WAP client

dengan tarif tersebut transaksi lewat m-DaniCraft
dapat dilakukan dengan biaya yang sangat murah.
Sistem m-DaniCraft dikembangkan dengan
paradigma multi-tier architecture yang memisahkan
sitem dalam arsitektur berlapis. Arsitektur multi-tier
yang diadopsi m-DaniCraft tersebut dapat
meningkatkan fleksibilitas pengembangan karena
memiliki keunggulan sebagai berikut:
1. Independensi logic terhadap presentation
dan logic terhadap content.
2. Independensi database.
3. Independensi server.
4. Kesimpulan
Kesimpulan dari penelitian ini sebagai berikut :
1. Aplikasi m-commerce "m-DaniCraft" dapat
menjadi solusi mobile business untuk proses
pemesanan souvenir Dani Craft selain
penggunaan aplikasi e-commerce yang telah
ada.
2. Arsitektur multi-tier yang diadopsi dalam
pengembangan
m-DaniCraft
dapat
meningkatkan fleksibilitas pengembangan.
3. Aplikasi m-commerce memiliki keunggulan
dalam mobilitas, karena dapat mengakses
pemesanan souvenir dimana saja dan kapan
saja dengan airtime yang sangat murah.
4. Kelebihan WAP client pada m-DaniCraft
diantaranya pengguna tidak direpotkan dengan
proses instalasi, tingkat device independent
yang tinggi, dan kemudahan navigasi dengan
sistem link.
5. Kelebihan J2ME client pada m-DaniCraft
diantaranya keleluasaan dalam pengembangan
GUI, keberadaan application logic di sisi klien
yang
mendukung
local
processing,
penggunaan airtime yang hemat, dan
kesempatan pengembangan yang fleksibel.
6. Kekurangan WAP client pada m-DaniCraft
diantaranya tidak adanya dukungan terhadap
local processing sehingga semua proses harus
dikerjakan di server.
7. Kekurangan J2ME client pada m-DaniCraft
diantaranya perlunya instalasi awal, perlunya
penyesuaian
dalam
deployment
untuk
spesifikasi
hardware
tertentu,
dan
keterbatasan kemampuan dalam menangani
cookie.

Gbr.11 –Tampilan antarmuka J2ME client (2)
3.5 Implementasi pada Piranti Sesungguhnya
Pengujian
pada
piranti
sesungguhnya
dimaksudkan untuk mengamati tingkat device
independence dan portabilitas dari WAP dan J2ME
serta nilai transfer data dari hubungan client ke
server. Sampel piranti mobile yang digunakan dalam
pengujian ini adalah Nokia 6630, Nokia 6600, dan
Sony Ericsson K700i.
Dari hasil pengamatan diketahui bahwa semua
fitur WAP yang bekerja dengan baik pada emulator
dapat pula bekerja dengan baik pada semua sampel
piranti. Namun tidak semua fitur J2ME bekerja
dengan sempurna seperti WAP. Fitur yang tidak
tertampil sempurna adalah penampilan ticker pada
Nokia 6600 serta penampilan alert Nokia 6600 dan
Nokia 6630. Sementara itu pada Sony Ericsson
K700i semua fitur J2ME berjalan dengan baik.
Pengamatan lebih lanjut dengan fitur Connection
Manager Nokia 6630 memperlihatkan hasil bahwa
WAP client membutuhkan data terima sebesar 36,56
kB dan data kirim sebesar 31,14
kB untuk
melakukan suatu kasus prosedur transaksi pemesanan
souvenir. Sedangkan J2ME client membutuhkan data
terima sebesar 5.53 kB dan data kirim sebesar 2.72
kB untuk melakukan prosedur transaksi yang sama.
Prosedur kasus yang transaksi digunakan adalah
sebagai berikut:
1. User login ke sistem.
2. User melakukan browsing souvenir.
3. User melihat info nama, kode, dan harga
souvenir.
4. User memesan souvenir sejumlah 200 buah.
5. User
melakukan
konfirmasi
setelah
pemesanan dinyatakan sukses.
6. User melakukan konfirmasi transfer.
Tarif GPRS yang ditawarkan provider saat ini
berkisar antara Rp.1/kB – Rp. 10/kB sehingga

5. Referensi
[1]
Lee, Chung-wei.., Hu, Wen-Chen.., dan Yeh,
Jyh-haw, "A System Model for Mobile
Commerce ", Procedings of the 23rd
International Conference on Distributed
Computing System Workshop (ICDSW '03)
[2]

Lubis, Muhammad Safri, "Mengenal Lebih
Dekat Mobile Commerce", http://safrilubis.info