1. Beranda
  2. ›
  3. Blog
  4. ›
  5. Load Testing dengan JMeter: Tutorial 6 Langkah… | Frans Training

Load Testing dengan JMeter: Tutorial 6 Langkah… | Frans Training

Tutorial step-by-step load testing menggunakan Apache JMeter. Dari instalasi, test plan, parameterisasi, hingga HTML report dan integrasi CI/CD.

Penulis: Frans Training — Tim Pelatihan Software Testing

Diterbitkan: 2026-04-05T10:25:53.000Z

Atasan Anda minta hasil load test minggu depan, tapi Anda belum pernah membuka JMeter. Anda googling "tutorial JMeter" dan menemukan dokumentasi berbahasa Inggris sepanjang 200 halaman yang membuat kepala pusing. Deadline mendekat, tim tidak punya pengalaman, dan Anda butuh hasil yang bisa dipresentasikan ke manajemen.

Tenang — Anda tidak sendirian. Ini adalah situasi yang dialami sebagian besar QA engineer ketika pertama kali diminta melakukan performance testing. Artikel ini adalah panduan 6 langkah praktis dalam Bahasa Indonesia yang membawa Anda dari nol hingga menghasilkan HTML report profesional. Dalam 30 menit membaca, Anda akan tahu cara membuat test plan, menjalankan load test 50 concurrent users, dan menginterpretasikan hasilnya.

Jika Anda belum familiar dengan konsep load testing, baca dulu: Apa Itu Load Testing? 7 Jenis Performance Testing Menurut ISTQB.

Apa Itu Apache JMeter?

Apache JMeter adalah aplikasi open-source berbasis Java yang dirancang untuk melakukan performance testing pada aplikasi web, API, dan database. JMeter mensimulasikan banyak pengguna mengakses sistem secara bersamaan (concurrent users) untuk mengukur performa di bawah beban.

Keunggulan JMeter:

  • Open source dan gratis — tidak perlu lisensi komersial
  • Multi-protocol — HTTP/HTTPS, REST API, SOAP, JDBC, FTP, JMS, LDAP
  • GUI dan CLI — GUI untuk membuat test plan, CLI untuk eksekusi di CI/CD pipeline
  • Extensible — ratusan plugin tersedia via JMeter Plugins Manager
  • Distributed testing — dapat menjalankan test dari multiple machines
  • Standar industri — menjadi de facto standard di perbankan Indonesia

Persiapan: Instalasi JMeter

Prasyarat

  • Java JDK 8 atau lebih baru (JDK 11+ direkomendasikan)
  • Minimum RAM 4 GB (8 GB direkomendasikan untuk test besar)
  • Sistem operasi: Windows, macOS, atau Linux

Langkah Instalasi

  1. Install Java JDK — Download dari adoptium.net atau oracle.com/java. Pastikan java -version menampilkan versi yang benar di terminal.
  2. Download JMeter — Kunjungi jmeter.apache.org, download file .zip atau .tgz dari bagian "Binaries".
  3. Extract — Unzip ke folder pilihan Anda (misal: C:\jmeter atau /opt/jmeter).
  4. Jalankan JMeter — Buka terminal, navigasi ke folder bin/, lalu jalankan:
    • Windows: jmeter.bat
    • macOS/Linux: ./jmeter.sh
  5. Verifikasi — JMeter GUI akan terbuka dengan "Test Plan" kosong di panel kiri.

Langkah 1: Membuat Test Plan Pertama

Test Plan adalah blueprint dari load test Anda. Setiap test plan minimal memiliki:

  • Thread Group — mengatur jumlah virtual users, ramp-up period, dan durasi
  • Sampler — request yang akan dikirim (HTTP, JDBC, dll.)
  • Listener — menampilkan dan merekam hasil test

Membuat Thread Group

  1. Klik kanan pada "Test Plan" → Add → Threads (Users) → Thread Group
  2. Konfigurasi:
    • Number of Threads (users): 50 — jumlah virtual users
    • Ramp-Up Period (seconds): 30 — waktu untuk menaikkan semua users secara bertahap
    • Loop Count: 10 — berapa kali setiap user mengulangi skenario

Artinya: 50 users akan mulai secara bertahap selama 30 detik, dan setiap user menjalankan skenario 10 kali.

Menambahkan HTTP Request Sampler

  1. Klik kanan pada Thread Group → Add → Sampler → HTTP Request
  2. Konfigurasi:
    • Protocol: https
    • Server Name or IP: nama-domain-anda.com
    • Port: 443 (untuk HTTPS)
    • Method: GET
    • Path: / (atau endpoint yang ingin ditest)

Menambahkan Listener

  1. Klik kanan pada Thread Group → Add → Listener → View Results Tree
  2. Tambahkan juga: Add → Listener → Summary Report
  3. Tambahkan juga: Add → Listener → Aggregate Report

Summary Report menampilkan rata-rata response time, throughput, dan error rate — metrik utama yang Anda butuhkan.

Langkah 2: Menambahkan Elemen Penting

Think Time (Timer)

