Вы находитесь на странице: 1из 13

Jurnal Informatika dan Bisnis

APLIKASI PENGUJIAN WHITE-BOX


IBII ONLINE JUDGE

Handy1) dan Joko Susilo2)


1)
Alumni Program Studi Sistem Informasi
2)
Staf Pengajar Program Studi Sistem Informasi
Institut Bisnis dan Informatika Kwik Kian Gie
Jl. Yos Sudarso Kav.87 Sunter Jakarta Utara 14350
http://www.kwikkiangie.ac.id
www.joko.susilo@kwikkiangie.ac.id

ABSTRACT

The development of information and communication technology assist people in various


aspects of human life. One aspect of those is education. Utilization of information and communication
technology in education is useful for users to understand the learning materials quickly and easily.
Currently there has been online judge system which used for practice work on the problems of
programming. IBII provides a means for students majoring in information systems and information
technology for practicing programming capabilities through IBII Online Judge. In IBII Online Judge,
there is a problem with the requirements of the use of algorithms and data structures. The purpose of
this study is to design and create a white-box testing application that can assist test on IBII Online
Judge. Application of white-box testing IBII Online Judge in this study developed using the Java
programming language. The design of white-box testing utilized the theory of lexical analysis with
knowledge of algorithms and data structures. This study was developed using the methods of systems
development life cycle (SDLC) waterfall model. The design of the system used in this study described
as an object-oriented by using Unified Modeling Language (UML) such as use case diagram, class
diagrams, sequence diagrams and activity diagrams. The results of this study were white-box testing
application that can assist test on IBII Online Judge. The conclusions of this research is the
application of white-box testing IBII Online Judge useful to perform testing on the user’s submitted
source code to the requirements of IBII Online Judge problem in the use of algorithms and data
structures.

Keyword: white-box testing, online judge.

1. PENDAHULUAN digunakan dalam batasan lomba


pemrograman namun juga untuk terbuka
Perkembangan teknologi dan umum. Setiap orang dapat mendaftarkan
informasi yang maju membantu diri di situs online judge dan berlatih
kehidupan manusia di berbagai aspek, mengerjakan soal-soal pemrograman.
salah satunya adalah aspek pendidikan. Algoritma dan struktur data adalah
Pemanfaatan teknologi pada pendidikan mata kuliah wajib yang diajarkan pada
bermanfaat bagi penggunanya untuk mahasiswa jurusan informatika yang
memahami suatu materi pembelajaran mengajarkan tentang dasar pemrograman.
dengan praktis dan mudah. Beberapa mahasiswa sulit untuk
Saat ini telah terdapat sistem online memahami algoritma yang telah dipelajari
judge yang dimanfaatkan untuk berlatih di kelas karena jarang menulis kode
mengerjakan soal pemrograman. Pada program dan mengulangnya kembali.
awalnya online judge digunakan dalam Kampus IBII menyediakan sarana
lomba pemrograman dan persiapan bagi mahasiswa jurusan informatika
latihan mengikuti perlombaan. Namun, untuk berlatih kemampuan pemrograman
seiring perkembangan teknologi dan melalui IBII Online Judge. Pada IBII
informasi, online judge tidak hanya Online Judge, mahasiswa dapat

56
Jurnal Informatika dan Bisnis

mengerjakan soal-soal algoritma yang dengan melihat internal kode program


