Anda di halaman 1dari 5

MODUL AUTOGRADER UNTUK BAHASA PEMROGRAMAN PHP

Tanti Siti Nurjanah


Teknik Informatika UIN Sunan Gunung Djati Bandung
tanti.sn@uinsgd.ac.id

Abstrak— Autograder merupakan sebuah dengan CodeMirror dapat diaplikasi dalam dunia
sistem penilian source code secara otomatis, pendidikan yaitu D&G [4]. Dari penelitian
dengan adanya autograder sistem penilaian international yang membahas mengenai
menjadi lebih efektif dan efisien [1]. Berbagai autograder belum ada yang mengembangkan
bahasa pemrograman seperti C, Java, Perl, autograder untuk bahasa pemrograman PHP [3] [4]
Sheme, Pyhon telah dibahas dalam beberapa [5] [6] [7] [8] [9] [10]. Sedangkan penelitian pada
penelitian autograder sebelumnya, akan tetapi tingkat nasional yang berjudul Pengembangan
penelitian mengenai autograder Php masih Sistem Manajemen Pembelajaran Pemrograman
jarang ditemukan [1] [2] [3] [4] [5] [6] [7] [8]. Bahasa Scheme, Java, PHP, dan Perl membahas
Oleh karena itu tujuan dari penelitian ini yaitu mengenai sistem autograder untuk PHP, akan tetapi
membahasa mengenai autograder Php dengan sistem penilaian pada penelitian tersebut dianggap
menggunakan metode penilaian sistem testcase masih memilki beberapa kekurangan diantaranya
yang dikolaborasikan dengan pengecekan sistem penilian tidak memiliki sistem koreksi, dan
penggunaan token sesuai dengan kategori soal, tidak mengkategorikan penilaian terhadap modul
sehingga menghasilkan output match dan didn’t pemograman yang dibahas seperti penggunaan
match yang menghasilkan nilai 100 atau 0. operator aritmatika, pengulangan, pemilihan dan
Selain itu sistem ini dapat memberikan koreksi lain-lain [11]. Oleh sebab itu maka dibuatlah
terhadap kesalah dalam penulisan source code sebuah penelitian yang berjudul “Modul
Php. Autograder untuk Bahasa Pemograman PHP”
dengan menggunakan sistem penilaian test case
Kata kunci : Penilaian , Source code Php, yang dilengkapi dengan sistem real time feedback
Autograder atau sistem koreksi terhadap kesalahan pengetikan
grammer PHP yang dilakukan oleh user, yang
dapat memberikan informasi mengenai letak
I. INTRODUCTION kesalahan yang dilalukan oleh user dalam
penulisan kode program. Selain itu sistem penilaian
Penilaian merupakan sebuah kegiatan evaluasi dalam autograder ini dilengkapi dengan
untuk mengukur tingkat kemampuan seseorang. mengkolaborasikan nilai kategori yang sesuai
Penliaian terhadap source code merupakan hal dengan modul pemograman yang dibahas.
yang sangat penting dalam mengukur kemampuan
programing khususnya dalam penguasaan bahasa II. RELATED WORK
pemograman diantaranya bahasa pemograman
PHP. Penialian terhadap source code PHP di Pada penelitian autograder sebelumnya yang
dilakukan oleh Hiroki Kitaya dan Ushio Inoue
jurusan Teknik Informatika UIN Sunan Gunung
membahas mengeai sistem penilaian otomatis /
Djati Bandung dilakukan secara manual sehingga autogader untuk bahasa pemrograman Java [1].
membutuhkan waktu lebih, dan kurang akurat Diamana dalam penelitian ini metode yang
dalam pengerjaannya. Sistem penilaian yang efektif digunakan yaitu mengkolaborasikan dari beberapa
dan efisien dalam pengecekan kode program yaitu proses diantaranya Compiler check, JUnit Test dan
menggunakan autograder hal ini dibuktikan dari Result Test. Compiler check berfungsi sebagai
penelitian sebelumnya yang menyebutkan bahwa pendeteksian error pada source code tersebut
kemudian dilanjutkan dengan pengujian
autograder telah terbukti menjadi hakim yang
menggunakan JUnit lalu masuk ke proses compare
efektif dan efisien dalam kontes pemrograman pada hasil atau result test.
tingkat Internasional [3]. Autograder adalah suatu
aplikasi atau modul program untuk melakukan Sedangkan penelitian yang dilakukan oleh
penilaian atau assessment secara otomatis. Salah Susilo dan Inggriani liem merupakan penelitian
satu contoh sistem autograder source code yang membahas mengenai pengklasifikasian bugs
pada sebuah source code dan melalukan
untuk Java, C++ dan Python yang diintegrasikan pengecekan secara otomatis mengenai kualitas

