## Jurnal Sustainable: Jurnal Hasil Penelitian dan Industri Terapan
ISSN 2615-6334 (Online)
ISSN 2087-5347 (Print)
Ferdi Chahyadi 1,* , Alga Mahargarika 2 , Eka Suswaini 3 1,2,3 Jurusan Teknik Informatika, Fakultas Teknik, Universitas Maritim Raja Ali Haji 1,2,3 Jl. Politeknik Senggarang, Tanjungpinang 29100
* Corresponding Author: ferdi.chahyadi@umrah.ac.id
Abstrak — The  attendance  system  using  an  existing  attendance  machine  in  the  office  reduces flexibility, where employees have to queue at the machine and it will take quite a long time if the number of machines is small and the number of employees is large. During working hours there can also be problems  with employees  who are not in their place  which  will interfere  with  the smooth running of the work. To overcome this, it is necessary to create an attendance system that is more flexible  for  employees,  and  can  monitor  employee  attendance  during  working  hours  to  ensure employees are always in the office. The attendance system built is an android application that uses the concept of Restful Web Service by applying Real-Time Tokens to monitor employee attendance during  working hours.  The attendance  application  uses  the REST  API to  connect to the database. Real-Time Token functions to provide a random unique code at certain hours to validate employee work attendance during working hours. At work attendance, random tokens will be sent at certain hours and employees must respond to the tokens given using the office intranet network and at the office coordinate location to be recorded on work attendance.
Keywords — Attendance, REST, API, Token, Android.
Abstrak — Sistem absensi menggunakan mesin absensi yang ada pada kantor membuat fleksibilitas berkurang  pada  saat  akan  melakukan  absensi,  dimana  karyawan  harus  antri  pada  mesin  dan  akan memakan  waktu  yang  cukup  lama  apabila  mesin  absen  sedikit  dan  antrian  ramai.  Pada  jam  kerja juga bisa terjadi permasalahan karyawan yang tidak berada pada tempatnya yang akan menggangu kelancaran pekerjaan. Untuk mengatasi hal tersebut, perlu dibuat sistem absensi yang lebih fleksibel bagi karyawan, dan bisa memonitoring kehadiran karyawan pada saat jam kerja untuk memastikan karyawan selalu berada di kantor. Sistem absensi yang dibangun merupakan aplikasi android yang menggunakan  konsep Restfull  Web  Service dengan  menerapkan Real-Time  Token untuk memonitoring kehadiran karyawan pada saat jam kerja. Aplikasi absensi menggunakan REST API untuk terhubung  ke database. Real-Time Token berfungsi memberikan  kode unik  acak pada jam- jam tertentu untuk melakukan validasi kehadiran kerja karawan pada jam kerja. Pada absensi kerja akan  dikirimkan  token  acak  pada  jam-jam  tertentu  dan  karyawan  harus  merespon  token  yang diberikan menggunakan lokasi koordinat kantor agar dicatat pada absensi kerja.
Kata kunci —Absensi, REST, API, Token, Android.

## Absensi Daring Berbasis Android Mengunakan Real-Time Token dan Berbasis Lokasi

