## Sistem Pencarian Penginapan Di Kota Takengon Menggunakan Metode Quick Sort Dan Haversine Formula Berbasis Android
Muhammad Rizka 1 , Hendrawaty 2 ,Farhanul Khair 3 , Amirullah 4 ,
1, 2, 3,4 Jurusan Teknologi Informasi dan Komputer Politeknik Negeri Lhokseumawe
1 rizka@pnl.ac.id, 2 hendrawaty@pnl.ac.id, 3* farhanulrock1@gmail.com, 4 amir@pnl.ac.id
Abstrak — Kota Takengon merupakan salah satu tempat yang sering dikunjungi para wisatawan dalam menikmati keindahan bukit, danau dan keindahan  alam  lainnya.  Maka  dari  itu  para  wisatawan  membutuhkan  penginapan  sebagai  tempat  beristirahat,  namun  tidak  semua  tempat penginapan memiliki kamar tersedia dan hal ini membuang banyak waktu wisatawan untuk menanyakan (door to door) ada tidaknya kamar tersedia setiap penginapan. Untuk mengatasi adanya permasalahan tersebut penulis berinisiatif membuat sistem pencarian penginapan dengan mencantumkan  beberapa  informasi  diantaranya:  informasi  umum  penginapan  ,  kamar  pengniapan  yang  tersedia  ,  jumlah  kamar,  jarak penginapan  dari  lokasi  wisatawan  dan  harga  penginapan.  Dalam  penelitian  ini  informasi  kamar  penginapan  yang  tersedia  akan  diurutkan menggunakan  algoritma  Quick  Sort  sehingga  para  wisatawan  mendapatkan  informasi  penginapan  mana  saja  yang  memiliki  paling  sedikit kamar  tersedia.  Dan  algoritma  Haversine  Formula  untuk  menghitung  serta  mendapatkan  jarak  antara  posisi  wisatawan  dengan  posisi penginapan.  Sistem  ini  dapat  memberi  hak  akses  pada  operator dan  pemilik  setiap  penginapan untuk bisa  meng-update data  kamar  tersedia dan  juga  dapat  meng-input  kan  data  wisatawan  serta  dapat  melihat  laporan  wisatawan  masing-masing  penginapannya.  Sistem  ini  juga memiliki fitur maps antara wisatawan dengan penginapan menggunakan google maps API untuk menampilkan rutenya. Data penginapan yang didapatkan pada kota Takengon sebanyak 12 penginapan. Pengujian jarak dilakukan dari pusat kota Takengon dengan setiap masing masing penginapan sehingga didapatkan bawah jarak terdekatnya adalah penginapan Hotel Bunda.
Kata kunci — Penginapan, Quick Sort, Haversine Formula, Google Maps API
Abstract— Takengon City is one of the places frequented by tourists to enjoy the beauty of hills, lakes and other natural beauty. Therefore, tourists need lodging as a place to rest, but not all lodging places have available rooms and this wastes a lot of tourists' time asking (door to door)  whether  or  not  rooms  are  available  for  each  inn.  To  overcome  these  problems,  the  author  took  the  initiative  to  create  an  inn  search system  by  including  some  information  including:  general  information  on  lodging,  available  lodging  rooms,  number  of  rooms,  distance  of lodging from tourist locations and lodging prices. In this study, the available lodging room information will be sorted using the Quick Sort algorithm  so  that  tourists  get  information  on  which  lodging  has  the  least  number  of  rooms  available.  The  Haversine  Formula  algorithm  to calculate and get the distance between the isatawan position and the inn position. This system can give access rights to operators and owners of each inn to be able to update available room data and can also input tourist data and can view tourist reports for each inn. Lodging data obtained in the city of Takengon as many as 12 inns. The distance test is carried out from the center of Takengon with each inn so that it is found that the closest distance is the Bunda Hotel inn.
Keywords — Lodging, Quick Sort, Haversine Formula, Google Maps API

