## WEB SERVICE REST API UNTUK MONITORING PERJALANAN PENDUDUK KOTA BOGOR

## Abdul Fahmi Aziz
Teknik Informatika, Universitas Ibn Khaldun Bogor Jl Sholeh Iskandar Bogor Barat, Kota Bogor, Indonesia abdulfahmi78@gmail.com

## ABSTRAK
Kota Bogor memiliki tingkat kepemilikan kendaraan yang tinggi. Berdasarkan laporan statistik, setiap rumah tangga yang ada di Kota bogor memiliki sekitar 75% aset transportasi. Jumlah kendaraan bermotor di Kota Bogor tahun 2019 mencapai 480.100 dengan pertumbuhan rata-rata 15% pertahun. Hal ini berakibat pada mobilitas di Kota Bogor yang terus  meningkat, terutama di hari libur.  Untuk  menjaga keamanan lalu lintas di Kota Bogor, diperlukan sebuah sistem pemantauan transportasi terutama pada kendaraan pribadi masyarakat. Sistem yang di bangun  terdiri  dari  dua  aplikasi  diantaranya,  aplikasi  berbasis  web  untuk  melakukan  pemantauan  dan  aplikasi berbasis mobile untuk memasukan data perjalanan warga yang akan melakukan perjalanan. Kedua platform ini memerlukan  mekanisme transaksi data antar platform. Teknologi  web service penting  untuk  mengintegrasikan aplikasi atau platform  yang berbeda agar  data  dapat berinteraksi. Penelitian ini  menggunakan  teknologi  REST API untuk efisiensi komunikasi data. Metode penelitian yang digunakan untuk membangun sebuah web service menggunakan  metode  waterfall  yang  meliputi  pengumpulan  data,  analisis,  perancangan,  implementasi,  dan pengujian. Metode waterfall ini mempermudah untuk mengatur penelitian secara keseluruhan dan memahami alur kerja secara berurutan. Melalui penelitian web service ini, data perjalanan dari aplikasi mobile dapat diakses dan dipantau melalui aplikasi web, memungkinkan pengawasan perjalanan warga Kota Bogor dari dan ke luar kota.

## Kata kunci :  Web Service, REST API, Waterfall

## 1. PENDAHULUAN
Kota  Bogor,  sebuah  wilayah  di  Provinsi  Jawa Barat, terdiri dari 6 Kecamatan meliputi Bogor Barat, Bogor  Selatan,  Bogor  Tengah,  Bogor  Timur,  Bogor Utara,  dan  Tanah  Sareal.  Menurut  laporan  statistik kesejahteraan  rakyat  Kota  Bogor  pada  tahun  2020 yang  dikeluarkan  oleh  Badan  Pusat  Statistik  Kota Bogor, tercatat sebanyak 75% rumah tangga memiliki aset  transportasi[1].  Berdasarkan  data  dari  BPS, diketahui  bahwa  jumlah  kendaraan  bermotor  di  Kota Bogor  pada  tahun  2019  adalah  berjumlah  480.100 kendaraan  dan  pertumbuhan  kendaraan  bermotor meningkat  rata  –  rata  sebesar  15%[2].  Berdasarkan data  dari  Dishub  Jawa  Barat  pada  hari  –  hari  libur umumnya mobilitas akan naik, hal ini dapat dibuktikan dengan peningkatan pergerakan masyarakat antara lain di Gerbang Pasteur Bandung, pada Minggu (17/5) ada sekitar 8.809 kendaraan yang melintas dan jumlah itu meningkat  dua  kali  lipat  pada  senin  (16.328 kendaraan),  selasa  (16.088  kendaraan),  dan  Rabu (18.273 kendaraan) [3].
Dengan jumlah penduduk dan mobilitas di Kota Bogor yang tinggi, perlu ada  nya sistem pemantauan transportasi yang bertujuan untuk menjaga keamanan warga,  khususnya  pada  hari-hari  libur.  Sistem  yang dikembangkan merupakan  aplikasi  pemantauan perjalanan Kota Bogor baik perjalanan dari dalam kota ke luar kota ataupun sebaliknya. Dengan mengimplementasikan web apps sebagai admin untuk memantau  perjalanan  warga  Kota  Bogor  dengan mobile  apps untuk  meng input kan  data  warga  yang akan  melakukan  perjalanan.  Kedua  aplikasi  tersebut dibangun  pada platform yang  berbeda  sehingga
membutuhkan  sebuah  mekanisme  dalam  proses transaksi data antar platform .
Berkembangnya  teknologi  informasi  dari  masa ke masa semakin pesat. Salah satu perkembangan pada teknologi informasi dapat dilihat pada perkembangan teknologi web .  Perkembangan  web  dibagi  menjadi  3 yaitu, web 1.0, web 2.0 dan web 3.0. Pada masa web 1.0  dimana web pertama  kali  berawal  dan  pengguna web hanya  terjadi  komunikasi  satu  arah.  Sedangkan pada masa web 2.0, web sudah berkembang lebih baik dimana user tidak  hanya  berinteraksi  satu  arah.  Lalu pada  masa web 3.0,  munculah trend teknologi  baru salah satu nya web service yang yang memungkinkan komunikasi antar aplikasi [4].
Berdasarkan  permasalahan  diatas  dibutuhkan teknologi web  service yang  dapat  mengintegrasikan dua  aplikasi  atau platform berbeda  untuk  saling berinteraksi  [5].  Dengan  menggunakan web  service , data  perjalanan  yang  dimasukkan  melalui  aplikasi mobile akan  dapat  diakses  dan  dipantau  melalui aplikasi web ,  sehingga  memungkinkan  pihak  terkait untuk  mengawasi  perjalanan  warga  Kota  Bogor  baik perjalanan dari luar kota kedalam Kota Bogor, ataupun sebaliknya.

