Anda di halaman 1dari 5

Journal Speed – Sentra Penelitian Engineering dan Edukasi – Volume 9 No 3 - 2017 speed.web.

id

Pengujian Sistem Informasi Pengelolaan Pelatihan Kerja UPT BLK Kabupaten Kudus
dengan Metode Whitebox Testing
Yudie Irawan.
Program Studi Sistem Informasi, Universitas Muria Kudus
yudie.irawan@umk.ac.id

Abstrak - Kegiatan Rekayasa perangkat lunak tidak akan lepas dari aktifitas pengujian(testing).
Metode pengujian telah berkembang seiring dengan berkembangnya teori rekayasa software.
Penelitian ini merupakan salah satu eksperimen penerapan pengujian unit pada sistem yang telah
dibangun pada penelitan sebelumnya. Pengujian unit pada sistem ini menggunakan metode
pengujian white box testing. Metode penelitian ini mengambil beberapa tahapan pada siklus
pengujian sistem(Software Testing Life Cycle) yang meliputi Requirement Analysis, Test Planning,
Test Case Development, Environtment Setup, Test Execution dan Test Cycle Closure. Pengujian
white box adalah metode desain test case yang menggunakan struktur kendali dari desain prosedural.
Hasil penelitian ini bermanfaat untuk mengetahui tingkat kesiapan sistem pada tahap implementasi.
Walaupun masih ada pengujian lainnya, namun pengujian dengan metode whitebox testing
merupakan awal dari rangkaian pengujian sistem, dimana pengujian lainnya dapat dilakukan setelah
melewati metode ini. Hasil dari penelitian ini berupa dokumentasi pengujian yang akan menyajikan
tingkat kelayakan sistem sesuai dengan kaidah logika algoritma dan cara kerja sistem.
Kata kunci: pengujian, unit, white box, software testing life cycle

Abstrak - Kegiatan Rekayasa perangkat lunak tidak akan lepas dari aktifitas pengujian(testing).
Metode pengujian telah berkembang seiring dengan berkembangnya teori rekayasa software.
Penelitian ini merupakan salah satu eksperimen penerapan pengujian unit pada sistem yang telah
dibangun pada penelitan sebelumnya. Pengujian unit pada sistem ini menggunakan metode
pengujian white box testing. Metode penelitian ini mengambil beberapa tahapan pada siklus
pengujian sistem(Software Testing Life Cycle) yang meliputi Requirement Analysis, Test Planning,
Test Case Development, Environtment Setup, Test Execution dan Test Cycle Closure. Pengujian
white box adalah metode desain test case yang menggunakan struktur kendali dari desain prosedural.
Hasil penelitian ini bermanfaat untuk mengetahui tingkat kesiapan sistem pada tahap implementasi.
Walaupun masih ada pengujian lainnya, namun pengujian dengan metode whitebox testing
merupakan awal dari rangkaian pengujian sistem, dimana pengujian lainnya dapat dilakukan setelah
melewati metode ini. Hasil dari penelitian ini berupa dokumentasi pengujian yang akan menyajikan
tingkat kelayakan sistem sesuai dengan kaidah logika algoritma dan cara kerja sistem.
Kata kunci: pengujian, unit, white box, software testing life cycle

PENDAHULUAN didefinisikan sebagai proses verifikasi dan


