Latihan pemrograman merupakan salah satu bagian proses pembelajaran
pemrograman. Untuk melakukan evaluasi terhadap latihan pemrograman, para
pendidik umumnya menggunakan sistem penilaian otomatis yang dilakukan dengan
teknik black box testing. Evaluasi dengan teknik tersebut dapat menguji perilaku
dari sebuah program dan dapat diimplementasi dengan mudah. Namun, terdapat
kelemahan berupa sedikitnya ruang kesalahan yang diberikan.
Teknik white box testing merupakan alternatif yang dapat digunakan sebagai sistem
penilaian otomatis yang lebih toleran atas kesalahan. Salah satu aspek yang dapat
digunakan dalam penilaian adalah struktur alur logika dari program yang dapat
direpresentasikan sebagai control flow graph. Metode penilaian otomatis seperti ini
sudah pernah diajukan sebelumnya, namun masih terdapat kekurangan seperti
akurasinya yang masih bisa ditingkatkan, ataupun sistem penilaian masih belum
siap digunakan sistem capstone tugas akhir.
Dalam tugas akhir ini, dilakukan pembangunan metode untuk mengatasi variasi
struktur program serta metode penilaian berbasis struktur control flow graph
dengan menghitung graph edit distance menggunakan pendekatan eksak maupun
pendekatan aproksimasi dengan juga mencoba memanfaatkan informasi semantik
dari ekspresi program. Hasil implementasi merupakan sistem penilaian otomatis
dan web service yang bisa digunakan sistem capstone secara langsung. Hasil
pengujian menunjukan bahwa hasil metode penilaian otomatis memiliki
peningkatan akurasi dibanding metode (Sendjaja dkk., 2021) dalam mendekati nilai
manual dengan melihat korelasi, mean absolute error, simpangan baku absolute
error, rata-rata perbedaan nilai, dan simpangan baku perbedaan nilai dibandingkan
dengan hasil penilaian manual.