Pengembangan Sistem Manajemen Pembelajaran Pemrograman Bahasa Scheme, Java, PHP, dan Perl

PENGEMBANGAN SISTEM MANAJEMEN PEMBELAJARAN
PEMROGRAMAN BAHASA SCHEME, JAVA, PHP, DAN PERL

ALFA NUGRAHA PRADANA

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012

PENGEMBANGAN SISTEM MANAJEMEN PEMBELAJARAN
PEMROGRAMAN BAHASA SCHEME, JAVA, PHP, DAN PERL

ALFA NUGRAHA PRADANA

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
Departemen Ilmu Komputer


DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012

ABSTRACT

ALFA NUGRAHA PRADANA. Development of Programming Learning Management System for
Scheme, Java, PHP, and Perl Language. Supervised by JULIO ADISANTOSO.
In conventional manner, learning process is done in the form of discussion or direct delivery of
learning materials in a class or lecture. Programming is not easily applied to a conventional learning
process. In this condition, LMS has an important role to improve the process of learning for
programming. TOKI LC has been developed to identify the programming in Pascal, C, and C++
languages. However, this system has not been equipped with a programming language that is often
used by student majoring in computer science or informatics. Therefore, this research aims to analyze
and develop four other programming languages into learning management systems in the field of
programming. LMS for programming was analyzed according to the concepts of e-learning,
storyboard, and grading model. The system was developed with the prototype model on method of
development grader, and then tested. Analysis shows that the system is adopting asynchronous

learning with several main functional components, namely portal, baseline LMS features, and LCMS.
Development of grader generates the Java programming language as a language with run time
performance and memory space usage greater than the other programming languages, namely Pascal,
C, C++, Scheme, PHP, and Perl.
Keywords: learning management system, programming, grader

Judul Skripsi
Nama
NIM

: Pengembangan Sistem Manajemen Pembelajaran Pemrograman Bahasa Scheme,
Java, PHP, dan Perl
: Alfa Nugraha Pradana
: G64080068

Menyetujui:
Pembimbing

Ir. Julio Adisantoso, M.Kom
NIP 19620714 198601 1 002


Mengetahui:
Ketua Departemen Ilmu Komputer

Dr. Ir. Agus Buono, M.Si, M.Kom
NIP 19660702 199302 1 001

Tanggal Lulus:

KATA PENGANTAR
Alhamdulillahirabbil ‘alamin, puji syukur penulis panjatkan ke hadirat Allah subhanahu wata’ala
yang telah memberikan rahmat dan karunia-Nya sehingga tugas akhir dengan judul Sistem
Manajemen Pembelajaran Pemrograman dapat diselesaikan. Shalawat dan salam penulis sampaikan
kepada Nabi Muhammad shallallahu ‘alaihi wassalam beserta keluarga, sahabat dan para pengikutnya
yang selalu berpegang teguh kepada Al-Quran dan As-Sunnah.
Penulis menyadari bahwa tugas akhir ini tidak akan terselesaikan tanpa bantuan dari berbagai
pihak. Pada kesempatan ini penulis ingin mengucapkan terima kasih kepada:
1 Ayahanda Rahimallahu Yajirwan, Ibunda Zahara Murni, serta adik-adik Riandi Kadwi Nugraha,
Lani Florian Tri Nugraha, dan Nuryadin Ricky Nugraha atas doa, nasihat, semangat, dukungan,
dan kasih sayang yang luar biasa kepada penulis.

