digilib@itb.ac.id +62 812 2508 8800

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.