tersedia dengan persyaratan dalam tersebut. Dengan menggunakan metode
menyelesaikan soal. Untuk menjawab, white-box maka alur program jawaban
mahasiswa dapat mengunggah mahasiswa dapat diuji. Hal ini
jawabannya ke sistem, kemudian sistem melatarbelakangi penulis untuk
penilaian akan memproses dan melakukan pengembangan aplikasi
memberikan respon hasil penilaian. Soal pengujian white-box IBII Online Judge.
yang diberikan mempunyai jawaban yang
unik dan tidak membutuhkan pengujian
spesifik untuk standar keluarannya. 2. IDENTIFIKASI MASALAH
Namun pada soal dengan persyaratan a. Mahasiswa sulit untuk memahami
penggunaan algoritma dan struktur data, algoritma yang telah dipelajari di kelas
penilaian tersebut dilakukan secara karena jarang menulis kode program
manual. Keterbatasan waktu dosen untuk dan mengulangnya kembali.
memeriksa jawaban mahasiswa secara b. Pada IBII Online Judge terdapat soal
manual menyebabkan mahasiswa lama dengan persyaratan penggunaan
mendapatkan hasil penilaian. algoritma dan struktur data yang
White-box testing merupakan salah penilaiannya dilakukan secara manual.
satu metode pengujian program yang c. Keterbatasan waktu dosen untuk
bertujuan untuk memeriksa komponen memeriksa jawaban mahasiswa.
program apakah berjalan semestinya

3. TINJAUAN PUSTAKA
software engineer dapat membuat test
Black Box Testing case yang (1) menjamin semua jalur
Menurut Myers, Glenford J., Corey indepeden di dalam modul telah
Sandler, dan Tom Badgett (2011:8), black dieksekusi sekurangnya sekali, (2)
box testing merupakan salah satu strategi menguji semua keputusan logikal pada
pengujian yang dikenal juga sebagai data nilai true dan false, (3) menjalankan
driven testing atau input/output testing. semua perulangan pada batasannya dan
Untuk menggunakan metode ini, program dalam batas operasionalnya, dan (4)
dipandang sebagai kotak hitam. menguji struktur data internal untuk
Tujuannya adalah untuk mengabaikan memastikan kebenarannya.
internal behaviour dan struktur program.
Sehingga penguji dapat berkonsentrasi
menemukan keaTindaan saat program a. Basis Path Testing
tidak berjalan sesuai spesifikasinya. Pada Basis path testing adalah teknik
pendekatan ini, kasus data hanya dibuat white-box testing yang pertama
berdasarkan spesifikasinya tanpa perlu dikemukakan oleh Tom McCabe
mengetahui struktur internal program. (1976:308-320). Metode basis path
memungkinkan perancang test case untuk
White-Box Testing membuat pengukuran kompleksitas
Menurut Pressman (2010:485), logikal dari rancangan prosedural dan
white-box testing, atau yang disebut menggunakan pengukuran ini sebagai
glass-box testing, adalah metode panduan untuk mendefinisikan himpunan
perancangan test case yang menggunakan basis dari jalur eksekusi. Test case yang
penjelasan struktur kontrol sebagai bagian dibuat untuk menguji himpunan basis
dari component-level design untuk dijamin akan mengeksekusi setiap
membuat test cases. Dengan statement di dalam program sekurangnya
menggunakan metode white-box testing, sekali pada saat pengujian.
57
Jurnal Informatika dan Bisnis

b. Notasi Flow Graph menggambarkan alur kontrol logikal


Sebelum mempelajari metode basis menggunakan notasi yang diilustrasikan
path, notasi sederhana untuk oleh gambar 2.1. Setiap struktur yang
merepresentasi control flow yang disebut dibangun mempunyai simbol flow graph
flow graph (atau program graph) harus yang berpasangan.
dipahami terlebih dahulu. Flow graph
Gambar 2.1
Notasi flow graph

Untuk mengilustrasikan pemakaian beberapa statement prosedural. Urutan


flow graph, perhatikan contoh kotak proses dan decision diamonds dapat
representasi rancangan prosedural pada dipetakan menjadi satu node. Panah pada
gambar 2.2. Pada gambar tersebut flow graph, disebut edges atau links,
flowchart digunakan untuk merepresentasikan alur kontrol, sama
menggambarkan struktur kontrol seperti panah pada flowchart. Sebuah
program. Gambar 2.3 memetakan edge harus berakhir pada node, walaupun
flowchart ke dalam flow graph yang node tersebut tidak merepresentasikan
terhubung (diasumsikan tidak ada kondisi prosedur apapun. Area yang dibatasi oleh
majemuk pada decision diamond pada edges dan nodes disebut regions. Ketika
flowchart). Mengacu pada gambar 2.3, menghitung jumlah regions, area luar
setiap lingkaran, disebut sebagai flow graph dimasukkan sebagai region
graph node, merepresentasikan satu atau
.
Gambar 2.2
Flowchart