## 2. TINJAUAN PUSTAKA
Web service adalah teknologi yang menghubungkan  data  antar  aplikasi  menggunakan jaringan  yang  sama  dengan  standar protocol yang ditetapkan  [6]  sehingga  komunikasi  antar  aplikasi menjadi  lebih  sederhana,  dan  terstandarisasi  [7]. Teknologi web  service memungkinkan  penggunaan berbagai protokol seperti SOAP ( Simple Object Access
Protocol ), XML-RPC ( Remote  Procedure  Call ),  dan REST ( Representational  State  Transfer )  untuk memfasilitasi  pertukaran  data  dan  panggilan  fungsi antara aplikasi yang terhubung [8]. Selain itu, layanan web  juga  memungkinkan  interoperabilitas  antar aplikasi menggunakan format data yang diterima dan diproses secara umum seperti XML atau JSON [9]. Hal ini  memungkinkan  aplikasi  untuk  mengirim  data dalam  format  yang  dapat  dipahami  oleh  pihak  lain, memfasilitasi  pertukaran  data  antar  aplikasi  yang bersangkutan [7]. Peneliti menerapkan layanan REST API yang  memiliki  keunggulan  karena REST tidak memiliki  lapisan  protokol  tambahan  seperti SOAP , sehingga  lebih  ringan  dan  lebih  efisien  dalam penggunaan sumber daya [9].
Dalam  pengembangan  aplikasi  perangkat  lunak tentunya  diperlukan  sebuah  metode  pengembangan, agar  aplikasi  yang  dikembangkan  sesuai  dengan rencana. Metode waterfall adalah metode pengembangan  perangkat  lunak  yang  sistematik  dan sekuensial yang dimulai dari tahap pengumpulan data, analisis,  perancangan,  implementasi,  dan  berlanjut pada  pengujian.  Jika  tahapan  pertama  belum  selesai, maka  belum  bisa  melanjutkan  ke  tahap  berikutnya [10].
Untuk  menyimpan  data  -  data  perjalanan  yang dilakukan  oleh  warga,  diperlukan  sebuah database . Database merupakan  kumpulan  informasi  yang dikelola dengan cara berdasarkan aturan tertentu yang saling  berhubungan,  sehingga  memudahkan  untuk mengelola  data.  Dengan  kontrol  ini,  pengembang dapat  dengan  mudah  menemukan,  menyimpan  dan menghapus  data.  Struktur database yang  digunakan pada penelitian ini adalah SQL . SQL (Structured Query Language) adalah  bahasa  standar  industri  yang dirancang untuk membuat database yang memugkinkan  bekerja  dengan  data  dalam  model relasional [11].
Data  –  data  warga  yang  terdaftar  pada  aplikasi pemantauan tentunya perlu dijaga keamanan nya agar terhindar dari akses tidak sah dan mencegah pencurian identitas. Diperlukan sebuah autentikasi dan otorisasi untuk  mencegah  hal  hal  yang  tidak  diinginkan  pada data  –  data  warga.  Autentikasi  merupakan  proses verifikasi  identitas  pengguna  apakah  entitas  yang mengakses  layanan  web  adalah  yang  mereka  klaim, sedangkan otorisasi merupakan proses yang mengatur akses  izin  pengguna  terhadap  sumber  daya  tertentu dalam web [7]. Penelitian terkait keamanan pada web service telah dilakukan oleh Muhammad Iqbal Perkasa dkk  yang  menggunakan access  token sebagai  kunci untuk  mengidentifikasi  dan  memverifikasi  apakah pemohon memiliki hak dalam mengakses web service [12] . Untuk melakukan pemantauan pada setiap warga Kota Bogor, diperlukan sebuah API untuk mengirimkan  titik  lokasi  pengguna  ke  database pengembang. API ( Application Programming Interface )  merupakan  sistem  yang  menghubungkan antara  dua  atau  lebih  aplikasi  untuk  terhubung  satu
sama  lain  [13].  Penelitian  lainya  oleh  Ramos  Somya terkait Sistem Monitoring Kendaraan yang menerapkan  Google  Maps  API yang  memungkinkan pengembang  mengintegrasikan  Google  Maps  pada sistem yang dibuat [14].

