p-ISSN : 2460-3562 / e-ISSN : 2620-8989

## Aplikasi Kehadiran Pegawai berbasis Geolokasi dengan Framework Flutter
Ika Novita Dewi 1 , Enrico Irawan 2
Program Studi Sistem Informasi, Universitas Dian Nuswantoro Jl. Imam Bonjol 207 Semarang 50131
1 ikadewi@dsn.dinus.ac.id
2 112201806085@mhs.dinus.ac.id

## Abstrak
Sistem  presensi  dengan  metode fingerprint yang  umum  digunakan  oleh  prusahaan  mengharuskan  pegawai untuk melakukan presensi langsung di kantor dan terkadang alat fingerprint juga memiliki masalah seperti tidak dapat mendeteksi sidik jari pegawai saat melakukan proses presensi. Penelitian ini mengusulkan pengembangan aplikasi mobile berbasis  Android  untuk  pengelolaan  kehadiran  pegawai  yang  dilengkapi  dengan  fitur pendeteksian  lokasi.  Pendeteksian  lokasi  atau  geolokasi  dapat  dilakukan  dengan  menggunakan  fungsi global positioning  system (GPS).  Fitur  geolokasi  digunakan  untuk  menunjukkan  transparansi  lokasi  pegawai  saat melakukan proses presensi. Aplikasi ini dikembangkan dengan  mengadopsi pendekatan extreme programming (XP)  dan  menggunakan  framework  Flutter  dengan  bahasa  pemrograman  Dart  serta  pengelolaan  basis  data dengan postgreSQL. Selain fitur geolokasi, aplikasi mobile kehadiran pegawai yang dikembangkan juga memiliki kemampuan pendukung untuk pengelolaan data pegawai, pengelolaan cuti, riwayat gaji, serta fitur pengumuman dari perusahaan untuk pegawai. Pengujian aplikasi dilakukan dengan dua metode, yaitu pengujian blackbox dan pengujian pengguna ( User Acceptance Testing ). Hasil pengujian blackbox menunjukkan bahwa produk aplikasi yang telah selesai dikembangkan sudah sesuai dengan kebutuhan sistem (system requirement ). Sedangkan hasil pengujian  UAT  menunjukkan  angka  sebesar  92.75%  untuk user pegawai  dan  98.74%  untuk user HAR.  Hal  ini menunjukkan bahwa aplikasi ini dapat diterima oleh pengguna dengan baik.
Kata kunci: Kehadiran Pegawai, Aplikasi Mobile, Android, Flutter, Geolokasi, Extreme Programming

## Geolocation based Employee Attendance Application using Flutter Framework

## Abstract
Fingerprint  based  attendance  system  that  are  commonly  used  by  companies  require  employees  to  take attendance directly in the office and sometimes fingerprint devices also have problems such as not being able to detect  employees’  fingerprints  during  the  attendance  process.  This  study  proposes  the  development  of  an Android-based  mobile  application  for  managing  employee  attendance  with  a  location-based  detection  feature. Location-based  detection  (geolocation)  can  be  implemented  using  global  positioning  system  (GPS).  The geolocation  feature  is  used  to  show  transparency  of  employees’  locations  when  carrying  out  attendance processes.  This  application  was  developed  by  implementing  extreme  programming  (XP)  and  using  Flutter framework  with  Dart  programming  language  and  PostgreSQL  database  management  system.  In  addition  to geolocation feature, the developed application also has supporting capabilities for employee data management, leave  management,  salary  history,  and  announcement  feature.  Application  testing  is  carried  out  using  two methods, namely blackbox testing and user acceptance testing  - UAT. The blackbox testing results showed that the  application  product  that  has  been  developed  is  in  accordance  with  the  system  requirements.  While  UAT testing  results  showed  performance  of  92.75%  for  employee  user  account  and  98.74%  for  HR  user  account, which indicates that this application can be well received by users.
Keywords: Attendance management, Mobile application, Android, Flutter, Geolocation, Extreme Programming

