SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu...

41
SISTEM BANK SOAL DENGAN TIPE SOAL CODE MENGGUNAKAN FRAMEWORK YII RONI RAHMON DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2014

Transcript of SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu...

Page 1: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

SISTEM BANK SOAL DENGAN TIPE SOAL CODE

MENGGUNAKAN FRAMEWORK YII

RONI RAHMON

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2014

Page 2: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran
Page 3: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

PERNYATAAN MENGENAI SKRIPSI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa skripsi berjudul Sistem Bank Soal

dengan Tipe Soal Code Menggunakan Framework Yii adalah benar karya saya

dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun

kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip

dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah

disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir

skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut

Pertanian Bogor.

Bogor, Juni 2014

Roni Rahmon

NIM G64080093

Page 4: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

ABSTRAK

RONI RAHMON. Sistem Bank Soal dengan Tipe Soal Code Menggunakan

Framework Yii. Dibimbing oleh AHMAD RIDHA.

Penelitian ini bertujuan membangun sistem bank soal berbasis web yang

dapat menyimpan dan menyajikan soal dalam bentuk tes atau kuis. Sistem ini

dibangun dengan model pengembangan spiral menggunakan PHP dan framework

Yii. Selain mendukung pembuatan, penyimpanan, dan penyajian soal dengan tipe

soal sederhana, seperti tipe soal isian dan pilihan, sistem ini juga mempunyai fitur

perbanyakan soal, yang disebut tipe soal Code. Tipe soal Code akan

memperbanyak soal yang berasal dari template soal dengan mengganti kode-kode

pada template soal dengan nilai dataset yang dihasilkan oleh program eksternal.

Penggunaan program eksternal bertujuan membuat soal dengan dataset dan

jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini

dapat dikaitkan dengan beberapa capaian pembelajaran yang ada pada suatu mata

kuliah. Student yang mengikuti suatu mata kuliah dapat dikelompokkan menjadi

beberapa grup sehingga dapat mempermudah dalam pembagian jadwal kuis.

Kata kunci: bank soal, e-learning, framework Yii.

ABSTRACT

RONI RAHMON. Question Bank System with Code Question Type Using Yii

Framework. Supervised by AHMAD RIDHA.

This research aims to develop a web-based question bank system that can

save and present questions in the form of test or quiz. This system is developed

with the spiral model development using PHP and Yii framework. Besides

supporting the making, saving, and presenting simple question types such as fill-

in-the blank and multiple choice, this system also features question generating,

called with the Code question type. Code question type generetes questions from a

question template by subtituting the codes in the question template with the

dataset values resulted from external programs. The use of external programs aims

at quickly generating questions with more dynamic dataset and answers. One

question in this system can be related with multiple learning outcomes. Students

who are enrolled in a course can be grouped into several groups, so as to facilitate

the arrangement of multiple quiz shifts.

Keywords: question bank, e-learning, Yii framework.

Page 5: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

Skripsi

sebagai salah satu syarat untuk memperoleh gelar

Sarjana Ilmu Komputer

pada

Departemen Ilmu Komputer

SISTEM BANK SOAL DENGAN TIPE SOAL CODE

MENGGUNAKAN FRAMEWORK YII

RONI RAHMON

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2014

Page 6: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

Penguji :

1 Dr Wisnu Ananta Kusuma, ST MT

2 Firman Ardiansyah, SKom MS

Page 7: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

Judul Skripsi : Sistem Bank Soal dengan Tipe Soal Code Menggunakan

Framework Yii

Nama : Roni Rahmon

NIM : G64080093

Disetujui oleh

Ahmad Ridha, SKom MS

Pembimbing

Diketahui oleh

Dr Ir Agus Buono, MSi MKom

Ketua Departemen

Tanggal Lulus:

Page 8: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas

segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang

dipilih dalam penelitian yang dilaksanakan sejak bulan Februari 2014 ini ialah

sistem bank soal, dengan judul Sistem Bank Soal dengan Tipe Soal Code

Menggunakan Framework Yii.

Banyak pihak yang telah memberikan bantuan baik bersifat materi maupun

moral kepada penulis dalam menyelesaikan penelitian ini. Oleh sebab itu, penulis

ingin menyampaikan rasa terima kasih sebesar-besarnya kepada:

1 Ayahanda Drs H Syafrinal, Ibunda Nurmainis, serta kakak tercinta Novi Fitria,

Nely Rahmah, dan Elwida Rahmi yang senantiasa mendoakan, mendukung

serta memberikan motivasi dan kesabarannya dalam mengingatkan penulis

untuk menyelesaikan tugas akhir.

2 Bapak Ahmad Ridha, SKom MS selaku pembimbing yang telah banyak

memberi pengarahan, saran, dan motivasi dalam penyelesaian tugas akhir.

3 Bapak Dr Wisnu Ananta Kusuma, ST MT dan Bapak Firman Ardiansyah,

SKom MS selaku dosen penguji yang telah memberikan kritik dan saran yang

membangun.

4 Seluruh staf pengajar Ilmu Komputer IPB atas ilmu dan bimbingan selama

penulis berkuliah di almamater ini.

5 Rekan-rekan di Departemen Ilmu Komputer IPB angkatan 45 atas segala

kebersamaan, semangat, dan motivasi kepada penulis selama ini.

Dan semua pihak yang tidak dapat disebutkan satu per satu. Jazakumullahu

khairan.

Semoga karya ilmiah ini bermanfaat.

Bogor, Juli 2014

Roni Rahmon

Page 9: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

DAFTAR ISI

DAFTAR TABEL vi

DAFTAR GAMBAR vi

DAFTAR LAMPIRAN vi

PENDAHULUAN 1

Latar Belakang 1

Tujuan Penelitian 2

Manfaat Penelitian 3

Ruang Lingkup Penelitian 3

METODE 3

Customer Communication 4

Planning 4

Risk Analysis 4

Engineering 4

Construction and release 5

Customer evaluation 5

HASIL DAN PEMBAHASAN 5

Prototype 1 5

Prototype 2 9

Prototype 3 13

SIMPULAN DAN SARAN 15

Simpulan 15

Saran 15

DAFTAR PUSTAKA 16

LAMPIRAN 17

RIWAYAT HIDUP 31

Page 10: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

DAFTAR TABEL

1 Spesifikasi perangkat keras dan perangkat lunak pengembangan sistem 4 2 Kebutuhan non-fungsional sistem 5

