## Sistem Rekomendasi Layanan Harga Produk Terendah Berbasis Partisipasi Masyarakat
Fany Ayu Anggreany #1 , Yus Sholva *2 , Helen Sasty Pratiwi #3
# Program Studi Informatika Universitas Universitas Tanjungpura Jl. Prof. Dr. H. Hadari Nawawi, Pontianak, Kalimantan Barat 78115
1 ayuanggreany@gmail.com
2 sholvariza@untan.ac.id
3 helensastypratiwi@gmail.com
Abstrak —  Pada  era  digital  ini,  semakin  mudahnya  internet dijangkau  membuat  perubahan  pada  perilaku  belanja konsumen.  Menurut  Couponrani.com  sebanyak  54% konsumen  memanfaatkan  internet  untuk  membandingkan harga  saat  berada  di  dalam  toko  konvensional.  Namun dalam  membandingkan  harga  ditemui  kendala  yaitu sulitnya  mendapatkan  informasi  harga  produk  pada  toko konvensional.  Meskipun  toko  konvensional  ada  beberapa yang  menyediakan  katalog  harga  produknya,  tidak  semua produk  ditampilkan  dalam  katalog.  Oleh  karena  itu,  perlu dibuat  aplikasi  dengan  sistem  rekomendasi  harga  produk terendah  menggunakan  partisipasi  masyarakat.  Partisipasi masyarakat  digunakan  karena  tidak  adanya  sumber  yang memberikan  data  harga  produk  yang  selalu  terupdate sehingga  diperlukan  dukungan  dari  masyarakat  yang memberikan data secara sukarela. Pada penelitian ini untuk membuat  masyarakat  ikut  berpartisipasi  memberikan  data harga produk yaitu dengan membangun sistem rekomendasi ini  dalam  bentuk  sebuah  aplikasi  catatan  belanja.  Catatan belanja  yang  dimasukkan  oleh  pengguna  ke  aplikasi  akan disimpan  dalam  sebuah  basis  data  sehingga  dapat  diakses oleh  pengguna  lain  dalam  bentuk  rekomendasi  harga terendah.  Rekomendasi  dihasilkan  dengan  memilah  data harga  produk  terbaru  dan  terendah  untuk  kemudian diurutkan  berdasarkan  jumlah  produk  yang  tersedia,  total harga,  dan  jarak  toko  terdekat  yang  dihasilkan  dengan melakukan  perhitungan  jarak  antara  pengguna  dan  toko menggunakan formula haversine. Berdasarkan hasil pengujian,  aplikasi  ini  sudah  berjalan  dengan  baik  pada perangkat smartphone Android. Hasil perhitungan  Likert’s Summated  Rating  diperoleh  nilai  1701  yang  menerangkan bahwa  aplikasi  ini  dapat  dikategorikan  dengan  kriteria “Berhasil”.
Kata kunci — rekomendasi, harga terendah, produk, partisipasi masyarakat, android