Pengguna nyata tidak mengklik tanpa jeda. Tambahkan jeda antar request:

  1. Klik kanan pada Thread Group → Add → Timer → Constant Timer
  2. Set Thread Delay: 1000 (1 detik) — atau gunakan Gaussian Random Timer untuk variasi yang lebih realistis

Assertions (Validasi Response)

Pastikan server mengembalikan response yang benar, bukan error page:

  1. Klik kanan pada HTTP Request → Add → Assertions → Response Assertion
  2. Set Field to Test: Response Code
  3. Set Pattern: 200

Ini memastikan setiap response yang bukan HTTP 200 dicatat sebagai failure.

HTTP Header Manager

Beberapa API memerlukan header khusus:

  1. Klik kanan pada Thread Group → Add → Config Element → HTTP Header Manager
  2. Tambahkan header yang diperlukan, misal:
    • Content-Type: application/json
    • Authorization: Bearer {token}

Langkah 3: Parameterisasi dan Data-Driven Testing

Test yang realistis menggunakan data yang bervariasi — bukan request yang sama berulang-ulang.

CSV Data Set Config

  1. Buat file CSV dengan data test, misal users.csv:
    username,password
    user001,pass001
    user002,pass002
    user003,pass003
  2. Klik kanan pada Thread Group → Add → Config Element → CSV Data Set Config
  3. Set Filename: path ke file CSV
  4. Set Variable Names: username,password
  5. Dalam HTTP Request, gunakan variabel: ${username} dan ${password}

Setiap virtual user akan menggunakan baris data yang berbeda — mensimulasikan pengguna riil dengan kredensial unik.

Langkah 4: Eksekusi Load Test

Eksekusi via GUI (Development)

Klik tombol hijau ▶ (Play) di toolbar. GUI akan menampilkan hasil secara real-time di Listener.

⚠ Penting: GUI mengonsumsi banyak resource. Untuk test dengan 100+ users, selalu gunakan CLI mode.

Eksekusi via CLI (Production)

Mode non-GUI adalah cara yang benar untuk menjalankan load test sesungguhnya:

jmeter -n -t test-plan.jmx -l results.jtl -e -o report-output/

Parameter:

  • -n — non-GUI mode
  • -t — path ke file test plan (.jmx)
  • -l — path untuk menyimpan hasil (.jtl)
  • -e — generate HTML report setelah test selesai
  • -o — folder output untuk HTML report

JMeter akan menghasilkan HTML dashboard report yang lengkap dengan grafik response time, throughput, dan error rate.

Langkah 5: Membaca dan Menganalisis Hasil

Setelah test selesai, buka Aggregate Report atau HTML dashboard. Metrik utama yang perlu diperhatikan:

MetrikArtiTarget Umum
Average Response TimeRata-rata waktu response< 2 detik
90th Percentile (P90)90% request selesai dalam waktu ini< 3 detik
ThroughputRequest per detik yang berhasil diprosesSesuai kebutuhan bisnis
Error RatePersentase request yang gagal< 1%
Min/Max Response TimeRentang response timeMax < 5 detik

Tanda-Tanda Masalah Performa

  • Response time naik seiring bertambahnya users — sistem mencapai kapasitas maksimum
  • Error rate melonjak di atas threshold tertentu — ada bottleneck (connection pool, memory, CPU)
  • Throughput tidak naik meskipun users ditambah — sistem sudah saturasi (saturation point)
  • Response time tidak stabil (fluktuatif) — kemungkinan garbage collection, disk I/O, atau network issue

Langkah 6: Skenario Lanjutan

Test API REST

Untuk menguji API backend (bukan web page):

  1. Gunakan HTTP Request dengan method POST/PUT
  2. Tambahkan Body Data dalam format JSON
  3. Set Header Content-Type: application/json
  4. Gunakan JSON Extractor untuk mengambil data dari response (misalnya token) untuk request berikutnya

Correlation: Dynamic Data

Banyak aplikasi web menggunakan token dinamis (CSRF token, session ID). JMeter harus mengekstrak dan meneruskan token ini:

  1. Tambahkan Regular Expression Extractor atau JSON Extractor pada response yang mengandung token
  2. Simpan ke variabel: ${csrf_token}
  3. Gunakan variabel tersebut di request berikutnya

Distributed Load Testing

Untuk menghasilkan beban yang sangat besar (ribuan concurrent users), gunakan distributed testing:

  1. Siapkan beberapa mesin JMeter sebagai "slave"
  2. Pada mesin master, edit jmeter.properties: remote_hosts=slave1_ip,slave2_ip
  3. Jalankan: jmeter -n -t test.jmx -r -l results.jtl (flag -r untuk remote)

Integrasi JMeter dengan CI/CD Pipeline

Untuk mengotomasi load testing sebagai bagian dari deployment pipeline:

Jenkins

  1. Install Performance Plugin di Jenkins
  2. Tambahkan build step: Execute shell → jalankan JMeter CLI
  3. Tambahkan post-build action: Publish Performance test result
  4. Set threshold: jika error rate > 1% atau P90 > 3s, build FAILED

