BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi Implementasi adalah proses untuk menerapkan hasil dari analisis dan perancangan ke dalam bahasa pemrograman. Tahap implementasi ini memiliki tujuan untuk mewujudkan aplikasi agar bisa digunakan dan dilakukan pengujian terhadap sistem agar bisa dilihat kekurangan, ataupun kelemahan dari proses pengembangan aplikasi.
4.1.1 Batasan Implementasi Dalam mengimplementasikan analisis dan perancangan sistem Londria ini terdapat batasan dalam pengembangan aplikasi, dimana konsep produk Londria yang dilempar ke market nantinya adalah MVP (Minimum Viable Product) dengan fitur minimum, dan dummy data. Tujuannya adalah untuk pengujian pasar untuk mengetahui apakah produk Londria itu layak, dapat disukai orang untuk digunakan, dibeli ataupun untuk dibicarakan.
4.1.2 Implementasi Perangkat Lunak Untuk pengujian black-box aplikasi Londria, perangkat lunak yang digunakan adalah:
Web server Apache versi 2.4.7
PHP versi 5.5.31
99 http://digilib.mercubuana.ac.id/
100
Database: MariaDB versi 10.0.20
Android Kitkat 4.4.4 (API 19)
Android Jelly Beans 4.1.1 (API 16)
Android Jelly Beans 4.3 (API 18)
4.1.3 Implementasi Perangkat Keras Adapun perangkat keras yang menunjang sistem Londria ini antara lain:
Samsung Galaxy Note 2 (Android Jelly Beans 4.1.1)
Xiaomi RedMi 2 (Android Kitkat 4.4.4)
LG (Jelly Beans 4.3)
4.2 Tahapan pengembangan sistem Awal pengerjaan aplikasi Londria adalah pada 05 Oktober 2015, pada proses ini penulis melakukan konsultasi dengan dosen pembimbing mengenai konsep aplikasi, perancangan bisnis proses serta menentukan tahapan sprint dalam menyelesaikan user story. Penulis mengatur kemajuan rencana pengembangan aplikasi Londria ini menggunakan metode scrum menggunakan spreadsheet (excel) untuk product backlog dan sprint backlog.
http://digilib.mercubuana.ac.id/
101
4.2.1 Membuat product backlog Pada proses pengembangan aplikasi menggunakan metode scrum yang pertama adalah membuat daftar user story (kebutuhan users). Pada analisis sebelumnya telah disebutkan bahwa fitur yang diharapkan dari aplikasi laundry sesuai permintaan ini adalah: 1. Kemudahan pendaftaran aplikasi. 2. Manajemen informasi pribadi pelanggan. 3. Pelanggan bisa melihat daftar laundry yang ada di sekitar. 4. Pelanggan bisa melihat informasi detail dari agen laundry pilihan 5. Pelanggan bisa membuat pesanan antar jemput laundry 6. Pelanggan bisa mengetahui pakaian nya sudah di proses atau sudah selesai di proses 7. Kurir bisa melihat informasi pesanan pelanggan 8. Kurir bisa melihat peta lokasi pelanggan. 9. Kurir bisa membuat panduan navigasi menuju lokasi pelanggan. 10. Adanya push notification ke ponsel untuk memberitahukan informasi pakaian sudah selesai di proses. Fitur-fitur di atas kemudian akan di terjemahkan menjadi user story disertai dengan bobot pengerjaan dan prioritas, lalu diurutkan untuk masuk ke dalam sprint. Product owner menentukan prioritas yang menandakan urgensi dari aplikasi yang akan dikembangkan, sedangkan size ditentukan oleh tim pengembang untuk memperkirakan seberapa besar perubahan yang diperlukan, dan keterangan sprint menandakan story tersebut akan dikerjakan pada urutan sprint.
http://digilib.mercubuana.ac.id/
102
Tabel 4.1 Daftar user story Deskripsi
Prioritas Size
Sprint
Untuk mengembangkan aplikasi Londria, sebagai pengembang High saya perlu eksplorasi teknologi, dan membuat kerangka proyek
XL
1
Untuk menggunakan aplikasi, sebagai pelanggan saya ingin proses High registrasi yang mudah
M
2
Untuk mengubah informasi pribadi, sebagai pelanggan saya ingin High menu untuk manajemen akun pelanggan
XL
2
Untuk memilih agen laundry yang terbaik, sebagai pelanggan saya Medium M perlu informasi kualitas dari layanan laundry tersebut
3
Untuk mengetahui layanan apa saja yang tersedia, sebagai Medium XL pelanggan saya perlu melihat informasi profil laundry
3
Untuk membuat order, sebagai pelanggan saya memilih layanan High laundry apa saja yang saya perlukan
XL
4
Untuk mengetahui status sejauh mana pakaian sudah diproses, Low sebagai pelanggan saya perlu fitur untuk monitoring pakaian
S
4
Untuk meningkatkan pengalaman pengguna, sebagai pelanggan Low saya ingin ada notifikasi ketika pakaian selesai di proses
S
5
S
6
XL
6
Untuk informasi tugas yang lebih teratur, sebagai kurir saya perlu Low menu untuk kategori tugas penjemputan, atau pengantaran Untuk memudahkan pencaraian alamat pelanggan, sebagai kurir saya perlu gambaran peta dan navigasi untuk mendukung informasi High alamat
http://digilib.mercubuana.ac.id/
103
4.2.2 Panjang Sprint Dalam pengerjaan aplikasi Londria ini, penulis memerlukan waktu pengerjaan sebanyak 5 sprint dengan lama satu sprint adalah 2 pekan. Pada sprint inilah dilakukan pengembangan aplikasi sesuai dengan product backlog/user stories. Pengembangan aplikasi menggunakan metode scrum ini memiliki SDLC yang ringkas dan iteratif, yaitu sprint planning, Daily Scrum, dan sprint review & retrospective, lalu mengulangi lagi proses dan batasan waktu yang sama dengan user story yang berbeda. Pada akhir setiap sprint, hal yang dilakukan selanjutnya adalah pengujian yang akan di lakukan oleh pengguna sistem menggunakan metode black box testing. Pengujian black box berfokus pada fungsional perangkat lunak pada sistem aplikasi pelanggan Londria, dan aplikasi Kurir Londria. Fitur-fitur yang akan diuji sesuai dengan user story yang dikembangkan pada spritn tersebut.
4.2.3
Sprint 1 a. Sprint planning Sprint 1 dilaksanakan pada 12 Oktober 2015-30 Oktober 2015. Di tahap
awal pengembangan ini penulis melakukan eksplorasi teknologi pengembangan aplikasi android, dan mencoba membuat aplikasi sederhana untuk menguji apakah bisa menjadi kerangka projek untuk pengembangan aplikasi Londria ini.
http://digilib.mercubuana.ac.id/
104
Tabel 4.2 tasklist sprint 1 Tasklist
Point
Membuat kerangka project (12 Oktober 2015-30 Oktober 2015)
94
Explore teknologi
21
Setup editor, UI framework, apache cordova, genymotion emulator 8
Bootraping apache cordova
8
Experiment plugin notifikasi dan google maps di cordova
34
Membuat kerangka aplikasi Londria dengan framework7
8
Explore PHP framework untuk RestFul API
5
Implementasi penggunaan indexDB di android
8
Inisiasi GIThub
2
b. Daily Scrum Daily Scrum digunakan untuk memantau kemajuan pengembangan aplikasi pada suatu sprint, detail task list yang berhasil dikerjakan poin nya akan berkurang, ideal nya tren grafik akan menurun hingga akhir sprint. Keterangan lebih lengkap progress dari sprint 1 terdapat di halaman lampiran.
http://digilib.mercubuana.ac.id/
105
Gambar 4.1 Burn-down chart sprint 1 c. Sprint review dan retrospective Eksplorasi
teknologi
yang
dilakukan
penulis
adalah
mencari
cara
pengembangan aplikasi di platform android, cara termudah adalah dengan hybrid apps yang membuat aplikasi android dengan teknologi web yang kerap digunakan oleh penulis. Namun dengan teknologi hybrid ini pun memiliki banyak framework yang bisa digunakan, diantaranya yang menarik perhatian penulis adalah jquery mobile, ionic framework, onsen ui, dan Framework7. Setelah mencoba melakukan bootsraping aplikasi, diputuskan bahwa Framework7 yang akan digunakan dalam pengembangan aplikasi Londria ini, dikarenakan komponen yang sudah lengkap untuk material design yang akan digunakan di android dan dokumentasi framework yang lengkap dan mudah dipelajari.
http://digilib.mercubuana.ac.id/
106
4.2.4 Sprint 2 a. Sprint planning Sprint 2 dilaksanakan pada 02 November 2015 sampai dengan 19 November 2015. Setelah prototype aplikasi menggunakan hybrid apps dengan Framework7 berhasil dibuat, tahap selanjutnya adalah pengembangan Pada sprint 2 target pengembangan aplikasi adalah menyelesaikan 2 story point, yaitu fitur pendaftaran aplikasi, dan manajemen informasi pelanggan. Berikut adalah detail tasklist yang akan dikerjakan pada sprint 2 Tabel 4.3 Tasklist sprint 2 Tasklist Sprint 2 (02 November 2015-19 November 2015) Untuk menggunakan aplikasi, sebagai pelanggan saya ingin proses registrasi yang mudah Membuat tampilan isian pendaftaran yang terdiri dari nama lengkap, email, kata sandi, no telepon, dan jenis kelamin Membuat validasi isian pendaftaran Membuat web service pelanggan di server Londria Membuat database penyimpanan registrasi Membuat web service menyimpan data pelanggan Untuk mengubah informasi pribadi, sebagai pelanggan saya ingin menu untuk manajemen akun pelanggan Membuat tampilan menu profil pengguna Membuat tampilan tambah alamat baru Membuat menu ubah tema aplikasi Membuat web service simpan perbaruan data profil pengguna Membuat web service simpan perbaruan data alamat pengguna Membuat skema logout pengguna
Point
21 8 21 5 13
21 13 13 8 5 5
b. Daily Scrum Pada spritn 2 ini mengalami keterlambatan di awal sprint dikarenakan kendala pada saat compile aplikasi di emulator android geny motion, komputer pengembang mengalami lag yang menggangu, dan penulis mencari penyebab nya dengan melakukan trouble shooting OS, hingga mengganti versi tipe android yang
http://digilib.mercubuana.ac.id/
107
berjalan di geny motion, sehingga tasklist pengembangan aplikasi londria tidak bergerak.
Gambar 4.2 Burn-down chart sprint 2 c. Pengujian aplikasi Setelah aplikasi berhasil dibuat, tahap selanjutnya adalah menguji fitur pada pengembangan sprint 2 ini, berikut proses pengujian dengan menggunakan metode black box. Tabel 4.4 Pengujian sprint 2 Item Uji
Detail pengujian
Instalasi
Menginstall aplikasi pada perangkat android jelly beans Menginstall aplikasi pada perangkat android kitkat
Data masukan Instal aplikasi di android kitkat, dan android jelly beans Instal aplikasi di android kitkat, dan android kitkat
Yang diharapkan
Pengamatan
Aplikasi Aplikasi bisa mengalami digunakan ketika dengan mulus digunakan
Fail/Pass
lag
Fail
Aplikasi Aplikasi bisa responsif, dan digunakan Pass bisa digunakan dengan mulus dengan lancar
http://digilib.mercubuana.ac.id/
108
Pendaftaran pengguna
login
Mengganti informasi pengguna
Pengguna mendaftarkan sebelum menggunakan aplikasi
diri
Input nama, email, no Berhasil ponsel, kata terdaftar sandi
Username diisi email Pengguna baru Password diisi Berhasil login melakukan login dengan kata sandi user Ubah nama Ubah profil pribadi pengguna, Berhasil pengguna nomor telepon, diperbarui dan kata sandi Alamat baru Menambahkan Tambah user berhasil alamat pengguna alamat baru ditambahkan Mengubah alamat Ubah alamat Alamat yang sudah ada yang ada diperbarui
Terdapat validasi untuk email, panjang Pass password dan nomor ponsel User yang telah terdaftar bisa Pass login ke dalam aplikasi Data berhasil terupdate
user Pass
Alamat user bisa Pass ditambahkan Alamat user bisa Pass diubah
d. Sprint review dan retrospective Proses pendaftaran pengguna sebelum menggunakan aplikasi Londria, dibuat sederhana dengan beberapa input data dari user, seperti nama lengkap, kata sandi, jenis kelamin, serta nomor telepon. Khusus untuk nomor telepon, perlu adanya validasi nomor telepon, agar pengguna mendaftarkan nomor telepon yang bisa dihubungi oleh agen laundry ketika diperlukan. Penggunaan OTP ketika pendaftaran bisa menghindari nomor telepon yang tidak valid, karena server akan mengirimkan kode konfirmasi ke nomor telepon pengguna melalui SMS dan pengguna memasukan kode rahasianya di halaman konfirmasi OTP. Namun untuk pengembangan aplikasi pada tugas akhir ini, konfirmasi OTP ditiadakan karena memerlukan adanya biaya untuk server sms gatewaynya. Instalasi aplikasi Londria tidak berjalan mulus pada perangkat android dengan sistem operasi Jelly Beans ataupun sistem operasi android sebelumnya, penyebabnya adalah web view default untuk sistem operasi sebelum kitkat bukanlah chromium web view, sehingga proses render tampilan yang menyebabkan pergerakan animasi tidak mulus, sehingga batasan implementasi
http://digilib.mercubuana.ac.id/
109
aplikasi Londria ini adalah hanya untuk android dengan sistem operasi kitkat atau lebih baru. 4.2.5
Sprint 3 a. Sprint Planning Pada sprint 3 ini pengembangan untuk fitur informasi detail dari agen
laundry pilihan, ulasan dan rating laundry, serta persiapan pembuatan aplikasi Londria kurir. Sprint 3 dilaksanakan 23 November 2015 sampai dengan 11 Desember 2015. Tabel 4.5 tasklist sprint 3 Tasklist Sprint 3 (23 November 2015-11 Desember 2015) Untuk mengetahui layanan apa saja yang tersedia, sebagai pelanggan saya perlu melihat informasi profil laundry
Point 141
Membuat desain tampilan profil laundry Membuat tampilan layanan laundry Membuat fitur jadikan laundry favorit Membuat daftar laundry sekitar dan favorit Membuat database untuk informasi laundry Membuat web service ambil informasi laundry Untuk memilih agen laundry yang terbaik, sebagai pelanggan saya perlu informasi kualitas dari layanan laundry tersebut
5 8 13 8 5 13
Membuat tampilan menu ulasan laundry Membuat input rating dan ulasan untuk laundry Membuat web service untuk input rating laundry Membuat database untuk rating laundry Membuat service controller profil laundry pesanan di server Membuat service model profil laundry di server Persiapan pembuatan aplikasi kurir Setup project Londria Kurir Membuat prototype file aplikasi kurir Membuat halaman utama kurir
5
http://digilib.mercubuana.ac.id/
8 5 13 8 8 8 21 13
110
b. Daily Scrum Pada sprint ke-3 ini aplikasi Londria untuk pelanggan telah ditambahkan menu profil laundry, sehingga pelanggan bisa melihat informasi detail mengenai agen laundry pilihannya. Untuk mengetahui kualitas layanan laundry, di aplikasi Londria terdapat fitur dimana pengguna bisa menuliskan ulasan mengenai layanan disertai dengan rating bintang 5 untuk kualitas istimewa ataupun rating bintang 1 untuk kualitas yang buruk. Pada sprint 4 nanti mulai dikembangkan aplikasi laundry untuk kurir sehingga di akhir sprint 3 ini mulai dibuat purwa rupa dari aplikasi laundry untuk kurir, pembuatan template projek serta memilih versi framework yang lebih baru.
Gambar 4.3 Burn-down chart sprint 3
http://digilib.mercubuana.ac.id/
111
c. Pengujian aplikasi Tahap selanjutnya setelah fitur di sprint 3 dibuat adalah melakukan pengujian aplikasi londira, dengan metode black box. Tabel 4.6 Pengujian sprint 3 Item Uji
Detail Data Yang diharapkan pengujian masukan Daftar laundry
Profil laundry Detail laundry
Ulasan dan rating
Tulis ulasan dan rating
Prototipe aplikasi laundry kurir
Instalasi aplikasi
Pilih menu agen laundry Di daftar laundry, kemudian pilih salah satu laundry Masukan rating bintang dan ulasan Instal aplikasi di android kitkat
Pengamatan
Fail/Pass
Muncul daftar laundry yang ada, di urutkan dari jarak terdekat dengan pengguna
Muncul daftar laundry dengan urutan yang paling dekat
Pass
Muncul informasi detail laundry, lokasi laundry, layanan laundry, jam operasional
Muncul informasi detail laundry, lokasi laundry, layanan laundry, jam operasional
Pass
Pengguna berhasil menuliskan ulasan dan memberikan rating
Pengguna berhasil menuliskan ulasan, namun tidak bisa melihat informasi ulasan yang telah dimasukan
Fail
Aplikasi bisa Aplikasi responsif, dan bisa Pass digunakan dengan digunakan dengan lancar mulus
d. Sprint review dan retrospective Pengembangan fitur di sprint 3 ini telah selesai dikembangkan, kini pengguna bisa mengakses profil laundry yang menyediakan informasi tentang laundry, namun untuk menuliskan ulasan dan rating masih berupa view tampilan saja, untuk proses penyimpanan data rating dan ulasan masih terdapat error saat penyimpan data ke android dan mengirimkan ke server, akan di perbaiki di sprint bug fixing kemudian. 4.2.6 Sprint 4 a. Sprint Planning Pada sprint ini pengembangan aplikasi Londria adalah pelanggan bisa membuat order layanan laundry, yang terdiri dari layanan kiloan, satuan dan
http://digilib.mercubuana.ac.id/
112
dry cleaning, serta pelacakan informasi status pengerjaan pakaian pelanggan, dilaksanakan pada 14 Desember 2015 sampai dengan 03 Januari 2016. Tabel 4.7 Tasklist sprint 4 Tasklist Sprint 4 (14 Desember 2015-03 Januari 2016) Untuk membuat order, sebagai pelanggan saya memilih layanan laundry apa saja yang saya perlukan
Membuat tampilan Pilih layanan Membuat tampilan form pengajuan pesanan Membuat form layanan laundry kiloan Membuat form layanan laundry satuan Membuat form layanan laundry dry cleaning Membuat daftar pilihan laundry Membuat halaman konfirmasi pesanan
Point 135
8 5 5 8 13 5 5
Membuat web service untuk ambil daftar laundry sekitar/favorit 13 Membuat web service untuk daftar layanan laundry yang dipilih 13 Membuat web service untuk submit pesanan laundry Membuat database submit pesanan
8 5
Untuk mengetahui status sejauh mana pakaian sudah diproses, sebagai pelanggan saya perlu fitur untuk monitoring pakaian
Membuat tampilan halaman Riwayat pesanan Membuat daftar pesanan pelanggan Membuat tampilan detail pesanan Membuat web service untuk data pesanan pelanggan
http://digilib.mercubuana.ac.id/
21 8 13 5
113
b. Daily Scrum Pengembangan aplikasi Londria di sprint 4 ini pelanggan bisa mengajukan permintaan
untuk
pengambilan
pakaiannya
melalui
aplikasi,
pelanggan
memasukan layanan yang dipilih antara lain laundry kiloan, laundry satuan, dan laundry dry cleaning, lalu pengguna memilih jenis pakaian apa saja yang akan di cuci untuk perkiraan harga layanan. Pelanggan juga bisa memantau status pengerjaan aplikasi nya melalui aplikasi, apakah sudah di proses pencucian ataupun sudah selesai dibersihkan dan siap diambil.
Gambar 4.4 Burndown chart sprint 4 c. Pengujian aplikasi Untuk memastikan fitur di sprint 4 berjalan dengan semestinya, maka dilakukan pengujian aplikasi Londria, dengan metode black box.
http://digilib.mercubuana.ac.id/
114
Tabel 4.8 Pengujian sprint 4 Item Uji
Membuat order
Status pakaian
Detail pengujian
Data masukan
Yang diharapkan
Membuat order laundry kiloan
Pilih layanan laundry kiloan, masukan jumlah berat pakaian, pilih laundry, konfirmasi pesanan
Pesanan berhasil submit
Membuat order laundry satuan
Pilih layanan laundry satuan, pilih pakaian, konfirmasi pesanan
Membuat order laundry dry cleaning
Pilih layanan laundry dry cleaning, pilih pakaian, konfirmasi pesanan
Pilih menu riwayat pesanan
Pilih pesanan
history
Pengamatan
Fail/Pass
di
Berhasil submit layanan laundry kiloan
Pass
Pesanan berhasil di submit, jumlah pakaian bisa ditambah dan dikurangi Pesanan berhasil di submit, jumlah pakaian bisa ditambah dan dikurangi
Berhasil submit layanan laundry satuan, jumlah pakaian bisa dikurangi dan ditambah Berhasil submit layanan laundry dry cleaning, jumlah pakaian bisa dikurangi dan ditambah
Muncul status terbaru pakaian
Muncul status terbaru pakaian
Pass
Pass
Pass
d. Sprint review dan retrospective Pelanggan kini bisa membuat permintaan melalui aplikasi Londria, nantinya pesanan tersebut akan di follow up oleh aplikasi kurir agen laundry. Pelanggan bisa memilih layanan laundry kiloan, satuan dan dry cleaning kemudian memilih jumlah pakaiannya, dan juga pelanggan bisa mengubah data pesanannya.
4.2.7 Sprint 5 a. Sprint planning Pada sprint terakhir ini dilaksanakan pada 30 Desember 2015 sampai dengan 18 Januari 2016 pengembangan aplikasi Londria adalah mengintegrasikan
http://digilib.mercubuana.ac.id/
115
layanan push notifikasi dari Google cloud messaging agar notifikasi bisa masuk ke ponsel pelanggan. Pengerjaan aplikasi Londria kurir dikerjakan di sprint ini, untuk fitur pengkategorian daftar tugas berdasarkan jenis pekerjaan apakah jemput pakaian, atau antar pakaian jadi yang telah di proses.Fitur terakhir yang dikembangkan adalah integrasi antara aplikasi Google maps SDK di android dengan aplikasi Londria kurir. Dengan fitur diatas maka dibuatlah task list pengerjaan selama sprint 5 sebagai berikut: Tabel 4.9 Tasklist sprint 5 Tasklist Sprint 5 (30 Desember 2015-18 Januari 2016) Untuk meningkatkan pengalaman pengguna, sebagai pelanggan saya ingin ada notifikasi ketika pakaian selesai di proses
Point 131
Membuat service push notifikasi via Google Cloud Messaging 21 Membuat penyimpanan notifikasi di android 0 Membuat tampilan pop up notifikasi 5 Untuk informasi tugas yang lebih teratur, sebagai kurir saya perlu menu untuk kategori tugas penjemputan, atau pengantaran
Membuat tampilan daftar tugas kurir Membuat pengkategorian daftar Jemput dan Antar Membuat tampilan detail tugas Membuat skema claim pesanan pelanggan Membuat web service melihat daftar tugas kurir Membuat web service claim pesanan pelanggan
13 8 5 13 13 8
Untuk memudahkan pencaraian alamat pelanggan, sebagai kurir saya perlu gambaran peta untuk mendukung informasi alamat
Menambahkan opsi peta pada detail tugas Tambahan opsi navigasi Membuat halaman lihat peta Implementasi plugin google maps SDK
http://digilib.mercubuana.ac.id/
8 8 8 21
116
b. Daily Scrum Pada pengembangan di sprint 5 ini untuk integrasi Google cloud messaging berhasil dilakukan jika server aplikasi yang dibuat menggunakan php di deploy di server local dan mengirimkan notifikasi ke Google GCM via web servie. Tetapi setelah aplikasi server di deploy di internet, fitur Google GCM tidak bisa mengirimkan notifikasi ke user. Issue mengenai localhost dan server ini masih di cek oleh pengembang. Tampilan fitur peta di Londria kurir berhasil di implementasi menggunakan plug-in, sehingga peta yang di dapat dari aplikasi Londria ini sudah memiliki tampilan yang baik dari Google SDK.
Gambar 4.5 Burn-down chart sprint 5
http://digilib.mercubuana.ac.id/
117
c. Pengujian aplikasi Pada sprint 5 ini pengujian aplikasi Londria sudah tidak lagi menggunakan web server localhost dengan koneksi satu jaringan, tetapi sudah di upload di hosting, sehingga untuk fitur notifikasi mengalami error dimana push notifikasi tidak sampai ke ponsel pengguna. Penyebab error ini kemungkinan adalah hak akses dari ip server hosting ke layanan Google cloud messaging. Tabel 4.10 Pengujian sprint 5 Item Uji
Detail pengujian
Data masukan
Notifikasi
Ketika pakaian berhasil disesaikan dakan ada notifikasi push ke ponsel pengguna
Ubah status pakaian pengguna laundry
Kategori penjemputan
Pilih tab penjemputan
Kategori pengantaran
Pilih tab pengantaran
Lihat peta
Pilih daftar tugas, lihat peta
Kategori tugas
Citra satelit
Pencarian alamat pelanggan
Citra peta
Jarak posisi
Navigasi
Pada menu peta, pilih opsi citra satelit Ubah citra satelit menjadi citra peta
Yang diharapkan Ketika pakaian berhasil disesaikan dakan ada notifikasi push ke ponsel pengguna Muncul data tugas hanya untuk penjemputan Muncul data tugas hanya untuk pengantaran
Muncul lokasi alamat pelanggan pada peta
Pengamatan
Fail/Pass
Notifikasi berhasil masuk ke ponsel pengguna
Pass (localhost) Fail (hosting)
Daftar tugas yang muncul hanya penjemputan Daftar tugas yang muncul hanya pengantaran Aplikasi menampilkan informasi alamat pelanggan dari koordinat latitude dan longitude pelanggan
Pass
Pass
Pass
Tampilan peta berubah menjadi gambar satelit
Aplikasi menampilkan satelit
peta
Pass
Berhasil diubah menjadi citra peta
Berhasil diubah menjadi citra peta
Pass
Pilih detail tugas
Muncul perkiraan jarak antara posisi kurir berada dengan alamat pelanggan
Terdapat infor jarak kilometer menuju lokasi pelanggan
Pass
Pilih opsi navigasi di menu peta
Muncul panduan navigasi dari posisi kurir menuju alamat pelanggan
Aplikasi google maps akan muncul dan langsung menampilkan rute navigasi ke alamat pelanggan
Pass
http://digilib.mercubuana.ac.id/
118
d. Sprint review dan retrospective Pada sprint terakhir ini aplikasi Londria untuk kurir berhasil diciptakan dengan fitur utama untuk menerima permintaan pengantaran dan penjemputan ke alamat pelanggan, dengan integrasi Google maps, sehingga bisa memberikan informasi peta yang handal. Namun terdapat issue untuk web service yang di deploy di hosting internet pada integrasi dengan plugin notifikasi Google cloud messaging, dimana push notifikasi tidak masuk ke ponsel pelanggan, namun jika di eksekusi di pc developer (localhost) notifikasi ke ponsel pelanggan bisa masuk. Hal ini disebabkan karena ip untuk mengakses GCM tidak memiliki akses. 4.3 Implementasi Antar Muka Hasil implementasi user interface berdasarkan perancangan layar sebelumnya adalah sebagai berikut a. Landing Page
Gambar 4.6 tampilan landing page
http://digilib.mercubuana.ac.id/
119
b. Halaman promo
Gambar 4.7 tampilan halaman promo c. Halaman pilih layanan
Gambar 4.8 tampilan halaman layanan
http://digilib.mercubuana.ac.id/
120
d. Profil laundry
Gambar 4.9 tampilan halaman profil laundry
http://digilib.mercubuana.ac.id/
121
4.4 Implementasi Basis Data Berikut ini adalah implementasi pembuatan basis data pada
able-tabel
Londria pada database MySQL 1) Tabel tb_users 2)
Gambar 4.10 Implementasi table tb_users
CREATE TABLE `tb_users` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `nama_lengkap` VARCHAR(40) NOT NULL COMMENT 'Nama lengkap pelanggan', `telp` VARCHAR(12) NOT NULL COMMENT 'No hp', `email` VARCHAR(45) NOT NULL COMMENT 'Surel', `katasandi` VARCHAR(32) NOT NULL COMMENT 'Password', `foto` VARCHAR(10) NOT NULL COMMENT 'Nama file foto', `gender` TINYINT(1) NOT NULL DEFAULT '1' COMMENT '1=pria, 0=wanita', `latitude` DOUBLE NOT NULL COMMENT 'Koordinat latitude', `longitude` DOUBLE NOT NULL COMMENT 'Koordinat longitude', `google_id` TEXT NULL COMMENT 'Registrasi GCM', PRIMARY KEY (`id`), UNIQUE INDEX `unx_email` (`email`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1;
http://digilib.mercubuana.ac.id/
122
2) tb_rating
Gambar 4.11 Implementasi table tb_rating CREATE TABLE `tb_rating` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `id_laundry` INT(11) NOT NULL COMMENT 'Id laundry', `_1` INT(11) NULL DEFAULT NULL COMMENT 'Jumlah rating 1', `_2` INT(11) NULL DEFAULT NULL COMMENT 'Jumlah rating 2', `_3` INT(11) NULL DEFAULT NULL COMMENT 'Jumlah rating 3', `_4` INT(11) NULL DEFAULT NULL COMMENT 'Jumlah rating 4', `_5` INT(11) NULL DEFAULT NULL COMMENT 'Jumlah rating 5', `_count` INT(11) NULL DEFAULT NULL COMMENT 'Total rating', PRIMARY KEY (`id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1;
3) tb_promo
Gambar 4.12 Implementasi table tb_promo CREATE TABLE `tb_promo` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `id_laundry` INT(11) NOT NULL COMMENT 'Id laundry', `judul` VARCHAR(50) NOT NULL COMMENT 'Judul promo', `foto` VARCHAR(50) NOT NULL COMMENT 'Foto promo', `desc` TEXT NOT NULL COMMENT 'Deskripsi singkat', `tgl_buat` DATETIME NOT NULL COMMENT 'Tanggal pembuatan',
http://digilib.mercubuana.ac.id/
123
`tgl_exp` DATETIME NOT NULL COMMENT 'Tanggal kedaluarsa', `radius` INT(11) NOT NULL COMMENT 'Radius promosi', PRIMARY KEY (`id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1;
4) tb_orders
Gambar 4.13 Implementasi table tb_orders CREATE TABLE `tb_orders` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `id_user` INT(11) NOT NULL COMMENT 'Id user', `id_laundry` INT(11) NOT NULL COMMENT 'Id laundry', `alamat` TEXT NOT NULL COMMENT 'Alamat pelanggan', `latitude` DOUBLE NOT NULL COMMENT 'Koordinat latitude', `longitude` DOUBLE NOT NULL COMMENT 'Koordinat longitude', `no_tlp` VARCHAR(15) NOT NULL COMMENT 'No hp', `jenis_layanan` TINYINT(4) NOT NULL COMMENT '1=kiloan 2=satuan 3=dry cleaning', `grand_total` INT(11) NOT NULL COMMENT 'Total harga', `produk` TEXT NULL COMMENT 'Produk yang di pilih', `catatan` TEXT NULL COMMENT 'Catatan tambahan pengguna', `dibuat` DATETIME NULL DEFAULT NULL COMMENT 'Tanggal dibuat pesanan', `proses_1` DATETIME NULL DEFAULT NULL COMMENT 'Tanggal status pesanan 1', `proses_2` DATETIME NULL DEFAULT NULL COMMENT 'Tanggal status pesanan 2', `proses_3` DATETIME NULL DEFAULT NULL COMMENT 'Tanggal status pesanan 3',
http://digilib.mercubuana.ac.id/
124
`proses_4` DATETIME NULL DEFAULT NULL COMMENT 'Tanggal status pesanan 4', `status` TINYINT(1) NULL DEFAULT NULL COMMENT 'Status akhir', `notes` VARCHAR(100) NULL DEFAULT NULL COMMENT 'Catatan', PRIMARY KEY (`id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1;
5) tb_layanan
Gambar 4.14 Implementasi table tb_layanan CREATE TABLE `tb_layanan` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `id_laundry` INT(11) NOT NULL COMMENT 'Id laundry', `id_layanan` INT(11) NOT NULL COMMENT 'Id layanan', `tipe` TINYINT(1) NOT NULL COMMENT '1=kiloan 2=satuan cleaning', `harga` INT(11) NOT NULL COMMENT 'Harga layanan', PRIMARY KEY (`id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1;
http://digilib.mercubuana.ac.id/
3=dry
125
6) tb_laundry
Gambar 4.15 Implementasi table tb_laundry CREATE TABLE `tb_laundry` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `nama` VARCHAR(50) NOT NULL COMMENT 'Nama laundry', `alamat` TEXT NOT NULL COMMENT 'Alamat', `latitude` DOUBLE NOT NULL COMMENT 'Koordinat latitude', `longitude` DOUBLE NOT NULL COMMENT 'Koordinat longitude', `buka` TEXT NOT NULL COMMENT 'Jam operasional (json)', `foto` VARCHAR(50) NOT NULL COMMENT 'Foto avatar', `foto_cover` VARCHAR(50) NOT NULL COMMENT 'Foto cover', `desc` TEXT NOT NULL COMMENT 'Deskripsi singkat laundry', `rating` TINYINT(1) NOT NULL COMMENT 'Rating total laundry', `bisa_kiloan` TINYINT(1) NOT NULL COMMENT 'Layanan kiloan', `bisa_dryCleaning` TINYINT(1) NOT NULL COMMENT 'Layanan dry cleaning', `bisa_satuan` TINYINT(1) NOT NULL COMMENT 'Layanan satuan', `transaksi` INT(11) NOT NULL COMMENT 'Jumlah transaksi total', `telp` VARCHAR(12) NOT NULL COMMENT 'Tlp', `pengerjaan` INT(11) NOT NULL COMMENT 'Rata2 pengerjaan pakaian', `min_kiloan` INT(11) NULL DEFAULT NULL COMMENT 'Minimal kiloan', `min_satuan` INT(11) NULL DEFAULT NULL COMMENT 'Minimal laundry satuan', `min_drycleaning` INT(11) NULL DEFAULT NULL COMMENT 'Minimal laundry dry cleaning', PRIMARY KEY (`id`), INDEX `id` (`id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1;
http://digilib.mercubuana.ac.id/
126
7) tb_comments
Gambar 4.16 Implementasi table tb_comments CREATE TABLE `tb_comments` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `id_laundry` INT(11) NOT NULL, `id_sender` INT(11) NOT NULL, `rate` TINYINT(4) NOT NULL, `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `message` TEXT NULL, PRIMARY KEY (`id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=1;
http://digilib.mercubuana.ac.id/