## I. P ENDAHULUAN
Pada  era  digital  sekarang  ini,  internet  semakin  mudah dijangkau seiring dengan semakin meningkatnya pengguna  internet dan smartphone di  Indonesia. Berbagai aspek  kehidupan  tidak  terlepas  dari  internet  membuat perubahan  pada  perilaku  belanja  konsumen.  Menurut
Media  Konsumen    [1],  berdasarkan  hasil  survei  di  India yang  dilakukan  oleh  couponrani.com  dapat  memberi gambaran  bagaimana  era  digital  telah  mempengaruhi perilaku  masyarakat  dalam  berbelanja.  Meskipun  survei tersebut  dilakukan  di  India,  secara  umum  perilaku konsumen Indonesia di era digital memiliki kecenderungan  yang  serupa.  Hasil  survei  tersebut menunjukkan  92%  konsumen  memanfaatkan  internet untuk  mencari  informasi  produk  sebelum  melakukan keputusan  pembelian  di  toko  konvensional  (offline). Sebanyak  54%  dari  konsumen  memanfaatkan  internet untuk  membandingkan  harga,  18%  membandingkan produk  yang  diminati  dengan  produk  sejenis  yang  lain, dan 20% membaca review atau feedback produk.
Kebutuhan  untuk  membandingkan  harga  produk  dari satu  tempat  belanja  dengan  tempat  belanja  yang  lain dikarenakan  perilaku  konsumen  yang  menginginkan produk  dengan  harga  yang  murah.  Pada  saat  berbelanja jika  harga    suatu  produk  di  toko  yang  sedang  dikunjungi mahal,  konsumen  akan  menunda  membeli  beberapa barang  untuk  dibeli  di  toko  lain  yang  menjual  produk tersebut  dengan  harga  yang  lebih  murah.  Kondisi  ini menyebabkan  belanja  konsumen  tidak  efisien.  Jika konsumen  tetap  membeli  barang  tersebut  di  toko  yang sama  dengan  kondisi  harga  produk  yang  lebih  mahal, maka  akan  menyebabkan  ketidakpuasan  tersendiri  dari konsumen.
Namun  ketika  membandingkan  harga  produk  ditemui kendala untuk  mendapatkan  informasi  harga produk pada toko konvensional. Tidak semua toko bersedia memberikan  informasi  harga produknya. Hanya toko ritel berskala besar yang bersedia memberikan informasi harga produknya  dalam  bentuk  katalog,  sedangkan  minimarket atau  supermarket  lokal  hanya  menyediakan  label  harga pada  rak  tokonya.  Harga  produk  yang  disediakan  pada katalog  juga  hanya  produk  yang  sedang  promo  atau diskon  saja  sedangkan  produk  lain  yang  sedang  tidak diskon  tidak  ditampilkan.  Selain  itu  harga  produk  pada katalog  mempunyai  periode  waktu  tertentu  sehingga informasi akan usang. Kurangnya informasi harga produk
menyebabkan  konsumen  sulit  untuk  membandingkan harga  suatu  produk  pada  satu  tempat  belanja  dengan tempat belanja yang lainnya.
Selain  itu,  harga  produk  yang  selalu  berubah-ubah menjadi  acuan  diperlukannya  sebuah  aplikasi  yang  dapat melakukan pembaruan data. Salah satu metode yang dapat dipakai  untuk  mendapat  informasi  harga  terbaru  suatu produk  yaitu  melalui  partisipasi  masyarakat.  Partisipasi masyarakat dalam penelitian ini digunakan sebagai konsep dalam  membangun  aplikasi  sehingga  aplikasi  yang dihasilkan  dapat  menghimpun  data  dari  pengguna. Partisipasi  masyarakat  digunakan  karena  tidak  ada  toko konvensional  yang  bersedia  memberikan  informasi  harga produknya  sehingga  masyarakat  sendirilah  yang  harus memberikan  data.  Dalam  menghimpun  data  dari masyarakat,  diperlukan  sebuah  cara  agar  masyarakat memberikan  data  harga  yang  benar  yaitu  dengan membangun  sistem  rekomendasi  layanan  harga  produk terendah ini dalam bentuk sebuah aplikasi catatan belanja.
Selain  digunakan  agar  masyarakat  memberikan  data yang  benar,  catatan  belanja  juga  merupakan  sebuah  cara untuk  membuat  aplikasi  ini  dibutuhkan  oleh  masyarakat agar  masyarakat  tertarik  untuk  ikut  berpartisipasi  dalam memberikan  harga  produk.  Jika  banyak  masyarakat  yang berpartisipasi  melakukan  pencatatan  belanjanya  pada aplikasi maka dapat dihimpun data belanja yang dilakukan orang  lain  juga  sehingga  informasi  harga  merupakan harga  yang  ter-update.  Melalui  catatan  belanja  yang dikumpulkan  dari  banyak  pengguna  maka  akan  dapat dibandingkan  harga  produk  dari  satu  tempat  belanja dengan  tempat  belanja  lain  yang  dapat  membantu pengguna  mendapatkan  rekomendasi  tempat  belanja dengan  harga  produk  yang  terendah.  Selain  itu,  dapat diketahui  harga-harga  produk  sehingga  konsumen  dapat membuat  rencana  belanja  dengan  perkiraan  jumlah  uang yang akan dikeluarkan pada saat berbelanja.
Berdasarkan  penjelasan  yang  telah  dipaparkan,  maka perlu  dilakukan  pengembangan  aplikasi  catatan  belanja yang dapat membantu masyarakat mendapatkan informasi harga  produk  terendah  dengan  dukungan  partisipasi masyarakat.

## II. U RAIAN P ENELITIAN

## A. Catatan Belanja
Catatan  belanja  merupakan  daftar  barang  yang  ingin dibeli  ketika  akan  pergi  berbelanja  yang  ditulis  pada sebuah  kertas  [2].  Catatan  belanja  memiliki  berbagai fungsi.  Salah  satu  fungsi  catatan  belanja  yaitu  dapat digunakan sebagai mengatur anggaran belanja, atau untuk perencanaan  belanja.  Catatan  belanja  juga  dapat menunjukkan  kebutuhan  atau  ketertarikan  konsumen  [3]. Dalam  menghimpun  data  dari  masyarakat,  diperlukan sebuah cara agar masyarakat memberikan data harga yang benar  yaitu  dengan  membangun  sistem  rekomendasi layanan  harga  produk  terendah  ini  dalam  bentuk  sebuah aplikasi catatan belanja.

## B. Partisipasi Masyarakat
Dilihat dari segi etimologi, kata partisipasi berasal dari bahasa Inggris participate yang artinya mengikutsertakan, ikut  mengambil  bagian  [4].  Partisipasi  juga  berarti  peran serta  seseorang  atau  kelompok  masyarakat  secara  aktif dari  proses  perumusan  kebutuhan,  perencanaan,  sampai pada tahap pelaksanaan kegiatan baik melalui pikiran atau langsung dalam bentuk fisik [5].
Dalam  penelitian  ini  masyarakat  turut  berpartisipasi dengan  melakukan  pencatatan  belanjaannya  dari  data struk  belanja.  Dari  catatan  belanja  masyarakat,  dapat diketahui  harga  produk  dari  toko-toko  yang  dikunjungi masyarakat. Informasi  mengenai  harga produk yang tidak statis  dan  dapat  mengalami  perubahan  harga  dan  diskon barang  di  toko  tertentu  menjadi  informasi  yang  sangat dibutuhkan  konsumen  ketika  merencanakan  belanjanya. Partisipasi  masyarakat  dalam  penelitian  ini  digunakan sebagai  konsep  dalam  membangun  aplikasi  sehingga aplikasi  yang  dihasilkan  dapat  menghimpun  data  dari pengguna.  Partisipasi  masyarakat  digunakan  karena  tidak ada  toko  konvensional  yang  bersedia  memberikan informasi harga produknya sehingga masyarakat sendirilah  yang  harus  memberikan  data.  Informasi mengenai  harga  dan  diskon  produk  diperlukan  melalui partisipasi  masyarakat  untuk  membantu  menjadikan aplikasi  yang  dikembangkan  peneliti  menjadi  aplikasi dengan  harga  produk  yang  selalu  ter-update  dan  dapat membantu  memberikan  informasi  yang  jelas dan  berguna untuk konsumen.

