## Implementasi Absensi Karyawan Menggunakan Algoritma Haversine dengan Global Posisitioning System Berbasis Android
Fajar Antono 1 , Saruni Dwiasnati 2*
1,2 Teknik Informatika, Fakultas Ilmu Komputer, Universitas Mercu Buana
1,2 Jl. Raya, RT.4/RW.1, Meruya Sel., Kec. Kembangan, Jakarta, Daerah Khusus Ibukota Jakarta 11650
1 fajar.antono988@gmail.com, 2* saruni.dwiasnati@mercubuana.ac.id
Intisari—  Perusahaan  yang  berkembang  merupakan  perusahaan  yang  memiliki  tata  kelola  perusahaan  yang  baik  yaitu  dengan penerapan presensi dan manajemen jam kerja karyawan. Perkembangan perusahaan juga didukung oleh perkembangan teknologi dimana  teknologi  informasi  saat  ini  berkembang  pesat  dan  cepat  yaitu  teknologi  mobile.  Komunikasi  mobile dapat mempermudah masyarakat untuk memperoleh informasi yang cepat dengan akses internet. PT. Bangsawan Cyberindo merupakan perusahaan yang masih menerapkan presensi dan manajemen jam karyawan secara manual. Namun dalam pelaksanaannya, pihak manajemen masih kesulitan  dalam  memantau  dan  merekapitulasi  data  presensi  dan  jam  kerja  karyawan.  Sehingga  perusahaan  membutuhkan  suatu sistem yang tepat dan berguna agar dapat membantu pihak manajemen. Dengan demikian, Penerapan digitalisasi sistem presensi ini menggunakan  fungsi  Global  Posisitiong  System  (GPS)  pada  perangkat  Android  dan  menerapkan  algoritma  Haversine  Formula untuk  perhitungan  jarak  antara  titik  posisi  kantor  ke  titik  posisi  user.  Untuk  menampilkan  peta  lokasi  kantor  pusat  dan  cabang terdekat, sistem terintegrasi dengan Google Map. Hasil pengujian dapat disimpulkan bahwa perhitungan jarak antara sistem dengan perhitungan yang dilakukan secara manual hanya berbeda ± 0,0018 meter.
Kata kunci —Android, Algoritma Haversine Formula, Global Posisitioning System, Presensi, Teknologi Mobile.
Abstract—  A  developing  company  is  a  company  that  has  good  corporate  governance,  namely  by  applying  the  presence  and management  of  employee  working  hours.  The  development  of  the  company  is  also  supported  by  technological  developments  where information  technology  is  currently  growing  rapidly  and  rapidly,  namely  mobile  technology.  Mobile  communication  can  make  it easier for people to get fast information with internet access. PT. Bangsawan Cyberindo is a company that still applies employee clock attendance  and  management  manually.  But  in its  implementation,  management  still  has  difficulty  in  monitoring  and  recapitulating attendance  data  and  employee  work  hours.  So  that  the  company  needs  an  appropriate  and  useful  system  in  order  to  help management.  Thus,  the  application  of  digitalization  of  this  presence  system  uses  the  Global  Positioning  System  (GPS)  function  on Android devices and applies the Haversine Formula algorithm to calculate the distance between the position of the office position and the user's position. To display a map of the location of the nearest head office and branch, the system is integrated with Google Map. The test results can be concluded that the calculation of the distance between systems with calculations carried out manually is only different ± 0,0018 meters.
Keywords —Android, Haversine Formula Algorithm, Presence, Mobile Technology, Global Positioning System

