## Pengembangan
Rest API Untuk Monitoring Daerah Rawan Narkoba Menggunakan Framework ExpressJs Dengan

## Metode Scrum
Diptya Bagus Sumantry 1 , Muhammad Lulu Latif Usman 2,* , Yohani Setiya Rafika Nur 3
1,2,3 Teknik Informatika, Teknik Informatika, Institut Teknologi Telkom Purwokerto, Banyumas, Indonesia Email: 1 diptyasoemantry@gmail.com, 2,* lulu@ittelkom-pwt.ac.id , 3 yohani@ittelkom-pwt.ac.id
*) Email Corresponding Author
Abstrak− Narkoba adalah obat terlarang yang dapat menyebabkan banyak gejala negatif jika disalahgunakan oleh pengguna. Di Kabupaten Banyumas terdapat sekitar 23.985 jiwa penyalahgunaan dan peredaran gelap narkoba pada tahun 2022. Dengan banyaknya perkiran tersebut, Badan Narkotika Nasional Kabupaten (BNNK) Banyumas  mempunyai tanggung jawab dalam pencegahan,  pemberantasan,  penyalahgunaan  dan  peredaran  gelap  narkoba  di  wilayah  Kabupaten  Banyumas  degan melaksanakan  program  Desa  Bersih  Narkoba  (Desa  Bersinar).  Desa  Bersinar  merupakan  kegiatan  yang  digunakan  untuk pencegahan, pemberantasan, penyalahgunaan dan peredaran gelap narkoba. Kegiatan tersebut dimulai dari pemetaan wilayah daerah rawan narkoba yang nantinya digunakan untuk monitoring daerah rawan narkoba. Dalam melaksanakan kegiatan Desa Bersinar  BNNK  Banyumas  masih  melakukannya  secara  manual  maka  berdasarkan  permasalahan  tersebut  penulis  akan memberikan solusi yaitu mengambangkan backend dengan hasil Rest API yang nantinya digunakan untuk mengelola data dan monitoring  daerah  rawan  narkoba  yang  dapat  digunakan  pada  pengembangan frontend .  Pengembangan Rest  API akan menggunakan  metode scrum dengan framework ExpressJs .  Agar  pengembangan ini dapat berjalan sesuai  yang diharapkan maka akan dilakukan pengujian pada Rest API dengan whitebox testing dan blackbox testing. Sprint pertama dilaksanakan selama 2 minggu pada tanggal 24 juli 2023 – 6 Agustus 2023 dengan 17 product backlog dan total story point planed 60 jam dengan story point actual 60 jam. Sprint Kedua dilaksanakan selama 2 minggu pada tanggal 14 agustus 2023 – 27 agustus 2023 dengan 22 product backlog dan total story point planed 60 jam dengan story point actual 60 jam. Hasil dari setiap sprint menghasilkan Rest API . Story point planed dan story point actual akan menghasilkan burndown chart untuk melihat proses pekerjaan selama sprint . Penelitian ini dilakukan sesuai dengan waktu yang direncanakan dan Rest API dapat diterapkan pada pengembangan frontend .
Kata Kunci: Rest API , Narkoba, Desa bebas narkoba, Scrum , ExpressJs
Abstract− Narcotics are illegal drugs that can cause many negative symptoms if misused by users. In Banyumas Regency, there will be around 23,985 people who abuse and illicit drug trafficking in 2022. With this estimate, the Banyumas Regency National  Narcotics  Agency  (BNNK)  has  the  responsibility  to  prevent,  eradicate,  abuse  and  illicit  drug  trafficking  in  the Banyumas Regency area by implementing the Village program. Clean from Drugs (Shining Village). Bersinar Village is an activity used to prevent, eradicate, abuse and illicit drug trafficking. This activity starts with mapping drug-prone areas which will later be used for monitoring drug-prone areas. In implementing the Bersinar Village activities, the Banyumas BNNK still does it manually, so based on this problem the author will provide a solution, namely developing a backend with Rest API results which will later be used to manage data and monitor drug-prone areas which can be used in frontend development. Rest API development will use the Scrum method with the ExpressJs framework. So that this development can run as expected, testing will be carried out on the Rest API with whitebox testing and blackbox testing. The first sprint was carried out for  2 weeks on July 24 2023 – August 6 2023 with 17 product backlogs and a total of 60 hours of planned story points with 60 hours of actual story points. The Second Sprint will be implemented for 2 weeks on August 14 2023  – August 27 2023 with 22 product backlogs and a total of 60 hours of story points with actual story points of 60 hours. The results of each sprint produce a Rest API for each feature to be developed. Planned story points and actual story points will produce a burndown chart for each sprint to see the work process during the sprint. This research was carried out according to the planned time and Rest API can be applied to frontend development.
Keywords : Rest API , Drugs, Drug free village, Scrum, ExpressJs