## C. Barcode Scanner
Barcode  Scanner  adalah  suatu  alat  yang  digunakan untuk  membaca  kode-kode  bar.  Kode  bar  terdapat  pada tanda  pengenal  produk.  Penggunaan  barcode  scanner dapat  memperkecil  kesalahan  input  yang  disebabkan kesalahan  operator  komputer  atau  kasir.  Penggunaan barcode  scanner juga  dapat  mempercepat  proses memasukkan data [6]. Pada penelitian ini barcode scanner digunakan  dengan  tujuan  agar  pengguna  tidak  perlu mengetik nama produk ketika menginput data nota belanja pada  aplikasi.  Beberapa  jenis barcode yang  standar  dan diakui untuk retail yaitu EAN-13 yang digunakan sebagai standar  kode  batang  retail  di  Eropa  dan  seluruh  dunia kecuali Amerika dan Kanada [7], EAN-8, dan UPC.
Pada  android  studio  untuk  menambahkan barcode scanner pada  aplikasi  yang  dibangun  menggunakan library  dari  Avaneesh  Maurya  yang  dibangun  dengan menggunakan barcode  detector pada  Google  Mobile Vision  API. Barcode  detector pada  Mobile  Vision  API dapat  mendeteksi  barcode  secara real  time dalam  segala orientasi.  Format  barcode  yang  dapat  dibaca  oleh  API yaitu  EAN-13,  EAN-8,  Code-39,  Code-93,  Code-128, UPC-A, UPC-E, ITF, dan Codabar.
Barcode scanner ditambahkan dengan cara memasukkan  library  barcode  scanner  pada  project. Kemudian  karena  library  yang  digunakan  memerlukan Google  Mobile  Vision  API  maka  perlu  ditambahkan
terlebih  dahulu  dengan  cara  menambahkan  dependency pada project aplikasi [8].

## D. RESTful Web Service
REST  atau  Representational  State Trasnfer  merupakan salah  satu  jenis  web  service  yang  pertama  kali diperkenalkan  pada  tahun  2000  oleh  Roy  Fielding  [9]. REST  merupakan  standar  dalam  arsitektur  web  yang menggunakan protocol HTTP untuk pertukaran data  [10]. Web  service  adalah  salah  satu  bentuk  sistem  perangkat lunak yang didesain untuk mendukung interaksi mesin ke mesin  melalui  jaringan  [11].  Sistem  web  service memungkinkan  sebuah  fungsi  yang  ada  di  dalam  web service  dapat  digunakan  oleh  aplikasi  lain  tanpa  perlu mengetahui detail pemrograman yang terdapat didalamnya. Contoh implementasi dari web service antara lain  adalah  SOAP  dan  REST. Sistem  yang  menggunakan arsitektur dari  REST dapat disebut dengan RESTful  Web service [12].
Cara  kerja  dari  RESTful  web  service  yaitu  client mengirimkan  sebuah  data  atau  request  melalui  HTTP request  dan  kemudian  server  merespon  melalui  HTTP response. Komponen dari HTTP request yaitu:
 HTTP method yang digunakan misalnya GET, POST, PUT, DELETE.
 Uniform Resource Identifier (URI) untuk mengidentifikasi lokasi resource pada server.
 HTTP  Version,  menunjukkan  versi  dari  HTTP  yang digunakan, contoh HTTP v1.1.
 Request Header, berisi metadata untuk HTTP request seperti  type  client/browser,  format  yang  didukung oleh client, format dari body pesan.
 Request body, berisi konten dari data. Sedangkan komponen dari HTTP response yaitu:
 Status/Response Code, mengindikasikan status server terhadap resource yang diminta.
 Response  Header,  berisi  metadata  untuk  HTTP Response  seperti  tipe  server,  panjang  konten,  tipe konten, dan waktu response.
 Response  Body,  berisi  konten  dari  data  yang diberikan.

