Hasil analisis e-learning ditunjukkan pada
portal, fitur LMSP, evaluasi LCMS, learning objects, storyboard, dan evaluasi kuesioner.
Portal
Pada hasil analisis tahap awal, untuk mengakses lingkungan e-learning sistem ini telah dikembangkan suatu portal berupa halaman login yang tercantum pada Gambar 3.
Learner yang telah terdaftar dalam suatu perkuliahan pemrograman akan diberikan
username/email dan password untuk mengikuti proses pembelajaran yang telah tersedia.
Gambar 3 Portal LMSP. Fitur LMSP
Sebelum dilakukan analisis pada komponen LMS, fitur yang dimiliki empat sistem, yaitu TOKI LC, WebBot, Javabrat, dan Ideone dibandingkan dengan fitur yang disebutkan oleh Peer3 (2001) dan Naidu (2006). Perbandingan keempat fitur LMS pada sistem tersebut dan LMSP yang telah dikembangkan tercantum pada Tabel 1. Hasil analisis komponen LMSP
menunjukkan bahwa fitur pelaporan dalam bentuk statistik telah dikembangkan, dan LMS-to-Content API, serta LMS sebagai alat pembelajaran kolaboratif belum dikembangkan. Evaluasi LCMS
Analisis LCMS dilakukan dengan mengevaluasi komponen dasar dan beberapa kriteria evaluasi LCMS menurut Peer3 (2001), untuk menunjukkan sejauh mana konsep LCMS dapat digunakan untuk mengadopsi konsep e-learning pada LMSP.
Hasil evaluasi untuk tiga komponen dasar LCMS yang dimiliki LMSP tercantum pada Tabel 2. Hasil evaluasi untuk kriteria LCMS yang dipenuhi terlampir pada Lampiran 4.
Learning Objects
Evaluasi untuk konsep learning object pada LMSP diberikan pada setiap latihan dasar pembelajaran pemrograman. Latihan tersebut terdiri atas unit-unit terpisah yang memiliki peranan penting dalam proses pembelajaran pemrograman. Di dalam latihan ini terdapat modul atau sub-sub modul pemrograman yang harus diselesaikan learner sebelum menuju ke modul berikutnya. Pada modul atau sub modul inilah terdapat informasi penting yang di dalamnya berisi tentang deskripsi dari objektif pembelajaran dan soal pemrograman yang sudah tersedia sesuai materi dan tingkatannya. Semakin tinggi tingkatan modul, semakin sulit tingkatan pemrograman yang dikuasai learner. Tabel 1 Hasil perbandingan fitur LMS
Fitur LMS TOKI LC (2009) WebBot (2006) Javabrat (2010) Ideone (2010) LMSP (2012) 1 Peer3 (2001): 1 Registrasi 2 Manajemen user 3 Rencana Pembelajaran 4 Pelaporan 5 LMS-to-Content API 2 Naidu (2006):
1 Pengiriman materi perkuliahan 2 Manajemen transaksi kelas online
3 Penilaian hasil pembelajaran 4 Penelusuran dan pelaporan
perkembangan learner
5 Pelaporan prestasi dan kemajuan penyelesaian tugas
6 Alat pembelajaran kolaboratif (perangkat portabel dan mobile) 7 Mengumpulkan, mengatur, dan
melaporkan seluruh aktivitas pembelajaran learner √ √ √ √ - √ √ √ √ √ - - √ √ √ - - √ √ √ - - - - √ √ √ √ - √ √ √ √ √ - √ √ - - √ √ - - √ - - √ √ √ √ √ √ - √ √ √ √ √ - √
5
Tabel 2 Hasil evaluasi komponen dasar LCMS Komponen dasar Hasil Evaluasi Pusat penyimpanan
learning object
Database yang sudah terpasang pada komputer server yang tersedia di Gedung Rektorat IPB Alat pembuatan dan
penyusunan
learning object
Media pembelajaran dibuat dalam format HTML Database pada lingkungan pembelajaran berbasis web Database sudah dikembangkan pada lingkungan berbasis web dan disesuaikan dengan materi
Konstruksi learning objects pada LMSP diilustrasikan pada Lampiran 5.
Terdapat empat latihan yang telah dibuat, yaitu Latihan Dasar Pemrograman, Praktikum Algoritme dan Pemrograman, Latihan Ujian Praktikum Algoritme dan Pemrograman, dan Praktikum Bahasa Pemrograman. Sebagai contoh, pada latihan Praktikum Algoritme dan Pemrograman telah dibuat enam modul, lima submodul, dan 55 soal. Penerapan konsep
learning object untuk, modul tercantum pada Gambar 4, sub modul pada Gambar 5, dan deskripsi objektif pembelajaran tercantum pada Gambar 6.
Storyboard
Storyboard pada LMSP diterapkan pada setiap soal pembelajaran pemrograman. Materi pada soal pemrograman dibuat sesuai skenario. Skenario tersebut digambarkan ke dalam situasi yang sering terjadi kehidupan nyata berbentuk suatu cerita atau narasi yang memiliki konteks, plot, karakter, dan parameter yang saling berhubungan. Cerita ini berisi kasus atau masalah yang memiliki suatu solusi yang dapat diselesaikan oleh learner.
Konsep ini diterapkan pada salah satu contoh soal Menghitung Detik pada Gambar 7 dengan konteks cerita Pak Algor sebagai seorang karakter memiliki aktivitas sehari-hari. Untuk memudahkan aktivitas tersebut, pada akhir cerita, learner diminta memberikan solusi dengan membuat suatu program dengan format masukan, keluaran, dan bahasa pemrograman tertentu.
Gambar 4 Contoh modul LMSP.
Gambar 5 Contoh sub modul LMSP. Evaluasi Hasil Kuesioner
Dari hasil kuesioner, didapatkan sebanyak 98 variasi jawaban. Persentase hasil yang diperoleh dari beberapa pertanyaan yang diberikan, antara lain:
1 Persentase tertinggi untuk pertanyaan bahasa pemrograman yang pernah digunakan oleh mahasiswa adalah bahasa pemrograman C++ sebesar 81% dan yang paling jarang digunakan adalah bahasa pemrograman Perl sebesar 12%. Bahasa lainnya yaitu Visual Basic, Python, Matlab, Clips, Prolog, ASP .NET, dan ActionScript. Secara keseluruhan persentase penggunaan bahasa pemrograman tercantum pada Tabel 3. Hasil ini menunjukkan bahwa diperlukan pembelajaran lebih lanjut dalam pengenalan beberapa bahasa pemrograman yang kurang populer. Selain itu, diperlukan sistem penilai program terhadap bahasa yang banyak digunakan oleh mahasiswa.
Gambar 6 Deskripsi objektif pembelajaran.
Gambar 7 Contoh soal LMSP.
Tabel 3 Persentase penggunaan bahasa pemrograman
Bahasa Pemrograman Persentase
C 67% C++ 81% Java 24% Pascal 52% Perl 12% PHP 58% Lainnya 13%
2 Persentase pertanyaan sejauh mana mahasiswa memahami materi pemrograman yang pernah diikuti di perkuliahan dengan ukuran “Tidak Mengerti“ dan “Mengerti” pada rentang 1 hingga 5 tercantum pada Tabel 4. Pemahaman materi pemrograman rata-rata untuk jawaban keduanya diperoleh rata-rata 42%. Hasil ini menunjukkan bahwa proses pembelajaran konvensional tidak memberikan dukungan lebih dalam pembelajaran pemrograman sehingga diperlukan LMS pemrograman.
Tabel 4 Persentase pemahaman materi pemrograman Pemahaman Materi Pemrograman Persentase 1 Tidak Mengerti 5% 2 13% 3 42% 4 32% 5 Mengerti 8%
3 Persentase tertinggi terhadap perilaku mahasiswa untuk belajar menguasai dan mendalami suatu bahasa pemrograman adalah mengerjakan latihan materi dan soal yang diberikan pada perkuliahan secara mandiri sebesar 80%, selanjutnya membaca buku pemrograman 71%, belajar mandiri dengan mengikuti tutorial online 54%, dan lainnya seperti mencari solusi di forum diskusi, dan bertanya antar sesama mahasiswa sebesar 26%. Proses belajar mandiri dalam pemrograman secara tidak langsung kurang membantu untuk pembelajaran pemrograman. Secara keseluruhan persentase cara mahasiswa untuk menguasai bahasa pemrograman tercantum pada Tabel 5.
4 Persentase mahasiswa yang pernah mengikuti kegiatan pembelajaran
Sebagai perkenalan pertama dengan program C, ketikanlah kode-kode berikut ini dalam file bernama 'programku.c'. #include <stdio.h> int main() { writeln("Welcome World!\n"); return 0; }
Program ini akan mencetak keluaran ke standard output, yaitu layar monitor, sebaris teks Welcome World! Pada bagian awal, terdapat pernyataan #include <stdio.h> yang menandakan bahwa program ini akan memanggil header file bernama stdio.h yang berisi library untuk keperluan input dan output program C. Penjelasan detil tentang program C akan diberikan pada bab-bab berikutnya.
Setelah diketik, lakukan proses kompilasi untuk memeriksa sintaks program yang ditulis. Selanjutnya, jalankan program dengan mengetikkan perintah pada command prompt:
programku
Jika program mengeluarkan keluaran yang sama dengan yang diminta, maka program Anda sudah berjalan dengan benar.
Selesailah program pertama Anda! Selanjutnya cobalah berlatih dengan setiap soal pada sub bab yang berada di bagian ini.
Selamat berlatih.
Menghitung Detik
Pak Algor memiliki kebiasaan tepat waktu dalam menghadiri suatu acara. Sebagai contoh, jika ada acara di hari ini pukul 19:00:00 (jam 7 malam), maka sejak pagi hari Pak Algor sudah memasang stopwatch untuk menghitung mundur berapa detik jarak antara pukul 19:00:00 dengan saat sekarang. Misalnya sekarang adalah pukul 12:00:00, maka Pak Algor akan memasang stopwatch hitung mundur dimulai dari angka 25200 karena dari pukul 12:00:00 sampai dengan pukul 19:00:00 adalah selama 25200 detik.
Untuk memudahkan, bantulah Pak Algor dengan membuat program untuk menentukan berapa nilai awal dari stopwatch untuk melakukan hitung mundur dari saat sekarang sampai waktu acara yang akan dihadiri Pak Algor.
Format Masukan
Data masukan terdiri atas dua baris dimana baris pertama menunjukkan jam sekarang, dan baris kedua adalah jam dimana acara yang akan dihadiri oleh Pak Algor. Setiap baris berisi tiga bilangan bulat, masing-masing menunjukkan nilai jam, menit, dan detik yang dipisahkan oleh satu spasi.
Format Keluaran
Output program adalah sebuah bilangan bulat yang menunjukkan lamanya (dalam detik) dari jam sekarang hingga jam acara yang akan dihadiri oleh Pak Algor.
7
pemrograman secara online adalah 63% dan yang tidak pernah sebesar 37%.
Tabel 5 Persentase cara belajar pemrograman
Cara Belajar Persentase
Mengerjakan latihan materi dan soal yang diberikan
80%
Mengikuti tutorial online 54% Membaca buku
pemrograman
71%
Lainnya 26%
5 Kebutuhan apa saja yang diperlukan mahasiswa dalam belajar pemrograman. Pertanyaan tersebut telah disediakan lima jawaban, yaitu:
a penjelasan konsep pemrograman, b contoh kode program,
c materi pemrograman tingkat lanjut, d latihan membuat program, dan e feedback dari dosen.
Jawaban diisi responden dengan empat ukuran, yaitu “Tidak Perlu”, “Perlu”, “Cukup Perlu”, dan “Sangat Perlu”. Ukuran “Perlu” menjadi persentase tertinggi dari semua jawaban tersebut. Persentase dari kelima jawaban terlampir pada Lampiran 6. Dari hasil persentase jawaban secara keseluruhan, terlihat bahwa dalam proses pembelajaran pemrograman secara konvensional, sebagian besar mahasiswa kurang menguasai pemrograman dan lebih banyak belajar secara mandiri dengan mengerjakan soal dan latihan, membaca buku pemrograman maupun mengikuti tutorial secara online. Selain itu, penjelasan konsep, contoh-contoh, materi, dan latihan pemrograman serta feedback
merupakan kebutuhan yang sangat diperlukan untuk menguasai pemrograman. Oleh karena itu, LMS pemrograman dikembangkan sebagai solusi dengan sistem penilai bahasa yang banyak digunakan dan fitur yang dapat membantu mahasiswa dalam mengikuti proses pembelajaran pemrograman.
Deskripsi Umum Sistem
Sistem ini sudah ada sebelumnya dan hingga saat ini digunakan sebagai sistem pelatihan kompetisi pemrograman komputer. Sistem ini sendiri merupakan bagian dari TOKI LC versi IPB yang memiliki grader bahasa pemrograman Pascal, C, dan C++ dan pada penelitian ini dikembangkan kembali dengan menambah
grader untuk bahasa pemrograman Scheme, Java, PHP dan Perl. Tujuan pengembangan
sistem ini adalah untuk memperbaiki proses pembelajaran pemrograman. LMSP merupakan sistem berbasis web dan implementasi grader
menggunakan framework PHP Yii. Analisis Kebutuhan Sistem 1 Karakteristik pengguna
Pengguna sistem dibagi menjadi tiga tingkatan, yaitu administrator, supervisor, dan learner. Tabel 6 menjelaskan karakteristik pengguna sistem.
Tabel 6 Karakteristik pengguna Kategori
pengguna
Aksi
Administrator Mengelola seluruh data dalam sistem dan memiliki akses penuh dalam LMSP
Supervisor Mengelola pembelajaran
dan membuat soal serta berperan sebagai author
dalam LMSP
Learner Melihat soal,
mengumpulkan soal, mengikuti materi, melihat nilai, dan mengajukan klarifikasi
2 Batasan-batasan Sistem
Batasan-batasan sistem yang dikembangkan adalah sistem mengenal tiga bahasa pemrograman bawaan TOKI LC yaitu, Pascal, C, C++ dan empat bahasa tambahan yang telah dikembangkan yaitu Scheme, Java, PHP dan Perl.
3 Lingkup operasi
Sistem yang dikembangkan akan ditempatkan di server Rektorat IPB yang berada pada jaringan intranet, sedangkan
client berada di sisi peneliti. Lingkup operasi sistem sebagai berikut:
Server:
komputer PC dengan prosesor Intel Core 2 Duo yang tersambung ke jaringan LAN,
sistem operasi: Fedora 15,
web server: Apache HTTP Server,
Scipting language: PHP 5, dan
DBMS: MySQL.
Client:
prosesor Intel® Centrino Core™2 Duo P8600 2.4 GHz,
web server Apache 2.2.17,
DBMS MySQL 5.0.7,
memori 3 GB, dan
hard disk 100 GB. 4 Compiler
Grader LMSP yang dijalankan
menggunakan instalasi paket compiler
Scheme, Java, PHP dan Perl. Pada bahasa pemrograman Scheme digunakan Guile versi 2.0.5, Java digunakan Java Development Kit 6.24, PHP digunakan PHP versi 5.3.10, dan Perl digunakan Perl versi 5.10.2.
Grading Model
Model grader untuk bahasa pemrograman Scheme, Java, PHP dan Perl hampir sama dengan model grader pada bahasa sebelumnya. Model yang digunakan adalah model test case.
Test case adalah pertanyaan yang diberikan dalam suatu program (Kaner 2003).
Grader menilai secara otomatis saat ada program yang dikumpulkan. Nilai tersebut berupa angka dan status. Terdapat enam kriteria status nilaiyang dihasilkan, yaitu:
1 Compile Error (CE). Status yang terjadi saat program gagal dikompilasi oleh compiler
karena kesalahan syntax, operator, tanda baca, dan kata kunci dalam masing-masing bahasa pemrograman.
2 Run Time Error (RTE). Kesalahan dalam logika atau aritmatika yang teridentifikasi pada waktu proses eksekusi program. 3 Time Limit Exceeded (TLE). Program yang
dieksekusi melebihi batas waktu yang ditentukan.
4 Memory Limit Exceeded (MLE). Program yang dieksekusi melebihi batas memori yang ditentukan.
5 Wrong Answer (WA). Status ini terjadi jika satu atau lebih output eksekusi program tidak sesuai dengan satu atau lebih output
standar yang ditentukan.
6 Accepted (AC). Status ini berlaku jika seluruh output pada program hasil eksekusi sesuai dengan seluruh output standar yang ditentukan.
Untuk bahasa Java, program dikompilasi terlebih dahulu oleh compiler, sedangkan Scheme, PHP, dan Perl langsung menuju ke proses eksekusi. Penggunaan syntax, operator, tanda baca, dan kata kunci diperiksa. Jika hasil kompilasi gagal, program diberi status CE. Jika tidak, dilanjutkan proses berikutnya yaitu proses eksekusi oleh interpreter. Pada proses ini,
program dijalankan dan diuji dengan pertanyaan. Pertanyaan ini berupa serangkaian standar input yang sudah ditentukan untuk menghasilkan output dari program tersebut. Selama proses eksekusi batas waktu dan memori yang disediakan juga menjadi kriteria penilaian program. Jika pada waktu proses eksekusi program terdapat kesalahan logika atau aritmatika, status nilai adalah RTE. Selanjutnya, jika program melebihi batas waktu, status nilai TLE dan jika program melebihi batas memori, status nilai adalah MLE. Program yang telah berhasil dieksekusi dan memenuhi kriteria sebelumnya akan menghasilkan output. Kemudian, output ini dibandingkan dengan standar output yang telah ditentukan juga. Penilaian diberikan sesuai dengan banyaknya jumlah hasil output pada program yang cocok dengan hasil pada standar
output. Untuk hasil program dengan sedikit
output yang cocok, diberikan status nilai WA, sebaliknya jika seluruhnya cocok, status nilai adalah AC. Ilustrasi penerapan model test case
pada LMSP tercantum pada Gambar 8. Lingkungan Implementasi
Lingkungan pengembangan grader bahasa pemrograman Scheme, Java, PHP dan Perl menggunakan bahasa pemrogaman PHP. Spesifikasi perangkat lunak dan perangkat keras yang digunakan pada pengembangan sebagai berikut:
sistem operasi Ubuntu versi 11.04,
web server Apache 2.2.17,
DBMS MySQL 5.0.7,
bahasa Pemrograman PHP versi 5.3.6 dengan framework Yii,
lingkungan pengembangan NetBeans versi 7.1,
prosesor Intel® Centrino Core™2 Duo P8600 2.4 GHz,
memori 3 GB, dan
hard disk 100 GB.
Pengembangan Grading Model
Pengembangan grading model dilakukan di dalam struktur modul pada sistem TOKI LC. Struktur modul grader tercantum pada Gambar 9. Prosedur pengembangan grading model
dijelaskan pada langkah-langkah berikut. Prosedur ini harus dilakukan secara berurutan. 1 Instalasi compiler
Pengembangan model penilaian pada sistem TOKI LC diperlukan instalasi compiler
Scheme, Java, PHP, dan Perl pada sistem operasi Ubuntu kemudian menyertakan path
9
Gambar 9 Struktur modul grader. sebagai lokasi compiler pada file config.php untuk mengenali dan menilai program dengan menggunakan bahasa pemrograman tersebut. Perintah instalasi dan path compiler Scheme, Java, PHP, dan Perl tercantum pada Gambar 10 dan Gambar 11. 2 Penyorotan syntax bahasa
Kode program hasil pengumpulan harus ditampilkan dan disoroti sesuai syntax
masing-masing bahasa. Tampilan bahasa ini diimplementasikan pada class CSyntaxHighlighter pada modul components helpers.
3 Penambahan perintah compile
Penambahan perintah compile untuk masing-masing bahasa dilakukan pada class Compiler pada modul components
Gambar 10 Perintah instalasi compiler.
Gambar 11 Path compiler.
evaluators dengan fungsi untuk
mengkompilasi program yang telah dikumpulkan. Ekstensi file program diidentifikasi untuk membedakan perintah
compile. Ektensi file untuk Scheme, Java, PHP, dan Perl secara terurut yaitu *.ss, *.java, *.php, *.pl.
4 Penambahan fungsi execute
Penambahan fungsi execute untuk masing-masing bahasa dilakukan pada class Sandbox pada modul components evaluators
Scheme
apt-get install guile Java
apt-get install sun-java6-jdk sun-java6-jre
PHP
apt-get install php5 Perl
apt-get install perl
/usr/bin/guile => Scheme /usr/bin/javac => Java /usr/bin/php => PHP /usr/bin/perl => Perl Gambar 8 Ilustrasi model test case.
dengan fungsi untuk mengeksekusi program yang telah dikompilasi. Fungsi yang ditambahkan untuk Scheme, Java, PHP, dan Perl secara terurut yaitu fungsi
schemeExecute, javaExecute, phpExecute, dan perlExecute.
5 Penanganan error
Penanganan error pada proses compile dan
execute untuk Java sama seperti penanganan bahasa sebelumnya yaitu Pascal, C, dan C++. Namun, untuk penanganan error pada Scheme, PHP, dan Perl ditambahkan “Exited with error status 255” pada class Sandbox di dalam fungsi
getErrors untuk mengidentifikasi status penilaian RTE.
6 Pengubahan fungsi evaluate
Pengubahan fungsi evaluate dilakukan pada modul extensions evaluator tipe simplebatch
pada class SimplebatchEvaluator. Class ini memanggil class lain yang berada di modul
components evaluators, yaitu class Compiler, Sandbox, dan Comparator. Fungsi ini sebelumnya hanya memanggil fungsi compile dan execute untuk bahasa Pascal, C, dan C++. Oleh karena itu, fungsi ini diubah untuk memanggil seluruh fungsi
compile dan execute pada class Sandbox
termasuk fungsi execute pada bahasa Scheme, Java, PHP, dan Perl. Untuk pemanggilan class Comparator yang berfungsi membandingkan output program dengan standar output yang telah ditentukan, tidak dilakukan pengubahan karena pemanggilan proses ini untuk semua bahasa adalah sama.
Prosedur ini diimplementasikan menggunakan bahasa pemrograman PHP. Implementasi prosedur ini untuk menambahkan sistem penilaian bahasa Scheme, Java, PHP, dan Perl.
Implementasi Grader
Beberapa variabel diperlukan dalam implementasi grader. Salah satu variabel tersebut adalah variabel yang berisi path file evaluator. File evaluator ini adalah file biner berekstensi *.exe yang memiliki fungsi, yaitu:
mengatur batas waktu compile dan eksekusi,
mengatur batas waktu compile dan eksekusi,
mengatur batas memori,
memasukkan file input untuk menguji program,
menulis hasil eksekusi program ke dalam
file output, dan
menulis hasil compile yang tidak sesuai atau
error.
Untuk menjalankan seluruh fungsi tersebut secara lengkap, file evaluator memiliki pilihan yang digunakan sebagai parameter, antara lain:
-a <level>, mengatur tingkat akses file
(0=tidak ada, 1=cwd, 2=/etc,/lib,..., 3=seluruh akses, 9=tidak diperiksa),
-e, menurunkan seluruh lingkungan compile
bahasa pemrograman ke dalam proses,
-i <file>, mengalihkan standar input ke suatu file,
-m <size>, batas ruang alamat memori dalam satuan KB,
-o <file>, mengalihkan standar output ke suatu file,
-r <file>, mengalihkan standar error ke suatu file, dan
-w <time>, mengatur batas waktu yang disediakan.
Variabel lain yang diperlukan dalam proses implementasi, yaitu variabel pengatur batas waktu dan memori, variabel yang berisi file temporary compile error yang berfungsi untuk mencatat standar error ke dalam file, dan variabel perintah compile. Seluruh variabel untuk proses implementasi grader secara lengkap tercantum pada Gambar 12.
Gambar 12 Variabel implementasi grader. Implementasi keseluruhan untuk menkompilasi dan menjalankan program Scheme, Java, PHP, dan Perl secara terurut tercantum pada Gambar 13, Gambar 14, Gambar 15, dan Gambar 16.
Gambar 13 Implementasi grader Scheme.
$moeval_path $parameter -r
$tmperr -- $command
$moeval_path = file evaluator,
$parameter = parameter batas waktu
dan memori compile,
$tmperr = file temporary compile
error,
$command = perintah compile.
/bin/mo-evalbox -e -f -a 2 -w
[batas waktu] -m [batas memori] –i
[file input] -o [file output] -r
[file temporary] -–
11
Gambar 14 Implementasi grader Java.
Gambar 15 Implementasi grader PHP.
Gambar 16 Implementasi grader Perl. Pengujian Grader
Setelah grader diimplementasikan, dilakukan pengujian untuk mengetahui kecocokan sistem dan fungsi compiler yang telah dibuat. Pengujian dilakukan dengan metode black-box dengan memberikan input
dan melihat output yang muncul. Input yang digunakan adalah program dengan bahasa Scheme, Java, PHP, dan Perl. Program tersebut diuji coba untuk menghasilkan seluruh kriteria status penilaian pada sistem yang telah disebutkan sebelumnya yaitu Compile Error
(CE), Run Time Error (RTE), Time Limit Exceeded (TLE), Memory Limit Exceeded
(MLE), Wrong Answer (WA), dan Accepted
(AC). Kriteria status CE, RTE, TLE, MLE, dan WA dibandingkan dengan kriteria status AC sebagai perbandingan terhadap program yang berhasil dengan program yang gagal dinilai oleh
grader. Skema pengujian grader tercantum pada Gambar 17.
Gambar 17 Skema pengujian grader. Dari hasil pengujian didapatkan bahwa kriteria status CE tidak berlaku untuk program
yang dikumpulkan dengan bahasa Scheme, PHP, dan Perl karena penilaian program oleh
grader langsung dieksekusi oleh interpreter
tanpa perlu dikompilasi terlebih dahulu seperti bahasa Java sehingga hasil uji program tersebut menjadi RTE. Untuk hasil pengujian pada kriteria status yang lain didapatkan bahwa seluruh fungsi telah berjalan sesuai kebutuhan baik pada compiler Scheme, Java, PHP maupun Perl. Hasil output tersebut sesuai dengan input
program yang dinilai. Detail pengujian tercantum pada Tabel 7.
Pada kode program yang diuji coba, kriteria status MLE didapatkan hanya dengan memberikan batas memori yang rendah tanpa harus membandingkan dengan status AC. Kode program hasil uji coba dan perbandingannya sesuai kriteria status terlampir pada Lampiran 7. Tabel 7 Hasil pengujian sistem secara black-
box
Status Compiler
Scheme Java PHP Perl
CE RTE CE RTE RTE
RTE RTE RTE RTE RTE
TLE TLE TLE TLE TLE
MLE MLE MLE MLE MLE
WA WA WA WA WA
AC AC AC AC AC
Pengujian Program Komputer
Pengujian dilakukan dengan memilih 37 program komputer pada 10 soal pemrograman yang telah dikumpulkan dan dinilai oleh grader. Program tersebut terdiri atas 17 program