## I. P ENDAHULUAN
Pada  era  globalisasi  saat  ini,  perusahaan  yang berkembang merupakan perusahaan yang memiliki tata kelola perusahaan  yang  baik.  Apabila  perusahaan  memiliki  tata kelola perusahaan yang baik, maka perusahaan tersebut dapat menentukan  serta  mencapai  tujuan  serta  sasaran  dari perusahaan  tersebut.  Salah  satu  aspek  yang  harus  dipenuhi oleh  perusahaan  adalah  kejelasan  fungsi,  struktur,  sistem  dan pertanggungjawaban  organ  perusahaan  sehingga  pengelolaan perusahaan  terlaksana  secara  efektif[1].  Pada  era  modern  ini smartphone  telah  menjadi  kebutuhan  sekunder  bagi  setiap orang,    jumlah    pengguna    smartphone    pun    semakin meningkat. Berdasarkan data yang diperoleh dari gs.statcounter.com  menunjukan  bahwa  pengguna  mobile device  menempati  posisi  pertama  dengan 51.95%  melampaui pengguna  desktop  dan  tablet  dengan  43.98%  dan  4.07%[2]. Salah  satu  contoh  kegiatannya  yaitu  dengan  penerapan presensi  dan  manajemen  karyawan  agar  kejelasan  sistem  dan
kinerja karyawan pada perusahaan dapat terkelola dengan baik dan benar.
Dengan perkembangan teknologi yang semakin pesat saat ini, salah satunya  adalah perkembangan teknologi komunikasi dengan    smart    phone.  Smart  phone  memiliki  banyak  fitur didalamnya termasuk fitur GPS (Global Positioning  System) dan    fitur    LBS    (Location    Based    Service)    untuk mengirimkan  lokasi  smart  phone  berada  secara  cepat  dan akurat,  maka  dari  itu  penulis  tertarik  untuk  mengembangkan sistem absensi berbasis  smart phone khususnya Android [3].
PT.  Bangsawan  Cyberindo  merupakan  suatu  organisasi atau  perusahaan  yang  bergerak  dalam  bidang  jasa pengembangan  perangkat  lunak  yang  berfokus  pada pelelangan  jasa/barang  di  pemerintahan.  Menurut  pihak manajemen perusahaan, kebijakan perusahaan terkait presensi dan  jam  kerja  karyawan  di  perusahaan  ini  masih  terkendala, dikarenkan  sebagian  besar  pekerjaan  karyawan  pada  PT. Bangsawan  Cyberindo  ini  berada  diluar  kantor  atau  onsite  di tempat  klien,  dengan  sistem  presensi  yang  berjalan  sekarang
ini  masih  dilakukan  secara  manual,  dalam  pelaksanaan kewajiban  pencatatan  kehadirannya  setiap  karyawan  harus mengisi  daftar  hadir  saat  datang  dan  pulang  kerja.  Namun dalam  pelaksanaannya  kebanyakan  dari  karyawan  akan langsung  menuju  ke  lokasi  pekerjaan  klien  daripada  harus datang  ke  kantor  terlebih  dahulu  untuk  melakukan  presensi. Dalam hal ini karena  kebanyakan karyawan  yang mengabaikan presensi kehadiran, dari pihak manajemen masih kesulitan  dalam  memantau  dan  merekapitulasi  data  presensi karyawannya.
Oleh  sebab  itu,  pada  penelitian  ini  dibuat  aplikasi  agar dapat  melakukan  presensi  yang  memiliki  mobilitas  tinggi dengan  didukung  smartphone  berbasis  android  yang terintegrasi  dengan  fitur Global  Posisitioning  System (GPS) sebagai  alat  untuk  memberikan  informasi  sesuai  lokasi  user berada,  dan  juga  dengan  penerapan  algoritma Haversine Formula yang diperlukan dalam penelitian untuk menemukan solusi  bagi  masalah-masalah  dan  kondisi  di  atas.  Android adalah  sistem  operasi  yang  dikeluarkan  oleh  Google khususnya  untuk smartphone dan  tablet[4]. Haversine Formula adalah  rumus  yang  tepat  dalam  menghitung  jarak antara  dua  titik  yakni  dengan  inputan  latitude  dan  longtitude, sebagai titik awal dan akhir, maka akan dihitung jarak antara titik-titik yang berada didekatnya.

## II. M ETODOLOGI P ENELITIAN