3 Kebutuhan fungsional sistem 6 4 Hasil pengujian prototype 1 9

5 Kebutuhan fungsional prototype 2 10 6 Hasil pengujian prototype 2 13

7 Kebutuhan fungsional prototype 3 14 8 Hasil pengujian prototype 3 14

DAFTAR GAMBAR

1 Model pengembangan spiral (Pressman 2001) 3

2 ERD prototype 1 6 3 Sequence diagram pembuatan tipe soal Code 7

4 Database diagram prototype 1 8 5 Use case diagram sistem bank soal 10

6 ERD prototype 2 11 7 Sequence diagram memulai dan menjawab kuis 12

DAFTAR LAMPIRAN

1 Rancangan antarmuka sistem 17 2 Halaman form pembuatan tipe soal Code 17 3 Contoh source program input 18

4 Contoh source program output 19 5 Struktur navigasi sistem bank soal 20

6 Flow chart sistem bank soal 21 7 Database diagram prototype 2 23

8 Halaman form pembuatan kuis 24 9 Halaman pengaturan soal pada kuis 24

10 Database diagram prototype 3 25 11 Keterangan atribut tabel database 26

12 Halaman form pembuatan tipe soal pilihan 29 13 Halaman form pembuatan tipe soal isian 30

Page 11: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

PENDAHULUAN

Latar Belakang

Evaluasi pembelajaran merupakan salah satu bagian penting dalam proses

pembelajaran. Evaluasi pembelajaran dapat diartikan sebagai proses berkelanjutan

mengenai pengumpulan dan penafsiran informasi untuk menilai keputusan-

keputasan yang dibuat dalam proses dan perancangan sistem pembelajaran.

Evaluasi merupakan salah satu cara yang dapat dilakukan untuk mengetahui

kesuksesan suatu proses pembelajaran.

Salah satu teknik yang digunakan dalam evaluasi ini adalah teknik tes.

Teknik tes merupakan suatu cara untuk mengadakan penilaian yang menggunakan

perangkat soal yang harus dikerjakan oleh peserta didik dalam batas waktu

tertentu. Hasil tes dapat digunakan oleh pengajar, sekolah, atau institusi

kependidikan lainnya untuk mengambil keputusan atau umpan balik untuk

perbaikan proses belajar mengajar. Dalam suatu proses pengukuran sangat

diperlukan tes yang bermutu baik dengan soal-soal yang mengacu kepada tujuan

pembelajaran yang harus dicapai siswa dan pemberian skor sesuai dengan standar

yang telah ditetapkan. Untuk membuat tes terstandar yang dapat digunakan setiap

saat, dibutuhkan soal yang cukup banyak. Kebutuhan soal yang banyak tersebut

dapat diatasi apabila terdapat bank soal sebagai sarana penyimpanan.

Bank soal adalah kumpulan soal-soal dalam jumlah yang besar, dan

mengukur pengetahuan yang sama, disimpan di dalam komputer bersama dengan

karakteristik setiap soalnya. Bank soal ini perlu dibuat dan harus selalu

dikembangkan karena: (1) Dapat menyiapkan tes yang dibutuhkan secara rutin

dan lebih dari satu set; (2) Memungkinkan diterapkannya tes melalui komputer,

sehingga setiap saat peserta tes dapat mengikuti tes kapan saja; dan (3)

Menyediakan tes yang berkualitas dan dapat dipertanggungjawabkan (Puspendik

2007). Tes berbasis komputer tampak lebih memiliki keunggulan dibanding tes

menggunakan kertas dan pensil, baik bagi penyelenggara tes dan bagi siswa yang

berpartisipasi dalam tes tersebut. Tes berbasis komputer merupakan jawaban bagi

penyajian tes yang cepat dan murah. Banyak manfaat positif dari pelaksanaan tes

berbasis komputer di antaranya administrasi yang efisien, lebih disukai siswa,

dapat dikerjakan secara mandiri oleh siswa, peningkatan kinerja menulis, hasil

yang cepat, pembuatan soal yang lebih efisien, meningkatkan keabsahan, dan

berpotensi untuk mengalihkan fokus dari penilaian kepada pengajaran (Becker

2006; Salend 2009; Thompson et al. 2002; Thurlow et al. 2010).

Sistem bank soal telah banyak dikembangkan pada saat ini, dari sistem bank

soal sederhana sampai pada sistem bank soal yang lebih kompleks, dan

merupakan bagian dari learning management system (LMS). Salah satu sistem

bank soal yang banyak dipakai oleh institusi pendidikan dan juga dipakai oleh

IPB1 sendiri adalah LMS Moodle

2. LMS Moodle ini memiliki kekurangan pada

pembuatan soalnya yakni tidak adanya fitur untuk mengaitkan ke beberapa

capaian pembelajaran. Pada kenyataanya sebuah soal bisa saja terkait dengan

beberapa capaian pembelajaran yang dimiliki suatu pelajaran.

1 https://lms.ipb.ac.id/ 2 https://moodle.org/

Page 12: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

2

LMS Moodle mendukung banyak tipe soal untuk bank soalnya. Salah satu

tipe soal yang menarik pada Moodle adalah tipe soal Calculated. Tipe soal ini

dapat menghasilkan banyak soal dari sebuah template soal dengan mengganti

variabel atau kode tertentu pada teks soal dengan sebuah nilai dataset. Tipe soal

ini sangat membantu untuk menghasilkan banyak soal dengan bentuk yang sama

dan tingkat kesulitan yang sama tanpa perlu menghitung jawaban soal secara

manual. Akan tetapi, tipe soal ini tidak dapat menghasilkan dataset secara

otomatis yang nilainya mempunyai kondisi tertentu. Sistem Moodle hanya dapat

menghasilkan dataset sebanyak nilai count secara acak dari rentang nilai

dimasukkan user. Sebagai contoh, sebuah soal dengan tipe Calculated berisikan

teks soal “Tentukan hasil dari log2 {dataset_a}”, soal tersebut merupakan sebuah

soal logaritma basis 2 dengan kode {dataset_a} yang akan disubtitusikan oleh

sebuah nilai yang dihasilkan sistem secara acak dari rentang yang dimasukkan

user. Untuk dapat dihitung oleh siswa, nilai {dataset_a} merupakan nilai 2n,

dengan n >= 0. Kondisi nilai dataset tersebut tidak dapat dihasilkan secara

otomatis oleh sistem Moodle. Nilai tersebut hanya dapat dihasilkan dengan

mengubah secara manual nilai yang telah dihasilkan sistem untuk rentang yang