58
Jurnal Informatika dan Bisnis

Ketika kondisi majemuk ditemui satu atau beberapa operator boolean (OR,
dalam rancangan prosedural, AND, NAND, NOR) disebutkan dalam
pembentukan flow graph menjadi lebih stament kondisional.
rumit. Kondisi majemuk terjadi ketika

Gambar 2.3
Flow Graph

Gambar 2.4
PDL dengan Node yang Teridentifikasi

59
Jurnal Informatika dan Bisnis

Berdasarkan gambar 2.5, segmen menuju sekurangnya satu himpunan dari


PDL (Program Design Language atau statement proses atau kondisi baru. Ketika
pseudocode) diterjemahkan ke dalam flow diartikan dalam flow graph, sebuah jalur
graph yang ditampilkan. Sebagai catatan, independen harus berpindah sekurangnya
node yang terpisah dibuat untuk setiap satu edge yang belum pernah dikunjungi
kondisi a dan b pada statement IF a OR b. sebelum jalur didefinisikan. Sebagai
Setiap node yang mempunyai contoh, himpunan dari jalur independen
kondisi/persyaratan disebut predicate pada flow graph pada gambar 2.3 adalah:
node dan dikarakteristikkan dengan dua Path 1 : 1-11
atau beberapa edges yang keluar dari Path 2 : 1-2-3-4-5-10-1-11
node tersebut. Path 3 : 1-2-3-6-8-9-10-1-11
c. Jalur Independen Program Path 4 : 1-2-3-6-7-9-10-1-11
Jalur independen adalah semua Sebagai catatan, setiap jalur baru
jalur yang melewati program yang melewati edge baru.

Gambar 2.5
Compound Logic

Jalur 1, 2, 3, dan 4 merupakan pengujian basis path, nilai yang dihitung


himpunan basis untuk flow graph pada untuk cyclomatic complexity menyatakan
gambar 2.3. Jika pengujian dapat jumlah jalur independen pada himpunan
dirancang untuk mendorong eksekusi dari basis program dan menyatakan batas atas
jalur ini (himpunan basis), maka setiap untuk jumlah kasus pengujian yang harus
statement di dalam program dijamin akan dilakukan sehingga menjamin semua
dijalankan sekurangnya sekali, dan setiap statement dijalankan sekurangnya sekali.
kondisi akan dijalankan pada kondisi true Cyclomatic complexity mempunyai
atau false. Perlu diketahui bahwa fondasi dalam teori graph dan dapat
himpunan basis tidaklah unik. Faktanya, dihitung dengan satu dari tiga cara:
sejumlah himpunan basis yang berbeda d. Jumlah region sama dengan
dapat diturunkan dari sebuah rancangan cyclomatic complexity.
prosedural yang diberikan. e. Cyclomatic complexity, V(G),
Perhitungan cyclomatic complexity untuk sebuah flow graph, G, didefnisikan
bermanfaat untuk mengetahui jumlah sebagai:
jalur yang perlu dicari. Cyclomatic V(G) = E – N + 2
complexity adalah metric piranti lunak E adalah jumlah edge pada flow
yang menyediakan ukuran kuantitatif dari graph, dan N adalah jumlah node pada
kompleksitas logikal program. Ketika flow graph.
digunakan dalam konteks metode f. Cyclomatic complexity, V(G),
60
Jurnal Informatika dan Bisnis

untuk flow graph, G, juga didefinisikan n. Mempersiapkan test case yang


