Jurnal Riset Sistem Informasi Dan Teknik Informatika (JURASIK) Volume 8, Nomor 2, Agustus 2023, pp 460-468 Terakreditasi Nomor 204/E/KPT/2022 | ISSN: 2527-5771/EISSN: 2549-7839 https://tunasbangsa.ac.id/ejurnal/index.php/jurasik

## Perbandingan Rest Api Menggunakan Node Js Dan Php Pada Aplikasi Pemilihan Umum
Habbyan Lazuard Haryadi 1 , Alun Sujjada 2 , Dwi Sartika Simatupang 3 1,2,3 Universitas Nusa Putra, Sukabumi, Indonesia Email: habbyan.lazuard_ti19@nusaputra.ac.id 1 . alun.sujjada@nusaputra.ac.id 2 , dwi.simatupang@nusaputra.ac.id 3

## Abstract
This  study  aims  to  analyze  the  comparison  of  the  Representational  State  Transfer  (REST) Application Programming Interface (API) between PHP and Node.js in the context of general election applications.  The  Prototype  System  Development  Life  Cycle  (SDLC)  method  is  used  for  application development. The performance of both programming languages is evaluated based on response speed, ease of development, and system capabilities. Data on Permanent Residents of Malang City with a total of 600 thousand data is used as a sample for database and server testing. The comparison results show that Node.js has a better response speed than PHP. However, PHP has an advantage in terms of ease of development.  Both  are  able  to  handle  applications  with  a  large  number  of  voters  based  on  system capabilities. This research provides insight into the performance of PHP and Node.js in the context of REST API development for election applications
Keywords : REST API, PHP, Node.js, kecepatan respon, kemudahan pegembangan, Pemilu

## Abstrak
Penelitian  ini  bertujuan  untuk  menganalisis  perbandingan  Representational  State  Transfer (REST) Application Programming Interface (API) antara PHP dengan Node.js dalam konteks aplikasi pemilihan  umum.  Metode  System  Development  Life  Cycle  (SDLC)  Prototype  digunakan  untuk pegembangan  aplikasi.  Performa  kedua  bahasa  pemrograman  dievaluasi  berdasarkan  kecepatan respon,  kemudahan  pengembangan,  dan  kemampuan  sistem.  Data  Penduduk  Tetap  Kota  Malang dengan  jumlah  600  ribu  data  digunakan  sebagai  sampel  pengujian  database  dan  server.  Hasil perbandingan menunjukan bahwa Node.js memiliki kecepatan respon yang lebih baik dibandingkan dengan  PHP.  Namun,  PHP  memiliki  keunggulan  dalam  aspek  kemudahan  pegembangan.  Keduanya mampu  mengangani  aplikasi  dengan  jumlah  pemilih  yang  besar  secara  kemampuan  sistem. Penelitian  ini  memberikan  wawasan  tentang  performa  PHP  dan  Node.js  dalam  konteks Pengembangan REST API untuk aplikasi pemilihan umum
Kata kunci : REST API, PHP, Node.js, kecepatan respon, kemudahan pegembangan, Pemilu

