RANCANG BANGUN APLIKASI VIRTUAL STORE
MENGGUNAKAN PHOTO BARCODE SCANNER
BERBASIS SMARTPHONE ANDROID
TUGAS AKHIR
Program Studi S1 Sistem Informasi
Oleh:
DWI WIBOWO 07410100295
FAKULTAS TEKNOLOGI DAN INFORMATIKA
iv
2.2.1 The dalvik Virtual Machine (DVM) ... 9
2.2.2 Android SDK (Software Development Kit) ... 10
2.2.2 Arsitektur Android ... 11
v
2.3.2 QR Code Reader ... 16
2.3.3 QR Code Generator... 17
2.3.4 Photo Scanner Pada Smartphone ... 21
2.3.5 Pengolahan Citra Digital ... 22
2.4 Pustaka Zxing (Zebra Crossing) ... 23
2.5 Web Service ... 23
2.6 My SQL ... 24
2.7 UML (Unfied Modeling Language) ... 26
2.7.1 Pengertian UML ... 26
2.7.2 Artifact UML ... 26
2.7.3 Faktor Yang Mendorong Dibuatnya UML ... 27
2.7.4 Tujuan UML ... 28
BAB III Analisis Dan Perancangan Sistem ... 30
3.1 Analisis Permasalahan ... 30
3.2 Analisis Kebutuhan Sistem ... 31
3.3 Rancangan Sistem ... 32
3.4 Use Case Diagram ... 34
3.5 Activity Diagram ... 35
3.5.1 Activity Diagram Registrasi ... 36
3.5.2 Activity Diagram Pembelian ... 37
3.5.3 Activity Diagram Data Barang ... 38
vi
3.5.7 Activity Diagram Admin History Transaksi ... 42
3.5.8 Activity Diagram Gudang Pengiriman ... 43
3.6 Sequence Diagram ... 44
3.6.1 Sequence Diagram Registrasi ... 44
3.6.2 Sequence Diagram Validasi Customer... 45
3.6.3 Sequence Diagram Pembelian... 46
3.6.4 Sequence Diagram Pengiriman ... 47
3.7 Class Diagram ... 48
3.7.1 Class Virtual Store Entity ... 49
3.7.2 Class Menu Utama Admin ... 49
3.7.3 Class Menu Utama Customer... 50
3.7.4 Class Menu Utama Gudang ... 50
3.7.5 Class Admin Control ... 51
3.7.6 Class Global Control ... 51
3.8 Desain Antar muka ... 52
3.8.1 Rancangan Tampilan Login ... 52
3.8.2 Rancangan Menu Utama ... 53
3.8.3 Rancangan Menu Barcode Scanner ... 54
3.8.4 Rancangan History Transaksi ... 55
3.8.5 Rancangan Menu Checkout ... 56
vii
3.8.9 Rancangan Menu Halaman Bantuan ... 60
BAB IV IMPLEMENTASI DAN EVALUASI ... 61
4.1 Kebutuhan Sistem ... 61
4.1.1 Kebutuhan Perangkat Keras ... 61
4.1.2 Kebutuhan Perangkat Lunak ... 62
4.2 Implementasi Sistem ... 62
4.2.1 Implementasi Penerapan Fungsi Scan ... 63
4.2.2 Implementasi Penerapan Fungsi CekBarcode ... 64
4.2.3 Implementasi Antarmuka ... 64
4.3 Evaluasi ... 100
4.3.1 Hasil Uji Coba Kesesuaian Fungsi Fitur Aplikasi ... 100
4.3.2 Uji Coba Kompatibilitas Sistem ... 106
4.3.3 Analisis Aplikasi ... 107
BAB V PENUTUP ... 108
5.1 Kesimpulan ... 108
5.2 Saran ... 108
DAFTAR PUSTAKA ... 110
viii
Halaman
Tabel 2.1 Perbandingan Toko Ritel dengan Toko Virtual ... 5
Tabel 2.2 Tabel Parameter Permintaan Google Chart API QR Code ... 17
Tabel 2.3 Tabel Tipe Data QR Code ... 18
Tabel 2.4 Tabel Pola Data QR Code ... 20
Tabel 2.5 Tabel Format Informasi QR Code ... 20
Tabel 3.1 Penjelasan Singkat Use Case Diagram Virtual Store ... 34
Tabel 3.2 Fungsi Obyek Menu Login Virtual Store ... 52
Tabel 3.3 Fungsi Obyek Menu Utama Virtual Store ... 53
Tabel 3.4 Fungsi Obyek Menu Scan Virtual Store ... 54
Tabel 3.5 Fungsi Obyek Menu History Transaksi Virtual Store ... 55
Tabel 3.6 Fungsi Obyek Menu Checkout Virtual Store ... 56
Tabel 3.7 Fungsi Obyek Menu Detail Barang Virtual Store ... 57
Tabel 3.8 Fungsi Obyek Menu Promo Virtual Store ... 58
Tabel 3.9 Fungsi Obyek Menu Data Barang Virtual Store ... 59
Tabel 3.10 Fungsi Obyek Menu Halaman Bantuan Virtual Store ... 60
Tabel 4.1 Hasil Pengujian Pendaftaran Customer ... 101
Tabel 4.2 Hasil Pengujian Aktivasi Customer ... 103
Tabel 4.3 Hasil Pengujian Proses Pembelian ... 105
Tabel 4.4 Spesifikasi smartphone yang diuji coba ... 106
ix
Halaman
Gambar 2.1 Diagram alir proses pembangkitan QR Code ... 16
Gambar 2.2 Blok Bangunan Web Service ... 24
Gambar 3.1 Alur Proses Virtual Store ... 33
Gambar 3.2 Use Case Diagram Virtual Store ... 34
Gambar 3.3 Activity Diagram Registrasi Virtual Store ... 36
Gambar 3.4 Activity Diagram Pembelian Virtual Store ... 37
Gambar 3.5 Activity Diagram Data Barang Virtual Store ... 38
Gambar 3.6 Activity Diagram Halaman Bantuan Virtual Store... 39
Gambar 3.7 Activity Diagram List Order Virtual Store ... 40
Gambar 3.8 Activity Diagram Admin Maintenance Virtual Store ... 41
Gambar 3.9 Activity Diagram Admin History Transaksi ... 42
Gambar 3.10 Activity Diagram Gudang Pengiriman Virtual Store ... 43
Gambar 3.11 Sequence Diagram Registrasi Virtual Store ... 44
Gambar 3.12 Sequence Diagram Validasi Customer ... 45
Gambar 3.13 Sequence Diagram Pembelian Virtual Store ... 46
Gambar 3.14 Sequence Diagram Pengiriman Virtual Store ... 47
Gambar 3.15 Class Diagram Virtual Store ... 48
Gambar 3.16 Class Virtual Store ... 49
Gambar 3.17 Class MenuUtamaAdmin Virtual Store ... 49
Gambar 3.18 Class MenuUtamaCustomer Virtual Store ... 50
x
Gambar 3.22 Rancangan Tampilan Login ... 52
Gambar 3.23 Rancangan Menu Utama Virtual Store ... 53
Gambar 3.24 Rancangan Menu Barcode Scanner ... 54
Gambar 3.25 Rancangan Menu History Transaksi ... 55
Gambar 3.26 Rancangan Menu Checkout... 56
Gambar 3.27 Rancangan Menu Detail Barang ... 57
Gambar 3.28 Rancangan Menu Promo ... 58
Gambar 3.29 Rancangan Menu Data Barang... 59
Gambar 3.30 Rancangan Menu Halaman Bantuan ... 60
Gambar 4.1 Form Menu Login ... 65
Gambar 4.2 Form Menu Pendaftaran (Signup) ... 66
Gambar 4.3 Form Menu Utama User ... 67
Gambar 4.4 Form Menu Promo ... 68
Gambar 4.5 Form Menu Scan Barcode ... 69
Gambar 4.6 Form Menu Melihat Data Barang ... 70
Gambar 4.7 Form Menu Transaksi ... 71
Gambar 4.8 Form Menu Melihat History Transaksi ... 72
Gambar 4.9 Form Menu Melihat Halaman Bantuan... 72
Gambar 4.10 Halaman Website Login ... 73
Gambar 4.11 Halaman Utama Website Admin Login ... 74
Gambar 4.12 Halaman Website Menu Maintenance Staff Gudang... 75
xi
Gambar 4.16 Halaman Website Maintenance Menu Customer ... 77
Gambar 4.17 Halaman Website Tambah Customer Baru ... 77
Gambar 4.18 Halaman Website Edit Customer ... 78
Gambar 4.19 Konfirmasi Delete Data Customer ... 78
Gambar 4.20 Halaman Website Menu Aktivasi Customer ... 79
Gambar 4.21 Halaman Website Konfirmasi Aktivasi Customer ... 80
Gambar 4.22 Halaman Website Maintenance Menu Kategori ... 80
Gambar 4.23 Halaman Website Tambah Kategori Baru ... 81
Gambar 4.24 Halaman Website Edit Kategori... 81
Gambar 4.25 Konfirmasi Delete Data Kategori ... 82
Gambar 4.26 Halaman Website Menu Maintenance Wilayah Jangkauan Gudang ... 82
Gambar 4.27 Halaman Website Tambah Wilayah Jangkauan Baru ... 83
Gambar 4.28 Halaman Website Edit Data Wilayah Jangkauan Gudang ... 83
Gambar 4.29 Konfirmasi Delete Data Wilayah Jangkauan Gudang ... 84
Gambar 4.30 Halaman Website Menu Maintenance Gudang ... 84
Gambar 4.31 Halaman Website Tambah Gudang Baru ... 85
Gambar 4.32 Halaman Website Edit Data Gudang ... 85
Gambar 4.33 Konfirmasi Delete Data Gudang ... 86
Gambar 4.34 Halaman Maintenance Website Menu Barang ... 86
Gambar 4.35 Halaman Website Tambah Barang Baru ... 87
xii
Gambar 4.39 Halaman Website Pilih Promo Baru ... 89
Gambar 4.40 Halaman Website Tambah Promo Baru ... 89
Gambar 4.41 Halaman Website Edit Data Promo ... 90
Gambar 4.42 Konfirmasi Delete Data Promo ... 90
Gambar 4.43 Halaman Website Menu History Transaksi ... 91
Gambar 4.44 Halaman Website Detail Transaksi ... 91
Gambar 4.45 Halaman Website Cetak History Transaksi ... 92
Gambar 4.46 Halaman Website Menu Katalog ... 93
Gambar 4.47 Halaman Website Cetak Katalog ... 93
Gambar 4.48 Halaman Website Menu Bantuan... 94
Gambar 4.49 Halaman Utama Website Staff Gudang ... 95
Gambar 4.50 Halaman Website Menu Stok... 95
Gambar 4.51 Halaman Website Update Stok Barang ... 96
Gambar 4.52 Halaman Website Menu Pengiriman ... 97
Gambar 4.53 Halaman Website Menu Proses Pengiriman ... 97
Gambar 4.54 Halaman Website Menu Pengiriman Cetak Surat Jalan dan Faktur ... 98
Gambar 4.55 Surat Jalan Rangkap 1 ... 98
Gambar 4.56 Surat Jalan Rangkap 2 ... 99
Gambar 4.57 Faktur Penjualan Rangkap 1 ... 99
Gambar 4.58 Faktur Penjualan Rangkap 2 ... 100
xiv
Halaman
5
2.1 Virtual Store
Virtual Store atau toko virtual merupakan toko ritel tanpa wujud fisik yang
tidak melibatkan tatap muka langsung antara produsen atau penjual dengan
konsumen. Belanja melalui media seperti katalog (catalog shopping), Televisi (TV
Shopping), Vending machine dan Internet (Online Shopping) merupakan contoh
dari belanja melalui toko virtual.
Tabel 2.1 Perbandingan Fitur Toko Ritel Berwujud Fisik dengan Toko
Virtual (Lohse, G.L. & Spiller, P., 1999)
Fitur Toko Ritel Berwujud Fisik Toko Virtual
Pelayanan dan
pemberian
informasi saat
pembelian.
Diberikan oleh seorang service
provider atau salesclerk service.
Diberikan melalui detil informasi dan
deskripsi produk yang komprehensif.
Seorang online service provider
melalui media email atau telepon
Berupa penawaran special
terkait dengan pembelian, yang
diberikan baik didalam toko saat
pembelian maupun diluar
melalui media seperti kupon dan
sebagainya.
Berupa penawaran special terkait
dengan pembelian yang diberikan
melalui media tertentu seperti online
game, online lotteries, hubungan
langsung ke website lain yang
Lanjutan Tabel 2.1 Perbandingan Fitur Toko Ritel Berwujud Fisik dengan
Toko Virtual (Lohse, G.L. & Spiller, P., 1999)
Fitur Toko Ritel Berwujud Fisik Toko Virtual
Penempatan
produk atau
display
Diatur dengan tampilan fisik
yang menarik dideret rak
berdasarkan pembagian katagori
tertentu.
Layout toko mempertimbangkan
sisi estetika dan fungsional
Diatur melalui desain dan kemasan
homepage yang menarik dan
ditempatkan dengan tingkat hirarki
berdasar kategori tertentu.
Layout website mempertimbangkan
sisi estetika, ketajaman gambar,
animasi dan fungsional.
Besar dan
luas toko
Jumlah dan luas lantai Jumlah tingkat hirarki
Pengecekan
Dilakukan oleh petugas kasir Dilakukan dengan melihat formulir
order dan kerangjang belanja
Bentuk fisik
produk
Diperoleh dengan melihat dan
memegang produk secara
langsung
Diperoleh melalui gambar dan
deskripsi produk. Terkadang
ditunjang dengan audio dan video
Perbedaan paling mendasar dari toko virtual dengan toko ritel terletak pada
wujud fisik toko, namun pada praktiknya toko virtual memiliki fitur yang sama
dengan toko ritel berwujud fisik namun dalam bentuk yang berbeda, tabel 2.1
menunjukkan perbandingan fitur – fitur di toko ritel berwujud fisik dan toko virtual. Belanja melalui internet menawarkan keuntungan yang unik. Keuntungan
tersebut diantaranya adalah kustomisasi dalam melayani konsumen, kenyamanan
berbelanja dimana saja dan kapan saja serta biaya yang lebih rendah terutama dalam
mengakses informasi (Elliot dan Fowell, 2000). Secara garis besar keuntungan
berbelanja melalui internet dapat dikategorikan menjadi dua kategori, intrinsic
benefit dan extrinsic benefit. Extrinsic benefit meliputi pilihan produk yang banyak,
harga yang kompetitif dan akses memperoleh informasi yang mudah dan berbiaya
rendah. Sedangkan intrinsic benefit meliputi desain dan tampilan toko yang
menarik (Shang et al., 2005).
Seperti telah dijelaskan pada Tabel 1 bahwa toko online memiliki semua
fitur di toko ritel berwujud fisik namun tetap saja terdapat perbedaan antara lain
penyampain fitur di toko online. Hal ini menyebabkan perbedaan tingkat kepuasan
dari konsumen. Misalnya pada fitur bentuk fisik produk, meskipun toko online
sudah memberi informasi mengenai bentuk fisik produknya, namun karena
keterbatasan teknis seperti kualitas gambar terkadang hal ini tidak dapat memberi
kepuasan yang sama dengan toko ritel berwujud fisik (Lohse and Spiller, 1999, Li
2.2 Sistem Android
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux
yang mencakup sistem operasi, middleware dan aplikasi (Safaat, 2011). Android
menyediakan platform yang terbuka bagi para pengembang untuk menciptakan
aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan
pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. Kemudian
untuk mengembangkan Android, dibentuklah Open Handset Aliance yang
merupakan konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan
telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile,
dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama
Open Handset Alliance menyatakan mendukung pengembangan open source pada
perangkat mobile. Di lain pihak, Google merilis kode – kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan open platform seluler.
Di dunia terdapat dua jenis distributor sistem operasi Android. Pertama yang
mendapat dukungan penuh dari Google atau Google Mail Service (GMS) dan kedua
adalah yang benar – benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (Safaat, 2011).
Sekitar September 2007 Google mengenalkan Nexus One, salah satu jenis
smartphone yang menggunakan Android sebagai sistem operasinya. Telepon
selular ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 Januari
2008. Pada 9 Desember 2008, diumumkan anggota baru yang bergabung dalam
progam kerja Android ARM Holdings, Atheros Communication, diproduksi oleh
Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA
mengumumkan produk perdana mereka Android, perangkat mobile yang
merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis telah dilakukan
berbagai pembaharuan berupa perbaikan bug dan penambahan fitur baru.
Pada massa saat ini kebanyakan vendor – vendor smartphone sudah memproduksi smartphone berbasis android, vendor – vendor itu antara lain HTC, Motorola, Samsung, LG, Dell, Sony Ericson, Acer, Asus dan masih banyak lagi
vendor smartphone di dunia yang memproduksi Android. Hal ini karena Android
itu adalah sistem operasi yang open source sehingga bebas didistribusikan dan
dipakai oleh vendor manapun (Safaat, 2011).
Tidak hanya menjadi sistem operasi di smartphone, saat ini Android
menjadi pesaing utama dari Apple pada sistem operasi Tablet PC. Pesatnya
pertumbuhan Android selain faktor yang disebutkan diatas adalah karena Android
itu sendiri adalah platform yang lengkap, baik itu sistem operasinya, aplikasi dan
tools pengembangannya, market aplikasi Android serta dukungan yang sangat
tinggi dari komunitas open source dunia (Safaat, 2011). Sehingga Android terus
berkembang pesat baik dari segi teknologi maupun dari segi jumlah device yang
ada di dunia.
2.2.1 The dalvik Virtual Machine (DVM)
Salah satu elemen kunci dari Android (Safaat, 2011) adalah Dalvik Virtual
Machine (DVM). Android berjalan di dalam Dalvik Virtual Machine (DVM) bukan
di Java Virtual Machine (JVM), sebenarnya banyak persamaannya dengan Java
Virtual Machine (JVM) seperti Java ME (Java Mobile Edition), tetapi menurut
yang dikustomisasi dan dirancang untuk memastikan bahwa beberapa
feature-feature berjalan lebih efisien pada perangkat mobile.
Dalvik Virtual Machine (DVM) adalah “register bases” sementara Java Virtual Machine (JVM) adalah “stack bases”, DVM didesain dan ditulis oleh Dan
Bornsten dan beberapa engineers Google lainnya. Jadi bisa dikatakan “Dalvik equals(Java) == False”. Dalvik Virtual Machine (DVM) menggunakan kernel
Linux untuk menangani fungsionalitas tingkat rendah termasuk keamanan,
threading dan proses serta manjemen memori (Safaat, 2011). Ini memungkinkan
kita untuk menulis aplikasi C/ C+ sama halnya seperti pada OS Linux kebanyakan.
Semua hardware yang berbasis Android dijalankan dengan Virtual Machine
untuk eksekusi aplikasi, pengembang tidak perlu khawatir tentang implementasi
perangkat keras tertentu. DVM mengeksekusi executable file, sebuah format yang
dioptimalkan untuk memastikan memori yang digunakan sangat kecil. The
executable file diciptakan dengan mengubah kelas bahasa java dan dikompilasi
menggunakan tools yang disediakan dalam SDK Android (Safaat, 2011).
2.2.2 Android SDK (Software Development Kit)
Android SDK (Safaat,2011) adalah tools API (Application Programming
Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada platform
Android menggunakan bahasa pemrograman Java. Android merupakan subset
perangkat lunak untuk ponsel yang meliputi sistem operasi, midlleware dan aplikasi
kunci yang di-release oleh Google. Saat ini disediakan Android SDK sebagai alat
bantu dan API untuk mulai mengembangkan aplikasi Android menggunakan
bahasa pemrograman Java. Beberapa fitur dari Android yang paling penting adalah
1. Framework Aplikasi yang mendukung penggantian komponen dan reusable.
2. Mesin Virtual Dalvik dioptimalkan untuk perangkat mobile.
3. Integrated browser berdasarkan engine open source WebKit.
4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D
berdasarkan spesifikasi opengl ES 1,0 (Opsional akselerasi hardware).
5. SQLite untuk penyimpanan data (Database).
6. Bluetooth, EDGE, 3G dan WiFi (tergantung hardware).
7. Kamera, GPS, kompas dan accelerometer (tergantung hardware).
Lingkungan development yang lengkap dan kaya termasuk perangkat
emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk
IDE Eclipse.
2.2.3 Arsitektur Android
Secara garis besar arsitektur Android dapat dijelaskan dan digambarkan
sebagai berikut (Safaat, 2011) :
1. Applications dan Widgets
Applications dan Widgets ini adalah layer dimana pengguna berhubungan
dengan aplikasi saja, dimana biasanya pengguna download aplikasi kemudian
melakukan instalasi dan menjalankan aplikasi tersebut. Di layer terdapat
aplikasi inti termasuk klien email, program SMS, kalender, peta, browser,
kontak dan lain-lain. Semua aplikasi ditulis menggunakan bahasa
pemrograman Java.
2. Applications Frameworks
Applications frameworks adalah layer dimana para pembuat aplikasi
operasi Android, karena pada layer inilah aplikasi dapat dirancang dan dibuat
seperti content-providers yang berupa sms dan panggilan telepon.
3. Libaries
Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para
pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya.
4. Android Run Time
Layer yang membuat aplikasi Android dapat dijalankan dimana dalam
prosesnya menggunakan implementasi Linux. Dalvik Virtual machine (DVM)
merupakan mesin yang membentuk dasar kerangka aplikasi Android. Pada
Android Run Time ada dua bagian yaitu Core Libraries dan Dalvik Virtual
machine.
5. Linux Kernel
Linux kernel adalah layer dimana inti dari operating system dari Android itu
berada. Berisi file-file sistem yang mengatur sistem processing, memory,
resources, drivers dan sistem-sistem operasi Android lainnya.
2.2.4 Versi Android
Adapun versi-versi Sistem Operasi Android yang pernah dirilis dan masih
digunakan sampai sekarang adalah sebagai berikut (Safaat, 2011):
1. Android Versi 1.1
Android versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam
alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan
2. Android Versi 1.5 (Cupcake)
Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur
dalam seluler versi 1.5 yakni kemampuan merekam dan menonton video
dengan modus kamera, mengunggah video ke Youtube dan gambar ke Picasa
langsung dari telepon, dukungan Bluetooth A2DP, kemampuan terhubung
secara otomatis ke headset Bluetooth, animasi layar, dan keyboard pada layar
yang dapat disesuaikan dengan sistem.
3. Android Versi 1.6 (Donut)
Versi 1.6 menampilkan proses pencarian yang lebih baik dibanding
sebelumnya, penggunaan baterai indikator dan kontrol applet VPN. Fitur
lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang
akan dihapus; kamera, camcorder dan galeri yang dintegrasikan; CDMA /
EVDO, 802.1x, VPN, Gestures; dan Text-to-speech engine, kemampuan dial
kontak, teknologi text to change speech; serta pengadaan resolusi VWGA.
4. Android Versi 2.0/ 2.1 (Eclair)
Perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan
Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan
HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital
Zoom, dan Bluetooth 2.1.
5. Android Versi 2.2 (Froyo: Frozen Yoghurt)
Perubahan pada versi ini antara lain dukungan Adobe Flash 10.1, kecepatan
kinerja dan aplikasi 2 sampai 5 kali lebih cepat, intergrasi V8 JavaScript
engine yang dipakai Google Chrome yang mempercepat kemampuan
WiFi Hotspot portable, dan kemampuan auto update dalam aplikasi Android
Market.
6. Android Versi 2.3 (Gingerbread)
Perubahan yang didapat dari Android versi ini antara lain peningkatan
kemampuan permainan (gaming), peningkatan fungsi copy paste, layar antar
muka (User Interface) didesain ulang, dukungan format video VP8 dan WebM,
efek audio baru (reverb, equalization, headphone virtualization, dan bass
boost), dukungan kemampuan Near Field Communication (NFC), dan
dukungan jumlah kamera yang lebih dari satu.
7. Android Versi 3.0/ 3.1 (Honeycomb)
Android Honeycomb dirancang khusus untuk tablet. Android versi ini
mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb
juga berbeda karena sudah didesain untuk tablet. Honeycomb juga mendukung
multi prosesor dan juga akselerasi perangkat keras (hardware) untuk grafis.
8. Android Versi 4.0 (ICS: Ice Cream Sandwich)
Membawa fitur Honeycomb untuk smartphone dan menambahkan fitur baru
termasuk membuka kunci dengan pengenalan wajah, jaringan data pemantauan
penggunaan dan kontrol, terpadu kontak jaringan sosial, perangkat tambahan
fotografi, mencari email secara offline, dan berbagi informasi dengan
menggunakan Near Field Communication (NFC).
Android SDK (Safaat,2011) adalah tools API (Application Programming
Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada platform
Android menggunakan bahasa pemrograman Java. Android merupakan subset
kunci yang di-release oleh Google. Saat ini disediakan Android SDK sebagai alat
bantu dan API untuk mulai mengembangkan aplikasi Android menggunakan
bahasa pemrograman Java. Beberapa fitur dari Android yang paling penting adalah
(Safaat, 2011) :
1. Framework Aplikasi yang mendukung penggantian komponen dan reusable.
2. Mesin Virtual Dalvik dioptimalkan untuk perangkat mobile.
3. Integrated browser berdasarkan engine open source WebKit.
4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D
berdasarkan spesifikasi opengl ES 1,0 (Opsional akselerasi hardware).
5. SQLite untuk penyimpanan data (Database).
6. Media Support yang mendukung audio, video dan gambar (MPEG4, H.264,
MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony (tergantung hardware).
7. Bluetooth, EDGE, 3G dan WiFi (tergantung hardware).
8. Kamera, GPS, kompas dan accelerometer (tergantung hardware).
Lingkungan development yang lengkap dan kaya termasuk perangkat
emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE
Eclipse.
2.3 Barcode
Barcode Atau dalam Bahasa Indonesia seringkali disebut kode batang
adalah an optical machine-readable representation of data. Kode berbentuk garis
dan berwarna hitam putih tersebut mengandung satu kumpulan kombinasi yang
berlainan ukuran, dan disusun sedemikian rupa menurut aturan tertentu sehingga
2.3.1 QR Code
QR Code adalah image berupa matriks dua dimensi. QR Code merupakan
evolusi dari kode batang (barcode). QR Code merupakan singkatan dari Quick
Response Code, atau dapat diterjemahkan menjadi kode respon cepat. QR Code
dikembangkan oleh Denso Corporation, sebuah perusahaan Jepang yang banyak
bergerak di bidang otomotif. (Soon, 2008). Prosedur QR Code dari sebuah teks
dapat dijelaskan dengan diagram alir pada gambar 2.1.
Gambar 2.1 Diagram alir proses pembangkitan QR Code
2.3.2 QR Code Reader
Untuk Proses Pembacaan QR Code diperlukan sebuah pembaca atau
pemindai berupa software yaitu QR Code Reader atau QR Code Scanner yang harus
diinstal pada perangkat telepon mobile (mobile phone). Didalam software tersebut
terdapat fungsi untuk mengkonversi QR Code menjadi text yang dapat dibaca
2.3.3 QR Code Generator
Untuk menghasilkan suatu gambar atau symbol QR Code, suatu informasi
di-encode melalui suatu aplikasi QR Code Generator. Beberapa aplikasi QR Code
Generator yang dapat digunakan, contohnya google chart API yang memang sudah
mendukung QR Code. Google Chart API agar dapat bekerja dan menghasilkan QR
Code harus terkoneksi dengan internet salah satunya dengan melalui internet
browser.
Tabel 2.2 Tabel Parameter Permintaan Google Chart API (Google Inc, 2011)
Parameter Dibutuhkan atau Opsional
Keterangan
Cht=qr Dibutuhkan Menentukan sebuah QR Code
Chs=<lebar>x<tinggi> Dibutuhkan Ukuran Image
Chl=<data> Dibutuhkan Data yang akan di encode. Data dapat
berupa digit (0-9), karakter
alfanumerik, data binary, atau kanji.
Choe=<output_encoding> Opsional Bagaimana untuk menencode data
pada QR Code. Nilai yang tersedia
yaitu UTF-8(default), Shift_JIS,
ISO-8859-1
Berikut ini adalah algoritma untuk membuat QR Code :
a. Menentukan Kapasitas
Kapasitas dari QR Code ditentukan oleh versi, tingkat koreksi kesalahan dan
tipe data yang akan dikodekan (misalnya numeric, alfanumerik, dan lain-lain).
karakter numeric dapat disimpan atau 16 karakter alfanumerik dapat disimpan
dan 11 data byte dapat juga disimpan yang tampak pada tabel 2.2. Sebaliknya,
versi meningkat bila tingkat kesalahan lebih besar pada data yang sama. Jadi,
pertama perlu mempertimbangkan tingkat mengoreksi kesalahan, dan
selanjutnya kita mempertimbangkan versi jika perlu (swetake,2011).
b. Encode Data
Pada bagian ini, data di-encode dengan melakukan perhitungan-perhitungan
dan menempatkannya kedalam QR Code.
1. Menentukan tipe data
Data akan dibaca tipe datanya. Masing – masing tipe data akan disimpan kedalam representasi bilangan biner 4 bit dan mempunyai panjang karakter
penyimpanan tertentu. Tipe data tersebut terdapat pada table 2.3.
Tabel 2.3 Tabel Tipe Data QR Code (Swetake, 2011)
Tipe Data Representasi data 4 bit Panjang penyimpanan
Numerik 0001 10bit
Alphanumerik 0010 9bit
Biner(8bit) 0100 8bit
Kanji 1000 8bit
2. Konversi data ke dalam bentuk biner
Data yang telah diketahui tipe datanya akan dikonversikan kedalam biner
berdasarkan table 2.1. Misalnya, data yang mempunyai tipe data numerik
3. Konversi biner kedalam bentuk decimal
Data yang sudah terkonversi kedalam bentuk biner, akan dirubah kedalam
bentuk decimal berdasarkan kapasitas dari masing – masing versi QR Code yang terlah ditentukan.
4. Menghitung tingkat koreksi kesalahan
Tingkat koreksi kesalahan ditentukan dengan menggunakan metode Reed
Solomon berdasarkan versi QR Code yang digunakan dengan toleransi
kesalahan maksimal yang digunakan adalah 30%.
5. Alokasi data
Data hasil encode akan dialokasikan kedalam bentuk gambar QR Code.
Data yang akan dialokasikan adalah data hasil representasi biner dan data
hasil perhitungan koreksi kesalahan. Aturan peletakan data dalam QR Code
adalah sebagai berikut:
1. Data akan dialokasikan kedalam matriks dengan ukuran sesuai
kapasitas data pada versi QR Code.
2. Data pertama kali akan diletakkan pada koordinat pojok kanan bawah.
3. Data selanjutnya akan diletakkan diatasnya.
4. Jika pada peletakan awal QR Code telah terdapat data sebelumnya,
maka peletakkan data akan dimulai pada modul yang kosong dan
mempunyai arah dari kiri ke kanan. Jika sebelah kanan penuh maka
arah selanjutnya adalah keatas. Jika bagian atas penuh maka arah
selanjutnya adalah ke bawah dengan tetap memperhatikan arah
6. Penentuan pola data
Penentuan pola data QR Code (Finder Pattern) dilakukan berdasarkan
kondisi pada table 2.4 Jika kondisi pada table 2.4 tidak terpenuhi, maka pola
data tidak akan disimpan pada QR Code sebagai finding pattern.
Tabel 2.4 Tabel Pola Data QR Code (Swetake, 2011)
Pola Data Kondisi
000 (i+j) mod 2 = 0
7. Penentuan format informasi data
Indikator pembentuk pola sebanyak 15bit, yang terdiri dari 2 bit untuk
koreksi kesalahan, 3 bit untuk pembentuk pola, dan 10bit.
Tabel 2.5 Tabel Format Informasi QR Code (Swetake, 2011)
Level Koreksi Kesalahan Indikator
1 L 01
2 M 00
3 Q 11
c. Decode Data
Proses decode adalah proses pembacaan data QR Code. Langkah – langkah pembacaan data QR Code diantaranya adalah:
1. Mengkonversi gambar QR Code kedalam bentuk Grayscale.
2. Proses binerisasi gambar grayscale.
3. Mencari lokasi dan orientasi keberadaan data.
4. Mencari pola baris data
5. Proses decode
Adapun proses decode tersebut merupakan kebalikan dari proses encode.
2.3.4 Photo Scanner Pada Smartphone
Sementara kamera ponsel tanpa auto-fokus yang tidak ideal untuk membaca
beberapa format barcode umum, ada 2D barcode yang dioptimalkan untuk ponsel,
serta QR Codes dan kode Data Matrix yang dapat membaca dengan cepat dan
akurat dengan atau tanpa auto fokus. Ini membuka beberapa aplikasi untuk
konsumen:
1. Film: DVD / VHS film katalog
2. Musik: katalog CD, memutar MP3 ketika dipindai
3. Buku katalog dan perangkat.
4. Bahan makanan, informasi nutrisi, membuat daftar belanja saat terakhir
digunakan, dll
5. Properti inventaris pribadi (untuk asuransi dan tujuan lainnya) dipindai ke
dalam perangkat lunak pribadi. Kemudian, penerimaan gambar scan dapat
digunakan dengan cepat untuk menyingkirkan kertas fotokopi jadi tidak perlu
disimpan untuk tujuan pajak atau inventaris aset.
6. Sejumlah aplikasi perusahaan menggunakan ponsel: Kontrol akses (misalnya,
validasi tiket di tempat), pelaporan persediaan (misalnya, pelacakan
pengiriman), pelacakan aset (misalnya, anti-pemalsuan)
2.3.5 Pengolahan Citra Digital
Pengertian sederhana dari pengolahan citra adalah manipulasi dan anilisis
informasi gambar oleh komputer. Informasi gambar adalah gambar visual dalam
dua dimensi. Segala operasi untuk memperbaiki, analisis, atau penguahan suatu
gambar disebut image processing.
a. Deteksi Tepi (Edge Detection)
Deteksi Tepi (Edge Detection) adalah suatu proses yang menghasilkan tepi-tepi
dari objek-objek gambar. Suatu titik (x,y) dikatakan suatu tepi (edge) dari
suatu citra bila titik tersebut mempunyai perbedaan yang tinggi dengan
tetangga.
b. Grayscalling
Grayscaling adalah teknik yang digunakan untuk mengubah citra berwana
menjadi bentuk grayscale atau tingkat keabuan (dari hitam - putih).
c. Thresholding
Thresholding digunakan untuk mengubah intensitas piksel menjadi salah satu
dari dua nilai, a 1atau a 2. Hasil dari proses 4 thresholding ditentukan oleh suatu
2.4 Pustaka ZXing (Zebra Crossing)
ZXing atau ZebraCrossing merupakan pustaka open source untuk
pemrosesan barcode 1D/2D (yang diimplementasikan menggunakan bahasa
Java. Pustaka ini fokus pada penggunaan kamera untuk memindai dan
melakukan decode QR Code pada smartphone tanpa memerlukan komunikasi
dengan server. Pustaka ZXing mendukung beberapa format barcode, antara
lain: UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 93, Data Matrix, QR Code,
dan Code Bar.
2.5 Web Service
Web service merupakan suatu komponen software yang merupakan
self-containing, aplikasi modular self-describing yang dapat dipublikasikan,
dialokasikan, dan dilaksanakan pada web (wahli et al, 2006)
Web service adalah teknologi yang mengubah kemampuan internet dengan
menambahkan kemampuan transactional web, yaitu kemampuan web untuk saling
berkomunikasi dengan pola program-to-program (P2P). Fokus web selama ini
didominasi oleh komunikasi program-to-user dengan interaksi
business-to-consumer (B2C), sedangkan transactional web akan didominasi oleh
program-to-program dengan interaksi business-to-business (Gottschalk, 2002).
Gambar 1 merupakan block bangunan web service yang mana menyediakan
fasilitas komunikasi jarak jauh Antara dua aplikasi yang merupakan layer
Arsitektur web service (Tidwell, 2001)
1. Layer 1 : Protokol internet standar yang digunakan sebagai sarana
2. Layer 2 : Simple Object Acces Protocol (SOAP) berbasiskan XML dan
digunakan untuk pertukaran informasi antar sekelompok layanan.
3. Layer 3 : Web Service Definition Language (WSDL) digunakan untuk
mendiskripsikan attribute layanan.
4. Layer 4 : Universal Description, Discovery and Integration, yang mana
merupakan direktori pusat untuk deskripsi layanan.
Service Publication and Discovery (UDDI)
Service Description (WSDL)
XML Based Messaging (SOAP)
Common Internet Protocols (HTTP, TCP/IP)
Gambar 2.2 Blok Bangunan Web Service
2.6 MySQL
Pengertian mysql adalah relational database management sistem yang cepat
dan kuat. Sebuah basis data dapat membuat pengguna untuk menyimpan, mencari,
mengurutkan dan mendapatkan data dengan sangat efisien. Server mysql
mengendalikan akses kedalam data untuk memastikan bahwa para pengguna dapat
bekerja dalam waktu yang bersamaan, untuk mendukung akses secara cepat dan
memastikan hanya pengguna yang telah terisolasilah yang mendapatkan hak akses.
Mysql menggunakan bahasa SQL (structured query language), yaitu bahasa
query basis data yang baku bagi seluruh dunia. Mysql kembali diduplikasikan sejak
Mysql tersedia dengan lisensi open source, tetapi lisensi komersialpun tersedia
apabila diperlukan (Welling, 2001, p3)
Kelebihan mysql menurut Welling (2001, p5), terdapat beberapa kelebihan
dari mysql, yaitu:
1. Performance
Mysql begitu cepat dalam pemrosesan data
2. Low cost
Mysql tersedia dan dapat digunakan tanpa dikenakan biaya, dibawah lisensi
open source. Namun, tersedia dengan biaya yang sangat murah, dibawah lisensi
komersial, jika aplikasi yang pengguna gunakan dibutuhkan.
3. Ease of use
Kebanyakan dari berbagai sistem basis data modern menggunakan sql. Jika
pengguna memilih dbms yang lain, pengguna tidak akan menghadapi masalah
yang berarti ketika beradaptasi dengan sql. Bahkan mysql lebih mudah dalam
persiapan dibandingkan dengan produk lain yang sekelas.
4. Probability
Mysql dapat digunakan dan diimplementasikan pada berbagai sistem UNIX dan
juga pada Microsoft Windows.
5. Source Code
Sama seperti pemrograman PHP, pengguna dapat mengubah dan menambahkan
2.7 UML (Unfied Modeling Language) 2.7.1 Pengertian UML
UML (Unified Modelling Language) adalah sebuah bahasa untuk
menentukan, visualisasi, kontruksi, dan mendokumentasikan artifacts dari sistem
software, untuk memodelkan bisnis, dan sistem nonsoftware lainnya. UML
merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam
memodelkan sistem yang besar dan kompleks (Suhendar & Gunadi, 2002).
2.7.2 Artifact UML
Artifact adalah sepotong informasi yang digunakan atau dihasilkan dalam
suatu proses rekayasa software. Artifact dapat berupa model, deskripsi, atau
software. Untuk membuat suatu model, UML memiliki diagram grafis sebagai
Diagram-diagram tersebut diberi nama berdasarkan sudut pandang yang
berbeda-beda terhadap sistem dalam proses analisis atau rekayasa. Dibuatnya
berbagai jenis diagram diatas karena:
1. Setiap sistem yang kompleks selalu paling baik jika didekati melalui himpunan
berbagai sudut pandang yang kecil yang satu sama lain hampir saling bebas
(independent). Sudut pandang tunggal senantiasa tidak mencakupi untuk
melihat sistem yang besar dan kompleks.
2. Diagram yang berbeda-beda tersebut dapat menyatakan tingkatan yang
berbeda-beda dalam proses rekayasa.
3. Diagram-diagram tersebut dibuat agar model yang dibuat semakin mendekati
realistas.
2.7.3 Faktor yang Mendorong Dibuatnya UML
1. Pentingnya Model
1. Membangun model untuk suatu sistem software (terlebih software untuk
suatu organisasi bisnis) sangat bergantung pada konstruksinya atau
kemudahan dalam memperbaikinya. Oleh karena itu, membuat model
sangatlah penting sebagaimana pentingnya kita memiliki cetak biru untuk
suatu bangunan yang besar.
2. Model yang bagus sangat penting untuk menghasilkan komunikasi yang
baik antar anggota tim dan untuk meyakinkan sempurnanya arsitektur
sistem yang dibangun.
3. Jika kita membangun suatu model dari suatu sistem yang kompleks, tidak
meningkatnya komplektisitas sistem, visualisasi dan pemodelan menjadi
sangat penting. UML dibuat untuk merespon kebutuhan tersebut.
2. Kecenderungan Dunia Industri terhadap Software
1. Sebagai suatu nilai yang strategis bagi pasar software adalah dengan
meningkatnya kebutuhan dunia industri untuk memiliki teknik otomatisasi
dengan software. Oleh karena itu, penting sekali adanya teknik rekayasa
software yang dapat meningkatkan kualitas dan mengurangi biaya dan
waktu. Termasuk dalam teknik rekayasa software adalah teknik visual
programming, juga pembuatan framework dan pola.
2. Komplektisitas dunia industri semakin meningkat karena bertambah
luasnya runag lingkup dan tahapan proses. Satu motivasi kunci bagi para
pembangun UML adalah untuk membuat suatu himpunan semantik dan
notasi yang mampu menangani kerumitan arsitektural dalam semua ruang
lingkup.
3. Terjadinya Konvergensi Metode dan Tool Pemodelan
Sebelum adanya UML, terdapat ketidakjelasan bahasa pemodelan apa yang
paling unggul. Para user harus memilih diantara bahasa pemodelan dan tool
(software) pemodelan yang banyak dan mirip UML dibuat untuk membuat
integrasi baru dalam bahasa pemodelan antar tool dan “proses”.
2.7.4 Tujuan UML
Tujuan utama UML diantaranya adalah:
1. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif
untuk mengembangkan dan saling menukar model dengan mudah dan
2. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman
dan proses rekayasa.
30 3.1. Analisis Permasalahan
Pusat perbelanjaan di Indonesia semakin ramai saja, dikarenakan kebutuhan
yang di butuhkan semakin meningkat. Banyak orang berlomba untuk membuka
sebuah lahan pertokoan akan tetapi permasalahannya adalah semakin mahalnya
harga lahan pinggir jalan dan ijin semakin susah dan lagi media pengiklanan
semakin mahal. Disamping permasalahan para penjual terdapat juga masalah pada
pembeli, yang pertama adalah kendala pada transportasi, dimana lalu lintas dalam
kota semakin padat. Kedua adalah masih banyak terdapat antrian pada mayoritas
pusat berbelanjaan. Ketiga adalah masalah waktu, karena ada beberapa orang yang
masih bekerja pada hari sabtu dan minggu (weekdays), sehingga untuk memenuhi
kebutuhan pokok harus tertunda.
Untuk mengatasi beragam masalah tersebut maka alternatifnya adalah
membuat aplikasi Virtual Store berbasis android, dimana para penjual hanya
memerlukan gudang sebagai penyimpanan stok dan tidak perlu membutuhkan
anggaran yang banyak untuk membeli tanah di daerah pinggir jalan raya dan
pembangunan demi menaikkan omset penjualan. Disamping itu kemudahan yang
diberikan kepada pembeli adalah akses untuk membeli berbagai barang kebutuhan
pokok semakin mudah, dan tidak banyak membutuhkan banyak waktu. Dengan
demikian masalah dapat teratasi pada keduanya belah pihak. Pembeli dapat
menikmati hari – hari liburnya dengan keluarganya, sedangkan penjual dapat
Dengan perkembangan teknologi saat ini, smartphone Android dapat
membantu dalam penerapan aplikasi ini karena setiap device android pasti sudah
dilengkapi dengan camera yang dapat membantu memindai barcode. Selain itu,
device Android sekarang juga memiliki harga yang terjangkau untuk masyarakat
kalangan menengah kebawah.
3.2. Analisis Kebutuhan Sistem
Berdasarkan analisis permasalahan diatas, dapat diusulkan sebuah aplikasi
Virtual Store dengan menggunakan photo barcode customer berbasis android.
Yang dimana pengguna aplikasi ini harus menggunakan perangkat smartphone
android yang memiliki camera belakang untuk memindai kode barcode pada
katalog toko.
Aplikasi ini dalam pengimplementasiannya, membutuhkan smartphone
android yang memiliki versi os minimal versi 2.2 (Froyo). Aplikasi ini
membutuhkan sebuah web server untuk menampung data atau sebagai media
penyimpanan data. Sedangkan menggunakan web service berfungsi untuk
mempermudah mendistribusikan data dari server ke pengguna aplikasi ataupun
sebaliknya.
Untuk aplikasi sendiri terdapat berbagai macam menu button, yang pertama
adalah button promo yang didalamnya terdapat berbagai macam produk yang
terdapat potongan harga atau diskon, selanjutnya kedua adalah button scan yang
berguna untuk memindai kode barcode yang ada pada katalog, dimana dari id
barcode tersebut akan di peroleh detail barang yang sudah di pindai, seperti harga,
keterangan dan lain – lain. Ketiga adalah button list barang, kegunaan button ini
secara manual. Keempat yaitu button shopping chart yang berguna untuk melihat
barang atau produk apa saja yang akan kita pesan. Selanjutnya kelima adalah button
history transaksi kegunaannya melihat pesanan – pesanan kita terdahulu atau
pesanan yang sudah kita proses. Keenam button halaman bantuan berguna untuk
melihat tata cara penggunaan dari aplikasi ini.
Aplikasi ini berfungsi untuk menanggulangi permasalahan bagi orang
orang yang mempunyai jadwal yang sangat ekstrim, bayangkan dengan aplikasi ini
orang tersebut hanya membutuhkan sebuah katalog kecil dan smartphone android
maka orang tersebut bisa membeli kebutuhannya tanpa harus pergi ke toko. Barang
barang pesanan tersebut akan di kirimkan berdasarkan alamat gudang yang paling
dekat dengan alamat pembeli.
3.3. Rancangan Sistem
Pada pengembangan sistem aplikasi Virtual Store menggunakan photo
barcode customer berbasis smartphone android ini membutuhkan perangkat keras
dan lunak, untuk pengguna berupa smartphone android minimal versi 2.2 (Froyo)
yang memiliki kamera belakang sebagai media scan kode barcode pada katalog
toko, dan laptop untuk web server lokal, pendistribusian data dari client ke web
server memerlukan web service. Sehingga proses transaksi dapat dilakukan secara
real time.
Dengan adanya aplikasi Virtual Store ini dapat membantu para pembeli,
proses ini bermula dari android user melakukan registrasi yaitu mengisi data diri,
selanjutnya admin tinggal menvalidasi dengan cara mencocokkan data user dengan
file foto identitas yang sudah disertakan pada saat melakukan registrasi. Setelah
selanjutnya user memindai barcode barang yang ingin dibelinya, barcode barang
kemudian dicocokkan pada database dan detail barang akan ditampilkan apabila
barcode barang sesuai pada database barang. Setelah user selesai memilih barang
yang ingin dibelinya maka user melakukan Checkout. Dari situ server database
akan mengirimkan data pengiriman pada gudang yang terdekat pada user, dari
gudang akan menyiapkan barang sesuai dengan barang pesanan dan dikirim
kerumah user masing – masing.
Gambar 3.1 Alur Proses Virtual Store
Android User Server
3.4. Use Case Diagram
Gambar 3.2 Use Case Diagram Virtual Store
Berikut adalah penjelasan singkat dari masing-masing use case yang
dimiliki aplikasi Virtual Store menggunakan photo barcode customer pada
smartphone android.
Tabel 3.1 Penjelasan Singkat Use Case Diagram Virtual Store.
Nama Use Case Penjelasan
Memindai Kode
Barcode
Proses yang berfungsi untuk mengetahui detail barang dari memindai kode barcode.
Mencari Data Barang Proses ini berguna untuk mencari barang berdasarkan katagorinya.
Menampilkan List Barang Promo
Proses ini berguna untuk menampilkan data barang yang di beri potongan harga atau diskon.
Memasukkan quantity barang yang dipesan
Proses yang berfungsi untuk mengisi jumlah pesanan barang yang akan diproses atau dibeli.
User Memasukkan quantity barang yang dipesan
Lanjutan Tabel 3.1 Penjelasan Singkat Use Case Diagram Virtual Store
Melakukan Registrasi Proses ini berfungsi untuk mendaftarkan customer pada saat pertama kali.
Menvalidasi Registrasi Proses yang berfungsi untuk menvalidasi atau mengotorisasi pendaftaran customer.
Menampilkan History Transaksi
Proses ini berguna untuk menampilkan transaksi yang sudah pernah dilakukan atau di proses. Menampilkan Data
Pengiriman
Proses ini berguna untuk menampilkan data pengiriman untuk diantarkan kepada customer.
Memaintenance Data Stock
Proses ini berguna untuk menambahkan stok barang tiap – tiap gudang.
Memaintenance Data Customer
Proses ini berguna untuk mengedit data customer apabila terdapat perubahan.
Memaintenance Data
Barang
Proses ini berguna untuk mengedit data barang apabila terdapat perubahan harga atau promo.
Memaintenance Data
Staff
Proses ini berguna untuk mengedit data Staff apabila terdapat perubahan atau penambahan.
Memaintenance Data
Gudang
Proses ini berguna untuk mengedit data Gudang apabila terdapat perubahan atau penambahan. Mencetak Katalog Proses ini berguna untuk mencetak katalog yang
akan di berikan kepada customer.
3.5. Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang
sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin
terjadi, dan bagaimana mereka berakhir. Activity Diagram adalah salah satu bentuk
diagram UML yang mudah dimengerti karena diagram ini memiliki simbol yang
menyerupai simbol flowchart, yang sangat berguna untuk menjelaskan
3.5.1 Activity Diagram Registrasi
Gambar 3.3 Activity Diagram Registrasi Virtual Store
Pada gambar 3.3 alur proses activity diagram registrasi ini dimulai pada
saat user memilih Menu Registrasi pada Menu Login. Setelah itu user mengisi data
personal user dan melampirkan photo ktp agar bisa divalidasi oleh pihak Virtual
Store. Apabila tidak cocok pihak validasi akan membatalkan registrasinya dan
mengulangnya.
User Aplikasi Virtual Store
[Data Customer] Mengisi Data Customer
Validasi Data Customer Buka Aplikasi Tampilkan Menu Login
Klik Menu Registrasi
Tidak Valid
3.5.2 Activity Diagram Pembelian
Gambar 3.4 Activity Diagram Pembelian Virtual Store
Pada gambar 3.4 alur proses pada activity diagram pembelian ini dimulai
pada saat user memilih barang dalam katalog dan memindai barcode dari barang
tersebut, setelah itu akan muncul notifikasi detail barang, apabila stok habis akan
muncul notifikasi out of stok, setelah itu memasukkan quantity barang yang akan
di beli, kemudian memilih jam pengantaran sesuai dengan keinginan kita, setelah
itu keluarlah invoice dari total pembelanjaan kita.
User Aplikasi Virtual Store
Buka Aplikasi Tampilkan Menu Utama
Klik Menu Scan
Menscan Kode Barcode Tampilkan Info Barang
Out Of Stock Ready Stock
Menginput Quantity
3.5.3 Activity Diagram Data Barang
Gambar 3.5 Activity Diagram Data Barang Virtual Store
Pada gambar 3.5 alur proses activity diagram data barang ini dimulai pada
saat user memilih menu data barang kemudian memilih data barang yang akan di
lihat, setelah itu akan muncul detail barang yang di inginkan.
User Aplikasi Virtual Store
Tampilkan Menu Utama Buka Aplikasi
Memilih Kategori Barang Klik Menu List Barang
Memilih Data Barang
Tampilkan Menu Kategori Barang
3.5.4 Activity Diagram Halaman Bantuan
Gambar 3.6 Activity Diagram Halaman Bantuan Virtual Store
Pada gambar 3.6 alur proses pada activity diagram halaman bantuan ini
dimulai dari user memilih menu halaman bantuan, setelah itu keluarlah menu
halaman bantuan.
User Aplikasi Virtual Store
Buka Aplikasi Tampikan Menu Utama
3.5.5 Activity Diagram List Order
Gambar 3.7 Activity Diagram List Order Virtual Store
Pada gambar 3.7 alur proses pada activity diagram list order ini dimulai
pada saat user memilih menu list order kemudian muncul halaman list order,
kemudian user memilih detail list order, dan yang muncul halaman invoice order.
User Aplikasi Virtual Store
Klik Menu History Transaksi
Tampikan Detail History Transaksi Memilih History Transaksi
3.5.6 Activity Diagram Admin Maintenance
Gambar 3.8 Activity Diagram Admin Maintenance Virtual Store
Pada gambar 3.8 alur proses pada activity diagram Admin Maintenance ini
dimulai pada saat admin memilih menu maintenance, Antara maintenance data
customer dan maintenance data barang, setelah proses maintenance data maka
admin bisa menyimpannya.
Admin Aplikasi Virtual Store
Input Data Login
Validasi Data Login
Klik Menu Maintenance
Maintenance Data Menyimpan data maintenance [Data Login]
Tidak Valid
3.5.7 Activity Diagram Admin History Transaksi
Gambar 3.9 Activity Diagram History Transaksi Virtual Store
Pada gambar 3.9 alur proses pada activity diagram history transaksi ini
dimulai pada saat admin memilih menu info order, kemudian muncul info – info
order user, setelah itu admin bisa mencetak invoice semuanya untuk pembukuan.
Admin Aplikasi Virtual Store
Klik Menu History Transaksi
Tampilkan History Transaksi Input Data Login
Validasi Data Login [Data Login]
Tidak Valid
3.5.8 Activity Diagram Gudang – Pengiriman
Gambar 3.10 Activity Diagram Gudang – Pengiriman Virtual Store
Pada gambar 3.10 alur pada activity diagram gudang - pengiriman ini
dimulai pada saat gudang memilih menu pengiriman, kemudian muncul info – info
order user, setelah itu gudang bisa mencetak invoice semuanya untuk pengiriman
dan struck pembelanjaan pembeli.
Gudang Aplikasi Virtual Store
Klik Menu Pengiriman Input Data Login
Validasi Data Login
Tidak Valid
[Data Staff]
Tampilkan Menu Pengiriman
Klik Cetak Invoice
3.6. Sequence Diagram
Sequence Diagram menggambarkan interaksi antar objek di dalam dan di
sekitar sistem berupa message yang digambarkan terhadap waktu. Sequence
Diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek
yang terkait). Sequence Diagram dapat menggambarkan jalannya suatu proses yang
melibatkan objek dari class dalam aplikasi.
3.6.1 Sequence Diagram Registrasi
Gambar 3.11 Sequence Diagram Registrasi Virtual Store
Sequence diagram Registrasi menjelaskan bagaimana proses saat user
memilih Registrasi pada menu utama. Setelah user mengisi data registrasi maka
akan langsung tersimpan dalam database hanya tinggal menunggu validasi dari
3.6.2 Sequence Diagram Validasi Customer
Gambar 3.12 Sequence Diagram Validasi Customer
Sequence diagram validasi customer menjelaskan bagaimana proses ketika
admin memilih list customer pada menu utama kemudian admin melihat customer
apakah data registrasi customer sesuai dengan lampiran ktp yang di kirimkan,
apabila lampiran ktp tersebut sama, maka validasi tersebut valid, apabila data
tersebut tidak sesuai dengan lampiran maka validasinya di nyatakan gagal, dan
datanya akan di hapus.
3.6.3 Sequence Diagram Pembelian
Gambar 3.13 Sequence Diagram Pembelian Virtual Store
Sequence diagram pembelian menjelaskan bagaimana ketika user memilih
menu promo dan apabila menu promo tidak ada yang cocok maka user bisa memilih
barang yang ada di dalam katalog barang, setelah proses pemilihan barang selesai
maka user bisa memindai barcode barang tersebut dan memasukkan quantity
barang yang akan di belinya, setelah semua barang selesai di inputkan lanjut ke
proses selanjutnya. Setelah itu user bisa melihat history list order nya pada menu
3.6.4 Sequence Diagram Pengiriman
Gambar 3.14 Sequence Diagram Pengiriman Virtual Store
Sequence diagram pengiriman menjelaskan pada bagian gudang untuk
masalah pengiriman, pertama – tama yaitu melihat pada menu form history order,
kemudian penyiapan barang – barang yang akan dikirim, kemudian melihat detail
customer untuk alamat dan jam pengantaran. Setelah semua siap maka gudang
konfirmasi pada bagian pengiriman untuk dikirim.
3.7. Class Diagram
Class diagram menggambarkan struktur dan deskripsi class, package dan
objek beserta hubungan antar class. Gambar 3.10 menunjukkan class diagram
Aplikasi Virtual Store menggunakan Photo Barcode Customer.
3.7.1 Class Virtual Store Entity
Gambar 3.16 Class Virtual Store
Class VirtualStore digunakan sebagai penghubung antara aplikasi dengan
database. Pada class ini terdapat method-method yang dapat digunakan untuk
mengirim query ke database
3.7.2 Class Menu Utama Admin
Gambar 3.17 Class Menu Utama Admin Virtual Store
Class MenuUtamaAdmin digunakan sebagai penampil menu – menu
3.7.3 Class Menu Utama Customer
Gambar 3.18 Class MenuUtamaCustomer Virtual Store
Class MenuUtamaCustomer digunakan sebagai penampil menu – menu
customer.
3.7.4 Class Menu Utama Gudang
Gambar 3.19 Class MenuUtamaGudang Virtual Store
Class MenuUtamaGudang digunakan sebagai penampil menu – menu
3.7.5 Class AdminControl
Gambar 3.20 Class AdminControl Virtual Store
Class admincontrol digunakan sebagai jembatan Antara interface dengan
database untuk proses yang di kerjakan oleh admin.
3.7.6 Class GlobalControl Virtual Store
Gambar 3.21 Class GlobalControl Virtual Store
Class admincontrol digunakan sebagai jembatan Antara interface dengan
database untuk proses yang di kerjakan oleh System. AdminControl
<<control>>
+ShowTransaksi() +EditData() +Validasi()
GlobalControl <<control>>
3.8. Desain Antarmuka
Perancangan antarmuka berfungsi untuk merancang antarmuka agar
aplikasi dapat berinteraksi dengan user. Perancangan antarmuka Aplikasi Virtual
Store Menggunakan Photo Barcode Customer Berbasis Android dibagi menjadi
beberapa bagian sebagai berikut:
3.8.1 Rancangan Tampilan Login
Rancangan tampilan awal adalah tampilan aplikasi ketika pertama kali
dijalankan. Pada tampilan awal berisi menu login dan registrasi.
Menu Login
Gambar 3.22 Rancangan Tampilan Login
Fungsi-fungsi obyek yang terdapat pada menu login ini akan dijelaskan
pada Tabel 3.2.
Tabel 3.2 Fungsi Obyek Menu Login Virtual Store
No. Nama Obyek Tipe Obyek Keterangan
1. Username Textbox Untuk memasukkan username user 2. Password Textbox Untuk memasukkan password user 3. Login Button Untuk Login ke Menu Utama
3.8.2 Rancangan Menu Utama
Rancangan menu utama adalah rancangan tampilan menu utama pada
aplikasi. Menu akan keluar ketika user berhasil login menggunakan user dan
password yang telah di daftarkannya. Pada menu utama ini terdapat berbagai menu
yaitu menu list order, menu scan barcode, menu data barang, dan menu halaman
bantuan.
Anda Login Sebagai : Kribos
Logout
Gambar 3.23 Rancangan Menu Utama Virtual Store
Fungsi-fungsi obyek yang terdapat pada menu utama ini akan dijelaskan
pada Tabel 3.3.
Tabel 3.3 Fungsi Obyek Menu Utama Virtual Store
No. Nama Obyek
Tipe Obyek
Keterangan
1. Promo Button Untuk melihat barang yang ada discount 2.
Scan
Button Untuk memindai barang agar mengetahui detail barang yang discan
No. Nama
Button Untuk melihat barang belanjaan yang sudah ditambahkan
5. History
Transaksi
Button
Untuk melihat transaksi yang pernah dilakukan
6. Halaman
Bantuan
Button
Untuk melihat informasi bantuan tentang aplikasi
7. Logout Button Untuk keluar ke menu login
3.8.3 Rancangan Menu Barcode Scanner
Rancangan Menu Barcode Scanner ini berfungsi untuk memindai barcode
barang yang berada pada katalog barang yang sudah di berikan kepada customer.
Barcode Scanner
Scanning... 1
Gambar 3.24 Rancangan Menu Barcode Scanner
Fungsi-fungsi obyek yang terdapat pada menu scan ini akan dijelaskan
pada Tabel 3.4.
Tabel 3.4 Fungsi Obyek Menu Scan Virtual Store
No. Nama Obyek
Tipe Obyek Keterangan
1. Customer Aplikasi
Barcode Scanner
3.8.4 Rancangan History Transaksi
Rancangan menu history transaksi adalah rancangan tampilan yang
menampilkan daftar list order yang sudah pernah di proses oleh customer.
History Transaksi
Info History Transaksi 1
Gambar 3.25 Rancangan Menu History Transaksi
Fungsi-fungsi obyek yang terdapat pada menu history transaksi ini akan
dijelaskan pada Tabel 3.5.
Tabel 3.5 Fungsi Obyek Menu History Transaksi Virtual Store
No. Nama Obyek
Tipe Obyek Keterangan
1. History
Transaksi Listbox
3.8.5 Rancangan Menu Checkout
Rancangan Menu Checkout adalah rancangan tampilan yang digunakan
untuk menampilkan data barang yang akan dibeli dan pengaturan jam pengiriman.
Shopping Cart
Kunci Ring Set 75 Deg Tekiro (8 Pcs) 1 (Rp. 304750)
Check Out 2
1
Gambar 3.26 Rancangan Menu Checkout
Fungsi-fungsi obyek yang terdapat pada menu Checkout ini akan
dijelaskan pada Tabel 3.6.
Tabel 3.6 Fungsi Obyek Menu Checkout Virtual Store
No. Nama Obyek
Tipe Obyek Keterangan
1. Data
Transaksi Listbox
Untuk menampilkan data transaksi yang sudah ditambahkan
3.8.6 Rancangan Menu Detail Barang
Rancangan Menu Detail Barang merupakan rancangan tampilan Info
Barang untuk menunjukkan informasi yang dibutuhkan kepada customer dan bisa
dilanjutkan pembelian untuk quantity yang di butuhkan oleh customer.
Info Barang
Info Barang
0 Add to cart
Quantity
Cancel
Gambar 3.27 Rancangan Menu Detail Barang
Fungsi-fungsi obyek yang terdapat pada menu Detail Barang ini akan
dijelaskan pada Tabel 3.7.
Tabel 3.7 Fungsi Obyek Menu Detail Barang Virtual Store
No. Nama Obyek
Tipe Obyek Keterangan
1. Detail
Barang Listbox Untuk menampilkan detail data barang 2.
Quantity Textbox
Untuk mengisi quantity barang yang akan di tambahkan
3.
Add to cart Button
Menambahkan data barang yang akan di beli
4.
Cancel Button
Untuk membatalkan transaksi dan kembali ke menu utama
1
3
4