dimasukkan. Terdapat beberapa kekurangan lain pada tipe soal Calculated yaitu

formula untuk menghitung jawaban soal hanya terbatas pada fungsi-fungsi yang

ada pada sistem dan satu soal pada tipe Calculated hanya memiliki satu kotak

jawaban soal atau satu pertanyaan soal.

Melihat adanya permasalahan dan kelemahan dari sistem yang sudah ada

tersebut, perlu dikembangkan suatu sistem bank soal berbasis web yang dapat

menyimpan dan menyajikan beberapa tipe soal dalam bentuk kuis. Selain

mendukung tipe soal sederhana seperti tipe soal isian dan pilihan, sistem ini juga

mempunyai satu tipe soal bernama Code dengan fitur seperti halnya dengan tipe

soal Calculated pada Moodle. Tipe soal Code akan memiliki 2 jenis dataset yang

dihasilkan dari program eksternal, yaitu dataset input dan dataset output.

Penggunaan program eksternal bertujuan menghasilkan dataset yang dinamis

tidak bergantung pada sistem utama. Sistem akan mengganti kode-kode input

pada teks soal dengan suatu nilai dari dataset input secara acak, dan kode-kode

output akan diganti dengan textbox sebagai kotak jawaban yang nilainya

bergantung pada dataset input yang terpilih. Tipe soal Code dapat menampung

banyak input atau output pada satu soalnya sehingga sebuah soal tipe Code bisa

memiliki lebih dari satu kotak jawaban. Satu soal pada sistem bank soal ini dapat

dikaitkan dengan beberapa capaian pembelajaran yang dimiliki oleh suatu mata

kuliah. Capaian pembelajaran pada suatu soal akan membantu pembuat soal

dalam merancang soal yang akan dibuat dan membantu dalam memilih soal yang

akan ditambahkan ke dalam suatu kuis.

Tujuan Penelitian

Tujuan dari penelitian ini adalah mengembangkan sistem bank soal dengan

fitur perbanyakan soal yang memanfaatkan program eksternal.

Page 13: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

3

Manfaat Penelitian

Hasil penelitian ini diharapkan dapat membantu mengurangi masalah-

masalah yang dihadapi dalam proses evaluasi pembalajaran berupa tes, seperti

penyimpanan, penyajian dan penskoran soal. Penelitian ini juga diharapkan dapat

dijadikan dasar untuk pengembangan sistem bank soal selanjutnya.

Ruang Lingkup Penelitian

Penelitian ini dilakukan dengan batasan sebagai berikut:

1 Penelitian difokuskan pada pengembangan fitur dasar aplikasi bank soal, dan

pengembangan fitur penggandaan atau perbanyakan soal pada sistem bank soal.

2 Dataset input dan output pada fitur perbanyakan soal dihasilkan oleh program

eksternal yang harus dibuat oleh pembuat soal.

METODE

Sistem bank soal ini merupakan sistem berbasis web yang dikembangkan

dengan pendekatan metode spiral model. Model pengembangan spiral adalah

model software yang evolusioner yang merangkai sifat iterative dari prototype

dengan kontrol dan aspek sistematis dari linear sequential model. Model ini

memberikan potensi untuk pengembangan versi incremental software secara cepat.

Dengan menggunakan spiral model, software akan dikembangkan dengan

serangkaian rilis incremental. Selama awal iterasi, rilis incremental dapat berupa

prototype. Selama iterasi berikutnya, dihasilkan versi sistem yang bertambah

lengkap (Pressman 2001).

Gambar 1 Model pengembangan spiral (Pressman 2001)

Page 14: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

4

Spiral model dibagi menjadi sejumlah aktivitas kerangka kerja, disebut juga

wilayah tugas. Biasanya, ada antara 3 hingga 6 wilayah tugas. Gambar 1

menggambarkan spiral model yang terdiri atas 6 wilayah tugas.

Customer Communication

Pada tahapan ini dilakukan komunikasi dengan customer yang merupakan

dosen pembimbing dari penulis. Komunikasi dilakukan dengan tujuan

mengetahui kebutuhan-kebutuhan sistem yang akan dikembangkan.

Planning

Tahap perencanaan merupakan tahap untuk mendefenisikan sumber daya,

timelines, dan informasi lain yang terkait dalam pengembangan sistem bank soal.

Perancangan dimulai dengan melakukan identifikasi perangkat lunak dan

perangkat keras yang dibutuhkan dalam pengembangan sistem. Spesifikasi

perangkat lunak dan perangkat keras pengembangan sistem ini dapat dilihat pada

Tabel 1. Sistem ini dijadwalkan selesai pada Juni 2014.

Risk Analysis

Tahapan ini merupakan tahapan untuk menilai resiko teknis dan manajemen

selama pengembangan sistem. Pada pengembangan sistem bank soal ini tidak

dilakukan tahapan risk analysis karena sistem dikembangkan dengan scope yang

kecil, sistem belum dirilis, dan sistem belum digunakan.

Engineering

Representasi dari sistem bank soal akan dihasilkan pada tahapan ini.

Tahapan ini meliputi perancangan content, perancangan arsitektur, perancangan

navigasi dan perancangan antarmuka. Perancangan content merupakan

perancangan database yang isinya disesuaikan dengan kebutuhan sistem bank soal.

Perancangan arsitektur berkaitan dengan struktur kinerja sistem. Perancangan

navigasi merupakan tahap untuk menentukan jalur navigasi ke setiap halaman

sistem bank soal.

Tabel 1 Spesifikasi perangkat keras dan perangkat lunak

pengembangan sistem

Perangkat Keras Perangkat Lunak

Hard disk 500GB

Processor Intel Core i5 M430

RAM DDR3 2GB

VGA Nvidia GeForce 310M

Sistem operasi Windows 8.1 32 bit

XAMPP 1.8.1 (Apache 2.4.3,

MySQL 5.5.27, PHP 5.4.7)

Yii Framework 1.1.14

IDE Netbeans 8.0

Page 15: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

5

Construction and release

Tahapan ini merupakan tahap untuk mengkonstruksi, test, install, dan

memberikan user support dari sistem bank soal yang telah dikembangkan. Sistem

bank soal akan dikembangkan dengan menggunakan bahasa pemrograman PHP

dan DBMS MySQL. Hasil pengembangan sistem bank soal akan diuji dengan

beberapa kasus uji yang disesuaikan dengan kebutuhan dan fitur yang

dikembangkan.

Customer evaluation