## 1. PENDAHULUAN
Pemilu  (Pemilihan  Umum)  adalah  sarana  pelaksanaan  kedaulatan  rakyat yang  dilaksanakan  secara  langsung,  umum,  bebas,  rahasia,  jujur  dan  adil  dalam Negara  Kesatuan  Indonesia  berdasarkan  pacasila  dan  Undang  –  Undang  Dasar Negara  Republik  Indonesia  1945.  Morrison  (2005:17)    mengemukakan  bahwa pemilihan  umum  adalah  cara  atau  sarana  untuk  mengetahui  keinginan  rakyat mengenai  arah  dan  kebijakan  negara,  bisa  juga  dikatakan  bahwa  pelaksanaan pemilu  adalah  implementasi  dari  sistem  pelaksanaan  demokrasi  secara sesungguhnya[1]. Tujuan utama dari pemilu adalah untuk memilih pemimpin dan wakil pemimpin yang akan memimpin negara atau daerah. Pemilu juga bertujuan untuk menjamin bahwa rakyat memiliki hak untuk memilih pemimpin mereka dan memastikan bahwa pemerintah yang dipilih memiliki dukungan rakyat termasuk
Jurnal Riset Sistem Informasi Dan Teknik Informatika (JURASIK) Volume 8, Nomor 2, Agustus 2023, pp 460-468 Terakreditasi Nomor 204/E/KPT/2022 | ISSN: 2527-5771/EISSN: 2549-7839 https://tunasbangsa.ac.id/ejurnal/index.php/jurasik
memastikan adanya partisipasi politik rakyat, dan memastikan bahwa pemerintah bertindak sesuai dengan keinginan rakyat.
Di  dalam  pemilu,  ada  beberapa  calon  pemimpin  yang  berkompetisi  untuk memenangkan  suara  rakyat.  Perlombaan  pemilu  ini  sangat  penting  untuk memastikan bahwa calon terbaik dipilih dan memastikan bahwa rakyat memiliki pilihan yang beragam. Pemilu melibatkan banyak data seperti data pemilih dimana jumlah  penduduk  indonesia  kurang  lebih  sekitar  273.52  juta  jiwa[2].  Untuk menangani  data  dalam  jumlah  besar  tersebut,  maka  diperlukan  sistem  yang bertanggung jawab untuk menyimpan dan mengatur data  dan segala urusan data di balik layar atau yang dikenal dengan backend.
Dengan perkembangan teknologi yang sangat pesat, terdapat teknologi yang banyak  digunakan  untuk  membuat  Server  Backend  yaitu Representational  State Transfer (REST) Application  Programming  Interfae (API). REST  API adalah  salah satu teknologi yang sangat populer, REST API menggunakan protokol HTTP untuk berkomunikasi  antar  aplikasi  atau  antar  sistem  dan  mempermudah  pengiriman data,  seperti  meminta  data  dari  database  atau  mengirimkan  data  untuk  diterima oleh  aplikasi  lain[3] .  REST  API memiliki  beberapa  karakteristik  seperti statelessness,  cacheability, dan layered  system . REST  API sangat  populer  karena mudah  digunakan  dan  memungkinkan  integrasi  antar  aplikasi  yang  berbeda dengan mudah dan cepat[4]. REST API sangat populer karena mudah dipahami dan digunakan oleh berbagai aplikasi, seperti aplikasi web, mobile, dan desktop. REST API juga memungkinkan integrasi antar aplikasi yang berbeda dengan mudah dan cepat.
Kecepatan  apliksi  server  menjadi  semakin  penting.  Aplikasi  yang  memiliki kinerja yang baik adalah aplikasi yang dapat menangani banyak request dari client tanpa mengonsumsi banyak sumber daya komputasi dari perangkat server , dengan demikian  dapat  menekan  jumlah  biaya  yang  harus  dikeluarkan  oleh  pengelola aplikasi  tersebut[5].  saat  ini  terdapat  bebebrapa  bahasa  pemrograman  yang populer dalam pengembangan aplikasi server diantaranya adalaha PHP dan Node Js.
Pengembangan  aplikasi pemilihan  Umum digunakan  sebagai  studi  kasus dengan menerapkan kedua framework PHP dan Node.js sebagai penyedia data juga sebagai  perbandingan  untuk  melihat  kedua framework tersebut  mana  yang  lebih efesien,  metode  yang  akan  diterapkan  dalam  pengembangan  aplikasi  ini  yaitu menggunakan  Metode System  Development  Life  Cycle (SDLC) Prototype. Selain untuk  mengetahui performa antara PHP dan Node.js pengembangan  aplikasi Pemilihan  Umum ini  digunakan  untuk  mempermudah  masyarakat  serta efesiensi waktu dalam melakukan pemilihan umum.
Melihat  dari  permasalahan  diatas,  penulis  tertarik  untuk  menganalisis performa  REST  API  antara PHP dengan Node  Js pada  aplikasi  pemilu , untuk melihat  performa  dari  dua  bahasa  pemrograman  tersebut  yang  lebih  cepat,  baik dari aspek  kecepatan  respon,  kemudahan  pengembangan, maupun skalabilitas (kemampuan sistem) pada aplikasi.
Jurnal Riset Sistem Informasi Dan Teknik Informatika (JURASIK) Volume 8, Nomor 2, Agustus 2023, pp 460-468 Terakreditasi Nomor 204/E/KPT/2022 | ISSN: 2527-5771/EISSN: 2549-7839 https://tunasbangsa.ac.id/ejurnal/index.php/jurasik

