## Pengembangan Antarmuka Pemrograman Aplikasi Menggunakan Metode RESTful pada Sistem Informasi Akademik Politeknik Kota Malang
Dwi Wijonarko 1 , Betta Wahyu Retna Mulya 2
1,2 Program Studi Teknik Informatika, Politeknik Kota Malang
1 d.wijonarko@poltekom.ac.id, 2 betta.wahyu@poltekom.ac.id

## ABSTRAK
Kemudahan  akses  informasi  antar  perangkat  dan  media  saat  ini  menjadi  hal  yang  sangat  lazim  ditemukan. Adalah  satu  fungsi  penting  dalam  pengembangan  aplikasi  yaitu  kemampuan  untuk  mengembangkan  aplikasi menjadi lebih besar dan mampu diterapkan dalam berbagai macam platform serta perangkat yang ada saat ini. Pengembangan  antarmuka  pemrograman  aplikasi  adalah  salah  satu  cara  agar  suatu  aplikasi/sistem  dapat diakses  serta  dimanfaatkan  oleh  pihak  lain  tanpa  harus  mengubah  kode  utama  sistem  dan  basis  data  sistem serta memudahkan komunikasi antar sistem meskipun berbeda platform. Sistem Informasi Akademik Politeknik Kota  Malang,  menerapkan  antarmuka  pemrograman  aplikasi  menggunakan  metode  RESTful  untuk berkomunikasi  dengan  sistem  lain  seperti  aplikasi  mobile,  sistem  kepegawaian  dan  keuangan.  REST (Representational  State  Transfer  Protocol)  merupakan  metode  pengembangan  web  service  yang  menonjolkan kesederhaan dan menggunakan fitur yang ada pada HTTP untuk mendapatkan sumberdaya saat menggunakan web service tersebut..
Kata Kunci : Antarmuka pemrograman aplikasi, REST, Siakad.

## ABSTRACT
Communication  and  informations  exchange  beetween  software  applications  is  very  commonly  found.  Beside that,  the  most  important  functions  in  software  development  is  to  make  software  can  easely  scalable  and  be applied  in  varius  platforms  and  devices.  Application  Programming  Interface  (API)  is  one  of  way  to  solve  that problems.  API  can  be  used  to  bridge  and  facilitate  communcation  and  information  exchange  beetween  other application  and  platforms.  Politeknik  Kota  Malang  (POLTEKOM),  implementing  an  API  on  their  Academic Information  System  (SIAKAD)  using  RESTful  method  to  communicate  whith  other  application  and  platforms such  as  mobile  application,  financial  system  and  employee  system.  REST  (Representational  State  Transfer Protocol) is a web service developent method which aim and focused in simplicity features. It use HTTP features to got resources when using the web service.
Keywords : Application programming interface, REST, siakad