2 Bapak Ir. Julio Adisantoso, M.Kom selaku dosen pembimbing yang telah memberi banyak ide,
saran, bantuan, serta dukungan sampai selesainya penelitian ini.
3 PT. Perusahaan Gas Negara (Persero) Tbk. sebagai salah satu donatur beasiswa Karya Salemba
Empat yang telah memberi banyak bantuan materil.
4 Arief, Abrar, Isnan, Oki, Aly, Icha, dan rekan-rekan seperjuangan di Ilmu Komputer IPB
angkatan 45 atas segala kebersamaan, bantuan, dukungan, serta kenangan bagi penulis selama
menjalani masa studi. Semoga kita berjumpa kembali kelak sebagai orang-orang sukses.
5 Rekan-rekan satu bimbingan, Rizky Utama Pramudia, Meriska Defriani, Susi Handayani, Putri
Dewi Purnama Sari, Meri Marlina, Anita, Nofel Saputra, Fania Rahmanawati Karimah, dan
khususnya Hafizhia Dhikrul Anugrah yang selalu memberi dukungan dan semangat untuk segera
menyelesaikan studi.
6 Rekan-rekan satu tim basket UKM Agric Basketball IPB, sebagai pelatih Mas Hengky, Pandu,
Anas, Alan, Adi, Hanif, Nanda, Bedil, dan serta rekan-rekan lain yang telah memberi tekad
pantang menyerah baik dalam olahraga maupun pendidikan.
7 Rekan-rekan satu tempat tinggal di Pondok AA, Uda Roni, Bang Aat, Bang Aan, Bang Bono,
Hadi, Fandi, Wido, Rilan, dan rekan-rekan lain.
8 Anggi Maniur dan Andini Sekar Pamungkas sebagai sahabat dan juga sesama penerima beasiswa
Karya Salemba Empat, Rizky, Erna, Rima, Sobich, Hendra, serta rekan-rekan lain.
9 Teman-teman di jejaring sosial yang telah bersedia menjadi responden sebagai salah satu bagian
dari penelitian.

Penulisan tugas akhir ini masih terdapat banyak kekurangan dan kelemahan dalam berbagai hal
karena keterbatasan kemampuan penulis. Penulis menerima adanya masukan berupa saran atau kritik
yang bersifat membangun. Semoga penelitian ini memberikan manfaat dalam proses perkuliahan baik
sekarang maupun di masa mendatang.

Bogor, Mei 2012

Alfa Nugraha Pradana

RIWAYAT HIDUP

Penulis dilahirkan di Jakarta pada tanggal 16 Desember 1989. Penulis merupakan anak pertama
dari pasangan Yajirwan dan Zahara Murni. Penulis merupakan lulusan dari SMA Negeri 78 Jakarta
pada tahun 2008. Pada tahun yang sama melalui jalur Undangan Seleksi Masuk IPB, penulis diterima
sebagai mahasiswa di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam.
Selama menjadi mahasiswa, penulis aktif menekuni kegiatan di Unit Kegiatan Mahasiswa AGRIC
Basketball. Berbagai prestasi salah satunya menjadi Juara III Liga Basket Mahasiswa Divisi II Jawa
Barat dan beberapa memperoleh Juara I di pertandingan basket antar departemen dan fakultas. Penulis
juga menjadi asisten praktikum pada mata kuliah Rangkaian Digital (2010), Rekayasa Perangkat
Lunak (2011), dan Penerapan Komputer (2012). Selain itu, penulis melaksanakan kegiatan Praktik

Kerja Lapangan di PT Bakrie Toll Road pada tahun 2011.

DAFTAR ISI

Halaman
DAFTAR TABEL ................................................................................................................................viii
DAFTAR GAMBAR ...........................................................................................................................viii
DAFTAR LAMPIRAN ........................................................................................................................viii
PENDAHULUAN
Latar Belakang .................................................................................................................................. 1
Tujuan ............................................................................................................................................... 2
METODE PENELITIAN
Analisis.............................................................................................................................................. 2
Metode Pengembangan ..................................................................................................................... 3
Communication ................................................................................................................................. 3
Quick Plan and Modeling Quick Design ........................................................................................... 3
Construction of Prototype ................................................................................................................. 3
Deployment Delivery and Feedback ................................................................................................. 3
Kinerja............................................................................................................................................... 3
HASIL DAN PEMBAHASAN

Analisis.............................................................................................................................................. 4
Portal ................................................................................................................................................ 4
Fitur LMSP ....................................................................................................................................... 4
Evaluasi LCMS ................................................................................................................................. 4
Learning Objects ............................................................................................................................... 4
Storyboard ......................................................................................................................................... 5
Evaluasi Hasil Kuesioner .................................................................................................................. 5
Deskripsi Umum Sistem ................................................................................................................... 7
Analisis Kebutuhan Sistem ............................................................................................................... 7
Grading Model .................................................................................................................................. 8
Lingkungan Implementasi ................................................................................................................. 8
Pengembangan Grading Model ......................................................................................................... 8
Implementasi Grader ...................................................................................................................... 10
Pengujian Grader ............................................................................................................................ 11
Pengujian Program Komputer ......................................................................................................... 11
Perbandingan Kinerja antar Bahasa Pemrograman ......................................................................... 12
KESIMPULAN DAN SARAN
Kesimpulan ..................................................................................................................................... 12
Saran ............................................................................................................................................... 12
DAFTAR PUSTAKA............................................................................................................................ 12

