try { 4. barang = } catch Exception e {} 6. return barang;}}

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.setmCallBacknew IResultCallback {

3. Override 4. public void resultResult lastResult { 5. BarcodeReaderFragment.loadDetailBarangAfterScanlastResult.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 doInBackgroundString... params {

3. try { 4. barang =

WebService.invokeFindBarangByKodeBarangparams[0],findBarangByKodeBarang;

5. } catch Exception e {} 6. return barang;}}

Secara lengkap proses pemindaian barcodeQR 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 doInBackgroundString... 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. WebMethodoperationName = invokeUpdateListPesanan 2. public String invokeUpdateListPesananWebParamname = listpesanan ListPesanBarangModel listPesanKonfirm { 3. PesanBarangController controller = new PesanBarangController; 4. return controller.invokeUpdateListPesananlistPesanKonfirm; 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.setColorColor.WHITE; 7. graphics.fillRect0, 0, matrixWidth, matrixWidth; 8. buat gambar menggunakan ByteMatrix 9. graphics.setColorColor.BLACK; 10. for int i = 0; i matrixWidth; i++ { 11. for int j = 0; j matrixWidth; j++ { 12. ifbyteMatrix.geti,j { 13. graphics.fillRecti, j, 1, 1;}} 14. } 15. ImageIO.writeimg, 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.comxmlnsjax-wsriruntime 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.comservicevmmarket?wsdl; 5. public static String SOAP_ACTION = http:service; 6. } Selain kedua variabel tersebut pengaksesan method service disesuaikan dengan webmethodoperationName dan webparamparamName 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 SoapObjectNAMESPACE, 3. webMethodName; 4. PropertyInfo pi = new PropertyInfo; 5. pi.setNamekodeBarang;pi.setValuekodeBarang; 6. pi.setTypeString.class; 7. request.addPropertypi; 8. SoapSerializationEnvelope envelope = new 1. SoapSerializationEnvelopeSoapEnvelope.VER11; 16 9. envelope.setOutputSoapObjectrequest; 10. envelope.addMappingNAMESPACE, Barang, new Barang.getClass; 11. AndroidHttpTransport androidHttpTransport = newAndroidHttpTransportURL; 12. androidHttpTransport.callSOAP_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. WebMethodoperationName = invokeTambahkanKeDaftarPesanan 2. public void invokeTambahkanKeDaftarPesanan 3. WebParamname = email String email, 4. WebParamname=arrItemSelectedString arrItemSelected { 5. PesanBarangController c = new PesanBarangController; 6. c.invokeTambahkanKeDaftarPesananemail, 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 pemesanankeranj ang 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 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 4 Apakah aplikasi sudah memenuhi kebutuhan anda ? 20 10 5 Apakah pembelian barang dengan cara ini sangat membantu? 26 4 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 40144100 = 27.8 dan yang menyatakan tidak setuju berjumlah 5144100 = 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