sebagai: akan mengeksekusi setiap jalur pada
V(G) = P + 1 himpunan
P adalah jumlah predicate nodes basis.
yang terdapat pada flow graph G. Penting untuk diketahui bahwa
Berdasarkan gambar 2.3, beberapa jalur independen tidak dapat
cyclomatic complexity dapat dihitung diuji secara tersendiri. Penggabungan data
dengan menggunakan setiap algoritma dibutuhkan untuk menjelajahi jalur yang
yang diberikan: tidak dapat dicapai dengan alur biasa dari
g. Flow graph mempunyai program. Pada beberapa kasus, jalur ini
empat regions. diuji sebagai bagian dari pengujian jalur
h. V(G) = 11 edges – 9 nodes + lain.
2 = 4. o. Graph Matrix
i. V(G) = 3 predicate nodes + 1 Prosedur untuk membuat flow
= 4. graph dan menentukan himpunan basis
j. Membuat Test Case path dapat diterima berdasarkan
Metode pengujian basis path dapat mekanisme. Untuk mengembangkan alat
diterapkan pada rancangan prosedural piranti lunak yang membantu pengujian
atau source code. Langkah-langkah basis path, sebuah struktur data yang
berikut digunakan untuk membuat disebut graph matrix, dapat sangat
himpunan basis: bermanfaat.
k. Dengan menggunakan Graph matrix adalah matriks kotak
rancangan atau code sebagai fondasi, yang ukurannya (jumlah baris dan kolom)
gambarkan flow sama untuk jumlah node pada flow graph.
graph yang bersesuaian. Setiap baris dan kolom berhubungan
l. Menentukan cyclomatic dengan node yang teridentifikasi, dan data
complexity dari hasil flow graph. matriks berhubungan dengan koneksi
m. Menentukan himpunan basis (edge) antara node.
dari jalur independen yang linier.
Gambar 2.6
Contoh Flow Graph

Berdasarkan gambar 2.6, setiap berdasarkan huruf. Masukan huruf pada


node pada flow graph diidentifikasi matriks, dibuat berdasarkan pasangan
berdasarkan angka, sedangkan pada antara dua node. Sebagai contoh, node 3
gambar 2.7, setiap edge diidentifikasi dihubungkan dengan node 4 oleh edge b.

61
Jurnal Informatika dan Bisnis

Gambar 2.7
Contoh Graph Matrix

Pada tahap ini, graph matrix tidak j) Metode pengujian data flow memilih
lain adalah representasi tabular flow jalur pengujian program berdasarkan
graph. Dengan menambahkan link weight lokasi dari definisi dan penggunaan
pada setiap data matriks, graph matrix variabel pada program.
dapat menjadi alat yang andal untuk k) Loop testing
mengevaluasi struktur kontrol program l) Loop testing adalah salah satu cara
selama pengujian. Link weight pengujian white-box yang berfokus
memberikan informasi tambahan pada kesesuaian implementasi loop.
mengenai alur kontrol. Pada bentuk Empat kelas berbeda dari loop bisa
sederhana, link weight bernilai 1 (ada didefinisikan: simple loops,
hubungan) atau 0 (tidak ada hubungan). concatenated loops, nested loops, dan
Tetapi link weight dapat bekerja lain, unstructured loops.
seperti pada properti berikut: m) Menurut Galin (2004:197), kelebihan
a) Kemungkinan bahwa sebuah link white-box testing adalah:
(edge) akan dijalankan. n) Pemeriksaan langsung statement per
b) Waktu pemrosesan yang dikerjakan statement kode program yang dapat
selama traversal sebuah link. menentukan kebenaran program
c) Memory yang dibutuhkan selama seperti yang dituliskan pada jalur
traversal sebuah link. proses, termasuk apakah algoritma
d) Resource yang dibutuhkan selama didefinisikan dan di-coding dengan
traversal sebuah link. benar.
e) Control Structure Testing o) Meningkatkan kinerja pelaksanaan
f) Basis path yang dibahas sebelumnya line coverage (menerapkan paket
adalah salah satu cara untuk pengujian piranti lunak khusus) yang
control structure. Walaupun pengujian menyediakan penguji dengan sejumlah
basis path sederhana dan efektif, daftar baris kode yang belum pernah
namun belum cukup. Oleh karena itu, dieksekusi. Penguji kemudian dapat
cakupan pengujian perlu diperluas membuat test case untuk mencakup
agar meningkatkan kualitas pengujian baris kode tersebut.
white-box. p) Memastikan kualitas dari hasil coding
g) Condition testing dan sesuai dengan standar coding.
h) Condition testing adalah metode
perancangan test case yang menguji q) Kekurangan white-box testing adalah:
kondisi logikal yang terdapat dalam r) Menggunakan sumber daya lebih
modul program. Kondisi sederhana banyak dibanding black-box testing
adalah variabel boolean atau ekspresi pada pengujian program yang sama.
relasional, yang mungkin diawali s) Tidak dapat menguji kinerja piranti
dengan satu operator NOT (¬). lunak dalam arti, ketersediaan (waktu
i) Data flow testing respon), keandalalan, daya tahan
62
Jurnal Informatika dan Bisnis

