## Pengujian Aplikasi Menggunakan Metode Load Testing dengan Apache Jmeter pada Sistem Informasi Pertanian
Desy Intan Permatasari #1 , Misbahul Ardani #2 , Arvianti Yulia Ma’ulfa #3 , Nindy Ilhami #4 , Sandy Gio Pratama #5 , Seria Reni Dwi Astuti #6 , Nadia Widad Naufalita #7
# Departemen Teknik Informatika dan Komputer Politeknik Elektronika Negeri Surabaya Jl. Raya ITS, Keputih, Kec. Sukolilo, Surabaya, Indonesia
1 desy@pens.ac.id
5 sandygio@it.student.pens.ac.id
Abstrak — Load  Testing adalah  teknik performance  testing yang  mana  respon  sistem  diukur  dalam  berbagai  load condition.  Penelitian  ini  membantu  menentukan  bagaimana software  berperilaku  ketika  beberapa user mengakses software  secara  bersamaan.  Pengujian  menggunakan metoda Black  Box  Testing dan Gorilla  Testing sebagai Test Case  Sampling . Black  Box  Testing adalah  Pengujian fungsional  software  tanpa  mengetahui  struktur  internal program  (no  knowledge). Gorilla  Testing adalah  Teknik pengujian dimana modul program berulang kali diuji untuk memastikan  bahwa  modul  tersebut  berfungsi  dengan  benar dan tidak ada bug. Modul dapat diuji lebih dari seratus kali, dan  dengan  cara  yang  sama.  Jadi, Gorilla  Testing juga dikenal  sebagai  " Frustrating  Testing ".  Tujuannya  adalah untuk  menguji  robustness.  Pada  penelitian  ini  target pengujian  aplikasi  adalah Loading  time tidak  >3  second, process  memory  tidak  >400MB,  dan  data  dapat  masuk kedalam  fungsi.  Hasil  pengujian  load  testing  menunjukkan dengan  menggunakan  Apache  JMeter  bahwa  target pengujian  loading  time  dan  process  memory  sudah terpenuhi.
Kata kunci — Software Testing, Load Testing, Performance Testing, Apache JMeter

## I. P ENDAHULUAN
Aplikasi MeTANI adalah aplikasi yang memiliki fungsi inventarisasi dan pemetaan produksi hasil dan infrastruktur  pertanian.  Aplikasi  ini  mendata  seluruh produk  hasil  pertanian  di  daerah  dan  mencatat  data infrastruktur pertanian di daerah. Diantaranya adalah hasil pertanian  baik  sawah,  perkebunan,  maupun  peternakan.
Juga  terdapat  infrastruktur  yang  terdiri  dari  kondisi  lahan dan luas lahan pertanian.
Aplikasi  MeTANI  berguna  untuk  inventarisasi  dan mengetahui  rasio  produksi  pertanian  di  daerah  tiap tahunnya.
Pada  aplikasi  ini  terdapat  beberapa  modul,  antara  lain modul  pengelolaan  jenis  tani,  pengelolaan  jenis  tanah, modul hasil tani, modul tanah, modul lokasi, dan lain-lain. Setelah  aplikasi  MeTANI  selesai  dibuat,  maka  perlu dilakukan pengujian untuk menguji  modul sudah berjalan sesuai dengan requirement.
Pengujian  adalah  suatu  proses  pelaksanaan  suatu program  dengan  tujuan  menemukan  suatu  kesalahan. Suatu  kasus  test  yang  baik  adalah  apabila  test  tersebut mempunyai  kemungkinan  menemukan  sebuah  kesalahan yang  tidak  terungkap.  Suatu  test  yang  sukses  adalah  bila test  tersebut  membongkar  suatu  kesalahan  yang  awalnya tidak  ditemukan.  Tujuan  utama  dari  pengujian  adalah untuk mendesain test yang secara sistematik membongkar jenis kesalahan dengan usaha dan waktu minimum.
Load  Testing  adalah  Teknik  performance  testing  yang mana respon sistem diukur dalam berbagai load condition.
Paper  ini  membantu  menentukan  bagaimana  software berperilaku  ketika  beberapa  user  mengakses  software secara bersamaan. Pengujian menggunakan method  Black  Box  Testing  dan  Gorilla  Testing  sebagai Test Case Sampling.
Black  Box  Testing  adalah  Pengujian  fungsional software  tanpa  mengetahui  struktur  internal  program  (no knowledge).
Gorilla Testing adalah Teknik pengujian dimana modul program  berulang  kali  diuji  untuk  memastikan  bahwa modul tersebut berfungsi dengan benar dan tidak ada bug.