LAMPIRAN ......................................................................................................................................... 14

vii

DAFTAR TABEL
Halaman
1
2
3
4
5
6
7

Hasil perbandingan fitur LMS ........................................................................................................... .4
Hasil evaluasi komponen dasar LCMS ............................................................................................... 5
Persentase penggunaan bahasa pemrograman .................................................................................... 6
Persentase pemahaman materi pemrograman ..................................................................................... 6
Persentase cara belajar pemrograman ................................................................................................. 7
Karakteristik pengguna ....................................................................................................................... 7

Hasil pengujian sistem secara black-box .......................................................................................... 11

DAFTAR GAMBAR
Halaman
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

17

Arsitektur e-learning (Peer3 2001) ................................................................................................... 2
The Prototyping Model (Pressman 2005) ......................................................................................... 3
Portal LMSP ..................................................................................................................................... 4
Contoh modul LMSP ........................................................................................................................ 5
Contoh sub modul LMSP.................................................................................................................. 5
Deskripsi objektif pembelajaran ....................................................................................................... 6
Contoh soal LMSP ............................................................................................................................ 6
Ilustrasi model test case .................................................................................................................... 9
Struktur modul grader ...................................................................................................................... 9
Perintah instalasi compiler ................................................................................................................ 9
Path compiler.................................................................................................................................... 9
Variabel implementasi grader ........................................................................................................ 10
Implementasi grader Scheme ......................................................................................................... 11
Implementasi grader Java ............................................................................................................... 11
Implementasi grader PHP............................................................................................................... 11
Implementasi grader Perl. .............................................................................................................. 11
Skema pengujian grader ................................................................................................................ .11


DAFTAR LAMPIRAN
Halaman
1
2
3
4
5
6
7
8

Analisis pengembangan fitur ............................................................................................................ 15
Kuesioner online ............................................................................................................................... 16
Daftar soal untuk pengujian kinerja bahasa pemrograman ............................................................... 17
Hasil evaluasi LCMS ........................................................................................................................ 20
Ilustrasi learning objects LMSP ....................................................................................................... 21
Persentase kebutuhan dalam belajar pemrograman .......................................................................... 22
Kode program hasil uji ..................................................................................................................... 23
Perbandingan pengujian program komputer ..................................................................................... 29

viii

1

PENDAHULUAN
Latar Belakang
Learning Management System (LMS) atau
sistem manajemen pembelajaran adalah sistem
yang memudahkan proses administrasi,
pengelolaan, dokumentasi, penelusuran, dan
pelaporan untuk suatu program pembelajaran
seperti e-learning (Hall 2000). Secara
konvensional proses pembelajaran dilakukan
dalam bentuk diskusi ataupun penyampaian
materi di dalam suatu kelas atau perkuliahan.
Proses pembelajaran seperti ini sulit diterapkan
pada bidang pemrograman terutama untuk kelas
besar.
Penerapan
proses
pembelajaran
pemrograman tidak cukup hanya dengan
menyampaikan materi ataupun diskusi satu
arah.
Pemrograman adalah salah satu cabang ilmu
komputer yang mempelajari proses menulis,
menguji, memperbaiki dan memelihara source
code dengan menggunakan suatu bahasa
tertentu yang dimengerti oleh komputer.
Keterampilan dalam membuat suatu algoritme,
logika, bahasa pemrograman, dan pengetahuanpengetahuan lain seperti matematika juga
sangat diperlukan dalam membuat suatu
program komputer. Keterampilan tersebut perlu
diasah sesuai tingkatan materi pemrograman
yang disampaikan.
Pada kondisi ini, LMS memiliki peranan
penting dalam melengkapi dan memperbaiki
proses pembelajaran konvensional di bidang
pemrograman. Pelatihan dan pembelajaran
pemrograman secara online yang diterapkan
pada LMS diberikan untuk mendukung proses
belajar mengajar biasa dikenal dengan istilah
Learning Center (LC) (Khalife 2009).
Terdapat
banyak
aplikasi
LMS
pemrograman, antara lain Sphere Online Judge
(SPOJ), TopCoder, International Olympiad in
Informatics (IOI), dan TOKI (Tim Olimpiade
Komputer Indonesia) LC. Namun, aplikasi ini
lebih banyak digunakan untuk kontes
pemrograman. Barus (2009) mengembangkan
sistem pelatihan kompetisi pemrograman
komputer TOKI LC untuk memfasilitasi
pelatihan serta manajemen kontes pemrograman
bagi pelajar sekolah menengah di Indonesia.
Colton et al. (2005) mengembangkan
GradeBot, grader atau sistem penilai program
komputer
untuk
tugas
perkuliahan
pemrograman yang dapat mengevaluasi
beberapa bahasa, yaitu C, C++, Java, Perl,
Python, Tcl, dan MIPS assembler. Namun,
semua interaksi GradeBot hanya dilakukan