## I. P ENDAHULUAN
Kota  Takengon  merupakan  ibu  kota  dari  kabupaten  Aceh Tengah. Kota Takengon atau biasa dikenal dengan kota dingin dikarenakan  berada  pada  ketinggian  ±1200m  di  atas permukaan  laut.  Kota  Takengon  juga  mempunyai  banyak lokasi wisata baik danau maupun pegunungan yang indah dan bagus.
Para  wisatawan  yang  ingin  menikmati  indahnya  kota Takengon  tidak  mungkin  hanya  menghabiskan  waktu  sehari saja  akan  tetapi  berhari  hari.  Wisatawan  tentunya  akan mencari  tempat  penginapan  yang  kosong  atau  tersedia  untuk ditempati,  keadaan  ini  akan  banyak  menghabiskan  waktu untuk  mencarinya.  Permasalahan  lainnya,  memakan  waktu yang  banyak  jika  kita  menanyakan  satu  persatu  tempat penginapan  yang  ada  pada  warga  Takengon  setempat. Kesulitan mendapat informasi pencarian penginapan disebabkan  kurangnya  informasi  tentang  penginapan  mana yang  tersedia  dan  dekat  posisinya  dengan  lokasi  wisatawan tersebut.
Adapun  informasi  yang  didapatkan  dari  media  internet berupa  aplikasi  maupun  website,  nama  penginapan  di Takengon  tidak  banyak  hanya  menampilkan  informasi penginapan yang terkenal di kota Takengon saja dan informasi yang  didapatkan  tidak  lengkap  hanya  berupa  nama penginapan,  alamat,  lokasi,  desktipsi,  dan  informasi  umum
lainnya  serta  pada  aplikasi  lainnya  untuk  mengetahui informasi  kesediaan  kamar  terlebih  dahulu  melakukan  proses booking,  hal  ini  sangat  tidak  praktis  untuk  wisatawan  yang sedang berada di kota Takengon,.
Maka  para  wisatawan  memerlukan  sistem  informasi  yang memudahkan  para  wisatawan.  Sistem  informasi  merupakan penyajian  informasi  yang  bermanfaat  bagi  penerimanya dengan tujuan untuk memberikan informasi [1].
Sistem informasi ini menggunakan metode quicksort untuk mengurutkan  tempat  penginapan  yang paling banyak  tersedia (kamar  kosong).  Quick  Sort  adalah  algoritma  yang membandingkan elemen (pivot) dengan elemen yang lain dan menyusunnya  dalam  bentuk  tertentu  sehingga  terbentuk  dua sublist kiri dan sublist kanan dari pivot tersebut [2].
Algoritma Haversine Formula digunakan untuk mendapatkan informasi jarak dari posisi wisatawan ke tempat peginapan  yang  di  tuju.  Formula  Haversine  digunakan  untuk mengetahui  jarak  antar  dua  titik  dengan  memperhitungkan bahwa  bumi  bukanlah  sebuah  bidang  datar  namun  adalah sebuah bidang yang memilki derajat kelengkungan, perhitungannya  mengabaikan  efek  ellipsoidal,  mengabaikan tinggi bukit dan rendah lembah di permukaan bumi [3].
Sistem  pencarian  penginapan  ini  juga  dilengkapi  dengan informasi  tambahan, diantaranya  alamat, harga dan  informasi umum  lainnya,  yang  dibangun  dengan  berbasis  android.
Sistem  ini  menggunakan  database  NoSQL,  yaitu  firebase. Firebase  merupakan  sebuah  BaaS  (Backend  as  a  Services) yang  diproduksi  oleh  google.  Firebase  pada  tahun  saat  ini memiliki  fitur-fitur  ‘build’  diantaranya  Firebase  Auth,  Cloud Firestore,  Firebase  Realtime  Database,  Storage,  Hosting, Function dan Machine learnig [4].
Dalam  menggunakan  sistem  pencarian  ini,  wisatawan meng-aktifkan  terlebih  dahulu  lokasinya  (fitur  GPS)  agar sistem  bisa  mendapatkan  titik  koordinat  wisatawan  yang fungsinya  untuk  menghitung  dan  mendapatkan  jarak  dari wisatawan ke tempat penginapan [5].
Informasi  jarak  akan  ditampilkan  dalam  pemetaan,  sistem ini  menggunakan  pemetaan  google  maps  API  [6].  Aplikasi pada  sistem  ini,  kamar  akan  di  update  secara  realtime, sehingga  wisatawan  tidak  perlu  door  to  door  untuk menanyakan  disetiap  tempat  penginapan  apakah  ada  kamar yang  tersedia  atau  tidak,  tentunya  memudahkan  serta menghemat  waktu  wisatawan  para  wisatawan  dalam menemukan informasi tempat penginapan yang ingin dituju.

