Skip to content

Jurnalistik Website

INFORMATIKA

Primary Menu
  • PROFIL/CV
  • MAHASISWA
    • 2023-INFORMATIKA
      • TEAM A
        • Akhdan Muhana
        • Allyza Fauziyah
        • Zulfa Thafira Alfat
        • Renathan Fernando
        • Gelar Aditya Pratama
      • TEAM B
        • Muhamad Padil Firmansyah
        • Distra Helvansya
        • Alfini Rahmatillah
        • Najmi Rodibillah
        • Muhammad Rafhli Alfarizi
      • TEAM C
        • Zahra Inggriawati
        • Mirna Noviana
        • Muhammad Renaldy
        • Hadyan Syauqil Firdaus
        • Ranatri Julia Zahra
      • TEAM D
        • Risjad Hadi Cahya
        • Farhan Maksudi
        • Delfian
        • Farhan Prayoga
        • Renaldy Pramandhika
      • TEAM A (Sore)
        • DEDE SHALFA ARIANDI
        • SITI ROHIMAH
        • FRANKY CRISTIAN
        • DEWA SAEPURRAHMAN
      • TEAM B (Sore)
        • FIRAS ARIA ANDIKA
        • M TSANI NUR RAMDHAN
        • M GALLANT
        • MUHAMAD FACHRIL ILYASA
        • FAJAR RIZKI AKBAR
    • 2024-INFORMATIKA
      • Kelompok 1
        • Artikel Kelompok 1
        • Isyal Fauzi
        • Andika Wahyu Hidayat
        • Shera Nisa Shaefar
        • Muhammad Taura Abdullah Azzam
        • Rico Prima Putra
      • Kelompok 2
        • Artikel Kelompok 2
        • Sazkia Salsabila
        • Seli Nopiani
        • Sihab Abdul Hakim
        • Algariz Tegar Aziz
        • M Hasbi Hasbullah
      • Kelompok 3
        • Artikel Kelompok 3
        • Sendi Maulana
        • Kamila Eka Yantri
        • Najma Fajrian Nurul Iman
        • Syahwal Dwi Putra
        • Fadhiatul Hamid
      • Kelompok 4
        • Artikel Kelompok 4
        • Akbar Maulana
        • Imron Firmansyah
        • M. Ihsan
        • Ade Ramadhani Putra
        • Sendi Ardiansyah
      • Kelompok 1 (Sore)
        • Indra Novea Hafiz Suherman Putra
        • Widi Dwika Rahayu
        • Asep Ruliansyah
        • Raihan Rawady Rimba
        • Salma Cherani
      • kelompok 2 (Sore)
        • MUHAMMAD LUTFI YUDISWARA
        • IRSAN PERMADI
        • HISMAN GUNAWAN
        • AULIA PUTRI SOLEHA
      • kelompok 3 (Sore)
        • Nayla Putri Aulia
        • Naila Syahirah
        • Ahmad Nawawi
        • Agung Almalik Izulhaq
        • Arsil Saputra
      • kelompok 4 (Sore)
        • Restu Ardiansyah
        • Yusup Jaelani
        • Putra Arya Mas Bima
        • Achsan Amirul Bahar
        • Mochamad Maha Raden
        • Cica Cahyani
    • 2025-Informatika
      • 2025 – Reguler Pagi
        • AURA SYAHWA SOMANTRI
        • Azreal Azaki
        • Erfan Maulana Hidayat
        • Jana Maulana Fajar
        • Moh Qiral Brimasakti
        • Muhammad Rahman
        • Nauval Abdurachman
        • Redi Aditya
        • Roby Surya
        • Siti Fatimah Azzahra
      • 2025 – Reguler Sore
        • ADIL MAULANA
        • Adisti Rahayu
        • Afdhal Haq
        • MUHAMAD ALFAN FIRDAUS
        • BAYU HADI PRATAMA
        • CEPY EDUARS
        • DEVIT MAHARDIKA SAMBORA
        • MUHAMAD FAKHRI MAULIDAN
        • M. FARIDH FADHLI DZUL AKBAR
        • GALIH SAPRIATNA
        • MUHAMMAD KHAIRI BAHIR
        • M TAJUL WALI
        • MUHAMMAD ALDI AFRIZAL
        • MUHAMMAD FASYA HIDAYATULLOH
        • M. FAUZAN DWINASRULLAH
        • R DIKA PUTRA PURWANDA
        • REREN NURAENI GUNAWAN
        • REYHAN ARDIANSYAH
        • SATRIA MUHAMMAD AKMAL AULIA
        • MOHAMMAD SABIL
  • MATERI KULIAH
    • Pengantar Aplikasi Komputer
    • Logika dan Algoritma
    • Pemrograman Dasar
    • Website Fundamental
    • Jaringan Komputer
    • Keamanan Jaringan Komputer
    • Sistem Manajemen Basis Data
    • Pemrograman Basis Data
    • Pemrograman Berorientasi Objek
    • Rekayasa Web
    • Arsitektur Cloud Computing
    • Installasi Komputer (Hardware & Software)
    • Organisasi dan Arsitektur Komputer
    • Pengantar Sistem Informasi
    • Logika Informatika
    • Basis Data
    • Interaksi Manusia dan Komputer
    • Permrograman Berbasis Web
    • Sistem Operasi
    • Pengantar Teknologi Web3
    • Rekayasa Perangkat Lunak
    • Pemrograman Mobile
    • Struktur Data
    • Sistem Informasi Manajemen
    • Pengantar Kecerdasan Artifisial
    • Administrasi Server
    • Pemrogramanan Berbasis Desktop
    • Manajemen Layanan Teknologi Informasi
    • Dasar Infrastruktur TI
    • E-Bisnis
    • Pengantar Teknologi Cloud
    • Data Mining
    • Belajar di Era Digital
    • Basis Data NoSQL
    • Tata Kelola Teknologi Informasi
    • Keamanan Sistem Informasi
    • Data Warehouse
    • Proses Bisnis
    • Manajemen Resiko dan Audit Sistem Informasi
    • Komunikasi Bisnis dan Teknis
    • Bisnis Digital
    • Etika Profesi
    • Sistem Pendukung Keputusan
    • Analisis dan Perancangan Sistem
    • Arsitektur dan Perancangan Sistem Enterprise
  • E-BOOK
    • Python Programming Essentials: Dari Konsep Dasar ke Aplikasi Nyata
  • JASA/MARKET