melalui e-mail. Pengembangan GradeBot lebih
lanjut, yaitu WebBot, program grader otomatis
berbasis web (Colton et al. 2006). Sistem ini
memperbaiki GradeBot dengan menambahkan
antarmuka
untuk
mengurangi
interaksi
penggunaan e-mail dan grader yang berjalan
secara otomatis. Namun, penambahan fitur
sistem tersebut tidak memberikan laporan
kepada pengajar sejauh mana kemajuan proses
belajar mahasiswa dan tidak memenuhi konsep
LMS
dimana
terdapat
fitur
yang
menghubungkan learner dengan sumber
pembelajaran (Peer3 2001).
Patil (2010) mengadopsi konsep LMS pada
sistem
grader
otomatis
untuk
tugas
pemrograman, Javabrat. Sistem ini tidak hanya
memfasilitasi pelajar dalam mengakses sumber
pembelajaran, tetapi juga memfasilitasi
pengajar
untuk
melihat
perkembangan
mahasiswa dalam menguasai suatu bahasa
pemrograman. Kelemahan Javabrat adalah
hanya mengenal bahasa pemrograman Java dan
Scala.
Pengembangan grader di universitas lain di
Indonesia dalam bidang studi ilmu komputer
atau informatika hanya mengenal beberapa
bahasa pemrograman. Berdasarkan penelusuran
di internet, Universitas Indonesia, Institut
Teknologi Bandung, dan Institut Teknologi
Sepuluh November memiliki grader untuk
bahasa pemrograman Pascal, C, dan C++. Oleh
karena itu, grader perlu ditambahkan beberapa
pengenalan bahasa lain yang dapat digunakan
sebagai pembelajaran pada materi perkuliahan
pemrograman dan diuji kinerja masing-masing
bahasa tersebut.
TOKI LC merupakan salah satu platform
grader yang telah dikembangkan dengan fitur:
antarmuka yang lebih baik dibanding WebBot,
penilaian program secara otomatis melalui
sistem, registrasi, manajemen user, pelaporan,
dan dapat mengenali bahasa pemrograman
Pascal, C, dan C++. Namun, sistem ini belum
dilengkapi dengan bahasa pemrograman yang
sering digunakan untuk mahasiswa bidang studi
ilmu komputer atau informatika, antara lain
Scheme pada aspek pemrograman fungsional,
Java pada aspek pemrograman berorientasi
objek, PHP pada aspek pemrograman
prosedural, dan Perl sebagai bahasa yang
dikembangkan dengan mencampur fitur terbaik
dari beberapa bahasa menjadi satu (Al-Qahtani
et al. 2010). Selain itu, analisis pada pengguna
tingkat mahasiswa belum pernah dilakukan
pada sistem ini.

2