## 1. PENDAHULUAN
Kemudahan  akses  informasi  antar  perangkat dan  media  saat  ini  menjadi  hal  yang  sangat  lazim ditemukan.  Adalah  satu  fungsi  penting  dalam pengembangan  aplikasi  yaitu  kemampuan  untuk mengembangkan  aplikasi  menjadi  lebih  besar  dan mampu diterapkan dalam berbagai macam platform serta perangkat yang ada saat ini.
Penyajian    informasi    yang    efektif    dan tepat    guna  akan    menjadikan    performa    sebuah instansi/perusahaan    atau  organisasi    semakin berkualitas.  Untuk      menghasilkan  informasi tersebut      maka      dibutuhkan      sebuah      sistem informasi      yang  mendukung  dalam  pengolahan datanya [1].
Pengembangan antarmuka
pemrograman  aplikasi  adalah  salah  satu  cara  agar suatu aplikasi/sistem dapat diakses serta dimanfaatkan  oleh  pihak  lain  tanpa  harus mengubah kode utama sistem dan basis data sistem serta  memudahkan  komunikasi  antar  sistem meskipun berbeda platform [2].
Sistem  Informasi  Akademik  (SIAKAD) Politeknik  Kota  Malang  merupakan  salah  satu sistem  yang  dimiliki  Politeknik  Kota  Malang  guna membantu  kegiatan  di  institusi  tersebut.  Sistem  ini memiliki 2 (dua) buah versi aplikasi yaitu versi web dan versi mobile . Dari sistem-sistem tersebut harus dapat  berkomunikasi  dan  melakukan  transfer  data antar  sistem  tanpa  harus  mengganggu  proses  kerja sistem masing-masing. Untuk menerapkan
komunikasi tersebut dibuatlah antarmuka pemrograman  aplikasi  ( application  programming interface ) sebagai layanan web ( web service ) dalam menjembatani komunikasi antar sistem tersebut.
Antarmuka pemrograman aplikasi ini dibangun  menggunakan  metode  RESTful  untuk berkomunikasi dengan sistem lain. REST
( Representational State Transfer Protocol ) merupakan  metode  pengembangan web  service yang  menonjolkan  kesederhaan  dan  menggunakan fitur  yang  ada  pada  HTTP  untuk  mendapatkan
sumberdaya saat menggunakan web service tersebut [3]. Metode  REST  memiliki  keunggulan  lebih cepat  dan  efisien  dibandingkan  metode  SOAP, selain  itu,  dalam  implementasinya  metode  REST memiliki konsumsi sumberdaya lebih efisien [4][5]. Pertimbangan  tersebut  menjadi  alasan  mengapa metode  REST  lebih  cocok  diimplementasikan dalam kasus penelitian yang dibahas.

## 2. METODOLOGI PENELITIAN

## Jenis, Sifat dan Pendekatan
Jenis  penelitian  yang  dilakukan  adalah tindakan,  peneliti  akan  mengembangkan  sebuah sistem antarmuka pemrograman aplikasi dari sistem informasi akademik dan digunakan untuk menghubungkan ke sub-sistem yang lain.
Sifat  penelitian  adalah  deskriptif  karena penelitian  ini  semata-mata  menggambarkan  suatu objek  untuk  mengambil  kesimpulan-kesimpulan yang  berlaku  secara  umum.  Dalam  penelitian  ini penulis akan mendeskripsikan proses pengembangan antarmuka pemrograman aplikasi di Politeknik Kota Malang.
Pendekatan  penelitian  ini  adalah  bersifat kualitatif,  yaitu  memahami  cara  kerja  antarmuka pemrograman  aplikasi  yang  akan  dibangun  dan melihat  keefektifan  hasil  penggunaan  antarmuka pemrograman aplikasi tersebut ketika diimplementasikan.
Tabel 1 . Ringkasan perangkat lunak yang digunakan dan fungsinya Teknologi Deskripsi PHP Bahasa pemrograman penyusun aplikasi SLIM Framework  PHP  dalam  menangani fungsi-fungsi yang digunakan JSON Standar  format  pertukaran  data berbasis text REST Arsitektur
web service yang digunakan

## Metode Pengembangan
Peneliti merancang aplikasi yang akan dibuat dengan  menggunakan  metode  pengembangan aplikasi  model prototype .  Langkah-langkah  dalam tahap prototype ini adalah :
1. Identifikasi kebutuhan awal.
2. Membangun prototype.
3. Melakukan review terhadap aplikasi prototype.
4. Menganalisa dan memperbaiki hasil review.
Gambar 1. Model Prototype [6]
Desain Sistem
Gambar 2. Gambaran Sistem

## 3. HASIL DAN PEMBAHASAN

## Hasil Aplikasi
Antarmuka Pemrograman Aplikasi dibangun menggunakan  bahasa  pemrograman  PHP  serta menggunakan framework SLIM.  Framework  ini digunakan karena keunggulan di sisi ukuran berkas yang  tidak  terlalu  besar,  serta  kecepatan  dalam menangani request pengguna [7] [8].
Dari  aplikasi  yang  dibangun,  antar  muka yand dihasilkan adalah seperti gambar 3 yang dapat diakses secara
online
pada halaman https://api.poltekom.ac.id. Dalam halaman antarmukanya, ditampilkan dokumentasi dari penggunaan sistem antarmuka pemrograman aplikasi (API) tersebut.

