View
56
Download
0
Category
Preview:
Citation preview
Penerapan Aplikasi Pembacaan Barcode menggunakan Zxing dan
SOAP Webservice untuk Pemesanan Produk berbasis Mobile
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Disusun oleh :
Marcelo Evander
NIM : 672010256
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2015
i
ii
iii
iv
v
vi
1
Penerapan Aplikasi Pembacaan Barcode menggunakan Zxing dan
SOAP Webservice untuk Pemesanan Produk berbasis Mobile
1Marcelo Evander, 2Hindriyanto Dwi Purnomo
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52 – 60, Salatiga 50711, Indonesia
Email :1) 672010256@student.uksw.edu, 2)hindriyanto.purnomo@staff.uksw.edu.
Abstract
This research proposes a different system for ordering a product. Ordering
products on this system designed using Barcode or QR Code as item identifier. The
process of ordering products carried out by the member begins by scanning the
Barcode/QR Code product that provided on advertising media such as brochures and
pamphlets using the mobile phone camera, and then order the products that appear on
the screen. This System using Zxing for the purposes of creating and reading the
Barcode/QR Code. This system composed from a Admin application for create
Barcode/QR Code and confirm the ordering product of members, an android application
for ordering product by member, and Web Service to connect both the clients
applications.The Web service used in this system that is the SOAP Web Service for easy
integration between systems. The design of the system is built using the model Prototype
and modeling system using UML (Unified Modeling Language).
Key Words : Barcode / QR Code, Library Zxing, Android, SOAP Web Service.
Abstrak
Penelitian ini mengusulkan sebuah sistem pemesanan barang yang berbeda dari
sistem pemesanan barang secara online yang sudah dikenal selama ini. Pemesanan barang
pada sistem yang dirancang melibatkan Barcode atau QR Code sebagai pengenal jenis
barang tertentu. Proses pemesanan barang dilakukan oleh member dimulai dengan
memindai Barcode /QR Code produk yang disediakan pada media iklan seperti brosur
dan pamflet menggunakan kamera, kemudian memesan barang yang tampil pada layar.
Sistem ini menggunakan library Zxing untuk keperluan pembuatan dan pembacaan
Barcode/QR Code. Sistem yang dirancang terdiri dari sebuah aplikasi untuk Admin yang
digunakan untuk proses pembuatan Barcode /QR Code dan konfirmasi pemesanan,
sebuah aplikasi berbasis mobile untuk member untuk keperluan pemesanan barang dan
sebuah web server yang disertai web service sebagai penghubung kedua aplikasi. Adapun
web service yang digunakan pada sistem ini yaitu Web Service SOAP untuk kemudahan
integrasi antar sistem. Perancangan sistem dibangun menggunakan model Prototype
sedangkan pemodelan sistem menggunakan UML.
Kata Kunci : Barcode / QR Code, Library Zxing, Android, SOAP Web Service.
1 Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas Kristen Satya
Wacana Salatiga. 2 Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga.
2
1. Pendahuluan
Persaingan dunia bisnis yang semakin ketat, membuat para pebisnis
berlomba-lomba mempromosikan usaha dagang mereka dengan fitur-fitur unik
agar dapat menarik perhatian konsumen. Dalam dunia bisnis, para pebisnis
bersaing dengan melakukan berbagai macam strategi bisnis, misalnya : penawaran
diskon, produk murah, peningkatan pelayanan dan berbagai strategi lainnya [1].
Perkembangan teknologi digital dewasa ini, menghadirkan cara baru dalam
mempromosikan atau menjual produk secara online melalui website. Tidak sedikit
pengusaha-pengusaha mengubah cara promosi dan penjualan produk mereka ke
media online tersebut agar dapat menjaring banyak konsumen karena
jangkauannya yang luas.
Walaupun penggunaan media online untuk promosi dan penjualan online
telah terbukti dapat meningkatkan profit perusahaan karena dapat menjangkau
banyak konsumen, namun penerapannya bagi pemula bisnis online belum
sepenuhnya dapat meningkatkan daya saing pasar. Aktifitas sehari-hari yang
padat pada masyarakat saat ini menyebabkan pencarian situs penjualan online
baru sangat jarang dilakukan. Pencarian situs penjualan online hanya dilakukan
oleh pelanggan pada situs-situs yang branding usahanya sudah terkenal, sehingga
berpengaruh negatif pada perkembangan usaha online pemula. Hal tersebut
menyebabkan penggunaan media promosi non digital (konvensional) seperti
penggunaan brosur masih tetap dilakukan sampai sekarang.
Penggunaan media promosi konvensional telah dikembangkan oleh beberapa
perusahaan agar dapat melayani pesanan pelanggan (layanan delivery), dengan
cara menghubungi contact tertentu yang disertakan pada media promosi. Namun
kendalanya adalah ketika pemesanan meningkat pengelolah perusahaan kesulitan
dalam melayani pemesanan. Beberapa perusahaan dagang juga telah
menggunakan QR Code yang di pasang pada media promosi agar dapat dipindai
oleh pelanggan dan mendapatkan promosi khusus dari penjualan.
Berdasarkan kelemahan-kelemahan dari penggunaan teknologi tersebut, maka
muncul ide untuk mengembangkan teknologi tersebut agar dapat menyajikan
pemesanan barang menjadi lebih baik. Adapun rumusan masalah penelitian ini
adalah: Bagaimana membuat aplikasi untuk memesan produk yang ditawarkan
pada media promosi non digital (konvensional) ?. Pembuatan aplikasi pada
penelitian ini dibatasi hanya pada perangkat mobile Android untuk aplikasi
member dan sebuah aplikasi untuk member berbasis desktop, sedangkan untuk
proses pembayaran pesanan tidak dibahas pada penelitian ini.
2. Tinjauan Pustaka
Penelitian terdahulu berjudul Perancangan Sistem Informasi Penjualan Baju
Batik Berbasis Web (online Shop) pada CV. Selaras Batik. Penelitian tersebut
membahas tentang perancangan sistem informasi untuk menyelesaikan
permasalahan yang ada yaitu mengenai promosi dan penjualan konvensional yang
masih dilakukan menggunakan media brosur sehingga jangkauan promosi dan
penjualan masih terbatas sehingga pada beberapa daerah produk yang dijual
kurang dikenal. Kendala lain yang dialami oleh CV. Selaras Batik yaitu ketatnya
3
persaingan industri pakaian batik mulai dari industri kecil sampai industri besar,
hal itu membuat pengelolah industri pakaian batik harus memiliki strategi
pemasaran yang berbeda [3].
Pada penelitian yang berjudul Analisis dan Pengujian Pemanfaatan QR Code
sebagai Alat Identifikasi dalam Sebuah Sistem Absensi Pegawai dan Pemanfaatan
Smartphone Android sebagai Alat untuk Membaca dan Membuat QR Code,
menjelaskan bahwa QR Code dapat dimanfaatkan sebagai alat identifikasi dalam
sebuah absensi karena QR Code dapat menyimpan informasi yang cukup untuk
data pegawai dan penggunaan pustaka Zxing pada aplikasi Android dapat
digunakan untuk membaca QR Code tersebut dengan baik, sehingga penerapan
barcode reader pada smartphone akan sangat efektif untuk sistem absensi
pegawai [4].
Penelitian selanjutnya berjudul Pembuatan Aplikasi Pencatatan Stok dengan
Menggunakan Barcode pada Android, menjelaskan bahwa penggunaan perangkat
smartphone sebagai barcode reader menggunakan kamera, dapat mempermudah
pencatatan stock opname yang dimiliki oleh toko atau perusahaan [5].
Berdasarkan penelitian-penelitian tersebut, maka dilakukan penelitian tentang
penerapan pustaka Zxing untuk pembacaan Barcode/QR Code untuk pemesanan
produk berbasis mobile pada media promosi non digital. Perancangan sistem yang
dibangun terdiri dari tiga aplikasi yaitu sebuah web server yang disertai web
service sebagai penyedia layanan ke client, aplikasi client berbasis mobile untuk
member dan sebuah aplikasi client berbasis desktop yang digunakan oleh Admin.
Penggunaan QR Code dan Barcode sebagai penyimpan kode unik yang dapat
dipindai (scan) bertujuan agar proses transaksi pemesanan barang dapat dilakukan
dengan cepat dan mudah oleh member.
Barcode adalah sebuah bentuk kode baris yang digambarkan dalam bentuk
baris hitam tebal dan tipis yang disusun berderet sejajar horisontal. Satu unit
barcode terdiri dari salah satu warna hitam atau putih. Sebuah unit yang berwarna
hitam ditunjukan dengan sebuah bar untuk bilangan “1” dan yang berwarna putih
ditunjukan dengan sebuah spasi yang mewakili bilangan “0”. Sedangkan QR Code
(Quick Response Code), adalah sebuah kode batang dua dimensi merupakan
pengembangan dari Barcode. Pada Barcode data disimpan secara horisontal
sedangkan pada QR Code, data disimpan secara vertikal maupun horisontal [6].
Proses encoding kode unik untuk setiap produk barcode dilakukan dengan
menggunakan pustaka atau library yang sudah dibuat oleh tim pengembang
aplikasi sebelumnya untuk mempermudah pembuatan aplikasi. Pustaka tersebut
adalah pustaka Zxing atau Zebra Crossing. Pustaka ini diimplementasikan
menggunakan bahasa pemrograman Java yang dapat melakukan encoding data
menjadi barcode atau sebaliknya. Berbagai jenis barcode yang didukung oleh
aplikasi ini yaitu : UPC-E, EAN-13, Code 39, Code 93, Data Matrix, QR Code,
dan Code Bar. [7]
Android adalah salah satu sistem operasi perangkat cerdas (smartphone)
yang merupakan versi modifikasi dari kernel Linux yang dikembangkan oleh
Google. Android saat ini telah digunakan pada ratusan juta perangkat mobile di
lebih dari 190 negara di seluruh dunia [8]. Di negara Indonesia pengguna
perangkat mobile phone diperkirakan mencapai 180 Juta orang. Dari jumlah
4
pengguna tersebut pengguna smartphone dengan sistem operasi android mencapai
60.71 persen dari jumlah yang ada [9]. Data lain yang mendukung pembuatan
aplikasi pemesanan pada perangkat mobile, diperoleh dari hasil survei lembaga
survei Neilsen tentang E-Commerce yang diambil dari 60 negara dan terdiri dari
30.000 responden pada tahun 2014, ditemukan bahwa penggunaan smartphone
oleh setiap responden dalam melakukan belanja online cukup tinggi. Khusus
untuk negara-negara yang berada di Asia Tenggara, Indonesia merupakan negara
nomor satu yang menggunakan mobile phone untuk mengakses E-Commerce.
Dari sekian banyak akses oleh orang Indonesia terhadap E-Commerce, Neilsen
mengelompokan kedalam lima kategori. Ketegori pertama yang mendapat akses
paling tinggi yaitu : Pemesanan tiket pesawat secara online yaitu sebanyak 55%,
yang kedua reservasi hotel online sebanyak 46%, yang ketiga pembelian buku
secara online sebanyak 40%, yang keempat pembelian aksesoris, pakaian, dan
sepatu (retail) 37% dan yang kelima pemesanan tiket (event ticket) hanya 34%
[10].
Web service adalah sebuah software aplikasi yang tidak terpengaruh oleh
platform yang menyediakan method-method yang dapat diakses oleh network.
Web service merupakan sebuah interface yang mendeskripsikan kumpulan
operasi-operasi berupa message yang dapat diakses melalui sebuah jaringan.
SOAP (Simple Object Access Protocol) Web Service adalah sebuah XML-Based
Mark-Up Language untuk pergantian pesan diantara aplikasi-aplikasi. Sebuah
SOAP message terdiri dari SOAP Envelope dan bisa terdiri dari attachments atau
tidak memiliki attachments. WSDL mendefinisikan service sebagai sebuah
koleksi dari endpoints network sedangkan UUDI (Universal Description,
Discovery and Integration) adalah sebuah service registry bagi pengalokasian web
service. UUID mengkombinasikan SOAP dan WSDL untuk pembentukan sebuah
registri API bagi pendaftaran dan pengenalan service [11].
3. Metode Penelitian
Metode penelitian merupakan penguraian secara rinci tentang metode yang
digunakan pada proses penelitian [13]. Penelitian dilakukan dengan tahapan-
tahapan berikut, yaitu : 1) Identifikasi dan Perumusan Masalah, 2) Pengumpulan
data dan Penelusuran Pustaka, 3) Perancangan dan Implementasi Sistem, 4)
Pengujian, 5) Penyimpulan Hasil.
Penjelasan tentang langkah-langkah penelitian dijelaskan sebagai berikut : 1)
Pada tahap Identifikasi dan perumusan masalah, dilakukan pengamatan
(observasi) terhadap beberapa hasil survei atau penelitian-penelitian mengenai
pemasaran khususnya tentang kelebihan dan kekurangan dari pemasaran
konvensional dan pemasaran online, kemudian mengidentifikasi masalah yang
pada objek yang diteliti. 2) Pada tahap Pengumpulan data dan Penelusuran
Pustaka, dikumpulkan informasi tentang apa saja yang diperlukan untuk
merancang sistem berdasarkan permasalahan yang ada, yang dilakukan dengan
cara wawancara dan studi pustaka. 3) Pada tahap perancangan dan implementasi
sistem, pada tahap ini dilakukan perancangan sistem dengan memodelkan sistem
yang dirancang untuk penyelesaian masalah berdasarkan model prototype. 4) Pada
tahap pengujian dilakukan uji coba sistem. Uji coba sistem dilakukan setelah
5
tahap perancangan dan implementasi selesai dilakukan. Pengujian sistem
dilakukan dengan melakukan black box testing untuk memastikan bahwa seluruh
fungsi dapat berjalan dengan baik kemudian dilanjukan dengan pengujian beta.
Tahap terakhir adalah penulisan laporan yaitu untuk membuat dokumentasi
tentang penelitian yang sudah dilakukan.
4. Metode Perancangan Sistem
Perancangan sistem menggunakan pendekatan prototype melewati tiga
proses, yaitu pengumpulan kebutuhan, perancangan, dan evaluasi prototype.
Gambar 1, menunjukan proses-proses perancangan sistem. Tahap awal dari model
ini adalah pengumpulan kebutuhan yang dilakukan dengan berinteraksi dengan
pengguna sistem untuk menentukan tujuan umum dan gambaran bagian-bagian
yang akan dibutuhkan untuk perancangan. Perancangan dilakukan dengan cepat
dan mewakili semua aspek sistem yang diketahui dan rancangan ini menjadi dasar
pembuatan prototype. Evaluasi prototype merupakan tahap pengujian aplikasi
yang telah selesai dibuat. Pengujian ini berfungsi untuk memperjelas kebutuhan
prototype sistem yang dirancang. Perulangan ketiga proses ini terus berlangsung
hingga semua kebutuhan rancangan prototype sistem terpenuhi.
Gambar 1, Model Prototype [12].
Pada tahap pertama, dibuat perancangan arsitektur dari sistem yang akan
dibuat. Pada tahap ini prototype sistem yang dirancang terdiri dari sebuah web
server yang menangani proses request dan response dari client, dan dua aplikasi
client yang dapat digunakan oleh pelanggan dan admin. Aplikasi yang digunakan
oleh pelanggan yaitu aplikasi berbasis mobile sedangkan aplikasi yang digunakan
oleh admin yaitu aplikasi berbasis desktop. Pada tahap pertama, dibuat terlebih
dahulu perancangan web server, yang melayani request dari client, yaitu :
mengembalikan detail barang berdasarkan kode unik dari request client. Detail
barang yang diterima client, diambil dari database barang yang terdapat pada
server berdasarkan primary key (kode unik). Setelah web server dibuat,
pembuatan aplikasi mobile dan desktop untuk admin mulai dilakukan. Pada
aplikasi mobile, dibuat layout preview kamera pada layar menu utama untuk
memudahkan pengguna menangkap (capture) gambar barcode.
Hasil dari tahapan pertama, pada aplikasi mobile berhasil mendapatkan kode
unik (decoding) yang terdapat pada QR Code maupun barcode dan menampilkan
informasi detail produk yang didapat dari web server. Pada aplikasi desktop
6
dibuat form input barang disertai fitur membuat barcode. Penggunaan fungsi
encoding pada form ini berhasil melakukan encoding kode unik menjadi QR Code
maupun barcode kemudian berhasil menyimpan data barang ke server.
Kekurangan yang ditemukan pada tahap pertama yaitu : Pengguna aplikasi hanya
sebatas mendapatkan informasi tentang detail barang. Untuk pemesanan barang,
pengguna aplikasi belum dapat melakukan karena belum tersedia fitur untuk
pemesanan barang.
Pada tahap kedua, dilakukan perbaikan aplikasi dengan menambahkan fitur
pemesanan agar pengguna aplikasi dapat memesan barang hasil dari pemindaian
barcode. Penambahan fitur dilakukan dengan menambah fungsi pada web server
yang menangani proses pemesanan. Pada tahap ini proses pemesanan terjadi pada
saat pengguna melakukan pemindaian. Untuk mempermudah identifikasi setiap
pesanan yang masuk, pada tahap ini ditambahkan fitur registrasi menjadi member.
Setelah diuji, didapati kekurangan pada tahap kedua yaitu pemesanan barang tidak
dapat dibatalkan, proses scan dilakukan satu persatu pada produk yang sama.
Pada prototype tahap ketiga, dilakukan perbaikan pada kekurangan tahap
kedua yang didapat dari pengujian tahap kedua dengan membuat menu keranjang
belanja yang menampung setiap data pemindaian barang agar sebelum melakukan
checkout member dapat membatalkan produk yang tidak jadi dipesan, melakukan
pengubahan pada jumlah pesanan. Pada tahap ketiga ini, prototype sistem sudah
memenuhi kebutuhan. Hasil dari tahap ketiga ini pengguna aplikasi sudah dapat
melakukan checkout pada barang yang ditentukan dan dapat melakukan
pengubahan data sebelum checkout.
Desain perancangan sistem pada penelitian ini, menggunakan UML (Unified
Modeling Language). Pada penelitian ini pemodelan sistem didesain dalam dua
diagram yaitu : Use Case Diagram dan Activity Diagram. Gambar 2, menunjukan
Use Case Diagram yang menjelaskan fungsionalitas yang diberikan kepada
pengguna sistem. Pengguna sistem (aktor), terdiri dari member dan admin.
Ditunjukan pada Gambar, fungsionalitas yang dapat dilakukan oleh konsumen
(member) yaitu : melakukan registrasi, melakukan pemesanan barang, mengolah
isi keranjang belanja, melakukan checkout, dan melihat daftar checkout,
sedangkan fungsionalitas yang dapat dilakukan oleh admin yaitu : mengolah data
barang, melihat daftar checkout, melakukan konfirmasi pengiriman dan melihat
daftar member.
Gambar 2, Use Case Diagram Sistem.
7
Activity diagram pemesanan barang oleh member dimulai dari member login
ke sistem, apabila proses login ke sistem berhasil maka langkah selanjutnya
member melakukan pemindaian pada QR Code maupun barcode yang tersedia.
Sistem akan mengidentifikasi kode unik yang didapat dari proses decoding
barcode tersebut kemudian menampilkan detail produk pada layar menu utama
aplikasi. Kemudian member dapat melakukan checkout pada produk tersebut.
Activity Diagram saat member melakukan pemesanan produk ditunjukan pada
Gambar 3.
Gambar 3, Diagram Activity Pengguna Aplikasi (Member) saat melakukan pemesanan.
Aktifitas admin adalah mengolah data barang, melihat daftar pesanan
pelanggan, dan melakukan konfirmasi pengiriman barang. Gambar 4,
menggambarkan aktifitas-aktifitas yang dapat dilakukan oleh admin dalam
melakukan konfirmasi pada pesanan member. Sebelum melakukan konfirmasi
pesanan pada proses pengiriman barang kepada member, admin harus login
terlebih dahulu ke sistem. Setelah proses login selesai sistem akan menampilkan
daftar pesanan member kemudian admin dapat memilih setiap pesanan yang
terdapat pada tabel kemudian melakukan konfirmasi. Hasil konfirmasi, disimpan
di sisi server.
8
Gambar 4, Activity Diagram Admin Saat melakukan konfirmasi pesanan member.
Tahap selanjutnya adalah implementasi dan pengujian sistem, serta analisis
hasil pengujian, yaitu mengimplementasikan aplikasi yang sudah dibuat kemudian
dilakukan pengujian, selanjutnya melakukan analisis untuk melihat apakah
aplikasi yang telah dibuat sudah sesuai dengan yang diharapkan atau tidak ada
error, jika belum sesuai maka akan dilakukan perbaikan. Selanjutnya dilakukan
penggujian aplikasi kepada member untuk mengukur keberhasilan prototype dari
sistem yang dirancang. Tahap terakhir yang dilakukan adalah penulisan laporan
hasil penelitian, yaitu mendokumentasikan proses penelitian yang sudah
dilakukan dari tahap awal hingga akhir ke dalam tulisan, yang nantinya akan
menjadi laporan hasil penelitian.
5. Hasil dan pembahasan
Sistem yang dibangun terdiri dari tiga aplikasi yang saling terhubung yaitu
aplikasi mobile untuk member, aplikasi desktop untuk admin, dan sebuah web
server yang didalamnya terdapat web service untuk melayani proses request dan
response dari client. Gambar 5, menunjukan arsitektur sistem yang dirancang.
9
Aplikasi Toko
Web Service, merespon SOAP request
client dengan cara mengirim XML service
response ke client sesuai dengan SOAP
service request dari setiap client.
SOAP service request SOAP service request
Custumer
XML service responseXML service response
Gambar 5, Arsitektur Sistem.
Tahap implementasi aplikasi member pada perangkat Android, menghasilkan
sebuah aplikasi Android yang dilengkapi dengan fitur barcode scanner reader
yang dapat digunakan untuk membaca QR Code maupun barcode produk yang
disediakan pada media promosi untuk pemesanan produk. Proses pemesanan
hanya boleh dilakukan oleh pelanggan yang telah melakukan registrasi sebagai
member.
Gambar 6, Tampilan Login ke Sistem oleh Member .
Gambar 6, menunjukan tampilan awal dari aplikasi mobile yang dirancang.
Pada tampilan awal sistem akan menampilkan pilihan email yang akan digunakan
untuk registrasi yang didapat dari penggunaan library GooglePlusAPI.
Penggunaan library ini dimaksud agar proses registrasi member ke sistem dapat
dilakukan dengan cepat. Proses registrasi member ditunjukan pada Kode Program
1, pada baris ke 12 pemanggilan method static addMember pada class Web
service berfungsi untuk mengirim data pengguna melalui web service ke server
dengan cara menggambil data pengguna berupa Nama Lengkap (baris 3) dan
Email (baris 4) dari email aktif yang terdapat pada perangkat mobile Android
Server
10
pengguna. Setelah proses registrasi berhasil maka aplikasi akan menampilkan
Menu Utama yang berisi berbagai fitur untuk keperluan pemesanan barang. Kode Program 1, Proses Pengambilan Data Member dan Registrasi ke Server.
1. if (Plus.PeopleApi.getCurrentPerson(googleApiClient) != null) {
2. Person currentPerson = Plus.PeopleApi.getCurrentPerson(googleApiClient);
3. String personName = currentPerson.getDisplayName();
4. String email = Plus.AccountApi.getAccountName(googleApiClient);
5. member = new MemberModel();
6. member.setNmLengkap(personName);
7. member.setEmail(email);
8. new AsyncTask<Void, Void,String>(){
9. @Override
10. protected String doInBackground(Void... params) {
11. try {
12. return WebService.addMember(member, "addMemberService");
13. } catch (Exception e) {System.out.println(e.getMessage());}
14. return null;
15. }
16. protected void onPostExecute(String result) { }
17. protected void onPreExecute() {
18. loadMainActivity();
19. };
20. }.execute();
Proses pemesanan dilakukan dengan cara mengambil gambar barcode/QR
Code yang disediakan pada media promosi menggunakan kamera perangkat
mobile Android. Pola barcode yang diambil menggunakan kamera kemudian
diterjemahkan menjadi string karakter (proses decoding) menggunakan pustaka
Zxing. Gambar 7, menunjukan tampilan Menu Barcode scanner (Gambar 7.1) dan
alur proses pembacaan barcode yang terjadi pada perangkat mobile Android
menggunakan pustaka Zxing (Gambar 7.2).
Gambar 7, Tampilan Menu Utama dan Alur Proses Decoding Pola QR Code menjadi String
karakter.
Kode Program 2, menunjukan proses decoding barcode/Qr Code. Proses
pembacaan dilakukan dengan memanggil class interface IResultCallback yang
terdapat pada pustaka Zxing pada class FragmentScanner aplikasi. Pemanggilan
interface ini menyebabkan aplikasi dapat menangkap (capture) pola barcode dan
menerjemahkan pola barcode secara otomatis kemudian diteruskan ke method
11
loadDetailBarangAfterScan sebagai input parameter ke web service sebagai
request untuk menampilkan detail produk.
Kode Program 2, Proses Decoding Pola Barcode.
1. try { 2. this.setmCallBack(new IResultCallback() { 3. @Override 4. public void result(Result lastResult) { 5. BarcodeReaderFragment.loadDetailBarangAfterScan(lastResult.toString()); 6. }}); 7. } catch (Exception e) {
8. }
Proses pengiriman data ke server melalui web service client, berupa
SoapObject yang didalamnya terdapat kode unik hasil decoding, namespace web
service dan method yang dituju (Kode Program 3 baris 4). Proses pencarian data
dilakukan oleh aplikasi server dengan memanggil jenis produk berdasarkan kode
uniknya di database. Hasil pencarian tersebut memberikan nilai kembalian ke
client berupa response server agar ditampilkan ke perangkat mobile.
Kode Program 3, Proses Pengiriman Message ke Server untuk Mendapatkan Detail Produk.
1. @Override 2. protected Barang doInBackground(String... params) { 3. try { 4. barang =
WebService.invokeFindBarangByKodeBarang(params[0],"findBarangByKodeBarang");
5. } catch (Exception e) {} 6. return barang;}}
Secara lengkap proses pemindaian barcode/QR Code sampai pemesanan
barang ditampilkan pada Gambar 8. Proses pemesanan barang dapat dilakukan
setelah proses scanning barcode dilakukan oleh member dan aplikasi berhasil
menampilkan detail produk yang didapat dari response server.
Gambar 8, Alur Proses Pemesanan Barang dengan Cara Scanning Barcode.
12
Pemesanan barang dimulai dengan memasukan barang-barang yang dipesan
melalui pemindaian barcode ke keranjang belanja yang terdapat pada aplikasi.
Proses Ambil Barang untuk dimasukan ke keranjang belanja disetujui oleh sistem
apabila jumlah pemesanan tidak melebihi jumlah stok yang tersedia. Memasukan
barang pesanan ke keranjang memungkinkan member dapat melakukan perubahan
pada jumlah item yang dipesan atau membatalkan pesanan, sebelum member
melakukan checkout.
Proses checkout diawali dengan memasukan alamat pemesan terlebih dahulu.
Alamat yang diinput berguna untuk proses pengiriman barang ke member. Proses
checkout selanjutnya dilakukan dengan mengirim request ke server berupa id
member (berupa email) dan data barang yang telah dipilih pada menu keranjang
belanja (Kode Program 4 baris 4 s.d 7).
Kode Program 4, Proses Checkout.
1. @Override
2. protectedString doInBackground(String... params) {
3. try{ WebService.invokeTambahkanKeDaftarPesanan(
4. MainActivity
5. .getUser()
6. .get(
7. SessionManager.KEY_EMAIL),selectedItems);
8. } catch (Exception e) {}
9. return null;
10. }
Setelah proses checkout dilakukan, member boleh melihat status pemesanan
pada menu Lihat Daftar Pesanan. Terdapat beberapa pilihan yang boleh dipilih
oleh member untuk melihat daftar pesanan berdasarkan status pesanan. Status
pesanan yang disediakan dalam aplikasi yaitu : pilihan status Menunggu
Konfirmasi yang menampilkan daftar barang yang telah dipesan namun belum
dikonfirmasi oleh admin, pilihan status Dalam Proses Pengiriman yang
menampilkan barang yang sedang dikirim ke member yang bersangkutan, dan
pilihan status Telah Diterima menampilkan barang yang telah diterima oleh
member. Gambar 9, menampilkan tampilan menu Lihat Daftar Pesanan.
Gambar 9, Tampilan Menu Lihat Daftar Pesanan.
13
Checkout barang oleh member, disimpan dalam database di web server. Pada
aplikasi Admin, dapat dilihat daftar pesanan member pada form utama aplikasi
desktop. Form Utama dari aplikasi desktop yang dibuat, menampilkan Daftar
Pesanan Member yang berisi email, nama lengkap serta jumlah pesanan dari
member yang melakukan pemesanan yang dikelompokan berdasarkan tanggal
pemesanan. Gambar 10, menunjukan tampilan menu utama dari aplikasi admin
yang menampilkan daftar pesanan dari member.
Gambar 10, Tampilan Menu Utama Aplikasi Admin
Pada aplikasi admin, untuk melakukan proses konfirmasi pengiriman barang,
admin terlebih dahulu melakukan login ke sistem. Pada menu utama, terdapat
daftar member yang melakukan pemesanan. Proses konfirmasi pengiriman barang,
dilakukan oleh admin dengan memilih daftar member. Daftar pesanan akan
ditampilkan berdasarkan tanggal pemesanan yang dapat dikonfirmasi.
Proses yang terjadi saat admin melakukan konfirmasi pesanan yaitu : data
pemesanan dikirim ke web server melalui web service berupa request yang berisi
message berupa data kode unik setiap produk dan email member. Kemudian
pemesanan data member yang tersimpan dalam database diupdate sesuai
permintaan dari admin.
Kode Program 5, Method Web Service untuk Update Pesanan.
1. @WebMethod(operationName = "invokeUpdateListPesanan")
2. public String invokeUpdateListPesanan(@WebParam(name = "listpesanan")
List<PesanBarangModel> listPesanKonfirm) {
3. PesanBarangController controller = new PesanBarangController();
4. return controller.invokeUpdateListPesanan(listPesanKonfirm);
5. }
Pengolahan data barang oleh admin dapat dilakukan pada Menu master
barang. Pada menu master barang, disediakan fitur-fitur yang dapat melakukan
pengolahan data barang seperti menambah, menghapus, mengubah dan
melakukan update stok barang pada database. Proses penambahan data dilakukan
14
dengan mengisi form input yang tersedia seperti kode barang, nama barang, harga,
stok dan lain-lain secara lengkap.
Pada Form Master Barang, terdapat fitur untuk proses encoding kode unik
menjadi QR Code maupun Barcode. Gambar 11 memperlihatkan QR Code hasil
encode dari kode barang yang diinput oleh admin, hasil dari encoding oleh
pustaka Zxing. Hasil encode ini berupa file gambar yang kemudian disimpan
sebagai atribut barang dalam database agar dapat digunakan untuk memindai
barcode barang tersebut oleh member.
Gambar 11, Tampilan Menu Daftar Pesanan.
Pembuatan QR Code dari sebuah inputan String menjadi pola bar, dilakukan
dengan cara memanggil method encode() yang terdapat pada pustaka Zxing dan
menjadikan string kode barang sebagai input parameternya. Output yang
dihasilkan disesuaikan dengan kebutuhan, apakah menghasilkan QR Code,
EAN13 Barcode, CODE128 Barcode dan lain-lain. Kode Program 6, menunjukan
proses pembuatan barcode EAN13 yang dibentuk dari inputan String menjadi
BitMatrix. Setelah proses konversi string ke BitMatrix selesai dilakukan, tahap
terakhir dari proses pembuatan barcode adalah mengubah BitMatrix tersebut
menjadi Image Barcode agar dapat disimpan dalam database atau dapat langsung
digunakan pada media promosi.
Kode Program 6, Proses Pembuatan QR Code dari BitMatrix menjadi Image.
1. int matrixWidth = byteMatrix.getWidth();
2. BufferedImage img = new BufferedImage( matrixWidth,matrixWidth,
3. BufferedImage.TYPE_INT_RGB);
4. img.createGraphics();
5. Graphics2D graphics = (Graphics2D) img.getGraphics();
6. graphics.setColor(Color.WHITE);
7. graphics.fillRect(0, 0, matrixWidth, matrixWidth);
8. // buat gambar menggunakan ByteMatrix
9. graphics.setColor(Color.BLACK);
10. for (int i = 0; i < matrixWidth; i++) { 11. for (int j = 0; j < matrixWidth; j++) { 12. if(byteMatrix.get(i,j)) { 13. graphics.fillRect(i, j, 1, 1);}} 14. } 15. ImageIO.write(img, formatFile, file); 16. }
15
Proses pengolahan data barang dan transaksi, dilayani sepenuhnya oleh
aplikasi web server melalui web service yang terdapat didalamnya. Pada server,
terdapat database yang menyimpan data barang, data member, data admin, dan
transaksi.
Webservice yang dibangun menggunakan SOAP Webservice. Untuk semua
proses yang terjadi pada sistem ditangani sepenuhnya oleh web service tersebut.
Agar service yang dibuat dapat diakses oleh client, maka dibuat konfigurasi
endpoint network. Konfigurasi file tersebut memungkinkan client dapat
mengakses web service yang telah dibuat dengan alamat tertentu sesuai dengan
isi. Kode Program 7 menunjukan konfigurasi endpoint network.
Kode Program 7, Konfigurasi End Point Webservice.
1. <?xml version="1.0" encoding="UTF-8"?>
2. <endpoints version="2.0"
3. xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
4. < endpoint
5. implementation = "service.Service"
6. name = "servicevmmarket"
7. url-pattern = "/servicevmmarket"
8. />
9. </endpoints>
Konfigurasi tersebut kemudian dipanggil pada aplikasi client. Kode Program
8 menunjukan proses pengaksesan WSDL oleh client. Variabel-variabel yang
harus menentukan dalam akses ke web service tersebut yaitu NameSpace yang
mengarah pada package yang merupakan tempat service disimpan disimpan pada
server dan URL WSDL yang berupa alamat dari service.
Kode Program 8, Proses pemanggilan Web Service.
1. public class WebServiceManager {
2. public static String NAMESPACE = "http://service/";
3. public static String URL=
4. "http://marcelovirtualmarket-serviceevan.rhcloud.com/servicevmmarket?wsdl";
5. public static String SOAP_ACTION = "http://service/";
6. }
Selain kedua variabel tersebut pengaksesan method service disesuaikan
dengan @webmethod(operationName) dan @webparam(paramName)
yang terdapat pada setiap method service pada server agar memudahkan proses
pemanggilan yang terdapat pada server. Kode Program 9 menunjukan salah satu
proses request ke server.
Kode Program 9, Request menampilkan rincian barang.
1. Barang barang = new Barang();
2. SoapObject request = new SoapObject(NAMESPACE,
3. webMethodName);
4. PropertyInfo pi = new PropertyInfo();
5. pi.setName("kodeBarang");pi.setValue(kodeBarang);
6. pi.setType(String.class);
7. request.addProperty(pi);
8. SoapSerializationEnvelope envelope = new
1. SoapSerializationEnvelope(SoapEnvelope.VER11);
16
9. envelope.setOutputSoapObject(request);
10. envelope.addMapping(NAMESPACE, "Barang", new Barang().getClass());
11. AndroidHttpTransport androidHttpTransport = newAndroidHttpTransport(URL);
12. androidHttpTransport.call(SOAP_ACTION + webMethodName, envelope);
13. SoapObject response = (SoapObject) envelope.getResponse();
Request seperti pada Kode Program 9, diterima oleh server sebagai sebuah
pesan, yaitu berupa web method dan parameter melalui pengaksesan endpoint
network oleh client. Requestclient diidentifikasi berdasarkan nama dari web
method. Method yang diakses kemudian menjalankan controller dan
mengembalikan output sesuai dengan request yang diminta (Kode Program 10
baris 3 sampai 5).
Kode Program 10, Pemrosesan request pada Server.
1. @WebMethod(operationName = "invokeTambahkanKeDaftarPesanan")
2. public void invokeTambahkanKeDaftarPesanan(
3. @WebParam(name = "email") String email,
4. @WebParam(name="arrItemSelected")String arrItemSelected) {
5. PesanBarangController c = new PesanBarangController();
6. c.invokeTambahkanKeDaftarPesanan(email, arrItemSelected);
7. }
Setelah proses implementasi selesai dilakukan, untuk mengetahui apakah
sistem sudah berjalan dengan baik atau belum maka dilakukan pengujian terhadap
sistem yang telah dibuat. Metode yang digunakan untuk pengujian sistem
menggunakan metode black box testing. Black box testing adalah sebuah metode
pengujian perangkat lunak yang menguji fungsionalitas sebuah aplikasi tanpa
melihat alur eksekusi program, namun cukup memperhatikan apakah setiap fungsi
menghasilkan output sesuai dengan yang diinginkan. Tabel 1 menunjukan hal-hal
yang diuji dan hasil pengujian sistem.
Tabel 1, Hasil Pengujian Blackbox Testing prototipe sistem
No Fungsi Pengujian Hasil yang
diharapkan Hasil yang muncul Kesimpulan
1
Pembuatan QR Code maupun Barcode pada aplikasi Admin
Menginput kode unik kemudian untuk menghasilkan barcode.
Aplikasi dapat membuat gambar barcode.
Barcode berhasil dibuat
Berhasil
2
Pengolahan data barang. Melakukan insert,
update, delete pada data barang.
Aplikasi dapat melakukan pengolahan data barang.
Pengolahan data berhasil dilakukan.
Berhasil
3
Konfirmasi pesanan member oleh admin pada aplikasi desktop.
Melakukan konfirmasi dengan cara memberi checklist pada pesanan member dan menekan tombol konfirmasi.
Proses konfirmasi pesanan dapat dilakukan oleh admin.
Konfirmasi berhasil Berhasil
4
Pembacaan QR Code maupun Barcode pada perangkat Andoid
Pengiriman kode unik barang yang terdapat di keranjang ke
Sistem dapat menampilkan rincian produk saat proses scan
Rincian produk tampil pada saat member melakukan scan dengan aplikasi
Berhasil
17
server untuk checkout.
barcode. android.
5
Pengambilan Barang oleh member (Scaning)
Proses pengiriman kode unik hasil decoding barcode ke server agar disimpan pada tabel pemesanan/keranjang
Sistem dapat melakukan pemesanan barang sesuai input member.
Keranjang belanja member bertambah.
Berhasil
6
Checkout Pengiriman kode unik barang yang terdapat di keranjang ke server untuk checkout.
Sistem dapat mengirim ke data ke server untuk proses checkout.
Terjadi perubahan staus pesanan pada keranjang belanja
Berhasil
7
Periksa Histori Pemesanan
Mengirim request ke server untuk mendapatkan data pesanan yang telah dipesan
Sistem dapat menampilkan daftar pesanan member.
Daftar pesanan tampil pada layar android.
Berhasil
Pengujian aplikasi dilakukan dengan metode beta testing. Uji beta testing
dilakukan dengan mengumpulkan user untuk menggunakan aplikasi yang telah
dibuat kemudian mengisi kuisioner yang diajukan oleh peneliti. User sebagai
sampel user berjumlah 30 responden. Setelah dilakukan pengambilan pendapat
menggunakan kuisioner beta testing diperoleh hasil sebagai berikut :
Tabel 2, Rekap Hasil Beta Testing.
No Pertanyaan Jumlah Tanggapan
Ya Ragu-ragu Tidak
1 Apakah menurut anda aplikasi ini mudah
digunakan? 22 8 0
2 Apakah tampilan desain aplikasi menarik? 10 15 5
3 Apakah aplikasi penggabungan pemasaran
konvensional dan online dengan memanfaatkan
QR Code dan barcode untuk pembelian dengan
cara pemindaian barang membantu anda
memesan produk yang dipasarkan secara
konvensional ?
21 9 0
4 Apakah aplikasi sudah memenuhi kebutuhan
anda ? 20 10 0
5 Apakah pembelian barang dengan cara ini
sangat membantu? 26 4 0
TOTAL 99 40 5
18
Gambar 12, Persentase Kuisioner dari Lima Pertanyaan.
Dari hasil uji coba berdasarkan tabel 2 maka persentase responden yang
menyatakan setuju tentang pembuatan prototype pada penelitian ini berjumlah 99
/ 144 * 100% = 68.8 %, yang menyatakan ragu-ragu berjumlah 40/144*100 = 27.8
% dan yang menyatakan tidak setuju berjumlah 5/144*100% = 3.5 %. Dari hasil
tersebut maka dapat disimpulkan bahwa prototype sistem ini dapat diterapkan
untuk meningkatkan aksesibilitas produk pada promosi dan penjualan
konvensional.
7. Simpulan
Berdasarkan hasil penelitian yang telah dilakukan, meliputi perancangan dan
implementasi sampai pada pengujian sistem dapat disimpulkan bahwa:
Perancangan sistem pemesanan barang dengan cara pemindaian barcode maupun
QR Code melalui perangkat mobile dapat dilakukan pada media promosi yang
disertai barcode atau QR Code setiap produk. Proses pembuatan Barcode/QR
Code (encoding) terjadi di aplikasi desktop milik Admin dengan cara
mengkonversi inputan karakter menjadi pola barcode, sedangkan proses
pembacaan Barcode/QR Code terjadi di aplikasi mobile milik member dengan
cara menterjemahkan kembali pola barcode tersebut menjadi format karakter dan
dikirim ke server untuk proses identifikasi produk untuk ditampilkan ke
perangkat mobile. Proses pembuatan dan proses pembacaan Barcode maupun QR
Code dilakukan menggunakan pustaka Zxing (Zebra Crossing). Agar komunikasi
antar client (Admin dan member) dapat berjalan dengan baik digunakan SOAP
web service yang diletakan di web server sebagai penghubung kedua aplikasi
client.
8. Pustaka
[1] M.,Jiwo Sapto, 2010, Pengaruh Consumer-Level Factor Terhadap
Kesuksesan Produk Private Label Brands, Skripsi Fakultas Ekonomi
Universitas Sebelas Maret Surakarta,
http://core.ac.uk/download/pdf/12348256.pdf, Diakses pada tanggal 14
Oktober 2015.
[2] Prabandari, Studi Perbandingan Efektivitas Media Promosi Online dengan
Media Promosi Konvensional UKM Kerajinan Keramik Kasongan
Yogyakarta, 2014, Skripsi Program Studi Desain Komunikasi Visual Jurusan
19
Desain Fakultas Seni Rupa Institut Seni Indonesia Yogyakarta.
http://lib.isi.ac.id/gdl42/files/disk1/12/ykptisipp--prabandari-560-1-babipr-
i.pdf, Diakses pada tanggal 14 Oktober 2015.
[3] Ningsih, Yulia., 2014., Perancangan Sistem Informasi Penjualan Baju Batik
Berbasis Web (Online Shopping) pada CV. Selaras Batik, Skripsi, Program
S1 Sistem Informasi Manajemen Sekolah Tinggi Manajemen dan Ilmu
Komputer (STMIK) Raharja. Tangerang.
[4] Tresnani, Dini Lestari., Munir, Rinaldi., Implementasi Sistem Absensi
Pegawai menggunakan QR Code pada Smartphone Android, Artikel Ilmiah,
Institut Teknologi Bandung, http://informatika.stei.itb.ac.id/~rinaldi.munir/,
Diakses pada tanggal 08 April 2014.
[5] Wibisono, Michael Christian., 2013, Pembuatan Aplikasi Pencatatan Stock
dengan Menggunakan Barcode Pada Android, Artikel Ilmiah,
http://studentjournal.petra.ac.id/index.php/teknik-informatika/article,
Diakses pada tanggal 08 April 2014.
[6] Wahyono, Teguh,. 2010, Membuat Sendiri Aplikasi Dengan Memanfaatkan
Barcode. Jakarta : Elex Media Komputindo.
[7] Owen Sean. Zebra Crossing. https://github.com/zxing/zxing. Diakses pada
tanggal 09 Januari 2015.
[8] Karch, Marziah., What Is Google Android, http://google.about.com/, Diakses
pada tanggal 17 Oktober 2015.
[9] Statista, 2015, Market share held by mobile operating systems in Indonesia
from January 2012 to July 2015,
http://www.statista.com/statistics/262205/market-share-held-by-mobile-
operating-systems-in-indonesia/, Diakses pada tanggal 20 Oktober 2015.
[10] Neilsen, 2015, Indonesian Consumers Flock Online to Purchase Products and
Services, http://www.nielsen.com/id/en/press-room/2014/indonesian-
consumers-flock-online-to-purchase-products-and-services.html, Diakses
pada tanggal 19 Oktober 2015.
[11]Hamdani, 2011, Apa itu Web Service ?,
http://hamdani.blog.ugm.ac.id/2011/07/15/apa-itu-web-service/ , Diakses
pada tanggal 21 November 2015.
[12] Pressman, Roger. 1992. Software Engineering A practitioner’s Approach.
Mc-Graw-Hill Inc.
[13] Hasibuan, Zainal A. 2007. Metodologi Penelitian Pada Bidang Ilmu
Komputer dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi. Jakarta :
Ilmu Komputer Universitas Indonesia.
[14] International Data Corporation, 2015, Smartphone OS Market Share, 2015
Q2, http://www.idc.com/prodserv/smartphone-os-market-share.jsp, Diakses
pada tanggal 19 Oktober 2015.
Recommended