Sistem bank soal yang telah dikembangkan akan dievaluasi oleh custuomer.

Hasil evaluasi akan menentukan apa yang akan dilakukan untuk pengmbangan

selanjutnya. Evaluasi dilakukan dengan mendemokan sistem atau fitur yang telah

dikembangkan kepada customer.

HASIL DAN PEMBAHASAN

Prototype 1

Customer Communication

Hasil komunikasi menunjukkan bahwa customer menginginkan sebuah

sistem bank soal berbasis web yang memiliki fitur perbanyakan soal untuk

mempermudah dalam pembuatan banyak soal dengan bentuk dan kesulitan yang

sama.

Engineering

Kebutuhan sistem dapat dikelompokkan menjadi kebutuhan fungsional dan

kebutuhan non-fungsional. Kebutuhan non-fungsional sistem disajikan pada Tabel

2. Kebutuhan fungsional sistem dipaparkan dalam Tabel 3.

Kebutuhan-kebutuhan sistem akan diterjemahkan ke dalam bentuk ERD dan

sequence diagram. ERD yang dihasilkan dapat dilihat pada Gambar 2. Alur

pembuatan soal bertipe Code digambarkan oleh sequence diagram yang dapat

dilihat pada Gambar 3. Hasil perancangan antarmuka sistem dapat dilihat pada

Lampiran 1.

Tabel 2 Kebutuhan non-fungsional sistem

Kode Parameter Kebutuhan

KNF-01 Avaibility Sistem dapat beroperasi dan diakses kapan saja

tanpa ada masalah, dengan asusmsi tidak terjadi

hal-hal mengganggu akses pada server

KNF-02 Security Keamanan sistem menggunakan username dan

password

Page 16: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

6

Class diagram tidak dirancang pada pengembangan sistem bank soal ini,

karena sistem bank soal dikembangkan dengan PHP framework Yii. Yii

merupakan framework PHP yang menggunakan arsitektur model-view-controller

(MVC). MVC bertujuan memisahkan logika bisnis dari pertimbangan antarmuka

pengguna agar para pengembang lebih mudah mengubah setiap bagian tanpa

mempengaruhi yang lain. Dalam MVC model menggambarkan informasi data dan

aturan bisnis, view berisi elemen antarmuka pengguna sepert teks dan input form,

sementara controller mengatur komunikasi antara model dan view. Suatu model

pada Yii mewakili suatu objek data tunggal. Model ini dapat berupa suatu baris

data pada tabel dalam database atau sebuah form HTML dengan field input user.

Setiap field atau objek data diwakili oleh sebuah atribut model. Atribut memiliki

sebuah label dan dapat divalidasi terhadap sekumpulan aturan. Yii

mengimplementasikan 2 jenis model, model form dan active record. Active record

merupakan sebuah pattern yang digunakan untuk mengabstraksi akses database

dalam bentuk object-oriented. Active record pattern umumnya ditemukan pada

sistem yang menyimpan datanya pada relational database. Dengan menggunakan

active record pattern setiap tabel pada database akan dibungkus menjadi sebuah

class yang merupakan turunan dari class active record. Pada Yii setiap objek

active record adalah instance dari CActiveRecord yang mewaklili sebuah baris

tunggal dalam tabel database (Yii 2010).

Tabel 3 Kebutuhan fungsional sistem

Kode Kebutuhan

KF-01 Sistem yang mampu menyimpan data soal dengan berbagai tipe soal

secara dinamis dan menampilkan soal berdasarkan tipe soal

KF-02 Sistem yang mampu menyimpan dan menampilkan template soal yang

bisa digunakan untuk banyak dataset soal (tipe soal Code)

KF-03 Sistem yang mampu menghasilkan dataset untuk tipe soal code

KF-04 Sistem yang dapat menampilkan capaian pembelajaran dan soal yang

dimiliki oleh suatu mata kuliah

Gambar 2 ERD prototype 1

Page 17: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

7

Construction and release

ERD hasil tahapan sebelumnya diubah ke dalam bentuk tabel-tabel pada

database. Hasil implementasi ERD yang digambarkan oleh database diagram

ditunjukkan pada Gambar 4. Hasil implementasi terhadap form pembuatan soal

bertipe Code dapat dilihat pada Lampiran 2. Soal bertipe Code merupakan sebuah

soal yang menyimpan teks soal berisikan kode-kode yang telah ditentukan format

penulisannya, dan ketika ditampilkan kode-kode tersebut akan digantikan oleh

suatu nilai dataset yang diambil dari database secara acak. Terdapat 2 jenis

dataset pada tipe soal Code, yaitu dataset input dan dataset output. Dataset input

berisikan nilai-nilai yang mempengaruhi nilai dataset output dan dataset output

akan diubah menjadi textbox ketika ditampilkan.

Berikut adalah format penulisan kode untuk dataset input dan output pada

soal bertipe Code.

INPUT: {INPUT:name"<nama_dataset>";type="<INT|FLOAT|VAR>";para

m="<parameter>";}

OUTPUT: {OUTPUT:name="<nama_dataset>";type="<INT|FLOAT|VAR>";gr

ade="<value_grade>";}

Contoh teks soal : Jika a = {INPUT:name="a";type="INT";param="10 20";} dan

b = {INPUT:name="b";type="INT";param="1 5 25";}

Maka: Hasil bagi dari a/b = {OUTPUT:

name="hasil";type="INT"; grade="30";} Sisa hasil bagi

dari a/b = {OUTPUT: name="sisa";type="INT";grade="70";}

Gambar 3 Sequence diagram pembuatan tipe soal Code

Page 18: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

8

Name pada dataset digunakan sebagai penciri dataset pada teks soal,

sehingga dengan adanya name dapat mempermudah dalam mengganti kode-kode

dataset dengan suatu nilai atau textbox ketika soal ditampilkan. Type pada kode

dataset input hanya dijadikan penanda tipe data yang akan dihasilkan program dan

tidak mempengaruhi nilai apa pun pada soal. Type pada kode dataset output selain

sebagai penanda tipe data output nilai yang dihasilkan, juga dijadikan sebagai cara

mengecek jawaban soal yang dikirimkan. Untuk tipe INT dan VAR jawaban akan

dicek berdasarkan kesamaan jawaban yang dikirim dengan dataset output yang

tersimpan. Pengecekan jawaban dataset tipe VAR dengan cara seperti ini tentu

saja mempunyai banyak kekurangan. Jawaban yang dikirim harus benar-benar