## 3. METODE PENELITIAN
Metode  penelitian  yang  digunakan  untuk membangun sebuah web service menggunakan metode waterfall  yang  meliputi  pengumpulan  data,  analisis, perancangan,  implementasi,  dan  pengujian.  Berikut dapat  dilihat  gambar  1  dari  metode  pengembangan sistem.
Gambar 1. Metode Waterfall Sumber: Roger S Pressman (2015)

## 3.1. Pengumpulan Data
Pada  tahap  ini  dilakukan  pengumpulan  data untuk  mempermudah  proses  analisis.  Pengumpulan data  terbagi  dalam  dua  bagian,  data  primer  dan sekunder. Data primer meliputi data – data perjalanan warga  Kota  Bogor  yang  menggunakan  aplikasi  dan data  wawancara bersama Kepala Dishub Kota Bogor terkait  persyaratan  kebutuhan  dalam  pembuatan aplikasi.

## 3.2. Analisis (Requirement Definition)
Proses analisis pada tahap ini adalah mendefinisikan  kebutuhan  sistem  dan  menganalisis pengolahan  data  yang  diperoleh,  meliputi  kebutuhan fungsional  sistem,  kebutuhan  non  fungsional, arsitektur  sistem,  analisis  sistem  operasi,  dan  sistem yang akan dihasilkan.

## 3.3. Perancangan (System and Software Design)
Proses  desain  sistem  yang  dijelaskan  melalui UML  dilakukan  pada  tahap  ini,  desain  basis  data diperoleh pada tahap analisis, dan instalasi web service dirancang  menggunakan  metodologi  REST.  Desain yang  akan  disajikan  adalah  desain  database,  desain class diagram.
3.4. Impementasi (Implementation and Unit Testing)
Pada tahap ini, proses eksekusi dilakukan dalam bentuk yang dapat dimengerti oleh komputer, dengan menggunakan bahasa pemrograman javascript berbasis  Node  JS  dengan  framework  Express  JS. Setelah  proses  implementasi  dilakukan  maka  akan dilakukan proses pengujian sistem secara bertahap.

## 3.5. Pengujian (Integration and System Testing)
Pada tahap ini, proses eksekusi dilakukan dalam bentuk yang dapat dimengerti oleh komputer, dengan menggunakan bahasa pemrograman javascript berbasis  Node  JS  dengan  framework  Express  JS. Setelah  proses  implementasi  dilakukan  maka  akan dilakukan proses pengujian sistem secara bertahap.