## E. Formula Haversine
Formula  Haversine  adalah  persamaan  yang  digunakan dalam  navigasi.  Formula  Haversine  merupakan  suatu metode  untuk  mengetahui  jarak  antar  dua  titik  dengan memperhitungkan  bahwa  bumi  bukanlah  sebuah  bidang datar  namun  seperti  hukum  haversine  yang  berdasarkan bentuk  bumi  yang  bulat  (spherical  earth)  dengan menghilangkan faktor bahwa bumi sedikit elips (elipsodial factor). Formula  ini  merupakan bentuk persamaan khusus trigonometri  bola,  hukum  haversine,  yang  mencari hubungan  sisi  dan  sudut  pada  segitiga  dalam  bidang  bola [13].
Formula  Haversine  masih  dianggap  baik  untuk perhitungan numeris, bahkan untuk permukaan yang kecil. Berikut merupakan Rumus Haversine yang dipublikasikan
oleh  Roger  Sinnott  pada  majalah  Sky  &  Telescope  pada tahun 1984 (“Virtues of the Haversine”) [14].
Δlat = lat2-lat1 Δlng = lng2-lng1 a = sin²(Δlat/2) + cos(lat1) * cos(lat2) * sin²(Δlng/2) c = 2 ⋅ atan2(√a, √(1-a)) d = R ⋅ c Keterangan : R = jari-jari bumi sebesar 6371(km) Δlat   = besaran perubahan latitude
Δlng = besaran perubahan longitude c = kalkulasi perpotongan sumbu
d = jarak (km)

## F. Google Places API
Google  Places  API  memungkinkan  pengguna  untuk mengirimkan query untuk informasi tempat pada berbagai kategori, seperti perusahaan, lokasi geografis, dan banyak lagi.  Layanan  ini  menggunakan HTTP  requests untuk memberikan  informasi  berbagai  tempat.  Google  Places API  memungkinkan  untuk  melakukan  pencarian  tempat terdekat maupun pencarian berdasarkan teks [15].
Permintaan  pencarian  untuk  tempat  dengan  jenis groceries  dalam  radius  500  m  dari  Gedung  Informatika Untan,  Pontianak,  yang  berisi  kata  market  dalam  nama tempat  yang  dicari  dengan  menggunakan HTTP request ke Google Places API sebagai berikut: https://maps.googleapis.com/maps/ api/place/nearbysearch/json? location=-
0.055623,109.348594 &radius=500&type=groceries&keyword=market&key=A PI_KEY. Pada penelitian ini titik  lokasi untuk  melakukan request pencarian  akan  diambil  dengan  menggunakan Current  Place  pada  Places  SDK  untuk  dikirimkan  pada permintaan terdekat.

## G. Google Places SDK For Android
Places SDK untuk Android memungkinkan pengembang  aplikasi  untuk  membangun  location-aware apps  yang  merespon  secara  kontekstual  terhadap  bisnis lokal  dan  berbagai  tempat  lain  yang  ada  disekitar perangkat.  Beberapa  fitur  yang  disediakan  oleh  Places SDK untuk android yaitu Places yang menyediakan akses ke  basis  data  Google  tentang  tempat-tempat  lokal  dan informasi  bisnis  serta  lokasi  perangkat  sekarang    melalui kode  program  dan  Autocomplete  yang  menyediakan widgets  untuk  menampilkan  prediksi  tempat  sebagai respon dari kueri pencarian oleh user [16].
Place  Picker  adalah  suatu  fitur  yang  memungkinkan pengguna  bisa  melihat  tempat-tempat  yang  ada  disekitar lokasi  pengguna.  Cara  kerja  place  picker  yaitu  dengan menggunakan  interface  UI  yang  sudah  disediakan  oleh Google, kemudian menggunakan intent untuk menjalankan fungsi place picker. Ketika dijalankan, place picker  akan  mendeteksi  koordinat  lokasi  pengguna  dan kemudian  menampilkan  lokasi-lokasi  lain  yang  berada disekitar  pengguna.  Setelah  itu  pengguna  dapat  memilih satu  lokasi  tertentu  dan  mengambil  data  lokasi  yang
dipilih tersebut. Pada penelitian ini place picker digunakan pada  aplikasi  untuk  memudahkan  pengguna  aplikasi memasukkan  informasi  tempat  belanja  ketika  membuat catatan belanja.

## H. Unified Modelling Language
Untuk  membantu  dalam  pengembangan  perangkat lunak  dikenal  istilah  pemodelan.  Salah  satu  pemodelan yang  saat  ini  paling  banyak  digunakan  oleh  pengembang perangkat  lunak  adalah  UML  ( Unified  Modelling Language ).  UML  adalah  standar  bahasa  yang  sering digunakan  dalam  bidang  industri  untuk  mendefinisikan requirement  (kebutuhan),  membuat  analisis  dan  desain, serta  menggambarkan  arsitektur  dalam  pemrograman berorientasi objek [17].
1. Use Case Diagram
Use  case  diagram  merupakan  pemodelan  untuk kelakuan  (behaviour)  sistem  yang  akan  dibuat.  Use case  mendeskripsikan  sebuah  interaksi  antara  satu atau lebih aktor dengan sistem yang akan dibuat. Use case  digunakan  untuk  mengetahui  fungsi  apa  saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut [17].
2. Activity Diagram Diagram aktivitas atau activity diagram menggambarkan  workflow  (aliran  kerja) atau aktivitas  dari  sebuah  sistem  atau  proses  bisnis  atau menu  yang  ada  pada  perangkat  lunak.  Perlu diperhatikan bahwa diagram
aktivitas menggambarkan  aktivitas  sistem  bukan  apa  yang dilakukan  aktor,  jadi  aktivitas  yang  dapat  dilakukan oleh sistem [17].
3. Class Diagram
Diagram  kelas  atau  class  diagram  menggambarkan struktur  sistem  dari  segi  pendefinisian  kelas-kelas yang  akan  dibuat  untuk  membangun  sistem.  Kelas memiliki  apa  yang  disebut  atribut  dan  method  atau operasi.  Atribut  merupakan  variabel-variabel  yang dimiliki oleh suatu kelas. Operasi atau method adalah fungsi-fungsi yang dimiliki oleh suatu kelas [17].
4. Sequence Diagram
Diagram  sekuen  menggambarkan  kelakuan  objek pada  use  case  dengan  mendeskripsikan  waktu  hidup objek  dengan  message  yang  dikirimkan  dan  diterima antar  objek.  Menggambarkan  diagram  sekuen  harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu [17].