## I. P ENDAHULUAN
Perkembangan teknologi di era digital saat ini  sangat  pesat.  Banyak  orang  yang  harus mengikuti  perkembangan  teknologi  untuk mempermudah  pekerjaan  mereka.  Beberapa teknologi  yang  berkembang  saat  ini  adalah ponsel  pintar  ataupun  bisa  disebut  smartphone, virtual  reality,  augmented  reality,  dan  lain-lain. Teknologi  mempermudah  dalam  melakukan aktivitas  di  tempat  kerja,  seperti  absensi, monitoring (pemantauan) kerja, dan lain-lain.
Pada umumnya, absensi dilakukan menggunakan  mesin  absensi  yang  berada  di kantor,  untuk  absensi  masuk  ataupun  absensi pulang.  Terjadi  antrian  panjang  apabila  mesin absen  yang  sedikit  dan  jumlah  yang  akan mengunakan  absensi  banyak[1].  Terdapat permasalahan lain apabila karyawan tidak berada dikantor  pada  saat  jam  kerja.  Hal  ini  akan menghambat  pekerjaan-pekerjaan  yang  ada. Inovasi  dan  pembaharuan  pada  sistem  absensi diperlukan  untuk  bisa  mengatasi  permasalahan tersebut.  Hal  tersebut  bisa  meningkatkan kedisiplinan karyawan di kantor dan mempermudah  dalam  melakukan  pemantauan karyawan karena pada waktu tertentu, karyawan harus  melakukan  absensi  kembali  untuk memastikan  bahwa  karyawan  tersebut  berada pada  lingkungan  kantor  pada  saat  jam  kerja. Oleh  karena  itu,  karyawan  akan  senantiasa berada di kantor ketika dibutuhkan.
Untuk mengatasi permasalahan- permasalahan  seperti  yang  telah  diuraikan, penulis  melakukan  perancangan  sistem  aplikasi absensi  berbasis  android  yang  bisa  memantau kehadiran karyawan selama jam kerja menggunakaan real-time  token dan  melakukan pencatatan lokasi menggunakan Global Positioning System (GPS) [2] ketika pengiriman token  dilakukan.  Token  merupakan  kode  acak yang  akan  dikirimkan  pada  jam  tertentu  untuk melakukan  validasi  kehadiran  karyawan  selama jam  kerja.  Untuk  perusahaan,  kehadiran
merupakan  salah  satu  variabel  dalam  penilaian kinerja,  yang  merupakan  penilaian  atas pencapaian atau kualitas kinerja karyawan dalam suatu periode tertentu[3].

## II. L ANDASAN T EORI

## A. Web Service
Web  service merupakan  salah  satu  bentuk sistem  perangkat  lunak  yang  didesain  untuk mendukung  interaksi  mesin  ke  mesin  melalui jaringan.  Web  service  memiliki  interface  yang dideskripsikan  dalam  format  yang  dapat  dibaca oleh  mesin  [4].  Arsitektur web  servic e memodelkan  interaksi  antara  tiga  peran  yaitu penyedia  layanan,  konsumen  layanan,  dan pendaftar  layanan.  Web  service  memungkinkan sarana  operasi  antar  perangkat  lunak  menjadi standar pada berbagai platform yang berbeda [5].
REST  merupakan  gaya  arsitektur  dalam mendesain  sebuah  web  service  di  mana  desain REST  memiliki  resource  yang  dapat  diakses melalui sebuah alamat HTTP URL yang unique. REST  juga  memungkinkan  klien  dapat melakukan request melalui protokol HTTP.

## B. SDK
SDK (Software Development Kit),
Android  SDK  adalah  tools  API  (Aplication Programming  Interface)  yang  diperlukan  untuk memulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman  java.  Android  merupakan  subset perangkat  lunak  untuk  ponsel  yang  meliputi sistem  operasi,  middleware  dan  aplikasi  kunci yang  dirilis  oleh  google.  Saat  ini  SDK disediakan  untuk  alat  bantu  dan  API  untuk memulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman java [6].

## C. Global Positioning System (GPS)
Global  Positioning  System  atau  disingkat  GPS merupakan sistem navigasi dengan menggunakan  teknologi  satelit  yang  dapat menerima sinyal dari satelit [7]. Cara kerja GPS secara logik ada 5 langkah, yaitu:
a. Memakai  perhitungan  ― triangulation ‖ dari satelit,
b. Untuk  perhitungan  ― triangulation ‖,  GPS mengukur jarak menggunakan travel time
sinyal radio.
c. Untuk  mengukur travel  time, GPS memerlukan  memerlukan  akurasi  waktu yang tinggi.
d. Untuk  perhitungan  jarak,  kita  harus  tahu dengan  pasti  posisi  satelit  dan  ketingian pada orbitnya. Terakhir harus mengoreksi delay sinyal waktu
perjalanan  di  atmosfer  sampai  diterima reciever .

## II. M ETODOLOGI P ENELITIAN

## D. Arsitektur Sistem
Gambar 1. Arsitektur Sistem
Gambar 1 menunjukkan ilustrasi arsitektur sistem,  dimana  interkoneksi  antara  aplikasi  dan backend menggunakan jaringan internet . Aplikasi
absensi menggunakan
android
terhubung  ke backend menggunakan  layanan API yang dibuat oleh web service . Pada aplikasi absensi  terdapat  fitur  yang  akan  melakukan pengecekan  lokasi  pengguna  menggunakan
layanan  GPS. Web  Service berperan  membuat layanan  menggunakan  REST. Web  service juga menyediakan  layanan  yang  digunakan  untuk melakukan entry data, report, dan dashbooard.