beban, dan kelas pengujian lain yang pendidikan di IBII.


berhubungan dengan operasi, revisi, Pada tahun 1993 status IBII
dan faktor transisi. berubah menjadi Sekolah Tinggi Ilmu
Karakteristik white-box testing Ekonomi (STIE). STIE IBII
adalah membatasi penggunaannya pada menyelenggarakan pendidikan jenjang S1
modul piranti lunak yang mempunyai (program sarjana) yaitu Program Studi
resiko sangat tinggi dan rawan kesalahan, Manajemen dan Program Studi
sehingga menjadi sangat penting untuk Akuntansi. Pada Program Studi
diidentifikasi dan membenarkan sebanyak Manajemen terdapat konsentrasi:
mungkin errors tersebut. Manajemen Keuangan, Manajemen
Pemasaran, dan Manajemen
Kewirausahaan. Pada Program Studi
Online Judge Akuntansi terdapat konsentrasi:
Menurut Wikipedia, online judge Akuntansi Manajeman, Pemeriksaan
adalah sistem online untuk menguji Akuntansi (Auditing), dan Akuntansi
program dalam lomba pemrograman. Perpajakan. Mulai tahun ini pula STIE
Online judge juga digunakan untuk IBII menyelenggarakan pendidikan
berlatih menghadapi perlombaan. jenjang S2 (program magister) dengan
Sistem ini dapat mengkompilasi membuka Program Studi Magister
dan mengeksekusi kode program, dan Manajemen konsentrasi Manajemen
mengujinya dengan data yang telah Keuangan dan Manajemen Pemasaran.
dibuat. Kode yang terkirim dapat Mulai tahun 2004 STIE IBII
dijalankan dengan pembatasan, termasuk melengkapi pelayanannya dengan
pembatasan waktu, pembatasan memori, membuka pendidikan S3 (program
pembatasan keamanan, dan sebagainya. doktor) ilmu manajemen dengan
Keluaran kode akan ditangkap oleh konsentrasi: Manajemen Keuangan,
sistem dan dibandingkan dengan keluaran Manajemen Pemasaran, Manajemen
standar. Sistem kemudian akan Strategik, dan Akuntansi Manajemen.
memberikan hasil penilaian. Jika Sejalan dengan tuntutan
kesalahan ditemukan pada standar perkembangan zaman, pada tahun 2005
keluaran, maka penilaian kembali STIE IBII berubah menjadi Institut Bisnis
menggunakan metode yang sama harus dan Informatika Indonesia (IBII) dengan
dilakukan. menambah empat program studi baru
jenjang S1 yaitu: Sistem Informasi (SI),
2.2. Tinjauan Organisasi/Objek Teknik Informatika (TI), Ilmu
Penelitian Komunikasi (IlKom), dan Ilmu
IBII pada awalnya adalah singkatan Administrasi Bisnis (IAB). Selain itu,
nama yayasan, yaitu Institut Bisnis Program Studi Manajemen IBII juga
Indonesia, yang mengelola lembaga membuka konsentrasi baru yaitu
pendidikan di bidang bisnis. Lembaga Manajemen Kewirausahaan. Selain
yang didirikan pada tahun 1987 ini menambah empat program studi baru dan
menyelenggarakan program pendidikan menambah satu konsentrasi di bidang
setara S1 dengan gelar BBA (Bachelor of Manajemen untuk program studi jenjang
Business Administration). Para pendiri S1, pada tahun itu juga IBII membuka
yayasan yang juga penyelenggara penyelenggaraan pendidikan jenjang S2
pendidikan ini, Kwik Kian Gie dan untuk Program Studi Magister Akuntansi
praktisi-praktisi bisnis yang berprestasi dengan konsentrasi Jasa Keuangan
dalam bidangnya, yaitu, yaitu Kaharudin Internal dan Jasa Keuangan Eksternal.
Ongko dan Djoenaedi Joesoef, tidak Untuk menunjang kegiatan belajar
hanya mencerminkan tapi juga mahasiswa jurusan informatika, IBII
menyakinkan masyarakat bahwa seluk menyediakan fasilitas IBII Online Judge.
beluk bisnis adalah fokus utama Dilatarbelakangi oleh karena dosen