## I. P ENDAHULUAN
Kehadiran  pandemi  Covid-19  dalam  beberapa  waktu yang  lalu  telah  membawa  perubahan  pada  pola  kerja  di
perusahaan,  misalnya  pergeseran  dari work  from  office (WFO)  menjadi work  from  home (WFH).  Pada  dasarnya WFH  bukan  merupakan  hal  yang  baru  bagi  beberapa
perusahaan, terutama perusahaan yang bergerak di bidang teknologi  informasi  atau StartUp .  Bagi  beberapa perusahaan,  WFH  masih  memiliki  keterbatasan  dalam pelaksanaannya  sehingga  mengharuskan  pengelola  untuk membuat  suatu  strategi  yang  terbaik  bagi  perusahaan, terutama bagian manajemen sumber daya manusia (SDM) agar  pegawai  tetap  terpantau  dan  produktif  dalam melaksanakan tugasnya.
Sebagai  contoh,  suatu  perusahaan  yang  saat  ini  telah menerapkan  presensi  pegawai  dengan  menggunakan fingerprint harus  melakukan  perubahan  sistem  kehadiran secara  online  untuk  pegawai  yang  melakukan  WFH. Sistem fingerprint mengharuskan pegawai untuk melakukan presensi langsung di kantor dan terkadang alat fingerprint juga  memiliki  masalah  seperti  tidak  dapat mendeteksi  sidik  jari  pegawai  saat  melakukan  proses presensi. Selain itu, penggunaan rekap kehadiran pegawai menggunakan worksheet dapat  menimbulkan  masalah seperti  memerlukan  waktu  tambahan  untuk  melakukan rekap  dan  membuat  laporan,  serta  rawan  menimbulkan kecurangan.
Beberapa  penelitian  tentang  pengembangan  aplikasi pengelolaan kehadiran pegawai telah dilakukan sebelumnya. Sebagai contoh, sistem informasi manajemen sumber  daya  manusia  berbasis  web  yang  dikembangkan oleh  Wardhani  dan  Aziz  [1].  Sistem  informasi  ini menyajikan  pengelolaan  data  kehadiran  pegawai  yang bekerja  secara remote dari  luar  kantor  dengan  tujuan mengurangi kesalahan pencatatan kehadiran pegawai yang bekerja di kantor dan di luar kantor. Selanjutnya, ada juga aplikasi mobile pencatatan  kehadiran  pegawai  yang dikembangkan oleh Ahmed, dkk  [2] dengan tujuan untuk meningkatkan  efisiensi  dan  meminimalkan  waktu  kerja dalam  penghitungan  dan  pelaporan  data  kehadiran pegawai.  Aplikasi mobile untuk  sistem  kehadiran  juga dikembangkan  oleh  Istanto,  dkk  [3]  dan  dilengkapi  fitur GPS Tracking .  Pemanfaatan  GPS  pada smartphone digunakan  untuk  memonitor  dan  mengetahui  posisi pegawai  saat  melakukan  proses  kehadiran.  Penelitian- penelitian  ini  telah  dikembangkan  untuk  meningkatkan efektivitas  dan  efisiensi  kerja  dalam  pengelolaan kehadiran  pegawai.  Namun,  belum  dilengkapi  dengan fungsi  pendukung  dalam  pengelolaan  sumber  daya manusia  seperti  pengajuan  cuti,  riwayat  gaji  dan pengumuman untuk pegawai.
Penelitian  ini  mengusulkan  aplikasi  dalam  bentuk platform mobile  berbasis  Android  untuk  pengelolaan kehadiran pegawai. Fitur utama dalam aplikasi ini adalah pencatatan  kehadiran  pegawai  dengan  fitur  geolokasi. Selain  fitur  geolokasi,  aplikasi  yang  dikembangkan  juga memiliki kemampuan pendukung seperti pengelolaan data pegawai,  pengelolaan  cuti,  riwayat  gaji,  serta  fitur pengumuman  dari  perusahaan  untuk  pegawai.  Dengan adanya  fitur-fitur  ini  diharapkan  pengelola  perusahaan dapat meningkatkan kinerjanya dan produktivitas pegawai dapat terpantau dengan baik.
Pengembangan  aplikasi mobile kehadiran  pegawai  ini dilakukan  dengan  menerapkan  pendekatan extreme programming (XP). Pendekatan XP merupakan salah satu model  pendekatan dalam agile  software  development [4].
Pendekatan  XP  memungkinkan  pengembang  untuk bersikap fleksibel terhadap perubahan kebutuhan ( requirement )  selama  proses  pengembangan  berlangsung. Sehingga  kualitas  produk  aplikasi  dapat  meningkat  dan dapat  menyesuaikan  dengan  cepat  terhadap  perubahan kebutuhan  pengguna  [5].  Beberapa  aplikasi  telah menerapkan pendekatan XP dalam proses pengembangannya,  seperti  aplikasi  investasi  peternakan [6],  aplikasi  pemantauan  status  gizi  anak  [7],  aplikasi smart village [8], dan aplikasi inventaris [9]. Keberhasilan pengembangan aplikasi dalam berbagai bidang ini dengan pendekatan  XP  menjadi  pemicu  untuk  menerapkan pendekatan  XP  dalam  proses  pengembangan  aplikasi kehadiran pegawai.
Berdasarkan  Abrahamsson  dkk  [10],  pendekatan  XP memiliki  beberapa  tahapan  yang  meliputi  eksplorasi ( exploration phase ), perencanaan ( planning phase ), siklus perulangan
( iterations to release ), produksi ( productionizing  phase ),  pemeliharaan  ( maintenance phase ),  dan  penutupan  ( death  phase ).  Pada  tahap exploration  phase ,  pihak  pengguna  akan  membuat user story yang berisi fitur-fitur yang akan diterapkan pada saat aplikasi  dirilis.  Pada  tahap planning  phase ,  pengembang akan  menetapkan  urutan  prioritas user  stories .  Tahapan iterations  to  release  phase merupakan  siklus  perulangan yang  terdiri  dari  proses  analisis,  desain,  perencanaan pengujian dan pengujian. Tahap pengujian dan pemeriksaan  kinerja  sistem  dilakukan  pada  tahap productionizing  phase dan  dilakukan  sebelum  dirilis  ke pengguna. Maintenance phase diterapakan setelah produk dirilis  untuk  pertama  kali,  dan  tim  pengembang  harus menjaga  proses  pengembangan  agar  tetap  berjalan  serta menghasilkan  iterasi  baru.  Tahap  akhir death  phase ditetapkan  ketika  pengguna  sudah  tidak  memiliki user story lagi  untuk  diimplementasi  ke  dalam  aplikasi  yang dibangun.
Aplikasi pengelolaan kehadiran pegawai ini dikembangkan  dengan  menggunakan  framework  Flutter (https://flutter.dev/) yang menggunakan bahasa pemrograman  Dart  (https://dart.dev/).  Framework  Flutter dipilih  karena  merupakan  framework  multi-platform  baik Android  maupun  IoS  dengan  menggunakan  satu  code dasar. Hal ini membuat proses pengembangan lebih cepat karena  tidak  perlu  mempelajari  bahasa  native  pada masing-masing  platform.  Beberapa  aplikasi  yang  telah dikembangkan  menggunakan  framework  Flutter  meliputi aplikasi mobile tanggap  bencana  [11],  aplikasi mobile penjualan  tiket  [12],  aplikasi inventory dan  pengaturan pengiriman  barang  [13], mobile  learning  management system [14] dan aplikasi smart training [15].
Sistem  pengelolaan  basis  data  yang  digunakan  dalam pengembangan  aplikasi mobile pengelolaan  kehadiran pegawai adalah postgreSQL (https://www.postgresql.org/). PostgreSQL merupakan sistem basis data relasional objek yang mendukung perintah SQL dan dapat digunakan pada web  app dan  aplikasi mobile serta  dapat  mengolah  data yang  kompleks  [16].  Pendeteksian  lokasi  ( geolocation ) dilakukan dengan menggunakan fungsi global positioning system (GPS).  GPS  digunakan  untuk  mendapatkan  titik latitude dan longitude pengguna  yang  kemudian
dikirimkan  ke  server  [17].  Fitur  geolokasi  ini  diperlukan untuk  menunjukkan  transparansi  lokasi  pegawai  saat melakukan  proses  presensi.  Selain  itu,  pengelola perusahaan juga dapat memantau dan membuat pencatatan serta pelaporan secara rinci terhadap kehadiran pegawai.

## II. M ETODE P ENELITIAN
Proses  pengembangan  aplikasi  mobile  kehadiran pegawai dilakukan dalam tiga tahapan yang meliputi studi pustaka,  identifikasi  masalah,  dan  pengembangan  produk aplikasi  dengan extreme  programming (XP).  Tahapan pengembangan aplikasi digambarkan dalam Gambar 1.
Identifikasi Masalah Studi Pustaka Pengembangan Produk Aplikasi • Jurnal dan artikel ilmiah
• Artikel populer
• Survei • Wawancara Pendekatan Extreme Programming • Exploration
• Planning • Iteration to release • Productionizing • Maintenance
• Death

## Gambar 1. Tahapan Penelitian
Diagram  tahapan  penelitian  yang  ditunjukkan  dalam Gambar  1  menjelaskan  tentang  proses  pengembangan aplikasi mobile kehadiran  pegawai.  Tahapan  pertama merupakan  proses  identifikasi  masalah  yang  dilakukan dengan  melakukan  survei  dan  wawancara  dengan  obyek penelitian.  Tahapan  kedua,  studi  pustaka,  dilakukan dengan  melakukan review terhadap  jurnal  dan  artikel ilmiah serta artikel populer yang berkaitan dengan proses pengembangan aplikasi mobile . Tahapan ketiga, pengembangan  produk  aplikasi,  merupakan  proses pembuatan  produk  aplikasi mobile dengan  menerapkan pendekatan XP.

## A. Identifikasi Masalah
Tahapan  identifikasi  masalah  merupakan  proses  untuk mengetahui  dan  memperoleh  gambaran  permasalahan yang  terjadi  di  obyek  penelitian,  yaitu  PT  MKPM.  PT MKPM  merupakan  perusahaan  yang  bergerak  dalam bidang financial  technology dan e-ticketing .  Saat  ini  PT MKPM  ingin  meningkatkan  layanan  sistem  pengelolaan kehadiran  pegawai.  Proses  identifikasi  masalah  ini dilakukan  dengan  survei  dan  wawancara  kepada  pegawai PT MKPM.

## B. Studi Pustaka
Studi  pustaka  merupakan  tahapan  untuk  menggali informasi  tentang  pengembangan  aplikasi mobile yang bersumber  pada  jurnal  dan  artikel  ilmiah  serta  artikel populer  dengan  tujuan  untuk  mendukung  penyelesaian masalah.  Tahapan  ini  juga  dilakukan  untuk  mencari research gap dengan penelitian yang telah ada.

## C. Pengembangan Produk Aplikasi
Pengembangan  produk  aplikasi  merupakan  tahapan untuk  menyelesaikan  masalah  dan  merealisasikan  produk aplikasi  yang  diusulkan.  Tahapan  ini  menerapkan pendekatan XP seperti yang dapat dilhat dalam Gambar 2. Pendekatan  XP  terdiri  atas  lima  proses,  yaitu exploration phase (eksplorasi), planning  phase (perencanaan),
iterations  to  release (siklus  perulangan), productionizing phase (produksi), maintenance phase (pemeliharaan), dan death phase (penutupan).
1)  Exploration  phase .  Tahap  awal  pengembangan merupakan  proses  untuk  menentukan  kebutuhan  sistem dan user ( requirement ),  serta  pengumpulan  data  dalam bentuk user  story . User  story memiliki  peranan  penting dalam  pendekatan  XP  karena  dapat  mencakup  semua aspek  fungsionalitas  aplikasi  yang  akan  dikembangkan dari  sudut  pandang  pengguna  [18].  Tahap  ini  dilakukan dengan  melakukan  wawancara  dengan  pegawai  PT MKPM  untuk  mendapatkan  data  secara  detail  agar  dapat memahami  kebutuhan  pengguna.  Beberapa  pertanyaan yang  diajukan  ke  pegawai  PT  MKPM  terkait  dengan kegiatan  dan  proses  bisnis  yang  dilakukan  pada  saat proses  presensi  pegawai,  pengajuan  dan approval cuti karyawan.
2)  planning phase . Tahap perencanaan ini akan dilakukan dengan membuat dan menetapkan fitur aplikasi berdasarkan user  story dan  urutan  prioritas  pengerjaan dengan  membuat timeline atau  jadwal  pengerjaan  dan dilakukan secara berulang dalam satu iterasi atau siklus.
3)  iterations  to  release .  Setelah  menentukan  siklus pengerjaan, maka langkah selanjutnya adalah merealisasikan setiap  siklus yang telah ditentukan. Tahap ini  terdiri  dari  beberapa  proses,  yaitu  analisis,  desain, perencanaan  pengujian  dan  pengujian.  Tahap  ini  akan dilakukan secara berulang hingga menghasilkan fitur atau fungsionalitas aplikasi sesuai yang diinginkan.
4)  productionizing  phase .  Setelah  semua  siklus  selesai dikerjakan,  maka  produk  aplikasi  siap  untuk  dirilis  ke pengguna.  Namun,  sebelum  dirilis  perlu  dilakukan pengecekan  kembali  tentang  fungsionalitas  aplikasi  dan pengujian aplikasi. Pengujian dilakukan dengan menerapkan  pengujian  fungsional  aplikasi  oleh pengguna dengan menggunakan metode pengujian black box testing dan pengujian tingkat penerimaan pengguna menggunakan user acceptance testing (UAT).
5)  maintenance  phase .  Setelah  aplikasi  dirilis  kepada pengguna  akhir,  pengembang  dapat  melakukan  perbaikan atau  perubahan  kebutuhan  sesuai  dengan  hasil  pengujian yang telah dilakukan.
6) death phase . Ketika aplikasi sudah berjalan dan sudah tidak  ada  perubahan  kebutuhan  dari  pengguna  maka pengembang  dapat  menghentikan  proses  pengembangan aplikasi.
Gambar 2. Pendekatan Extreme Programming [10]