1
sebuah source code [2]. Source code yang code menjadi lebih akurat. Metode yang diusulkan
dianalisis dalam penelitain ini terdiri dari lima jenis dalam penelitian ini dapat digambarkan pada
source code dengan output yang tuangkan kedalam figure 1 dibawah ini.
XML. Dalam Penelitain yang dilakukan oleh Karol
dan Inggriani berisi tentang pengintegrasian antara Input problem and test case

sistem autograder dengan LMS (Learning Problem and


token category 1
Problem and token
category 2

Management System) dimana dalam penelititan ini Test case 1 Test case 2 Entry problem and test case Database
Mograph

Save Result

membahas mengenai autograder untuk bahasa Get Problem Get Token Category

pemrograman C, C++ dan Pascal [3]. Sistem ini Start exercise


Get Test case

Php Compiler

memanfaatkan Moodle sebagai LMS dan LX Doing task


Checker

sebagai autogradernya. Penelitian selanjutnya yang Input Source Code (Live code)
Submit source code
It’s correct ? Yes
Excecute and
compare output
source code with test
Checking category of
token and compare it
Grader Result

dilakukan oleh Daniel Fonte menjelaskan mengenai Source code

No
case

penilaian terhadap source code secara otomatis Show error code


It’s match? Yes

dengan menggunakan teknik semantic analysis[4]. No

Pengembangan Sistem Manajemen Pembelajaran


Pemrograman Bahasa Scheme, Java, PHP, dan Figure 1. Proposed Solution for autograder Php
Perl merupakan sebuah penelitian yang
menjelaskan tentang pembangunan sistem Solusi yang diusulkan untuk melakukan
autograder untuk bahasa pemograman scheme, penilaian terhadap source code php dalam
java, PHP dan perl yang dikolaborasikan dengan penelitian ini terdiri dari beberapa langkah,
LMS [5]. diantaranya :

Selanjutnnya penelitain mengenai sistem 1. Input Problem and Test case


autograder untuk bahasa C yang dilakukan oleh Setiap detail soal yang dimiliki oleh dosen
Kanmani dan Radhakrisnan, menjelaskan mengenai diinputkan kedalam sistem berserta kategori
sisitem penilaian source code C dengan dan test casenya kemudian disimpan dalam
memperhatikan aspek pengefisienan dalam sebuah database pada sistem.
penggunaan memori[6]. Selanjutnya yaitu
penelitian yang membahas mengenai sistem 2. Start Excercise
autograder untuk bahasa pemrograman Java User mulai mengerjakan soal yang tampilkan
(Infandango) yang berjudul Infandango: Automated sistem dimulai dengan membaca detail dari
Grading for Student Programming, dimana soal tersebut.
penelitian ini menggunakan Jester sebagai
compiler dan JUnit sebagai unit testingnya[7]. 3. Input Source code
User mendapatkan detail soal dari sistem
III. PROBLEM STATMENT kemudian user mengerjakan soal dengan cara
submit source code kedalam sistem secara live
Tujuan utama dalam penelitian ini adalah code.
membuat sebuah sistem penlilain source code PHP
secara otomatis atau membuat sistem autograder 4. Php Compiler Checker
untuk bahasa pemrograman PHP yang dapat Pada tahapan ini berfungsi untuk melakukan
memberikan feedback koreksi terhadap kesalahan pengecekan kesalahan terhadap penulisan
yang user lakukan ketika mengejakan sebuah kode source code Php dengan menggunakan
program PHP. Penelitian ini akan memanfaatkan Complier. Compiler merupakan aplikasi Php
sistem testcase dalam melakukan pengujian compiler checker yang dibangun dengan
terhadap kode program PHP yang dikolaborasikan menggunakan Eclipse dalam bahasa
dengan sistem tokenizer. pemrograman Java. Php compiler checker
dalam penelitian ini bernama compiler yang
IV. PROPOSED SOLUTION diintegrasikan dengan aplikasi grader web
base sehingga menghasilkan sebuah sistem
Dalam membangun sistem autograder untuk
penilaian otomatis terhadap source code Php
bahasa pemrograman Php membutuhkan sebuah
yaitu Mograph berbasis web.
metode penilaian yang akurat. Metode penilaian
yang kami usulkan dalam penelitian ini yaitu
5. Show Error Message
menggunakan sistem test case. Sistem test case
Pada tahapan ini sistem akan memberikan
merupakan sebuah sistem peniliain yang berfungsi
informasi kepada user jika melakukan
untuk memverifikasi fungsi dari sebuah source
kesalahan dalam penulisan source code Php.
code. Sistem test case merupakan sebuah sistem
pengujian pada sebuah source code yang memiliki
6. Excecution Source Code and Compare Output
nilai inputan dan expected result. Dengan adanya
Source code with Test case
hal tersebut maka sistem penilian terhadal source