Watch Video
  • Home
  • 2026
  • August
  • 10
  • Testing dan Implementasi Sistem
  • Artikel
  • Berita
  • Materi Kuliah

Testing dan Implementasi Sistem

adminjurnalistik August 10, 2026 17 minutes read
image

🟒 Pendahuluan

Dalam pengembangan perangkat lunak, membuat aplikasi sampai dapat dijalankan bukan berarti pekerjaan telah selesai. Sebuah sistem harus melalui proses pengujian untuk memastikan bahwa fungsi yang dibangun telah berjalan sesuai kebutuhan, menghasilkan keluaran yang benar, mampu menangani kesalahan pengguna, serta dapat digunakan dengan baik sebelum diterapkan pada lingkungan sebenarnya.

Testing atau pengujian perangkat lunak merupakan aktivitas sistematis untuk mengevaluasi perangkat lunak berdasarkan kebutuhan, spesifikasi, dan perilaku yang diharapkan. Dalam praktik pengembangan perangkat lunak, pengujian dapat dilakukan dengan berbagai pendekatan.

Tiga pendekatan yang sangat penting untuk dipahami oleh mahasiswa Informatika adalah:

  1. Black-Box Testing
  2. White-Box Testing
  3. Gray-Box Testing

Ketiga pendekatan tersebut memiliki karakteristik, tujuan, teknik, dan tingkat pengetahuan terhadap sistem yang berbeda.

Secara sederhana, perbedaannya dapat digambarkan sebagai berikut:

Black-box berfokus pada apa yang dilakukan sistem, white-box berfokus pada bagaimana sistem bekerja di dalam, sedangkan gray-box memanfaatkan sebagian pengetahuan internal sistem untuk membuat pengujian lebih terarah.


🟒 1. Tujuan Pembelajaran

Setelah mempelajari materi ini, mahasiswa diharapkan mampu:

  1. Menjelaskan pengertian software testing.
  2. Menjelaskan tujuan pengujian perangkat lunak.
  3. Menjelaskan perbedaan error, defect, bug, dan failure.
  4. Menjelaskan konsep black-box testing.
  5. Menerapkan teknik black-box testing.
  6. Menyusun test case.
  7. Melakukan equivalence partitioning.
  8. Melakukan boundary value analysis.
  9. Membuat decision table.
  10. Menjelaskan konsep white-box testing.
  11. Membuat flowchart program.
  12. Membuat control flow graph.
  13. Menghitung cyclomatic complexity.
  14. Menentukan independent path.
  15. Melakukan statement coverage dan branch coverage.
  16. Menjelaskan gray-box testing.
  17. Menggunakan informasi internal sebagian dalam pengujian.
  18. Membuat bug report.
  19. Melakukan retesting dan regression testing.
  20. Menentukan kesiapan sistem untuk diimplementasikan.

🟒 2. Apa Itu Software Testing?

Software testing adalah proses untuk mengevaluasi apakah perangkat lunak telah bekerja sesuai dengan kebutuhan dan spesifikasi yang telah ditentukan.

Pengujian dilakukan dengan memberikan input tertentu kepada sistem, menjalankan fungsi tertentu, kemudian membandingkan hasil aktual dengan hasil yang seharusnya.

Sebagai contoh, sebuah sistem akademik memiliki fitur untuk menghitung nilai mahasiswa.

Jika mahasiswa memperoleh:

  • Tugas = 80
  • UTS = 75
  • UAS = 85

maka sistem harus menghasilkan nilai akhir sesuai rumus yang telah ditentukan.

Jika hasil sistem berbeda dengan hasil perhitungan yang seharusnya, maka perlu dilakukan investigasi.


🟑 3. Mengapa Software Testing Penting?

Testing penting karena perangkat lunak dapat mengandung kesalahan meskipun program dapat dijalankan.

Contohnya:

  • Form login dapat dibuka tetapi password salah tetap diterima.
  • Form pendaftaran dapat menyimpan data kosong.
  • Sistem penjualan menghasilkan total transaksi yang salah.
  • Mahasiswa biasa dapat mengakses halaman administrator.
  • Sistem menerima nilai ujian lebih dari 100.
  • Data dapat dihapus tanpa konfirmasi.
  • Sistem mengalami error ketika database tidak tersedia.

Oleh karena itu, testing bertujuan untuk meningkatkan kepercayaan terhadap kualitas sistem.

Contoh sederhana

Bayangkan seorang programmer membuat sistem pembayaran.

Program dapat melakukan:

Harga Γ— Jumlah = Total

Tetapi programmer secara tidak sengaja menulis:

$total = $harga + $jumlah;

Program tetap dapat dijalankan.

Tidak muncul error PHP.

Namun hasilnya salah.

Misalnya:

Harga = Rp50.000
Jumlah = 3

Hasil seharusnya:

Rp150.000

Tetapi program menghasilkan:

Rp50.003

Kesalahan seperti ini belum tentu ditemukan jika sistem hanya diuji secara sederhana.


🟒 4. Error, Defect, Bug, dan Failure

Dalam software testing terdapat beberapa istilah penting.

IstilahPenjelasan
ErrorKesalahan manusia dalam memahami, merancang, atau menulis program
DefectKekurangan atau cacat yang terdapat pada perangkat lunak
BugIstilah umum untuk menyebut defect
FailureKondisi ketika sistem menghasilkan perilaku yang tidak sesuai ketika dijalankan
Test CaseSkenario yang digunakan untuk melakukan pengujian
Expected ResultHasil yang seharusnya diperoleh
Actual ResultHasil yang benar-benar diperoleh

Contohnya:

Programmer salah menulis rumus.

Kesalahan tersebut merupakan error.

Kesalahan yang masuk ke dalam kode menjadi defect/bug.

Ketika program dijalankan dan menghasilkan nilai yang salah, kondisi tersebut menjadi failure.