63
Jurnal Informatika dan Bisnis

pengajar mempunyai keterbatasan waktu memeriksa kebenaran program komputer


untuk memeriksa kebenaran program yang ditulis mahasiswa. Dengan demikian
komputer karya mahasiswa, padahal dapat memberi kesempatan kepada
penguasaan mahasiswa terhadap mata mahasiswa untuk melatih diri menjadi
kuliah algoritma, struktur data, dan seorang pemrogram yang andal.
pemrograman sangat ditentukan oleh Pada Online judge tersedia:
frekuensi mahasiswa tersebut menulis a) kumpulan soal.
program, IBII Online Judge dibuat untuk b) data test untuk masing-masing soal.
menggantikan peran dosen di dalam c) jawaban untuk masing-masing soal.

Gambar 3.1
Proses Kerja IBII Online Judge

Sumber: http://ti.ibii.ac.id/fasilitas/online-judge

Mahasiswa yang mempunyai hak maka akan terbentuk executable code


akses menggunakan situs online judge (kode bahasa mesin). Kode bahasa mesin
dengan: dijalankan (run) dengan mengggunakan
a) membaca soal. data masukan yang telah disiapkan.
b) membuat jawaban (source code Jawaban program mahasiswa
program). dibandingkan dengan jawaban yang
c) mengirim source code program benar. Hasil perbandingkan ini dilaporkan
kepada online judge. kepada mahasiswa. Dengan cara ini
d) menerima hasil evaluasi on-line judge mahasiswa dapat melakukan perbaikan
dalam hitungan detik. program jika masih salah dan mengirim
Oleh online judge source code ulang source code kepada online judge
program mahasiswa tersebut di-compile. untuk dievaluasi.
Apabila tidak terjadi kesalahan sintaks

64
Jurnal Informatika dan Bisnis

4. HASIL DAN PEMBAHASAN 4.1. Rancangan Sistem

Berikut ini adalah rancangan Aplikasi berbasis Java dengan menggunakan bantuan
Pengujian White-Box IBII Online Judge diagram Unified Modelling Language (UML).
A. Use Case Diagram
B.Activity Diagram
Aplikasi Pengujian White-Box IBII Online
Judge

Gambar 4.2. Activity Diagram Aplikasi


Pengujian White-Box IBII Online Judge

Gambar 4.1 Use Case Diagram

Activity diagram di atas menggambarkan pemakaian, spesifikasi program aplikasi, dan