sama penulisannya dengan dataset output yang disimpan, ketika terdapat

perbedaan letak space dan jumlah space akan mengakibatkan pengecekan

jawaban menghasilkan nilai 0 atau salah. Untuk dataset output bertipe FLOAT,

jawaban akan dicek kebenarannya dengan menghitung nilai galat relatif, ketika

galat relatif antara dataset output dan jawaban yang dikirim lebih kecil dari 0.05

maka jawaban dianggap benar, begitu juga sebaliknya, ketika galat relatif lebih

besar dari 0.05 maka jawaban akan dianggap salah.

Grade pada dataset output merupakan bobot nilai yang diberikan untuk

setiap jawaban benar dari dataset output yang ada pada teks soal. Pemberian

bobot pada dataset output bertujuan memberikan nilai yang adil untuk setiap

kotak isian pada suatu soal Code, sehingga untuk kotak isian dengan jawaban

yang relatif lebih sulit bisa saja mempunyai bobot nilai yang lebih tinggi. Pembuat

soal dapat dengan bebas memberikan nilai bobot untuk setiap dataset output.

Pemberian nilai untuk jawaban satu soal Code dilakukan dengan cara membagi

total bobot jawaban benar oleh user dengan total seluruh grade dataset output

pada soal tersebut.

Gambar 4 Database diagram prototype 1

Page 19: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

9

Dataset pada soal bertipe Code dihasilkan oleh program eksternal yang

dipanggil oleh sistem untuk dijalankan. Program eksternal ini dibuat oleh user

yang akan membuat soal. Setiap soal akan memiliki 2 jenis program eksternal,

yaitu program input dan program output. Sistem akan memanggil program

bersangkutan dengan argument parameter masing-masing dataset input dan

dataset output. Program input akan menangani semua dataset input yang muncul

pada teks soal dan akan menghasilkan nilai masing-masing dataset input sebanyak

nilai count. Output dari program input akan dicetak berdasarkan urutan

kemunculan kode dataset input pada teks soal, dan dipisahkan oleh new line untuk

masing-masing kelompok dataset. Masing-masing kelompok output dari program

input akan digunakan oleh program output untuk menghasilkan dataset output,

jadi sistem akan menjalankan program output sebanyak nilai count. Parameter

yang dikirimkan ke program diurutkan berdasarkan urutan kemunculan pada teks

soal. Masing-masing output dari program harus dicetak berdasarkan urutan

kemunculan kode dataset output pada teks soal. Berikut ini adalah format

command-line argument pemanggilan program eksternal oleh sistem.

INPUT : nama_program.exe <count> <parameter>*

contoh : input.exe 100 10 20 15 25

OUTPUT : nama_program.exe <input_dataset>+

contoh: output.exe 14 7

Contoh source program untuk dataset input dapat dilihat pada Lampiran 3.

Contoh source program untuk dataset output dapat dilihat pada Lampiran 4. Hasil

pengujian yang dilakukan pada tahapan ini dapat dilihat pada Tabel 4.

Customer Evaluation

Hasil tahapan sebelumnya akan dievaluasi oleh customer. Evaluasi yang

diberikan adalah perbaikan terhadap antarmuka sistem.

Prototype 2

Custummer Communication

Customer menginginkan soal yang telah dibuat akan ditampilkan dalam

bentuk kuis. Agar kuis yang dibuat terjamin kerahasiaan dan keabsahannya

diperlukan pembagian tingkatan pengguna sistem bank soal.

Tabel 4 Hasil pengujian prototype 1

No. Test Case Status

1 CRUD mata kuliah Berhasil

2 CRUD tujuan instruksional Berhasil

3 Create dan update tipe soal Code Berhasil

4 Cek jawaban tipe soal Code Berhasil

3 Validation form Berhasil

Page 20: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

10

Engineering

Kebutuhan fungsional dari prototype 2 ini dipaparkan pada Tabel 5. Sistem

ini memiliki 3 tingkatan pengguna, yaitu teacher, student, dan admin. Pembagian

hak akses ini berdasarkan business rule sistem. Gambaran business rule ini dibuat

dalam bentuk use case diagram yang dapat dilihat pada Gambar 5. Setiap student

dan teacher hanya dapat membuka halaman mata kuliah dan kuis yang diikutinya.

Seorang admin hanya dapat memanipulasi data user dan data mata kuliah. ERD

yang dihasilkan dapat dilihat pada Gambar 6. Selain ERD, pada tahapan ini juga

dihasilkan sequence diagram yang dapat dilihat pada Gambar 7. Sequence

diagram yang dihasilkan adalah skenario sistem diwaktu student memulai dan

menjawab suatu kuis.

Tabel 5 Kebutuhan fungsional prototype 2

Kode Kebutuhan

KF-05 Sistem yang mampu menampilkan soal dalam bentuk kuis dan

memberi grade atau nilai kuis yang dikerjakan user

KF-06 Sistem yang mampu menampilakan data soal berdasarkan kuis dan

mata kuliah

KF-07 Sistem yang mampu menampilkan nilai atau grade hasil

pengerjaan kuis

KF-08 Sistem yang mampu melakukan ekspor data nilai ke file Excel

KF-09 Sistem yang mampu membedakan hak akses user berdasarkan user

level, mata kuliah yang diikuti, dan grup student

KF-10 Sistem yang mampu melakukan impor file CSV untuk input data

student beserta grup pada suatu mata kuliah

Gambar 5 Use case diagram sistem bank soal

Page 21: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

11

Pengguna sistem harus memasukkan username dan password untuk dapat

mengakses halaman sistem. Struktur navigasi sistem dapat dilihat pada Lampiran

5. Proses-proses yang terjadi untuk setiap user pada sistem digambarkan dengan

flow chart dapat dilihat pada Lampiran 6.

Construction and Release

Hasil implementasi dari ERD tahapan design berupa database diagram

dapat dilihat pada Lampiran 7. Database diagram yang dihasilkan merupakan

hasil normalisasi akhir, kecuali pada tabel user_attempt. Tabel user_attempt

merupakan tabel untuk menyimpan data jawaban kuis berdasarkan percobaan

melakukan jawaban. Tabel ini sengaja tidak dinormalkan agar dapat menyimpan

jawaban dari berbagai tipe soal dan atribut pendukung suatu soal. Tipe soal Code

dan pilihan bisa saja memiliki banyak jawaban. Atribut answer pada tabel

user_attempt akan berisikan array jawaban kuis yang telah diubah ke dalam