## 2. METODOLOGI PENELITIAN
Metode  penelitian  yang  digunakan  pada  penelitian  ini  adalah  metodelogi bencmarking dan SDLC (System Development Life Cycle) prototype, adapun aspek yang  dibandingkannya  meliputi  kecepatan  respon,  kemampuan  sistem  dan kemudahan pengembangan. Peneliti menggunakan 2 metodelogi ini dengan tujuan agar mempermudah penulis dalam menganalisis framework  spring boot dan node js serta pengembangan sistem.

## 2.1. Tahapan Penelitian
Adapun tahapan dari penelitian ini dapat di lihat pada Gambar 1.
Gambar 1. Tahapan penelitian

## a) Metode pengumpulan data
Adapun proses pengumpulan data dalam penelitian ini, yaitu studi pustaka, Peneliti  mencari  buku  teori  penelitian  diperpustakaan  maupun  jurnal terdahulu  untuk  mencari  informasi  tentang  teori  judul  penelitian.  Lebih tepatnya    agar  ketika  mengangkat  suatu  teori  tidak  terkendala  pada penelitian,  maka  penulis  telah  melakukan  observasi  terhadap  teori-teori yang digunakan dan penulis menemukan tujuan dari obeservasi, dengan ini penulis  mengambil  teori  dari  berbagai  jurnal  untuk  membantu perancangan sistem yang akan digunakan.
b) Arsitektur Perancangan
Arsitektur  perancangan  merupakan  bagian  yang  sangat  penting  dalam penelitian  ini  karena  dalam  bagian  ini  akan  dijelaskan  mengenai  konsep
Jurnal Riset Sistem Informasi Dan Teknik Informatika (JURASIK) Volume 8, Nomor 2, Agustus 2023, pp 460-468 Terakreditasi Nomor 204/E/KPT/2022 | ISSN: 2527-5771/EISSN: 2549-7839 https://tunasbangsa.ac.id/ejurnal/index.php/jurasik
dan desain arsitektur yang digunakan dalam pembuatan aplikasi. Arsitektur Perancangan  bertujuan  untuk  menentukan  komponen  sistem  yang diperlukan,  serta  mengatur  cara  penggunaan  dan  integrasi  komponen  – komponen tersebut, diantaranya:

## 1) Desain REST API
Desain  ini  bertujuan  untuk  mmefokuskan  pengembangan  sistem  agar tidak keluar lingkup pengembangan api yang telah direncanakan
2) Arsitektur REST API
Dalam  nementukan  metode  transfer  data  api  peneliti  memanfaatkan Metode HTTP untuk mengartikan sebuah perintah API yaitu:
Tabel 1. Perintah API yang di gunakan No  Method Fungsi 1 GET untuk menyediakan akses membaca data 2  POST untuk menambah data baru 3 PUT untuk memperbaharui data yang tersedia
4  DELETE  untuk menghapus data yang tersedia

## 3) Arsitektur Node.js

## Gambar 2. Struktur Project
Pada  Node.js  peneliti  menggunakan  Express.js  dengan  arsitektur  MVC (Model,  View,  Controller)  untuk  membangun  komponen  server  yang akan  melayani  permintaan  REST  API  dari  klien.  Komponen  server  ini akan  menangani  rute  permintaan,  pengolahan  permintaan  dan mengakses data dari layanan backend atau database.
Jurnal Riset Sistem Informasi Dan Teknik Informatika (JURASIK) Volume 8, Nomor 2, Agustus 2023, pp 460-468 Terakreditasi Nomor 204/E/KPT/2022 | ISSN: 2527-5771/EISSN: 2549-7839 https://tunasbangsa.ac.id/ejurnal/index.php/jurasik

## 4) Arsitektur PHP
Gambar 3. Struktur project
Pada  PHP    penulis  akan  menggunakan  konsep  MVC  (Model,  View, Controller)  untuk  membangun  komponen  server  yang  akan  melayani permintaan  REST  API  dari  klien.  Komponen  server  ini  akan  menangani rute  permintaan,  pengolahan  permintaan  dan  mengakses  data  dari layanan backend atau database.