2
Tahapan selanjutnya yaitu tahap
pengeksekusian source code dimana tahapan
ini dilakukan oleh aplikasi compiler untuk
mengecek hasil output source code yang
kemudian dibandingkan sesuai testcase yang
telah diberikan.

7. Checking Category of Token


Tahapan ini berfungsi untuk mengecek
penggunakan token pada source code PHP
yang digunakan sesuai dengan instruksi yang Figure 3. Halaman Dashboard Admin
telah dijelaskan dalam soal. Tahapan ini
dilakukan oleh aplikasi grader.

8. Grader Result
Tahapan ini berfungsi untuk
mengakumulasikan nilai akhir yang diperoleh
user, kemudian sistem menyimpan nilai
tersebut didalam database mograph. Tahapan
ini dilakukan oleh aplikasi grader.

V. VALIDATION OF WORK

Dari solusi yang diusulkan dalam membangun


sistem autograder php, kami telah melakukan
Figure 4. Halaman Input Soal Admin
validasi terkait solusi yang disulkan kedalam
sisitem mograph. Berikut pada figure 5 merupakan Pada halaman tersebut admin dapat menambah soal
arsitektur dari sistem Mograph
sesuai kelas, sesi dan kategori pembahasan yang
diinginkan. Sedangkan halaman untuk user
Mograph
Soal
Soal 1
mengerjakan soal tertera pada figure 5 dan figure 6
2. Informasi Soal
dibawah ini.
Admin
9. Result Excecution
Compiler Grader UI
6. Request Excecution 12. Output Result
(Java Aplication) (Web Aplication)
3. Soal
10. Check
Token
7. Request Testcase Soal
5. Source code Source Code
4
PHP File
11. Result Token
8. Testcase Soal
Mograph Database
User

Figure 2. Arsitektur Mograph

Sistem mograph merupakan sebuah sistem berbasis


web yang dibangun menggunakan Php native
kemudian diintegrasikan dengan compiler yang
dibangun menggunakan eclipse dengan bahasa
pemograman Java. Sistem ini memiliki sebuah
Figure 5. Halaman List Soal
database yang diimplementasikan kedalam
MySQL. Sistem morgraph menggunakan sistem Halaman list soal merupakan halaman yang
live code dalam melakukan submit source code
disediakan oleh sistem mograph untuk memilih
PHP yang akan dinilai, sehingga user dapat
mengerjakan soal secara langsung pada editor yang soal yang akan dikerjakan. Pada halaman ini user
terlah disediakan oleh sisitem mograph. Berikut dapat melakukan pemilihan soal sesuai sesi yang
pada figure 3 merupakan implementasi dashboard tersedia, kemudian soal yang ditampilkan sesuai
untuk halaman admin sedangkan figure 4 dengan identitas kelas setiap user.
merupakan implementasi dari halaman admin yang
berfungsi untuk input soal dalam sistem mograph
yang dapat dilakukan oleh admin sistem mograph.

3
4 Penjumlahan4.php - √ - -
5 Penjumlahan5.php √ - - -
6 Penjumlahan6.php - - √ -
7 Penjumlahan7.php - - - √
8 Penjumlahan8.php - - - √
9 Penjumlahan9.php - - - √
10 Penjumlahan10.php √ - - -

Sesuai data dari tabel hasil percobaan yang


