## Terakreditasi SINTA Peringkat 4
Surat Keputusan Dirjen Penguatan Riset dan Pengembangan Ristek Dikti No. 28/E/KPT/2019 masa berlaku mulai Vol.3 No. 1 tahun 2018 s.d  Vol. 7 No. 1 tahun 2022
Terbit online pada laman web jurnal: http://publishing-widyagama.ac.id/ejournal-v2/index.php/jointecs
Vol. 5 No. 1 (2020) 01 - 08

## JOINTECS
(Journal of Information Technology and Computer Science)
e-ISSN:2541-6448 p-ISSN:2541-3619

## Implementasi Sinkronisasi Database Berbasis RESTful Web Services pada Aplikasi Presensi
Deny Kristianto Pamuji 1 , Mahmud Yunus 2 , Dinny Wahyu Widarti 3
Program Studi Teknologi Informasi, STMIK PPKIA Pradnya Paramita Malang 1 denykpamuji@gmail.com, 2 myoenoes@gmail.com, 3 dinnywidarti@gmail.com

## Abstract
3PM  Solution  is  one  company  with  high  employee  mobility.  To  make  a  presence,  a  mobile  presence  system  uses  an application, so employees do not have to be present in the official to attend. However, new problems arise when employees cannot  to  the  internet,  which  causes  employees  to  be  unable  to  attend.  To  overcome  these  problems,  a  synchronization method will be implemented which allows the application to run offline so that it does not have dependency on the internet network. Based on the research result obtained that the synchronization method is able to make the presence application run offline.  The  application  is  able  to  get  100%  success  from  a  total  a  25  repetitions  of  offline  attendance  simulation  and synchronization of attendance data in the testing process.
Keywords: information systems; presence; android; synchronization; offline

## Abstrak
3PM Solution merupakan  salah satu perusahaan dengan mobilitas karyawan  yang  cukup tinggi. Untuk  melakukan presensi, digunakan  sistem  presensi  mobile  menggunakan  aplikasi,  sehingga  karyawan  tidak  harus  hadir  di  kantor  untuk  melakukan presensi. Namun  masalah baru  muncul ketika  karyawan tidak  dapat terhubung dengan  jaringan internet  yang  menyebabkan karyawan  tidak  dapat  melakukan  presensi.  Untuk  mengatasi  masalah  tersebut,  akan  dilakukan  implementasi  metode sinkronisasi  yang  memungkinkan  aplikasi  berjalan  secara  offline  sehingga  tidak  memiliki  ketergantungan  dengan  jaringan internet. Berdasarkan hasil penelitian diperoleh bahwa metode sinkronisasi mampu membuat aplikasi presensi berjalan secara offline.  Aplikasi  mampu  mendapatkan  keberhasilan  sebesar  100%  dari  total  25  kali  perulangan  simulasi  presensi  secara offline dan sinkronisasi data presensi dalam proses pengujian.
Kata kunci: sistem informasi; presensi; android; sinkronisasi; offline
© 2020 Jurnal JOINTECS