## JUSTIN (Jurnal Sistem dan Teknologi Informasi)  Vol. 8, No. 1, Januari 2020
Modul dapat diuji lebih dari seratus kali, dan dengan cara yang  sama.  Jadi,  Gorilla  Testing  juga  dikenal  sebagai "Frustrating  Testing".  Tujuannya  adalah  untuk  menguji robustness.

## II. K AJIAN L ITELATUR

## A. Pengujian Software
Pengujian software sangat diperlukan untuk memastikan software /aplikasi  yang  sudah/sedang  dibuat dapat  berjalan  sesuai  dengan  fungsionalitas  yang diharapkan.  Pengembang  atau  penguji software harus menyiapkan  sesi  khusus  untuk  menguji  program  yang sudah  dibuat  agar  kesalahan  ataupun  kekurangan  dapat dideteksi  sejak  awal  dan  dikoreksi  secepatnya.  Pengujian atau testing sendiri merupakan elemen kritis dari jaminan kualitas  perangkat  lunak  dan  merupakan  bagian  yang tidak  terpisah  dari  siklus  hidup  pengembangan software seperti  halnya  analisis,  desain,  dan  pengkodean.  (Shi, 2010)
Pengujian  software  haruslah  dilakukan  dalam  proses rekayasa  perangkat  lunak  atau software  engineering . Sejumlah  strategi  pengujian software telah  diusulkan dalam  literatur.  Semuanya  menyediakan  template  untuk pengujian  bagi  pembuat software .  Dalam  hal  ini, semuanya  harus  memiliki  karakteristik  umum  berupa (Bhat and Quadri, 2015) :

## B. Performance Testing
Performance  testing  adalah  jenis  pengujian  untuk memastikan perangkat lunak akan bekerja dengan baik di bawah  beban  kerja  yang  diharapkan.Tujuan  utamanya bukan  untuk  mencari  bug,  tapi  untuk  mengeliminasi performance bottleneck.
Fokus dari Performance Testing, yaitu :
● Speed - menentukan apakah aplikasi merespon dengan cepat
● Scalability - menentukan apakah jumlah maksimum user load dapat ditangani
● Stability - menentukan apakah aplikasi stabil dengan berbagai beban

## C. Load Testing
Load  testing  adalah  teknik  performance  testing  yang mana respon sistem diukur dalam berbagai load condition.
Pengujian  ini  membantu  menentuka  bagaimana software  berperilaku  ketika  beberapa  user  mengakses software secara bersamaan.
Load  testing  diperlukan  untuk  membuat  simulasi akses  aplikasi  web  /  website  secara  simultan.  Cara  ini lebih baik dibandingkan dengan harus mengundang sekian belas, atau puluh orang sekaligus untuk mengakses sebuah website.
Langkah-langkah pengujian software ada 4 yaitu: 1. Unit  testing -testing  per  unit  yaitu  mencoba  alur  yang spesifik  pada  struktur  modul  kontrol  untuk  memastikan pelengkapan  secara  penuh  dan  pendeteksian  error  secara maksimum
2. Integration  testing –  testing  per  penggabungan  unit yaitu pengalamatan dari isu-isu yang diasosiasikan dengan masalah ganda pada verifikasi dan konstruksi program 3. High-order  test yaitu  terjadi  ketika  software  telah selesai  diintegrasikan  atau  dibangun  menjadi  satu  –tidak terpisah-pisah
4. Validation test yaitu menyediakan jaminan akhir bahwa software memenuhi semua kebutuhan fungsional, kepribadian dan performa.

## D. Apache JMeter
Aplikasi Apache JMeter adalah perangkat lunak open source,  100%  aplikasi  Java  murni  dirancang  untuk memuat tes perilaku fungsional dan mengukur kinerja. Ini pada  awalnya  dirancang  untuk  pengujian  Aplikasi  Web tetapi sejak diperluas untuk fungsi tes lainnya. [7]
APACHE  JMETER  adalah  aplikasi  open  source berbasis Java yang dapat dipergunakan untuk performance test.  Bagi  seorang  QA  Engineer  jMeter  bisa  digunakan untuk  melakukan  load/stress  testing  Web  Application, FTP Application dan Database server test.
Apache  JMeter  dapat  digunakan  untuk  menguji kinerja  baik  pada  sumber  daya  statis  dan  dinamis  (web services  (SOAP  /  REST),  Web  bahasa  dinamis  -  PHP, Java, ASP.NET, File, dll -, Jawa Objects, Pangkalan Data dan Pertanyaan, FTP Server dll). Hal ini dapat digunakan untuk mensimulasikan  beban  berat  pada server, sekelompok  server,  jaringan  atau  objek  untuk  menguji kekuatan  atau  untuk  menganalisa  kinerja  secara keseluruhan di bawah jenis beban yang berbeda.
Tampilan awal aplikasi Jmeter sebagai berikut:
Gambar. 1.  Tampilan awal aplikasi Jmeter