## 3. HASIL DAN PEMBAHASAN
Pada bagian ini diberikan hasil penelitian yang dilakukan sekaligus dibahas secara  komprehensip.  Hasil  bisa  berupa  Gambar,  grafik,  Tabel  dan  lain-lain  yang mempermudah pembaca paham dan diacu di naskah. Jika bahasan terlalu panjang dapat dibuat sub-sub judul, seperti contoh berikut.

## 3.1. Pengambilan Data
Data  set  DPT  (Data  Pemilih  Tetap)  berasal  dari  website  KPU  Kota  Malang, dengan  jumlah  sekitar  600.000  entri.  Format  data  yang  digunakan  adalah  SQL, memudahkan  penggunaan  dan  integrasi  data  ke  dalam  sistem  database  yang relevan.  Data  DPT  ini  akan  digunakan  untuk  analisis  performa  REST  API menggunakan Node.js dan PHP dalam aplikasi pemilihan umum. Data yang cukup besar ini memungkinkan pengujian performa antara PHP dan Node.js.

## 3.2. Pengujian
Untuk  pengujian  REST  API  menggunakan  Node.js,  digunakan  Postman sebagai  alat  untuk  mengirim  permintaan  HTTP  ke  server,  dan  framework Express.js digunakan untuk menulis skrip pengujian menggunakan JavaScript. Data DPT  Kota  Malang  disimpan  dalam  basis  data  MySQL,  dan  koneksi  ke  database diatur  menggunakan  library  Sequelize.  Implementasi  Node.js  menggunakan Express.js  sebagai  framework  web  untuk  mengelola  rute  permintaan  dari  klien. Setiap permintaan diteruskan ke kontroler yang menentukan tindakan yang harus dilakukan.  Basis  data  MySQL  digunakan  untuk  mengelola  pembuatan  basis  data, melakukan  query,  dan  menyimpan  parameter  yang  diambil  dari  basis  data. Sequelize  digunakan  sebagai  library  untuk  menghubungkan  Node.js  dengan
Jurnal Riset Sistem Informasi Dan Teknik Informatika (JURASIK) Volume 8, Nomor 2, Agustus 2023, pp 460-468 Terakreditasi Nomor 204/E/KPT/2022 | ISSN: 2527-5771/EISSN: 2549-7839 https://tunasbangsa.ac.id/ejurnal/index.php/jurasik
database  MySQL.  Model  digunakan  untuk  mewakili  entitas  atau  struktur  data dalam  basis  data.  Data  yang  disimpan  dalam  basis  data  dieksekusi,  dan  hasilnya dikonversi menjadi format JSON sebelum dikirim ke klien.
Untuk  pengujian  REST  API  menggunakan  PHP,  juga  digunakan  Postman sebagai alat untuk mengirim permintaan HTTP ke server, dan framework Laravel digunakan  untuk  menulis  skrip  pengujian  menggunakan  PHP.  Data  DPT  Kota Malang  disimpan  dalam  basis  data  MySQL,  dan  koneksi  ke  database  diatur menggunakan fitur bawaan Laravel. Implementasi PHP menggunakan framework Laravel  untuk  mengelola  rute  permintaan,  kontroler,  dan  basis  data.  Laravel menyediakan  fitur  ORM  Eloquent  untuk  berinteraksi  dengan  basis  data  MySQL. Postman  digunakan  untuk  mengirim  permintaan  HTTP  ke  server  dan memverifikasi  tanggapan  yang  diterima.  Unit  testing  ditulis  menggunakan  fitur bawaan  dari  framework  yang  digunakan  (Express.js  untuk  Node.js  dan  Laravel untuk PHP) untuk menguji fungsi-fungsi pada server.