## 1. PENDAHULUAN
Penyalahgunaan Narkotika, Psikotropika dan Bahan Adiktif berbahaya lainnya (Narkoba) menjadi masalah serius di  Kabupaten  Banyumas,  hal  ini  dapat  terjadi  karena  kurangnya  pemahaman  masyarakat  terhadap  bahaya Narkoba.  Menurut  kepala  Badan  Narkotika  Nasional  Kabupaten  (BNNK)  Banyumas,  Muhammad  Fierza Mucharom terdapat sekitar 23.985 orang melakukan penyalahgunaan Narkoba pada tahun 2022, dimana estimasi tersebut diukur melalui Pusat Penelitian Data dan Informasi Badan Narkotika Nasional (Puslitdatin BNN) dengan prevalensi tahun 2021 sebesar 1,95% [1], dan jumlah penduduk Kabupaten Banyumas usia 15 sampai 64 tahun sekitar 1,23 juta jiwa dari data Badan Pusat Statistik (BPS) tahun 2022  [2]. Estimasi penyalahgunaan  narkoba cukup besar berada di Kabupaten Banyumas. BNNK Banyumas mempunyai tanggung jawab dalam pencegahan, pemberantasan, penyalahgunaan dan peredaran gelap Narkoba di wilayah Kabupaten Banyumas. Desa Bersinar
merupakan  satuan  wilayah  setingkat  kelurahan  atau  desa  yang  memiliki  kriteria  tertentu  untuk  melaksanakan program Pencegahan Pemberantasan Penyalahgunaan dan Peredaran Gelap Narkotika (P4GN) yang dilaksanakan secara  massif.  Penentuan  kerawanan  dan  keterpulihan  daerah  rawan  narkoba  masih  dilakukan  secara  manual menggunakan kertas. Penulis menawarkan ide solusi untuk mempermudah BNNK Banyumas dalam melakukan pengelolaan  data  dan  monitoring  dalam  bentuk Representational  State  Transfer  Application  Programming Interface (Rest API) yang nantinya akan digunakan untuk pengembangan frontend pada aplikasi desa bersinar. Framework ExpressJs merupakan  salah  satu  kerangka  kerja  pada  pengembangan Rest  API yang  berjalan pada runtime  NodeJs. Dari  hasil  pengujian  kinerja  pada framework  Express.js dengan framework  Codeigniter menunjukan  bahwa  rata-rata respons waktu  dari framework ExpressJs adalah  420,72 milisecon lebih  cepat dibandingkan framework  Codeigniter yang  mempe role h  rata-rata respons waktu  555,90 milisecon [3]. Berdasarkan pemaparan tersebut, pemiliahan framework ExpressJs pada pengembangan Rest API untuk aplikasi desa bersinar yaitu memilki kecepatan dalam melakukan proses respons data. Metode Scrum merupakan  kerangka  kerja  pada  pengembangan  perngkat  lunak  yang  dilakukan  secara berulang dengan mengidentifikasi penyebab masalah dan dilanjutkan berdiskusi dengan tim untuk mencari solusi dari  setiap  permasalahan  [4].  Pada  metode  scrum  akan  menentukan  waktu  yang  akan  dibutuhkan  untuk mengembangkan  suatu  fitur. Dalam penggunan  metode scrum akan  fokus pada fitur  yang akan dikembangkan dan melakukan diskusi mengenai apa yang sudah dilakukan dan apa yang akan dilakukan pada sprint berikutnya sesuai dengan waktu yang sudah ditentukan. Pada Penelitian ini merupakan bagian backend yang nantinya akan menghasilkan Rest API .
Pengujian dalam tahap pengembangan aplikasi sangat diperlukan untuk men get ahui apakah aplikasi dapat berjalan sesuai dengan fungsionalitas yang diharapkan. Rencana pengujian yang digunakan pada Rest API yaitu menggunakan pengujian whitebox dan blackbox . Apabila terdapat kesalahan akan diperbaiki secepatnya dengan metode pengembangan scrum .

## 2. METODE PENELITIAN