## Gambar 3. Tampilan API
Daftar alamat ( end point ) dalam menggunakan API tersebut adalah ditunjukkan dalam Tabel 2.
Tabel 2 . End Point API End Point Method Deskripsi /token POST Login token /mahasiswa GET Data Mahasiswa /jadwal GET Jadwal Perkuliahan /pembayaran GET Data pembayaran /nilai GET Data nilai mahasiswa /indeks_prestasi  GET Rekap KHS /daftar_hadir GET
Rekap Kehadiran
Siakad API DB Siakad Mobile Siakad Web
Pengujian White Box Testing Hasil  aplikasi  diujikan  dalam whitebox testing menggunakan  PHPUnit.  Penulis  membuat pengujian  untuk  tiap end  point pada  tabel  2,  dan dijalankan  pada  PHPUnit  dan  menghasilkan  data sebagai mana ditunjukkan pada gambar 4
Gambar 4. Hasil pengetesan PHPUnit

## Black Box Testing
Pengujian  selanjutnya  adalah  menggunakan metode black  box  testing . Black  box  testing adalah pengujian  yang  dilakukan  hanya  mengamati  hasil eksekusi melalui data uji dan memeriksa fungsionalitas dari perangkat lunak.
Tabel 3 . Uji fungsionalitas No Fitur Hasil 1 Login a) Parameter lengkap
b) Parameter kosong
c) Parameter salah Berhasil Berhasil Berhasil 2 Data Mahasiswa
a) Seluruh mahasiswa
b) Berdasar parameter
c) Limit hasil Berhasil Berhasil Berhasil 3 Jadwal a) Jadwal per hari
Berhasil
4 Pembayaran a) Rekap SPP persemester
b) Rekap DPP Berhasil Berhasil 5 Nilai a) Nilai per matakuliah b) Nilai seluruh MK Berhasil Berhasil 6 Indeks Prestasi a) Cetak KHS
Berhasil
7 Kehadiran a) Rekap kehadiran Berhasil
Berikut  Gambar  5  dan  Gambar  6  adalah  contoh proses pengujian menggunakan POSTMAN
Gambar 5 . Proses login
Gambar 6. Proses mengambil data mahasiswa

## Penerapan API
Penerapan API dilakukan pada pengembangan  perangkat  lunak  Sistem  Informasi Akademik  berbasis  Android  yang  dibangun menggunakan framework React  Native  untuk menghasilkan  aplikasi  berbasis  Android  dan  iOS yang disebut dengan aplikasi hybrid [9].
Pada  aplikasi  SIAKAD  Android,  tidak diperlukan lagi perintah untuk memanggil database secara langsung untuk mendapatkan data-data yang diperlukan,  tetapi  proses  ini  dilewatkan  pada web service menggunakan  API  dan  mendapatkan  data JSON  seperti  pada  gambar  6  untuk  selanjutnya diolah  pada  aplikasi  tersebut,  sehingga  akses langsung  ke  database  diminimalisir.  Bentuk aplikasi yang dihasilkan adalah seperti Gambar 7
Gambar 7 . Aplikasi Siakad [9]