## 1. Pendahuluan
Sistem  presensi  merupakan  komponen  penting  bagi sebuah  perusahaan,  karena  data  presensi  diperlukan untuk  memeriksa  kehadiran  karyawan  yang  akan diperhitungkan  sebagai  dasar  penggajian.  Mobilitas yang  tinggi  merupakan  salah  satu  kendala  bagi perusahaan,  di  mana  karyawannya  sering  melakukan kunjungan  ke  luar  kota,  sehingga  diperlukan  sebuah sistem presensi yang bisa dilakukan tanpa harus datang ke kantor.
3PM  Solution  merupakan  salah  satu  perusahaan  yang memiliki  karyawan  dengan  mobilitas  tinggi.  Saat penelitian  ini  dibuat  3PM  Solution  memiliki  3  orang karyawan.  Untuk  mengatasi  permasalahan  tersebut, 3PM  Solution  telah  menggunakan  sebuah  aplikasi presensi mobile dengan perangkat smartphone android. Presensi  dilakukan  dengan mengambil  swafoto karyawan kemudian mengirimkannya ke server beserta koordinat lokasi pengiriman.
Akan tetapi muncul permasalahan baru yang menggangu proses presensi, dimana terkadang karyawan  berada  pada  suatu  daerah  terpencil  sehingga susah  untuk  mendapatkan  sinyal  atau  ketika  jaringan internet  sedang  bermasalah.  Karena  kondisi  tersebut, karyawan  tidak  dapat  melakukan  presensi  karena aplikasi  presensi  membutuhkan  adanya  koneksi internet.  Aplikasi  presensi  berjalan  secara real time sehingga  data  presensi  harus  di- input secara  langsung karena tanggal presensi  diambil  secara otomatis  sesuai tanggal saat ini dan tidak dapat diganti oleh pengguna. Oleh  karena  itu,  pengguna  tidak  bisa  menunda  di  lain waktu untuk  melakukan presensi karena  bisa dianggap terlambat atau bahkan absen.
Untuk  menyelesaikan  masalah  tersebut,  penulis merancang  pengembangan  fitur  agar  presensi  dapat dilakukan  secara offline tanpa  membutuhkan  koneksi internet  yang  kemudian  dilakukan  sinkronisasi  dengan database  server.  Pada  penelitian  sebelumnya,  Fadlal (2014)  menerapkan  metode  sinkronisasi  database berbasis rest  web  service pada  kamus  mobile  Jawa- Indonesia.  Hasil  dari  penelitian  tersebut  menunjukkan bahwa metode sinkronisasi mampu menyelaraskan data pada database lokal dengan database server [1].
Dengan  metode  ini,  ketika  pengguna  sedang  tidak terkoneksi  dengan  internet,  aplikasi  akan  menyimpan data  presensi  secara  lokal  pada smartphone .  Setelah pengguna  terhubung  dengan  internet,  pengguna  bisa menekan  tombol  sinkronisasi  untuk  mengirimkan  data presensi yang sudah tersimpan di lokal menuju server.
1.1. Sinkronisasi
Metode sinkronisasi merupakan metode yang digunakan  untuk  menyesuaikan  data  yang  tersimpan pada database lokal  dengan  data  yang  tersimpan  pada database server. Dengan metode ini, pengguna awalnya melakukan input data pada perangkat androidnya  yang kemudian akan disimpan pada database lokal perangkat tersebut,  dan  pada  kondisi  tertentu  data  tersebut  akan dikirimkan menuju server.
Menurut  Aashima dan  Anit  Kaur  (2014)  dalam (Putra, 2017), sinkronisasi data merupakan proses pembentukan  konsistensi  data  antara database utama sebagai  target  penyimpanan  data  dan database cabang sebagai  target  tujuan  atau  sebaliknya,  sehingga terbentuk  konsistensi  data  dari  waktu  ke  waktu  antar keduanya [2].
Menurut (Jindal, 2016), Sinkronisasi data adalah proses membangun  konsistensi  antara  data  dari  sumber  ke target  penyimpanan  data  dan  sebaliknya,  dan harmonisasi  data  yang  berkesinambungan  dari  waktu ke waktu [3].
Menurut  Anisa,  Rizka  N.  (2015),  terdapat  3  jenis sinkronisasi  yaitu  sinkronisasi  dua  arah,  sinkronisasi lambat  ( low  sync )  dan  sinkronisasi  satu  arah.  Yang akan  penulis  bahas  pada  penelitian  ini  adalah
sinkronisasi  dua  arah.  Sinkronisasi  dilakukan  dengan client mengirimkan  data  menuju  server,  data  tersebut diolah  kemudian  disimpan  di  database  server  serta dikirimkan  kembali  menuju  client  untuk  disimpan  di database client [4].
1.2. Database
Menurut  (Setiyadi,  2015),  SQLite  adalah  suatu library yang  menerap-kan  mesin  database self-contained, server-less, zero-configuration , dan transactional . Self - contained berarti  SQLite  membutuhkan  sedikit  sekali dukungan  dari  library  ekster-nal  atau  dari  sistem operasi [5].
Menurut  (Ratnasari,  2018),  Basis  data  (database) adalah  kumpulan  file  yang  saling  berelasi.  Relasi tersebut  biasa  ditunjukan  dengan  kunci  dari  tiap  file yang  ada.  Satu  basis  data  menunjukan  kumpulan  data yang dipakai dalam satu lingkup informasi [6].
Pengertian  basis  data  menurut  James  Martin  (1975) dalam  (Fikri,  2017)  yaitu  suatu  kumpulan  data  yang terhubung  (interrelated  data)  dan  disimpan  secara bersama-sama  pada  suatu  media,data  disimpan  dengan cara-cara  tertentu  sehingga  mudah  untuk  digunakan atau ditampilkan kembali [7].
1.3. Web Services
Menurut Fadlal, Muhammad H. (2014), “w eb  services adalah  teknologi  yang  mengubah  kemampuan internet dengan  menambahkan  kemampuan transactionalweb , yaitu  kemampuan web untuk  saling  berkomunikasi dengan pola program-to-program (P2P)”[1].
Web service adalah suatu sistem  yang dirancang  untuk mendukung  aktivitas  antar  sistem  pada  suatu  jaringan. Web  service merupakan  antarmuka  yang  berisi kumpulan operasi  yang dapat diakses dengan  jaringan, misalnya  melalui  internet  dengan  formati  XML (eXtensible  Markup  Language),  Heater  (2001)  dalam (Paramartha, 2016) [8].
Menurut  Saputra  dalam  (Sitorus,  2018), Web  service merupakan  suatu  komponen  software  yang  merupakan selfcontaining ,  aplikasi  modular self-describing yang dapat  dipublikasikan,  dialokasikan,  dan  dilaksanakan pada web [9].
Menurut  (Sibagariang,  2016), Web  service dapat digambarkan  sebagai  sebuah  sistem  yang  dirancang untuk  dapat  mendukung  interaksi  komunikasi  antar mesin-mesin  pada  suatu  jaringan.  Teknologi web service memungkinkan pengguna untuk dapat menghubungkan berbagai jenis software yang memiliki platform  dan  sistem  operasi  yang  sama  atau  berbeda sekalipun [10].
Menurut (R. T. Fielding, 2000) dalam (Darmawansyah, Syaryadhi.  M.,  2018), web  service yang  berbasis arsitektur  REST  ( REpresentational  State  Transfer )
Gambar 1. Diagram Sinkronisasi.
Gambar.2. Flowchart Proses Simpan Database Lokal
merupakan  standar arsitektur komunikasi  berbasis web dengan  menggunakan  protokol  HTTP  ( Hypertext Transfer  Protocol ). Method yang  umum  digunakan pada  REST  adalah  GET,  DELETE,  POST,  PUT  dan PATCH [11].
1.4. RESTful
Menurut  (Rahmatulloh,  A.,  Sulastri,  H.,  Nugroho,  R, 2018)  “cara  kerja  RESTful  WS  yaitu  bermula  dari client  mengirimkan  sebuah  data  atau  request  melalui HTTP  Request,  kemudian  server  merespons  melalui HTTP  Response.”  Pada RESTful web  services , pengiriman  dan  penerimaan  data  umumnya  dilakukan dalam format JSON [12].
1.5. JSON
JSON  (JavaScript  Object  Notation)  adalah  format pertukaran  data  yang  ringan,  mudah  dibaca  dan  ditulis oleh  manusia,  serta  mudah  diterjemahkan  dan  dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemrograman JavaScript, Standar ECMA-262 Edisi ke-3 -  Desember 1999.  JSON  merupakan  format  teks  yang  tidak bergantung  pada  bahasa  pemrograman  apapun  karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga  C  termasuk  C,  C++,  C#,  Java, JavaScript,  Perl,  Python  dll.  Oleh  karena  sifat-sifat tersebut,  menjadikan  JSON  ideal  sebagai  bahasa pertukaran-data (Pengenalan JSON, 2019) [13].
Gambar 3. Flowchart Sinkronisasi
Gambar 4. Form Login
Gambar 5. Form Login