## 2.1 Metode Pengembangan Scrum
Scrum  merupakan  kerangka kerja pada pengembangan perngkat lunak  yang dilakukan secara berulang dengan mengidentifikasi  penyebab  masalah  dan  dilanjutkan  berdiskusi  dengan  tim  untuk  mencari  solusi  dari  setiap permasalahan [4]. Terdapat tahapan dalam proses pengembangan perangkat lunak pada metode scrum, tahapan tersebut yaitu sebagai berikut:
Gambar 1. Metode Pengembangan Scrum [5]
a. Product Backlog Tahap product backlog adalah hal yang paling penting dalam pengembangan perangkat lunak menggunakan metode scrum . Pada tahap ini akan merubah ide menjadi suatu nilai yang nantinya akan dikerjakan untuk mencapai product goal [6]. b. Sprint Planning
Sprint Planning merupakan tahapan penting dalam memulai pekerjaan selama sprint . Pada tahap ini product owner akan melakukan rapat dengan anggota tim untuk memastikan product backlog yang akan dikerjakan dan membahas hubungan antara product backlog dengan product goal [6].
c. Daily Scrum
Daily  Scrum merupakan  tahapan  pada sprint yang  dilakukan  untuk  memastikan  implementasi product backlog terus berjalan sesuai dengan product goal [6].
d. Sprint Review
Sprint Review  adalah  tahapan  untuk  mempresentasikan  hasil  dari sprint yang  sudah  dikerjakan  kepada pemangku kepentingan [6].
e. Sprint Retrospective
Sprint Restrospective merupakan tahap yang dilakukan untuk merencanakan cara agar dapat meningkatkan kualitas dan efektivitas pada perangkat lunak yang sudah dibangun [6].

## 2.2 Pengujian Sistem
Pengujian  dilakukan  untuk  mengetahui  apakah rest  api yang  sudah  dikembangkan  sesuai  dengan  fungsi  dan berjalan dengan baik. Pengujian dilakukan menggunakan metode whitebox dan blackbox testing .

## 1. WhiteBox Testing
Whitebox adalah metode pengujian perangkat lunak dengan cara menganalisa dan meneliti stuktur internal dan  kode  dari  perangkat  lunak  [7].    Dalam  pengujian  menggunakan whitebox akan  terdapat flowchart , flowgraph , cycleomatic complexity , independet path dan uji skenario. Perhitungan cycleomatic complexity yaitu dengan menghitung jumlah edges pada flowgraph dan jumlah nodes pada flowgraph [8][9] . Hasil dari jumlah edges dikurangkan  dengan  jumlah nodes dan  ditambahkan  dengan  nilai  2.  Dari  hasil  tersebut merupkaan indipendent patah yang merupakan jumlah jalur yang dapat dilakukan untuk melakukan testing.
Tabel 1. Tingkar Resiko Kode Program Path Tipe Prosedur Tingkat Resiko 1-4 Sederhana Rendah 5-10 Struktur dan Stabil Rendah 11-20  Kompleks Menengah 21-50  Kompleks dan Kritis Tinggi >50 Rentan kesalahan, menganggu, tidak dapat diuji  Sangat Tinggi

## 2. BlackBox Testing
Black box testing merupakan salah satu metode yang digunakan untuk melakukan pengujian fungsionalitas dengan  melihat  hasil  eksekusi  melalui  data  uji  dan  memastikan  fungsi  dari software [10].  Pengujian menggunakan blackbox dapat mengetahui masukan dan keluaran yang di masukan oleh user dapat berjalan dengan baik atau tidak [11], dan mengevaluasi kesesuaian dengan kebutuhan pengguna tanpa mengetahui struktur kode atau program.

## 2.3 Alat dan Bahan
Dalam penelitian ini memerlukan pengguaan alat dan bahan sebagai pendukung keberhasilan penelitian. Adapun alat dan bahan yang diperlukan yaitu sebagai berikut:
a. Alat
Device :  Asus Vivobook S14 Processor
:  Intel(R) Core (TM) i5-8265U CPU @ 1.80GHz
RAM :  8GB
b. Bahan
Bahan  yang  digunakan  dalam  penelitian  ini  adalah  formulir  Indeks  Keterpulihan  Kawasan  Rawan  Narkoba (IKKR) [12].

## 2.4 Diagram Alir Penelitian
Diagram Alir merupakan salah satu tahap untuk melakukan penyusunan suatu penelitian. Penyusunan tahapan ini penting  untuk  dilakukan,  agar  penelitian  dapat  berjalan  dengan  lancar  dan  mencapai  hasil  yang  diharapkan. Berikut merupakan diagram alir yang akan dilakuan untuk penyusunan laporan penelitian ini:
Gambar 2. Diagram Alir Penelitian

## 3. HASIL DAN PEMBAHASAN

## 3.1 Hasil