proses untuk melakukan pengujian. Pertama evaluasi. Aplikasi Komputer yang Dihasilkan
pengguna harus memasukkan lokasi berkas Berikut adalah tampilan layar dari
kode program. Kemudian pengguna Aplikasi Pengujian White-Box IBII Online
menentukan aturan pengujian pada salah satu Judge beserta penjelasan singkat mengenai
kategori. Aturan pengujian dapat ditambahkan beberapa fiturnya:
dari kategori yang berbeda. Setelah penentuan
aturan selesai terdapat pilihan untuk Gambar 4.3. Tampilan Layar Menu Awal
menyimpan aturan yang telah dibuat. Setelah
itu dapat dimulai proses eksekusi untuk
memulai pengujian kode program. Jika tidak
ada data yang ingin diuji, pengguna dapat
keluar melalui menu yang di sediakan.

4.3. Implementasi Sistem


Berikut ini adalah penjelasan mengenai
Aplikasi Pengujian White-Box IBII Online
Judge yang mencakup aplikasi program yang
dihasilkan, panduan instalasi, panduan
Pada tampilan utama aplikasi merangkum tab untuk mengatur aturan-aturan pengujian,
semua fungsi untuk pengujian white-box. dan hasil pengujian akan ditampilkan di label
Terdapat textbox untuk memasukkan lokasi result di pojok kanan bawah.
berkas kode program yang akan diuji, menu

65
Jurnal Informatika dan Bisnis

Gambar 4.4 Tampilan Layar Menu File

Gambar 4.5 Tampilan Layar Menu About


Pada menu file, terdapat load rules berfungsi dan berkas keluaran hasil pengujian. Hasil
untuk membaca berkas aturan, save rules pengujian akan ditulis ke berkas keluaran hasil
berfungsi untuk menyimpan berkas aturan, pengujian yang telah ditentukan.
reset form berfungsi untuk mengulang
pengisian form, dan exit berfungsi untuk Gambar 4.6 Tampilan Layar Menu Tab
keluar dari aplikasi. Pada menu about, terdapat Algorithm
informasi pembuat aplikasi.

Tombol run batch digunakan untuk


menampilkan kotak dialog yang membaca
lokasi folder berkas kode program, baturan,
Pada tab algorithm berfungsi untuk melakukan Algoritma pencarian yang dapat diuji antara
pengujian algoritma pengurutan dan pencarian lain sequential search, binary search,dan
yang digunakan. Algoritma pengurutan yang interpolation search.
dapat diuji antara lain bubble sort, selection
sort, insertion sort, quicksort, mergesort.
Pada tab data structure berfungsi untuk list dan representasi larik, queue representasi
melakukan pengujian struktur data. Pengujian list dan representasi larik, dan tree (binary
yang dapat dilakukan antara lain linked list tree, red black tree, AVL tree).
(singly, doubly, circular), stack representasi

Gambar 4.7. Tampilan Layar Batch


Process Command Line

66
Jurnal Informatika dan Bisnis

menerima tiga parameter yaitu lokasi berkas


Berikut adalah contoh tampilan pengujian pengujian, lokasi berkas aturan, dan lokasi
banyak berkas melalui command line. Aplikasi berkas keluaran hasil pengujian.

5.SIMPULAN binary search tree, AVL tree, dan red