## 1.6. Presensi
Menurut  (Redi  Mulyana, 2017) dalam (Khoiriyah dkk, 2018), Presensi adalah pencatatan dan pengolahan data kehadiran  yang  dilakukan  secara  terus  menerus, pencatatan  dilakukan  setiap  hari  jam  kerja  dan dilakukan  pelaporan  kepada  pihak  HRD  /  Manager Perusahaan [14].
Sistem  presensi online merupakan  pengembangan  dari sistem  presensi  konvensional  yang  memungkinan pengguna  untuk  melakukan  presensi  melalui  jaringan internet.
1.7. Android
Menurut Nazruddin (Nazruddin 2012) dalam (Sulihati, 2016)  android  adalah  aplikasi  sistem  operasi  untuk telepon  seluler  yang  berbasis  Linux.  Android menyediakan  platform  terbuka  bagi  para  pengembang untuk  menciptakan  aplikasi  mereka  sendiri  untuk digunakan oleh bermacam piranti bergerak [15].
Sistem operasi android selalu mengalami perkembangan  setiap  tahunnya,  saat  ini  android  telah mencapai  versi  ke  9  dengan codename Android  Pie yang baru dirilis pada tahun 2018.
Gambar 6. Form Login
Gambar 7. Halaman Login Aplikasi