## 4. HASIL DAN PEMBAHASAN
4.1. Analisis Kebutuhan Fungsional
Pada  tahap  ini  dilakukan  proses  analisis kebutuhan  sistem  diantaranya,  kebutuhan  fungsional sistem, analisis arsitektur sistem, analisis sistem yang akan dibuat dan perancangan database.
Tabel 1. Kebutuhan Fungsional No Kebutuhan Fungsional Deskripsi 1. Modul Register Digunakan oleh user mobile untuk mendaftarkan akun pada sistem. Data yang dimasukan berupa nama, email, nomor hp, dan password
2. Modul Login Digunakan oleh user mobile untuk masuk ke dalam sistem. Setelah login, user dapat menambah data kendaraan, data penumpang, dan data perjalanan.
3. Modul Forgot
Password Digunakan oleh user mobile (warga Kota Bogor)  jika lupa kata sandi untuk login. Data yang diinputkan berupa nomor hp, dan kode verifikasi akan dikirimkan melalui WhatsApp.
4. Modul Login Admin
Pengawasan Digunakan oleh admin web pengawasan untuk melihat data perjalanan pengguna.
5. Modul Pengawasan
Digunakan oleh admin web untuk mengelola data kendaraan, data perjalanan, dan data penumpang kendaraan juga digunakan oleh user mobile (warga Kota Bogor) untuk
menambahkan data perjalanan. 6. Modul Google Maps API Digunakan oleh pengembang pada aplikasi mobile untuk menentukan jarak dari titik keberangkatan ke tujuan, mencari lokasi terdekat berdasarkan kata kunci, dan menentukan titik lokasi Kota Bogor.
7. Modul Count Pengawasan Digunakan oleh admin web untuk mengetahui jumlah kedatangan dan keberangkatan dari setiap kecamatan yang ada di Kota Bogor.

## 4.2. Analisis Arsitektur Sistem
Analisis  arsitektur  sistem  digunakan  untuk merancang struktur web service dengan menggunakan model client-server .  Dalam web  service ,  terdapat komunikasi  dua  arah  di  mana  klien  dapat  mengirim permintaan kepada server dengan parameter tertentu. Permintaan  tersebut  akan  diterima  oleh server , diproses,  dan  dikembalikan  dalam  bentuk respons . Klien  dan server tidak  berinteraksi  secara  langsung, tetapi  melalui  file web  service sebagai  perantara. Dalam  penelitian  ini,  format  data  yang  digunakan adalah JSON .  Dengan  demikian,  saat  akses  ke database untuk  proses  perjalanan  dan  pengawasan sistem, server tidak  akan  menangani  langsung, melainkan  melalui web  service sebagai  perantara. Arsitektur sistem yang akan dibuat dapat dilihat pada gambar berikut.
Gambar 2. Analisis Arsitektur Sistem

## 4.3. Analisis Sistem Yang Akan Di Buat
Analisis  sistem  yang  akan  dibuat  menjelaskan bagaimana  sistem  alur  proses  kegiatan  yang  akan dibuat.  Sistem  yang  akan  dibuat  pada  penelitian  ini adalah  memberikan  layanan web  service untuk digunakan oleh warga Kota Bogor ( user mobile ) untuk menginputkan  perjalanan,  dan  instansi  pengawasan Kota  Bogor  yang  akan  melakukan monitoring pengawasan perjalanan dari dalam ke luar Kota Bogor ataupun sebaliknya.
Dalam  layanan  web  service,  penerapan access token memungkinkan penelitian untuk mengamankan proses  autentikasi  antara  pengguna  dan  layanan. Access  token menjadi  solusi  yang  aman  karena menggunakan  algoritma  kriptografi,  sehingga  sulit dipalsukan.  Hal  ini  membantu  mengoptimalkan kinerja layanan, meningkatkan pengalaman pengguna, dan  menjaga  integritas  data  dalam  interaksi  antara aplikasi klien dan server .
Gambar  analisis  sistem  yang  akan  dibuat  dapat dilihat pada Gambar 3.
Gambar 3. Analisis Sistem