## III. P ERANCANGAN S ISTEM

## A. Perancangan Arsitektur Sistem
Adapun  arsitektur  sistem  yang  akan  dibangun  dapat dilihat pada Gambar 1.

## Gambar. 1 Arsitektur sistem
Berdasarkan  Gambar.  1  proses  yang  terjadi  yaitu masyarakat  yang  menggunakan  aplikasi  catatan  belanja akan  membuat  catatan  hasil  belanjaan  dari  struk  belanja yang  diterima  dari  tempat  belanja.  Ketika  menginputkan tempat belanja aplikasi akan melakukan request ke Places API  dan  akan  memberikan  response  data  tempat  berupa JSON  untuk  ditampilkan  pada  maps  atau  ditampilkan dalam  bentuk  list  yang  dapat  dipilih  oleh  pengguna. Semua  item  produk  diinputkan  beserta  barcode  produk, nama  produk,  dan  harganya.  Kemudian  data  catatan belanja  tersebut  disimpan  ke  dalam  basis  data  SQLite yang  berfungsi  sebagai  penyimpanan  lokal.  Kemudian jika  terhubung  ke  internet,  catatan  belanja  akan  disimpan ke  MySQL  database  pada  server  dan  dapat  diakses  oleh pengguna lain melalui aplikasi dengan melakukan request ke  server  dan  server  akan  memberikan  response  data harga terendah berupa JSON untuk kemudian ditampilkan oleh  aplikasi.  Jika  banyak  masyarakat  yang  melakukan pencatatan  belanja  pada  aplikasi,  maka  akan  terhimpun data  produk  beserta  harganya.  Dengan  demikian  konsep partisipasi  masyarakat  dapat  menghasilkan  data  produk dengan informasi harga terbaru.
Web  catatan  belanja  yang  ditampilkan  pada  web browser  merupakan  sebuah  admin  panel  yang  digunakan sebagai  pengelola  data  produk  yang  digunakan  pada aplikasi untuk memudahkan pengguna dalam menambahkan item catatan belanja.

## B. Use Case Diagram
Berikut  merupakan use  case  diagram (Gambar  2)  dari sistem rekomendasi layanan harga produk terendah.

## C. Entity Relationship Diagram
Entity  Relationship  Diagram  merupakan  suatu  teknik grafis  yang  menggambarkan  skema  basis  data.  Diagram ini  terdiri  dari  sekumpulan  objek  dan  relasi  antar  objek tersebut,  serta  dapat  digunakan  untuk  menggambarkan relasi  antara  dua  entitas  atau  lebih  [18].  Secara  umum gambaran  basis  data  yang  akan  dibuat  dapat  dilihat  pada Gambar 3.
Gambar. 2 Use case diagram Gambar. 3 Entity relation diagram sistem

## D. Struktur Antarmuka Sistem
Antarmuka  merupakan  tampilan  dari  suatu  program aplikasi  yang  berperan  sebagai  sarana  interaksi  antara program dengan user.
Gambar. 4 Struktur antarmuka sistem

## E. Hasil Perancangan
Sistem  yang  dihasilkan  merupakan  aplikasi  catatan belanja  yang  dapat  menghasilkan  rekomendasi  harga produk  terendah  berbasis  Android  yang  dibangun menggunakan Android Studio dengan bahasa pemrograman  java  dan  sebuah  website  admin  untuk mengelola  data  master  produk.  Dalam  implementasinya, aplikasi  catatan  belanja  dilengkapi  dengan barcode scanner untuk  memudahkan pengguna  menginput produk pada  catatan  belanjanya.  Aplikasi  ini  dibangun  dalam bentuk  aplikasi  catatan  belanja  agar masyarakat memberikan  data  harga  yang  benar  dan  memudahkan masyarakat  dalam  mendapatkan  rekomendasi  belanja dengan harga terendah yang dapat diseleksi dan diurutkan berdasarkan  ketersediaan  produk,  total  belanja  terendah,
atau  toko  terdekat  sesuai  keinginan  pengguna.  Berikut beberapa tampilan hasil perancangan sistem.
Gambar  4  merupakan  halaman dashboard admin  yang dapat  diakses  oleh  admin  setelah  login.  Admin  dapat mengelola  data  master  produk  dan  melihat  data  yang sudah ditambahkan dengan  memilih  menu  yang ada pada sidebar.
Gambar. 4 Halaman dashboard website admin
Gambar  5  merupakan  tampilan  menu  utama  pada aplikasi  yang  terletak  pada bottom  navigation  view terdapat  5  menu  utama  yaitu  catatan,  rekomendasi, bantuan, cari, dan akun.
Gambar. 5 Antarmuka menu utama
Gambar  6  merupakan  tampilan  catatan  belanja  pada aplikasi.  Pengguna  dapat  membuat  catatan  belanja  baru dengan  menekan  tombol  tambah  dan  membuka  catatan dengan  memilih  salah  satu  catatan  yang  sudah  dibuat untuk menambahkan item belanja.
Gambar  7  merupakan  tampilan  rencana  belanja  pada aplikasi.  Pengguna  dapat  membuat  rencana  belanja  baru dengan  menekan  tombol  tambah  dan  membuka  catatan dengan  memilih  salah  satu  rencana  yang  sudah  dibuat untuk menambahkan item belanja.