## 3.3. Perbandingan Kecepatan Respon
Pengujian  kecepatan  respon  hanya  di  uji  pada  Tabel  dpt  yang  memiliki jumlah  data  terbanyak  yakni  sekitar  600  ribu  data,  untuk  melihat  kecepatan respon  dari  Node.js  dan  PHP.  Permintaan  Get  dibuat  ke  REST  API  untuk impelemtasi  Node.js  dan  PHP  dengan  jumlah  record  yang  meningkat  secara bertahap dari 20.000 entry data hingga 100.000 entry data. hal ini dicapai dengan menggunakan  paramter  kueri  URL  ukuran  record  yang  merupakan  bagian  dari URL.  Dalam  pengujian  ini  dilakuan  iterasi  20.000  catatan  diambil.  Untuk  setiap langkah,  permintaan  diulangi  dan  waktu  rata  rata  dicatat.  Selain  itu  ukuran, ukuran data tanggapan yang di kembalikan oleh layanan juga dicatat dan diamati meningkat seperti yang diharapkan dengan jumlah catatan yang diminta. Hasilnya diberikan pada Tabel 1.
Gambar 4. perbandingan kecepatan respon
Berdasarkan  Gambar  di  atas,  dapat  disimpulkan  bahwa  implementasi  Node.js memiliki rata-rata record yang lebih stabil dan konsisten, sedangkan implementasi
20.000 40.000
60.000 80.000 100.000 Rata Rata Node.js 734 899 1421 1589 1811 Rata-Rata PHP 1013 1881 2770 3936 4578 734 899 1421 1589 1811 1013 1881 2770 3936 4578 0 1000 2000 3000 4000 5000 w ak tu Res p o n Dapatkan Waktu Respon Perimntaan Rata Rata Node.js
Rata-Rata PHP
Jurnal Riset Sistem Informasi Dan Teknik Informatika (JURASIK) Volume 8, Nomor 2, Agustus 2023, pp 460-468 Terakreditasi Nomor 204/E/KPT/2022 | ISSN: 2527-5771/EISSN: 2549-7839 https://tunasbangsa.ac.id/ejurnal/index.php/jurasik
PHP  mengalami  peningkatan  rata-rata  record  per  milidetik  seiring  dengan peningkatan  ukuran  data.  Namun,  perlu  diperhatikan  bahwa  simpulan  ini didasarkan  pada  perhitungan  rata-rata  sederhana  dan  tidak  memperhitungkan faktor lain yang dapat mempengaruhi performa aplikasi secara keseluruhan.

## 3.4 . Perbandingan Kemampuan Sistem
Pengujian kemampuan sistem dilakukan pada masing masing masing bahasa pemrograman yakni Node.js , PHP maupun Flutter . Pengujian ini menggunakan unit testing untuk mengetahui fungsi dari APIlikasi berjalan dengan baik atau tidak.
Tabel 2. Perbandingan kemampuan sistem No Fitur yang diuji hasil yang diharapkan Unit testing Node.js PHP 1 register pengguna dapat melakukan input data berupa penggunaname, email, password, serta dapat melakukan proses dari registrasi   2 login pengguna dapat malakukan input email dan password serta dapat melakukan proses login   3 profil Pengguna dapat menyimpan data maupun mengedit data pengguna   4 pemilihan Pengguna dapat melakukan pemilihan   5 pemilih Sistem dapat menampiljan data pemilih  
Berdasarkan  perbandingan  diatas,  kedua  sistem NODE.JS dan PHP memiliki kemmpuan  yang  serupa  dalam  memenuhi  kebutuhan  pengembangan  sistem. Keduanya  dapat  digunakan  secara  efektif  untuk  mengembangkan  sistem  dengan fitur yang telah di uji.

