Fakultas Ilmu Komputer
Universitas Brawijaya 1042
Pengembangan RestoCrowd: Aplikasi Android Penghitung Jumlah Pengunjung Restoran Berbasis Crowdsourcing dengan Ekstrapolasi
Gifary Dhimas Fadhillah1, Agi Putra Kharisma2, Tri Afirianto3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]
Abstrak
Menurut sebuah survei tentang pengunjung restoran, 41% responden yang terlibat mengeluhkan kondisi ramai pada sebuah restoran sebagai suatu kendala yang mungkin terjadi ketika pergi ke sebuah restoran. Sebagian lain juga menyatakan bahwa informasi tempat yang kosong merupakan informasi yang diperlukan sebelum mengunjungi restoran. Kini permasalahan tersebut sudah dapat terjawab oleh fitur pada aplikasi Google Maps, yaitu fitur Popular Times. Namun, fitur tersebut masih memiliki kekurangan yakni hanya tersedia pada tempat-tempat yang ramai dikunjungi saja serta membutuhkan data yang banyak untuk mengestimasikan tingkat keramaian. Pada penelitian ini, sistem yang dinamakan RestoCrowd dikembangkan untuk menguji sebuah metode sederhana yang dapat mengestimasi jumlah pengunjung restoran dengan data yang sedikit dan penggunaan daya yang efisien. Sistem RestoCrowd terdiri dari aplikasi berbasis Android dan sebuah web service untuk mengagregasi data hasil crowdsourcing. Hasil pengujian Black-box menyatakan bahwa sistem telah memenuhi kebutuhan sistem. Hasil pengujian penggunaan daya menyatakan bahwa aplikasi RestoCrowd hanya mengonsumsi daya paling banyak 0,6668 mAh untuk menjalankan 1 kali prosedur pendeteksian di background (2 mAh dalam 1 jam). Adapun hasil pengujian akurasi menyatakan bahwa rata-rata akurasi adalah sebesar 80,63% dari 83 data training dan 12 data uji.
Kata kunci: pengunjung restoran, ekstrapolasi, Android, penggunaan daya, estimasi, web service.
Abstract
According to survey about restaurant visitors, 41% respondents claim that the crowded restaurant is a problem when visiting a restaurant. Others also declare that information about restaurant crowd is necessary before coming to a restaurant. Although that problem is already solved by Google Maps Popular Times, the feature still has weak point. The feature only works on popular places and requires a large set of data to estimate the crowd level. In this research, a system named RestoCrowd is developed to test a method used to estimate restaurant visitors with minimum dataset and efficient power consumption. The system is consisted of an Android-based applicationa and a web service to aggregate the crowdsourced data. The Black-box testing states that the proposed system already satisfies the system requirements. The power consumption testing states that the background service used to detect devices only uses 0,6668 mAh at most (2 mAh in an hour). The proposed system has an average accuracy of 80,63% from 83 data samples for training and 12 data samples for testing.
Keywords: restaurant visitors, extrapolation, Android, power consumption, estimation, web service.
1. PENDAHULUAN
Restoran merupakan salah satu industri yang sangat diminati oleh masyarakat. Hal itu dapat dengan mudah terlihat dari perkembangannya yang sangat pesat. Tercatat pada penelitian yang dilakukan oleh Research and Market bahwa pendapatan industri restoran global pada tahun 2014 ialah sebesar 2,737
triliun USD. Di Indonesia, BPS melaporkan bahwa pendapatan industri restoran skala menengah dan besar ialah sebesar 4,66 miliar rupiah pada tahun 2015. Dari data yang tercatat, dapat diambil suatu kesimpulan bahwa restoran memilki dampak yang besar bagi masyarakat.
Di Malang sendiri, kini banyak bermunculan restoran-restoran dan kafe-kafe baru yang ramai dikunjungi oleh para muda-
mudi. Berbagai fasilitas dan konsep baru seperti coworking space hingga fasilitas meeting room dan tempat yang instagramable diduga menjadi daya tarik pengunjung. Sehingga, tak jarang tempat-tempat tersebut dijumpai sangat ramai hingga tidak terdapat meja kosong yang tersisa.
Sebuah survei pernah dilakukan terhadap 265 responden yang terdiri dari mahasiswa FILKOM Universitas Brawijaya dan sebagian masyarakat umum. Dari survei tersebut, terdapat 111 responden yang mengeluhkan kondisi ramai sebagai kendala yang mungkin terjadi ketika datang ke restoran. Selain itu, 73 responden menyatakan bahwa informasi mengenai tempat yang kosong merupakan informasi yang diperlukan sebelum berkunjung ke restoran (Sahaja & Hanastyono, 2019). Pada survei tersebut, informasi mengenai tempat yang kosong menempati urutan ke-4 setelah ketersediaan menu, jam operasi restoran, dan ketersediaan Wi-Fi. Hal tersebut membuktikan bahwa kini informasi ketersediaan tempat menjadi masalah sebelum berkunjung ke sebuah restoran.
Namun, informasi mengenai penuh atau tidaknya restoran masih minim ditemukan secara online. Salah satu solusi yang kini telah tersedia ialah sebuah fitur dari Google Maps bernama Popular Times. Tetapi, fitur tersebut tidak tersedia di semua tempat. Hanya tempat- tempat yang ramai dikunjungi saja yang tersedia fitur tersebut. Masalah lainnya ialah fitur tersebut terkadang masih menampilkan pesan “Not Enough Data”, padahal Google merupakan perusahaan yang terkenal mengumpulkan banyak data.
Untuk menyelesaikan masalah tersebut, diperlukan solusi berupa metode yang efektif dan efisien dalam konteks jumlah minimum data yang diperlukan untuk mengestimasikan jumlah pengunjung. Maka dari itu, penelitian ini disusun sebagai suatu langkah dalam mewujudkan penemuan metode seperti yang telah dideskripsikan.
Topik utama pada penelitian ini membahas terkait metode ekstrapolasi jumlah pengunjung restoran terhadap jumlah pengguna Wi-Fi.
Penelitian terkait ekstrapolasi jumlah orang terhadap jumlah perangkat pengguna Wi-Fi juga pernah dilakukan oleh Lesani dan Miranda-Moreno (2018) dengan galat rata-rata 17,1%. Metode ekstrapolasi yang digunakan oleh Lesani dan Miranda-Moreno (2018) juga dijadikan sebagai metode dalam penelitian ini.
Instrumen penelitian ini dibuat dengan
beberapa fitur yang merujuk ke sistem yang telah ada, yaitu Google Maps Popular Times.
Sistem yang dibuat pada penelitian ini berupa aplikasi berbasis Android dan web service untuk mengolah data yang dikumpulkan.
Aplikasi Android berfungsi sebagai instrumen untuk akuisisi data sekaligus untuk menyajikan data yang telah diolah, sedangkan web service berfungsi untuk mengagregasi data yang dikumpulkan melalui crowdsourcing.
Karena instrumen penelitian ini dibangun untuk platform mobile Android di mana sumber daya sangat terbatas, instrumen yang dibangun juga perlu diperhatikan terkait penggunaan dayanya. Karena penelitian ini lebih fokus membahas sisi client berupa aplikasi Android, arsitektur yang digunakan dalam pengembangan aplikasi juga menjadi sub-topik dari penelitian ini.
2. LANDASAN KEPUSTAKAAN
Penelitian ini disusun berdasarkan penelitian-penelitian yang terkait dan relevan.
Beberapa penelitian yang dijadikan sebagai rujukan adalah sebagai berikut.
Aplikasi Wi-Counter yang dikembangkan oleh Li, et al. (2015) merupakan aplikasi untuk menghitung jumlah orang dengan crowdsourcing data sinyal Wi-Fi. Sinyal Wi-Fi yang didapat oleh perangkat smartphone dilakukan preprocessing untuk menghilangkan noise. Selanjutnya, digunakan interpolasi Newton untuk mengorelasikan kekuatan sinyal (received signal strength/RSS) dengan jumlah orang. Karena sifat korelasinya yang sangat dinamis, penelitian tersebut melibatkan neural network dengan lima layer untuk membantu pencarian korelasi tersebut. Hasil dari penelitian tersebut menyatakan bahwa metode tersebut memiliki akurasi hingga 93%.
Penelitian yang dilakukan oleh Lesani dan Miranda-Moreno (2018) tentang perhitungan jumlah pejalan kaki yang lewat dan pengklasifikasian antara pejalan kaki dan pengendara sepeda. Metode yang dilakukan adalah dengan mendeteksi perangkat berkapabilitas Wi-Fi dan Bluetooth yang dibawa oleh pejalan kaki. Pada jalan yang dilalui oleh pejalan kaki, dipasang access point (AP) yang dimodifikasi. AP tersebut berfungsi untuk menangkap sinyal probe yang dipancarkan oleh perangkat pejalan kaki yang lewat. Sinyal probe yang tertangkap oleh AP
Fakultas Ilmu Komputer, Universitas Brawijaya
diekstrak untuk mendapatkan data seperti MAC Address dan kekuatan sinyal. Selanjutnya, data- data tersebut dikirim ke server untuk dilakukan proses klasifikasi dan estimasi jumlah pejalan.
Proses estimasi dilakukan dengan menggunakan metode ekstrapolasi. Penelitian tersebut menyatakan bahwa nilai estimasi memiliki rata-rata error sebesar 17,1%.
2.1. Mobile Crowdsensing (MCS)
Crowdsourcing adalah sebuah istilah yang dideskripsikan sebagai tindakan yang mana suatu pekerjaan besar dibagi menjadi pekerjaan- pekerjaan kecil yang dikerjakan oleh banyak orang. Mobile crowsensing (MCS) didefinisikan sebagai sebuah paradigma dalam mengumpulkan data secara kolektif (melalui crowdsourcing) dengan memanfaatkan kapabilitas sensor yang dimiliki perangkat bergerak (mobile) seperti smartphone (Ganti, Ye, & Lei, 2011).
2.2. Ekstrapolasi
Ekstrapolasi adalah sebuah metode untuk mengestimasikan sebuah nilai yang tidak diketahui berdasarkan tren dari data yang diketahui. Persamaan (1) dan Persamaan (2) merumuskan persamaan yang digunakan oleh Lesani dan Miranda-Moreno (2018) dalam mengestimasi jumlah pejalan kaki berdasarkan MAC Address yang terdeteksi. Penelitian tersebut menggunakan interval waktu 15 menit dalam proses penghitungan estimasinya.
𝐶𝑒𝑡= 𝐹𝑢𝑐× 𝐶𝑊𝑖𝐹𝑖𝑡 (1) 𝐹𝑢𝑐=∑ 𝐶∑ 𝐶𝑡 𝐺𝑡
𝑊𝑖𝐹𝑖𝑡
𝑡 (2)
Keterangan:
𝐶𝐺𝑡 = Jumlah pejalan kaki yang sebenarnya
pada interval waktu 𝑡.
𝐶𝑊𝑖𝐹𝑖𝑡 = Jumlah MAC Address yang terdeteksi pada interval waktu 𝑡.
𝐶𝑒𝑡= Ekstrapolasi jumlah pejalan kaki berdasarkan jumlah MAC Address yang terdeteksi pada interval waktu 𝑡.
𝐹𝑢𝑐= under-counting factor.
3. ARSITEKTUR SISTEM 3.1. Perancangan Arsitektur Sistem
Rancangan arsitektur sistem yang digunakan pada penelitian ini digambarkan pada Gambar 1. Protokol komunikasi yang digunakan antara aplikasi Android RestoCrowd dan web service adalah HTTP dengan menggunakan format JSON (JavaScript Object Notation).
Selanjutnya, digunakan DBMS (Database Management System) MySQL yang berfungsi untuk menyimpan data hasil crowdsourcing dan estimasi. Web service terhubung ke DBMS tersebut untuk melakukan akses atau simpan data.
3.2. Implementasi Sistem
Aplikasi berbasis Android RestoCrowd dikembangkan dengan User Interface seperti pada Gambar 2. Di dalamnya, aplikasi tersebut menggunakan WorkManager untuk menjalankan prosedur pendeteksian perangkat dalam jaringan Wi-Fi secara periodik.
WorkManager menjamin prosedur yang didaftarkan berjalan walaupun aplikasi utamanya sudah ditutup. Meskipun WorkManager diatur untuk memiliki interval jeda selama 15 menit, WorkManager tidak menjamin prosedur akan berjalan tepat setelah jeda. Sehingga, akan terdapat tambahan jeda waktu setelah interval jeda 15 menit. Hal tersebut disebabkan oleh WorkManager yang dirancang untuk efisiensi penggunaan daya.
Adapun program web service diimplementasikan dengan bahasa Go. Program tersebut menggunakan library bernama “cron”
untuk menjadwalkan prosedur kalkulasi ulang hasil estimasi per 15 menit pada jam tersebut.
Selain itu, prosedur kalkulasi nilai 𝐹𝑢𝑐 pada tiap restoran dijalankan setiap jam pada menit ke 50.
Gambar 1. Rancangan Arsitektur Sistem
Gambar 2. Implementasi User Interface
4. PENGUJIAN
4.1. Pengujian Black-box
Pengujian Black-box dilakukan untuk menguji apakah sistem yang dibuat sudah memenuhi kebutuhan yang didefinisikan.
Pengujian dilakukan dengan menentukan kasus uji dan hasil yang diharapkan, kemudian aplikasi diuji sesuai dengan kasus yang ditentukan. Hasil pengujian dari 11 kasus uji bernilai valid.
4.2. Pengujian Penggunaan Daya
Pengujian penggunaan daya dilakukan terhadap prosedur pendeteksian perangkat dalam jaringan Wi-Fi restoran. Hal itu dilakukan untuk memastikan bahwa prosedur yang berjalan di background tersebut tidak
mengonsumsi daya yang berlebihan.
Hasil pengujian penggunaan daya ditabulasikan pada Tabel 2. Dari hasil pengujian yang dilakukan 3 kali pada 2 perangkat berbeda, rata-rata penggunaan daya untuk menjalankan prosedur deteksi perangkat dalam jaringan relatif kecil, yaitu paling besar hanya 0,6668 mAh. Hal tersebut tidak lepas dari asumsi bahwa kapasitas penuh baterai seperti yang tertera pada spesifikasi perangkat.
Adapun untuk semua kasus uji coba yang dilakukan, konsumsi daya CPU sangat kecil sehingga nilainya mendekati 0%. Hal tersebut disebabkan prosedur pendeteksian tidak menggunakan sumber daya CPU yang intensif, melainkan lebih banyak menggunakan sumber daya untuk berkomunikasi dengan perangkat keras transceiver Wi-Fi.
Fakultas Ilmu Komputer, Universitas Brawijaya
4.3. Pengujian Akurasi 𝐹𝑢𝑐 = ∑ 𝐶𝑡 𝐺𝑡
∑ 𝐶𝑡 𝑊𝑖𝐹𝑖𝑡 =1323
2199= 0,601637
Pengujian akurasi dilakukan untuk mengukur seberapa akurat metode ekstrapolasi yang digunakan dalam mengestimasi jumlah pengunjung terhadap jumlah pengunjung yang sebenarnya. Sebelum dilakukan pengujian akurasi, diperlukan nilai under-counting factor (𝐹𝑢𝑐) untuk menghasilkan nilai estimasi seperti yang dirumuskan pada Persamaan (1). Oleh karena itu, diambil sampel berupa pasangan jumlah perangkat yang terdeteksi dengan
jumlah pengunjung sebenarnya untuk menghasilkan nilai 𝐹𝑢𝑐. Pengambilan sampel dilakukan pada tanggal 18 November 2019 hingga tanggal 8 Desember 2019 sebanyak 83 data dan menghasilkan nilai 𝐹𝑢𝑐 sebesar 0,601637. Kemudian, nilai 𝐹𝑢𝑐 tersebut digunakan untuk menghasilkan nilai estimasi pada pengujian ini. Pengujian akurasi dilakukan dengan menggunakan Persamaan (3).
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = (1 −|𝜇𝐶−𝐶|
𝐶 ) × 100% (3)
Keterangan:
𝜇𝐶 = Nilai estimasi jumlah orang.
𝐶 = Jumlah orang sebenarnya.
Tabel 1. Hasil Pengujian Penggunaan Daya Kondisi Perangkat A
(Kasus uji 1)
Perangkat A (Kasus uji 2)
Perangkat B (Kasus uji 3)
Jam mulai 14.20 10.13 10.15
Jam selesai 15.25 11.25 11.27
Konsumsi Daya CPU 0,00%
(0 mAh) 0,00% (0 mAh) 0,00% (0 mAh) Konsumsi Daya Total 0,04%
(1,6 mAh) 0,05% (2 mAh) 0,02% (0,6 mAh) Jml. Prosedur
Dijalankan 3 kali 3 kali 3 kali
Rata-rata konsumsi daya per prosedur
0,01333%
(0,5332 mAh)
0,01667%
(0,6668 mAh)
0,00667%
(0,2 mAh) Tabel 2. Hasil Pengujian Akurasi
Tanggal Jam Jml. Pengunjung Hasil Estimasi
Akurasi
09-12-2019
16.17 21 19 90,48%
16.38 17 17 100,00%
16.53 17 16 94,12%
17.16 22 18 81,82%
17.30 26 22 84,62%
17.46 26 23 88,46%
10-12-2019
10.48 7 9 71,43%
11.19 8 12 50,00%
11.35 9 10 88,89%
11.47 9 10 88,89%
12.15 13 10 76,92%
12.30 25 13 52,00%
Rata-rata 80,63%
5. KESIMPULAN
Berdasarkan hasil yang telah didapatkan pada tahap analisis kebutuhan, perancangan dan implementasi, dan pengujian sistem yang dibangun, didapatkan kesimpulan sebagai berikut.
1. Analisis kebutuhan pada aplikasi RestoCrowd didapatkan berdasarkan studi pustaka dari sistem yang sudah ada dan menghasilkan 3 kebutuhan fungsional serta 1 aktor yaitu pengguna.
Aplikasi yang dibangun lebih fokus kepada fungsionalitas.
2. Hasil perancangan aplikasi RestoCrowd dijabarkan menjadi bentuk perancangan arsitektur sistem, activity diagram, sequence diagram, class diagram, perancangan basis data, perancangan algoritme, dan perancangan User Interface. Arsitektur yang digunakan dalam aplikasi Android RestoCrowd adalah pola arsitektur MVP. Arsitektur tersebut memengaruhi bentuk class diagram yang memisahkan antara View
dan Presenter.
3. Sistem diimplementasikan dalam bentuk aplikasi berbasis Android yang diprogram dengan bahasa pemrograman Kotlin, sedangkan web service diprogram dengan bahasa pemrograman Go. Aplikasi Android RestoCrowd dibangun dengan arsitektur MVP yang mana Activity berperan sebagai View yang dihubungkan dengan Presenter di mana pemrosesan terjadi.
4. Aplikasi Android RestoCrowd memiliki penggunaan daya yang sangat kecil. Paling banyak hanya mengonsumsi daya 2 mAh dalam kurun waktu 1 jam untuk melakukan 3 kali prosedur pendeteksian yang berjalan di background.
5. Sistem RestoCrowd memiliki akurasi rata-rata sebesar 80,63% dari 12 kali pengujian yang dilakukan. Sistem cenderung akurat jika perubahan jumlah pengunjung terjadi dalam kurun waktu yang lebih dari 15 menit.
6. DAFTAR PUSTAKA
Ganti, R. K., Ye, F., & Lei, H. (2011). Mobile crowdsensing: Current state and future challenges. IEEE Communications
Magazine, 49(11), 32–39.
https://doi.org/10.1109/MCOM.2011.6069 707
Lesani, A., & Miranda-Moreno, L. (2018).
Development and Testing of a Real-Time WiFi-Bluetooth System for Pedestrian Network Monitoring, Classification, and Data Extrapolation. IEEE Transactions on Intelligent Transportation Systems, 20(4), 1484–1496.
https://doi.org/10.1109/TITS.2018.285489 5
Li, H., Chan, E. C. L., Guo, X., Xiao, J., Wu, K., & Ni, L. M. (2015). Wi-Counter:
Smartphone-Based People Counter Using Crowdsourced Wi-Fi Signal Data. IEEE Transactions on Human-Machine
Systems, 45(4), 442–452.
https://doi.org/10.1109/THMS.2015.2401 391
Sahaja, Y., & Hanastyono, Z. F. (2019).
Pengembangan Aplikasi Pemesanan Makanan Berbasis Android Sans. Malang.