## E. Flowchart Aplikasi Absensi
Aplikasi absensi memiliki alur kerja seperti ditunjukkan pada gambar 2.
Start Halaman Login Input Data Login Absensi Masuk Absensi Kerja Absensi pulang Login Sukses ? Ulangi Login Tidak Ya End Menerima notifikasi Token
Gambar 2. Flowchart Aplikasi Absensi

## F. Use Case Diagram
Gambar  3  menunjukkan Use  Case Diagram aplikasi  absensi.  Terdapat  dua  (2) aktor  yang  melakukan  aktifitas  yaitu  karyawan dan  pimpinan.  Perbedaan  yang  terdapat  antara aktor  adalah  pada  aktifitas  aktor  karyawan, karyawan  melakukan login ,  absensi  masuk, memasukkan  token,  pengecekan  lokasi,  absensi pulang  dan log  out .  Sedangkan  pada  aktifitas aktor pimpinan, atasan melakukan login, absensi masuk,  lihat  kehadiran  karyawan,  memasukkan token, pengecekan lokasi, absensi pulang dan log out .

## G. Activity Diagram
Gambar 4. Activity Diagram
Gambar  4  menunjukkan  proses activity diagram aplikasi  absensi  yang  menjelaskan mengenai  detail  proses  absensi  dari  absensi masuk,  absensi  kerja,  hingga  absen  pulang. Termasuk  pengiriman  token,  dan  pengecekan lokasi  untuk  absensi  kerja.  Pada  absensi  kerja, akan  dilakukan  pengiriman  token  pada  jam-jam tertentu  dan  karyawan  harus  melakukan konfirmasi  token  yang  diberikan.  Setelah  token
dikonfirmasi  akan  dicek  lokasi  karyawan, apakah berada pada lokasi yang telah ditentukan atau  tidak.  Jika  berada  pada  lokasi  yang ditentukan,  namun  belum  melakukan  respon lebih  dari  30  menit  maka  dianggap  tidak  absen kerja.
H. Sequence Diagram
Absensi Masuk 1 : Tekan tombol absensi masuk Sistem 2 : Cek lokasi 3 : Cek waktu masuk 4 : Simpan data 5 : Tampilan detail tanggal, jam, dan lokasi Karyawan
Gambar 5. Sequence Diagram Absensi Masuk
Gambar  5  merupakan sequence  diagram dari  alur  proses  absensi  masuk.  Dimana karyawan  melakukan  absensi  masuk,  sistem akan  melakukan  pengecekan  lokasi  dan  cek waktu  masuk.  Jika  sesuai  makan  akan dikirimkan respon detail tanggal, jam, dan lokasi absensi.

## III. H ASIL DAN PEMBAHASAN

## A. Absen Masuk
Gambar 6. Absensi Masuk
Gambar  6  menunjukkan  fitur  absensi masuk,  jika  berhasil  maka  akan  menunjukkan tanggal,  jam,  dan  lokasi  absensi.  Karyawan hanya  bisa  absensi  pada  lokasi  yang  telah didaftarkan.

## B. Absen Kerja
Gambar 7. Absensi Kerja
Gambar 7 menunjukkan fitur absensi kerja, karyawan  akan  dikirimkan  token  pada  jam-jam tertentu  untuk  melakukan  absen  kerja,  jika berhasil  maka  akan  menunjukkan  tanggal,  jam, dan  lokasi  absensi.  Jika  diluar  lokasi  yang ditentukan  karyawan  tidak  bisa  melakukan absensi  kerja.  Absensi  kerja  bisa  dilakukan beberapa  kali,  untuk  memastikan  karyawan selalu  berada  dikantor  atau  pada  lokasi  yang ditentukan.
Gambar 8. Notifikasi Token
Karyawan  juga  harus  melakukan  absensi kerja  maksimal  30  menit  setelah  token  diterima seperi  pada  gambar  8,  jika  lebih  dari  30  menit maka tidak akan dicatat sebagai absen kerja