## 2.1 Metode Pengumpulan Data
Dalam penelitian ini menggunakan beberapa metodologi untuk mengumpulkan data yaitu sebagai berikut: 1. Wawancara,  Dengan  menggunakan  metode  ini  penulis mencoba  berdiskusi  dengan  pihak  manajemen  dan karyawan  PT.  Bangsawan  Cyberindo  dan  memberikan beberapa pertanyaan untuk mengetahui permasalahan yang ada  saat  ini  dan  saling  memberi  masukan  terkait  sistem presensi yang akan dibuat.
2. Studi  literatur,  Dengan  menggunakan  metode  ini  penulis mempelajari  dan  mencari  refrensi  mengenai  pembuatan aplikasi  presensi  berbasis  android.  Refrensi  didapat  dari buku, jurnal, artikel maupun penelitian sebelumnya.

## 2.2 Metode Pengembangan Sistem
Metode  pengembangan  sistem  yang  digunakan  dalam peneliatian ini diantaranya adalah :
1. Metode Haversine Formula
Metode  Haversine  digunakan  untuk  menghitung  jarak antara titik di permukaan bumi menggunakan garis lintang ( longitude )  dan  garis  bujur  ( latitude )  sebagai  variabel inputan. Haversine  formula adalah  persamaan  penting pada  navigasi,  memberikan  jarak  lingkaran  besar  antara dua  titik  pada  permukaan  bola  (bumi).  berdasarkan  bujur dan  lintang.  Dengan  mengasumsikan  bahwa  bumi berbentuk bulat sempurna dengan jari-jari R 6.367, 45 km, dan lokasi dari 2 titik di koordinant bola (lintang dan bujur) masing-masing adalah lon1, lat1, dan lon2, lat2[5].
Rumus Haversine x = (lon2-lon1) * cos ((lat1+lat2)/2); y= (lat2-lat1); d= sqrt(x*x+y*y)*R
Keterangan: x = Longitude (Lintang) y = Latitude (Bujur) d = Jarak R = Radius Bumi =6371 km 1 derajat = 0.0174532925 radian

## Contoh Perhitungan Rumus Haversine
Lokasi 1: lat1  = -0.790175, lon1 = 119.800801
Lokasi 2: lat2  = -0.8989, lon2 = 119.8428
lat1 = -0.790175 * 0.0174532925 radian = -0.013791155 radian lon1= 119.800801 * 0.0174532925 radian = 2.090918422 radian lat2 = -0.8989 * 0.0174532925 radian = -0.01569 radian lon2 = 119.8428 * 0.0174532925 radian = 2.091651 radian
x = (lon2-lon1) * cos ((lat1+lat2)/2) =(2.091651-2.090918422) * cos ((-0.013791155 + - 0.01569)/2) = 0.0007329412 y = (lat2-lat1) = (-0.01569- (-0.013791155)) = -0.001897609 d = sqrt (x*x + y*y) * R = sqrt((0.0007329412*0.0007329412)+( -0.001897609*- 0.001897609))*6371 = sqrt (0.0000041381) * 6371 = 12.96012927 km 2. Metode Perancangan Sistem
Metode  rekayasa  peranti  lunak  yang  digunakan  peneliti adalah  metode Extreme  Programming (XP)[6], Extreme Progamming telah  dipublikaskan  sejak  1999  oleh  Kent  Beck dengan  menggunakan  metode  pendekatan  berorientasi  objek. Pada  Gambar  1  terdapat  4  kerangka  kegiatan  dalam  metode ini, dengan urutan proses sebagai berikut:
a. Planning (Perencanaan)
Pada  tahap  ini,  pengumpulan  data  dan  kebutuhan  sangat penting  untuk  membantu  kinerja  pembuatan  aplikasi. Dimulai dengan merancang gambaran umum aplikasi yang diperlukan  seperti  fitur  dan  fungsinya  yang  didiskusikan bersama pengguna aplikasi tersebut. Hal ini nantinya akan menciptakan sebuah user stories.
b. Design
Pada  tahap  ini  peneliti  melakukan  desain  setelah kebutuhan selesai dikumpulkan secara lengkap.
c. Coding
Pada  proses  ini  desain  program  diterjemahkan  kedalam kode-kode  dengan  menggunakan  bahasa  pemrograman yang  sudah  ditentukan.  Program  yang  dibangun  langsung diuji dengan tujuan agar program dapat diuji dengan baik.
d. Test (Pengujian)
Pada  proses  ini  adalah  melakukan  unit  testing  untuk pengujian  kode  supaya  pengujian  dapat  dilakukan berulang-ulang dengan mudah setiap ada perubahan kode.
Gambar 1 Alur Pengembangan Sistem Extreme Progamming