## Gambar. 6 Antarmuka catatan belanja

## Gambar. 7 Antarmuka rencana belanja
Gambar  8  merupakan  tampilan  detail  rencana  belanja. Pada  halaman  ini  pengguna  dapat  menambahkan  item belanja  dan  melihat  rekomendasi  setelah  menambahkan item belanja. Rekomendasi juga dapat dilihat dengan cara memilih menu rekomendasi pada Gambar 5.
Gambar. 8 Antarmuka detail rencana belanja
Gambar  9  merupakan  tampilan  rekomendasi  yang secara default diurutkan  berdasarkan  ketersediaan  produk terbanyak,  total  terendah,  dan  toko  terdekat  dengan maksimal  jarak 8 km dari  lokasi pengguna. Rekomendasi tersebut kemudian dapat  diurutkan dan ditentukan jumlah minimal  ketersediaan  produk  dan  jarak  maksimal  toko rekomendasi dari lokasi pengguna.
Gambar. 9 Antarmuka rekomendasi harga terendah per total belanja
Gambar  10  merupakan  tampilan  rekomendasi  harga produk terendah. Rekomendasi ini merupakan rekomendasi harga terendah hanya pada satu produk yang dicari oleh pengguna. Rekomendasi harga ini ditampilkan
dengan  urutan  berdasarkan  harga  terendah  dan  toko terdekat.
Gambar. 10 Antarmuka rekomendasi harga terendah per produk
F. Hasil Pengujian
1. Pengujian Harga Terendah
Pengujian harga terendah dilakukan dengan membandingkan  data  riwayat  harga  yang  ada  pada  basis data  dan  melihat  hasil  harga  terendah  yang  ditampilkan pada  aplikasi  untuk  melihat  rekomendasi  harga  yang ditampilkan  aplikasi  merupakan  harga  terbaru  dan terendah serta terurut berdasarkan toko terdekat jika harga produk sama.
Gambar  11  merupakan  data  riwayat  harga  suatu produk yang ada pada basis data.
Gambar. 11 Data uji harga terendah Ever E Vit-E 250
Gambar 12 merupakan data rekomendasi yang ditampilkan  pada  aplikasi.  Data  yang  ditampilkan  pada aplikasi  sudah  merupakan  harga  produk  terbaru  dan terendah  serta  berurutan  berdasarkan  jarak  terdekat  jika harga produk sama.

## 2. Pengujian Jarak Terdekat
Pengujian  dilakukan  dengan  membandingkan  antara jarak  hasil  perhitungan  formula  haversine  dengan  jarak hasil  perhitungan google  maps untuk  mendapatkan  hasil yang  efektif.  Perbandingan  (Tabel  1)  dilakukan  dengan menggunakan koordinat default yaitu Gedung Informatika Untan, Pontianak.
Gambar. 12 Hasil pengujian harga terendah Ever E Vit-E 250 pada aplikasi TABEL I
H ASIL P ERBANDINGAN P ERHITUNGAN F ORMULA H AVERSINE D ENGAN
G OOGLE M APS
No Nama Toko
Jarak Haversine (Km) Jarak Google Maps (Km) Selisih 1 Taman Untan Pontianak 0.33 0.05 0.28 2 Hypermart Mega Mall Pontianak 0.39 0.55 0.16 3 Alma Convenience Store 0.77 0.63 0.14 4 Indomaret Sepakat II 0.78 0.59 0.19 5 Indomaret Tanjung Pura 1.97 2.00 0.03 6 Ligo Mitra 2.45 2.56 0.11 7 Indomaret Sungai Raya Dalam ll/ A2 2.68 2.56 0.12 8 Kaisar Supermarket And Department Store 3.12 3.23 0.11 9 Sim Jaya Abadi 3.44 3.29 015 10 Johar 10 Indomaret 3.57 3.75 0.18 11 INDOMARET Urip 3.61 3.74 0.13 12 Indomaret Alianyang 3.66 3.87 0.21 13 Indomaret Panglima Aim 3.58 3.44 0.14 14 Indomaret Merdeka 4.15 4.33 0.18 15 Alfamart Gusti Situt Mahmud 4.67 4.61 0.06