## 2. Metode Penelitian
Berdasarkan  analisis  masalah  yang  telah  disebutkan pada  sub  bab  sebelumnya,  ditambahkan  fitur  presensi offline yang memungkinkan karyawan untuk melakukan  presensi  tanpa  menggunakan  koneksi internet,  yang  kemudian  data  presensi  tersebut  akan disinkronisasikan  dengan  database  server.  Gambar  1 berisikan bagan dari solusi yang diajukan.
Metode  yang  digunakan  pada  penelitian  ini  adalah metode  sinkronisasi  dua  arah.  Metode  ini  dilakukan dengan  2  tahap,  yaitu  tahap  penyimpanan  data  pada database  lokal  dan  tahap  sinkronisasi  dengan  database server. Data  yang disimpan  meliputi  data  nama  lokasi, foto  lokasi,  koordinat  lokasi,  kegiatan  yang  dilakukan, dan  waktu  pengambilan  presensi,  serta  keterangan tambahan  jika  diperlukan.  Berikut  ini  adalah  alur proses dari fitur offline yang ditambahkan pada sistem, disajikan  dalam  bentuk  flowchart  yang  ditunjukan Gambar 2.
2.1. Tahap Simpan Lokal
Tahap  pertama  adalah  ketika  pengguna  melakukan presensi,  kemudian  menyimpan  data  tersebut  pada database  lokal.  Tahap  ini  dimulai  ketika  pengguna melakukan  login  pada  aplikasi.  Jika  koneksi  internet tersedia,  autentikasi  akan  dilakukan  berdasarkan  data akun pada server. Jikas koneksi  internet tidak tersedia, autentikasi  akan  dilakukan  berdasarkan  data  akun pengguna  yang  terakhir  kali  digunakan  login  secara online.
Jika pengguna masuk dalam mode online, semua menu akan  diaktifkan.  Data  presensi  yang  disimpan  akan langsung dikirim  menuju  server. Jika pengguna  masuk dalam  mode  offline,  semua  menu  akan  dimatikan kecuali  menu  untuk  memasukkan  data  presensi  dan
menu  logout.  Data  presensi  akan  disimpan  pada database  lokal.  Untuk  detail  flowchart  dari  proses simpan lokal, dapat dilihat pada Gambar 2.
2.2. Tahap Sinkronisasi
Tahap  sinkronisasi  dilakukan  ketika  pengguna  telah memiliki  koneksi  internet,  kemudian  menekan  tombol sinkronisasi untuk mengirim data menuju server. Tahap ini  dimulai  ketika  pengguna  berhasil  melakukan  login secara  online,  karena  menu  sinkronisasi  tidak  tersedia ketika  pengguna  login  secara  offline  seperti  yang terlihat  pada  Gambar  3.  Ketika  pengguna  menekan tombol  sinkronisasi,  aplikasi  akan  mengirimkan  data yang tersimpan pada database lokal menuju server.