## III. H ASIL DAN P EMBAHASAN
Hasil dan pembahasan pada penelitian ini meliputi:

## 3.1. Perancangan Database
Pada  aplikasi  ini  menggunakan  database  sebagai penyimpanan  informasi  dengan  mengunakan  tabel  sebagai berikut :
a. Tabel Users
Tabel 1. Tabel Users
Tabel users merupakan  tempat  penyimpanan  data  untuk user administrator  yang  dapat  mengakses  ke  dalam dashboard admin berbasis web .
b. Tabel Branch
Tabel 2. Tabel Branch
Tabel branch merupakan  tempat  penyimpanan  data  untuk kantor  lokasi  cabang  atau  penetapan  area  yang  digunakan untuk penetapan lokasi presensi karyawan.
c. Tabel Employees Tabel 3. Tabel Employees
Tabel employees merupakan  tempat  penyimpanan  data  untuk karyawan agar dapat masuk ke dalam sistem presensi berbasis Android  dan  dapat  melakukan  kegiatan  seperti check  in dan check out untuk presensi kehadiran karyawan tersebut. d. Tabel Presence Tabel 4. Tabel Presence
Tabel presence merupakan  tempat  penyimpanan  data  untuk log presensi  karyawan  jam  masuk,  jam  pulang,  presensi  di cabang  mana,  dan  di  koordinat  berapa  karyawan  tersebut melakukan presensi.
3. 2. Use Case Diagram
Perancangan ini akan menggambarkan aktifitas suatu user yang  menggunakan  sistem  aplikasi  dari  pengamatan sudut  pandang  sederhana.  Terdapat  2  rancangan use  case diagram dalam sistem ini antara lain use case aplikasi android dan use  case aplikasi web yang  terdapat  pada  Gambar  2  dan Gambar 3. a. Use Case Diagram Karyawan
Gambar 2. Use Case Diagram Karyawan
Pada  Gambar  diatas,  menunjukan  bahwa  karyawan dapat  melakukan  aktivitas  login,  lupa  password,  lihat  detail perusahaan, check in, check out , lihat riwayat, ganti password , dan logout pada saat mengoperasikan sistem aplikasi presensi pada android.
b. Use Case Diagram Admin
Gambar 3. Use Case Diagram Admin
Pada  gambar  diatas,  aplikasi web dapat  diakses  oleh  admin. admin  dapat  melakukan  aktivitas login ,  input  data  kayawan, Edit data karyawan, Hapus data karyawan, input data cabang,
edit  data  cabang,  Hapus  data  cabang,  Lihat  presensi,  Lihat detail presensi, Cetak hasil presensi, dan Logout .

## 3. 4. Sequence Diagram
Sequence  diagram akan  menjelaskan  cara  kerja sistem  dengan  suatu  urutan  yang  terperinci.  Perancangan  ini akan  menunjukan  tahap-tahapan  yang  menggambarkan  cara kerja  sistem  yang  akan  digunakan.  Berikut  adalah sequence diagram pada saat login .
Gambar 4. Sequence Diagram Login

## 3. 5. Class Diagram
Pada  perancangan  ini,  menjelaskan  hubungan  antara  kelas yang digunakan dalam sistem aplikasi. Kelas “ employees ” berisi  data-data  karyawan  yang  akan  melakukan  presensi pada  kelas  “ presence ”  dan  setiap  karyawan  akan menentukan lokasi sesuai dengan lokasi terdekat karyawan melakukan  absensi  di  cabang  pada  kelas  “ branch” . Perancangan class diagram dapat dilihat pada Gambar 5.
Gambar 5. Class Diagram