## II. M ETODOLOGI P ENELITIAN
A. Pengumpulan Data Pengumpulan data dengan menggunakan metode eksplorasi dari  internet  dan  juga  wawancara  secara  langsung  mengenai informasi  umum  penginapan  di  Takengon  pada  masing- masing penginapan. Informasi yang dikumpulkan dari sebuah penginapan  diantaranya,  nama  penginapan,  jumlah  seluruh kamar  di  penginapan,  jenis-jenis,  harga  setiap  jenis penginapan  yang  ada,  titik  koordinat  penginapan,  alamat penginapan, nomor yang bisa dihubungi dan informasi khusus dari  penginapan  serta  gambar  dokumentasi  penginapan  yang dipilih.  Hasil  pengumpulan  data  yang  telah  dilakukan dilakukan  kemudian  diolah  menjadi  sebuah  sistem  informasi yang ditetapkan pada sistem yang di kerjakan.
B. Flowchart Quick Sort
Berikut  Gambar  1  merupakan  flowchart  quicksort  yang beroperasi pada sistem pencarian penginapan.

## Gambar 1. Flowchart Quick Sort
Algoritma  ini  terdapat  banyak  perulangan  seperti  yang dijelaskan, perulangan pada algoritma quick sort akan berhenti
jika  data  sudah  berurutan  secara  sesuai  yaitu  dari  terkecil  ke terbesar.  Yang  mana  algoritma  ini  akan  diterapkan  untuk menampilkan kamar yang tersedia atau kosong pada hotel.
C. Flowchart Haversine Formula
Berikut  Gambar  2  merupakan  flowchart  dari  Haversine Formula  dalam  mencari  nilai  jarak  antara  dua  titik  koordinat yang  digunakan  dalam  sistem  pencarian  penginapan. Algoritma  ini  dapat  bekerja  saat  dua  titik  koordinat  di inputkan, yaitu titik koordinat awal dan titik koordinat tujuan.
Gambar 2. Flowchart Haversine Formula

## D. Data Flow Diagram
Data  Flow  Diagram  (DFD)  merupakan  perincian  dari diagram  konteks  yang  lebih  jelas,  berikut  Gambar  3  Data Flow  Digram  pada  sistem  pencarian  penginapan  berdasarkan diagaram konteks sebelumnya.
Gambar 3. Diagram Konteks Sistem Pencarian Penginapan
E. Perancangan Database Aplikasi  ini  menggunakan  database  No  SQL  berupa firebase  sebagai  Database  Management  System  nya  yaitu tidak  memiliki  relasi  seperti  SQL  pada  umunya.  Berikut Gambar 4 merupakan rancangan basis data dari aplikasi ini.
Gambar 4. Database Sistem Pencarian Penginapan