GitLab CI

performance_test:
  stage: test
  image: justb4/jmeter:latest
  script:
    - jmeter -n -t tests/load-test.jmx -l results.jtl -e -o report/
  artifacts:
    paths:
      - report/
    when: always

Kesalahan Umum yang Harus Dihindari

  1. Menjalankan test dari GUI mode — GUI mengonsumsi resource berlebih dan menghasilkan hasil yang tidak akurat. Selalu gunakan CLI untuk test sesungguhnya.
  2. Tidak menggunakan think time — Tanpa jeda, JMeter mengirim request secepat mungkin — tidak merepresentasikan perilaku pengguna riil.
  3. Test environment tidak mirip production — Hasil test hanya valid jika environment sebanding dengan production (hardware, data volume, network).
  4. Tidak melakukan warmup — Mulai dengan beban rendah selama 1-2 menit sebelum menaikkan ke target beban.
  5. Mengabaikan resource monitoring — Monitor CPU, memory, dan disk I/O di server target selama test berlangsung.
  6. Tidak melakukan baseline test — Selalu jalankan test dengan 1 user terlebih dahulu untuk memastikan script berjalan benar.

Load Testing untuk Industri Teregulasi

Untuk sektor perbankan dan fintech Indonesia, load testing memiliki konteks tambahan:

  • POJK 11/2022 mewajibkan pengujian performa sistem TI secara berkala
  • Audit trail — Simpan semua hasil test (file .jtl dan HTML report) untuk dokumentasi audit
  • Test data compliance — Gunakan data sintetis, bukan data nasabah riil (UU PDP)
  • SLA validation — Pastikan target performa sesuai SLA yang ditetapkan regulator

Baca juga: 7 Jenis Performance Testing Menurut ISTQB

Mulai Belajar JMeter Secara Hands-On

Tutorial ini memberikan fondasi untuk memulai load testing. Untuk menguasai JMeter secara mendalam dengan skenario industri riil, Frans Training menyediakan program Performance & Load Testing dengan JMeter yang mencakup:

  • Hands-on lab dengan skenario perbankan dan e-commerce
  • Distributed load testing untuk ribuan concurrent users
  • Integrasi JMeter dengan Jenkins dan GitLab CI/CD
  • Analisis bottleneck dan performance tuning
  • Penyusunan test report yang memenuhi standar audit OJK

Lihat juga: Perbedaan Stress Testing dan Load Testing | Konsultasi gratis

Referensi

  • Apache JMeter User Manual
  • ISTQB Glossary — Load Testing
  • ISTQB CT-PT Syllabus

FAQ: Pertanyaan Pemula tentang JMeter

Apakah JMeter bisa digunakan untuk test API REST?

Ya, JMeter sangat capable untuk API testing. Gunakan HTTP Request sampler dengan method POST/PUT, tambahkan Body Data dalam format JSON, dan set header Content-Type: application/json. Gunakan JSON Extractor untuk mengambil data dari response.

Berapa maksimal concurrent users yang bisa disimulasikan JMeter?

Pada satu mesin dengan 8GB RAM, JMeter bisa mensimulasikan 500-1.000 virtual users untuk HTTP testing. Untuk beban lebih besar, gunakan distributed testing (master-slave) yang bisa mencapai puluhan ribu users.

Apakah JMeter bisa diintegrasikan dengan Jenkins?

Ya, install Performance Plugin di Jenkins, tambahkan build step untuk menjalankan JMeter CLI, dan set threshold (error rate, response time) untuk menentukan pass/fail otomatis.

JMeter GUI vs CLI — kapan menggunakan yang mana?

GUI untuk membuat dan debug test plan. CLI (non-GUI mode) untuk eksekusi test sesungguhnya. Jangan pernah menjalankan test beban besar dari GUI — hasilnya tidak akurat karena GUI mengonsumsi resource berlebih.

Sudah Bisa Jalankan Test Plan Pertama?

Tutorial ini baru permulaan. Langkah selanjutnya: kuasai distributed testing untuk ribuan concurrent users, integrasi dengan CI/CD pipeline, dan analisis bottleneck dengan skenario core banking riil.

Program Performance & Load Testing dengan JMeter membawa Anda dari pemula ke level yang diterima auditor OJK — dengan hands-on lab menggunakan skenario industri riil.

Konsultasi gratis: ceritakan kebutuhan tim Anda, kami bantu pilih jadwal dan program yang tepat.

Pelatihan Terkait

Performance & Load Testing dengan JMeter

  • Dasar-Dasar Software Testing & Test Design
  • API Testing dengan Postman & REST Assured
  • Web Automation Testing dengan Selenium & Cypress
  • Mobile Application Testing
Beranda | Jadwal | Harga | Instruktur | Konsultasi | Artikel | Lokasi | Sumber Daya | Simulasi Ujian | AI untuk Keuangan | AI untuk HR | DevOps Teregulasi | Software Testing | Automation | Training di Bali | Training di Yogyakarta | Training di Bandung | Training di Batam | Training di Bogor | Training di Lombok | Training Online