## 4.4. Perancangan Database
Pada tahap ini, dilakukan perancangan database agar data dapat diatur dengan efisien, aman dan dapat diakses dengan mudah. Hal ini memungkinkan sistem
yang bergantung pada database berjalan dengan baik. Database pada  sistem  yang  akan  dibuat  memiliki  11 tabel. Rancangan database dapat dilihat pada Gambar 4.
Gambar 4. Rancangan Database

## 4.5. Pengujian
Pada  pengujian  dimaksudkan  untuk  mengamati hasil  eksekusi  melalui  data  uji  dan  memeriksa fungsional  dari  perangkat  lunak.  Pengujian  pada penelitian ini menggunakan metode blackbox . Metode blackbox melakukan  pengujian  validasi  hasil  yang dikeluarkan  oleh  sistem  pada  saat  sistem  diberikan suatu  perintah.  Pengujian web  service dapat  dilihat pada Tabel 2.
Tabel 2. Pengujian URL http://localhost:3000/v1/pengawasan/ getbysocietyId Method GET
Success Response { "isSuccess": true,
"statusCode": 200, "responseMessage": "Succeed", "data": {
"data": [ { "id": "…",
"user_id": 224, "vehicle_id": 169, "brand_id": 1, "type_id": 1, "distance": "9.2 Km", "duration": "9 Menit ", "departure_date": "2023-07-02", "departure_time": "21:20:00", "start_coordinate": { "latitude": -6.556086640691106, "longitude": 106.70303878489499 }, "end_coordinate": { "latitude": -6.560233647505914, "longitude": 106.76803520638776
}, "route": [ { "latitude": -6.560117, "longitude": 106.767941 }, ], "validity_period": "2023-07-04 21:20",
"subdistrict_start": "Kecamatan Ciampea",
"district_start": "Kabupaten Bogor", "province_start": "Jawa Barat", "subdistrict_end": "Kecamatan Bogor Barat", "district_end": "Kota Bogor", "province_end": "Jawa Barat", "barcode": "00000122.png", "kode_prov_start": "32", "kode_kabkot_start": "32.01", "kode_kec_start": "", "kode_prov_end": "32", "kode_kabkot_end": "32.71", "kode_kec_end": "32.71.04", "created_at": "2023-07- 06T08:54:52.845Z", "updated_at": "2023-07- 06T08:54:52.845Z",
Hasil Pengujian
Status Pengujian Berhasil Response Time 226ms
Berdasarkan Tabel 2 hasil pengujian berikut dari modul  pengawasan  yang  berkaitan  dengan  warga tertentu.  Data  yang  disajikan  diantarnya:  isSuccess, statusCode,  responseMessage  dan  data  –  data  yang berkaitan  dengan  perjalanan  seperti  lattitude  dan longitude  titik  keberangkatan,  data  penumpang,  data kendaraan, masa berlaku perjalanan dan kode wilayah kota bogor. Berikut hasil dari penerapan web service REST yang  di  terapkan  pada  aplikasi  pemantauan berbasis website .
Gambar 5. Aplikasi Pemantauan Berbasis Website
Pada Gambar 5, admin website dapat melihat rute yang sudah ditempuh oleh user mobile , keberangkatan dan  kedatangan  dari  tiap  wilayah  Kota  Bogor, diantaranya Bogor Barat, Bogor Timur, Bogor Utara, Bogor  Selatan  dan  Tanah  Sereal.  Berikut  contoh
penerapan web  service  REST untuk  aplikasi pemantauan berbasis mobile :
Gambar 6. Aplikasi Pemantauan berbasis Mobile
Pada  gambar  6  aplikasi  pemantauan  berbasis mobile , pengguna dapat mendaftarkan perjalanan baik dari  dalam  wilayah  Kota  Bogor  ataupun  sebaliknya. Beberapa  parameter  yang  dimasukan  ketika  hendak melakukan perjalanan diantaranya : data penumpang, data kendaraan, titik keberangkatan dan titik tujuan.

## 5. KESIMPULAN DAN SARAN
Berdasarkan  hasil  dari  perancangan  hingga pengujian layanan web service dengan teknologi REST yang disediakan untuk proses  pemantauan perjalanan warga Kota Bogor, maka didapatkan kesimpulan yaitu teknologi REST berhasil diterapkan pada web service dengan  baik  pada  kedua  aplikasi  pemantauan  baik pada aplikasi berbasis mobile ataupun website . Dengan teknologi web  service ini,  komunikasi  data  antar platform  berjalan  dengan  baik  sesuai  kebuthan  dan hasil pengujian sudah dilakukan.
Adapun  saran  dari  hasil  penelitian  ini  ialah, pengembangan web  service dengan framework Express  JS,  diharapkan  dapat  dikembangkan  dengan menggunakan  teknologi  terbaru  atau framework terbaru seiring dengan berkembangnya teknologi.

## DAFTAR PUSTAKA
[1]  H.  Rachmi  dan  A.  Al  Kaafi,  “ANALISIS SENTIMEN SISTEM GANJIL GENAP KOTA BOGOR,” Teknologi  Informasi  dan  Komputer , vol. 92, no. 2, 2021.
[2]  Badan  Pusat  Statistik  Kabupaten  Bekasi, “Jumlah Kendaraan Bermotor Menurut
Kabupaten/Kota  dan  Jenis  Kendaraan  (unit),
2017–2019,”
https://bekasikab.bps.go.id/statictable/2021/06/1 6/1482/jumlah-kendaraan-bermotor-menurut- kabupaten-kota-dan-jenis-kendaraan-unit-2017- 2019.html , 2023.
[3]  Ajat  Sudrajat,  “Dishub  Jabar:  Mobilitas  warga meningkat jelang
Lebaran 2020,”
https://www.antaranews.com/berita/1508900/di shub-jabar-mobilitas-warga-meningkat-jelang- lebaran-2020 , 2020.
[4]  R.  S.  Yudiantini,  “SEJARAH  WEB  SERVICE DALAM  PERKEMBANGAN  TEKNOLOGI INFORMASI,”  2020,  [Daring].  Tersedia  pada: https://www.researchgate.net/publication/33967 7960
[5]  M.  Widyan,  R.  Fakhrun,  S.  Fajar,  dan  S. Gumilang,  “Rancangan  Web  Service  Dengan Metode  REST  API  Untuk  Integrasi  Aplikasi Mobile dan Website Pada Bank Sampah,” dalam
Konferensi Nasional Sistem Informasi 2018STMIK Atma Luhur Pangkalpinang , 2018.
[6]  R.  Choirudin  dan  A.  Adil,  “Implementasi  Rest Api  Web  Service  dalam  Membangun  Aplikasi Multiplatform  untuk  Usaha  Jasa,” MATRIK : Jurnal  Manajemen,  Teknik  Informatika  dan Rekayasa  Komputer ,  vol.  18,  no.  2,  hlm.  284– 293, Mei 2019, doi: 10.30812/matrik.v18i2.407.
[7]  Ethan. Cerami, Web services essentials . O’Reilly, 2002.
[8]  M. P. Papazoglou, WEB SERVICES: PRINCIPLES
AND
TECHNOLOGY .
INFOLAB/CRISM,  Tilburg  University,  The Netherlands,  2008.  [Daring].  Tersedia  pada: www.pearsoned.co.uk
[9]  S.  Allamarju, RESTful  Web Services  Cookbook . O’REILLY, 2010.
[10]  Ph. D. R. S. Pressman, Software Engineering - A Practitioner’s  Approach  -  Fifth  Edition. McGraw-Hill, 2001.
[11]  Carlos.  Coronel,  S.  (Steven  A.  )  Morris,  dan Peter.  Rob,  Database  systems :  design, implementation,  and  management.  Course Technology Cengage Learning, 2011.
[12]  D.  Jacobson  dkk.,  APIs:  A  Strategy  Guide. O’REILLY, 2011.
[13]  M. I. Perkasa dan E. B. Setiawan, “Pembangunan Web Service Data   Masyarakat  Menggunakan REST API   dengan  Access  Token,” ULTIMA Computing ,  vol. X, no. 1, 2018.
[14]  R.  Somya  dan  K.  Kunci,  “Sistem  Monitoring Kendaraan Secara Real  Time Berbasis Android menggunakan Teknologi CouchDB di PT.
Pura Barutama,” Jurnal Nasional Teknologi dan Sistem Informasi , vol. 04, 2018,doi:10.25077/TEKNOSI.v4i2.2018.053- 060.