## 3. Pengujian Bitbar
Pengujian  dengan  menggunakan  sistem  bitbar dilakukan pada tiga perangkat yaitu Google Pixel-US, LG Google  Nexus  5  6.0.1,  dan  LG  Google  Nexus  5  D820. Berikut  ini  merupakan  hasil  pengujian  pada  perangkat Google Pixel-US.
Gambar  13  merupakan  hasil  pengujian  analisis  yang dilakukan  oleh  sistem  bitbar  didapatkan  hasil  100%, menyatakan  bahwa  seluruh  metode  di  dalam  aplikasi dapat  berjalan. Selanjutnya  yaitu pengujian tahapan tanpa mengalami  error  didapatkan  hasil  pengujian  yaitu  100% yang  menunjukkan  seluruh  tahapan  yang  dilakukan aplikasi berjalan tanpa gangguan.
Gambar. 13 Hasil pengujian analisis
Gambar  14  merupakan  hasil  pengujian  performa  atau penggunaan CPU.
Gambar. 14 Hasil pengujian performa aplikasi

## 4. Kuesioner
Pengujian  kuesioner  digunakan  menguji  tingkat penerimaan  pengguna  terhadap  sistem  dengan  cara memberikan beberapa pertanyaan tertulis kepada responden untuk dijawab. Kuesioner dibagikan kepada 30 responden  yang  merupakan  pengguna  Android.  Tabel  2 merupakan total skor dari kuesioner  yang telah dibagikan kepada 30 responden.
TABEL II T OTAL S KOR R ESPONDEN DARI K UESIONER
Resp onde n Item Tot al 1  2  3  4  5  6  7  8  9 1 0 1 1 1 2 1 3 1 5 5 5 5 5  5  5  5  5  5  5  5  5  65 2 5 5 5 5 5  5  5  5  5  5  5  5  5  65 3 5 5 5 5 5  5  5  5  5  5  5  5  5  65
4 4 4 4 4 4  4  4  4  4  4  4  4  4 52 5 5 4 5 5 4  4  4  5  4  5  3  4  4 56 6 5 4 4 5 4  4  4  5  3  5  4  4  5 56 7 4 4 5 4 3  4  3  4  4  4  4  3  4 50
8 5 5 5 5 5  5  5  5  5  5  5  5  5 65
9 5 5 5 5 5  5  5  5  5  5  5  5  5 65
10 4 4 4 3 4  3  3  3  4  5  3  3  4 47
11 3 4 4 4 4  4  4  4  4  4  4  4  4 51

## JUSTIN (Jurnal Sistem dan Teknologi Informasi) Vol. 8, No. 1, Januari 2020
Resp onde n Item Tot al 1  2  3  4  5  6  7  8  9 1 0 1 1 1 2 1 3 12 5 5 5 4 4  5  4  5  5  5  5  5  5 62 13 3 4 3 4 4  4  4  4  4  4  4  4  4 50 14 4 4 5 5 5  5  4  5  5  4  4  5  5 60 15 5 4 4 5 3  3  4  3  4  4  4  5  4 52 16 5 4 5 5 5  5  5  4  5  5  5  4  5 62 17 4 3 4 4 5  3  4  3  5  4  4  4  5 52 18 5 4 4 4 5  4  5  4  4  4  4  4  4 55 19 4 4 4 3 3  3  3  3  4  4  4  4  3 46 20 4 4 5 4 3  4  4  4  3  4  4  3  3 49 21 4 5 5 5 3  3  4  5  5  4  5  5  5 58 22 5 5 5 4 5  4  5  4  5  5  4  4  5 60 23 4 3 5 3 4  3  3  4  5  4  5  4  3
50
24 5 5 5 4 5  5  5  4  5  5  5  4  5
62
25 5 5 5 5 5  5  5  5  5  5  5  5  5 65 26 4 4 5 4 5  4  4  5  4  5  3  4  5 56 27 5 4 4 5 4  4  4  5  5  5  5  4  5 59 28 5 4 4 5 4  4  4  5  4  4  5  5  4 57 29 4 4 4 4 4  4  4  4  5  4  4  4  4 53 30 5 5 5 4 4  4  4  4  5  4  4  4  4
56
Total
1701
Gambar. 14 Hasil kuesioner pada interpretasi Likert’s Summated Rating
(LSR)

## G. Analisis Hasil Pengujian
Rincian hasil analisis pengujian aplikasi catatan belanja yang telah dilakukan adalah sebagai berikut:
1. Hasil  pengujian  fungsional  yang  dilakukan  dengan menggunakan sistem oleh perusahaan Bitbar menunjukkan semua metode yang ada dalam aplikasi dapat berjalan dengan lancar.
2. Hasil  pengujian  memori  dan  cpu  usage  yang dilakukan  oleh  sistem  dari  perusahaan  Bitbar menunjukkan  aplikasi  catatan  belanja  menggunakan banyak memori untuk menjalankan aplikasi.
3. Hasil pengujian jarak terdekat yang dilakukan dengan membandingkan  hasil  perhitungan  formula  haversine dan  hasil  perhitungan  jarak  Google  Maps  API menunjukkan  bahwa  sistem  menghasilkan  akurasi yang  cukup  baik  dalam  menentukan  jarak  terdekat antara pengguna dan toko.
4. Hasil  pengujian  harga  terendah  menunjukkan  sistem dapat  menampilkan  harga  produk  terendah  yang merupakan harga terbaru yang ada pada basis data.
5. Berdasarkan hasil kuesioner, secara umum responden menerima dengan baik aplikasi catatan belanja dalam penelitian yang dilakukan.
6. Hasil  pengujian  kuesioner  yang  diukur  dengan metode Likert’s Summated Rating (LSR) menunjukkan  responden  menilai  aplikasi  yang dibagun dengan “sangat baik” dengan skor 1701.