dilakukan dalam pengujian terhadap sistem
mograph dengan menggunakan 10 file source code
PHP yang berbeda beda yaitu 3 file yang
mendapatkan nilai 100 dengan hasil match dan 7
file mendapatkan nilai 0 dengan 3 file source code
dengan output source code tidak sesuai (Didn’t
match), 1 file source code dengan output tidak
sesai kategori (Sorry) dan 3 file source code
Figure 6. Halaman Pengerjaan Soal
terdapat kesalahan dalam penulisan (Error).
Halaman pengerjaan soal pada sistem mograph
VII. CONCLUSION AND FUTURE
disediakan dengan sistem live code dimana user WORK
dapat mengerjakan langsung pada editor yang telah
tersedia dalam halaman ini. Penelitian ini membahas mengenai usulan
untuk sistem autograder dalam bahasa
VI. EXPERIMENT pemrograman Php berbasis web. Usulan ini telah
berjalan dengan baik yang diimplementasikan
Percobaan pengujian pada sistem mograph kedalam sistem mograph. Sistem mograph
dilakukan dengan metode blackbox yaitu merupakan sebuah sistem penilian terhadap source
melakukan pengujian terhadap fungsionalitas code PHP dengan menggunakan skema penilaian
sistem. Tujuan utama dari pengujian ini adalah menggunakan testcase yang dilengkapi dengan fitur
untuk mengetahui apakah sistem mograph dapat real timefeedback untuk memberikan koreksi
melakukan penilaian terhadap source code PHP terhadap kesalahan terhadap penulisan source code
sesuai dengan kategori soal. Percobaan pengujian yang diinputkan oleh pengguna. Sistem ini
ini akan mencakup kedalam 4 kategori yaitu : menggunakan 3 tahapan dalam melakukan proses
penilaiannya itu proses PHP Compiler Checker ,
a) Percobaan pengujian dengan Excecution source code dan Checking tokenizer.
menggunakan source code sesuai dengan Sistem dalam penelitian ini menghasilkan nilai 100
kategori soal (Match) dan 0 dengan 4 kategori status output yaitu match,
b) Percobaan pengujian dengan menggukan didn’t match, sorry dan error correction.
source code yang tidak sesuai dengan
output yang diharapkan (Didn’t match) Penelitian ini masih membutuhkan beberapa
c) Percobaan pengujian dengan pengembangan diantaranya :
menggunakan source code yang tidak
sesuai dengan kategori (Sorry)  Membutuhkan batasan waktu dalam
d) Percobaan pengujian dengan pengerjaan soal
menggunakan source code yang error  Membutuhkan integrasi dengan modul
(Error) autograder HTML sehingga dapat menjadi
kesatuan dalam membangun web
Percobaan ini dilakukan dengan menyiapkan 10 development autograder.
source code PHP yang berbeda – beda. Berikut
pada tabel 1 merupakan hasil dari percobaan ACKNOWLEDGMENT
sisitem mograph
Terimakasih kepada Jurusan Teknik
Tabel 1. Hasil Percobaan Sisitem Mograph Informatika UIN Sunan Gunung Djati Bandung
yang telah memberikan izin dalam melakukan
Result penelitian di kelas praktikum pemograman internet
No Source Code
a b c d yang membahas mengenai sistem penilaian
1 Penjumlahan1.php √ - - - terhadap source code PHP.
2 Penjumlahan2.php - √ - -
3 Penjumlahan3.php - √ - -

4
REFERENCES 2012.
[10] Anhar, Panduan Menguasai PHP & MySQL
[1] Karol Danutama and Inggriani Liem, "Scalable Seccara Otodidak. Jakarta, Indonesia: Mediakita,
Autograder and LMS Integration," Procedia 2010.
Technology, vol. 11, pp. 388-395, 2013. [11] Joni Suhartono. (2017, April) BINUS University
[2] Chandra Timotious and Liem Inggriani, "Source School of Information System. [Online].
Code Editing Evaluator For Learning http://sis.binus.ac.id/2016/12/16/test-case/
Programming," Elsevier, pp. 269-275, 2013. [12] Wahana Komputer, Mari Mengenal Linux.
[3] Yulianto S, "Automatic Grader for Programming Yogyakarta, Indonesia: ANDI, 2005.
Assignment Using Source code Analyzer," 2014. [13] Burnette Ed, Eclipse IDE Pocket Guide: Using the
[4] DS Morris, "Automatic grading of student's Full-Featured IDE, 1st ed., Brett Mc Laughlin, Ed.
programming assignments: an interactive process Sebastopol, California,USA: O'Reailly Media, 2005.
and suite of programs," Proceedings, vol. 3, 2003. [14] D Dvorski Dalibor, "INSTALLING,
[5] Kanmani S and Radhakrishnan P, "Simple CONFIGURING, AND DEVELOPING WITH
Methodology To Grade C Program Automatically. XAMPP," 2007.
," International Journal of Advances in Embedeed [15] Jason Gilmore W, Begining PHP and MySql From
System Research, vol. 1, pp. 73-90, Jauary 2011. Novice to Prefessional, 4th ed., Anne Collett and
[6] Mike Hull, Da Powell, and Ewan Klein, Jennifer L. Blackwell, Eds. New York, USA:
"Automated Grading for Student Programming," Apress, 2010.
Infandango, 2011. [16] Rajini Renu, Software Testing Effective Methods,
[7] Daniela Fonte, Daniela Cruz, Alda Gançarski, and Tools and Techniques. New Delhi, India: Tata Mc
Henriques, "A Flexible Dynamic System for Graw Hill , 2003.
Automatic Grading of Programming Exercises," [17] Denis Alan, Wixom Barbara, and Roth Roberta,
Digital Object, 2013. System Analys and Design, 5th ed., Beth Lang
[8] Susilo Veri Yulianto and Inggriani Liem, Golub, Ed. Hoboken, United State of America: Don
"Automatic Grader for Programming Assignment Fowley, 2012.
Using Source code Analyzer," IEEE, 2014.
[9] Alfa Pradana Nugraha, "Pengembangan Sistem
Manajemen Pembelajaran Pemrograman Bahasa
Scheme, Java, Php, dan Perl," IPB, Bogor, Skripsi

Anda mungkin juga menyukai