## 3.   Hasil dan Pembahasan
Untuk  melakukan  pengujian  presensi  secara offline dilakukan  dengan  mematikan  seluruh  jaringan  internet pada perangkat smartphone , mulai dari jaringan mobile data  hingga  jaringan wifi .  Kemudian  jaringan  internet akan  dinyalakan  kembali  untuk  melakukan  proses sinkronisasi.
3.1. Antar Muka Aplikasi
Gambar  4  menunjukkan  tampilan  Form  Login  yang digunakan untuk melakukan validasi terhadap data user yang dimasukkan.
Gambar  5  menunjukkan tampilan halaman utama  yang merupakan halaman yang akan dituju setelah karyawan berhasil  masuk  ke  dalam  aplikasi.  Proses  sinkronisasi akan dimulai pada halaman utama ini dengan menekan tombol  sinkronisasi.  Tombol  sinkronisasi  hanya  akan muncul  pada  halaman  utama  ketika  karyawan  berhasil masuk secara online dan ada data presensi yang belum
Untuk  mengetahui  apakah  karyawan  berhasil  masuk secara offline ,  dapat  dilihat  pada  bagian  pojok  kanan atas. Jika muncul tanda offline , berarti karyawan sedang login  secara offline ,  jika  tanda offline tidak  muncul, berarti karyawan sedang login secara online .
Form  yang  terdapat  pada  Gambar  6  ini  digunakan untuk  memasukkan  data  presensi,  baik  secara  online maupun  secara offline .  Seperti  yang  kita  lihat  pada halaman  utama,  tanda offline juga  akan  muncul  pada halaman ini jika karyawan login secara offline .
3.2. Hasil Pengujian
Sebelum  diimplementasikan  metode  sinkronisasi, aplikasi  tidak  dapat  digunakan  sama  sekali  tanpa adanya  koneksi  internet,  bahkan  hanya  untuk  login sekalipun.  Gambar  7  menunjukkan  halaman  login aplikasi, sebelum diimplementasikan metode sinkronisasi,  aplikasi  akan  berhenti  berfungsi  ketika tidak ada internet. Setelah pengguna memasukkan data NIK dan Password kemudian menekan Sign In , aplikasi akan langsung menutup.
aplikasi tetap dapat digunakan untuk memasukkan data presensi,  sehingga  memberikan  kebebasan  kepada karyawan  untuk  melakukan  presensi  meskipun  tidak terhubung  dengan  jaringan  internet.  Pada  Gambar  6 dapat menunjukkan aplikasi tetap berjalan dengan label offline pada ujungan kanan atas aplikasi sebagai penand ketika aplikasi digunakan secara offline .
Berdasarkan  hasil  pengujian  kestabilan  aplikasi  yang dilakukan  dengan  mensimulasikan  proses  presensi secara  offline  dan  sinkronisasi  data  sebanyak  25  kali pengujian,  seluruh  data  presensi  yang  dimasukkan berhasil tersimpan secara offline dan kemudian berhasil tersinkronisasi dengan server. Sehingga proses pengujian  memiliki  presentase  keberhasilan  sebesar 100%.

## 4. Kesimpulan
Berdasarkan  hasil  pengujian  yang  telah  dibahas  pada bab  sebelumnya,  dapat  diambil  kesimpulan  bahwa metode sinkronisasi berhasil membuat aplikasi presensi berjalan  secara  offline  yang  kemudian  dilakukan sinkronisasi  dengan  database  server  sehingga  tetap dapat digunakan untuk melakukan presensi tanpa harus terhubung  dengan  jaringan  internet.  Selama  pengujian aplikasi,  didapatkan  hasil  bahwa  100%  proses pengujian  presensi  secara  offline  dan  sinkronisasi  data presensi berhasil dilakukan.
Seluruh  penelitian  ini  telah  ditujukan  kepada  satu instansi tertentu, sehingga penelitian dapat dikembangkan  lagi  sesuai  dengan  kondisi  atau permintaan  pengguna  pada  instansi  yang  lain.  Oleh karena  itu  penulis  memiliki  beberapa  saran  yang  perlu disampaikan,  agar  dapat  dilakukan  pengembangan  dan perbaikan  pada  penelitian  selanjutnya,  bahwa  akan lebih  baik  jika  proses  sinkronisasi  dilakukan  secara
otomatis  ketika  karyawan  sudah  terhubung  dengan jaringan  internet  dan  berhasil  login  secara  online, sehingga  tidak  perlu  menekan  tombol  lagi  untuk melakukan sinkronisasi.

## Ucapan Terimakasih
Terimakasih  kami  sampaikan  kepada  Tim  JOINTECS yang  telah  memberi  kesempatan  kepada  kami  untuk mempublikasikan  artikel  ini.  Terimakasih  pula  kepada kampus STIMATA atas bimbingan dan arahannya.

