4
siswa, sementara pada sisi siswa dapat mengetahui hingga batas mana kemampuan pemahaman siswa akan materi yang diberikan. 2. Tahap Analisis Hal yang paling mendasar dalam pengembangan aplikasi ini adalah bagaimana menentukan tingkat kesukaran soal. Tingkat kesukaran soal dalam aplikasi ini terbagi menjadi dua, yaitu tingkat kesukaran awal soal dan tingkat kesukaran akhir soal. Tingkat kesukaran awal soal merupakan sebuah nilai yang menjadi standar (nilai tetap) kesukaran untuk soal tertentu, sementara tingkat kesukaran akhir soal merupakan nilai yang akan selalu berubah-ubah dikarenakan akan selalu diperbarui seiring kemampuan siswa mengerjakan quiz dengan benar. Selain penentuan kesukaran soal, hal lain yang perlu ditentukan adalah metode apa yang sesuai untuk menentukan perubahan nilai tingkat kesukaran soal. 3. Tahap Desain Pada tahap ini dilakukan desain secara teknis untuk mengembangkan aplikasi. Tahap ini terdiri dari beberapa macam desain yaitu desain basis data, desain sistem fuzzy, desain proses, dan desain tampilan. Tahap desain basis data merupakan proses pembuatan struktur basis data yang akan digunakan pada aplikasi adaptive quiz system. Tahap desain sistem fuzzy adalah menentukan parameter fuzzy dan memodelkan fungsi keanggotaan yang sesuai dengan kebutuhan. Desain proses adalah menentukan proses aliran data yang terjadi ketika aplikasi berjalan. Tahap desain tampilan adalah tahap pembuatan tampilan berupa halaman web yang menarik dan mudah dimengerti oleh pengguna. 4. Tahap Implementasi Pada tahap ini dilakukan seluruh kegiatan dalam mengembangkan aplikasi ini, yaitu memproses seluruh tahap desain hingga menjadi sebuah aplikasi yang baru. 5. Tahap Pengujian Pada tahap ini, dilakukan pengujian yang berfungsi untuk mengetahui seberapa jauh aplikasi dapat digunakan oleh pengguna. Pengujian akan dilakukan dengan metode black box testing di mana pengujian terfokus pada keluaran yang dihasilkan oleh eksekusi masukan (Williams, 2004). Diagram black box testing ditampilkan pada Gambar 4.
Gambar 4 Diagram black box testing
HASIL DAN PEMBAHASAN Berdasarkan metode penelitian yang telah diterapkan maka telah dihasilkan sebuah aplikasi adaptive quiz system berbasis web. Adapun tahapan pengembangan aplikasi ini adalah sebagai berikut: 1. Tahap Perencanaan Sebuah aplikasi pembelajaran berbasis web telah banyak dikembangkan, baik itu quiz adaptive seperti QUIZIT ataupun modul quiz lainnya seperti PHPQuest yang dikembangkan oleh Max Kaplan yang dapat diunduh di http://www.dynamicdeeds.com, PHPTest yang dikembangkan oleh Brandon Tallent yang dapat diunduh di http://www.resynthesize.com/code/phptest.p hp atau modul quiz pada MOODLE. Dari sekian banyak modul quiz yang ada, penulis menitik beratkan penelitian pada aplikasi quiz adaptive. QUIZIT merupakan sebuah modul quiz adaptive. Pada aplikasi ini, masih memiliki berbagai kekurangan seperti tidak adanya fasilitas untuk memperbarui soal, tidak adanya fasilitas basis data, serta soal yang akan diberikan selanjutnya telah ditentukan di dalam kode programnya. Dengan melihat berbagai kekurangan yang ada tersebut, maka dikembangkan aplikasi adaptive quiz system. Adapun tujuan pengembangan aplikasi ini adalah untuk: • • • •
Membantu pengajar dalam menyusun materi/soal. Sebagai bahan belajar untuk siswa setelah materi/soal diberikan oleh pengajar. Menilai kemampuan siswa dalam memahami soal berdasarkan tingkat kesukaran yang diberikan. Siswa memperoleh soal yang benarbenar sesuai dengan tingkat kemampuannya, karena aplikasi mampu
5
•
menentukan soal selanjutnya berdasarkan soal yang telah dijawab sebelumnya. Memberikan umpan balik berdasarkan hasil pembelajaran siswa.
2. Tahap Analisis Pada tahap ini dilakukan analisis terhadap beberapa aplikasi quiz yaitu QUIZIT, PHPQuest, PHPTest dan modul quiz pada MOODLE. Analisis untuk aplikasi quiz non adaptive (PHPQuest, PHPTest dan modul quiz pada MOODLE) dilakukan untuk mengetahui proses masukan dan keluaran serta hubungan timbal balik antara pengguna dengan aplikasi. Hal ini dilakukan sebagai dasar pengembangan untuk modul quiz. Sedangkan analisis untuk aplikasi quiz adaptive (QUIZIT) adalah untuk mengetahui bagaimana proses adaptasi terhadap penggunanya. Dari analisis yang dilakukan, diketahui bahwa penentuan level adaptasi terhadap kemampuan penggunanya yaitu dalam hal menjawab soal adalah dengan memberikan tingkat kesukaran untuk tiap soal. Tingkat kesukaran soal telah ditentukan sebelumnya dan terintegrasi dalam skrip pemrogramannya sehingga tingkat kesukaran soal tidak dapat berubah seiring dengan jawaban pengguna. Sementara itu soal selanjutnya yang akan diberikan jika pengguna menjawab benar/salah juga telah ditentukan dalam skrip pemrogramannya. Selain itu, aplikasi juga tidak memberikan fasilitas administrasi yang digunakan untuk melakukan proses pembaharuan pada soal. 2.1 Analisis Kebutuhan Menindaklanjuti permasalahan yang ditemukan pada saat identifikasi, maka hasil yang diperoleh pada tahap ini adalah : •
Tingkat kesukaran awal soal diperoleh dengan mengujikan soal yang akan digunakan kepada beberapa siswa SMU. Rumus untuk menentukan tingkat kesukaran soal sebagai berikut: TK = JB/n di mana: TK = JB
=
n
=
Tingkat kesukaran soal Banyaknya siswa yang menjawab benar Banyaknya siswa
Jadi semakin mendekati nilai 1 (satu) maka soal dinyatakan semakin mudah, sebaliknya jika mendekati nilai 0 (nol) maka soal dinyatakan semakin sukar (Zulaiha, 2007). TK pada aplikasi ini akan menggunakan skala 0-100. Perlu dibuat halaman administrasi untuk fasilitas insert/update dan delete untuk soal dan kategori soal. Untuk menentukan perubahan nilai tingkat kesukaran soal akan digunakan metode fuzzy. Tingkat kesukaran soal yang dimaksud adalah tingkat kesukaran akhir soal.
• •
2.2 Analisis Fungsi Perangkat Lunak Berdasarkan hasil analisis dari beberapa modul quiz yang ada maka dapat disimpulkan beberapa fungsi yang umum digunakan untuk mengembangkan sebuah modul quiz. Adapun fungsi-fungsi yang terdapat pada aplikasi adaptive quiz system ini adalah sebagai berikut: • •
• •
Menyediakan fasilitas pendaftaran bagi pengguna. Menyediakan fasilitas insert/update/delete data yang berhubungan dengan manajemen soal yaitu soal pilihan ganda atau essay jawaban singkat, kategori/bab soal, waktu pengerjaan, soal harus dikerjakan, kategori soal, nilai benar, dan nilai salah. Menyediakan fasilitas penilaian yang memberikan umpan balik kepada pengguna tentang hasil belajarnya. Menyediakan fasilitas insert /update/delete parameter fuzzy.
2.3 Akuisisi Pengetahuan Pada aplikasi ini, nilai tingkat kesukaran akhir soal akan selalu diperbaharui seiring aktivitas pengguna berinteraksi dengan sistem. Metode fuzzy akan digunakan pada aplikasi ini untuk menentukan tingkat kesukaran akhir soal. Tingkat kesukaran akhir soal akan dipengaruhi oleh tingkat kesukaran awal soal dan persentase kebenaran. Variabel tingkat kesukaran awal soal dan tingkat kesukaran akhir soal dapat dikategorikan menjadi tiga yaitu sukar, sedang, dan mudah. Untuk variabel persentase kebenaran dikategorikan menjadi tiga yaitu sedikit, sedang, dan banyak. Pengumpulan data tentang kriteria ketika tingkat kesukaran soal dikategorikan sebagai sukar, sedang, dan mudah maupun kriteria
6
persentase kebenaran dikategorikan sebagai sedikit, sedang, dan banyak dilakukan dengan proses akuisisi pengetahuan terhadap pakar. Pakar, dalam hal ini dipilih dari latar belakang pendidikan yang berbeda, pengalaman yang berbeda, namun kompeten dalam bidang Biologi. Proses akuisisi pengetahuan dilakukan dengan cara mengumpulkan informasi yang dibutuhkan. Informasi tersebut berasal dari literatur, arsip hasil pembelajaran siswa terhadap mata pelajaran Biologi yang relevan, serta keahlian pakarnya itu sendiri. Proses akuisisi dimulai dengan mengumpulkan materi soal Biologi khusus untuk bab bioteknologi, standar kompetensi untuk mata pelajaran Biologi sesuai dengan kurikulum yang berlaku serta arsip hasil pembelajaran siswa untuk materi Biologi. Tahap selanjutnya adalah melakukan wawancara dengan pakar untuk bertukar pengetahuan dan pengalaman. Wawancara dilakukan dengan memberikan gambaran yang jelas tentang aplikasi adaptive quiz system, sehingga pakar dapat memahami garis besar sistem. Tahap wawancara dengan pakar dilakukan beberapa kali sehingga ada titik temu antara pewawancara dengan pakar. Setelah dilakukan beberapa kali pertemuan, diperoleh rentang nilai ketika soal itu dianggap sukar, sedang atau mudah. Dari hasil wawancara dengan pakar, diperoleh rentang nilai tingkat kesukaran sebagai berikut: TK < =30 Æsoal sukar 20 <= TK <= 80 Æsoal sedang TK >= 70 Æsoal mudah Rentang tersebut digunakan sebagai variabel fuzzy tingkat kesukaran awal soal (TKAwalSoal). TK <= 40 Æsoal sukar 25 <= TK <= 75 Æsoal sedang TK >= 75 Æsoal mudah Rentang tersebut digunakan sebagai variabel fuzzy tingkat kesukaran akhir soal (TKAkhirSoal). Selain itu juga diperoleh rentang persentase kebenaran sebagai berikut: Persentase < =40 Æsedikit 25 <= Persentase <= 75Æ sedang Persentase >= 75Æbanyak 4
Rentang tersebut digunakan sebagai variabel fuzzy persentase kebenaran (PersentaseKebenaran).
2.4 Analisis Sistem Inferensi Fuzzy Metode logika fuzzy pada penelitian ini merupakan upaya untuk mendekati mekanisme penalaran pakar dalam melakukan penarikan kesimpulan yang terkadang mengalami ketidakpastian serta kesamaran dalam mengambil keputusan sehingga menyebabkan keambiguan bahasa. Gugus fuzzy merupakan perangkat yang tepat untuk mengekspresikan ketidakpastian. Penerapan ketidakpastian dalam aplikasi ini adalah dalam pengklasifikasian pada variabel masukan dan keluaran serta pemberian nilai skor pada selang nilai setiap variabel parameternya, sehingga didapat kesimpulan yang akurat. Setelah ada aktivitas pengguna, tingkat kesukaran soal dapat berubah. Pada kasus ini digunakan penalaran fuzzy Mamdani dengan metode centroid untuk proses defuzzifikasinya. Penalaran fuzzy Mamdani dipilih karena nilai masukan (anteseden) maupun keluaran (konsekuen) sistem berupa himpunan fuzzy (Kusumadewi, 2003). Masukan fuzzy adalah tingkat kesukaran awal soal dengan persentase kebenaran siswa dalam menjawab soal. Tabel keterikatan dalam penentuan tingkat kesukaran soal seperti pada tabel pada Lampiran 1. 3. Tahap Desain 3.1 Desain Basis Data Pada tahap ini dilakukan proses pembuatan basis data yang digunakan pada aplikasi adaptive quiz system. Adapun langkah-langkah perancangan basis data yang digunakan pada aplikasi ini adalah sebagai berikut: a Perancangan secara konseptual yaitu dengan merancang sebuah diagram Entity Relationship (ER). Sebuah diagram ER terdiri dari dua komponen yaitu entitas dan relasi. Entitas merupakan individu yang mewakili sesuatu yang nyata eksistensinya dan dapat dibedakan dari sesuatu yang lain. Setiap entitas memiliki atribut yang mendeskripsikan karakteristik entitas tersebut. Sebagai contoh dalam aplikasi ini terdapat entitas user yang memiliki atribut username, nama, telepon, dan email. Komponen berikutnya adalah relasi yang menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda, misalnya user mempunyai relasi
7
dengan entitas soal. Relasi di antara kedua entitas tersebut mengandung arti bahwa user tersebut sedang mengerjakan soal. Pada tahap ini ditentukan pula derajat relasi/kardinalitas dari tiap-tiap entitas. Dari identifikasi entitas, atribut, dan relasi diperoleh diagram ER seperti disajikan pada Lampiran 2. b Perancangan lojik yaitu transformasi model ER ke model relasional. Pada tahap ini semua entitas distrukturkan secara lojik menjadi relasi-relasi (tabel). Untuk memperoleh basis data yang efisien, tiap tabel pada basis data akan dinormalisasi hingga normalisasi tahap 3 (3NF). Sebagai contoh normalisasi pada tabel user. Tabel user memiliki atribut username, nama, telepon, dan email. Kunci utama (primary key) pada tabel user adalah username, karena atribut ini dapat membedakan semua baris data dalam tabel secara unik. Syarat 1NF telah terpenuhi karena pada tabel user tidak memiliki atribut bernilai banyak. Syarat 2NF telah terpenuhi karena 1NF telah terpenuhi dan semua atribut bukan kunci memiliki ketergantungan secara penuh terhadap kunci, yaitu: - username Æ nama yang berarti bahwa atribut nama hanya tergantung pada atribut username. Hal ini dibuktikan pada fakta bahwa untuk setiap username yang sama, maka pasti nilai nama-nya juga sama. - usernameÆtelepon yang berarti bahwa atribut telepon hanya tergantung pada atribut username. Hal ini dibuktikan pada fakta bahwa untuk setiap username yang sama, maka pasti nilai telepon-nya juga sama. - dan seterusnya. Syarat 3NF telah terpenuhi karena 2NF telah terpenuhi dan semua atribut bukan kunci (non-key attribute) tidak memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya, yaitu: - nama tidak bergantung pada telepon karena tidak dapat dipastikan jika nama yang sama pasti telepon-nya juga sama, karena pada faktanya dapat terjadi beberapa nama yang sama. - telepon tidak bergantung pada email karena tidak dapat dipastikan jika telepon yang sama pasti email-nya juga sama. - dan seterusnya. Pada tabel lain yang digunakan telah melalui tahap hingga normalisasi ke 3 (3NF)
sehingga seluruh tabel yang digunakan telah memenuhi kriteria tabel yang baik dan tidak terdapat redundansi pada masing-masing tabel. Setelah dilakukan normalisasi basis data, langkah terakhir adalah perancangan secara fisik yaitu mengimplementasikan tabel-tabel yang telah terbentuk ke dalam sebuah basis data pada MySQL. Langkah ini akan dijelaskan pada tahap implementasi. 3.2 Desain Sistem Fuzzy Pada aplikasi ini diberikan halaman untuk mengubah parameter himpunan fuzzy. Nilai parameter himpunan fuzzy dapat diubah jika memang nilai tersebut sudah tidak akurat lagi, misalnya: penilaian dilakukan oleh pakar lain yang berbeda, aplikasi digunakan untuk materi pembelajaran yang lain, ataupun perubahan yang dilakukan oleh pakar yang sama dikarenakan dengan bertambahnya pengalaman pakar dalam mengajar (adanya perbedaan kemampuan siswa di masingmasing tempat/sekolah) Representasi fungsi keanggotaan himpunan fuzzy dikembangkan dalam model kurva trapesium (Gambar 5). Kurva jenis ini dipilih karena untuk mengklasifikasikan kategori tingkat kesukaran soal diperlukan selang yang cukup panjang untuk kategori yang memiliki nilai keanggotaan satu. Adapun persamaan untuk model trapesium:
⎧0 ⎪ ⎪ ⎪ ( x − a) ⎪ (b − a) ⎪ ⎪⎪ μ f [ x] = ⎨1 ⎪ ⎪ ⎪ (d − x) ⎪ ( d − c) ⎪ ⎪ ⎪⎩0
x≤a a≤ x≤b b≤x≤c c≤x≤d x≥d
Di mana µf[x] adalah nilai keanggotaan himpunan fuzzy dan x adalah nilai variabel sedangkan a, b, c, d adalah nilai parameter himpunan fuzzy. Representasi himpunan
8
fuzzy pada aplikasi adaptive quiz system ini dapat dilihat pada Lampiran 3
1
µ[x]
0
a
b
c
Proses defuzzifikasi akan menghasilkan tingkat kesukaran akhir soal (TKAkhirSoal), demikian seterusnya setiap ada aktivitas pengguna, maka proses penghitungan TKAkhirSoal akan terus dilakukan. Contoh menentukan hasil penghitungan TKAkhirSoal dengan nilai masukan TKAwalSoal=40 dan PersentaseKebenaran=10. Fungsi keanggotaan sesuai dengan Lampiran 3 dan Aturan yang digunakan sesuai dengan Lampiran 4.
d Langkah 1. Fuzzifikasi/aplikasi operator fuzzy.
Gambar 5 Representasi kurva trapesium Pada umumnya kaidah-kaidah fuzzy dinyatakan dalam bentuk jika-maka yang merupakan inti dari suatu relasi fuzzy. Kaidah ini menunjukkan bagaimana suatu sistem beroperasi, secara umum aturan fuzzy pada aplikasi ini dituliskan sebagai berikut: JIKA TKAwalSoal = X DAN PersentaseKebenaran = Y, MAKA TKAkhirSoal = Z Inferensi fuzzy tersebut memiliki dua variabel masukan yaitu TKAwalSoal dan PersentaseKebenaran yang masing-masing terdiri dari tiga himpunan fuzzy, maka kaidah yang terbentuk ada 9 kaidah. Beberapa kaidah yang terbentuk seperti pada Lampiran 4. Pada proses fuzzifikasi, untuk proses fungsi implikasinya menggunakan aturan fungsi MIN dengan operator AND. Hasil fungsi implikasi dari setiap kaidah digunakan pada proses komposisi dengan metode MAX. Tahap defuzzifikasi menggunakan metode centroid, di mana solusi crisp diperoleh dengan cara mengambil titik pusat daerah fuzzy, secara umum dirumuskan sebagai berikut: n
z=
∑ z μ(z j =1 n
j
j
)
∑ μ(z j ) j =1
di mana: Z µ(zj)
= =
Solusi crisp Nilai keanggotaan solusi fuzzy sampai aturan ke j
Menentukan derajat keanggotaan untuk tiap variabel masukan TKAwalSoal=40 dan PersentaseKebenaran=10 pada tiap fuzzy set yang sesuai. Untuk variabel TKAwalSoal sebagai berikut: μ Sukar = 0
μ Sedang = 1 μ Mudah = 0 Untuk variabel PersentaseKebenaran sebagai berikut: μ Sedikit = 1
μ Sedang = 0 μ Banyak = 0 Langkah 2. Komputasi secara fuzzy. Semua aturan menggunakan fungsi implikasi MIN (operator yang digunakan adalah AND). Rule 1: min( μ Sukar AND μ Banyak ) = min(0,0) = 0 Rule 2: min ( μ Sukar AND
μ Sedang )
= min(0,0) = 0 Rule 3: min( μ Sukar AND
μ Sedikit )
= min(0,1) = 0 Rule 4: min( μ Sedang AND
μ Banyak )
= min(1,0) = 0 Rule 5: min( μ Sedang AND
μ Sedang )
= min(1,0) = 0 Rule 6: min( μ Sedang AND
μ Sedikit )
= min(1,1) = 1 Rule 7: min( μ Mudah AND
μ Banyak )
9
= min(0,0) = 0 Rule 8: min( μ Mudah AND
μ Sedang )
= min(0,0) = 0 Rule 9: min( μ Mudah AND
μ Sedikit )
= min(0,1) = 0
hasil solusi dapat dibagi menjadi dua buah bangun yaitu bujur sangkar dan segitiga. Daerah pertama yaitu daerah bujur sangkar dengan batas antara 0 – 25, dan daerah yang kedua adalah segitiga dengan batas antara 25 – 40. Untuk penghitungan centroid sebagai berikut:
Langkah 3. Komposisi semua keluaran Rule 1 = 0 Æ tidak ada daerah keluaran Rule 2 = 0 Æ tidak ada daerah keluaran Rule 3 = 0 Æ tidak ada daerah keluaran Rule 4 = 0 Æ tidak ada daerah keluaran Rule 5 = 0 Æ tidak ada daerah keluaran Rule 6 = 1 Æ ada daerah keluaran TKAkhirSoal=sukar Daerah hasil komposisi adalah sebagai berikut:
a. Menghitung momen Momen daerah 1: M1=(0*1)+(1*1)+(2*1)+(3*1)+(4*1)+...+(2 5*1) = 325 Momen daerah 2: M2=(26* 40 − 26 )+(27* 40 − 27 )+(28* 40 − 25 40 − 25 40 − 28 )+(29* 40 − 29 )+...+(40* 40 − 40 ) 40 − 25 40 − 25 40 − 25 = 204,75 b. Menghitung luas Luas daerah 1: L1=25*1=25 Luas daerah 2: L2=
Gambar 6 Daerah hasil komposisi
40 − 25 =7,5 2
Menghitung nilai centroid: Rule 7 = 0 Æ tidak ada daerah keluaran Rule 8 = 0 Æ tidak ada daerah keluaran Rule 9 = 0 Æ tidak ada daerah keluaran Untuk melakukan komposisi semua keluaran fuzzy dilakukan dengan menggunakan metode MAX. Karena daerah hasil solusi fuzzy hanya terdapat sebuah daerah solusi fuzzy, maka hasil komposisi keluaran fuzzy merupakan daerah tersebut, yaitu:
n
z=
∑ z μ(z j =1 n
∑ μ(z j =1
=
j
j
j
) =
)
TotalMomen TotalLuas
325 + 204,75 529,75 = = 16,3 32,5 25 + 7,5
Jadi nilai keluaran fuzzy untuk nilai masukan TKAwalSoal=40 dan PersentaseKebenaran=10 adalah 16,3 3.3.
Gambar 7 Daerah solusi fuzzy. Langkah 4. Defuzzifikasi. Untuk menentukan nilai centroid dari Gambar 7 adalah dengan menghitung momen dan menghitung luas daerah. Daerah
Desain Proses Komponen dalam aplikasi ini akan dapat diakses oleh tiga pengguna yaitu oleh administrator, siswa, dan tamu. Administrator, memiliki akses untuk melakukan proses modifikasi basis data yaitu dapat melakukan pembuatan soal ataupun memperbaharui soal yang ada (update atau delete). Administrator dapat menentukan pertanyaan beserta jawabannya,
10
menentukan waktu pengerjaan soal, ataupun mengubah soal yang sudah ada. Aliran sistem terbagi menjadi tiga, yaitu aliran sistem yang terjadi pada modul admin, modul siswa, dan modul penilaian. Adapun aliran modul tersebut akan dijelaskan sebagai berikut: 3.3.1 Aliran sistem pada modul admin /pengajar (Lampiran 5): Pada modul admin ini, proses utama adalah autentikasi pengguna sebagai admin, setelah proses autentikasi berhasil, maka admin dapat melakukan berbagai manipulasi basis data. Proses authoring untuk manajemen soal pada modul admin: 1 Untuk memulai, admin akan diberikan menu utama untuk quiz (Lampiran 6). 2 Admin dapat menentukan bab pada suatu kategori tertentu. 3 Admin dapat memberikan waktu untuk mengerjakan soal pada satu bab untuk kategori quiz tertentu, nilai benar dan nilai salah, syarat lulus untuk bab tertentu, dan berapa jumlah soal yang harus dikerjakan. Semua data kemudian akan disimpan dalam basis data. 4 Admin dapat membuat soal tipe pilihan ganda dan essay jawaban singkat. Admin dapat juga menentukan soal pretest, memberikan penilaian, mengubah parameter fuzzy, dan melakukan manajemen pengguna aplikasi. 3.3.2 Aliran sistem pembelajaran siswa: 1
2
3
4
pada
5
6
7
modul
Untuk pertama kalinya, seorang pengguna yang akan menggunakan aplikasi ini, diharuskan mendaftar sebagai anggota. Pengguna yang mendaftar, statusnya adalah sebagai siswa. Pada kasus ini, siswa mengakses modul pembelajaran. Lampiran 7 menunjukkan diagram alir untuk modul pembelajaran. Setelah pengguna melakukan registrasi, maka pengguna dapat login ke sistem dengan memasukkan username dan password yang sesuai. Jika langkah nomor 2 terpenuhi, maka siswa dapat mengakses kategori quiz yang sudah ada, jika tidak, maka akan muncul pesan kesalahan dalam login. Siswa yang baru pertama kali login, maka diharuskan mengerjakan soal
pretest, dalam hal ini diakses modul pretest (Lampiran 8) sebelum dapat mengakses modul quiz adaptif. Pada tahap ini, setelah siswa selesai mengerjakan soal pretest, level siswa akan disimpan di basis data dan nantinya akan digunakan sebagai level standar siswa pada saat awal mengerjakan soal quiz adaptif. Level yang dimaksud adalah rata-rata tingkat kesukaran dari semua soal yang diberikan. Selain level, basis data juga akan menyimpan data untuk bab tertentu di mana siswa menjawab banyak jawaban yang benar. Hal ini untuk memberikan bab yang sesuai dengan kemampuan siswa ketika mengakses modul quiz. Pada quiz adaptif (Lampiran 9), siswa akan diberikan soal yang sesuai dengan level dan bab tertentu. Ketika berada dalam proses pembelajaran soal berikutnya yang diberikan akan disesuaikan berdasarkan jawaban siswa pada pertanyaan sebelumnya. Jika jawaban sebelumnya benar maka aplikasi akan memilihkan soal yang lebih sukar, sebaliknya jika jawaban salah maka aplikasi akan memilihkan soal yang lebih mudah untuk soal berikutnya. Tingkat kesukaran soal dapat berubah sewaktu waktu berdasarkan kegiatan siswa dalam menjawab soal. Variabel yang menentukan adalah jumlah siswa yang menjawab benar, jumlah siswa yang menjawab salah, dan TKAwalSoal. Dalam tahap ini, proses inferensi fuzzy dilakukan dengan masukan variabel fuzzy berupa persentase kebenaran siswa dengan TKAwalSoal. Persentase kebenaran siswa ditentukan dengan rumus :
persentase =
8
(TotJwbnBen ar − TotJwbnSal ah ) X 100 % TotalSoal
Pada setiap saat mengerjakan soal, beberapa variabel akan dicatat pada basis data, beberapa diantaranya adalah waktu menjawab tiap soal, jumlah soal yang sudah dijawab, id soal, id bab, id kategori, jawaban siswa dan tingkat kesukaran soal. Pencatatan ini dilakukan sementara, artinya jika siswa telah selesai mengerjakan quiz, maka data yang ada pada basis data akan dihapus.
11
Selain terdapat basis data temporer, terdapat juga basis data permanen yang menyimpan beberapa variabel, seperti level siswa, id bab, id kategori, waktu pengerjaan (hari-tanggal-bulan-tahun), total nilai, total waktu pengerjaan, dan persentase. 9 Jika siswa telah selesai mengerjakan semua soal, pada halaman selanjutnya siswa dapat memberikan koreksi atas jawaban untuk soal yang telah dijawab sebelumnya. Jika telah yakin akan semua jawabannya, maka siswa dapat memilih pilihan selesai mengerjakan soal. 10 Jika siswa telah selesai mengerjakan quiz, selanjutnya akan ditampilkan nilai beserta persentase kebenaran akan jawaban, waktu mengerjakan tiap soal, waktu total, dan umpan balik dari pengajar. 3.3.3 Aliran sistem pada modul penilaian: 1
Pada modul penilaian, data yang diolah adalah data yang berasal dari hasil kegiatan siswa, yaitu: a Nilai total = (Total jawaban benar * nilai jawaban benar) – (Total jawaban salah * nilai jawaban salah) / Total soal b Persentase = (Total jawaban benar – Total jawaban salah)/ Total soal * 100% 2 Pada modul penilaian, ditentukan pula umpan balik yang sesuai dengan level dan persentase dalam menjawab soal. 3.4 Desain Tampilan Tampilan sistem merupakan bagian yang berhubungan secara langsung dengan pengguna. Perancangan desain tampilan seperti pada Lampiran 10. Desain tampilan dibedakan berdasarkan pengguna. Adapun pengguna aplikasi ini terbagi menjadi tiga kelompok yaitu: administrator, siswa, dan tamu. Desain tampilan dibagi menjadi dua bagian yaitu desain masukan dan desain keluaran, yaitu: 3.4.1 Desain Masukan Desain masukan pada aplikasi adalah masukan dari seluruh pengguna yang memiliki wewenang untuk mengakses aplikasi, adapun masing-masing pengguna memiliki form masukan masing-masing. Form masukan dapat dilihat pada Lampiran 11.
3.4.2 Desain Keluaran Desain keluaran juga dibedakan berdasarkan pengguna aplikasi. Untuk administrator, halaman keluaran berisi tampilan data-data yang telah dimasukkan ke dalam aplikasi dan pada halaman tersebut terdapat pilihan untuk melakukan proses ubah atau hapus. Halaman keluaran untuk siswa adalah halaman tampilan soal, ubah profil dan tampilan nilai. Untuk tamu, halaman keluaran adalah halaman selamat datang, tampilan nilai dan halaman pendaftaran. 4 Tahap Implementasi Aplikasi adaptive quiz system ini dikembangkan berbasis web. Aplikasi ini dapat diakses baik melalui internet maupun intranet sehingga aplikasi ini dapat digunakan oleh banyak pengguna pada saat bersamaan dan dapat diakses secara online. Aplikasi ini akan dikembangkan dengan menggunakan perangkat lunak Microsoft Windows XP SP2 sebagai sistem operasinya, web server Apache versi 2.0.54, PHP versi 5.0.4 sebagai bahasa pemrograman, MySQL versi 4.1.13 sebagai sistem manajemen basis data, Macromedia Dreamweaver 8 sebagai editor, Adobe Photoshop CS sebagai pengolah gambar. Perangkat keras yang digunakan adalah komputer dengan spesifikasi AMD Athlon 1.13 GHz, RAM 512 MB, Harddisk 60 GB, VGA 64 MB, keyboard dan mouse. 4.1 Implementasi desain basis data Dari tahap desain basis data, yaitu desain konseptual dengan diagram ER dan mentransformasi diagram ER ke bentuk relasional, langkah terakhir dalam merancang basis data adalah perancangan secara fisik. Aturan umum yang digunakan dalam pemetaan model relasional menjadi basis data fisik adalah: 1
2
3
Setiap himpunan entitas akan diimplementasikan sebagai sebuah tabel. Relasi dengan derajat relasi 1-1 (satu ke satu) yang menghubungkan dua buah himpunan entitas akan direpresentasikan dalam bentuk penambahan/penyertaan atribut-atribut relasi ke tabel yang mewakili salah satu dari kedua himpunan entitas. Relasi dengan derajat relasi 1-N (satu ke banyak) yang menghubungkan dua buah
12
himpunan entitas juga akan direpresentasikan dalam bentuk pemberian atribut kunci dari himpunan entitas pertama (yang berderajat 1) ke tabel yang mewakili himpunan entitas kedua (yang berderajat N) 4 Relasi dengan derajat relasi N-N (banyak ke banyak) yang menghubungkan dua entitas akan diwujudkan dalam bentuk tabel khusus yang mewakili field yang berasal dari kunci dari himpunan entitas yang dihubungkannya. Berdasarkan model relasional yang diperoleh dari desain basis data, maka ditentukan entitas-entitas berikut menjadi tabel. Untuk mempermudah penamaan tabel, penulis merubah nama tiap entitas menjadi nama tabel yang diperlukan. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Entitas User menjadi sebuah tabel tbl_user. Entitas Nilai menjadi sebuah tabel tbl_nilai Entitas Level menjadi sebuah tabel tbl_level SesiUser menjadi sebuah tabel tbl_session Login menjadi sebuah tabel tbl_login Pretest menjadi sebuah tabel tbl_pretest Mengerjakan_pretest menjadi sebuah tabel tbl_pretestuser Soal menjadi sebuah tabel tbl_soal Mengerjakan_soal menjadi sebuah tabel tbl_soaluser KategoriSoal menjadi sebuah tabel tbl_kategori Mempunyai_kat menjadi sebuah tabel tbl_pengkategori TKAwalsoal menjadi sebuah tabel tbl_tkawal TKAkhirSoal menjadi sebuah tabel tbl_tkakhir PersentaseKebenaran menjadi sebuah tabel tbl_persentase Feedback menjadi sebuah tabel tbl_feedback Grafik menjadi sebuah tabel tbl_grafik Cekpretest menjadi sebuah tabel tbl_cekpretest
Implementasi secara fisik dapat dilihat pada Lampiran 12. 4.2 Implementasi desain sistem fuzzy
Berdasarkan tahap desain sistem fuzzy, implementasi penghitungan keluaran fuzzy pada aplikasi ini mengikuti algoritma berikut: 1 2
3 4 5 6 7 8 9
Ambil nilai TKAwalSoal dan PersentaseKebenaran dari basis data. Loop sebanyak variabel masukan (i), seleksi jenis kurva masukan yang digunakan. Hitung hasil nilai keanggotaan untuk tiap kurva untuk masukan ke i. Masukkan ke rule masing-masing (implikasi) cari nilai MIN. Cari daerah implikasi sesuai dengan jumlah keluaran. Buat range dan garis batas kurva implikasi. Seleksi jenis kurva keluaran yang digunakan. Komposisi menggunakan aturan MAX untuk seluruh jumlah keluaran. Hitung nilai centroid.
Berdasarkan algoritma diatas, implementasi kode pada aplikasi ini adalah sebagai berikut: Inisialisasi masukan, keluaran dan rule: $jum_input=2; $jum_output=1; $jum_rule=9;
Mengambil nilai TKAwalSoal dari basis data dengan query berikut: $sql =
mysql_query("select * from tbl_tkawal where id=1"); $hasil = mysql_fetch_row($sql);
demikian juga berlaku untuk query PersentaseKebenaran dan TKAkhirSoal. Setelah data diperoleh, dilakukan inisialisasi variabel masukan yaitu nama, range, dan jenis kurva yang digunakan, yaitu: $input[1][nama] = "TKAwalSoal"; $input[1][range] = array(0, 100); $input[1][kurva][1][nama] = "Sukar"; $input[1][kurva][1][jenis] = "trapmf"; $input[1][kurva][1][params] = array($hasil[1],$hasil[2],$hasil[ 3],$hasil[4]); $input[1][kurva][2][nama] = "Sedang"; $input[1][kurva][2][jenis] = "trapmf"; $input[1][kurva][2][params] = array($hasil[5],$hasil[6],$hasil[ 7],$hasil[8]); $input[1][kurva][3][nama] = "Mudah"; $input[1][kurva][3][jenis] = "trapmf";
13
$input[1][kurva][3][params] = array($hasil[9],$hasil[10],$hasil[ 11],$hasil[12]);
Definisikan juga rule yang digunakan yaitu: //penghubung menggunakan AND $rule[1][input]= array(1, 3); $rule[1][output]=array(3); ............... //dst hingga rule 9 $bobotakhir = $_POST['bobot']; $persentase = $_POST['persen']; $nilai_input = array($bobotakhir,$persentase);
Dari inisialisasi, maka untuk memperoleh nilai hasil penghitungan fuzzy dengan memanggil fungsi berikut: mamdani($input, $nilai_input);
$output,
$rule,
} .................... } //cari nilai minimal, cari daerah implikasi, sesuai dengan jumlah output for($j=1; $j <= $jum_output; $j++) { //buat range dan buat garis batas for ($c = $output[$j][range][0]; $c <= $output[$j][range][1]; $c++) { $r[$c]=$c; $batas[$c]=$imp; } }
Selanjutnya cari plot dari kurva keluaran sesuai rule menggunakan skrip berikut:
Fungsi ini dibuat berdasarkan algoritma menentukan keluaran fuzzy. Pada fungsi mamdani akan dipanggil beberapa fungsi yaitu fungsi cari_min, cari_max, dan trapmf. Langkah awal adalah dengan menentukan hasil nilai keanggotaan untuk tiap masukan pada masing-masing kurva yang sesuai menggunakan skrip berikut: $jum_input=count($input); $jum_output=count($output); $jum_rule=count($rule); //loop sebanyak jumlah input for ($i=1; $i <= $jum_input; $i++) { //loop, hitung hasil kurva untuk input
$arr_input[$j]=$hasil_input [$j][$r ule[$i][input][$j1]][0];
masing2 ke i
for ($j=0; $j <= count($input[$i][kurva]); $j++) { //seleksi jenis kurva yang dipakai disini dihitung nilai keanggotaan untuk tiap input (kurva trapmf) ........... } }
Langkah selanjutnya adalah implikasi dengan menggunakan aturan MIN yaitu dengan kode berikut: //masukan ke rule masing2 for ($i=1; $i <= $jum_rule; $i++) { //impilkasi menggunakan nilai MIN ambil dulu nilai2 hasil_input, sesuai dengan rule for ($j=1; $j <= $jum_input; $j++) {
$jenis_kurva=$output[$j][kurva][$rule [$i][output][$j-1]][jenis]; //seleksi jenis kurva output yang dipakai //jika kurva trapesium if ($jenis_kurva == "trapmf") { //panggil fungsi trapmf ...................... $hasil_imp[$j][$i]=trapmf($r, $output[$j][kurva][$rule[$i][ output][$j-1]][params]); }
Langkah selanjutnya adalah implikasi dengan kode berikut:
cari hasil
//diambil yang <= imp, panggil fungsi min $hasil_imp[$j][$i]=cari_min($batas, $hasil_imp[$j][$i]);
Langkah berikutnya adalah menentukan nilai keluaran berdasarkan rule (komposisi dengan aturan MAX) dengan kode berikut: //aturan kompisisi menggunakan aturan MAX,loop sebanyak jumlah output for ($i=1; $i <= $jum_output; $i++) { //inisialisasi dulu array hasil dengan nilai 0 for ($c = $output[$i][range][0]; $c <= output[$i][range][1]; $c++) { $hasil_komp[$i][$c]=0; } //loop sebanyak jumlah_rule for ($j=1; $j <= $jum_rule; $j++) {
14
$hasil_komp[$i]=cari_m ax($hasil_komp[$i],$ha sil_imp[$i][$j]);
terdaftar. Siswa merupakan objek yang akan melakukan pembelajaran yaitu mengerjakan pretest atau quiz adaptif. Aplikasi ini dikembangkan berbasis web, sehingga memungkinkan aplikasi ini diakses oleh banyak pengguna dalam waktu bersamaan. Seperti halnya adiministrator, sebelum dapat mengakses modul quiz pada aplikasi ini, pengguna harus mendaftar dan setelah terdaftar dapat login ke dalam aplikasi dan melakukan pembelajaran. Sebelum dapat mengakses modul quiz adaptif, siswa harus melewati modul pretest dahulu. Hal ini untuk mendapatkan level dan tingkat kesukaran yang akan diberikan nantinya ketika siswa mengakses modul quiz adaptif. Pada modul pretest terdapat syarat kelulusan apakah siswa telah lulus atau belum lulus. Jika telah lulus, maka akan dilakukan pembaharuan nilai flag pada tabel tbl_cekpretest menjadi 1 (satu). Untuk mengecek apakah siswa telah lulus dilakukan query pada tabel tbl_cekpretest sebagai berikut:
} }
Langkah terakhir adalah menentukan nilai centroid dengan kode berikut: //DEFUZZIFIKASI (METODE CENTROID) //loop sebanyak jumlah output for ($i=1; $i <= $jum_output; {
$i++)
if(array_sum($hasil_komp[$i])==0) { //tampilkan pesan error ........................ exit(1); } for ($c = $output[$i][range][0]; $c <= $output[$i][range][1]; $c++) { $temp[$c]=$hasil_komp[$i][$ c] * $c; } //hitung centroid sesuai rumus
//cek pernah lulus pretest $ck = mysql_query("select flag from tbl_cekpretest where username='$loginUsername' AND id_kategori='$id_kategori'"); $hasilcek = mysql_fetch_row($ck); if($hasilcek[0]==0) { //ternyata belum lulus pretest, maka pilih soal pretest } else { //bisa akses modul quiz adaptif }
$hasil_mamdani[$i]=array_sum($temp)/a rray_sum($hasil_komp[$i]); } print("
hasil akhir
"); return $hasil_mamdani;
Dari fungsi mamdani tersebut diperoleh hasil keluaran nilai fuzzy. Penghitungan nilai fuzzy dilakukan untuk memperbaharui nilai TKAkhirSoal. Pembaharuan ini dilakukan setiap saat seiring pengguna berinteraksi dengan aplikasi yaitu saat mengerjakan quiz. 4.3 Implementasi proses aliran sistem Pengguna aplikasi ini dibagi menjadi tiga yaitu administrator, siswa dan tamu. Administrator memiliki wewenang dalam proses manipulasi seluruh basis data. Sebelum dapat mengakses halaman administrator, pengguna diharuskan login sebagai administrator terlebih dahulu. Jika berhasil maka akan muncul halaman administrator. Pada halaman tersebut terdapat menu untuk pendaftaran siswa, manajemen soal, manajemen soal pretest, penilaian, ubah password admin, ubah selang parameter fuzzy, resume quiz, dan logout (Lampiran 13) Pengguna berikutnya adalah siswa. Siswa merupakan pengguna yang telah
Jika siswa telah lulus pretest maka siswa dapat mengakses modul quiz adaptif. Pada modul quiz adaptif aplikasi ini dapat menentukan soal yang sesuai dengan kemampuan siswa dalam menjawab soal, yaitu dapat menentukan soal selanjutnya berdasarkan soal yang telah dijawab sebelumnya. Jika siswa menjawab dengan benar pada soal sebelumnya maka soal selanjutnya adalah soal yang lebih sukar (tingkat kesukaran rendah), sebaliknya jika siswa menjawab salah pada soal sebelumnya maka soal selanjutnya adalah soal yang lebih mudah (tingkat kesukaran tinggi). Untuk mengimplementasikan hal ini digunakan kode berikut: -
jika jawaban benar $sql="select bobot,id from tbl_soal where bobot < '$bobotsblm' AND
15
id_kategori='$id_kategori' AND id_bab='$id_bab' AND terjawab!=1 order by bobot DESC limit 1"; $aa = mysql_query($sql); $hsl = mysql_fetch_array($aa); //dapatkan idsoal $idbaru = $hsl[1]; if($hsl[0]==NULL) { //jika soal pada bab tsb sudah habis semuanya maka cari TK bab diatasnya yg tertinggi $id_bab=$id_bab+1; $queri= mysql_query("select bobot,id from tbl_soal where id_kategori='$kategori' AND terjawab!=1 AND id_bab=$id_bab order by bobot DESC limit 1"); ...................... //lakukan perubahan TKAkhirSoal dengan metode fuzzy
-
jika jawaban salah $sql =
mysql_query("select bobot,id from tbl_soal where bobot > '$bobotsblm' AND id_kategori='$kategori' AND id_bab='$id_bab' AND terjawab!=1 order by bobot ASC limit 1");
$hsl = mysql_fetch_array($sql); $idbaru = $hsl[1]; if($hsl[0]==NULL) { //jika soal pada bab tsb sudah habis semuanya maka cari TK bab diatasnya yg terendah if($id_bab!=0){ $id_bab=$id_bab-1;} if($id_bab==0){$id_bab=1; } $queri= mysql_query("select bobot,id from tbl_soal where id_kategori='$kategori' AND id_bab=$id_bab AND terjawab!=1 order by bobot ASC limit 1"); ............... //lakukan perubahan TKAkhirSoal dengan metode fuzzy
Proses pembelajaran akan terus berlangsung sesuai dengan jumlah soal yang telah ditentukan administrator/pengajar. Jika soal telah habis, maka akan ditampilkan halaman koreksi atas jawaban. Jika telah yakin, siswa dapat menekan tombol selesai dan akan tampil halaman penilaian beserta
feedback berdasarkan hasil pembelajaran sebelumnya. Untuk menampilkan feedback digunakan query berikut: $tfeedback =
mysql_query("select * from tbl_feedback where idkategori='$id_kategori ' AND level='$levelku' AND idbab='$idku'");
Pengguna selanjutnya adalah tamu. Tamu adalah pengguna yang paling terbatas dalam mengakses aplikasi ini. Pada aplikasi ini tamu hanya dapat melakukan pendaftaran saja. Tamu yang melakukan pendaftaran dan berhasil maka statusnya adalah sebagai siswa. 4.4 Implementasi desain tampilan Tampilan aplikasi ini dibuat berdasarkan layout hasil desain tampilan pada tahap analisis desain. Contoh tampilan sistem dapat dilihat pada Lampiran 14. 5. Tahap Pengujian Pengujian dilakukan untuk mengetahui apakah hasil pengembangan aplikasi telah sesuai dengan yang diharapkan. Lampiran 15 menunjukkan halaman rekap hasil belajar siswa. Pada halaman tersebut dapat ditunjukkan proses terjadinya adaptasi sistem terhadap jawaban siswa. Soal berikutnya yang diberikan kepada siswa akan ditentukan berdasarkan jawaban siswa sebelumnya. Pengujian selanjutnya yang paling utama adalah pengujian hasil keluaran fungsi fuzzy. Hasil keluaran fungsi fuzzy pada aplikasi ini akan dibandingkan dengan hasil penghitungan fuzzy dengan menggunakan perangkat lunak Matlab. Perangkat lunak Matlab telah menyediakan toolbox fuzzy yang dapat menentukan hasil keluaran nilai fuzzy. Lampiran 16 menunjukkan konfigurasi pada Matlab. Lampiran 17 menunjukkan perbandingan hasil penghitungan nilai keluaran fuzzy pada aplikasi ini dengan nilai keluaran yang dihasilkan perangkat lunak Matlab. Hasil pengujian yang lain adalah dengan metode black-box. Pengujian dilakukan untuk mengetahui apakah aplikasi yang dikembangkan sudah sesuai dengan yang diharapkan. Hasil pengujian dapat dilihat pada Lampiran 18 dan Lampiran 19. Kelebihan Sistem 1 Sistem memiliki fasilitas administrasi, sehingga tidak menutup kemungkinan
16
2 3
soal yang diberikan terbatas hanya pada soal Biologi SMU saja. Terdapat fasilitas untuk mengubah selang fungsi keanggotaan fuzzy. Aplikasi dikembangkan berbasis web sehingga dapat diakses oleh banyak pengguna pada waktu bersamaan.
Kekurangan Sistem 1 Himpunan fuzzy yang digunakan masih terbatas pada tingkatan kesukaran soal dan persentase kebenaran siswa. 2 Penentuan selang fungsi keanggotaan fuzzy oleh pakar masih purposive. 3 Soal masih terbatas pada pilihan ganda dan essay jawaban singkat.
KESIMPULAN DAN SARAN Kesimpulan Adaptive quiz system ini dapat digunakan sebagai salah satu alternatif media pembelajaran bagi siswa, selain beberapa modul quiz yang sudah ada. Adaptive quiz system ini dikembangkan berbasis web dan mengintegrasikan metode fuzzy dalam sistemnya. Pada penelitian ini menggunakan materi Biologi SMU sebagai materi quiz. Untuk merepresentasikan adanya adaptasi pengguna dengan aplikasi adalah adanya penentuan soal yang akan diberikan selanjutnya berdasarkan jawaban soal sebelumnya. Parameter utama untuk menentukan soal manakah yang akan diberikan kepada siswa adalah tingkat kesukaran soal. Parameter dari himpunan fuzzy dapat diubah oleh pakar/pengajar apabila memang parameter fuzzy sebelumnya sudah tidak valid lagi. Aplikasi ini dapat digunakan untuk memantau tingkat perkembangan pemahaman siswa akan materi yang dikuasainya berdasarkan history pengerjaan quiz yang sudah dikerjakan sebelumnya. Selain itu umpan balik yang diberikan oleh pengajar dapat digunakan sebagai acuan siswa untuk pembelajaran selanjutnya. Saran Pada penelitian ini, penentuan tingkat kesukaran soal (TKAkhirSoal) masih terbatas pada hasil pembelajaran dari beberapa siswa (TKAwalSoal) dengan persentase kebenaran siswa. Penelitian yang lebih lanjut dapat dengan menambahkan parameter lain dalam penentuan tingkat
kesukaran soal, misalnya parameter tentang tipe soal (apakah banyak gambar, perlu analisis, hanya hafalan, dan lain-lain). Dalam menentukan selang fungsi keanggotaan fuzzy oleh pakar dapat dilakukan dengan melakukan voting terhadap beberapa orang pakar. Dari hasil voting tersebut dapat diambil nilai tengah hasil voting sebagai selang parameter fuzzy. Keterbatasan tipe soal yang ada yaitu soal pilihan ganda dan jawaban singkat dapat dikembangkan dengan menambahkan tipe soal yang lain, seperti soal essai, menjodohkan, multiple answer, dan lainlain.
DAFTAR PUSTAKA Anonym. 2004. CAI. http://www.auditmypc.com/acronym/ CAI.asp [5 September 2007] Bationo, B. 1992. The effects of three feedback forms on learning through a computer-based tutorial. Calico Journal, 10(1), 45-52. Browne, D. P., R. Trevellyan, P. Totterdell dan M. Norman. 1987. Metrics for Building Evaluation and Comprehension of Self-Regulating Adaptive Systems. Di dalam : Downton A, editor. Engineering the Human-Computer Interface. Dept. Of Electric Systems Engineering, University of Essex. Connolly, Thomas dan Anne D Strachan. 1996. Database Systems A Practical Approach to Design, Implementation and Management. Addison Wesley Longman Limited, England. Depdiknas. 2004. Standar Kompetensi Mata Pelajaran Biologi SMU dan MA. http://www.puskur.net [1 Maret 2007 ] Kendall, Kenneth E. dan Julie E. Kendall. 1998. Systems Análysis and Design Fourth Edition. Prentice Hall International Inc, USA. Kusumadewi, Sri. 2003. Analisis dan Desain Sistem Fuzzy. Graha Ilmu, Yogyakarta.