## 3.1.1 Analisis Kebutuhan Sistem
Tahap Analisis Kebutuhan Sistem merupakan tahapan penting dalam pengembangan aplikasi desa bersinar. Pada tahap ini peneliti akan melakukan desain sistem yang akan digambarkan dalam bentuk User Modeling Language (UML) dan Entity Relationship Diagram (ERD) [13].
a. Use Case Diagram
Gambar 3. Use Case Diagram
Pada  gambar  3  terlihat  role  admin  dapat  mengakses  data  relawan,  pegawai,  formulir,  tipe  formulir, masyarakat,  desa  kecamatan  dan  indikator.  Role  pegawai  dapat  mengakses  data  desa  kecamtan  dan
indikator. Role Relawan dapat mengakses data Masyarakat, membuat dan melihat jawaban formulir, edit dan lihat data pribadi, lihat data formulir, lihat tipe formulir, dan lihat data desa dan kecamatan
b. Sequence Diagram Pemetaan
Gambar 4. Sequence Diagram Pemetaan
Rest API batas area map dapat diakses oleh role admin. Admin akan memasukan authorization token dan query untuk melakukan filter data berdasarkan rentan waktu. Token dan query  yang telah dimasukan lalu dikirimkan untuk proses validasi oleh sistem. Jika terdapat data yang tidak sesuai maka akan menampilkan pesan validasi gagal. Jika data yang dimasukan sesuai maka, akan melakukan cek data pada basis data dan menampilkan area desa dan status desa tersebut.
c. Entity Relationship Diagram (ERD)
Entity relationship diagram yang menggambarkan relasi antar table pada basis data aplikasi desa bersinar. Terdapat  9 entity yang  digunakan  dalam  pengembangan  aplikasi  desa  bersinar.  Setiap entity mempunyai atribut yang dapat saling berelasi antar table dan mempunyai primary key serta foreign key .

## 3.1.2 Product Backlog
Pada tahap ini akan menghasilkan fitur yang akan dikerjakan berdasarkan product goals dan terdapat prioritas dan waktu untuk mengkerjakan product backlog dalam setiap sprint. Berikut tabel product goals :

## Tabel 2. Product backlog
No Product Goals Product backlog Prioritas Waktu 1 Menghasilkan Environment yang bersih Perancangan Framework Pertama 60 Jam ( Sprint Pertama) Add Models & Migrate table database 2 Data otomatis ditambahkan ketika program pertama kali dijalankan Otomatis menambahkan akun admin, menambahkan data desa kecamatan dan tipe formulir Pertama 3 Melakukan otorisasi dan autentikasi Membuat login Pertama Membuat fetch Endpoint logout 4 Dapat Melakuaan pembuatan, melihat, edit dan hapus data pada relawan Membuat create relawan Pertama Membuat get all relawan Membuat get detail relawan
Membuat edit relawan Membuat delete relawan 5 Dapat Melakuaan pembuatan, melihat, edit dan hapus data pada masyarakat Membuat create masyarakat Pertama Membuat get masyarakat Membuat detail masyarakat Membuat edit masyarakat
Membuat delete masyarakat
6 Dapat Melakuaan pembuatan, melihat, edit dan hapus data pada pegawai Membuat create pegawai Kedua 60 Jam ( Sprint Kedua) Membuat get all pegawai Membuat detail pegawai Membuat edit pegawai Membuat delete pegawai 7 Dapat Melakuaan pembuatan, melihat, edit dan hapus data pada Type Formulir Membuat create tipe formulir Kedua Membuat get tipe formulir Membuat get detail tipe formulir Membuat edit tipe Formulir Membuat delete Type Formulir 8 Dapat Melakuaan pembuatan, melihat, edit dan hapus data pada Formulir Membuat create dan edit formulir Kedua Membuat get formulir IKKR
Membuat get formulir by tipe formulir
Membuat delete formulir 9 Dapat Melakuaan pembuatan dan melihat jawaban Membuat Create Answer Kedua Membuat get Answer by masyarakatId 10 Dapat Melakuaan melihat data desa kecamatan rawan narkoba Membuat get list desa dan kecamatan Kedua Membuat get batas area peta desa 11 Dapat Melakuaan pembuatan, melihat, edit dan hapus data pada Indikator Membuat create indikator desa Kedua Membuat get indikator by
desaKecamatan Membuat delete indikator 12 Dapat menampilkan total data pada dashboard Membuat get menampilkan Jumlah Relawan, Jumlah Masyarakat, Jumlah Formulir Kedua 3.1.3 Sprint Pertama
a. Sprint Planning
Sprint pertama  dilaksanakan  selama  2  minggu  yaitu  dari  tanggal  24  Juli  –  6  Agustus  2023.  Berikut merupakan perencanaan pada sprint pertama pada pengembangan rest api aplikasi desa bersinar:
Tabel 3. Sprint Planning – Sprint Pertama No Product backlog Date Story Point Planed 1 Perancangan Framework 24 Juli 2023 5 2 Add Models & Migrate ke database 25 Juli 2023 5 3 Otomatis menambahkan akun admin 26 Juli 2023 5 4 Otomatis menambahkan akun admin, data desa kecamatan dan tipe formulir 27 Juli 2023 5 5 Membuat login 28 Juli 2023 5 6 Membuat endpoint fetch
7 Membuat logout
29 Juli 2023 5 8 Membuat create relawan
9 Membuat get semua relawan
31 Juli 2023 5
10 Membuat get detail relawan
11 Membuat edit relawan 1 Agustus 2023 5 12 Membuat delete relawan 2 Agustus 2023 5 13 Membuat create masyarakat 14 Membuat get semua masyarakat 3 Agustus 2023 5 15 Membuat detail masyarakat 4 Agustus 2023 5 16 Membuat edit masyarakat 5 Agustus 2023 5 17 Membuat delete masyarakat Total 60