bentuk text dengan fungsi PHP serialize. Ketika dipanggil kembali nilai dari

atribut ini dapat dengan mudah dikembalikan lagi ke dalam bentuk array dengan

fungsi deserialize.

Halaman form untuk pembuatan suatu kuis dapat dilihat pada Lampiran 8.

Waktu buka dan waktu tutup pada kuis merupakan waktu kuis dapat mulai diakses

dan waktu batas kuis tidak bisa diakses lagi. Durasi merupakan lamanya waktu

yang disediakan untuk mengerjakan suatu kuis. Jumlah percobaan melakukan kuis

dibatasi sebanyak nilai maksimum percobaan. Penalty factor merupakan faktor

pengali untuk potongan nilai terhadap percobaan user mengirim jawaban soal.

Nilai akan dipotong berdasarkan penalty factor dan banyaknya percobaan

mengirimkan jawaban oleh student. Jika penalty factor sama dengan 0, student

dapat dengan bebas melakukan pengiriman jawaban tanpa ada potongan nilai pada

setiap percobaan pengiriman jawaban.

Gambar 6 ERD prototype 2

Page 22: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

12

Suatu kuis dapat memiliki banyak soal dengan tipe soal yang bervariasi.

Soal pada kuis juga dapat memiliki grade yang bervariasi untuk setiap butir

soalnya. Hal ini dapat digunakan untuk membedakan nilai atau grade berdasarkan

tingkat kesulitan suatu soal. Pada halaman pengaturan soal pada kuis (Lampiran

9), terdapat fitur untuk filter soal berdasarkan capaian pembelajaran. Hal ini dapat

mempermudah teacher untuk memilih soal yang akan ditambahkan pada suatu

mata kuliah.

Setelah user mengerjakan kuis, sistem akan menyimpan data kuis ke dalam

database, data yang disimpan dalam database antara lain jawaban user, attempt

menjawab suatu soal pada kuis, attempt pengerjaan kuis, nilai jawaban soal,

atribut pendukung suatu soal, dan waktu menjawab soal. Terdapat 2 halaman

untuk menampilkan data nilai user pada sistem bank soal. Pertama, halaman nilai

untuk seluruh kuis pada mata kuliah. Halaman ini akan menampilkan seluruh kuis

pada mata kuliah untuk seluruh user yang terdaftar. Nilai kuis dikelompokkan

berdasarkan nama kuis, untuk itu diharapkan kuis memiliki nama yang unik untuk

setiap mata kuliah, kecuali jika kuis dengan nama yang sama tapi diperuntukkan

untuk grup student yang berbeda. Kedua, halaman nilai masing-masing jawaban

soal pada suatu kuis. Nilai jawaban soal akan dikelompokkan berdasarkan nama

soal, untuk itu diharapkan setiap soal pada suatu kuis memiliki nama yang

berbeda.

Sistem ini belum memiliki fitur registrasi user, user hanya dapat

ditambahkan oleh admin yang telah terdaftar pada sistem. Penambahan student

dan teacher hanya bisa dilakukan setelah memilih mata kuliah yang akan diikuti

atau dikelola oleh user. Teacher yang mengelola suatu mata kuliah hanya dapat

ditambahkan oleh admin atau teacher yang telah terdaftar pada mata kuliah

tersebut. Untuk menambahkan student dilakukan dengan menggunakan file CSV,

file ini berisikan nomor induk, nama, dan grup semua student untuk mata kuliah

yang bersangkutan. Setiap item dipisahkan dengan tanda koma dan setiap baris

data mahasiswa dipisahkan oleh new line. Format penulisan isi file CSV adalah

sebagai berikut:

Format: <nomor_induk>,<nama>,<grup><newline>

Gambar 7 Sequence diagram memulai dan menjawab kuis

Page 23: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

13

Hasil pengujian untuk tahapan ini dipaparkan dalam Tabel 6. Hasil

pengujian pada impor grup student dengan total 20 row data mengalami error

max_execution_time. Hal ini disebabkan karena sistem melakukan enkripsi

password dengan fungsi hash untuk setiap student yang belum terdaftar. Masalah

ini tidak akan terjadi jika student telah terdaftar pada sistem. Untuk mengatasi hal

tersebut, diberikan password yang sama untuk setiap user yang dimasukkan dan

belum terdaftar pada sistem.

Customer Evaluation

Customer cukup puas dengan sistem yang dihasilkan pada tahapan ini,

namun customer menginginkan tambahan tipe soal lain agar adanya variasi jenis

soal pada kuis yang akan disajikan.

Prototype 3

Engineering

Kebutuhan fungsional yang ditambahkan untuk prototype ini disajikan pada

Tabel 7. Tipe soal pilihan merupakan tipe soal pilihan ganda yang memiliki

pilihan jawaban yang bervariasi dan kemungkinan jawaban yang bisa lebih dari

satu jawaban untuk setiap soal. Soal isian merupakan soal dengan isian singkat.

Tabel 6 Hasil pengujian prototype 2

No. Test Case Status

1 Create kuis, tambah dan delete soal pada kuis Berhasil

2 User level akses Berhasil

3 Filter data soal berdasarkan capaian pembelajaran Berhasil

4 Preview kuis Berhasil

5 Mulai mengerjakan kuis dan submit semua

jawaban

Berhasil

6 Auto submit semua jawaban ketika durasi kuis

habis

Berhasil

7 Simpan jawaban dan nilai ke database Berhasil

8 Penalty factor jawaban kuis Berhasil

9 View dan ekspor data nilai Berhasil

10 Impor dari file CSV 10 row student yang belum

terdaftar

Berhasil

11 Impor dari file CSV 100 row student yang telah

terdaftar

Berhasil

12 Impor dari file CSV 20 row student yang belum

terdaftar

Tidak Berhasil

13 Tambah dan hapus teacher ke- dan dari mata

kuliah

Berhasil

14 Hapus student dari mata kuliah Berhasil

15 Hapus user dari sistem Berhasil

16 Ubah profil user Berhasil

Page 24: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

14

Soal isian ini bisa saja memiliki kemungkinan jawaban yang lebih dari satu

jawaban.

Tipe soal isian dan pilihan menggunakan tabel yang sama untuk menyimpan

data nya yaitu tabel answer. Tabel ini berelasi dengan tabel question dengan relasi

one-to-many, sehingga satu soal pilihan dan isian bisa saja memiliki kemungkinan

jawaban yang lebih dari satu jawaban benar.

Construction and Release

Database diagram yang dihasilkan pada tahapan ini dapat dilihat pada