## III. H ASIL DAN P EMBAHASAN
Bab hasil dan pembahasan membahas tentang implementasi user  interface  pada  aplikasi  yang  telah  dibangun  serta pengujian  black  box  dan  performance  aplikasi  sistem pencarian penginapan ini A. Implementasi User Interface Implementasi user  interface merupakan  implementasi antarmuka  antara  pengguna  dengan  aplikasi  yang  sudah dirancang  pada  subbab user  interface dengan  tujuan memudahkan para pengguna menggunakan  sistem  yang  telah dibangun.
1. Halaman Utama
Halaman  Utama  merupakan  halaman  untuk  wisatawan yang ingin mencari penginapan, halaman ini tidak memerluka proses  login.  Pada  halaman  ini  menampilkan  penginapan penginapan  dengan  informasi  kamar  yang  tersedia  dan  juga informasi  umum  yang  penting  lainnya.  Pada  halaman  utama terdapat  tombol  login  pada  sebelah  pojok  kiri  atas  yang  jika ditekan akan menuju ke halaman login, selain itu ada tombol refresh yang akan merefresh halaman utama ini, dan juga ada tombol  urutkan  untuk  mengurutkan  data  kamar  yang  tersedia pada  list  penginapan.  Pada  tombol  ini  akan  melalukan eksekusi  pengurutan  dengan  algoritma  quicksort,  sehingga setelah diurutkan datanya lalu di tampilkan informasi seluruh secara berurut dari terkecil sampai terbesar. Berikut Gambar 5 adalah halaman form registrasi.

## 2. Halaman Informasi Penginapan
Halaman  informasi  penginapan  menampilkanm  infromasi penginapan  berdasarkan  dari  penginapan  yang  di-klik  pada halaman  utama.  Halaman  ini  menampilkan  informasi  detail mengenai  tempat  penginapan  berupa,  nama  penginapan, alamat  penginapan,  gambar  penginapan,  jarak  antara wisatawan  dan  penginapan  yang  didapatkan  nilainya  dari halaman  utama  yang  sudah  dicari  sebelumnya,  fasilitas penginapan,  harga  penginapan,  dan  sebagainya.  Selain informasi  umum  tersebut  terdapat  juga  tombol  yang  menuju ke halaman maps. Dapat dilihat pada Gambar 6 berikut.
Gambar 6. Halaman Info Penginapan
3. Halaman Maps
Pada  halaman  informasi  penginapan  terdapat  tombol  yang menuju  halaman  Maps.  Pada  halaman  ini  terdapat  peta  yang menunjukan  titik  lokasi  wisatawan  titik  lokasi  penginapan, tombol  shortcut  menuju ke  titik  wisatawan  yang  berada  pada sisi  atas  kanan  layar,  tombol  shortcut  menuju  ke  titik penginapan  yang  berada  pada  sisi  kanan  tengah  layar.  Dapat dilihat pada Gambar 7 berikut.

## Gambar 7. Halaman Maps
4. Halaman Operator Penginapan
Pada halaman ini terdapat informasi umum penginapan dan drawer  yang  bersisi  halaman  utama  dan  logout.  Pada  tengah tengah halaman operator terdapat text field dan tombol untuk update kamar yang tersedia pada penginapannya. Dapat dilihat pada Gambar 8 berikut.

## Gambar 8. Halaman Operator Penginapan
B. Pengujan Sistem
Pengujian  yang  dilakukan  pada  sistem    ini  menggunalan dua  teknik  pengujian  yaitu  pengujian    black  box  dan pengujian  white  box.  Pengujian  Black  box  merupakan pengujian  pada  fungsional  user  interface  yang  dibuat  seperti tombol  tombol  dan  navigasi  halaman.  Sedangkan  pengujian White  box  merupakan  adalah  pengujian  mengenai  code  alur algoritma pada pemograman yang digunakan.
1. Pengujian Pengurutan Kamar Tersedia
Pengujian  ini  merupakan  pengujian  yang  dilakukan  untuk mengurutkan  informasi  kamar  yang  tersedia  berdasarkan jenisnya,  secara  otomatis  akan  terurut  dari  kamar  terseida terkecil  sampai  kamar  yang  tersedia  terbesar,  begitu  juga sebaliknya,  dengan  cara  menekan  tombol  yang  telah disediakan  pada  halaman  utama  sistem,  yang  terdapat  pada tengah kanan halaman. Berikut adalah listing program.
Sintak  ini  berfungsi  untuk  mengurutkan  kamar  yang tersedia berdasarkan jenisnya. Pengurutan dimulai dari kamar yang terkecil sampai dengan yang terbesar.
2. Pengujian Jarak Terdekat
Pengujian  jarak  terdekat  antara  penginapan  dan  wisatawan dengan  cara  memasukkan  setiap  titik  koordinat  penginapan dan membandingkan dengan koordinat wisatawan. Wisatawan mendapatkan  informasi  penginapan  yang  saat  ini  dekat dengannya.  Sintak pengujian jarak terdekat terdapat variable lat1,  long1  (latitude  dan  longitude  dari  wisatawan)  dan  lat2 dan  long2  (latitude  dan  longitude  dari  penginapan)  yang diubah  ke  radians  terlebih  dahulu.  Untuk  pemanggilannya menggunakan  sintak  sederhana  yang  terapat  pada  halaman utama.  Untuk  lebih  jelasnya  berikut  merupakan  listing programnya.
Setelah  nilainya  didapat,  maka  dibagi  dengan  1000  untuk mendapatkan nilai dalam satuan jarak kilometer.
C. Analisa Sistem
Berdasarkan  dari  hasil  dan  pembahasan  yang  telah didapatkan  berikut  beberapa  analisis  keseluruhan  sistem  dari hasil dan pembahasan yang telah dibuat :
a. Data Penginapan