## b. Daily Scrum
Berikut merupakan hasil daily scrum pada sprint pertama yang sudah dikerjakan:
Tabel 4. Hasil Daily Scrum – Sprint Pertama
No Product backlog API Date Story Point Actual M P  Q  H  B  A 1 Perancangan Framework x x x x x x 24 Juli 2023 8 2 Add Models & Migrate ke database x x x x x x 25 Juli 2023 8 3 Otomatis menambahkan akun admin
x x x x x x 26 Juli 2023 3 4 Otomatis menambahkan data desa kecamatan dan tipe formulir x x x x x x 27 Juli 2023 5 5 Membuat login POST
x x x v x 28 Juli 2023 3 6 Membuat endpoint fetch
GET
x x x x v 1 7 Membuat logout POST
x x x x v 29 Juli 2023 1 8 Membuat create relawan POST
x x x v v 5 9 Membuat get semua relawan GET
x v x x v 31 Juli 2023 3 10 Membuat get detail relawan
GET v x x x v 3 11 Membuat edit relawan PUT v x x v v 1 Agustus 2023 5 12 Membuat delete relawan DELETE v x x x v 3 Agustus 2023 1 13 Membuat create masyarakat
POST x x x v v 5 14 Membuat get semua masyarakat
GET x v x x v 3 Agustus 2023 3
15 Membuat detail masyarakat GET v x x x v 4 Agustus 2023 2 16 Membuat edit masyarakat PUT v x x v v 5 Agustus 2023 3 17 Membuat delete masyarakat DELETE v x x x v 1 Total 60
Pengujian menggunakan WhiteBox Testing pada endpoint login:
Gambar 5 . Flow Login
Menentukan jumlah jalur (v(G)) dilakukan perhitungan sebagai berikut:
V(G) = Edges - Nodes + 2
V(G) = 6 - 6 + 2
v(G) = 2
Dari hasil perhitungan v(G) terdapat 2 jalur untuk pengujian dengan sekenario sebagai berikut:
Jalur 1 = 1-2-3-4-5-6
Jalur 2 = 1-2-3-4-2-3-4-5-6
Tabel 5. White Box Login Path 1 2 Jalur 1-2-3-4-5-6 1-2-3-4-2-3-4-5-6 Skenario 1. Mulai 2. Input username dan password 3. Send request 4. Validasi Input 5. Output token 6. Selesai 1. Mulai 2. Input username dan password 3. Send request
4. Validasi Input
2. Input username dan password 3. Send request 4. Validasi Input
5. Output token 6. Selesai Hasil Pengujian  Berhasil Berhasil
Padaa tabel 1 pengujian whitebox login pada 2 jalur berhasil di jalankan.
Tabel 6. Black Box Login No Role Skenario Hasil yang Diharapkan Keterangan 1 Admin, Pegawai, Relawan Memasukan username dan password yang sesuai pada database Menampilkan access token Berhasil 2 Admin, Pegawai, Relawan Memasukan username tidak terdaftar Menampilkan pesan error " username tidak ditemukan" Berhasil Memasukan password yang salah Menampilkan pesan error " password anda salah" Berhasil Memasukan username dan password kosong Menampilkan pesan error " username tidak boleh kosong" dan " password tidak boleh kosong" Berhasil
Pengujian fungsional pada tabel 6 blackbox login berhasil di jalankan sesuai dengan skenario.
c. Sprint Review
Pada tahap sprint review peneliti dan tim akan mendemonstrasikan setiap product backlog yang sudah dikerjakan kepada pemangku kepentingan. Hasil dari diskusi tersebut, dihasilkan bahwa pada sprint pertama product backlog berhasil diselesaikan sesuai dengan product goals dan product backlog diselesaikan dengan tepat waktu.
d. Sprint Retrospective
Pada tahap sprint retrospective, peneliti dan tim melakukan evaluasi selama mengerjakan sprint pertama. Hasil pada tahap ini dapat berjalan dengan baik dan tidak ada masalah yang ditemukan. Peneliti menyelesakian sprint dengan tepat waktu dan akan melanjutkan sprint berikutnya.
3.1.4 Sprint Kedua
a. Sprint Planning
Sprint kedua dilaksanakan selama 2 minggu yaitu dari tanggal 14 Agustus – 26 Agustus 2023. Berikut merupakan perencanaan pada sprint kedua di aplikasi desa bersinar:
Tabel 7. Sprint Planing – Sprint Kedua
No Product backlog Date Story Point Planed 1 Membuat create pegawai
14 Agustus 2023 5 2 Membuat get all pegawai
3 Membuat detail pegawai
4 Membuat edit pegawai
5 Membuat delete pegawai
6 Membuat create tipe formulir 15 Agustus 2023 5
7 Membuat get tipe formulir
8 Membuat get detail tipe formulir
9 Membuat edit tipe Formulir
10 Membuat delete Type Formulir
11 Membuat create dan edit formulir
16 Agustus 2023 5 12 Membuat get formulir IKKR
13 Membuat get formulir by tipe formulir
14 Membuat delete formulir 17 Agustus 2023 5 15 Membuat Create Answer 18 Agustus 2023 5 16 Membuat get Answer by masyarakatId 19 Agustus 2023 5 17 Membuat get list desa dan kecamatan 21 Agustus 2023 5 18 Membuat get batas area peta desa 22 Agustus 2023 5 19 Membuat create indikator desa 23 Agustus 2023 5 20 Membuat get indikator by desaKecamatan  24 Agustus 2023 5 21 Membuat delete indikator 25 Agustus 2023 5 22 Membuat get menampilkan Jumlah Relawan, Jumlah Masyarakat, Jumlah Formulir 26 Agustus 2023 5 Total 60 b. Daily Scrum
Berikut merupakan hasil daily scrum pada sprint pertama:
Tabel 8. Hasil Daily Scrum – Sprint Pertama
No Product backlog API Date Story Point Actual M P  Q  H  B  A 1 Membuat create pegawai
POST
x x x v v 14 Agustus 2023 3 2 Membuat get all pegawai
GET x v x x v 1 3 Membuat detail pegawai GET
v x x x v 1 4 Membuat edit pegawai PUT v x x v v 3 5 Membuat delete pegawai
DELETE v x x x v 1 6 Membuat create tipe formulir
POST x x x v v 15 Agustus 2023 3 7 Membuat get tipe formulir
GET x x x x v 1 8 Membuat get detail tipe formulir
GET v x x x v 3 9 Membuat edit tipe Formulir PUT
v x x v v 3
10 Membuat delete Type Formulir DELETE v x x x v 1 11 Membuat create dan edit formulir POST
x x x v v 16 Agustus 2023 5 12 Membuat get formulir IKKR GET x x x x v 3 13 G et formulir by tipe formulir GET v x x x v 3 14 Membuat delete formulir DELETE v x x x v 17 Agustus 2023 1 15 Membuat Create Answer POST v x x v v 18 Agustus 2023 7 16 G et Answer by masyarakatId GET v x x x v 19 Agustus 2023 3 17 Membuat get list desa dan kecamatan GET x v x x v 21 Agustus 2023 3 18 Membuat get batas area peta desa
GET
x v x x v 22 Agustus 2023 7 19 Membuat create indikator desa POST
x x x v v 23 Agustus 2023 3 20 Membuat get indikator by desaKecamatan GET
v x x x v 24 Agustus 2023 3 21 Membuat delete indikator DELETE v x x x v
25 Agustus
2023 1 22
Membuat get menampilkan Jumlah Relawan, Jumlah
Masyarakat,
Jumlah Formulir
GET x x x x v 1 Total 60
Pengujian menggunakan WhiteBox Testing pada endpoint batas area map:
Menentukan jumlah jalur (v(G)) dilakukan perhitungan sebagai berikut:
V(G) = E - N + 2 V(G) = 12 – 10 + 2 v(G) = 4
Dari hasil perhitungan v(G) terdapat 4 jalur untuk pengujian dengan sekenario sebagai berikut:
Jalur 1 = 1-2-3-4-5-6-7-8-9-10 Jalur 2 = 1-2-3-4-5-6-8-9-10 Jalur 3 = 1-2-3-4-5-6-7-3-4-5-6-7-8-9-10 Jalur 4 = 1-2-3-4-5-2-3-4-5-6-7-8-9-10
Tabel 9. White Box Batas Area Map Path 1 2 Jalur 1-2-3-4-5-6-7-8-9-10 1-2-3-4-5-6-8-9-10 Skenario 1. Mulai 2. Input token login 3. Input query
4. Send request
5. Validasi token
6. Apakah ada query
7 . Validasi query
8. Akumulasi Indikator
9. Show batas area 10. Selesai 1. Mulai
2. Input token login 3. Input query
4. Send request
5. Validasi token
6. Apakah ada query
8. Akumulasi Indikator
9. Show batas area
10. Selesai Hasil Pengujian  Berhasil Berhasil Path 3 4 Jalur 1-2-3-4-5-6-7-3-4-5-6-7-8-9-10  1-2-3-4-5-2-3-4-5-6-7-8-9-10 Skenario 1. Mulai 2. Input token login
3. Input query
4. Send request
5. Validasi token
6. Apakah ada query
7 . Validasi query
3. Input query
4. Send request
5. Validasi token
6. Apakah ada query
7 . Validasi query
1. Mulai 2. Input token login
3. Input query
4. Send request
5. Validasi token
2. Input token login
3. Input query
4. Send request
5. Validasi token
6. Apakah ada query
7 . Validasi query
8. Akumulasi Indikator
8. Akumulasi Indikator 9. Show batas area 10. Selesai 9. Show batas area 10. Selesai Hasil Pengujian  Berhasil Berhasil
Hasil pengujian pada tabel 9 white box testing sebanyak 4 jalur berhasil dijalankan.
Tabel 10. Black Box Batas Area Map No Role Skenario Hasil yang Diharapkan Keterangan 1 Admin Memasukan token login yang sudah kadaluarsa Menampilkan pesan error " Unauthorized " Berhasil Tidak memasukan token login Menampilkan pesan error " forbidden " Berhasil 2 Admin Memasukan token login admin dan Input query Menampilkan data berdasarkan waktu Berhasil Memasukan token login admin dan tidak menambahkan query Menampilkan data semua batas area Berhasil Memasukan token login selain role admin dan relawan Menampilkan pesan error Your role is not allowed! Berhasil
Pengujian fungsional pada tabel 10 blackbox batas area map berhasil dijalankan sesuai dengan skenario.
c. Sprint Review peneliti berdiskusi dengan pemangku kepentingan apakah product backlog yang sudah dikerjakan sesuai dengan product goals dan apakah masih ada product backlog yang tersisa. Hasil dari diskusi tersebut, dihasilkan bahwa pada sprint kedua product backlog berhasil diselesaikan sesuai dengan product goals dan product backlog diselesaikan dengan tepat waktu.
d. Sprint Retrospective
Pada tahap sprint retrospective di sprint kedua , peneliti dan tim melakukan evaluasi selama mengerjakan sprint kedua. Hasil pada tahap ini dapat berjalan dengan baik dan tidak ada masalah yang ditemukan. Peneliti menyelesakian sprint kedua dengan tepat waktu.

