Dalam kegiatan pembelajaran pemrograman, penilaian otomatis digunakan untuk
mempercepat pendidik dalam menilai tugas pemrograman peserta didik. Pada
umumnya, sistem penilaian otomatis menggunakan pendekatan black box testing,
di mana sekumpulan kasus uji digunakan sebagai masukan dan keluaran program
peserta didik dibandingkan dengan keluaran program pendidik. Kelemahan dari
pendekatan black box testing adalah sulitnya membuat kasus uji yang mencakup
seluruh kasus yang mungkin.
Tugas akhir ini melakukan eksplorasi pendekatan lain dalam penilaian program,
yaitu pendekatan white box testing, di mana struktur program peserta didik akan
dibandingkan dengan struktur program pendidik. Tugas akhir ini mengembangkan
penelitian sebelumnya yang dapat membangkitkan kasus uji secara white box, tetapi
masih melakukan penilaian secara black box. Tugas akhir ini memanfaatkan
concolic execution, yaitu gabungan concrete execution dan symbolic execution
untuk mendapatkan semua path constraint yang dilalui program. Kemudian path
constraint program pendidik dan program peserta didik dibandingkan untuk
mendapatkan nilai peserta didik.
Implementasi dilakukan untuk membuat sebuah web service yang dapat menerima
request yang berisi program peserta didik dan program pendidik, lalu melakukan
penilaian otomatis terhadap program peserta didik dan mengembalikan response
yang berisi nilai dan umpan balik bagi peserta didik.
Setelah melakukan implementasi dan pengujian, didapatkan bahwa sistem penilaian
otomatis hasil tugas akhir dapat menghasilkan nilai yang sesuai dengan jumlah
kesalahan yang terdapat pada program peserta didik. Sistem juga dapat memberikan
umpan balik berupa kasus uji yang menyebabkan kesalahan dan daftar nomor baris
program yang mengandung kesalahan.