## 3.6. Perbandingan Kemudahan Pengembangan
Pengujian  kemudahan  pengembangan  dapat  dilihat  dari  beberapa  aspek, adapun penjelasannya sebagai berikut:
Tabel 3. Perbandingan kemudahan pengembangan No Aspek Perbandingan Node.JS PHP 1 Dokumentasi Sumber Daya a) Memiliki dokumentasi lengkap b) Terdapat  banyak  tutorial, artikel, forum yang mendukung  pengembangan c) Dokumentasi Lengkap terstruktur dengan baik d) Terdapat  banyak  tutorial, artikel forum dan komunitas yang dapat
Jurnal Riset Sistem Informasi Dan Teknik Informatika (JURASIK) Volume 8, Nomor 2, Agustus 2023, pp 460-468 Terakreditasi Nomor 204/E/KPT/2022 | ISSN: 2527-5771/EISSN: 2549-7839 https://tunasbangsa.ac.id/ejurnal/index.php/jurasik
No Aspek Perbandingan Node.JS PHP menggunakan Node.js membantu dalam pengembamgan aplikasi 2 Ketersediaan Modul Dan Paket a) Memiliki  ekosistem  modul yang besar dan aktif b) Terdapat  ribuan  paket  yang dapat digunakan untuk mempercepat pengembangan c) Menyediakan paket yang dibutuhkan secara bawaan seperti autentikasi dan managemen database 3 Kompleksitas dan keterbacaan Kode a) Fleksibilitas yang tinggi dalam pengembangan projek b) Menggunakan konsep MVC yang memisahkan logika aplikasi dengan antarmuka aplikasi c) Arsitektur yang jelas, konsisten dan mudah dipahami d) Menggunakan konsep MVC yang memisahkan logika aplikasi dengan antarmuka aplikasi 4 Kemudahaan Pengaturan Project a) Pengaturan awal project dapat bergantung pada preferensi dan kebutuhan pengembang b) Memiliki baris perintah yang memudahkan pengaturan project c) Struktur folder telah ditentukan sehingga memudahkan pengaturan awal
Berdasarkan  Tabel  3 Node.js memiliki  kelebihan  dalam hal  fleksibilitas,  dan kemampuan  untuk  merancang  arsitektur  sesuai  kebutuhan.  Dengan  adanya ekosistem modul yang besar dan aktif, pengembang dapat memanfaatkan berbagai paket yang tersedia untuk mempercepat pengembangan. Node.js juga memberikan kebebasan  dalam  memilih  dan  merancang  arsitektur  sesuai  preferensi pengembang. Sementara itu, Laravel memiliki keunggulan dalam hal dokumentasi yang  lengkap,  struktur  yang  jelas  dan  konsisten,  serta  kemudahan  dalam pengaturan awal proyek.

## 4.  SIMPULAN
Memberikan  pernyataan  bahwa  apa  yang  diharapkan  sebagaimana dinyatakan dalam “Pendahuluan” akhirnya dapat diperoleh hasil dalam “Hasil dan Pembahasan”,  sehingga  terdapat  kesesuaian.  Selain  itu  dapat  juga  ditambahkan prospek pengembangan dari hasil penelitian dan aplikasi lebih jauh yang menjadi prospek kajian berikutnya.

## DAFTAR PUSTAKA
[1] D.  Anggara,  “Kajian Umum Pilkada,” Africa’s potential Ecol. Intensif. Agric. , vol.  53, no. 9, pp. 1689–1699, 2019.
[2] F.  Zulkarnaen,  A.  S.  Adara,  A.  Rahmawati,  L.  Wartadiayu,  and  M.  D.  Pamungkas, “Partisipasi Politik Pemilih Milenial pada Pemilu di Indonesia,” J. Polit. Indones. , vol. 5, no. 2, pp. 55–63, 2020, doi: 10.35706/jpi.v5i2.4554.
[3] L.  Mulana,  K.  Prihandani,  A.  Rizal,  U.  Singaperbanga,  and  K.  Abstract,  “Analisis Perbandingan  Kinerja  Framework  Codeigniter  Dengan  Express.Js  Pada  Server RESTful Api,” J. Ilm. Wahana Pendidik. , vol. 8, no. 16, pp. 316–326, 2022, [Online].
Jurnal Riset Sistem Informasi Dan Teknik Informatika (JURASIK) Volume 8, Nomor 2, Agustus 2023, pp 460-468 Terakreditasi Nomor 204/E/KPT/2022 | ISSN: 2527-5771/EISSN: 2549-7839 https://tunasbangsa.ac.id/ejurnal/index.php/jurasik
Available: https://doi.org/10.5281/zenodo.7067707
[4] K. Munonye and P. Martinek, “Performance Analysis of the Microsoft. Net- and Java- Based  Implementation  of  REST  Web  Services,” SISY  2018  -  IEEE  16th  Int.  Symp.
Intell. Syst. Informatics, Proc. , pp. 191–196, 2018, doi: 10.1109/SISY.2018.8524705.
[5] A.  C.  Rompis  and  R.  F.  Aji,  “Perbandingan  Performa  Kinerja  Node.js,  PHP,  dan Python dalam Aplikasi REST,” CogITo Smart J. , vol. 4, no. 1, pp. 171–187, 2018, doi: 10.31154/cogito.v4i1.92.171-187.