Lampiran 10. Keterangan untuk masing-masing atribut pada tabel dapat dilihat

pada Lampiran 11. Hasil implementasi untuk halaman form pembuatan tipe soal

pilihan dapat dilihat pada Lampiran 12. Ketika ditampilkan pada kuis, setiap

pilihan pada tipe soal pilihan akan diubah menjadi checkbox atau radio button

tergantung jumlah pilihan jawaban benar pada soal. Jika hanya terdapat satu

pilihan jawaban benar, pilihan akan ditampilkan dengan radio button. Jika lebih

dari satu pilihan jawaban benar, pilihan akan ditampilkan dengan checkbox.

Hasil implementasi untuk halaman form pembuatan tipe soal isian dapat

dilihat pada Lampiran 13. Tipe soal isian memiliki satu kotak jawaban untuk

masing-masing soalnya. Tipe soal isian dapat memiliki beberapa kemungkinan

jawaban beserta bobot untuk masing-masing kemungkinan jawaban. Hal tersebut

dapat berguna jika suatu soal memiliki lebih dari satu kemungkinan jawaban, dan

Tabel 7 Kebutuhan fungsional prototype 3

Kode Kebutuhan

KF-11 Sistem yang mampu menyimpan dan menyajikan berbagai tipe

soal.

KF-12 Sistem yang mampu menyimpan dan menyajikan tipe soal

pilihan dengan jumlah pilihan dan jawaban benar yang

bervariasi.

KF-13 Sistem yang mampu menyimpan dan menyajikan tipe soal isian

dengan kemungkinan jawaban benar lebih dari satu jawaban.

Tabel 8 Hasil pengujian prototype 3

No. Test Case Status

1 Create tipe soal pilihan dengan satu pilihan benar Berhasil

2 Create tipe soal pilihan dengan pilihan benar lebih

dari 1

Berhasil

3 Create tipe soal isian dengan 1 kemungkinan jawaban

benar

Berhasil

4 Create tipe soal isian dengan kemungkinana jawaban

lebih dari 1

Berhasil

5 Update data tipe soal pilihan Berhasil

6 Update data tipe soal isian Berhasil

7 Menampilkan soal isian dan pilihan pada kuis Berhasil

8 Memberi nilai jawaban soal pilihan dan isian Berhasil

Page 25: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

15

masing-masing kemungkinan jawaban bisa saja memiliki tingkat kebenaran

jawaban yang berbeda.

Hasil pengujian pada tahapan ini dipaparkan dalam Tabel 8. Seluruh kasus

uji yang dilakukan tidak mengalami kegagalan, dengan demikian dapat dikatakan

bahwa sistem dapat berjalan dengan baik.

Customer Evaluation

Sistem yang dikembangkan sudah memenuhi kebutuhan-kebutuhan dasar

untuk sebuah sistem bank soal. Oleh sebab itu tahap pengembangan sistem

berakhir pada tahapan ini.

SIMPULAN DAN SARAN

Simpulan

Sistem bank soal yang dikembangkan dapat menyimpan dan menyajikan

berberapa tipe soal dalam bentuk kuis. Terdapat 3 tipe soal pada sistem yang telah

dikembangkan, yaitu tipe Code, pilihan, dan isian. Tipe soal Code dapat

memperbanyak soal dari sebuah template soal dengan mengganti kode-kode pada

teks soal dengan dataset yang telah dihasilkan oleh program eksternal.

Saran

Penelitian ini masih harus dikembangkan dan diperbaiki pada penelitian

selanjutnya. Berikut adalah saran-saran yang dapat dilakukan untuk

pengembangan sistem berikutnya:

1 Perbaikan antarmuka sistem.

2 Penambahan fitur registrasi user.

3 Penambahan tipe-tipe soal lainnya.

4 Penambahan fitur untuk ekspor soal-soal pada kuis ke dalam bentuk file

PDF atau Word.

5 Penambahan fitur autentikasi terpusat menggunakan single sign-on

seperti pada website IPB.

6 Penambahan fitur penambahan soal secara acak untuk kuis.

7 Penambahan fitur regrade untuk kuis.

Page 26: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

16

DAFTAR PUSTAKA

Becker JD. 2006. Digital equity in education: A multilevel examination of

difference in and relationship between computer access, computer use and

state-level technology policies. Education Policy Analysis Archives. 12(3): 1-

38.

Pressman RS. 2001. Software Engineering A Practitioner’s Approach. Ed Ke-5.

New York (US): Mc Graw-Hill.

[Puspendik] Pusat Penilaian Pendidikan. 2007. Panduan Penulisan Soal Pilihan

Ganda. Jakarta (ID): Pusat Penilaian Pendidikan BALITBANG-DEPDIKNAS.

Salend SJ. 2009. Technology-bases classroom assestments: alternative to testing.

Teaching Exceptional Children. 41(6), 48-58.

Thompson SJ, Johnstone CJ, Thurlow ML. 2004. Universal design applied to

large-scale assessments (Synthesis Report 44). Minneapolis (US): Universitty

of Minnesota, National Center on Educational Outcomes.

Thurlow M, Lazarus SS, Albus D, Hosgson J. 2010. Computer-based testing:

practices and considerations (Synthesis Report 78). Minneapolis (US):

University of Minnesota, National Center on Educational Outcomes.

[Yii] Yii Software LLC. 2010. Panduan Definitif Yii. [Internet]. [diunduh 28 Juli

2004]. Dapat diunduh dari: http://www.yiiframework.com/doc/guide/1.1/id/.

Page 27: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

17

Lampiran 1 Rancangan antarmuka sistem

Header

Breadcumb / navigasi

Sidebar menu Content

Footer

Lampiran 2 Halaman form pembuatan tipe soal Code

Page 28: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

18

Lampiran 3 Contoh source program input

#include <stdio.h>

#include <ctype.h>

int main(int argc, char *argv[]){

int a, b,a2,b2, count, j, i;

if (argc ==6){ //cek jumlah argument+1 dikirim sama

dengan jumlah argument yg seharusnya

count = atoi(argv[1]);//count dari input form

create soal

a = atoi(argv[2]);//parameter 1 input name a

a2 = atoi(argv[3]);//parameter 2 input name a

b = atoi(argv[4]);//parameter 1 input name b

b2 = atoi(argv[5]);//parameter 2 input name b

/** algoritme untuk menghasilkan input dataset

sebanyak nilai count dari form input create soal, ubah

sesuai keinginan

*/

for(i= 0;i<count;i++) {

if(a<=a2 && b<=b2 ){

a = a+6;

b = a-b;

printf("%d %d \n", a, b);//cetak hasil

nilai dataset input, urutan cetak dataset berdasrkan urutan

dataset input pada question text

}

}

}

else printf("Jumlah argumen tidak cocok");

return 0;

}