## Daftar Pustaka
[1]  M. H. Fadlal, “JURUSAN TEKNIK INFORMATIKA  FAKULTAS  SAINS  DAN TEKNOLOGI  UNIVERSITAS  ISLAM  NEGERI MAULANA  MALIK  IBRAHIM  MALANG 2014,” p. 88.
[2]  R.  E.  Putra  and  B.  M.  Izzati,  “Optimasi  Kinerja Point Of Sale (Pos) Dengan Penerapan Sinkronisasi Database Menggunakan
Middleware,” J.  Inform.  Mulawarman ,  vol.  Vol. 12, No. 2, Sep. 2017.
[3]  R.  Jindal*,  “Review  Paper  On  Database Synchronization Between Local And Server,” Jul. 2016, doi: 10.5281/ZENODO.58582.
[4]  R. N. Anisa, “Implementasi Sinkronisasi Database Menggunakan Sql Dan Validasi Data Berdasarkan Aturan  EPSBED  (Studi  Kasus  Untuk  Aplikasi Pelaporan EPSBED),” Fakultas Teknik, Universitas Darma Persada, Jakarta, 2015.
[5]  A.  Setiyad  and  T.  Harihayati,  “PENERAPAN SQLITE  PADA  APLIKASI  PENGATURAN WAKTU UJIAN DAN PRESENTASI,” Maj. Ilm. UNIKOM ,  vol.  13,  no.  2,  Dec.  2015,  doi: 10.34010/miu.v13i2.128.
[6]  D.  Ratnasari,  D.  B.  Qur’ani,  and  A.  Apriani, “Sistem  Informasi  Pencarian  Tempat  Kos Berbasis Android,” J. Inf. , vol. 3, no. 1, Jan. 2018, doi: 10.25139/ojsinf.v3i1.657.
[7]  R.  Fikri  and  I.  R.  I.  Astutik,  “SISTEM INFORMASI  SIMPAN  PINJAM  BERBASIS ANDROID PADA INSTALASI GAWAT DARURAT RSUD SIDOARJO,” J. Sist. Inf. , vol. 8, p. 7, 2017.
[8]  A. Paramartha, G. Suryaningsih, and  K.  Aryanto, “Implementasi  Web  Service  Pada  Sistem Pengindeksan  Dan  Pencarian  Dokumen  Tugas Akhir,  Skripsi,  Dan  Praktik  Kerja  Lapangan,” http://ejournal.undiksha.ac.id/index.php/JST/artic le/view/8813 , vol. 5, Oktober 2016.
[9]  Z.  Sitorus,  M.  S.  Wahyuni,  and  S.  Batubara, “Kebutuhan Web Service untuk Sinkronisasi Data Antar  Sistem  Informasi  dalam  Universitas,”  vol. 5, p. 4, 2018.
[10]  S.  Sibagariang,  “PENERAPAN  WEB  SERVICE PADA PERPUSTAKAAN BERBASIS
ANDROID,” no. 1, p. 5, 2016.
[11]  M.  Syaryadhi,  “Restful  Web  Service  Untuk Pemantauan  dan  Pengendalian  Peternakan  Ayam Broiler,” p. 7.
[12]  A.  Rahmatulloh,  H.  Sulastri,  and  R.  Nugroho, “Keamanan RESTful  Web Service Menggunakan JSON  Web  Token  (JWT)  HMAC  SHA-512,” J. Nas. Tek. Elektro Dan Teknol. Inf. JNTETI , vol. 7, no. 2, Jun. 2018, doi: 10.22146/jnteti.v7i2.417.
[13]  “Pengenalan JSON.” [Online]. Available: https://www.json.org/json-id.html.  [Accessed:  26- Feb-2019].
[14]  N.  L.  Khoiriyah,  F.  Marisa,  and  I.  D.  Wijaya, “Rancang  Bangun  Sistem  Presensi  Online Berbasis Granted Validitas Data,” vol. 3, no. 1, p. 9, 2018.
[15]  “Aplikasi  Akademik  Online  Berbasis  Mobile Android Pada Universitas Tama Jagakarsa1.pdf.” .
Halaman ini sengaja dikosongkan