## JUSTIN (Jurnal Sistem dan Teknologi Informasi)  Vol. 8, No. 1, Januari 2020

## III. H ASIL DAN P EMBAHASAN

## A. Pengujian Aplikasi dengan Load Testing
Gambar. 2.  Pengujian dengan Load Testingr
User  dapat  melakukan  input  data  dari  aplikasi MeTANI  berdasarkan fitur  yang disediakan pada aplikasi pengujian.

## 1. Menentukan test plan dan target pengujian
Langkah  pertama  adalah  membuat  test  plan  dan selanjutnya  dilakukan  testing  terhadap  aplikasi.  Target pengujian aplikasi adalah:
 Loading time tidak >3 second
 Process memory tidak >400MB
 Data dapat masuk kedalam fungsi

## 2. Thread Login
Thread login dibagi menjadi 2 yaitu konfigurasi GET Login dan konfigurasi POST Login.
a. Mengkonfigurasikan GET LOGIN dalam aplikasi  Apache  JMeter  dengan  memasukkan detail web server dan detail http request.
Gambar. 3.  Konfigurasi Get Login
b. Mengkonfigurasikan  POST  METHOD  dalam aplikasi  Apache  Jmeter  dengan  detail  yang dibutuhkan  dan  hampir  sama  dengan  cara sebelumnya.
Gambar. 4.  Konfigurasi Post Login

## 3. Pengujian tread group testing
Gambar. 5.  Konfigurasi tread group testing
Berdasarkan  data  yang  sudah  kita  inputkan  maka dapat  kita  lakukan  testing  dengan  Load  Testing menggunakan  metode  Black  Box  dan  Gorilla  Testing. Pertama,  testing  yang  dapat  kita  lakukan  adalah  100  user dengan 1 request baru tiap 0,1 second.
Hasil testing pertama menghasilkan data sebagai berikut:
Gambar. 5.  Diagnostic session  pengujian pertama
Data  yang  ditampilkan  diatas  dapat  dianalisa  bahwa dengan  100  user  dengan  1  request  baru  tiap  0,1  second. minimum adalah 195 MB dan maximum adalah 245 MB.
Gambar. 6.  Data hasil pengujian pertama
Dari tabel diatas, dapat diambil analisa bahwa dalam 100 user dengan 1 request tiap 0,1 second di dapat sample time maximum sebesar 38ms.

## 4. Test plan 1000 user untuk 1 request tiap 0.1 second
Gambar. 7.  Konfigurasi pengujian 1000 user
Setelah  diinputkan  detail  thread  group  termasuk thread  properties  untuk  1000  user  dengan  1  request  tiap 0,1  second  maka  dapat  di  lihat  hasil  testing  sebagai berikut:
Gambar. 8.  Data hasil pengujian 1000 user
Proses  yang  terjadi  mengalami  delay  sebesar 23435ms  dalam  1  request  tiap  0,1  second  untuk  jumlah user sebanyak 1000.
Gambar. 9.  Diagnostic session pengujian 1000 user
Berdasarkan  diagnostics  session,  dihasilkan  process memory minimal 195MB dan maximum sebesar 259MB.

## B. Hasil Analisa Pengujian

## 1. Process Time
Dari  hasil  pengujian,  dapat  dianalisa  bahwa process memory tidak  lebih  dari  400MB.  Gambar  grafiknya sebagai berikut:
Gambar. 10.  Analisis prosess time

## 2. Loading Time
Dari  hasil  pengujian,  dapat  dianalisa  bahwa loading time tidak lebih dari 3 second. Gambar grafiknya sebagai berikut:

## JUSTIN (Jurnal Sistem dan Teknologi Informasi)  Vol. 8, No. 1, Januari 2020

## IV. K ESIMPULAN
Load  Testing  merupakan  jenis  performance  testing yang  dapat  mengukur  respon  sistem  dalam  berbagai  load condition.
Hasil  pengujian  ini  membantu  menentukan  bagaimana software  berperilaku  ketika  beberapa  user  mengakses software secara bersamaan.
Teknik  pengujian  Gorilla  Testing  diterapkan  pada pengujian  di  bagian  3.  Teknik  ini  memastikan  bahwa modul tersebut berfungsi dengan benar dan tidak ada bug. Modul dapat diuji lebih dari seratus kali, dan dengan cara yang  sama.  Gorilla  Testing  sangat  bermanfaat  untuk menguji robustness dari aplikasi.