## C. Absen Pulang
Gambar 9. Absensi Pulang
Gambar  9  menunjukkan  fitur  absensi pulang,  jika  berhasil  maka  akan  menunjukkan tanggal,  jam,  dan  lokasi  absensi.  Karyawan hanya  bisa  absensi  pada  lokasi  yang  telah didaftarkan.

## D. Generate Token
Gambar 10. Kode Generate Token
Gambar 11. Cron Job Server Token
Potongan kode untuk pengiriman generate dan  pengiriman  token  ditampilkan  pada  gambar 10.  Sedangkan  untuk  pengiriman  token berdasarkan waktu tertetu dilakukan menggunakan  CRON  JOB  pada server aplikasi, yang ditunjukkan pada gambar 11.

## E. Penentuan Titik Lokasi Absen
Gambar 12. Cron Job Server Token
Penentuan  titik  lokasi  menggunakan website  http://geojson.io/ ,  kemudian  polygon yang  terbentuk  seperti  Gambar  12  dimasukkan ke dalam database .

## IV. K ESIMPULAN
Kesimpulan  yang  didapat  dari  hasil implementasi  dari penelitian ini adalah :
1. Sistem  aplikasi  absensi  berbasis  Android berjalan  dengan  baik  sesuai  perancangan yang telah dibuat.
2. Sistem  absensi  yang  terdiri  dari  absensi masuk,  absensi  kerja,  dan  absensi  pulang berjalan  dengan  baik  sesuai  dengan  lokasi, jam,  dan token  yang  telah  ditentukan  secara online.
3. Absensi  kerja  bisa  memastikan  dan memaksimalkan karyawan agar selalu berada di  kantor  atau  lokasi-lokasi  yang  terlah ditenntukan. Ucapan Terima Kasih

## R EFERENSI
[1]  M.  Alhothaily,  M.  Alradaey,  M.  Oqbah, and A. El-Kustaban,
―Fingerprint Attendance  System  for  Educational Institutes,‖ J. Sci. Technol. , vol. 20, no. 1, pp. 34–44, 2015, doi: 10.20428/jst.20.1.4
[2]  M.  S.  Uddin,  S.  M.  Allayear,  N.  C.  Das, and  F.  A.  Talukder,  ―A  Location  Based Time  and  Attendance  System,‖ Int.  J. Comput. Theory Eng. , no. January, pp. 36–
38, 2014, doi: 10.7763/ijcte.2014.v6.832
[3]  B. Soewito, F. E. Gunawan, and I. P. Rusli, ―The use of android smart phones as a tool for absences,‖ Procedia Comput. Sci. , vol. 157, pp. 238–246, 2019, doi: 10.1016/j.procs.2019.08.163.. [4]  Sopingi, ―Sistem Informasi Donasi Berbasis  Hybrid  Mobile  Menggunakan
Web  Service  pada  Yayasan  Solo  Peduli,‖
Duta.com , vol. 10, no. 1, pp. 1–17, 2016. [5]  M.  I.  Perkasa  and  E.  B.  Setiawan, ―Pembangunan Web Service Data Masyarakat  Menggunakan  REST  API dengan Access Token,‖ J. Ultim. Comput. , vol.  10,  no.  1,  pp.  19–26,  2018,  doi: 10.31937/sk.v10i1.838
[6]  F.  MUSTARI,  ―Aplikasi  Absensi  Guru Pada  Sekolah  Berbasis  Android  (Studi Kasus  Smp  Negeri  1  Bulukumba),‖ Kemamp. Koneksi Mat. (Tinjauan
Terhadap Pendekatan Pembelajaran Savi) , vol. 53, no. 9, pp. 1689–1699, 2019.
[7]  S.  Alfeno  and  R.  E.  C.  Devi, ―Implementasi Global Positioning System ( GPS ) dan Location Based Service ( LSB ) pada  Sistem  Informasi  Kereta  Api  untuk Wilayah Jabodetabek,‖ Sisfotek Glob. , vol. 7,  no.  2,  pp.  27–33,  2017,  [Online]. Available: https://journal.stmikglobal.ac.id/index.php/ sisfotek/article/view/146.