## IV. K ESIMPULAN
Berdasarkan  hasil  analisis  dan  pengujian  terhadap aplikasi  catatan  belanja  untuk  menghasilkan  rekomendasi harga  produk  terendah,  maka  dapat  ditarik  kesimpulan sebagai berikut:
1. Pendekatan  partisipasi  masyrakat  digunakan  untuk mendapatkan  data  produk  yang  terbaru  berdasarkan catatan  belanja  tiap  pengguna  pada  aplikasi  catatan belanja yang telah dibuat di penelitian ini.
2. Berdasarkan hasil pengujian, aplikasi dapat digunakan  untuk  melakukan  pencatatan  belanja  dan melihat  rekomendasi  harga  terendah  produk  dari berbagai  toko  terdekat.  Sistem  dapat  menghasilkan rekomendasi  harga  produk  terendah  yang  sesuai  dan merupakan  harga  terbaru  yang  ada  pada  basis  data. Sistem  juga  menghasilkan  jarak dengan akurasi  yang cukup baik dalam menentukan jarak antara pengguna dan toko.
3. Hasil  kuesioner  yang  dihitung  dengan  metode Likert’s  Summated  Rating  menunjukkan  responden menilai  aplikasi  yang  dibagun  dengan  “sangat  baik” dengan skor 1701.
R EFERENSI
[1] Mediakonsumen.com,  “Konsumen  melakukan  Riset  Online Meskipun Berbelanja Secara Offline,” 2016. [Online]. Available: https://mediakonsumen.com/2016/09/23/dunia-konsumen/92- konsumen-melakukan-riset-online-meskipun-berbelanja-secara- offline.
[2] Collinsdictionary.com,  “Collins  English  Dictionary,”  2018.
[Online]. Available: https://www.collinsdictionary.com/dictionary/english/shopping- list.
[3] P.  Nurmi,  A.  Forsblom,  and  P.  Floréen,  “Grocery  product recommendations from natural language inputs,” in Lecture Notes in  Computer  Science  (including  subseries  Lecture  Notes  in Artificial Intelligence and Lecture Notes in Bioinformatics), 2009.
[4] W. Wijaya, Kamus Lengkap Inggris-Indonesia. 2004.
[5] S.  Y.,  Pembangunan  Masyarakat  Berwawasan  Partisipasi. Surakarta: Sebelas Maret University Press, 1994.
[6] O.  Soleh,  D.  Sopiyan,  V.  Ristiandana,  and  A.  Zaeni,  “Aplikasi Pemanfaatan Barcode Untuk Transaksi di Perpustakaan SMAN 18 Kabupaten Tangerang,” Semin. Nas. Sist. Inf. Indones., 2013.
[7] S.  Saghranie  Daulay,  “Hubungan  BARCODE  dengan  Produk Industri  Sebagai  Standar  Perdagangan  Produk  Industri  Masa Kini,” 2010.
[8] A. Maurya, “Barcode Reader Using Google Vision Api.” [Online]. Available: https://github.com/avaneeshkumarmaurya/Barcode- Reader.
[9] R. T. Fielding, “Architectural Styles and the Design of Network- based Software Architectures,” 2000.
[10]  L.  Richardson  and  S.  Ruby,  RESTful  Web  Services,  1  edition. O’Reilly Media, 2007.
[11]  World  Wide  Web  Consortium,  “Web  Services  Architecture,” 2004. [Online]. Available: https://www.w3.org/TR/ws-arch/.
[12]  C. J. Su and C. Y. Chiang, “Enabling successful Collaboration 2.0:
A  REST-based  Web  Service  and  Web  2.0  technology  oriented information  platform  for  collaborative  product  development,”
Comput. Ind., 2012.
[13]  W.  Setiawan,  “Formula  Haversine,”  2014.  [Online].  Available: https://wirasetiawan.blog/2014/08/18/formula-haversine/.
[14]  C.  Veness,  “Calculate  distance,  bearing  and  more  between Latitude/Longitude points,” 2002. [Online]. Available: http://www.movable-type.co.uk/scripts/latlong.html.
[15]  Google.com,  “Google  Places  API,”  Google  Developers,  2014.
[Online].  Available:  https://developers.google.com/places/web- service/search.
[16]  Google.com,  “Places  SDK  for  Android.”  [Online].  Available: https://developers.google.com/places/android-sdk/placepicker.
[17] R. A.S and M. Shalahuddin, Rekayasa Perangkat Lunak
Terstruktur dan Berorientasi Objek . Bandung: Informatika, 2014.
[18]
Jogiyanto, Analisis Dan Desain Sistem Informasi . Yogyakarta: Andi, 2005.