## 3. 6. Activity Diagram
Perancangan activity  diagram ini  akan  dijelaskan  dalam urutan-urutan seperti activity diagram login berikut ini :
Gambar 6. Activity Diagram Login

## 3. 7 Implementasi Sistem Halaman Splash Screen
Merupakan  tampilan  awal  aplikasi  ketika  pertama  kali aplikasi  dijalankan.  Tampilan  ini  berguna  sebagai  indilkator pengguna  berhasil  menjalankan  aplikasi  lalu  mengalihkan  ke halaman login .

## Gambar 7. Halaman Splash Screen

## Halaman Login
Pada  tampilan interface ini,  pengguna  harus  memasukkan data  yang  telah  didaftarkan  oleh  adminitrator  berupa email dan password agar  dapat  masuk  ke  halaman interface berikutnya.
Gambar 8. Halaman Login

## Halaman Lupa Password
Pada  tampilan interface ini,  pengguna  harus  memasukkan data  berupa email yang  telah  didaftarkan  oleh  administrator. Setelah  pengguna  memasukan email yang  terdaftar  pada sistem,  maka  sistem  akan  mengirimkan  sebuah link untuk merubah password ke email pengguna tersebut.
Gambar 9. Halaman lupa password

## Halaman Beranda
Pada tampilan interface ini,  pengguna memasuki halaman utama  aplikasi  dimana  pada  halaman  ini  terdapat  daftar cabang lokasi kantor. Ketika pengguna klik salah satu cabang maka  akan  berpindah  ke  halaman presence dengan  indikator cabang tersebut.

## Gambar 10. Halaman Beranda

## Halaman Presensi
Pada  tampilan interface ini, pengguna  dapat  melihat  letak posisi  pengguna  tersebut  dimana,  didalam  tampilan  ini terdapat  googlemap  yang  sudah  di marker dengan  lokasi cabang  beserta  jarak  radiusnya.  Pada  halaman  ini  terdapat fungsi check in dan check out , dimana jika pengguna berada di
area  kantor  dan  masih  tercakup  oleh  radius.  Maka  pengguna tersebut bisa melakukan fungsi presensi jam masuk ( check in ) dan jam pulang ( check out ).
Gambar 11. Halaman Presensi

## Halaman Profil Perusahaan
Pada tampilan interface ini,  pengguna memasuki halaman informasi data perusahaan.
Gambar 12. Halaman Profil Perusahaan

## Halaman Riwayat
Pada  tampilan interface ini,  pengguna  dapat  melakukan pencarian  presensi  berdasarkan  dengan  tanggal.  Hasil pencarian ini menampilkan dengan detail seperti tanggal, jam masuk, jam pulang, dan melakukan presensi di lokasi cabang mana.

## Gambar 13. Halaman Riwayat

## Halaman Akun
Pada  tampilan interface ini,  pengguna  dapat  mengetahui informasi  tentang  data  dirinya  sebagai  karyawan  di perusahaan tersebut.
Gambar 14. Halaman Akun