## 3.2 Pembahasan
3.2.1. Penerapan Metode Pengembangan SCRUM
Gambar 7 . Burndown Chart Sprint 1
Garis warna orange menggambarkan waktu yang dikerjakan sebenarnya dan garis biru menggambarkan waktu perencanaan sprint selesai. Sprint 1 dilakukan  sesuai dengan perencanaan  yaitu  selesai pada tanggal 6 agustus 2023

## Gambar 8 . Burndown Chart Sprint 2
Garis  warna orange menggambarkan  waktu  pengkerjaan  sebenarnya  dan  garis  biru  waktu  perencanaan sprint selesai. Sprint 2 selesai lebih cepat yaitu pada tanggal 25 agustus 2023 dari waktu perencanaan 27 agustus 2023.

## 3.2.2. Performa Rest API
60 55 50 45 40 35 35 30 25 20 15 10 5 0 60 52 44 41 36 32 32 26 20 15 9 6 4 0 0 20 40 60 80 24-Ju l 25-Ju l 26-Ju l 27-Ju l 28-Ju l 29-Ju l 30-Ju l 31-Ju l 01-A gu 02-A gu 03-A gu 04-A gu 05-A gu 06-A gu Burndown Chart Sprint 1 Planed Actual 60 55 50 45 40 35 35 30 25 20 15 10 5 0 60 51 40 29 28 21 21 18 15 8 5 2 0 20 40 60 80 14-A gu 15-A gu 16-A gu 17-A gu 18-A gu 19-A gu 20-A gu 21 -A gu 22-A gu 23-A gu 24-A gu 25-A gu 26-A gu 27-A gu
Burndown Chart Sprint 2
Planed Actual
Performa waktu yang dihasilkan ketika mengakses endpoint batas area map untuk melakukan monitoring daerah rawan narkoba mendapatkan waktu 231.4 millisecond untuk menampilkan data rawan narkoba dari setiap desa dengan 100 indikator. Dari hasil yang sudah dilakukan pada pengujian whitebox mendapatkan hasil bahwa semua jumlah jalur terkcil dua jalur dan jalur terbesar terdapat enam jalur. Hasil jalur tersebut memiliki tingkat resiko rendah.  Hasil  pengujian blackbox yang  sudah  dilakukan  pada  semua endpoint dapat  berfungsi  sesuai  dengan sekanario dan hasil yang diharapkan. Setiap endpoint akan menampilkan pesan error jika pengujian tidak sesuai dengan skenario dan akan menampilkan pesan berhasil sesuai dengan request yang dilakukan.