Oleh karena itu, penelitian ini akan
menganalisis TOKI LC dan mengembangkan
sistem manajemen pembelajaran agar dapat
mendukung
dan
melengkapi
proses
pembelajaran di bidang pemrograman untuk
mahasiswa bidang studi ilmu komputer atau
informatika dengan menambahkan sistem
penilaian bahasa Scheme, Java, PHP, dan Perl
dan menguji kinerja masing-masing bahasa.
Tujuan
Tujuan penelitian ini adalah menganalisis
TOKI LC dan mengimplementasikan sistem
manajemen
pembelajaran
pada
bidang
pemrograman untuk mahasiswa bidang studi
ilmu komputer atau informatika dengan
menambahkan
pengenalan
bahasa
pemrograman Scheme, Java, PHP, dan Perl dan
menguji kinerja masing-masing bahasa.

METODE PENELITIAN
LMS pemrograman selanjutnya disebut
LMSP dilaksanakan dalam tiga tahap, yaitu
analisis, metode pengembangan, dan kinerja.
Sebagai pengembangan lebih lanjut, ketiga
tahap tersebut dilakukan pada sistem TOKI LC.
Analisis
E-learning merujuk kepada penggunaan
jaringan teknologi informasi secara intensional
dalam pengajaran dan pembelajaran (Naidu
2006). LMSP termasuk ke dalam asynchronous
learning, dimana proses pembelajaran tidak
memerlukan komunikasi satu sama lain.
Instruktur membuat materi pembelajaran
sedangkan learner mengakses materi tersebut
secara online. Pada tahap ini, dilakukan analisis
terhadap komponen fungsional asynchronous
learning pada sistem. Komponen fungsional
utama tersebut dalam perkembangan arsitektur
e-learning menurut Peer3 (2001), antara lain:
1 Portal, akses penghubung learner dengan
lingkungan e-learning.
2 Learning Management Systems (LMS),
penghubung antara learner dan sumber atau
isi pembelajaran yang terdiri atas fitur yang
mendukung proses belajar mengajar.
Analisis untuk fitur LMSP yang akan
dikembangkan terlampir pada Lampiran 1.
3 Learning Content Management Systems
(LCMS), lingkungan tempat pengembang
dapat membuat, menyimpan, menggunakan
kembali,
dan
mengirim
sumber
pembelajaran dari pusat penyimpanan objek,
biasanya database. LCMS umumnya
bekerja dengan isi atau sumber berdasarkan

model
2008).

learning

object