## 3. 8 Pengujian Perhitungan Jarak
Pada  pengujian  perhitungan  jarak  akan  diambil  lima sampel  titik  posisi user kemudian  akan  dibandingkan  dengan perhitungan  pada  sistem  aplikasi  dengan  perhitungan  secara manual. Berikut data sampelnya dapat dilihat pada table 5.
Tabel 5. Data sampel Posisi
Lalu  dilakukan  pengujian  perhitungan  menggunakan  rumus pada  sistem  yang  telah  diuji  dengan  menggunakan  perintah SQL  dan  rumus  perhitungan  secara  manual  dengan  rumus sebagai berikut :
1. Rumus perhitungan jarak pada sistem (Perintah SQL)
2. Rumus perhitungan jarak secara manual x = (lon2-lon1) * cos ((lat1+lat2)/2);
y= (lat2-lat1); d= sqrt(x*x+y*y)*R
Apabila  sudah  diketahui  kedua  rumus  tersebut,  penulis melakukan perbandingan tersebut dalam Tabel 6.
Tabel 6. Perbandingan Perhitungan Rumus
No Perhitungan Rumus pada Sistem Perhitungan Rumus Secara Manual 1 SELECT (6371 *
ACOS(SIN(RADIANS('-
6.268362')) *
SIN(RADIANS('-6.268377')) + COS(RADIANS('106.7375519 ' - '106.73759')) * COS(RADIANS('-6.268362')) * COS(RADIANS('-
6.268377')))) AS distance
HASIL :
0.004529120 Km 4.5291 m
Lokasi 1 Lat1 = -6,268362 , Lon1
= 106,7375519 Lokasi 2:
Lat2 = -6,268377, Lon2= 106,73759 Lat1 = -6,268362 * 0.0174532925
Lat1 = -0.109403555 Lon1 = 106,7375519 * 0.0174532925 Lon1 = 1.862921714
Lat2 = -6,268377 * 0.0174532925 Lat2 = -0.109403817 Lon2 =106,73759 * 0.0174532925 Lon2 = 1.862922379
x = (lon2-lon1) * cos ((lat1+lat2)/2)
x = (1.862922379- 1.862921714)*cos((- 0.109403555+(- 0.109403817))/2)
x = 0.000000660995
y = (lat2-lat1) y = (-0.109403817-(- 0.109403555)) y = -0.000000261799
d = sqrt (x*x + y*y) * R d =
sqrt((0.000000660995*0
.000000660995)+( - 0.000000261799*-
0.000000261799))*6371 d = 0.004529477 km d = 4.5295 m 2. SELECT (6371 * ACOS(SIN(RADIANS('- 6.2194152')) * SIN(RADIANS('-6.2194298')) + COS(RADIANS('106.6918382 ' - '106.6918318')) *
COS(RADIANS('-
6.2194152')) * COS(RADIANS('- 6.2194298')))) AS distance HASIL : 0.001770995 Km 1.7710 m Lokasi 1 Lat1 = -6,2194152 , Lon1 = 106,6918382
Lokasi 2: Lat2 = -6,2194298, Lon2= 106,6918318
Lat1 = -6,2194152  *
0.0174532925 Lat1 = -0.108549273 Lon1 = 106,6918382* 0.0174532925 Lon1 = 1.862123859
Lat2 = -6,2194298 *
0.0174532925
Lat2 = -0.108549527 Lon2 = 106,6918318 * 0.0174532925 Lon2 = 1.862123748
x = (lon2-lon1) * cos ((lat1+lat2)/2) x = (1.862123748- 1.862123859)*cos((- 0.108549273+(- 0.108549527))/2)
x = -0.000000111044
y = (lat2-lat1) y = (-0.108549527-(- 0.108549273)) y = -0.000000254818
d = sqrt (x*x + y*y) * R d = sqrt((- 0.000000111044*- 0.000000111044)+( - 0.000000254818*-
0.000000254818))*6371 d = 0.001770897 km d = 1.7709 m 3. SELECT (6371 * ACOS(SIN(RADIANS('- 6.30476')) * SIN(RADIANS('- 6.30458')) +
COS(RADIANS('106.7375519
' - '106.7375511')) *
COS(RADIANS('-6.30476')) * COS(RADIANS('-6.30458'))))
AS distance
HASIL :
Lokasi 1:
Lat1 = -6,30476, Lon1 = 106,7375519 Lokasi 2: Lat2 = -6,30458, Lon2=
106,7375511
Lat1 = -6,30476 * 0.0174532925 Lat1 = -0.11003882
Lon1 = 106,7375519 *
0.0174532925
N o Nama Kantor Cabang
Lokasi Kantor Lokasi Karyawan Latitude Longitude Latitude Longitude 1 Kantor Pusat Bintaro -6.268362 106.7375519 -6.268377 106.73759 2 Kantor Cabang Pinang Griya -6.2194152 106.6918382 -6.2194298 106.6918318 3 Kantor BSD -6.30476 106.7375519 -6.30458 106.7375511 4 KEMHA N (Onsite) -6.1771136 106.821903 -6.1771128 106.821942 5 BKN (Onsite) -6.258535 106.8678262 -6.258538 106.8678452 SELECT (6371 * ACOS(SIN(RADIANS(lat1)) *
SIN(RADIANS(lat2)) + COS(RADIANS(long1 - long2)) * COS(RADIANS(lat1)) * COS(RADIANS(lat2)))) AS distance
0.02001514 Km 20.0151 m
Lon1 = 1.862921714
Lat2 = -6,30458 * 0.0174532925 Lat2 = -0.110035679 Lon2 = 106,7375511* 0.0174532925 Lon2 = 1.8629217
x = (lon2-lon1) * cos ((lat1+lat2)/2) x = (1.8629217- 1.862921714)*cos((- 0.11003882+(- 0.110035679))/2) x = -0.0000000138782
y = (lat2-lat1) y = (-0.110035679-(- 0.11003882)) y = 0.00000314159
d = sqrt (x*x + y*y) * R d = sqrt((- 0.0000000138782*- 0.0000000138782)+( 0.0 0000314159*0.0000031
4159))*6371 d = 0.020015282 km d = 20.0152 m 4. SELECT (6371 * ACOS(SIN(RADIANS('- 6.1771136')) * SIN(RADIANS('-6.1771128')) + COS(RADIANS('106.821903' - '106.821942')) * COS(RADIANS('- 6.1771136')) *
COS(RADIANS('- 6.1771128')))) AS distance HASIL : 0.004314075 Km 4.3141 m
Lokasi 1: Lat1 = -6,1771136, Lon1 = 106,821903 Lokasi 2: Lat2 = -6,1771128, Lon2= 106,821942
Lat1 = -6,1771136 * 0.0174532925 Lat1 = -0.10781097 Lon1 = 106,821903 * 0.0174532925 Lon1 = 1.864393918
Lat2 =  -6,1771128* 0.0174532925 Lat2 = -0.107810957 Lon2 = 106,821942 * 0.0174532925 Lon2 = 1.864394599
x = (lon2-lon1) * cos
((lat1+lat2)/2) x = (1.864394599- 1.864393918)*cos((-
0.10781097+(-
0.107810957))/2) x = 0.000000676726
y = (lat2-lat1) y = (-0.107810957-(- 0.10781097)) y = 0.0000000139626 d = sqrt (x*x + y*y) * R d = sqrt((0.000000676726*0 .000000676726)+( 0.000 0000139626*0.0000000 139626))*6371 d = 0.004312342 km
5. SELECT (6371 *
ACOS(SIN(RADIANS('- 6.258535')) * SIN(RADIANS('-6.258538')) +
COS(RADIANS('106.8678262 ' - '106.8678452')) * COS(RADIANS('-6.258535')) * COS(RADIANS('-
6.258538')))) AS distance HASIL : 0.002127059 Km
2.1271 m
Lokasi 1: Lat1= -6,258535 , Lon1 = 106,8678262
Lokasi 2:
Lat2= -6,258538, Lon2= 106,8678452
Lat1= -6,258535 *
0.0174532925 Lat1= -0.109232042 Lon1=106,8678262 * 0.0174532925
Lon1=1.86519543
Lat2=  -6,258538*
0.0174532925
Lat2=-0.109232094 Lon2 = 106,8678452* 0.0174532925 Lon2 = 1.865195761
x = (lon2-lon1) * cos ((lat1+lat2)/2) x=(1.865195761- 1.86519543)*cos((- 0.109232042+(- 0.109232094))/2) x=0.000000329636
y = (lat2-lat1) y=(-0.109232094-(- 0.109232042)) y=-0.0000000523599
d= sqrt (x*x + y*y) * R d=sqrt((0.000000329636 *0.000000329636)+( - 0.0000000523599*- 0.0000000523599)*6371 d= 0.002126441 km d = 2.1264 m
Apabila  perbandingan  perhitungan  jarak  antara  sistem  dan manual telah dilakukan, maka penulis telah merangkum hasil dari perbandingan tersebut pada Tabel 7.
Tabel 7. Perbandingan Hasil Perhitungan
No Hasil Perhitungan Sistem (m) Hasil Perhitunga n Secara Manual
(m) Gambar Output
1 4.5291 m 4.5295 m 2. 1.7710 m 1.7709 m 3. 20.0151 m 20.0152 m 4. 4.3141m 4.3123 m 5. 2.1271 m 2.1264 m
Pada  tabel  diatas  dapat  dilihat  hasil  perhitungan  jarak menggunakan rumus pada sistem dan perhitungan jarak secara manual,  maka  penulis  dapat  menarik  kesimpulan  bahwa  dari lima  sampel  yang  telah  dihitung  memiliki  selisih  letak  hasil sebanyak 0.0018  meter.

## IV. K ESIMPULAN
Berdasarkan  analisis  dan  pengujian  yang  dilakukan, maka kesimpulan yang dapat diambil adalah:
1. Penerapan  Haversine  formula  mampu  memberikan informasi jarak dari lokasi pengguna ke lokasi kantor yang digunakan sebagai objek.
2. Hasil  dari  penggunaan  rumus  perhitungan  jarak menggunakan  haversine  formula  pada  sistem maupun  secara  manual  tidak  jauh  berbeda, perbedaannya ± 0.0018  meter.
3. Haversine  Formula dapat  dimanfaatkan  sebagai pencarian  jarak  terdekat  dengan  cara  mencari  hasil yang  paling  kecil  nilainya  sebagai  lokasi  dengan jarak terdekat.

## R EFRENSI
[1].  Emirzon,  J.,  (2006).  Regulatory  Driven  Dalam  Implementasi  Prinsip-
Prinsip  Good  Corporate  Governance  Pada  Perusahaan  Di  Indonesia, https://s3.amazonaws.com/academia.edu.documents/28873301/jurnal_ mm_vol_4_no_8_artikel_4_joni_emirzon.pdf?AWSAccessKeyId=AKI
AIWOWYYGZ2Y53UL3A&Expires=1554603280&Signature=pbOeU 6I9HGnczsUbJVis2X8YB%2F0%3D&response-content- disposition=inline%3B%20filename%3DRegulatory_Driven_Dalam_I mplementasi_Pri.pdf, diakses tanggal 07 April 2019.
[2] Statcounter GlobalStats, “Operating System Market Share Worldwide | StatCounter Global Stats,” Statcounter GlobalStats, 2018.
[3] H.  P.  Utama,  O.  D.  Nurhayati,  and  I.  P.  Windasari,  “Pembuatan Aplikasi  Memantau  Lokasi  Anak  Berbasis  Android  Menggunakan Location Based Service,”  J.  Teknol.  dan  Sist.  Komput.,  vol.  4,  no. 1,  p.  202,  2016,  doi: 10.14710/jtsiskom.4.1.2016.202-208.
[4] Wawan,  Gunawan.  (2019).  Pengembangan  Aplikasi  Berbasis  Android Untuk Pengenalan Huruf Hijaiyah. JURNAL INFORMATIKA.  Vol.6. No.1. April. ISSN: 2355-6579. E-ISSN: 2528-2247. Hal 69-76.
[5] Prasetyo,  Dwi  dan  Hastuti  Khafizh.  (2015).  Penerapan  Haversine Formula Pada Aplikasi Pencarian Lokasi dan Informasi Gereja Kristen Di Semarang Berbasis Mobile, UDiNus Repository, 2.
[6] Pressman,  R.S.  (2010).  Software  Engineering:  A  Practitioner’s Approach,  Sevent  Edition,  The  McGraw-Hill  Companies  Inc.,  New York.