## III. H ASIL DAN P EMBAHASAN
Bagian  ini  akan  menyajikan  hasil  pengembangan produk  aplikasi mobile pengelolaan  kehadiran  pegawai dengan pendekatan XP beserta pembahasannya.

## A. Rancangan Aplikasi
Tahap awal pengembangan aplikasi mobile pengelolaan kehadiran  pegawai  dimulai  dengan  membuat user  stories sesuai dengan kebutuhan sistem dan kebutuhan pengguna. User stories yang telah dibuat dapat dilihat dalam Tabel 1. Berdasarkan  Tabel  1,  terdapat  14 user  stories meliputi registrasi, login ,  presensi,  melihat  riwayat  presensi, melihat  riwayat  gaji  masuk,  pengajuan  cuti,  melihat riwayat  cuti,  pengumuman,  input  pengumuman,  input pegawai,  edit  data  pegawai,  hapus  pegawai, approval permintaan  cuti  dan  input  gaji  pegawai. User  stories ini nantinya  akan  menjadi  fitur  dalam  aplikasi mobile pengelolaan kehadiran pegawai.
Setelah  penentuan user  stories ,  langkah  selanjutnya adalah melakukan analisis dan rancangan produk aplikasi. Rancangan pertama yang dibuat adalah use-case diagram. Use-case diagram dirancang  untuk  menggambarkan interaksi  antara  aktor  atau user dengan  fitur  atau fungsionalitas  dalam  suatu  aplikasi.  Use-case  diagram dapat  dilihat  dalam  Gambar  3.  Berdasarkan  use-case diagram  dalam  Gambar  3  terdapat  dua  aktor,  yaitu pegawai  dan  bagian human  resource (HR)  atau  sumber daya  manusia  yang  akan  berinteraksi  dengan  use-case yang telah ditentukan.
TABEL I U SER STORIES APLIKASI KEHADIRAN PEGAWAI Judul Deskripsi Kriteria Penerimaan Registrasi Sebagai user pegawai. Pengguna mendaftarkan diri agar dapat memiliki akses terhadap aplikasi. Terdapat menu registrasi untuk mendaftar akun bagi user.  Hal yang diperlukan dalam registrasi adalah memasukkan email dan password. Email yang digunakan merupakan email kantor dan sudah didaftarkan oleh bagian HR pada sistem. Login Sebagai user pegawai. Halaman bagi pengguna untuk masuk dan menggunakan Terdapat menu login agar user dapat menggunakan fitur yang ada pada aplikasi.  Hal yang diperlukan untuk bisa
Judul Deskripsi Kriteria Penerimaan aplikasi. login aplikasi adalah memasukkan email yang digunakan saat registrasi dan password. Presensi Sebagai user pegawai. Pegawai dapat melakukan presensi kehadiran saat mulai dan selesai bekerja dari lokasi saat ini. Terdapat menu presensi agar user dapat melakukan check-in dan check-out. User harus login terlebih dahulu ke dalam aplikasi sebelum menggunakan fitur kehadiran. Melihat riwayat presensi Sebagai user pegawai. Pegawai dapat melihat riwayat kehadiran yang telah dilakukan. Terdapat menu riwayat kehadiran yang menampilkan riwayat kehadiran pegawai. User harus melakukan login terlebih dahulu sebelum menggunakan fitur melihat riwayat presensi. Melihat riwayat gaji masuk Sebagai user pegawai. Pegawai dapat melihat riwayat gaji masuk. Terdapat menu riwayat gaji yang menampilkan riwayat gaji masuk pegawai. User harus login terlebih dahulu sebelum menggunakan fitur melihat riwayat gaji masuk. Pengajuan cuti Sebagai user pegawai. Pegawai dapat melakukan pengajuan cuti
tanpa harus mengisi lembar formulir cuti dan menyerahkannya ke bagian HR
untuk disetujui. Terdapat menu pengajuan cuti yang menampilkan form pengajuan cuti. User harus login terlebih dahulu sebelum menggunakan dan mengisi form pengajuan cuti. Melihat riwayat cuti Sebagai user pegawai. Pegawai dapat melihat riwayat pengajuan cuti baik yang disetujui maupun yang ditolak. Terdapat menu riwayat cuti yang menampilkan riwayat pengajuan cuti Mengakses/melihat pengumuman Sebagai user pegawai. Pegawai dapat melihat pengumuman dari perusahaan yang dibuat oleh pihak HR. Terdapat menu pengumuman yang dapat diakses oleh semua pegawai. User harus login terlebih dahulu sebelum menggunakan fitur melihat pengumuman. Membuat/input pengumuman Sebagai user HR. Pihak HR dapat membuat pengumuman yang dapat diakses atau dilihar oleh pegawai. Terdapat menu buat pengumuman yang dapat diakses oleh pihak HR. Pihak HR harus login terlebih dahulu sebelum menggunakan fitur buat pengumuman. Menambah/input pegawai Sebagai user HR. Pihak HR dapat menambahkan data pegawai baru ke dalam sistem. Terdapat menu tambah pegawai yang dapat diakses oleh pihak HR. Untuk menambah data pegawai, user HR harus memasukan nama pegawai, email kantor, gaji, jatah cuti, divisi, role, npwp, alamat, tanggal bergabung, no rekening, status aktif, dan jabatan.
Edit/update data pegawai Sebagai user HR. Pihak HR dapat mengubah data pegawai seperti gaji, alamat, status
Terdapat menu ubah data pegawai yang dapat diakses oleh pihak HR. User HR harus login terlebih dahulu sebelum
Judul Deskripsi Kriteria Penerimaan dan jabatan. menggunakan fitur ubah data pegawai. Hapus data pegawai Sebagai user HR. Pihak HR dapat menghapus data pegawai yang berhenti bekerja. Terdapat menu hapus data pegawai yang dapat diakses oleh pihak HR. User HR harus login terlebih dahulu sebelum menggunakan fitur hapus data pegawai. Approval permintaan cuti Sebagai user HR. Pihak HR dapat melakukan persetujuan atau penolakan terhadap pengajuan cuti yang diajukan pegawai. Terdapat menu persetujuan cuti yang dapat diakses
oleh pihak HR. User HR harus login terlebih dahulu sebelum menggunakan
fitur persetujuan
pengajuan cuti. Input gaji pegawai Sebagai user HR. Pihak HR dapat melakukan input gaji pegawai. Terdapat menu input gaji pegawai yang dapat diakses oleh pihak HR.
Gambar  3.  Use-case  diagram  Aplikasi  Mobile  Pengelola  Kehadiran Pegawai
Rancangan  berikutnya  adalah  sequence  diagram. Sequence diagram merupakan diagram untuk menggambarkan  urutan  proses  dan  interaksi  antar  obyek dalam suatu sistem. Sequence diagram dalam pengembangan  aplikasi mobile pengelolaan  kehadiran pegawai  meliputi  sequence  diagram  login,  sequence diagram  registrasi,  sequence  diagram  presensi,  sequence diagram  melihat  presensi,  sequence  diagram  melihat riwayat  gaji  masuk,  sequence  diagram  pengajuan  cuti, sequence diagram melihat riwayat cuti, sequence diagram melihat pengumuman, sequence diagram input pengumuman, sequence diagram input pegawai, Sequence diagram  edit  pegawai,  sequence  diagram  hapus  pegawai, sequence diagram approval permintaan cuti, dan sequence diagram  input  gaji  pegawai.  Salah  satu  contoh  sequence
diagram  presensi  kehadiran  pegawai  dapat  dilihat  pada Gambar 4.
Gambar  4  mendeskripsikan  tentang  sequence  diagram untuk proses presensi kehadiran pegawai. Proses presensi dimulai  ketika  aktor  pegawai  menekan  tombol  presensi, lalu  dijalankan  proses  penyimpanan  data  presensi  ke dalam database .  Jika  proses  penyimpanan  sukses  maka akan  menampilkan  pesan  sukses,  sebaliknya  jika  proses penyimpanan gagal, maka akan menampilkan pesan gagal.
Gambar 4. Sequence diagram kehaditan pegawai
Setelah membuat sequence diagram, langkah berikutnya  adalah  membuat  rancangan  activity  diagram. Activity  diagram  adalah  diagram  yang  menggambarkan alur dan tindakan untuk memodelkan proses-proses dalam sistem.  Activity  diagram  yang  dibuat  meliputi    activity diagram  login,  activity  diagram  registrasi,  activity diagram  presensi,  activity  diagram  melihat  presensi, activity  diagram  melihat  riwayat  gaji  masuk,  activity diagram  pengajuan  cuti,  activity  diagram  melihat  riwayat cuti,  activity  diagram  melihat  pengumuman,  activity diagram  input  pengumuman,  activity  diagram  input pegawai,  activity  diagram  edit  pegawai,  activity  diagram hapus pegawai, activity diagram approval permintaan cuti, dan activity diagram input gaji pegawai. salah satu contoh activity diagram dalam proses presensi dapat dilihat pada gambar 5.
Gambar  5  menggambarkan  activity  diagram  yang dimulai  ketika  aktor  pegawai melakukan  presensi  dengan menekan tombol presensi, lalu dijalankan proses presensi yang  akan  mengambil  lokasi  keberadaan  pegawai  dan menyimpannya ke dalam database . Jika proses penyimpanan  sukses  maka  akan  menampilkan  pesan sukses,  sebaliknya  jika  proses  penyimpanan  gagal,  maka akan menampilkan pesan gagal.
Rancangan  berikutnya  adalah  membuat  class  diagram. Class  diagram  merupakan  gambaran  struktur  sistem dengan  menunjukkan  sistem  class,  atribut,  metode,  dan hubungan antar obyek. Class diagram dapat dilihat dalam Gambar  6.  Berdasarkan  Gambar  6  terdapat  enam  kelas, yaitu  class  absensi,  class  pegawai,  class  cuti,  class  gaji, class role dan class pengumuman.
Gambar 6. Class diagram aplikasi pengelolaan kehadiran pegawai