## R EFERENSI
[1]   Shi, Mingtao, 2010, Software Functional Testing from the Perspective of Business Practice Computer and Information Science, www.ccssenet.org/cis .
[2]   Bhat,  A,  and  Quadri,  S.M.K,  2015,  Equivalence  Class Partitioning  and  Boundary  Value  Analysis  =  A  review, 2nd International Conference on Computing for Sustainable Global Development (INDIACom) [3]   Khan,  Mohd  Ehmer,  2011,  Different  Approach  to
Blackbox Testing Technique for Finding Error, International  Journal  of  Software  Engineering  & Applications (IJSEA), Vol.2, No.4, October 2011 [4]   Nidhra,  Srinivas,  and  Dondeti,  Jagruthi,  2012,  Blackbox and  Whitebox Testing  Techniques  -  A  Literature  Review, International Journal of Embedded Systems  and Applications (IJESA) Vol.2, No.2, June 2012
[5]   Mustaqbal,  Sidiq,  and  Firdaus,  Roeri  Fajar,  2019, Pengujian  aplikasi  menggunakan  black  box  testing boundary  value  analysis,  Jurnal  Ilmiah  Teknologi Informasi Terapan (JITTER)
[6]  https://jmeter.apache.org/
[7]  https://lms.onnocenter.or.id/wiki/index.php/ Jmeter
[8] S. Sharmila1, Dr. E. Ramadevi2. Analysis of Performance Testing  on  Web  Applications.  International  Journal  of Advanced  Research  in  Computer  and  Communication Engineering Vol. 3, Issue 3, March 2014
[9]   Pooja  Ranout,  Neha  Thakur.  Comparative  Analysis  of Load  testing  tool:  LOAD  Complete  and  WAPT  pro. IJEDR Volume 5, Issue 2 2017.
[10]   Narinder  Kaur,  Kailash  Bahl.  Performance  Testing  Of Insititute  Website  Using  Jmeter.  International  Journal  of Innovative  Science,  Engineering  &  Technology,  Vol.  3 Issue 4, April 2016.
[11]   Shikha  Dhiman  Pratibha  Sharma  et  al.  Performance Testing:  A  Comparative  Study  and  Analysis  of  Web Service  Testing  Tools.  International  Journal  of  Computer Science and Mobile Computing. Vol.5 Issue.6, June- 2016, pg. 507-512
[12]   M. Sidi  Mustaqbal,  Roeri  Fajri  Firdaus,  Hendra  Rahmadi. PENGUJIAN  APLIKASI  MENGGUNAKAN  BLACK BOX  TESTING  BOUNDARY  VALUE  ANALYSIS. Jurnal  Ilmiah  Teknologi  Informasi  Terapan  Volume  I,  No
3, 10 Agustus 2015
[13]   I. Bornstein, "Practical Software  Testing: process oriented approach," Springer Professional Computing, 2003.
[14]   M.  E.  Khan,  "Different  Forms  of  Software  Testing Techniques  for  Finding  Errors,"  International  Journal  of Software Engineering (IJSE), vol. 7, no. 3,2010.
[15]   IJREAT  International  Journal  of  Research  in  Engineering &  Advanced  Technology,  Volume  3,  Issue  3,  June-July, 2015
[16]   International Journal of Technical  Research and Applications  e-ISSN:  2320-8163,  www.ijtra.com  Volume 2, Issue 2 (March-April 2014)
[17]   International  Journal  of  Current  Engineering  and Technology  E-ISSN  2277  –  4106,  P-ISSN  2347  -  5161 ©2014  INPRESSCO®,  All  Rights  Reserved  Available  at 32TUhttp://inpressco.com/category/ijcetU32T
[18]   International  Journal  of  Advance  Research  in  Computer Science  and  Management  Studies  Volume  3,  Issue  10, October 2015
[19]   F.Elberzhag,  J.Munch  and  R.Eschbach.”Reducing  test effort:  A  Systematic  Mapping  study  on  Existing approaches,” Information and Technology 54,2012
[20]   http://www.pcmag.com/encyclopedia_term/0,2542, t=WHIte+box+testing&i=54432,  00.asp,  February  08, 2009.
[21] http://www.testingstandards.co.uk/living_glossary.htm# Testing, February 08, 2009