🟒 5. Testing dalam Siklus Pengembangan Sistem


🟒 6. Jenis-Jenis Testing

Selain black-box, white-box, dan gray-box, mahasiswa juga perlu mengetahui beberapa jenis pengujian lainnya.

Jenis TestingTujuan
Unit TestingMenguji bagian kecil/fungsi program
Integration TestingMenguji hubungan antar-modul
System TestingMenguji sistem secara keseluruhan
Acceptance TestingMemastikan sistem sesuai kebutuhan pengguna
Regression TestingMemastikan perubahan tidak merusak fungsi lama
Performance TestingMenguji performa sistem
Security TestingMenguji keamanan
Usability TestingMenguji kemudahan penggunaan

Black-box, white-box, dan gray-box lebih tepat dipahami sebagai pendekatan/perspektif pengujian, bukan sekadar nama jenis pengujian.


🟒 7. Black-Box Testing

πŸ“Œ Pengertian

Black-box testing adalah pendekatan pengujian yang berfokus pada fungsi dan perilaku sistem tanpa harus mengetahui struktur internal source code.

Tester melihat sistem dari luar.

Gambaran sederhananya:

Tester cukup mengetahui:

  • apa input yang diberikan;
  • apa fungsi yang dijalankan;
  • apa hasil yang diharapkan;
  • apa hasil aktual.

πŸ–ΌοΈ Ilustrasi Black-Box Testing

https://images.openai.com/static-rsc-4/KcXX5l9CdoHtp4JJyHEggJPqmEViXetytrqpQO65F4kOYEkeje9JKYhzcJFG4mVdokH4u22NwwvbRn-6GALrf5ayalw0k0pEwvAj3_OIj4o5d3BLtun86JzL0IwyL11BPgGGl1o7L5fW8kdJ3LMDkb9ivnO1kBa-XOrrb0leQsaJiDe4ARVSMEMS3ujyPPq8?purpose=fullsize
https://images.openai.com/static-rsc-4/k6ZGwRR1zUd229cyP7ZkhHZyJjm6GDUZN1vnTqrjc9Oq1yf_w5wcgb0zDpWVo4j2UTpQ8S2alImb_ecpegj6qC2O-Ul-tVvggdatfSYAUhle3FoMb_-dUVpye8WdeVY0K3bIxCy31cETBJ4NKDSPb2P89Hwjeiyk6zZrTLGMHgW-ySkdfeBzpI75MApst6aD?purpose=fullsize

5


🟑 8. Contoh Black-Box Testing

Misalkan terdapat halaman login.

Requirement:

Pengguna dapat masuk ke sistem apabila username dan password benar.

Test case dapat dibuat sebagai berikut:

NoUsernamePasswordExpected Result
1adminadmin123Login berhasil
2adminsalahLogin ditolak
3salahadmin123Login ditolak
4kosongadmin123Validasi
5adminkosongValidasi
6kosongkosongValidasi

Tester tidak harus mengetahui bagaimana program melakukan query ke database.

Yang diperiksa adalah:

Input β†’ Perilaku Sistem β†’ Output


🟒 9. Teknik Black-Box Testing

Teknik yang penting dipahami mahasiswa antara lain:

  1. Equivalence Partitioning
  2. Boundary Value Analysis
  3. Decision Table Testing
  4. State Transition Testing
  5. Use Case Testing
  6. Error Guessing

Mari kita bahas satu per satu.


🟑 10. Equivalence Partitioning

Equivalence Partitioning adalah teknik membagi data input menjadi beberapa kelompok yang memiliki karakteristik atau perilaku yang sama.

Misalnya sistem menerima nilai ujian:

0 sampai 100

Maka dapat dibagi menjadi:

KategoriNilai
Invalid< 0
Valid0–100
Invalid> 100

Kita tidak harus menguji:

0, 1, 2, 3, 4, …, 100.

Cukup mengambil beberapa nilai sebagai perwakilan.

Contohnya:

InputKategoriExpected
-1InvalidDitolak
50ValidDiterima
101InvalidDitolak

🟑 11. Boundary Value Analysis

Boundary Value Analysis atau BVA berfokus pada nilai yang berada di sekitar batas.

Misalnya umur yang diperbolehkan:

17–60 tahun

Maka nilai penting adalah:

  • 16
  • 17
  • 18
  • 59
  • 60
  • 61

Diagram:

Test case:

InputExpected
16Ditolak
17Diterima
18Diterima
60Diterima
61Ditolak

Teknik ini sangat penting karena kesalahan pemrograman sering terjadi pada kondisi batas.


🟑 12. Decision Table Testing

Decision table digunakan ketika output sistem dipengaruhi oleh kombinasi beberapa kondisi.

Contoh:

Sistem memberikan diskon apabila:

  • pelanggan merupakan member;
  • total pembelian minimal Rp500.000.

Tabel keputusan:

MemberTotal β‰₯ Rp500.000Diskon
TidakTidakTidak
TidakYaTidak
YaTidakTidak
YaYaYa

Dengan tabel tersebut, tester dapat membuat test case berdasarkan kombinasi kondisi.


🟑 13. State Transition Testing

State transition testing digunakan ketika sistem memiliki beberapa keadaan atau state.

Contoh status akun:

Contoh pengujian:

KondisiState AwalAksiState Akhir
1AktifLogin benarAktif
2AktifPassword salahAktif
3AktifSalah berkali-kaliTerkunci
4TerkunciLogin benarTetap terkunci
5TerkunciResetAktif

🟒 14. Praktikum Black-Box Testing

Kasus: Form Pendaftaran Mahasiswa

Buat aplikasi sederhana dengan ketentuan:

  • Nama wajib diisi.
  • Email wajib diisi.
  • Umur minimal 17 tahun.
  • Password minimal 8 karakter.

Test case

NoNamaEmailUmurPasswordExpected
1Ahmadahmad@email.com20informatikaValid
2kosongahmad@email.com20informatikaInvalid
3Ahmadkosong20informatikaInvalid
4Ahmadahmad@email.com16informatikaInvalid
5Ahmadahmad@email.com20abcInvalid

Tugas