Perkembangan metode pengujian validasi pada perangkat lunak untuk
sistem berkembang seiring dengan memastikan bahwa aplikasi telah memenuhi
berkembangnya metode pengembangan persyaratan teknis dan bisnis seperti yang
sistem dan teknologi aplikasi yang diharapkan. (Chayanika Sharma, Sangeeta
dibangunnya. Tahapan testing atau pengujian Sabharwal, Ritu Sibal, 2013). Pengujian pada
selalu ada dalam salah satu tahapan perangkat lunak dapat didefinisikan sebagai
pengembangan sistem yang ada. Pengujian sejumlah aktifitas yang dapat direncanakan
sistem menjadi penting karena hanya melewati dengan baik dan terarah secara sistematik.
tahap yang mampu menunjukkan kesiapan Oleh karenanya maka sebuah template
sistem sebelum diterapkan di lapangan. pengujian - sejumlah fase dimana didalamnya
Pengujian perangkat lunak memiliki peranan dapat ditempatkan teknik desain test case dan
penting dalam siklus hidup sistem untuk metode pengujian – harus ditetapkan tiap
mendeteksi tingkat kesulitan yang ada dalam dalam proses pembuatan software.
tiap proses dengan baik (Khan & Khan, 2014). (Pressman & Maxim, 2014). Secara garis
Pengujian perangkat lunak dilakukan besar terdapat dua metode yang dikenal
untuk mendeteksi adanya kesalahan, yang dalam pengujian software, yang pertama
menyebabkan kegagalan perangkat lunak. melakukan pengujian dari sisi
Namun, pengujian perangkat lunak menjadi fungsionalitasnya, pengujian diarahkan untuk
tugas yang memakan waktu dan mahal. Tahap menunjukkan sejauh mana produk dapat
pengujian mampu menghabiskan hampir 50% memenuhi fungsi sebagaimana mestinya.
sumber daya pengembangan perangkat lunak. Metode ini disebut dengan pengujian Black-
Pengujian perangkat lunak juga dapat box. Pengujian cara kedua adalah dengan
ISSN : 1979-9330 (Print) - 2088-0154 (Online) - 2088-0162 (CDROM) 59
Journal Speed – Sentra Penelitian Engineering dan Edukasi – Volume 9 No 3 - 2017 speed.web.id

menguji cara kerja dari produk tesebut, METODE


pengujian ini diarahkan untuk menunjukkan Metode penelitian yang dilakukan
tingkat kebenaran metode yang digunakan, mengacu pada Software Testing Life Cycle
cara kerja yang sesuai prosedur dan yang dapat dilihat pada gambar 1 :
spesifikasi internal lainnya. Metode kedua
disebut dengan pengujian White-box.
Hingga saat ini prioritas penggunaan
metode pengujian baik black-box maupun
whitebox masih dan akan terus digunakan
pada pengujian sistem, bahkan dalam
beberapa rilis sistem yang telah dibuat.
(Christopher Henard, Mike Papadakis, Mark
Harman, Yue Jia, Yves Le Traon, 2016).
Metode pengujian yang digunakan dalam
penelitian ini adalah whitebox. Pengujian
whitebox juga dikenal sebagai pengujian
struktural, pengujian transparent box,
pengujian berbasis logika atau pengujian
berbasis kode. Kata whitebox(kotak
putih/transparan) mengacu pada sebuah
metode test case, perangkat lunak yang
sedang diuji dianggap sebagai kotak(box), Gambar 1. Software Testing Life Cycle
sedangkan kata white/transparent mengacu
pada bahwa kotak itu terlihat jelas isinya. Berikut adalah penjelasan masing – masing
Penguji dapat melihat jelas bagian dalam tahapan :
kotak dan cara kerjanya di dalamnya. 1. Requirement analysis; Tahap
Seringkali logical errors dan pemahaman mengumpulkan data dan informasi kebutuhan
script(kode program) yang keliru, akan aktifitas pengujian, referensi dari jurnal dan
berbanding terbalik dengan alur sistem yang artikel ilmiah, serta buku yang membahas
seharusnya. Karena banyaknya yang metode pengujian sistem.
mengatakan bahwa logical path adalah hal 2. Test Planning; Tahap penjadwalan
sulit untuk dieksekusi, sebenarnya dapat saja dan rencana kegiatan pengujian
dieksekusi dalam keadaan normal. Dan karena menyesuaikan jumlah unit yang akan diuji dan
kesalahan ketik dalam kode itu bersifat acak jumlah tester.
dan tidak dapat dihindari, dari banyak hal 3. Test Case Development ; Pada tahap
itulah maka kita harus melakukan pengujian ini dibuat desain test case pengujian white box
whitebox. Tujuannya adalah untuk memeriksa dengan teknik cakupan dengan control
logical path perangkat lunak dengan flowgraph.
memeriksa struktur logis perangkat lunak. Poin 4. Environtment Setup ; Pengaturan
- poin pengujian utama akan ditentukan pada hardware dan software yang akan digunakan
kasus yang berbeda-beda untuk menguji antara lain ; sistem operasi, kapasitas memori
program, sehingga mampu menyimpulkan penyimpanan dan memory pemrosesan serta
apakah perangkat lunak sudah berjalan sesuai kapasitas jaringan yang digunakan dalam
dengan kebutuhan yang diharapkan atau pengujian. Dalam tahap ini dilakukan
sebaliknya. Arah pengujian telah ada pada pengecekan terhadap kebersihan sistem dari
desain pengujian yang telah ditentukan pada gangguan eksternal termasuk bersih dari virus
tahap perancangan sistem, biasanya komputer.
dituangkan dalam dokumen pengujian 5. Test Execution ; Pengujian sistem
perancangan perangkat lunak, rincian seperti rencana yang telah disusun
prosedur pengujian, rancangan test case sebelumnya. Tahap ini dilakukan pengujian
dengan spesifik studi kasus dan pada dengan pembagian tugas pengujian
pengujian cakupan jalur logika. (Bo Li, Lichen menggunakan 3 komputer dengan spesifikasi
Zhang, 2017). yang sama.
Sistem yang akan diuji ini meliputi 13 modul 6. Test Cycle Closure ; Penyusunan
aplikasi. Pengujian menggunakan metode dokumentasi hasil pengujian yang berisi
whitebox dengan teknik basis path dan kesimpulan kelayakan sistem.
disajikan dalam diagram control flograph (ISTQBExamCertification.com, 2013).
testing. Cakupan pernyataan, cabang dan jalur
adalah suatu teknik white box testing yang