## 4. KESIMPULAN
Dari  penelitian  yang  sudah  dilakukan  oleh  peneliti  pada  pengembangan  rest api menggunakan framework expressjs, pengujian whitebox testing , blackbox testing dan metode pengembangan scrum dengan melakukan 2 kali sprint, memberikan  kesimpulan  sebagai  berikut:    (1)  Pengembangan rest  api yang  sudah  dilakukan menggunakan framework expressjs dapat melakukan penambahan, menampilkan, mengedit dan menghapus data pada basis data. Rest api yang sudah dikembangkan dapat digunakan tim frontend dan mobile untuk pengelolan data  dan  monitoring  daerah  rawan  narkoba.  (2)  Pengembangan rest  api menggunakan  metode  pengembangan scrum  yang  dimulai  dari  menentukan  product  backlog  hingga  sprint retrospective berhasil  dilakukan.  Sprint dilakukan 2 kali dalam pekerjaan product backlog dengan melakukan pengujian whitebox dan blacbok testing . Hasil  dari  pengujian  setiap  product  backlog  berhasil  sesuai  dengan  skenario  dan  memiliki  tingkat  resiko  yang rendah .

## REFERENCES
[1]  Indonesia. Badan Narkotika Nasional. Pusat Penelitian Data dan Informasi, National survey on drug abuse, 2021.
[2]  Badan  Pusat  Statistik  Kabupaten  Banyumas,  “Jumlah  Penduduk    Menurut  Kelompok  Umur  dan  Jenis  Kelamin  di Kabupaten Banyumas.” Accessed: Jun. 12, 2023. [Online]. Available:
https://banyumaskab.bps.go.id/statictable/2016/09/29/108/jumlah-penduduk-menurut-kelompok-umur-dan-jenis- kelamin-di-kabupaten-banyumas-2015.html
[3]  L.  Mulana,  K.  Prihandani,  A.  Rizal,  U.  Singaperbanga,  and  K.  Abstract,  “Analisis  Perbandingan  Kinerja  Framework Codeigniter Dengan Express.Js Pada Server RESTful Api,” Jurnal Ilmiah Wahana Pendidikan , vol. 8, no. 16, pp. 316– 326, 2022, doi: 10.5281/zenodo.7067707.
[4]  H. A. Lalu Mutawali, Buyung Kurnia Fathoni, “Implementasi Scrum Dalam Pengembangan Sistem Informasi Jasa Desain Grafis,” Manajemen Informatika Dan Sistem Informasi , vol. 3, no. 2, pp. 116–122, 2020.
[5]  “Gambar Metode Scrum,” https://www.scrum.org/node/646 .
[6]  Ken
Schwaber & Jeff Sutherland, Panduan Scrum . 2020. [Online].
Available: https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Indonesian.pdf
[7]  H. Gusdevi, S. Kuswayati, M. Iqbal, M. F. Abu Bakar, N. Novianti, and R. Ramadan, “Pengujian White-Box Pada Aplikasi Debt Manager Berbasis Android,” Naratif : Jurnal Nasional Riset, Aplikasi dan Teknik Informatika , vol. 4, no. 1, pp. 11– 22, 2022, doi: 10.53580/naratif.v4i1.147.
[8]  H. Gusdevi, S. Kuswayati, M. Iqbal, M. F. Abu Bakar, N. Novianti, and R. Ramadan, “Pengujian White-Box Pada Aplikasi Debt Manager Berbasis Android,” Naratif : Jurnal Nasional Riset, Aplikasi dan Teknik Informatika , vol. 4, no. 1, pp. 11– 22, 2022, doi: 10.53580/naratif.v4i1.147.
[9]  A. Setiawan, M. R. D. Ananda, R. Alvario, and ..., “Pengujian Sistem Informasi Aplikasi Perpustakaan Berbasis Web Di SMAN  1  Gunung  Sindur  Dengan  White  Box  Testing,” …  Sacra:  Jurnal  Sains  … ,  vol.  2,  no.  1,  pp.  180–188,  2022, [Online]. Available: http://www.pijarpemikiran.com/index.php/Scientia/article/view/148
[10] Rangga Gelar Guntara and V. Azkarin, “Implementasi dan Pengujian REST API Sistem Reservasi Ruang Rapat dengan Metode Black Box Testing,” Jurnal Minfo Polgan , vol. 12, no. 1, pp. 1229–1238, 2023, doi: 10.33395/jmp.v12i1.12691.
[11] Rangga Gelar Guntara and V. Azkarin, “Implementasi dan Pengujian REST API Sistem Reservasi Ruang Rapat dengan Metode Black Box Testing,” Jurnal Minfo Polgan , vol. 12, no. 1, pp. 1229–1238, 2023, doi: 10.33395/jmp.v12i1.12691.
[12] “Formulir IKKR,” https://perpustakaan.bnn.go.id/sites/default/files/Buku_Digital_2020-08/Juknis%20IKKR.pdf.
[13]  K.  ’Afiifah,  Z.  F.  Azzahra,  and  A.  D.  Anggoro,  “Analisis  Teknik  Entity-Relationship  Diagram  dalam  Perancangan Database Sebuah Literature Review,” Intech , vol. 3, no. 2, pp. 18–22, 2022, doi: 10.54895/intech.v3i2.1682.