## B. Implementasi
Aplikasi  pengelolaan  kehadiran  pegawai  ini  dapat dijalankan  pada  perangkat mobile dengan  platform Android  versi  5.0  ke  atas  dan  minimal  spesifikasi  RAM adalah  2GB  dan  ROM  16  GB.  Rancangan  aplikasi  yang telah  dibuat  diimplementasikan  menggunakan  framework Flutter dengan bahasa pemrograman Dart serta teks editor dan IDE menggunakan Visual Studio Code ( https://visualstudio.microsoft.com/ )  untuk  menghasilkan tampilan frontend atau tampilan untuk pengguna aplikasi. Tampilan frontend akan  ter-koneksikan  dengan backend atau  pemrosesan  data  yang  tidak  terlihat  oleh  pengguna menggunakan  Supabase  ( https://supabase.com/ )  dengan basisdata postgreSQL ( https://www.postgresql.org/ ). Beberapa  tampilan  antarmuka  ( user  interface )  yang dihasilkan  dapat  dilihat  dalam  Gambar  7,  Gambar  8,  dan Gambar 9.
Dalam Gambar 7 terdapat tiga tampilan halaman untuk pengguna, yaitu halaman login, menu utama, dan presensi kehadiran.  Gambar  7(c)  menunjukkan  informasi  presensi kehadiran  pegawai  dengan  waktu,  tanggal  dan  lokasi check-in serta lokasi check-out yang dideteksi menggunakan  fungsi  GPS.  Gambar  8  menunjukkan  tiga tampilan halaman pengguna untuk halaman akun, riwayat kehadiran,  dan  riwayat  cuti.  Sedangkan  halaman  9
menunjukkan tiga tampilan user interface untuk pengajuan cuti,  persetujuan  cuti  dan  pengumuman  perusahaan  yang dibuat oleh bagian HR.
7(a) 7(b) 7(c)
Gambar 7. Tampilan pengguna untuk (a) halaman login (b) menu utama dan (c) presensi kehadiran
8(a) 8(b)
8(c)
Gambar  8.  Tampilan  pengguna  untuk  (a)  halaman  akun  (b)  riwayat kehadiran (c) riwayat cuti
9(a) 9(b) 9(c)
Gambar  9.  Tampilan  pengguna  untuk  (a)  form  pengajuan  cuti  (b) persetujuan cuti (c) pengumuman

## C. Pengujian
Pengujian  pertama  yang  dilakukan  adalah blackbox testing dengan tujuan untuk menguji kelayakan fungsionalitas  aplikasi.  Pengujian blackbox diterapkan pada  semua  fitur  dalam  aplikasi  yang  meliputi  halaman register, halaman login, halaman home, halaman presensi, halaman  akun,  halaman  riwayat  kehadiran,  halaman
riwayat  cuti,  halaman  pengajuan  cuti,  halaman  Riwayat gaji,  halaman  approval  cuti,  halaman  input  gaji,  halaman data  pegawai,  dan  halaman  input  pengumuman.  Hasil  uji yang  telah  dilakukan  menunjukkan  bahwa  skenario pengujian menghasilkan output sesuai yang diinginkan. Pengujian  selanjutnya  adalah user  acceptance  testing (UAT)  yang  dilakukan  dengan  memberikan  daftar pertanyaan tentang performa aplikasi kepada user dengan hak  akses  pegawai  sebanyak  14  user  dan  hak  akses  HR sebanyak 4 user. Daftar pertanyaan UAT untuk hak akses pegawai  dapat  dilihat  dalam  Tabel  2.  Sedangkan  daftar pertanyaan UAT untuk hak akses HR dapat dilihat dalam Tabel  3.  Para  user  diminta  untuk  mencoba  keseluruhan fitur  dalam  aplikasi  dan  dilanjutkan  dengan  menjawab pertanyaan  yang  telah  diberikan  dengan  empat  pilihan jawaban,  yaitu  tidak  setuju  (TS)  dengan  bobot  1,  kurang setuju  (KS)  dengan  bobot  2,  setuju  (S)  dengan  bobot  3, dan sangat setuju (SS) dengan bobot 4.
TABEL II D AFTAR P ERTANYAAN UAT UNTUK USER PEGAWAI Pertanyaan Jawaban user Nilai bobot % Nilai bobot TS KS S SS Apakah fitur check-in dan check-out dengan geolokasi mempermudah Anda dalam melakukan presensi saat bekerja? - - 5 9 ((3x5) +
(4x9)) =
51/14 = 3.64 (3.64/4) x 100% = 91% Apakah fitur pengajuan cuti dapat mempermudah pengajuan cuti Anda? - - 3 11 ((3x3) + (4x11)) = 53/14 = 3.78 (3.78/4) x 100% = 94.5% Apakah fitur melihat riwayat gaji dapat mempermudah Anda dalam melihat riwayat gaji
yang masuk tiap bulannya? - - 2 12 ((3x2) + (4x12)) = 54/14 = 3.85 (3.85/4) x 100% = 96.25% Apakah fitur pengumuman dapat mempermudah Anda dalam mendapatkan informasi dari kantor? - - 4 10 ((3x4) + (4x10)) = 52/14 = 3.71 (3.71/4) x 100% = 92.75% Apakah semua fitur yang tersedia mempermudah Anda dalam mengelola administrasi pekerjaan kantor? - - 6 8 ((3x6) + (4x8)) = 50/14 = 3.57 (3.57/4) x 100% = 89.25%
Persentase  nilai  bobot  yang  didapatkan  dari  setiap pertanyaan  akan  dijumlahkan  dan  dihitung  nilai  rata- ratanya  untuk  mendapatkan  nilai  persentase  UAT.  Hasil persentase UAT untuk user pegawai adalah (91%+94.5%+96.25%+92.75%+89.25%)/5  = 92.75% . Sedangkan  persentase  UAT  untuk  user  HR  adalah (100%+93.7%+100%+100%+100%)/5  = 98.74% .  Hasil UAT  yang  didapatkan  menunjukkan  bahwa  aplikasi pengelolaan  kehadiran  pegawai  dapat  diterima  dengan baik  oleh  pengguna  dan  dapat  mendukung  pengelolaan administrasi baik untuk pegawai maupun pihak HR.
TABEL III D AFTAR P ERTANYAAN UAT UNTUK USER HR Pertanyaan Jawaban user Nilai bobot % Nilai bobot TS KS S SS Apakah fitur approval cuti mempermudah dalam mengelola pengajuan cuti pegawai? - - - 4 4x4 =16/4 = 4 (4/4) x 100% = 100% Apakah fitur gaji mempermudah dalam pendataan data gaji pegawai? - - 1 3 ((3x1)+(4x3)) = 15/4 = 3.75 (3.75/4) x 100% = 93.7% Apakah fitur data pegawai mempermudah dalam mengelola informasi pegawai? - - - 4 4x4 =16/4 = 4 (4/4) x 100% = 100% Apakah fitur pengumuman mempermudah dalam menyebarkan informasi kantor ke pegawai? - - - 4 4x4 =16/4 = 4 (4/4) x 100% = 100% Apakah semua fitur yang tersedia mempermudah dalam mengelola administrasi pekerjaan kantor? - - - 4 4x4 =16/4 = 4 (4/4) x 100% = 100%

## IV. K ESIMPULAN
Pengembangan  produk  aplikasi mobile pengelolaan kehadiran  pegawai  telah  berhasil  diselesaikan  sesuai dengan  kebutuhan  sistem  dan  kebutuhan  pengguna  yang telah ditetapkan dengan menerapkan pendekatan XP. Fitur utama dalam aplikasi ini adalah pegawai dapat melakukan check-in lokasi dan waktu saat mulai bekerja serta check- out saat  selesai  bekerja.  Hal  ini  memudahkan  pihak  HR dalam  mengelola  data  kehadiran  pegawai.  Selain  itu adanya fitur tambahan seperti pengajuan cuti, riwayat gaji, dan  pengumuman  yang dapat  diakses  dalam  satu  aplikasi dapat  meningkatkan  efektivitas  kerja  pegawai  dan  pihak HR.  Pengujian  aplikasi  dilakukan  dengan  menerapkan
blackbox testing dan UAT. Blackbox testing menunjukkan hasil  pengujian  fungsionalitas  aplikasi  sesuai  dengan skenario  yang  telah  ditentukan.  Hasil  UAT  yang dilakukan  juga  menunjukkan  bahwa  aplikasi  ini  dapat diterima  dengan  baik  oleh  pengguna.  Penelitian selanjutnya  yang  dapat  dilakukan  untuk  meningkatkan performa aplikasi kehadiran pegawai ini adalah penambahan  sistem push notification pada  saat  karyawan melakukan pengajuan cuti dan penambahan fitur progress pekerjaan  pada  saat  karyawan  sedang  tidak  bekerja  di kantor.  Selain  itu,  pengembangan  aplikasi  mobile  untuk platform  IoS  juga  diperlukan  sehingga  menjadi  cross- platform software.

## D AFTAR P USTAKA
[1] N.  K.  Wardhani  and  M.  T.  A.  Aziz,  “Sistem  Informasi Manajemen Sumber Daya Manusia Berbasis Web (Studi Kasus:
PT. Klik Teknologi Indonesia),” J. Techno Nusa Mandiri , vol. 15, no. 2, p. 145, 2018, doi: 10.33480/techno.v15i2.933.
[2] F. Y. H. Ahmed, K. L. T. Aik, A. S. Radzi, and M. D. Salleh,
“Develop  attendance  management  system  with  feedback  and complaint management function,” in Proceeding  -  2019  IEEE 7th Conference on Systems, Process and Control, ICSPC 2019 ,
2019, no. December,
pp. 248–252, doi:
10.1109/ICSPC47137.2019.9068041.
[3] B.  Isnanto,  A.  Amir  Alkodri,  and  Supardi,  “Attendance Monitoring with GPS Tracking on HR Management,” 2020 8th Int.  Conf.  Cyber  IT  Serv.  Manag.  CITSM  2020 ,  2020,  doi: 10.1109/CITSM50537.2020.9268915.
[4] D. Dönmez and G. Grote, The practice of not knowing for sure: How  agile  teams  manage  uncertainties ,  vol.  149,  no.  June. 2013.
[5] R.  S.  Pressman  and  B.  Maxim, Software  Engineering:  A Practitioner’s Approach 9th Edition . McGraw-Hill Education,
2019.
[6] R.  I.  Borman,  A.  T.  Priandika,  and  A.  R.  Edison,
“Implementasi  Metode  Pengembangan  Sistem  Extreme Programming  (XP)  pada  Aplikasi  Investasi  Peternakan,”
JUSTIN  (Jurnal  Sist.  dan  Teknol.  Inf.  ) ,  vol.  8,  no.  3,  p.  272, 2020, doi: 10.26418/justin.v8i3.40273.
[7] M.  M.  Purba,  Y.  I.  Chandra,  and  E.  Orlando,  “Penerapan Metode  Agile  Process  Dengan  Model  Extreme  Programming Dalam Merancang Aplikasi Informasi Pemantauan Status Gizi
Anak Balita Berbasis Web Mobile,” JSI (Jurnal Sist. Informasi) Univ. Suryadarma , vol. 9, no. 1, pp. 83–94, 2022.
[8] E. Erwanto, D. A. Megawaty, and P. Parjito, “Aplikasi Smart
Village  Dalam  Penerapan  Goverment  To  Citizen  Berbasis Mobile  Pada  Kelurahan  Candimas  Natar,” J.  Inform.  dan Rekayasa Perangkat Lunak , vol. 3, no. 2, pp. 226–235, 2022.
[9] E.  Ngaga,  S.  D.  B.  Mau,  and  A.  A.  J.  Sinlae,  “Mobile Application Inventory Sarana dan Prasarana Sekolah Dasar,” J. Tek. Inform. dan Sist. Inf. , vol. 9, no. 4, pp. 2829–2842, 2022.
[10] P. Abrahamsson, O. Salo, J. Ronkainen, and J. Warsta, “Agile software  development  methods:  Review  and  analysis,” VTT Publ. , no. 478, pp. 3–107, 2002.
[11] M.  Fauzi,  A.  Teddyyana,  and  D.  Enda,  “Pengembangan Aplikasi  Mobile  Tanggap  Bencana  Di  Kab.  Bengkalis Menggunakan Framework Flutter,” Zo. J. Sist. Inf. , vol. 3, no. 1, pp. 27–36, 2021, doi: 10.31849/zn.v3i1.5856.
[12] D.  Yanuaresta,  I.  N.  Dewi,  and  R.  R.  Sani,  “Pengembangan Integrated  Ticketing  System  dengan  Framework  Scrum  untuk Meningkatkan  Transparansi  Pengelolaan  Wisata  Pantai  Pasir Kencana,” JUSTIN  (Jurnal  Sist.  dan  Teknol.  Informasi) ,  vol. 11, no. 4, pp. 612–616, 2023, doi: 10.26418/justin.v11i4.69608.
[13] S.  Tjandra  and  G.  S.  Chandra,  “Pemanfaatan  Flutter  dan Electron  Framework  pada  Aplikasi  Inventori  dan  Pengaturan Pengiriman Barang,” J. Inf. Syst. Hosp. Technol. , vol. 2, no. 02, pp. 76–81, 2020, doi: 10.37823/insight.v2i02.109.
[14] C.  Kartiko,  A.  C.  Wardhana,  and  D.  P.  Rakhmadani, “Pengembangan  Mobile  Learning  Management  System Dengan  User  Centered  Design  (UCD)  Menggunakan  Flutter Framework,” J. Media Inform. Budidarma , vol. 6, no. 2, p. 960,
2022, doi: 10.30865/mib.v6i2.3524.
[15] L. F. Luthfyana and E. Sediyono, “Rancang Bangun Aplikasi Smart  Training  Berbasis  Android  Menggunakan  Flutter Dengan Metode RAD,” J. Tek. Inform. dan Sist. Inf. , vol. 8, no. 2, pp. 420–437, 2021.
[16] D.  A.  B.  Prasetyo  and  Y.  A.  Susetyo,  “Implementasi Information  Schema  Database  Pada  Postgre  SQL  Untuk Pembuatan  Tabel  Informasi  Dengan  Menggunakan  Python  Di PT XYZ,” J. Tek. Inform. dan Sist. Inf. , vol. 9, no. 3, pp. 1961– 1972, 2022.
[17] G. H. Wibowo, J. A. Prasetyo, and M. D. Ayatullah, “Rancang Bangun  Aplikasi  Presensi  Berbasis  Geolokasi  dan  Interval Waktu,” J.  ELTEK ,  vol.  19,  no.  1,  pp.  18–25,  2021,  doi: 10.33795/eltek.v1712.xxx.
[18] R.  M.  Chopade  and  N.  S.  Dhavase,  “Agile  software development: Positive and negative user stories,” in 2017 2nd International  Conference  for  Convergence  in  Technology, I2CT  2017 ,  2017,  vol.  2017-Janua,  pp.  297–299,  doi: 10.1109/I2CT.2017.8226139.