ISSN : 1979-9330 (Print) - 2088-0154 (Online) - 2088-0162 (CDROM) 60


Journal Speed – Sentra Penelitian Engineering dan Edukasi – Volume 9 No 3 - 2017 speed.web.id

menggunakan alur logika dari program untuk berdasarkan blok fungsi perintah atau dapat
membuat test cases. Yang dimaksud dengan juga tiap kode perintah program, dapat dilihat
alur logika adalah cara dimana suatu bagian pada gambar 3.
dari program tertentu dieksekusi saat <?php
menjalankan program. Alur logika biasanya 1 if ($_POST['btnSimpan']=="Selanjutnya-->>") {
direpresentasikan dalam bentuk flowgraph 2 if (empty($_POST['txtno_ktp'])){
seperti pada gambar 2 . 3 echo"<script>alert('Maaf Text KTP harus
Diisi')</script>";
echo "<meta http-equiv='refresh' content='0;
4
url=?page=tambah_peserta_pelatihan'>";
}elseif(empty($_POST['txtnama'])){
5
echo"<script>alert('Maaf Text Nama harus
6 Diisi')</script>";
echo "<meta http-equiv='refresh' content='0;
url=?page=tambah_peserta_pelatihan'>";
7
}elseif(empty($_POST['txttmp_lahir'])){
echo"<script>alert('Maaf Text Tempat Lahir harus
8
Diisi')</script>";
9
echo "<meta http-equiv='refresh' content='0;
url=?page=tambah_peserta_pelatihan'>";

10 }elseif(empty($_POST['txttgl_lahir'])){
echo"<script>alert('Maaf Text Tanggal Lahir harus
Diisi')</script>";
11
echo "<meta http-equiv='refresh' content='0;
12 url=?page=tambah_peserta_pelatihan'>";
Gambar 2. Notasi Flowgraph }elseif(empty($_POST['taalamat'])){
13 echo"<script>alert('Maaf Text Alamat harus
Pada gambar 2 menunjukkan konstruksi Diisi')</script>";
struktural pada flow graph, dimana tiap siklus 14 echo "<meta http-equiv='refresh' content='0;
url=?page=tambah_peserta_pelatihan'>";
melambangkan satu atau lebih pernyataan 15
}elseif(empty($_POST['txtnope'])){
kode (source code statement). Tiap lingkaran,
echo"<script>alert('Maaf Text Alamat harus
disebut flow graph node, yang mewakili satu 16 Diisi')</script>";
atau lebih pernyataan prosedural. (Pressman Gambar 3. Pemberian nomor pada kode
echo "<meta http-equiv='refresh' content='0;
& Maxim, 2014) program
Selanjutnya nomor tersebut digunakan
HASIL DAN PEMBAHASAN sebagai node yang disusun menurut alur
Pengujian dilakukan dalam 3 komputer program untuk membuat flowgraph. Dengan
dengan spesifikasi yang sama. Masing – bantuan flowgraph arah pengujian menjadi
masing komputer menjalankan test case yang lebih mudah. Berikutnya melakukan pengujian
telah disusun sebelumnya. Teknik basis path pada level statement coverage/perintah. Pada
diawali dengan mengubah kode program ke node yang kode perintahnya telah dijalankan
dalam node yang kemudian digambarkan dengan baik maka node tersebut diberi tanda
dalam diagram flowgraph. Untuk centang. Contoh pada gambar 4a, semua
mentransformasi kode – kode program dalam node berhasil dijalankan dan diberi tanda
node, penguji harus memahami algoritma dan centang. Sedangkan node yang mengalami
sintak program, sehingga penguji haruslah kegagalan diberi tanda silang, seperti pada
seorang yang menguasai bahasa gambar 4b.
pemrograman juga. Hal ini sesuai dengan a.
konsep pengujian transparent box dimana
penguji bisa melihat jelas isi kotak. Selain
baris perintah, node juga mewakili blok fungsi
yang terdiri dari beberapa baris perintah.
Notasi pada node diwakili dengan angka dan
disusun secara urut sesuai alur logika program
yang dikonversikan. Dalam penelitian ini
terdapat tiga jenis cakupan yang diuji, yaitu
cakupan pernyataan, cakupan cabang dan
cakupan jalur.
Langkah membuat test case dimulai
dengan membuat flowchart dari sebuah kode.
Setiap perintah pada program diberikan nomor
urut didepannya. Pemberian nomor ini dapat

ISSN : 1979-9330 (Print) - 2088-0154 (Online) - 2088-0162 (CDROM) 61


Journal Speed – Sentra Penelitian Engineering dan Edukasi – Volume 9 No 3 - 2017 speed.web.id

b.

Gambar 5. Pengujian decision coverage

Pengujian berikutnya ada pada level


Gambar 4. Pengujian statement coverage jalur (path coverage). Pengujian jalur adalah
pengujian dari awal dijalankannya sebuah
Langkah selanjutnya melakukan pengujian modul sampai pada akhir modul. Biasanya
cabang(branch/decision coverage), dimana diakhiri dengan penyimpanan atau pembatalan
semua kondisi pilihan diuji untuk memastikan fungsi. Pengujian ini mengharuskan
tidak ada kesalahan pada kode program untuk mengunjungi setiap node yang ada pada jalur
setiap pilihan. Pada pengujian cabang ini yang berkesinambungan. Kegagalan pada
dilakukan juga pengujian yang berkaitan pengujian jalur biasanya akan mengakibatkan
dengan pengulangan. Pengujian cabang berhentinya program ditengah eksekusi. Pada
disajikan dalam gambar 5a dan 5 b. Tampak gambar 6a 5 jalur/ path dan pada gambar 6b
bahwa pada flowgraph a tidak ditemukan terdapat 8 jalur/path. Garis jalur ditandai
kesalahan, sedangkan pada flowgraph 5b dengan warna yang berbeda untuk
ditemukan kesalahan satu node dengan angka memudahkan pembacaan dan pelacakan alur
36,37,38,39. program.

a. A

b.

ISSN : 1979-9330 (Print) - 2088-0154 (Online) - 2088-0162 (CDROM) 62


Journal Speed – Sentra Penelitian Engineering dan Edukasi – Volume 9 No 3 - 2017 speed.web.id

b. karena itu sangat diperlukan kesiapan testcase


yang sebaik – baiknya. Metode pengujian
whitebox memiliki banyak teknik, sehingga
perlu pengujian dengan teknik yang lain,
misalnya basispath dan graph matrixs.

DAFTAR PUSTAKA

[1] Bo Li, Lichen Zhang. (2017). Analysis of


White Box Test of Cyber-Physical System.
American Institute of Physics Conference
Proceedings, 020183-1, 020183-7. doi:doi:
10.1063/1.4982548
[2] Chayanika Sharma, Sangeeta Sabharwal,
Ritu Sibal. (2013, January). A Survey on
Software Testing Techniques using
Genetic Algorithm. IJCSI International
Gambar 6. Pengujian path coverage Journal of Computer Science Issues, 10(1,
No 1), 381 - 393. Retrieved from
Dari 13 modul yang dilakukan pengujian ada www.IJCSI.org
21 bugs yang ditemukan sesuai node pada [3] Christopher Henard, Mike Papadakis,
beberapa modul. Kesalahan yang paling Mark Harman, Yue Jia, Yves Le Traon.
sering ditemui adalah kesalahan sintak, baik (2016, May). Comparing White-box and
yang disebabkan karena salah ketik, kurang Black-box Test Prioritization. International
lengkap atau salah variabel. Kesalahan Conference on Software Engineering, 14-
ditemui pada statement coverage, branch 22. doi:DOI:
coverage maupun path coverage. Rekap http://dx.doi.org/10.1145/2884781.288479
kesalahan yang ditemukan dapat dilihat pada 1
tabel 1. [4] Dr. A. Nirmal Kumar, Dr. B.G. Geetha.
(2016, Jan.-March). Whitebox Testing
Tabel 1. Rekap kesalahan yang ditemukan Technique for SOA. International Journal
Nama Modul Posisi Node Keterangan of Advanced Engineering Technology,
Input 18, 19, 21, Salah VII(I), 707-709.
Identitas 22, 24, perintah, [5] ISTQBExamCertification.com. (2013).
Pendaftar 25,31,36, 37, salah ketik. What is Software Testing Life Cycle
38, 39 (STLC)? Retrieved from ISTQB Exam
Input 19, 25, 27 Salah Certification:
Pemilihan variabel, http://istqbexamcertification.com/what-is-
Jurusan Salah query, software-testing-life-cycle-stlc/
Salah sintak [6] Khan, M. E., & Khan, F. (2014, March ).
Input 18, 19, 21, Salah sintak, Importance of Software Testing in
Identitas 22, 24, 25, salah ketik Software Development Life Cycle. IJCSI
Instruktur 39, 40 International Journal of Computer Science
Penerimaan 3,7 Sintak tidak Issues, 11(2 ), 120-123.
Peserta lengkap [7] Pressman, R., & Maxim, B. (2014).
Software Engineering, a Practitioner's
SIMPULAN DAN SARAN Approach (8th ed.). New York: McGraw-
Pengujian pada tingkat statemen, Hill.
cabang maupun jalur telah dilakukan sampai [8] Syed Roohullah Jan, Syed Tauhid Ullah
100 %. Hasil pengujian menunjukkan bahwa Shah, Zia Ullah Johar, Yasin Shah,
dari 13 modul terdapat 4 modul yang Fazlullah Khan. (2016, March-April). An
didalamnya ditemukan kesalahan. Kesalahan Innovative Approach to Investigate Various
yang ditemukan termasuk pada kesalahan Software Testing Techniques and
mayor dan berakibat sistem berhenti, oleh Strategies. International Journal of
karena itu perlu perbaikan kode program Scientific Research in Science,
sebelum aplikasi dapat digunakan oleh user. Engineering and Technology, 2(2), 682-
Pengujian adalah tahapan yang 689.
membutuhkan banyak waktu dan tenaga, oleh
ISSN : 1979-9330 (Print) - 2088-0154 (Online) - 2088-0162 (CDROM) 63

Anda mungkin juga menyukai