Berdasarkan penelitian dan pengembangan black tree.
Aplikasi Pengujian White-Box IBII Online
Judge, maka dapat ditarik simpulan bahwa
aplikasi pengujian white-box IBII Online 6.REKOMENDASI
Judge dapat melakukan pengujian pada Penulis memberikan saran untuk
jawaban kode program pengguna terhadap pengembangan pada kemudian hari
persyaratan soal dalam penggunaan algoritma berdasarkan hasil penelitan yang telah
dan strukur data. Pengujian yang dapat dilakukan:
dilakukan antara lain: 1. Aplikasi pengujian dapat ditambahkan
1. Aplikasi pengujian white-box dapat fasilitas analisis static checking,
menguji pembatasan jumlah if, switch, pengujian plagiasi, bobot penilaian
ternary conditional. (scoring) untuk jawaban yang mendekati
2. Aplikasi pengujian white-box dapat benar, dan laporan kesalahan.
menguji pembatasan jumlah for, do- 2. Aplikasi pengujian dapat ditambahkan
while, while. aturan pengujian algoritma dan struktur
3. Aplikasi pengujian white-box dapat data di luar materi bahasan.
menguji pembatasan penggunaan tipe 3. Aplikasi pengujian dapat ditambahkan
variabel, struct, larik. pemeriksaan rekursi, infinite loop,
4. Aplikasi pengujian white-box dapat typedef, preprocessor, dan operator
menguji pembatasan penggunaan function bitwise.
return type, parameter by value, 4. Pengembangan modul pengujian white-
parameter by reference. box karena masih menggunakan
5. Aplikasi pengujian white-box dapat pencarian pola secara brute-force dan
menguji pembatasan penggunaan pointer, terdapat keterbatasan pola yang dapat
alokasi memori secara dinamik, function dikenali.
pointer. 5. Proses tokenizing dapat dioptimalkan
6. Aplikasi pengujian white-box dapat karena standar class StreamTokenizer
menguji penggunaan algoritma yang digunakan masih kurang akurat
pengurutan: bubble sort, selection sort, dalam melakukan tokenizing terhadap
insertion sort, quicksort, dan mergesort. kode program.
7. Aplikasi pengujian white-box dapat 6. Pengembangan untuk pengujian bahasa
menguji penggunaan algoritma pencarian: pemrograman lain selain bahasa C
sequential search, binary search, dan
interpolation search.
8. Aplikasi pengujian white-box dapat 7.DAFTAR PUSTAKA
menguji penggunaan linked list: singly-
linked list, doubly-linked list, circular list. [1] Deitel, P. J., Deitel, H. M. (2007), C
9. Aplikasi pengujian white-box dapat How To Program, Edisi ke-5, New
menguji penggunaan struktur data stack: Jersey: Pearson Education Inc.
representasi dengan larik, representasi [2] Galin, Daniel, (2004), Software
dengan list. Quality Assurance: From Theory to
10. Aplikasi pengujian white-box dapat Implementation, Pearson Education
menguji penggunaan struktur data queue: Inc.
representasi dengan larik, representasi [3] Kendall, Kenneth E., Julie E.
dengan list. Kendall (2010), Systems Analysis
11. Aplikasi pengujian white-box dapat and Design, Edisi ke-8, New Jersey:
menguji penggunaan struktur data tree: Pearson Education, Inc.

67
Jurnal Informatika dan Bisnis

[4] Knuth, Donald E. (1997), The Art of McGraw Hill.


Computer Programming vol 1/ [10] Sebesta, Robert W. (2003),
Fundamental Algorithms, Edisi ke-3, Concepts of Programming
Addison Wesley. Languages, Edisi ke-6, Boston:
[5] Knuth, Donald E. (1998), The Art of Addison Wesley.
Computer Programming vol 3/ [11] Sedgewick, Robert (1998),
Sorting and Searching, Edisi ke-2, Algorithm in C Parts 1-4.
Addison Wesley. Fundamentals, data structures,
[6] Levitin, Anany (2003), Introduction sorting, searching, Edisi ke-3,
to The Design & Analysis of Addison-Wesley.
Algorithm, Addison Wesley. [12] Weiss, Mark Allen (1997), Data
[7] McCabe, T., “A Software Strucure And Algorithm Analysis In
Complexity Measure,” IEEE Trans. C, Edisi ke-2, Addison Wesley
Software Engineering, vol. SE-2, Longman.
Desember 1976, halaman 308-320. [13] ______ (2011), Online Judge,
[8] Myers, Glenford J., Corey Sandler, sumber:
dan Tom Badgett (2011), The Art of http://en.wikipedia.org/wiki/Online_j
Software Testing, Edisi ke-3, John udge (diakses 15 Mei 2011).
Wiley & Sons. ______ (2009), Online Judge, sumber:
[9] Pressman, Roger S. (2010), Software http://si.ibii.ac.id/fasilitas/76-online-
Engineering: A Practitioner’s judge/105-online-judge (diakses 28
Approach, Edisi ke-7, Boston: September 2011).

68

Вам также может понравиться