• Tidak ada hasil yang ditemukan

Sistem bank soal dengan tipe soal code menggunakan framework yii

N/A
N/A
Protected

Academic year: 2017

Membagikan "Sistem bank soal dengan tipe soal code menggunakan framework yii"

Copied!
41
0
0

Teks penuh

(1)

SISTEM BANK SOAL DENGAN TIPE SOAL

CODE

MENGGUNAKAN

FRAMEWORK

YII

RONI RAHMON

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(2)
(3)

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.

(4)

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

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.

(5)

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

(6)

Penguji :

(7)

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

(8)

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.

(9)
(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

5 Constructionand 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

(16)

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

(17)

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";}

(18)

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.

(19)

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

(20)

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

(21)

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.

(22)

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>

(23)

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

14 Hapus student dari mata kuliah Berhasil

15 Hapus user dari sistem Berhasil

(24)

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

(25)

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.

(26)

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.

(27)

17 Lampiran 1 Rancangan antarmuka sistem

Header

Breadcumb / navigasi

Sidebar menu Content

Footer

(28)

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

/** algoritme untuk menghasilkan input dataset

sebanyak nilai count dari form input create soal, ubah sesuai keinginan

nilai dataset input, urutan cetak dataset berdasrkan urutan

dataset input pada question text

}

}

}

else printf("Jumlah argumen tidak cocok"); return 0;

(29)

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;

(30)

20

Lampiran 5 Struktur navigasi sistem bank soal Struktur navigasi untuk teacher

Struktur navigasi untuk admin

(31)

21 Lampiran 6 Flow chart sistem bank soal

(32)

22

Lampiran 6 Lanjutan Flow chart untuk admin

(33)
(34)

24

Lampiran 8 Halaman form pembuatan kuis

(35)
(36)

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

(37)

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

(38)

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

(39)
(40)

30

(41)

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.

Gambar

Gambar 1  Model pengembangan spiral (Pressman 2001)
Tabel 2  Kebutuhan non-fungsional sistem
Gambar 2  ERD prototype 1
Gambar 3  Sequence diagram pembuatan tipe soal Code
+7

Referensi

Dokumen terkait

Dari data yang diperoleh memperlihatkan laju pertumbuhan PDRB selama periode 1987-2000 sebesar 8,79 persen pertahun, sedangkan dalam periode yang sama ekspor menunjukkan

Apakah anda pernah menolak perintah dari Kyai atau ustadz.. Dalam lingkungan pesantren pasti ada anak/santri yang mengajak untuk melanggar peraturan/perintah kyai, bagaimana anda

Tampilan Program Jika Pengguna Memilih untuk Menentukan Pegawai yang Mendapat Pengobatan melalui NIP (Hasil Pencarian Data Pegawai dengan NIP = 97.01.233) .... Hasil Pencarian

Dalam ilmu ekonomi faktor modal adalah salah satu faktor produksi yang diperlukan dalam suatu produksi untuk menghasilkan barang atau jasa dengan tujuan

Ada beberapa tanda seperti kekeruhan yang luas pada parenkim paru yang menyerupai tanda “ground-glass appearance” dari sindrom distress pernapasan. Tanda ini tidak spesifik

Konsentrasi 2,4-D 2 ppm adalah konsentrasi yang paling efektif untuk tahap proliferasi kalus embriogenik yang ditandai dengan terbentuknya fase skutelar pada umur

– Intel membayar suku bunga 5.2% kepada pemberi pinjaman – Intel setuju untuk menukar suku bunga pinjamannya dengan – Intel setuju untuk menukar suku bunga pinjamannya dengan

Perusahaan - perusahaan sepeda motor di Indonesia harus bersaing secara kompetitif untuk mempertahankan produk mereka di pasaran, oleh karena