Page 29: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

19

Lampiran 4 Contoh source program output

#include <stdio.h>

#include <ctype.h>

int main(int argc, char *argv[]){

int a, b, c, d;

if (argc ==3){

a = atoi(argv[1]); //input dataset a

b = atoi(argv[2]); //input dataset b

/** algoritma untuk menghasilkan output dataset

dari input yg dikirim/

c = a/b;

d = a%b;

printf("%d %d", c,d); //cetak hasil output,

diurutkan berdasarkan urutan output pada questiontext

}

else printf("Jumlah argumen tidak cocok");

return 0;

}

Page 30: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

20

Lampiran 5 Struktur navigasi sistem bank soal

Struktur navigasi untuk teacher

Struktur navigasi untuk admin

Struktur navigasi untuk student

Page 31: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

21

Lampiran 6 Flow chart sistem bank soal

Flow chart untuk teacher

Page 32: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

22

Lampiran 6 Lanjutan

Flow chart untuk admin

Flow chart untuk student

Page 33: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

23

Lampiran 7 Database diagram prototype 2

Page 34: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

24

Lampiran 8 Halaman form pembuatan kuis

Lampiran 9 Halaman pengaturan soal pada kuis

Page 35: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

25

Lampiran 10 Database diagram prototype 3

Page 36: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

26

Lampiran 11 Keterangan atribut tabel database

Tabel mata_kuliah

Atribut Type data Keterangan

id Integer Primary key

matkul Varchar (100) Nama mata kuliah

kode_matkul Varchar (10) Kode untuk mata kuliah

deskripsi text Deskripsi mata kuliah

Tabel tujuan_instruksional

Atribut Type data Keterangan

id Integer Primary key

tik Text Isi tujuan instruksional

id_matkul Integer Id mata kuliah

id_parent Integer Id tujuan instruksional

Tabel question

Atribut Type data Keterangan

id Integer Primary key

name Varchar (10) Nama untuk soal

questiontext Text Teks soal

type Varchar (100) Tipe soal

timecreated Datetime Tanggal dibuat

timemodified Datetime Tanggal diperbarui

createdby Integer Id user pembuat soal

modifiedby Integer Id user yang memodifikasi soal

id_matkul Integer Id mata kuliah

Tabel question_type_code

Atribut Type data Keterangan

id Integer Primary key

id_question Integer Id soal

output Varchar (250) Path program dataset output

input Varchar (250) Path program dataset input

Page 37: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

27

Lampiran 11 Lanjutan

Tabel question_dataset_input

Atribut Type data Keterangan

id Integer Primary key

id_question Integer Id

name Varchar (25) Nama dataset input

value Varchar (200) Nilai dataset

no Integer No dataset yang dihasilkan

Tabel question_dataset_output

Atribut Type data Keterangan

id Integer Primary key

id_question Integer Id soal

name Varchar (25) Nama dataset output

type Varchar (10) Type data dataset

value Varchar (200) Nilai dataset

grade Integer Nilai / grade yang diberikan ketika

jawaban benar

no Integer No dataset yang dihasilkan

Tabel question_answer

Atribut Type data Keterangan

id Integer Primary key

id_question Integer Id soal

answer Tinytext Pilihan-pilihaan untuk jawaban soal

grade double Nilai / grade untuk jawaban

Tabel quiz_user_attempts

Atribut Type data Keterangan

attempt_quiz Integer Percobaan kuis ke-

id_user Integer Id user yang mengerjakan kuis

id_quiz Integer Id kuis

id_question Integer Id soal

answer Tinytext Jawaban pertanyaan kuis yang dikirim

attempt Integer Percobaan mengirim jawaban soal ke-

grade Float Nilai yang diperoleh

att_qtype Tinytext Atribut yang dimiliki soal

time_attempt Datetime Waktu mengirim jawaban soal

time_finish Datetime Waktu berakhirnya kuis.

Page 38: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

28

Lampiran 11 Lanjutan

Tabel quiz

Atribut Type data Keterangan

id Integer Primary key

name Varchar (100) Nama untuk kuis

open_time Datetime Waktu buka kuis

close_time Datetime Waktu tutup kuis

duration Integer Lamanya waktu mengerjakan kuis

penalty Float Penalty factor

info Text Info tambahan untuk kuis

id_matkul Integer Id mata kuliah

max_attempt_quiz Integer Maksimum pengerjaan kuis

student_group Integer Grup student

max_grade Integer Nilai maksimum yang bisa didapatkan

Tabel quiz_user_grade

Atribut Type data Keterangan

id_matkul Integer Id mata kuliah

id_quiz Integer Id kuis

id_user Integer Id user

total_grade Integer Total nilai kuis

Tabel user

Atribut Type data Keterangan

id Integer Primary key

username Varchar (128) Username

password Varchar (128) Password

level Integer Level akses

nama Varchar (50) Nama user

nomor_induk Varchar (20) Nomor induk user

Page 39: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

29

Lampiran 12 Halaman form pembuatan tipe soal pilihan

Page 40: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

30

Lampiran 13 Halaman form pembuatan tipe soal isian

Page 41: SISTEM BANK SOAL DENGAN TIPE SOAL MENGGUNAKAN … · jawaban yang lebih dinamis dalam waktu singkat. Satu soal dalam sistem ini dapat dikaitkan dengan beberapa capaian pembelajaran

31

RIWAYAT HIDUP

Penulis dilahirkan di Padang pada tanggal 2 November 1988 dari ayah Drs

H Syafrinal dan ibu Nurmainis. Penulis merupakan anak keempat dari empat

bersaudara.

Pada tahun 2007 penulis menamatkan pendidikan di Madrasah Aliyash

Negri (MAN) Koto Baru Padang Panjang. Penulis melanjutkan pendidikan pada

tahun 2008 di Institut Pertanian Bogor melalui jalur Seleksi Nasional Masuk

Perguruan Tinggi Negri (SNMPTN) dan diterima sebagai mahasiswa Departemen

Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam.

Pada bulan Juli hingga Agustus 2011, penulis melaksanakan kegiatan

Praktik kerja Lapangan di BPDAS Cimanuk-Citanduy.