Mahasiswa harus:

  1. Membuat form.
  2. Menjalankan test case.
  3. Mengisi actual result.
  4. Membandingkan expected dan actual.
  5. Menentukan PASS atau FAIL.
  6. Mengambil screenshot.
  7. Membuat kesimpulan.

🟒 15. White-Box Testing

πŸ“Œ Pengertian

White-box testing merupakan pendekatan pengujian yang memperhatikan struktur internal program.

Jika black-box bertanya:

“Apakah hasil sistem benar?”

White-box juga bertanya:

“Apakah logika dan jalur program sudah diuji?”

Tester dapat menganalisis:

  • source code;
  • statement;
  • condition;
  • branch;
  • loop;
  • control flow;
  • path;
  • kompleksitas program.

πŸ–ΌοΈ Ilustrasi White-Box Testing

https://images.openai.com/static-rsc-4/1tDfz_1WkZ4_MKCyNsagawvSIUDjjwoXCyrxvjNER7z1TM1IU0FoTXvTbtLqezAVD_kcAJQ5pRO006sa-sVUQzRfe-DaepapOzqpftneco8qCZy3ifgcfB3fnElJzT1ZxJhVxQxbIqhKwfSUf4XYbzwm_AY018sByGOs6e6MfND1bOGHvBwOWPv09HnLMI8j?purpose=fullsize
https://images.openai.com/static-rsc-4/AElDzkA-KvlWY_JVzPkGvcT09WjUzbY7NnsM65lTBvze4C1MfTSEjemCb2jnRH5ih-RfekKYhtco9q-k7UUaGl3kipeVXE89fzbDQQtPIPyXgO9ivq1gxavD3UjJrsgPYjhwS1hQ0KppHDwYQn5KU47T9iVpwGEVodPZwYcCuaH1CukP2LD1MpE3HxJqvCvj?purpose=fullsize
https://images.openai.com/static-rsc-4/Ddnp4BuTUJHH1kN7W_Zf9LaeZMnCC6NTIIAeySh95sVNRQoSzCONqWM1l3dw4MpaCjFdxTdpZOgbPh2cZtAczy3CsEq9yWfYOltXxoGISSLCPne1QpfJQdpnFPNO4FLOhoPAm5QMI79eKZ3GCXNswwwOZPqMbmCA_5_N31Pz0xVFVDpE43yQ0KfDjzQvUy_B?purpose=fullsize

6


🟑 16. Contoh Program White-Box

Misalnya terdapat fungsi:

function cekNilai($nilai) {

if ($nilai >= 80) {
    return "A";

} elseif ($nilai >= 70) {
    return "B";

} elseif ($nilai >= 60) {
    return "C";

} else {
    return "D";
}

Program tersebut mempunyai beberapa keputusan.

Flowchart sederhananya:

🟑 17. Control Flow Graph

Dari flowchart tersebut dapat dibuat Control Flow Graph atau CFG.

Node menunjukkan bagian atau keputusan program.

Edge menunjukkan hubungan aliran eksekusi.


🟒 18. Cyclomatic Complexity

Cyclomatic Complexity digunakan untuk mengukur kompleksitas logika program dan membantu menentukan jumlah independent path yang perlu dipertimbangkan dalam white-box testing.

Rumus:

V(G) = E βˆ’ N + 2P

Untuk satu program yang terhubung:

V(G) = E βˆ’ N + 2

Cara sederhana untuk program tertentu:

Cyclomatic Complexity = jumlah decision + 1

Pada contoh sebelumnya terdapat tiga decision:

  1. Nilai β‰₯ 80
  2. Nilai β‰₯ 70
  3. Nilai β‰₯ 60

Maka:

V(G) = 3 + 1 = 4

Artinya terdapat minimal empat jalur independen yang perlu dipertimbangkan.


🟑 19. Independent Path

Contoh independent path:

Path 1

START β†’ >=80 β†’ A

Path 2

START β†’ <80 β†’ >=70 β†’ B

Path 3

START β†’ <80 β†’ <70 β†’ >=60 β†’ C

Path 4

START β†’ <80 β†’ <70 β†’ <60 β†’ D

Test case:

TestNilaiPathExpected
190Path 1A
275Path 2B
365Path 3C
450Path 4D

🟒 20. Statement Coverage

Statement Coverage mengukur seberapa banyak statement dalam program telah dijalankan oleh test case.

Rumus:

Statement Coverage = Jumlah statement yang dieksekusi / Total statement Γ— 100%

Contoh:

Total statement = 20

Statement yang dijalankan = 18

Maka:

18 / 20 Γ— 100% = 90%

Artinya 90% statement telah dieksekusi oleh test suite.

Namun perlu diperhatikan bahwa coverage tinggi tidak otomatis berarti software bebas bug.


🟒 21. Branch Coverage

Branch Coverage berfokus pada percabangan.

Contoh:

if ($umur >= 17) {
echo “Diterima”;
} else {
echo “Ditolak”;
}

Terdapat dua branch:

  • True
  • False

Maka minimal harus terdapat test:

UmurBranch
20True
15False

Dengan demikian kedua cabang telah diuji.


🟒 22. Praktikum White-Box

Gunakan kode berikut:

function hitungDiskon($total, $member) {

if ($member == true) {

    if ($total >= 500000) {
        return $total * 0.90;
    }

    return $total * 0.95;
}

return $total;
}

Tugas mahasiswa

  1. Identifikasi decision.
  2. Buat flowchart.
  3. Buat Control Flow Graph.
  4. Tentukan node.
  5. Tentukan edge.
  6. Hitung Cyclomatic Complexity.
  7. Tentukan independent path.
  8. Buat test case.
  9. Jalankan program.
  10. Dokumentasikan hasil.

Contoh test:

NoTotalMemberExpected
1600000Ya540000
2300000Ya285000
3600000Tidak600000

🟒 23. Gray-Box Testing

πŸ“Œ Pengertian

Gray-box testing merupakan pendekatan yang berada di antara black-box dan white-box.

Tester tidak sepenuhnya “buta” terhadap sistem, tetapi juga tidak harus mengetahui seluruh source code.

Tester dapat mengetahui sebagian informasi seperti:

  • struktur database;
  • arsitektur aplikasi;
  • API;
  • mekanisme autentikasi;
  • role pengguna;
  • session;
  • aturan validasi;
  • hubungan antar-modul.

Kemudian informasi tersebut digunakan untuk membuat test case yang lebih terarah.


πŸ–ΌοΈ Ilustrasi Gray-Box Testing

https://images.openai.com/static-rsc-4/YSpmnbC93TyAFDZbrmZM2pprmC0SyIpdFlUl6eYa6w0m5BNO3CsQ-Id7lBsCwaZOBii3D-FIO2Fvs0-AdkCa35yUHHqcrvW_iQb0T8WnueCQjleaBa3aLorkFKrX0nThadYusFJwZseg3cKYzavq_HKyskCjtXIAExlMDQ4A6RrrEfypjpCk9VWghCci__1W?purpose=fullsize
https://images.openai.com/static-rsc-4/wpnQSQMIWcKAsTw_0xeAVpQydUzsxM8rux9l0Gb9SYzNOlL2ET5WoQGY-Cn9hTlsWuifXGwImO5ZbmysQV9HeUePO2K1QWTEdGGSVMcIEE8G9rJkArqkyDsCN4OvQDimXpUsF7OJ1aHXz9krxJCTVNJFEQQwjBGdWdwTsrhp0nPfQfSQ9FHYQc2rODjkam8e?purpose=fullsize
https://images.openai.com/static-rsc-4/a3WsKS_99FVKJ182NHT0FrV32QUs2n7OreVQ_DY2ovyHTW_tVdJ0wcjAqq8Ioo4_AkXV-YbakLHjUU4Jn4LncwoNZ2utf61_7UMVcayydjLft90BOAluwBjyVZvN92PYKsLau2dJHrvTqbB3KKTC_E-FFhYIAUkDJD2FrR-02Gn2S87wpT8ke7NPZSERlBmI?purpose=fullsize

6


🟑 24. Contoh Gray-Box Testing

Misalnya tester mengetahui struktur database:

Tester juga mengetahui bahwa terdapat dua role:

adminuser

Namun tester tidak mengetahui seluruh source code.

Berdasarkan informasi tersebut, tester dapat menguji:

  1. Login admin.
  2. Login user.
  3. Akses menu admin.
  4. Akses menu user.
  5. User mencoba membuka URL admin.
  6. Logout.
  7. Akses halaman setelah logout.
  8. Session.
  9. Status akun.
  10. Validasi input.

🟒 25. Perbandingan Black-Box, White-Box, dan Gray-Box

AspekBlack-BoxWhite-BoxGray-Box
Source codeTidak perluDiketahuiSebagian
Struktur internalTidak dianalisisDianalisisSebagian
FokusFungsiLogikaFungsi + internal sebagian
Sudut pandangPenggunaDeveloper/tester teknisTester teknis
Test caseBerdasarkan requirementBerdasarkan struktur kodeBerdasarkan requirement + informasi internal
CFGTidak utamaYaDapat digunakan
Cyclomatic ComplexityTidak utamaYaDapat digunakan
DatabaseTidak harus tahuUmumnya diketahuiSebagian diketahui
Cocok untukFunctional testingStructural testingIntegration/security
KompleksitasRelatif sederhanaLebih teknisMenengah

🟒 26. Studi Kasus: Sistem Informasi Akademik

Kita gunakan satu studi kasus agar mahasiswa dapat memahami ketiga metode secara bersamaan.

Sistem memiliki modul:

  1. Login.
  2. Dashboard.
  3. Data mahasiswa.
  4. Data mata kuliah.
  5. KRS.
  6. Nilai.
  7. Laporan.
  8. Logout.

🟑 27. Black-Box pada Modul Login

Tester tidak melihat source code.

Test case:

IDSkenarioInputExpected
BB-01Login benarUsername/password benarBerhasil
BB-02Password salahPassword salahDitolak
BB-03Username kosongUsername kosongValidasi
BB-04Password kosongPassword kosongValidasi
BB-05Keduanya kosongKosongValidasi
BB-06User nonaktifAkun nonaktifDitolak

🟑 28. White-Box pada Modul Login

Misalnya source code memiliki struktur:

if (empty($username) || empty($password)) {
return “Input wajib diisi”;
}

$user = findUser($username);

if (!$user) {
return “User tidak ditemukan”;
}

if (!password_verify($password, $user[‘password’])) {
return “Password salah”;
}

if ($user[‘status’] != ‘aktif’) {
return “Akun tidak aktif”;
}

return “Login berhasil”;

Dari struktur tersebut dapat diketahui terdapat beberapa kondisi yang perlu diuji.

Contohnya:

KondisiTest
Input kosongYa
User ditemukanYa
User tidak ditemukanYa
Password benarYa
Password salahYa
Akun aktifYa
Akun nonaktifYa

🟑 29. Gray-Box pada Modul Login

Tester mengetahui bahwa database mempunyai:

Tester kemudian mengembangkan test case berdasarkan pengetahuan tersebut.

Contoh:

IDSkenarioExpected
GB-01Login admin aktifBerhasil
GB-02Login user aktifBerhasil
GB-03Login akun nonaktifDitolak
GB-04User mengakses URL adminDitolak
GB-05Logout kemudian akses dashboardDitolak

🟒 30. Testing Hak Akses

Pengujian hak akses sangat penting dalam aplikasi yang memiliki role.

Misalnya:

Pertanyaan penting:

Apakah USER dapat membuka URL ADMIN secara langsung?

Misalnya user mencoba:

/admin/mahasiswa

Sistem seharusnya menolak akses.


🟒 31. Testing dan Implementasi Sistem

Setelah proses testing selesai, sistem dapat dipersiapkan untuk deployment.

Alur:

Testing bukan berarti:

“Tidak ada error ketika saya klik.”

Testing harus menghasilkan bukti yang terdokumentasi.


🟑 32. Checklist Sebelum Deployment

NoPemeriksaanStatus
1Fungsi utama diuji☐
2Input valid diuji☐
3Input invalid diuji☐
4Boundary diuji☐
5Branch diuji☐
6Hak akses diuji☐
7Database diuji☐
8Error handling diuji☐
9Logout diuji☐
10Session diuji☐
11Validasi form diuji☐
12Regression testing☐
13Bug kritis diperbaiki☐
14Dokumentasi tersedia☐
15Sistem siap deployment☐

🟒 33. Dokumentasi Test Case

Format dokumentasi yang dapat digunakan:

IDModulSkenarioInputExpectedActualStatus
TC-001LoginLogin validAkun benarBerhasilBerhasilPASS
TC-002LoginPassword salahPassword salahDitolakDitolakPASS
TC-003LoginUsername kosongKosongValidasiValidasiPASS
TC-004LoginAkun nonaktifAkun nonaktifDitolakBerhasilFAIL

Jika:

Expected Result β‰  Actual Result

maka test case dapat dinyatakan:

FAIL


🟒 34. Bug Report

Jika ditemukan masalah, buat laporan.

Contoh:

FieldIsi
Bug IDBUG-001
ModulLogin
JudulAkun nonaktif dapat login
SeverityHigh
PriorityHigh
LangkahLogin menggunakan akun nonaktif
ExpectedLogin ditolak
ActualLogin berhasil
StatusOpen

Narasi bug

Pada pengujian modul login ditemukan bahwa pengguna dengan status akun nonaktif masih dapat melakukan login ke dalam sistem. Berdasarkan requirement, akun nonaktif seharusnya tidak memiliki akses ke sistem. Defect tersebut perlu diperbaiki sebelum sistem diimplementasikan ke lingkungan produksi.


🟒 35. Severity dan Priority

Severity dan priority merupakan dua istilah yang berbeda.

Severity menunjukkan tingkat dampak sebuah defect terhadap sistem.

Priority menunjukkan seberapa cepat defect tersebut harus diperbaiki.

SeverityPriorityContoh
CriticalHighSistem tidak dapat digunakan
HighHighUser dapat masuk sebagai admin
MediumMediumPerhitungan tertentu salah
LowLowTypo
LowHighKesalahan informasi penting pada halaman utama

🟒 36. Retesting

Setelah programmer memperbaiki bug, lakukan retesting.

Contohnya:

Retesting bertujuan memastikan bug yang sebelumnya ditemukan benar-benar telah diperbaiki.


🟒 37. Regression Testing

Regression testing berbeda dengan retesting.

Retesting:

Memastikan bug tertentu telah diperbaiki.

Regression testing:

Memastikan perubahan yang dilakukan tidak menyebabkan fungsi lain rusak.

Misalnya programmer memperbaiki login.

Maka jangan hanya menguji login.

Periksa juga:

  • dashboard;
  • session;
  • logout;
  • role;
  • menu;
  • database;
  • halaman lain yang berhubungan.

🟒 38. Tutorial Praktikum PHP Sederhana

Untuk praktik awal, mahasiswa dapat membuat aplikasi sederhana.

Struktur folder:

File index.php

<!DOCTYPE html>

<html>

<head>

    <title>Testing Form Nilai</title>

</head>

<body>

<h2>Form Nilai Mahasiswa</h2>

<form method=”post” action=”proses.php”>

    <label>Nama</label>

    <input type=”text” name=”nama”>

    <br><br>

    <label>Nilai</label>

    <input type=”number” name=”nilai”>

    <br><br>

    <button type=”submit”>Proses</button>

</form>

</body>

</html>

File proses.php

<?php

$nama = $_POST[‘nama’] ?? ”;

$nilai = $_POST[‘nilai’] ?? ”;

if ($nama == ”) {

    echo “Nama wajib diisi.”;

} elseif ($nilai == ”) {

    echo “Nilai wajib diisi.”;

} elseif ($nilai < 0 || $nilai > 100) {

    echo “Nilai harus berada antara 0 sampai 100.”;

} elseif ($nilai >= 80) {

    echo “Nilai A”;

} elseif ($nilai >= 70) {

    echo “Nilai B”;

} elseif ($nilai >= 60) {

    echo “Nilai C”;

} else {

    echo “Nilai D”;

}


🟑 39. Black-Box Testing Program PHP

Mahasiswa tidak perlu melihat kode terlebih dahulu.

Coba:

NoNamaNilaiExpected
1Ahmad90A
2Ahmad80A
3Ahmad79B
4Ahmad70B
5Ahmad69C
6Ahmad60C
7Ahmad59D
8Ahmad0D
9Ahmad100A
10Ahmad101Error
11Ahmad-1Error
12kosong90Error

Perhatikan bahwa nilai:

79, 80, 69, 70, 59, 60, 0, 100, 101

merupakan contoh pengujian nilai batas.


🟑 40. White-Box Testing Program PHP

Sekarang source code diperiksa.

Terdapat beberapa kondisi:

Mahasiswa kemudian membuat:

  1. Flowchart.
  2. Control Flow Graph.
  3. Cyclomatic Complexity.
  4. Independent Path.
  5. Test Case.

🟑 41. Gray-Box Testing Program PHP

Sekarang anggap tester hanya diberikan informasi:

Tester tidak diberikan keseluruhan source code.

Dengan informasi tersebut, tester dapat menguji:

  • request POST;
  • parameter kosong;
  • parameter negatif;
  • parameter lebih dari 100;
  • parameter tidak sesuai;
  • akses langsung ke proses.php.

Dengan demikian tester menggunakan pengetahuan internal sebagian.


🟒 42. Praktikum Proyek Kelompok

Mahasiswa dibagi menjadi kelompok.

Setiap kelompok memilih salah satu aplikasi:

  1. Sistem Informasi Akademik.
  2. Sistem Penjualan.
  3. Sistem Perpustakaan.
  4. Sistem Inventaris.
  5. Sistem Penggajian.
  6. Sistem Klinik.
  7. Sistem Laundry.
  8. Sistem Pendaftaran Mahasiswa.

Aplikasi minimal mempunyai:

  • Login.
  • CRUD.
  • Database.
  • Validasi.
  • Role pengguna.
  • Laporan.

🟑 43. Ketentuan Pengujian Proyek

Black-Box

Minimal:

20 test case

Mencakup:

  • input valid;
  • input invalid;
  • input kosong;
  • boundary;
  • kombinasi kondisi;
  • hak akses.

White-Box

Minimal:

1 fungsi yang memiliki beberapa percabangan

Mahasiswa harus membuat:

  • source code;
  • flowchart;
  • CFG;
  • cyclomatic complexity;
  • independent path;
  • test case.

Gray-Box

Minimal:

10 test case

Berdasarkan informasi internal sebagian.


🟒 44. Format Laporan Praktikum

BAB I β€” Pendahuluan

Berisi:

  • latar belakang;
  • identifikasi masalah;
  • tujuan;
  • ruang lingkup.

BAB II β€” Analisis Sistem

Berisi:

  • deskripsi aplikasi;
  • kebutuhan fungsional;
  • kebutuhan nonfungsional;
  • use case;
  • rancangan sistem.

BAB III β€” Black-Box Testing

Berisi:

  • metode;
  • test scenario;
  • test case;
  • screenshot;
  • actual result;
  • analisis.

BAB IV β€” White-Box Testing

Berisi:

  • source code;
  • flowchart;
  • CFG;
  • node;
  • edge;
  • cyclomatic complexity;
  • independent path;
  • test case.

BAB V β€” Gray-Box Testing

Berisi:

  • informasi internal yang diketahui;
  • test scenario;
  • test case;
  • hasil;
  • analisis.

BAB VI β€” Implementasi

Berisi:

  • lingkungan implementasi;
  • server;
  • database;
  • konfigurasi;
  • deployment.

BAB VII β€” Hasil Pengujian

Berisi:

  • defect;
  • bug report;
  • perbaikan;
  • retesting;
  • regression testing.

BAB VIII β€” Kesimpulan

Berisi kesimpulan terhadap kualitas dan kesiapan sistem.


🟒 45. Latihan Individu

Latihan 1

Jelaskan perbedaan black-box, white-box, dan gray-box testing.

Latihan 2

Sebuah sistem menerima nilai antara 0–100.

Buat:

  • equivalence partitioning;
  • boundary value analysis.

Latihan 3

Sebuah sistem menerima umur 18–60 tahun.

Tentukan minimal enam nilai untuk boundary testing.

Latihan 4

Perhatikan kode:

if ($nilai >= 80) {
echo “A”;
} elseif ($nilai >= 70) {
echo “B”;
} elseif ($nilai >= 60) {
echo “C”;
} else {
echo “D”;
}

Tentukan:

  • jumlah decision;
  • cyclomatic complexity;
  • independent path;
  • test case.

Latihan 5

Buat minimal 10 test case untuk halaman login.


🎯 46. Pertanyaan Diskusi

  1. Mengapa black-box testing tidak membutuhkan source code?
  2. Mengapa white-box membutuhkan pemahaman pemrograman?
  3. Kapan gray-box lebih tepat digunakan?
  4. Apakah black-box dapat menemukan seluruh bug?
  5. Apakah white-box menjamin software bebas bug?
  6. Mengapa nilai batas penting dalam pengujian?
  7. Apa hubungan cyclomatic complexity dengan jumlah test case?
  8. Apakah coverage 100% berarti software pasti bebas bug?
  9. Mengapa regression testing diperlukan?
  10. Mengapa testing harus dilakukan sebelum deployment?

🟒 47. Studi Kasus Diskusi

Sebuah aplikasi akademik memiliki masalah:

Mahasiswa biasa dapat mengakses halaman administrator dengan mengetikkan URL secara langsung.

Diskusikan:

  1. Apakah masalah tersebut merupakan defect?
  2. Apakah termasuk masalah keamanan?
  3. Apakah black-box dapat menemukan masalah tersebut?
  4. Apakah gray-box lebih efektif?
  5. Informasi internal apa yang diperlukan?
  6. Buat test case.
  7. Tentukan expected result.
  8. Tentukan actual result.
  9. Buat bug report.
  10. Jelaskan bagaimana melakukan retesting.
  11. Jelaskan bagaimana melakukan regression testing.

🟒 48. Kuis Pemahaman

1. Black-box testing berfokus pada:

A. Source code
B. Struktur database
C. Perilaku dan fungsi sistem
D. Compiler

Jawaban: C

2. White-box testing berfokus pada:

A. Tampilan aplikasi
B. Struktur internal program
C. Warna website
D. Dokumentasi pengguna

Jawaban: B

3. Gray-box testing menggunakan:

A. Tidak ada informasi sistem
B. Seluruh source code
C. Sebagian informasi internal
D. Tidak menggunakan test case

Jawaban: C

4. Boundary Value Analysis digunakan untuk:

A. Menguji nilai batas
B. Membuat database
C. Membuat UI
D. Mengompilasi program

Jawaban: A

5. Cyclomatic Complexity berkaitan erat dengan:

A. White-box testing
B. UI design
C. Database backup
D. Deployment

Jawaban: A


🟒 49. Rubrik Penilaian Praktikum

KomponenBobot
Analisis requirement10%
Black-box testing20%
White-box testing20%
Gray-box testing15%
Implementasi sistem15%
Dokumentasi10%
Presentasi5%
Diskusi5%
Total100%

🟒 50. Indikator Keberhasilan Pembelajaran

Mahasiswa dinyatakan menguasai materi apabila mampu:

  • menjelaskan konsep testing;
  • membedakan black-box, white-box, dan gray-box;
  • menyusun test case;
  • melakukan equivalence partitioning;
  • melakukan boundary value analysis;
  • membuat decision table;
  • membuat flowchart;
  • membuat control flow graph;
  • menghitung cyclomatic complexity;
  • menentukan independent path;
  • melakukan branch coverage;
  • membuat bug report;
  • melakukan retesting;
  • melakukan regression testing;
  • mendokumentasikan hasil pengujian;
  • memberikan argumentasi mengenai kelayakan implementasi sistem.

🟒 51. Rangkuman Materi

Secara sederhana, ketiga pendekatan dapat diingat dengan konsep berikut:

πŸ”΅ Black-Box

“Saya tidak perlu tahu isi program. Saya ingin mengetahui apakah sistem bekerja sesuai kebutuhan.”

Fokus:

  • input;
  • output;
  • requirement;
  • fungsi;
  • perilaku.

βšͺ White-Box

“Saya mengetahui struktur program dan ingin memastikan logika internalnya telah diuji.”

Fokus:

  • source code;
  • statement;
  • branch;
  • condition;
  • path;
  • CFG;
  • cyclomatic complexity.

🟑 Gray-Box

“Saya mengetahui sebagian cara kerja sistem dan menggunakan informasi tersebut untuk membuat pengujian lebih terarah.”

Fokus:

  • fungsi;
  • arsitektur;
  • database;
  • API;
  • autentikasi;
  • session;
  • role;
  • sebagian struktur internal.

🟒 52. Kesimpulan

Testing merupakan bagian penting dalam pengembangan dan implementasi sistem informasi. Sebuah aplikasi yang dapat dijalankan belum tentu dapat dikatakan berkualitas apabila belum melalui proses pengujian yang memadai.

Black-box testing membantu menguji sistem dari perspektif perilaku dan kebutuhan pengguna tanpa harus mengetahui source code.

White-box testing membantu menguji struktur internal dan logika program dengan menganalisis statement, branch, condition, path, control flow graph, dan cyclomatic complexity.

Sementara itu, gray-box testing menggabungkan pendekatan eksternal dengan sebagian pengetahuan internal sistem. Pendekatan ini sangat berguna ketika tester mengetahui sebagian arsitektur, database, API, autentikasi, session, atau mekanisme internal lainnya.

Ketiga pendekatan tersebut dapat digunakan secara bersama-sama.

Dengan menerapkan ketiga pendekatan tersebut, mahasiswa Informatika tidak hanya belajar membuat aplikasi, tetapi juga belajar menguji, mengevaluasi, memperbaiki, mendokumentasikan, dan menentukan kelayakan sebuah sistem sebelum diimplementasikan.


🎯 53. Proyek Akhir Pembelajaran

Sebagai proyek akhir, mahasiswa diminta membuat atau menggunakan sebuah aplikasi kemudian melakukan pengujian dengan tema:

“Analisis dan Pengujian Sistem Menggunakan Black-Box, White-Box, dan Gray-Box Testing untuk Menentukan Kelayakan Implementasi Sistem.”

Output proyek:

  1. Aplikasi.
  2. Dokumen requirement.
  3. Test plan.
  4. Minimal 20 black-box test case.
  5. Equivalence partitioning.
  6. Boundary value analysis.
  7. Decision table.
  8. Flowchart.
  9. Control Flow Graph.
  10. Cyclomatic Complexity.
  11. Independent Path.
  12. Minimal 10 white-box test case.
  13. Minimal 10 gray-box test case.
  14. Screenshot hasil pengujian.
  15. Bug report.
  16. Bukti perbaikan.
  17. Retesting.
  18. Regression testing.
  19. Dokumentasi implementasi.
  20. Kesimpulan kelayakan sistem.

Target akhirnya bukan sekadar:

“Aplikasi sudah selesai dibuat.”

Tetapi:

“Aplikasi telah diuji secara sistematis menggunakan black-box, white-box, dan gray-box testing, defect telah diidentifikasi dan diperbaiki, retesting dan regression testing telah dilakukan, serta tersedia bukti yang mendukung kesiapan sistem untuk diimplementasikan.”


πŸ“š 54. Referensi Pembelajaran

  1. ISTQB Glossary β€” referensi terminologi software testing, termasuk black-box testing, white-box testing, coverage, boundary value analysis, dan berbagai istilah pengujian lainnya. ISTQB Glossary
  2. OWASP Web Security Testing Guide β€” referensi pengujian aplikasi web dan keamanan aplikasi, termasuk metodologi pengujian dengan pendekatan black-box, white-box, dan gray-box. OWASP Web Security Testing Guide
  3. OWASP Testing Guide β€” dapat digunakan sebagai referensi tambahan untuk mempelajari pengujian aplikasi secara sistematis, khususnya pada aplikasi web. OWASP Testing Guide

About the Author

adminjurnalistik

Administrator

adminjurnalistik

View All Posts

Post navigation

Previous: Revolusi Multimedia Digital 2026: AI Generatif, Video Instan, dan Teknologi yang Sedang Mengubah Dunia

Related Stories

image
  • Artikel
  • Berita
  • Materi Kuliah

Revolusi Multimedia Digital 2026: AI Generatif, Video Instan, dan Teknologi yang Sedang Mengubah Dunia

adminjurnalistik July 7, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

AI untuk Mahasiswa dan Dosen

adminjurnalistik June 5, 2026
image
  • Artikel
  • Berita

β€œChatGPT Membantu atau Menghancurkan Pendidikan?”

adminjurnalistik May 10, 2026

Recent Posts

  • Testing dan Implementasi Sistem
  • Revolusi Multimedia Digital 2026: AI Generatif, Video Instan, dan Teknologi yang Sedang Mengubah Dunia
  • AI untuk Mahasiswa dan Dosen
  • β€œChatGPT Membantu atau Menghancurkan Pendidikan?”
  • Terus dan Terus Belajar di Era Digital: Kunci Bertahan dan Berkembang di Tengah Perubahan

Archives

  • August 2026
  • July 2026
  • June 2026
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • June 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019

Categories

  • Artikel
  • Berita
  • Materi Kuliah

You may have missed

image
  • Artikel
  • Berita
  • Materi Kuliah

Testing dan Implementasi Sistem

adminjurnalistik August 10, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

Revolusi Multimedia Digital 2026: AI Generatif, Video Instan, dan Teknologi yang Sedang Mengubah Dunia

adminjurnalistik July 7, 2026
image
  • Artikel
  • Berita
  • Materi Kuliah

AI untuk Mahasiswa dan Dosen

adminjurnalistik June 5, 2026
image
  • Artikel
  • Berita

β€œChatGPT Membantu atau Menghancurkan Pendidikan?”

adminjurnalistik May 10, 2026
Copyright © All rights reserved. | MoreNews by AF themes.
imunify-bot-check