## 4. KESIMPULAN DAN SARAN
Dari  tahapan  uji  coba  dan  implementasi,
dapat  disimpulkan  bahwa  penggunaan  antarmuka pemrograman  aplikasi  (API)  sangat  membantu pengembang dalam mengembangkan sebuah aplikasi  kedalam  bentuk  yang  lebih  baik  tanpa harus mengganggu kode dari program utama.
PHPUnit 5.4.8 by Sebastian Bergmann and contributors.
… 7 / 7 (100%) Time: 3 s, Memory: 10.50MB OK (7 test, 6 assertions)
Penggunaan  API  membantu  terciptanya model  aplikasi  yang  lebih  beragam  dan  dalam berbagai  platform  baik  web, mobile maupun desktop . Dari  hasil  penelitian,  telah  dikembangkan  3 (tiga)  bentuk  aplikasi  pengembangan  sistem informasi  akademik  yaitu  bentuk  aplikasi mobile ; aplikasi  pembayaran  dan  keuangan;  serta  aplikasi peminjaman  ruangan  yang  memanfaatkan  integrasi sistem menggunakan API.
Penggunaan  API  dapat  mempersingkat waktu  pengerjaan  pengembangan  aplikasi  karena tidak diperlukan lagi membangun  tabel secara utuh apabila  tabel  tersebut  sudah  ada  di  fungsionalitas API, maka cukup memanggil fungsi API tersebut.
Dari  penelitian  ini,  penulis  memiliki beberapa saran antara lain :
1) Perlu  ada  penelitian  lanjutan  tentang  faktor keamanan ketika
menggunakan API dibandingkan mengakses langsung ke sistem
2) Perlu ada kajian, seberapa pengaruh framework pengembangan  API  terhadap  kecepatan  akses data yang dihasilkan .

## 5. REFERENSI
[1]  N.  Ariasih  and  I.  Gede  Sri  Artha,  "Rancang Bangun  STIKI  Class  Facilities  E-Complaint", Lontar  Komputer  :  Jurnal  Ilmiah  Teknologi Informasi , p. 101, 2017.
[2]  S.  Ong,  S.  Cholia,  A.  Jain,  M.  Brafman,  D. Gunter,  G.  Ceder  and  K.  Persson,  "The Materials  Application  Programming  Interface
(API): A simple, flexible and efficient API for materials data based on REpresentational State Transfer  (REST)  principles", Computational Materials Science , vol. 97, pp. 209-215, 2015.
[3]  M.  Rouse,  "What  is  REST  (Representational State Transfer)? - Definition from WhatIs.com", SearchMicroservices ,  2018. [Online]. Available:
https://searchmicroservices.techtarget.com/def inition/REST-representational-state-transfer. [Accessed: 04- Sep- 2018].
[4]  M. L. Pandini, Z. Arifin, and D. M. Khairina,
“Design  web  service  academic  information system  based  multiplatform,”  2014  1st  Int. Conf.  Inf. Technol.  Comput.  Electr.  Eng. Green  Technol.  Its  Appl.  A  Better  Futur. ICITACEE 2014 - Proc ., pp. 297–302, 2015.
[5]  Z. Niu, C. Yang, and Y. Zhang,  “A design of cross-terminal  web  system  based  on  JSON and REST,” Proc. IEEE Int. Conf. Softw. Eng.
Serv. Sci. ICSESS , pp. 904–907, 2014.
[6]  A.  Saxena  and  P.  Upadhyay,  "Waterfall  vs. Prototype:  Comparative  Study  of  SDLC",
Imperial Journal of Interdisciplinary Research (IJIR) , vol. 2, no. 6, pp. 1012-1015, 2016.
[7]  J.  Lockhart,  A.  Smith  and  R.  Allen, "Documentation", Slim  Framework ,  2018. [Online]. Available: https://www.slimframework.com/docs/.
[Accessed: 04- Sep- 2018].
[8]  Klein, M. (2016). Design, Implementation and Critical Evaluation of a JavaScript Framework for Single-page Web Applications  focused on Server-side  Rendering  (Doctoral  dissertation, Trier University).
[9]  Wijonarko, Dwi; Aji, Rizal Fathoni.
Perbandingan  Phonegap  Dan  React  Native Sebagai  Framework  Pengembangan  Aplikasi Mobile. Jurnal  Manajemen  Informatika  dan Sistem  Informasi ,  [S.l.],  v.  1,  n.  2,  p.  1  -  7, aug. 2018. ISSN 2614-3739.