(Abazi-Bexheti

Gambaran
umum
arsitektur
tercantum pada Gambar 1.

e-learning

Analisis selanjutnya yaitu learning objects
dan storyboard. Learning objects adalah unitunit terpisah yang berisi objektif pembelajaran,
isi, penilaian objektif, fasilitas pencarian,
pengindeksan dan penggunaan kembali objek
pembelajaran (Peer3 2001). Storyboard sebagai
salah satu bagian dalam pengembangan
learning objects harus mengandung instruksi
dan deskripsi secara detail, spesifik, dan terurut
(Mustaro et al 2005). Kedua analisis tersebut
berhubungan
dan
dilakukan
dengan
mengidentifikasi ciri-ciri tersebut.
Analisis terakhir dilakukan survei melalui
kuesioner online berbasis web yang disebar di
situs jejaring sosial dengan target responden
mahasiswa tahun 2007 hingga tahun 2011 yang
masih aktif dan pernah mengikuti perkuliahan
pemrograman. Kuesioner ini terlampir pada
Lampiran 2. Tujuan survei ini adalah untuk
mengetahui dan mengevaluasi sejauh mana
mahasiswa
mengenal,
memahami
dan
menguasai pemrograman yang diberikan pada
perkuliahan. Hasil survei dari kuesioner ini
dianalisis dan digunakan sebagai bahan evaluasi
dalam tahap metode pengembangan LMSP.

Gambar 1 Arsitektur e-learning (Peer3 2001).

3

Tahap analisis yang dilakukan ini bertujuan
mengadopsi konsep e-learning pada LMSP
dengan menunjukkan dan mengoptimalkan
konsep e-learning yang telah dibangun pada
penelitian sebelumnya dan yang belum
dikembangkan.
Metode Pengembangan
Sistem penilai program bahasa Scheme,
Java, PHP, dan Perl pada LMSP dikembangkan
menggunakan model prototyping. Model ini
dibagi menjadi beberapa tahapan yang
membentuk suatu siklus, dimulai dari
communication, quick plan and modeling quick
design, construction of prototype dan
deployment delivery and feedback (Pressman
2005) (Gambar 2).

dalam suatu bahasa pemrograman yang dapat
dikenali oleh komputer.
Deployment Delivery and Feedback
Pengujian terhadap grader
bahasa
pemrograman Scheme, Java, PHP, dan Perl
dilakukan menggunakan metode black-box.
Black-box testing dikenal sebagai behavioral
testing yang fokus pada kebutuhan fungsional
perangkat lunak. Metode ini memungkinkan
pengembang perangkat lunak menurunkan
sekumpulan kondisi input yang dapat
memenuhi seluruh kebutuhan fungsional
(Pressman 2005).
Pada model pengujian ini input adalah
program bahasa Scheme, Java, PHP, dan Perl
yang dikumpulkan oleh learner. Proses yang
terjadi di dalam sistem tidak diperhatikan,
hanya mempertimbangkan hasil keluaran yaitu
status penilaian program tersebut.
Kinerja
Terdapat dua kinerja yang diuji, yaitu
kinerja program komputer, dan perbandingan
eksekusi program komputer terhadap tujuh
bahasa pemrograman pada grader LMSP.

Gambar 2 The Prototyping Model (Pressman
2005).
Communication
Pada tahap ini, dilakukan metode diskusi
dengan dosen pembimbing sebagai pihak
customer untuk mendefinisikan tujuan dan
mengidentifikasi kebutuhan yang diperlukan
pada perangkat lunak. Hasil dari tahap ini
digunakan sebagai deskripsi umum sistem dan
analisis kebutuhan sistem.
Quick Plan and Modeling Quick Design
Pada proses ini, dibangun perancangan
model grader tahap awal, dan diperbaiki sesuai
permintaan customer. Rancangan sistem penilai
program ini selanjutnya akan digunakan pada
tahap implementasi.
Construction of Prototype
Implementasi dan pengembangan model
grader dilakukan pada tahap ini sebagai
penerjemahan rancangan analisis sistem ke

Kinerja program komputer dilakukan pada
program
yang
menggunakan
bahasa
pemrograman Scheme, Java, PHP dan Perl.
Program tersebut telah dikumpulkan oleh
learner dan dinilai oleh grader. Kemudian
program dikumpulkan dan dinilai juga oleh
sistem grader online Ideone. Ideone (IDEONE
2010) disebut juga online IDE & Debugging
Tool sebagai salah satu riset yang
dikembangkan oleh Sphere yang banyak
digunakan oleh para programmer untuk
mengukur kinerja program dengan mengenal
lebih dari 40 bahasa pemrograman. Hasil
kinerja program komputer digunakan untuk
membandingkan konsumsi memori dan waktu
eksekusi program pada grader dan Ideone.
Pada pengujian, selanjutnya diberikan lima
soal, yaitu Hello World!, Menuliskan Bilangan,
Menghitung Rataan Ujian, Menghitung
Bilangan, dan Menghitung Kata yang terlampir
pada Lampiran 3. Untuk masing-masing soal,
dibuat solusi pada program yang menggunakan
bahasa pemrograman Pascal, C, C++, Scheme,
Java, PHP, dan Perl. Untuk setiap solusi, kinerja
run time dalam satuan detik dan penggunaan
memory space dalam ukuran MB untuk setiap
bahasa pemrograman diukur. Hasil pengujian
ini digunakan untuk membandingkan rata-rata
kinerja setiap bahasa pemrograman pada setiap
solusi.

4

menunjukkan bahwa fitur pelaporan dalam
bentuk statistik telah dikembangkan, dan LMSto-Content API, serta LMS sebagai alat
pembelajaran kolaboratif belum dikembangkan.

HASIL DAN PEMBAHASAN
Analisis
Hasil analisis e-learning ditunjukkan pada
portal, fitur LMSP, evaluasi LCMS, learning
objects, storyboard, dan evaluasi kuesioner.

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 elearning pada LMSP.

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.

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.

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
Tabel 1 Hasil perbandingan fitur LMS
Fitur LMS
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

TOKI
LC
(2009)

WebBot
(2006)

Javabrat
(2010)

Ideone
(2010)

LMSP
(2012)





-




-





-









-









-







-








-



-



-

-

-



-

-

-







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
diilustrasikan pada Lampiran 5.

pada

Gambar 4 Contoh modul LMSP.

LMSP

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 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.

6

Sebagai perkenalan pertama dengan program C,
ketikanlah kode-kode berikut ini dalam file bernama
'programku.c'.
#include
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
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.

Tabel 3

Bahasa Pemrograman
C
C++
Java
Pascal
Perl
PHP
Lainnya

Gambar 6 Deskripsi objektif pembelajaran.
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, masingmasing 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.

Gambar 7 Contoh soal LMSP.

Persentase
67%
81%
24%
52%
12%
58%
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

Selamat berlatih.

Persentase penggunaan bahasa
pemrograman

4

Persentase pemahaman
pemrograman

Pemahaman Materi
Pemrograman
1 Tidak Mengerti
2
3
4
5 Mengerti

materi

Persentase
5%
13%
42%
32%
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

7

pemrograman secara online adalah 63% dan
yang tidak pernah sebesar 37%.
Tabel 5 Persentase cara belajar pemrograman
Cara Belajar
Mengerjakan latihan materi
dan soal yang diberikan
Mengikuti tutorial online
Membaca buku
pemrograman
Lainnya

Persentase
80%
54%
71%
26%

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

5 Kebutuhan apa saja yang diperlukan
mahasiswa dalam belajar pemrograman.
Pertanyaan tersebut telah disediakan lima
jawaban, yaitu:
a
b
c
d
e

penjelasan konsep pemrograman,
contoh kode program,
materi pemrograman tingkat lanjut,
latihan membuat program, dan
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

Kategori
pengguna
Administrator

Supervisor

Learner

Aksi
Mengelola seluruh data
dalam sistem dan memiliki
akses penuh dalam LMSP
Mengelola pembelajaran
dan membuat soal serta
berperan sebagai author
dalam LMSP
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,
 sistem operasi Ubuntu versi 11.04,

8






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 nilai yang 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 8 Ilustrasi model test case.

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

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.
/usr/bin/guile
/usr/bin/javac
/usr/bin/php
/usr/bin/perl

=> Scheme
=> Java
=> PHP
=> Perl

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 masingmasing bahasa dilakukan pada class
Sandbox pada modul components evaluators

10

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 , 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 , mengalihkan standar input ke
suatu file,
 -m , batas ruang alamat memori
dalam satuan KB,
 -o , mengalihkan standar output ke
suatu file,
 -r , mengalihkan standar error ke
suatu file, dan
 -w , 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.
$moeval_path
$parameter
$tmperr -- $command

-r

$moeval_path = file evaluator,

= parameter batas waktu
dan memori compile,

$parameter
$tmperr

= file temporary compile

error,
$command

= perintah compile.

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.
/bin/mo-evalbox -e -f -a 2 -w
[batas waktu] -m [batas memori] –i
[file input] -o [file output] -r
[file temporary] -–
/usr/bin/guile [nama file program]

Gambar 13 Implementasi grader Scheme.

11

Perintah compile:
/bin/mo-evalbox
-e
-m
[batas
memori] -w [batas waktu] -r [file
temporary] -- /usr/bin/javac [nama
file program]

Perintah eksekusi:
/bin/mo-evalbox -e -a 2 -w [batas
waktu] -m [batas memori] –i [file
input] -o [file output] -r [file
temporary]
-–
/usr/bin/java

classpath
/tmp/
[file
hasil
kompilasi]

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.

/bin/mo-evalbox -e -f -a 2 -w
[batas waktu] -m [batas memori] –i
[file input] -o [file output] -r
[file temporary]
-– /usr/bin/php
[nama file program]

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.

Gambar 15 Implementasi grader PHP.

Tabel 7 Hasil pengujian sistem secara blackbox

Gambar 14 Implementasi grader Java.

/bin/mo-evalbox -e -f -a 2 -w
[batas waktu] -m [batas memori] –i
[file input] -o [file output] -r
[file temporary] -– /usr/bin/perl
[nama file program]

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,