## Gambar 9. Grafik Data Penginapan
Gambar  9  merupakan  data  Penginapan  didapatkan  dengan wawancara  langsung  dengan  pihak  penginapan.  Terdapat  12 data  penginapan  dengan  jumlah  kamar  yang  dimilikinya masing  masing.  Dimana  jumlah  kamar  yang  paling  banyak 120 kamar yang terdapat di penginapan Grand Bayu Hill.
Haversine . fromDegrees ( { this . latitude1 , this . longitude1 , this . latitude2 , this . longitude2 }){ this . latitude1 = _radiansFromDegrees ( latitude1 ); this . longitude1 = _radiansFromDegrees ( longitude1 ); this . latitude2 = _radiansFromDegrees ( latitude2 );
this . longitude2 = _radiansFromDegrees ( longitude2 ); _throwExceptionOnInvalidCoordinates ();}
double distance () { double lat1 = this .latitude1; double lon1 = this .longitude1; double lat2 = this .latitude2; double lon2 = this .longitude2;
var EarthRadius = 6378137.0 ; // WGS84 major axis double distance = 2 * EarthRadius * asin ( sqrt ( pow ( sin (lat2 - lat1) / 2 , 2 ) + cos (lat1) * cos (lat2) * pow ( sin (lon2 - lon1) / 2 , 2 ))); return distance / 1000 ;}
void sort (listtobesort, int leftelement, int rig htelement)
{ int i = leftelement;
int j = rightelement; int pivotelement = listtobesort[(leftelement + rightelement) ~/ 2 ]; while (i <= j) { while (listtobesort[i] < pivotelement) { i++; } while (listtobesort[j] > pivotelement) { j--; } if (i <= j) { int objtemp = listtobesort[i]; listtobesort[i] = listtobesort[j]; listtobesort[j] = objtemp; i++; j--; } } if (leftelement < j) { sort (listtobesort, leftelement, j); } if (i < rightelement) { sort (listtobesort, i, rightelement);
}
}
b. Pengujian Jarak
Pengujian jarak dilakukan dari pusat kota Takengon dengan setiap  penginapan  yang  ada  pada  sistem.  Terdapat  12 penginapan, jarak antara penginapan dari pusat kota takengon tidak melebihi 4 Km. Berikut Gambar 10 adalah grafiknya.
Gambar 10. Grafik Data Penginapan

## IV. K ESIMPULAN
Berdasarkan perancangan dan pembuatan Sistem Pencarian Penginapan  di  Kota  Takengon  menggunakan  Metode  Quick Sort  dan  Haversine  Formula  Berbasis  Android,  maka didapatkan kesimpulan sebagai berikut diantaranya:
1. Aplikasi sistem pencarian penginapan ini dibangun dan dirancang  untuk  membantu  pihak  penginapan  dalam memberikan  informasi  kepada  wisatawan  berupa informasi  nama  penginapan,  deskripsi,  harga,  nomor telepon, fasilitas  penginapan, alamat,  jenis  dan  jumlah kamar  yang  tersedia,  serta  jarak  antara  wisatawan dengan penginapan yang akan dituju.
2. Berdasarkan  data  penginapan  yang  didapatkan, terdapat  12  penginapan  dengan  jumlah  kamar terbanyak pada penginapan Grand bayu hill dan jumlah kamar terendah pada penginapan pondok wisata.
3. Berdasarkan  pengujian  jarak  dari  pusat  kota  takengon terdapat  penginapan  yang  terdekat  yaitu  penginapan bunda dan paling jauh adalah penginapan renggali.
4. Sistem  ini  berhasil  mengurutkan  kamar  yang  tersedia berdasarkan jenisnya yaitu kamar standar, medium dan deluxe,  yang  mana  pengurutan  akan  diurutkan  mulai dari  yang  terkecil  sampai  terbesar.  Pengurutan  ini dilakukan  dengan  mengambil  nilai  jumlah  masing- masing kamar yang tersedia.
5. Aplikasi  ini  memiliki  fitur  informasi  kamar  tersedia secara  otomatis  yang  mana  jika  operator  penginapan melakukan  pengisian  form  chek-in  maka  kamar  yang tersedia  otomatis  berkurang  dan  jika  melakukan pengisian  form  chek-out  maka  kamar  yang  tersedia otomatis bertambah.

## R EFERENSI
[1] Hidayah,  M.  (2017,  Juni  13). Arsitektur  Android .  Dipetik  November
26, 2020, dari Medium: https://medium.com/@muhammad30 hidayah696/ arsitektur-android-6cfbc3dd8cd.
[2] Sonita,  A.,  &  Nurtaneo,  F.  (2016).  Analisis  Perbandingan  Algoritma Bubble  Sort,  Merge  Sort,  Dan Quick  Sort Dalam  Proses  Pengurutan Kombinasi Angka Dan Huruf. Pseudocode , 2 (2), 75–80. https://doi.org/10.33369/pseudocode.2.2.75-80
[3] Yulianto,  Ramadiani,  &  Kridalaksana,  A.  H.  (2018).  Penerapan Formula  Haversine Pada  Sistem  Informasi  Geografis  Pencarian  Jarak Terdekat  Lokasi  Lapangan  Futsal. Informatika  Mulawarman :  Jurnal
Ilmiah Ilmu Komputer , 13 (1), 14.
https://doi.org/10.30872/jim.v13i1.1027
[4] Monika  Mindari.  (2017). Penerapan  Document  Oriented  Database (Nosql)  Pada  Sistem  Informasi  Rumah  Sakit  Umum  Daerah  (Rsud) Prabumulih Monika . 12 .
[5] Waduk,  D.  I.,  Ombo,  K.,  Citra,  D.,  Silalahi,  E.,  Suprayogi,  A.,  & Sukmono,  A.  (2018). Jurnal  Geodesi  Undip  Oktober  2018  Jurnal Geodesi Undip Oktober 2018 . 7 , 294–303.
[6] Kagai,  F.  K.  (2019). NoSQL  Databases  for  Big  Data  Management : Review and Application in Mobile Commerce . February . https://doi.org/10.13140/RG.2.2.10239.87204
[7] Afyenni,  R.  (2014).  Perancangan  Data  Flow  Diagram  untuk  Sistem Informasi  Sekolah  (Studi  Kasus  Pada  SMA  Pembangunan Laboratorium UNP).Teknoif, 2(1), 35–39.
[8] Hutahaean,  H.  D.  (2018).  Penerapan  Metode  Best  First  Search  Pada Permainan Tic Tac Toe. Jurnal Mantik Penusa , 52-57.
[9] Veronica,  N.  D.  M.,  &  Darnita,  Y.  (2015).  Rancang  Bangun  Aplikasi Tes  Toefl  Menggunakan  Algoritma Quick  Sort Berbasis  Komputer. Pseudocode , 2 (2),  89–97.  https://doi.org/10.33369/pseudocode.2.2.89- 97