PROPOSAL TUGAS AKHIR - repositori.unud.ac.id · Proposal penelitian dengan Automasi Penilaian Essay...
Transcript of PROPOSAL TUGAS AKHIR - repositori.unud.ac.id · Proposal penelitian dengan Automasi Penilaian Essay...
-
PROPOSAL TUGAS AKHIR
AUTOMASI PENILAIAN ESAI TERINTEGRASI PADA
SISTEM ELEARNING MOODLE DENGAN
KONSEP SIMILARITY RABIN KARP
IDA BAGUS KOMANG WINDUYASA
NIM. 1208605014
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
DENPASAR
2015
-
2
LEMBAR PENGESAHAN PROPOSAL TUGAS AKHIR
Judul : Automasi Penilaian Esai Terintegrasi pada Sistem Elearning
Moodle dengan Konsep Similarity Rabin Karp
Kompetensi : Rekayasa Perangkat Lunak
Nama : Ida Bagus Komang Winduyasa
NIM : 1208605014
Tanggal Seminar : Selasa, 7 Juli 2015
Disetujui Oleh :
Pembimbing 1
Agus Muliantara, S.Kom, M.Kom
NIP. 198006162005011001
Penguji 1
I Putu Gede Hendra Suputra, S.Kom., M.Kom.
NIP. 198812282014041001
Penguji 2
I Made Widhi Wirawan, S.Si, M.Cs
NIP. 197511052005011004
Mengetahui
Ketua Jurusan
Drs. I Wayan Satiyasa, M.Si.
NIP. 196704141992031002
-
3
Kata Pengantar
Proposal penelitian dengan Automasi Penilaian Essay Dengan Konsep Similarity Rabin
Karp Terintegrasi Sistem Elearning Moodle ini disusun dalam rangkaian kegiatan pelaksanaan
Tugas Akhir di Jurusan Ilmu Komputer F.MIPA UNUD. Proposal ini disusun dengan harapan
dapat menjadi pedoman dan arahan dalam melaksanakan penelitian di atas.
Sehubungan dengan telah terselesaikannya proposal ini, maka diucapkan terima kasih
dan penghargaan kepada berbagai pihak yang telah membantu pengusul, antara lain:
1. Bapak-bapak dan ibu-ibu dosen di Jurusan Ilmu Komputer, - khususnya Bapak
Agus Muliantara yang telah meluangkan waktu turut memberikan saran dan
masukan dalam penyempurnaan proposal ini;
2. Kawan-kawan di Jurusan Ilmu Komputer yang telah memberikan dukungan moral
dalam penyelesaian proposal ini.
Disadari pula bahwa sudah tentu proposal ini masih mengandung kelemahan dan
kekurangan. Memperhatikan hal ini, maka masukan dan saran-saran penyempurnaan sangat
diharapkan.
Bukit Jimbaran, 14 Mei 2015
Penulis
-
4
Daftar Isi
LEMBAR PENGESAHAN PROPOSAL TUGAS AKHIR ...................................................... 2
Kata Pengantar ........................................................................................................................... 3
Daftar Isi .................................................................................................................................... 4
1. Latar Belakang ................................................................................................................... 6
2. Rumusan Masalah .............................................................................................................. 7
3. Batasan Masalah ................................................................................................................ 8
4. Tujuan Penelitian ............................................................................................................... 8
5. Manfaat penelitian ............................................................................................................. 9
6. Tinjauan Pustaka Dan Dasar Teori .................................................................................... 9
6.1. Ujian Esai .................................................................................................................... 9
6.2. Sistem Elearning Moodle .......................................................................................... 10
6.3. Text Mining ............................................................................................................... 10
6.3.1. Information Retrival........................................................................................... 10
6.3.2. Text Preprocessing ............................................................................................. 11
6.4. String Matching ......................................................................................................... 11
6.4.1. Algoritma String Matching Rabin Karp ............................................................ 12
6.4.2. Modified Rabin Karp Algorithm ....................................................................... 14
7. Metode Penelitian ............................................................................................................ 16
7.1. Bahan dan Lokasi Penelitian ..................................................................................... 16
7.2. Metode Pengumpulan Data ....................................................................................... 16
7.3. Metode Pengembangan Perangkat Lunak ................................................................. 16
7.4. Design Penelitian....................................................................................................... 17
7.4.1. Diagram Konteks dan Data Flow Diagram Sistem ............................................ 17
7.4.2. Tahap Preprocessing .......................................................................................... 20
7.4.2.1. Case Folding dan Tokenizing ......................................................................... 20
-
5
7.4.2.2. Filtering .......................................................................................................... 21
7.4.2.3. Stemming ....................................................................................................... 21
7.4.3. Tahap Processing Algoritma Rabin Karp .......................................................... 28
7.4.3.1. K-Gram Parsing.............................................................................................. 28
7.4.3.2. Hashing........................................................................................................... 29
7.4.4. Arsitektur Integrasi Sistem Moodle dan Automasi Esai .................................... 30
7.4.5. Penambahan Modul pada Moodle ..................................................................... 31
8. Uji Coba ........................................................................................................................ 32
8.1. Skenario Uji Coba ................................................................................................. 32
9. Jadwal Pelaksanaan Penelitian ...................................................................................... 33
Daftar Pustaka .......................................................................................................................... 35
-
6
1. Latar Belakang
Dengan kemajuan teknologi informasi, dunia pendidikan pun mengalami kemajuan.
Proses belajar mengajar menjadi lebih mudah dan bervariatif dengan teknologi teknologi yang
canggih. Begitu pula pada proses evaluasi pembelajaran. Evaluasi pembelajaran dilakukan
untuk menguji pemahaman siswa terhadap materi pelajaran yang didapatkan, evaluasi adalah
proses mengukur hasil belajar dengan menggunakan informasi. Di Indonesia, ada beberapa
cara dalam evaluasi hasil belajar mengajar. Saat ini yang biasa digunakan adalah evaluasi
dengan metode obyektif (opsional) dan esai.
Esai adalah alat pengujian untuk menilai kemampuan pengetahuan, pengembangan ide
–ide dan kemampuan untuk mengingat sebuah pengetahuan. Dalam penggunaanya, esai
memiliki karakteristik yang lebih spesifik dibandingkan dengan metode opsional yang bersifat
obyektif. Metode esai melibatkan kemampuan untuk mengingat, mengorganisasikan,
mengekspresikan dan mengintegrasikan serta mengembangkan gagasan yang dimiliki siswa
berdasarkan pengetahuan yang dimiliki. Namun, penggunaan esai memiliki kekurangan dalam
penilaiannya. Pemeriksaan esai membutuhkan waktu yang lebih lama dibandingkan teknik lain
karena sebagian besar dilakukan secara manual dan dibaca satu persatu. Belum lagi perbedaan
pemahaman terhadap maksud dari jawaban esai sehingga perbedaan persepsi juga berpengaruh
pada penilaian esai. Semakin banyak jumlah ujian yang dinilai kualitas penilaian semakin
menurun.
Penelitian text mining terkait automasi penilaian esai sebelumnya sudah pernah
dilakukan. Penelitian text mining dapat dilakukan dengan menggunakan algoritma string
matching seperti Naïve String Matching , Rabin Karp, Boyer-Moore, KMP, Comments –
Walter, Set Backward Oracle Matching (SBOM/BOM) dan lainnya. Pada Naïve String
Matching kompleksitas waktu proses pencocokan string sangat tinggi, dan membuat perfoma
dari algoritma ini lamban (Akhtar- Tiwari-Gunjan-Khare, 2012). Sementara itu Boyer Moore
adalah algoritma pencocokan string yang bersifat single pattern bukan multi pattern. Berbeda
dengan Boyre-Moore, Comments –Walter adalah pengembangan dari Boyre-Moore yang dapat
digunakan pada multi-pattern string. KMP dikenal sebagai algoritma untuk pencarian string
dengan kompleksitas yang kecil namun efektifitasnya berkurang jika jumlah karakter dari teks
cukup banyak. BOM adalah algoritma pencocokan string yang menggunakan factor oracle
untuk pencocokan string dan bekerja terbalik dari bagian akhir pattern (backward) (Leena-
Tarhio-Kytojoki, 2006) .
-
7
Pada penelitian oleh Leena Salmela, Jorma Tarhio, Jari Kytojoki(2006) dalam jurnal
berjudul Multi-pattern string matching with q-grams dikatakan bahwa dari algoritma diatas,
Rabin Karp baik digunakan pada pencocokan string dengan jumlah pola 1.000 sampai dengan
10.000 pola dan SBOM baik digunakan pada 10.000 lebih pola. Setelah dibandingkan dengan
algoritma lainnya, Rabin Karp adalah algoritma dengan runtime yang cepat dan membutuhkan
kapasitas memori yang lebih kecil dari BOM. Dalam jurnal RB Matcher String Matching
Technique (Singh-Kochar, 2008) membuktikan bahwa algoritma Rabin Karp yang asli dan
yang telah dimodifikasi memiliki nilai akurasi nilai similaritas yang relative sama, tetapi
algoritma Rabin Karp yang dimodifikasi memiliki waktu proses yang lebih cepat dibandingkan
algoritma asli.
Penelitian sejenis dengan menggunakan algoritma Rabin Karp yang telah dimodifikasi
juga sudah pernah dilakukan oleh Lanang Septiadi Putra (2013), yakni penelitian tentang
perancangan dan implementasi text mining menggunakan algoritma Rabin-Karp pada aplikasi
pencarian dokumen referensi tugas akhir. Pada penelitian tersebut juga menggunakan algoritma
Rabin Karp namun algoritma yang digunakan adalah algoritma Rabin Karp yang telah
dimodifikasi. Hasil yang didapat dalam penelitian Lanang membuktikan bahwa Rabin Karp
baik digunakan untuk pencocokan string dan memiliki akurasi yang baik pula bahkan lebih
baik dari algoritma aslinya.
Dalam penelitian ini penulis akan membuat aplikasi yang mampu mengolah dan
menentukan tingkat kesamaan jawaban esai dengan kuncinya serta dapat memberikan hasil
proses yang baik dengan algoritma yang digunakan adalah algoritma Rabin Karp yang
dimodifikasi untuk meningkatkan akurasi serta mengefektifkan dan mengefisiensi kerja
algoritma sistem. Aplikasi ini kemudian akan diintegrasikan dengan sistem Elearning Moodle,
yakni sebuah system elearning open source yang menyediakan proses evaluasi esai. Sistem
Moodle akan menjadi aplikasi input yang menampilkan soal serta menampung jawaban dari
pelajar. Untuk kunci jawaban akan diinputkan pada sistem automasi penilaian. Kemudian
jawaban jawaban pelajar akan diproses oleh aplikasi automasi penilai esai untuk dinilai
kesamaannya dengan kunci jawaban.
2. Rumusan Masalah
Berdasarkan latar belakang yang dijabarkan sebelumnya, adapun rumusan masalah
dalam penelitian ini adalah :
-
8
1. Bagaimana membangun sebuah sistem yang merupakan implementasi fungsi text
mining menggunakan algoritma Rabin-Karp yang dapat melakukan penilaian
terhadap jawaban essay dalam proses pembelajaran terintegrasi dengan Sistem
Elearning Moodle?
2. Bagaimana pengaruh preproses K-Gram Parsing terhadap nilai similaritas yang
didapat system jika digunakan nilai K-Gram yang berbeda?
3. Berapakah nilai K-Gram dalam K-Gram Parsing yang optimal untuk digunakan
dalam system?
3. Batasan Masalah
Berikut ini adalah batasan masalah dari penelitian.
1. Penelitian akan difokuskan untuk mendeteksi kesamaan jawaban esai dengan kunci
jawaban tersedia.
2. Algoritma yang digunakan untuk pendeteksian kesamaan dokumen adalah algoritma
text mining yakni Rabin Karp yang telah dimodifikasi dengan gabungan beberapa
metode preproses.
3. Penilaian esai dapat ditentukan berdasarkan tingkat kesamaan dalam penggunaan
kata-kata yang muncul secara berurutan dalam jawaban dan kunci jawaban bukan
makna dari jawaban.
4. Penelitian ini tidak berfokus pada kata yang memiliki kesamaan makna atau
bersinonim.
5. Penelitian ini tidak membahas tentang pengejaan dan penulisan yang berbeda
dengan kaidah Ejaan Yang Disempurnakan.
6. Objek penelitian adalah esai dengan struktur teks murni yang tidak mengandung
symbol, rumus atau persamaan matematis dan sejenisnya
4. Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah membangun sistem yang dapat memberikan
nilai terhadap sebuah jawaban esai yang dapat digunakan sebagai referensi penilaian esai dalam
proses evaluasi pembelajaran secara manual serta mengetahui nilai optimal K-gram yang
memberikan akurasi terbaik.
-
9
5. Manfaat penelitian
Manfaat dari penelitian ini antara lain :
1. Memberikan kemudahan kepada pengajar dalam melakukan penilaian terhadap
soal soal esai dalam proses evaluasi pembelajaran dengan penilaian yang
konsisten terhadap jawaban dari esai yang diberikan,
2. Mengurangi waktu yang dibutuhkan untuk melakukan penilaian terhadap
jawaban esai.
6. Tinjauan Pustaka Dan Dasar Teori
6.1. Ujian Esai
Tes Esai sudah sangat populer, terutama di kalangan pendidikan. Penggunaannya
dimulai tahun 2300 SM di Cina, dan hanya bentuk tes tersebut yang digunakan selama berabad-
abad. Kepopuleran tes esai cukup beralasan, karena kemudahannya. Berkebalikan dengan tes
obyektif tes esai mudah untuk menyiapkannya, namun sulit untuk memeriksa jawabannya.
Dalam penelitiannya, Siswanto (2006) mengatakan jawaban yang diberikan pada soal
tes esai lebih baik karena jawaban yang diberikan menyediakan petunjuk tentang bentuk dan
kualitas pemikiran pelajar. Hal itu dikarenakan jawabannya tidak disediakan, akan tetapi digali
dari pengetahuan dan fakta-fakta serta prinsip yang diketahui pelajar kemudian dikembangkan
dan diatur secara logis dan koheren dan diekspresikan sesuai pemahaman pelajar. Penilaian
esai dilakukan dengan melihat karakteristik dari jawaban yang disajikan, bukan dilihat dari
sebrapa panjang jawaban pelajar. Karakteristik jawaban esai digunakan untuk mengukur
pemikiran kritis dari pelajar, keaslian serta kemampuan mengatur dan menggabungkan
pengetahuan yang dimiliki. Kemampuan ini mengindikasikan pelajar mana yang memiliki
kemampuan yang lebih/kurang.
Kekurangan dari penggunaan tes esai terletak pada ketidakkonsistenan dari penilaian
esai. Kekonsistenan atau reliabilitas dari penguji tergolong rendah untuk penilaian esai dengan
tes yang sama. Siswanto juga menyatakan terdapat 3 kondisi yang mempengaruhi reliabilitas
pengujian esai antara lain : (1) Sampling terbatas dari segi isi, (2) Ketidakjelasan perintah pada
soal, (3) adanya subyetifitas skor jawaban. Ketiga hal ini dipengaruhi oleh faktor manusia yang
memiliki persepsi dan mood yang berbeda untuk situasi berbeda, sementara sebagai penguji
seharusnya dapat dipercaya dan dibuktikan secara independen.
-
10
6.2. Sistem Elearning Moodle
Moodle adalah sebuah nama untuk sebuah program aplikasi yang dapat merubah
sebuah media pembelajaran kedalam bentuk web. Aplikasi ini memungkinkan siswa untuk
masuk kedalam “ruang kelas digital” untuk mengakses materi-materi pembelajaran. Dengan
menggunakan Moodle, kita dapat membuat materi pembelajaran, kuis, jurnal elektronik dan
lain-lain. Moodle itu sendiri adalah singkatan dari Modular Object Oriented Dynamic Learning
Environment.
Moodle merupakan sebuah aplikasi Course Management System (CMS) yang gratis
dapat di-download, digunakan ataupun dimodifikasi oleh siapa saja dengan lisensi secara GNU
(General Public License). Anda dapat men-download aplikasi Moodle di alamat
http://www.moodle.org atau Anda dapat install gratis di Server www.e-Padi.com dengan
berlangganan paket Hosting apa saja. Saat ini Moodle sudah digunakan pada lebih dari 150.000
institusi di lebih dari 160 negara didunia.
Aplikasi Moodle dikembangkan pertama kali oleh Martin Dougiamas pada Agustus 2002
dengan Moodle Versi 1.0. Saat ini Moodle bisa dipakai oleh siapa saja secara Open Source.
6.3. Text Mining
Text mining adalah salah satu bidang khusus dalam data mining. Text mining
merupakan proses penggalian pengetahuan intensif di mana pengguna berinteraksi dengan
koleksi dokumen dari waktu ke waktu dengan menggunakan seperangkat alat analisis pada data
mining. Text mining mengekstrak informasi yang berguna dari sumber data melalui identifikasi
dan eksplorasi pola yang menarik (R. Feldman & J. Sanger, 2007). Dalam kasus text mining,
sumber data adalah koleksi dokumen, dan pola yang menarik yang ditemukan tidak ada dalam
catatan database formal tetapi dalam data tekstual terstruktur di dokumen dalam koleksi data.
Text mining juga digambarkan dalam bidang ilmu komputer lain yang juga memiliki
konsentrasi pada penanganan bahasa alami. Meskupin tidak secara penuh, text mining juga
mengeksploitasi teknik dan metode dari bidang information retrival, information extraction dan
korpus komputasi linguistic.
6.3.1. Information Retrival
Information retrieval (temu kembali informasi) adalah pencarian materi (biasanya
dalam bentuk dokumen) dari kombinasi tidak terstruktur (berupa text) yang mengandung
informasi yang dibutuhkan dari koleksi yang besar yang biasanya tersimpan dalam komputer
(Christopher D. Manning, Prabhakar Raghavan & Hinrich Schütze, 2009) . Information
-
11
retrieval bekerja pada sekumpulan set dokumen dan mencari dokumen yang relevan terhadap
informasi yang dibutuhkan oleh pengguna. Kata information retrival saat ini digantikan
dengan search (bersinonim).
Dalam membangun sebuah sistem yang efektif (dalam konteks kualitas hasil pencarian)
terdapat hal yang harus diperhatikan :
Precision : yakni fraksi dokumen terkait yang relevan terhadap informasi yang
dibutuhkan pengguna harus presisi.
Recall : Tingkat keberhasilan sistem dalam menemukan kembali fraksi dari relevan
dokumen / sebuah informasi.
6.3.2. Text Preprocessing
Sesuai dengan penjelasan sebelumnya bahwa dalam text mining struktur data yang
diproses tidak terstruktur, maka dibutuhkan langkah langkah awal sebelum proses mining
dilakukan. Tujuan dari tahap teks preproses adalah untuk mengubah teks yang digunakan
menjadi lebih terstruktur. Pada tahap preproses data pada setiap dokumen diseleksi, seleksi
yang dimaksud meliputi case folding(penanganan huruf kapital), tokenizing (pemenggalan kata
dasar) , filtering (menyaring kata) dan stemming (penentuan kata dasar). Langkah-langkah
preproses text pada dokumen digambarkan sebagai berikut.
Bagan 1. Alur Text Preprocessing
Keempat tahap preproses diatas tidak berlaku pada setiap pengolahan teks. Setiap sistem
memiliki kebutuhan dan spesifikasi yang berbeda. Tahap preproses bergantung pada kebutuhan
pembangunan sistem untuk text mining.
6.4. String Matching
String matching adalah subjek penting dalam ranah pemrosesan teks. Dalam buku
Exact String Maching Algorithms, Christian Charras dan Thierry Lecroq menyatakan string
matching atau pencocokan string merupakan sebuah metode untuk mengetahui kesamaan dari
satu atau beberapa pola teks yang diberikan. Konteks permasalahan dalam string matching
adalah menemukan sebuah string (disebut “pola”) terdapat pada sebuah teks. Permasalahan
ini lebih dikenal dengan pengenalan pola. String merupakan sebuah sekuen dari
Case Folding Tokenizing Filtering Stemming
-
12
simbol/karakter dan simbol didefinisikan sebagai sebuah alfabet. Ukuran dan fitur lain dari
alfabet merupakan faktor penting dalam algoritma pemrosesan string.
Algoritma yang dapat digunakan untuk melakukan string matching sudah cukup
berkembang. Beberapa contoh algoritma string matching yang dapat digunakan antara lain :
(1)Algoritma Brute Force, (2) Algoritma Rabin Karp, (3)Knuth Morris Pratt, (4) Quick Search
dan lain sebagainnya.
6.4.1. Algoritma String Matching Rabin Karp
Algoritma Rabin Karp adalah algoritma pencocokan string yang menggunakan fungsi
hash sebagai pembanding antara string yang dicari (m) dengan substring pada teks (n).
Algoritma Karp-Rabin diciptakan oleh Michael O. Rabin dan Richard M. Karp pada tahun
1987. Fungsi Hash digunakan untuk menghindari quadratic number dari pembandingan
karakter dalam sebagain besar situasi praktiknya. Dibandingkan dengan melakukan
pengecekan terhadap setiap posisi dari teks jika pattern-nya ditemukan, jauh lebih efektif dan
efisien jika hanya digunakan untuk mengecek apakah konten “mirip seperti” pola.
Dalam rangka untuk memeriksa kemiripan antara dua kata maka digunakan fungsi
hashing. Untuk membantu penyelesaian terhadap pencocokan string, fungsi hashing harus
memiliki urutan properti sebagai berikut.
1. Komputasi yang efisien
2. Diskriminan tinggi terhadap string
3. Hash (y[j+1 ...j+m]) harus dapat dengan mudah dihitung melalui hash(y[j….j+m-1]) dan
y[j+m].
Apabila hash value teks yang dibandingkan sama maka akan dilakukan perbandingan
sekali lagi terhadap karakter-karakternya. Apabila hasil keduanya tidak sama, maka substring
akan bergeser ke kanan. Pergeseran dilakukan sebanyak (n-m) kali. Perhitungan nilai hash
yang efisien pada saat pergeseran akan mempengaruhi performa dari algoritma ini.
Dibawah ini adalah pseudo code dari algoritma Rabin Karp.
Rabin_Karp (T,P,d,q)
{
n =Length (T)
m= Length (P)
t0=0
p=0
h=dm-1mod q
For i=1 to m
-
13
{
p = (dp+P[i]) mod q
t0 =(d t0 + T[i] ) mod q
}
For s =0 to n-m
{
If t[s]=p then
{
if P[1….m]=T[s+1…….s+m]
then print pattern matches at shift ‘s’
}
if s
-
14
Fase 2
Gambar 2 Menggeser Comparison block
Setelah pergeseran, didapatkan nilai hash dari fingerprint “aab” (abb=aab - a + b)
menjadi dua (2 = 1 ± 1 + 2).
Gambar 3 Pembandingan kedua
Hasil perbandingan juga tidak sama, maka dilakukan pergeseran. Begitu pula dengan
perbandingan ketiga. Pada perbandingan keempat, didapatkan nilai hash yang sama.
Gambar 4 Perbandingan keempat (nilai hash sama)
Karena nilai hash sama, maka dilakukan perbandingan string karakter per karakter antara
“bca” dan “cab”. Didapatkan hasil bahwa kedua string tidak sama. Kasus ini dinamakan
sebagai spurious hits ( hit palsu). Kemudian kembali substring bergeser ke kanan.
Gambar 5 Perbandingan kelima (string ditemukan)
Pada perbandingan yang kelima, kedua nilai hash dan karakter pembentuk string sesuai,
sehingga solusi ditemukan. Ketika nilai hash sama dan karakter penyusunnya juga sama
kondisi ini disebut successfull hit (hit sukses). Dari hasil perhitungan, kompleksitas waktu yang
dibutuhkan adalah O(m+n) dengan m adalah panjang string masukan dan n adalah jumlah
looping yang dilakukan untuk menemukan solusi.
6.4.2. Modified Rabin Karp Algorithm
Seperti terlihat pada algoritma Rabin Karp, ketika ditemukan bahwa hasil perhitungan
dari nilai hash yang sama algoritma tersebut membandingkan apakah subset karakter dengan
hash yang sama memiliki urutan/susunan karakter yang sama. Hal ini menambah beban
komputasi dari algoritma Rabin Karp. Rajender Singh Chillar dan Barjesh Kochar (2008)
-
15
dalam penelitiannya RB-Matcher: String Matching Technique memberikan modifikasi
terhadap algoritma Rabin Karp dengan tambahan proses memperhitungkan nilai bagi dari
string dan key string yang memiliki nilai hash yang sama. Dengan perhitungan sisa, akan dapat
diketahui hasil bagi dan jika kedua sisa dan hasil bagi teks sesuai dengan pola maka termasuk
sukses hit, kemudian tidak perlu untuk membandingkannya. Itu berarti tidak ada perhitungan
tambahan hits palsu jika keduanya pola maka sama ditemukan pola yang lain tidak ditemukan.
Dibawah ini adalah pseudo code dari algoritma Rabin Karp yang telah dimodifikasi
(RB-Matcher).
Modified_Rabin_Karp (T,P,d,q)
{
n =Length (T)
m= Length (P)
t0=0
p=0
Q=0
pq=0
h=dm-1mod q
For i=1 to m
{
p = (dp+P[i]) mod q
t0 =(d t0 + T[i] ) mod q
}
pq= P[1…..m] DIV q
For s =0 to n-m
{
Q=T{s+1……….s+ m] DIV q
If (ts = p and Q = pq)
{
then print pattern matches at shift ‘s’
}
if s
-
16
Dengan pengubahan pada algoritma maka waktu komputasi yang diperlukan untuk proses
Rabin Karp menjadi lebih kecil.
7. Metode Penelitian
Penelitian yang dilakukan adalah jenis penelitian terapan yakni penelitian yang dapat
diterapkan untuk memecahkan masalah yang dihadapi, dalam hal ini pengujian / penilaian
terhadap jawaban esai. Penelitian ini berfokus pada pengetahuan teoritis dan praktis dalam
bidang tertentu dan bukan bidang pengetahuan umum.
7.1. Bahan dan Lokasi Penelitian
Bahan penelitian yang digunakan adalah soal soal esai yang terdapat di Jurusan Ilmu
Komputer Universitas Udayana. Soal soal esai yang digunakan didapatkan dari pengumpulan
data.
7.2. Metode Pengumpulan Data
Dalam pengumpulan data yang diperlukan untuk penelitian ini teknik pengumpulan
data yang digunakan adalah
1. Studi Literatur dan Dokumentasi
Teknik ini merupakan pengumpulan data yang dilakukan untuk mendapatkan
pengetahuan tentang , ekstraksi fitur teks. Studi literatur juga diperlukan untuk
mendapatkan informasi penelitian-penelitian sebelumnya tentang otomatisasi
penilaian esai, text mining, string matching dan algoritma Rabin Karp.
Analisis dokumen dilakukan untuk mengumpulkan data yang bersumber dari
arsip dan dokumen yang berhubungan dengan penelitian. Dokumen yang diperlukan
berupa data soal esai beserta jawabannya, data penelitian dan data publikasi di Jurusan
Ilmu Komputer Fakultas MIPA Universitas Udayana
2. Wawancara
Wawancara dilakukan terhadap individu yang mengetahui tentang data dan
informasi masalah yang dibahas dalam penelitian ini. Topik wawancara mengenai soal
soal esai yang akan digunakan sistem yang diperlukan
7.3. Metode Pengembangan Perangkat Lunak
Perangkat lunak yang digunakan sebagai pengembangan dan pengujian disini bersifat
purwarupa dan menggunakan program aplikasi Net Beans dan Adobe Dream Weaver untuk
pengembangan, serta Browser Firefox sebagai perangkat lunak uji. Adapun metode yang
digunakan dalam pembuatan perangkat lunak ini menggunakan System Development Life
-
17
Cycle (SDLC) yaitu Waterfall Model. Didalam SDLC terdapat tahapan-tahapan
pengembangan model purwarupa yaitu:
1. Analisis kebutuhan
Tahapan ini melakukan analisis kebutuhan yang bertujuan untuk mengetahui informasi,
model dan spesifikasi dari sistem yang akan dibangun.
2. Pengembangan purwarupa
Tahapan ini melakukan perancangan dan pembuatan purwarupa sesuai dengan
kebutuhan sistem.Tahapan ini juga dilakukan evaluasi terhadap purwarupa tersebut
apakah sudah sesuai atau belum dengan kebutuhan sistem.
3. Pengembangan perangkat lunak
Tahapan ini melakukan pembuatan perangkat lunak yang telah sesuai dengan
kebutuhan dan mengembangkan sampai menjadi sebuah sistem aplikasi.
4. Pengujian
Tahapan ini merupakan proses pengujian terhadap perangkat lunak yang dilakukan
untuk memastikan apakah sudah sesuai dengan kebutuhan atau belum.
7.4. Design Penelitian
Adapun desain alur kerja dari penelitian otomatisasi penilaian esai adalah sebagai
berikut.
7.4.1. Diagram Konteks dan Data Flow Diagram Sistem
Untuk menggambarkan alur data yang ada pada sistem secara umum digunakan notasi
Data Flow Diagram (DFD).
Bagan 2 Diagram Konteks Sistem
Sistem
Otomatisasi
Penialaian Esai
Pelajar Pengajar
Menginputkan
jawaban esai
Mendapatkan
Nilai
Menginputkan Soal dan
Kunci Jawaban
Mendapat Laporan
Hasil Penilaian dan
Jawaban
-
18
Dari diagram konteks diatas penjabaran detail data flow diagramnya adalah sebagai berikut.
Bagan 3 DFD Level 0..
Dengan DFD level 1 dari proses 1, 2 dan 3 seperti bagan berikut.
Bagan 4 DFD Level 1 Proses 1
Input jawaban esai Laporan Nilai Pelajar
Input soal dan
jawaban Laporan Hasil
Penilaian
1.
Preproses
2.
Proses
3.
Postproses
DB 1
Kata
dasar
Nilai similarity
& rangking
Pelajar
Pengajar
Kata
dasar
DB 2
DB 3
Data Nilai
Data
Nilai
Input jawaban esai
Input soal dan
jawaban
Kata dasar
1.1.
Case
Folding
1.2.
Parsing &
Tokenizing
1.3.
Filtering
1.4.
Stemming
Teks input
Kata input
Kata
penting
DB 1
Kata dasar
Keterangan :
DB 1 : database kata dasar
DB 2 : database hash
DB 3 : database nilai
Proses
1.Preproses : pemroses awal teks input
2. Proses : pemroses utama string matching
3. Postproses : pengolahan nilai esai
-
19
Bagan 5 DFD Level 1 Proses 2
Bagan 6 DFD Level 1 Proses 3
Kata dasar
Nilai similarity
dan rangking
2.1.
Merging
2.2.
String
Matching
2.3.
Dice's
Similarity
Coefficient
Teks input
Nilai Similarity
DB 2
DB 1
Kata dasar
Nilai
Similarity dan
rangking
3.3.
Laporan
Nilai
3.2.
Laporan
Nilai dan
Rekapitulasi
Laporan nilai
Pelajar
DB 3
Laporan Hasil
Penilaian
3.1.
Proses
Nilai
Data Nilai
Data Nilai
Keterangan :
DB 1 : database kata dasar
DB 2 : database hash
DB 3 : database nilai
Proses
1.Preproses : pemroses awal teks input
2. Proses : pemroses utama string matching
3. Postproses : pengolahan nilai esai
-
20
Dalam penelitian ini secara garis besar penulis jabarkan menjadi beberapa fase berbeda
sesuai dengan relevansi tahapan penelitian dan pengembanganya.
7.4.2. Tahap Preprocessing
Pada tahap ini dilakukan pemrosesan awal terhadap data/teks yang akan digunakan
dalam penelitian.
Bagan 7 Alur Preprocessing
7.4.2.1. Case Folding dan Tokenizing
Case folding adalah mengubah semua huruf dalam dokumen menjadi huruf kecil . Hal
ini baik untuk membuat normalisasi terhadap string/teks dan mengurangi kesalahan pada
pencarian informasi yang diakibatkan oleh perbedaan karakter/case yang sebenarnya memiliki
makna yang sama Tahap tokenizing adalah tahap pemotongan string atau character stream
menjadi token/kata yang menyusunnya (Christopher-Prabhakar-Hinrich, 2008).. Berikut
adalah proses case folding dan tokenizing.
Case Folding
Mulai
Filtering
Stemming
Selesai
Tokenizing
Keterangan :
Case Folding : Mengubah string ke dalam
lower case(tanpa huruf kapital)
Tokenizing : memecah string menjadi kata
Filtering : menyaring kata kata yang
bermakna penting, me-remove
kata hubung, symbol
Stemming : mengubah kata ke bentuk dasar
(kata dasar)
-
21
Bagan 8 Proses Case Filding dan Tokenizing
7.4.2.2. Filtering
Filtering adalah tahap menyaring / mengambil kata-kata penting dari hasil token. Dapat
dilakukan dengan menggunakan stopword (membuang kata yang kurang penting) atau wordlist
(menyimpan kata penting). Stopword adalah kata-kata yang tidak deskriptif yang dapat dibuang
dalam pendekatan bag-of-words. Contoh stopwords adalah “yang”, “dan”, “di”, “dari”, dan
seterusnya. Contoh dari tahapan ini dapat dilihat pada bagan berikut.
Bagan 9 Proses Filtering
7.4.2.3. Stemming
Tahap stemming adalah tahap pencarian dasar kata dari tiap kata hasil filtering. Pada
tahap ini dilakukan proses pengembalian berbagai bentukan kata ke dalam suatu representasi
yang sama (kata dasar). Tahap ini kebanyakan dipakai untuk teks berbahasa inggris dan lebih
Ilmu Komputer adalah salah satu
jurusan di Fakultas MIPA
ilmu
komputer
adalah
salah
satu
jurusan
di
fakultas
mipa
Teks input
Teks output
ilmu
komputer
salah
satu
jurusan
fakultas
mipa
Token Input Token Output
ilmu
komputer
adalah
salah
satu
jurusan
di
fakultas
mipa
-
22
sulit diterapkan pada teks berbahasa Indonesia. Hal ini dikarenakan Bahasa Indonesia tidak
memiliki rumus bentuk baku yang permanen.
Bagan 10 Proses Stemming
Ada beberapa algoritma stemming berbahasa Indonesia yang dikembangkan dalam
beberapa penelitian diantaranya algoritma Nazief Adriani dal algoritma Arifin Setiono. Nazief
Adriani dideskripsikan pada sebuah laporan teknikal yang tidak dipublikasi dari Universitas
Indonesia pada tahun 1996. Algoritma ini bekerja dengan menggunakan aturan morfologi
kompehrensif berdasarkan kelompok kata tertentu dengan mengenkapsulasi imbuhan kata
yang diperbolehkan dan yang tidak (Jelita, 2007). Stemming Arifin Setiono juga memiliki alur
kerja yang sama, yakni dengan menggunakan pendekatan dengan dictionary yang secara
bertahap menghilangkan imbuhan kata. Algoritma ini lebih baik dalam kompleksitasnya
daripada Nazief Adriani, namun dari segi keakuratan hasil proses algoritma Nazief Adriani
lebih baik daripada algoritma Arifin Setiono (Jelita, 2007).
Proses stemming pada teks berbahasa Indonesia lebih rumit/kompleks karena terdapat
variasi imbuhan yang harus dibuang untuk mendapatkan root word(kata dasar) dari sebuah
kata.. Pada umumnya kata dasar pada bahasa Indonesia terdiri dari kombinasi:
Prefiks 1 + Prefiks 2 + Kata dasar + Sufiks 3 + Sufiks 2 + Sufiks 1
Algoritma Nazief & Adriani memiliki tahap-tahap sebagai berikut:
1. Pertama cari kata yang akan diistem dalam kamus kata dasar. Jika ditemukan maka
diasumsikan kata adalah root word. Maka algoritma berhenti.
2. Inflection Suffixes (“-lah”, “-kah”, “-ku”, “-mu”, atau “-nya”) dibuang. Jika berupa
particles (“-lah”, “-kah”, “-tah” atau “-pun”) maka langkah ini diulangi lagi untuk
menghapus Possesive Pronouns (“-ku”, “-mu”, atau “-nya”), jika ada.
3. Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”). Jika kata ditemukan di kamus, maka
algoritma berhenti. Jika tidak maka ke langkah 3a
cari
laku
kembali
bentuk
bahasa Token Input Token Output
pencarian
dilakukan
pengembalian
bentukan
berbahasa
-
23
a. Jika “-an” telah dihapus dan huruf terakhir dari kata tersebut adalah “-k”, maka “-
k” juga ikut dihapus. Jika kata tersebut ditemukan dalam kamus maka algoritma
berhenti. Jika tidak ditemukan maka lakukan langkah 3b.
b. Akhiran yang dihapus (“-i”, “-an” atau “-kan”) dikembalikan, lanjut ke langkah 4.
4. Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus maka pergi ke
langkah 4a, jika tidak pergi ke langkah 4b.
a. Periksa tabel kombinasi awalan-akhiran yang tidak diijinkan. Jika ditemukan maka
algoritma berhenti, jika tidak, pergi ke langkah 4b.
b. For i = 1 to 3, tentukan tipe awalan kemudian hapus awalan. Jika root word belum
juga ditemukan lakukan langkah 5, jika sudah maka algoritma berhenti. Catatan:
jika awalan kedua sama dengan awalan pertama algoritma berhenti.
5. Melakukan Recoding.
6. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal diasumsikan
sebagai root word. Proses selesai.
Tipe awalan ditentukan melalui langkah-langkah berikut:
1. Jika awalannya adalah: “di-”, “ke-”, atau “se-” maka tipe awalannya secara berturut-
turut adalah “di-”, “ke-”, atau “se-”.
2. Jika awalannya adalah “te-”, “me-”, “be-”, atau “pe-” maka dibutuhkan sebuah proses
tambahan untuk menentukan tipe awalannya.
3. Jika dua karakter pertama bukan “di-”, “ke-”, “se-”, “te-”, “be-”, “me-”, atau “pe-”
maka berhenti.
4. Jika tipe awalan adalah “none” maka berhenti. Jika tipe awalan adalah bukan “none”
maka awalan dapat dilihat pada Tabel 2. Hapus awalan jika ditemukan.
Berikut adalah table kombinasi awalan dan akhiran yang tidak diijinkan.
Awalan Akhiran yang tidak diizinkan
be- -i
di- -an
ke- -i, -kan
me- -an
se- -i, -kan
Tabel 1 Kombinasi awalan dan akhiran yang tidak diperbolehkan
-
24
Dengan cara menentukan tipe walan yang diberikan pada kata terdapat pada table berikut.
Following Characters Tipe
Awalan Set 1 Set 2 Set 3 Set 4
“-r-“ “-r-“ – – none
“-r-“ – – ter-luluh
“-r-“ not (vowel or
“-r-”)
“-er-“ vowel ter
“-r-“ not (vowel or
“-r-”)
“-er-“ not
vowel
ter-
“-r-“ not (vowel or
“-r-”)
not “-er-“ – ter
not (vowel or
“-r-”)
“-er-“ vowel – none
not (vowel or
“-r-”)
“-er-“ not vowel – te
Tabel 2 Cara Menentukan Tipe Awalan Untuk awalan “te-”
Jenis awalan pada algoritma Nazief Adriani dibedakan menjadi beberapa tipe yang harus
dihapus yakni
Tabel 3.
Tipe Awalan Awalan yang harus dihapus
di- di-
ke- ke-
se- se-
te- te-
ter- ter-
ter-luluh ter
Tabel 3 Jenis Awalan Berdasarkan Tipe Awalannya
Untuk mengatasi keterbatasan pada algoritma di atas, maka ditambahkan aturan-aturan
dibawah ini:
1. Aturan untuk reduplikasi.
1. Jika kedua kata yang dihubungkan oleh kata penghubung adalah kata yang sama
maka root word adalah bentuk tunggalnya, contoh : “buku-buku” root word-nya
adalah “buku”.
2. Kata lain, misalnya “bolak-balik”, “berbalas-balasan, dan ”seolah-olah”. Untuk
mendapatkan root word-nya, kedua kata diartikan secara terpisah. Jika keduanya
memiliki root word yang sama maka diubah menjadi bentuk tunggal, contoh: kata
“berbalas-balasan”, “berbalas” dan “balasan” memiliki root word yang sama yaitu
“balas”, maka root word “berbalas-balasan” adalah “balas”. Sebaliknya, pada kata
-
25
“bolak-balik”, “bolak” dan “balik” memiliki root word yang berbeda, maka root
word-nya adalah “bolak-balik”.
2. Tambahan bentuk awalan dan akhiran serta aturannya.
1. Untuk tipe awalan “mem-“, kata yang diawali dengan awalan “memp-” memiliki
tipe awalan “mem-”.
2. Tipe awalan “meng-“, kata yang diawali dengan awalan “mengk-” memiliki tipe
awalan “meng-”.
Berikut contoh-contoh aturan yang terdapat pada awalan sebagai pembentuk kata dasar.
1. Awalan SE-
Se + semua konsonan dan vokal tetap tidak berubah
Contoh :
Se + bungkus = sebungkus
Se + nasib = senasib
Se + arah = searah
Se + ekor = seekor
2. Awalan ME-
Me + vokal (a,i,u,e,o) menjadi sengau “meng”
Contoh :
Me + inap = menginap
Me + asuh = mengasuh
Me + ubah = mengubah
Me + ekor = mengekor
Me + oplos = mengoplos
Me + konsonan b menjadi “mem”
Contoh :
Me + beri = member
Me + besuk = membesuk
Me + konsonan c menjadi “men”
Contoh :
Me + cinta = mencinta
Me + cuci = mencuci
Me + konsonan d menjadi “men”
-
26
Contoh :
Me + didik = mendidik
Me + dengkur = mendengkur
Me + konsonan g dan h menjadi “meng”
Contoh :
Me + gosok = menggosok
Me + hukum = menghukum
Me + konsonan j menjadi “men”
Contoh :
Me + jepit = menjepit
Me + jemput = menjemput
Me + konsonan k menjadi “meng” (luluh)
Contoh :
Me + kukus = mengukus
Me + kupas = mengupas
Me + konsonan p menjadi “mem” (luluh)
Contoh :
Me + pesona = mempesona
Me + pukul = memukul
Me + konsonan s menjadi “meny” (luluh)
Contoh :
Me + sapu = menyapu
Me + satu = menyatu
Me + konsonan t menjadi “men” (luluh)
Contoh :
Me + tanama = menanam
Me + tukar = menukar
Me + konsonan (l,m,n,r,w) menjadi tetap “me”
Contoh :
Me + lempar = melempar
Me + masak = memasak
Me + naik = menaik
Me + rawat = merawat
Me + warna = mewarna
-
27
3. Awalan KE-
Ke + semua konsonan dan vokal tetap tidak berubah
Contoh :
Ke + bawa = kebawa
Ke + atas = keatas
4. Awalan PE-
Pe + konsonan (h,g,k) dan vokal menjadi “per”
Contoh :
Pe + hitung + an = perhitungan
Pe + gelar + an = pergelaran
Pe + kantor + = perkantoran
Pe + konsonan “t” menjadi “pen” (luluh)
Contoh :
Pe + tukar = penukar
Pe + tikam = penikam
Pe + konsonan (j,d,c,z) menjadi “pen”
Contoh :
Pe + jahit = penjahit
Pe + didik = pendidik
Pe + cuci = pencuci
Pe + zina = penzina
Pe + konsonan (b,f,v) menjadi “pem”
Contoh :
Pe + beri = pemberi
Pe + bunuh = pembunuh
Pe + konsonan “p” menjadi “pem” (luluh)
Contoh :
Pe + pikir = pemikir
Pe + potong = pemotong
Pe + konsonan “s” menjadi “peny” (luluh)
Contoh :
Pe + siram = penyiram
Pe + sabar = penyabar
-
28
Pe + konsonan (l,m,n,r,w,y) tetap tidak berubah
Contoh :
Pe + lamar = pelamar
Pe + makan = pemakan
Pe + nanti = penanti
Pe + wangi = pewangi
Pada proses stemming menggunakan Algoritma Nazief & Adriani, kamus yang
digunakan sangat mempengaruhi hasil stemming. Semakin lengkap kamus yang digunakan
maka semakin akurat pula hasil stemming.
7.4.3. Tahap Processing Algoritma Rabin Karp
Flow chart dari proses utama sistem adalah sebagai berikut.
Bagan 11 Flow chart Rabin Karp
7.4.3.1. K-Gram Parsing
K-Grams adalah rangkaian terms dengan panjang K. Kebanyakan yang digunakan
sebagai terms adalah kata. K-Grams merupakan sebuah metode yang diaplikasikan untuk
pembangkitan kata atau karakter. Metode K-Grams ini digunakan untuk mengambil potongan-
potongan karakter huruf sejumlah k dari sebuah kata yang secara kontinuitas dibaca dari teks
sumber hingga akhir dari dokumen. Dalam Markov Model nilai K-Grams yang sering
digunakan yaitu, 2-gram (bigram), 3-gram (trigram) dan seterusnya disebut K-Grams (4-gram,
5-gram dan seterusnya). Dalam natural language processing, penggunaan K-Grams (atau lebih
dikenal dengan n-gram), proses parsing token (tokenisasi) lebih sering menggunakan 3-gram
dan 4-gram, sedangkan 2-gram digunakan dalam parsing sentence, misal dalam part-of-speech
Parsing K-gram
Mulai
Hashing
String Matching
Selesai
Keterangan :
Parsing K-gram : Menggabungkan kata dan
Memotongnya menjadi string pola sejumlah
K karakter.
Hashing : memberi nilai hash untuk masing masing
pola string
String Matching : mencocokkan string pola dengan
string query
-
29
(POS). Penggunaan 2-gram dalam tokenisasi akan menyebabkan tingkat perbandingan antar
karakter akan semakin besar. Berikut ini adalah contoh K-Grams dengan k=5:
7. Text : Ilmu Komputer Universitas Udayana ilmu komputer universitas udayana
8. Kemudian dilakukan penghilangan spasi : ilmukomputeruniversitasudayana
9. Sehingga hasil K- Gram yang didapat :
{ilmuk} {lmuko} {mukom} {ukomp} {kompu} {omput}
{mpute} {puter} {uteru} {terun} {eruni} {runiv}
{unive} {niver} {ivers} {versi} {ersit} {rsita}
{sitas} {itasu} {tasud} {asuda} {suday} {udaya}
{dayan} {ayana}
7.4.3.2. Hashing
Hashing adalah suatu cara untuk mentransformasi sebuah string menjadi suatu nilai
yang unik dengan panjang tertentu (fixed-length) yang berfungsi sebagai penanda string
tersebut. Fungsi untuk menghasilkan nilai ini disebut fungsi hash, sedangkan nilai yang
dihasilkan disebut nilai hash. Contoh sederhana hashing adalah:
Firdaus, Hari
Munir, Rinaldi
Rabin, Michael
Karp, Richard
Menjadi:
7864 = Firdaus, Hari
9802 = Munir, Rinaldi
1990 = Rabin, Michael
8822 = Karp, Richard
Contoh di atas adalah pengunaan hashing dalam pencarian pada database. Apabila tidak di-
hash, pencarian akan dilakukan karakter per karakter pada nama-nama yang panjangnya
bervariasi dan ada 26 kemungkinan pada setiap karakter. Namun pencarian akan menjadi lebih
efisien setelah di-hash karena hanya akan membandingkan empat digit angka dengan cuma 10
kemungkinan setiap angka. Nilai hash pada umumnya digambarkan sebagai fingerprint atau
blok string yaitu suatu string pendek yang terdiri atas huruf dan angka yang terlihat acak (data
biner yang ditulis dalam heksadesimal).
-
30
7.4.4. Arsitektur Integrasi Sistem Moodle dan Automasi Esai
Untuk menggabungkan system automasi dengan system elearning Moodle maka
diperlukan sebuah modul yang berfungsi sebagai interpreter yang menjembatani system
automasi dengan system Moodle. Modul ini akan menghubungkan kedua system dalam proses
data yang berkaitan dengan database yang digunakan pada kedua system. Adapun rancangan
arsitektur integrasi kedua system antara lain sebagai berikut.
Bagan 12 Arsiterktur Integrasi Sistem
Dari database Moodle modul akan mengambil data data seperti data user, course yang
diikuti user, lesson, serta data Quiz atau evaluasi serta data jawaban yang diperlukan. Secara
detail arsitektur hubungan proses integrasi system adalah seperti dibawah ini.
Bagan 13 Rancangan Arsitektur Integrasi Sistem
Sistem Moodle
Database Moodle
Modul Intepreter Sistem Automasi
Proses
Seleksi dan
Agregasi
Data
Proses Data
Jawaban
Data Course
User, quiz
Jawaban
Kunci dan
Jawaban
Esai
Sesi Aktif
Get data
Seleksi atribut
data
Agregasi data
Preprosessing
penilaian
Proses
penilaian
Input kunci
jawaban
Submit
nilai
Database
moodle
Database
moodle
Database
moodle
data user,
course, lesson
quiz
data dengan atribut
terseleksi
Agregat data user,
course, quiz
Data kunci
jawaban
pengajar pelajar
Proses
laporan
Nilai disetujui
Data jawaban dan
kunci jawaban
Data jawaban
Dan kunci jawaban
Rekomendasi
nilai data nilai
Laporan
nilai
Laporan
nilai dan
rekapitulasi
Modul Sistem automasi
kunci jawaban
-
31
7.4.5. Penambahan Modul pada Moodle
Modul yang ditambahkan pada system elearning Moodle tidak dapat dibangun secara
sembarang. Moodle telah menyediakan template modul baru dalam bentuk package modul
yang dapat diunduh pada halaman resmi Moodle. Pada package tersebut terdapat beberapa file
default yang harus ada pada sebuah modul baru yang akan ditambahkan pada system elearning
Moodle. Berikut adalah langkah langkah membangun dan menambahkan modul baru pada
Moodle.
1. Download package template modul baru melalui situs resmi Moodle melalui
https://docs.moodle.org/dev/NEWMODULE_Documentation
2. Lakukan ekstraksi pada package template modul yang telah diunduh
3. Ubah nama folder newmodule/ sesuai dengan nama modul yang akan digunakan.
Nama modul harus menggunakan huruf kecil (bukan capital) tanpa tanda
underscore.
4. Lakukan editing pada file dalam folder modul baru yang dibuat maupun pada file
dalam subdirektori modul baru
5. Kemudian tempatkan folder modul baru pada folder /mod pada Moodle direktori.
6. Buka menu setting administrasi pada dashboard admin, Settings > Site
Administration > Development > XMLDB editor, lalu modifikasi table module
yang ada.
7. Pastikan web server memiliki akses data ke dalam database. Walaupun modul yang
dibangun tidak menggunakan database setidakanya terdapat satu table referensi
yang dihubungkan dengan system/modul yang dibangun.
8. Modifikasi file version.php untuk men-setting versi dari modul yang dibangun.
9. Buka menu Settings > Site Administration > Notifications untuk memastikan tabel
modul telah dibuat
10. Lakukan pengecekan bahwa modul yang dibangun telah berhasil ditambahkan
pada system Moodle telah berhasil dibuat dengan membuka menu Site
Administration > Plugins > Activity modules > Manage activities dan perhatikan
apakah nama modul telah berada pada list modul yang telah diinstall.
Hal yang harus diperhatikan dalam penambahan modul adalah pastikan bahwa modul yang
dibangun telah memiliki kapabilitas pada database dan sistem Moodle. Dan sebelumnya
mungkin perlu melakukan pengubahan pada file mod_form.php and view.php sebelum
memodifikasi file yang lain.
https://docs.moodle.org/dev/NEWMODULE_Documentation
-
32
8. Uji Coba
Untuk pengujian terhadap sistem akan dilakukan dengan metode Blackbox testing.
Pengujian dilakukan dengan beberapa skenario uji coba. Untuk bahan percobaan akan
digunakan data dari hasil penelitian awal yang didapat di Jurusan Ilmu Komputer Universitas
Udayana yakni berupa soal esai dengan struktur esai murni teks tanpa ada symbol, rumus atau
persamaan matematis lainnya.
8.1. Skenario Uji Coba
Pengujian pertama dilakukan dengan menginput 1 soal melalui system kemudian akan
diberikan 10 jawaban soal esai menggunakan jawaban yang sama memalui system Moodle
hanya saja jawaban ke – 2, 3, 4, 5, 6, 7, 8, 9, dan 10 dilakukan pemotongan kata hingga jumlah
kata masing masing 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, dan 10 % dari jawaban 1.
Tujuan dari mengurangi jumlah kata adalah untuk mengetahui perangkingan yang didapat oleh
sistem, setelah menginput kesepuluh jawaban esai tersebut. Pemotongan kata pada jawaban
esai telah diubah sedemikian rupa dengan memotong secara acak jawaban esai . Perkiraan awal
hasil dari pengujian ini adalah didapat hasil rangking berturut dari jawaban yang memiliki
kesamaan tertinggi hingga terendah yakni jawaban 1, 2, 3 hingga 10.
Pengujian kedua dilakukan dengan 1 soal esai kembali dengan 10 jawaban soal esai
menggunakan jawaban yang berebeda dari jawaban 1. Tujuannya adalah untuk mengetahui
perangkingan yang didapat oleh sistem menggunakan jawaban dengan uraian yang berbeda
pada setiap jawaban setelah menginput kesepuluh jawaban esai tersebut. Perkiraan awal hasil
dari pengujian ini adalah didapat hasil rangking berturut dari jawaban yang memiliki kesamaan
tertinggi hingga terendah yakni jawaban 1, 2, 3 hingga 10.
Tingkat Akurasi dari system akan diukur secara manual. Pengukuran dilakukan dengan
membandingkan perolehan penilaian yang didapat dengan menilai esai secara manual dan
penilaian yang didapat system. Tingkat akurasi akan disesuaikan dengan rasio pendekatan
sebesar 90 % selisih dari penilaian secara manual dengan penilaian system. Hal ini dilakukan
untuk memberikan batasan error rate penilaian system dengan penilaian manual sehingga dapat
diketahui seberapa jauh perbedaan hasil yang diberikan oleh system dengan evaluasi manual.
Proses pada kedua pengujian dilakukan proses preprocessing dan processing.
Preprocessing akan dilakukan dikedua sisi query (jawaban) dan dokumen(kunci jawaban).
Penentuan stoword pada penelitian ini dilakukan dengan mencari kata yang paling sering
muncul dari beberapa dokumen dan daftar kata hubung berdasarkan Kamus Besar Bahasa
Indonesia(KBBI) sehingga didapatkan kata-kata yang memang dapat dihilangkan dari
-
33
dokumen. Demikian pula untuk penentuan kata dasar juga mengacu pada KBBI edisi online.
Processing dilakukan dengan menggunakan Rabin-Karp dan dice coefficient. Variable yang
digunakan dalam penelitian ini adalah waktu proses dan nilai similaritas kunci jawaban
terhadap jawaban input(query).
9. Jadwal Pelaksanaan Penelitian
AGENDA BULAN KE 1 BULAN KE 2 BULAN KE 3
No Kegiatan MINGGU KE MINGGU KE MINGGU KE
1 2 3 4 1 2 3 4 1 2 3 4
Tahap Analisis Kebutuhan
1 Pengumpulan data (Soal dan
Jawaban Esai sebagai input
pada system)
Tahap Pengembangan
Purwarupa/Permodelan
2 Analisis kebutuhan antar muka
dan pengembangan sistem
3 Pembuatan detail flowchart
preprocessing system untuk
tokenizing, filtering dan
stemming
4 Pembuatan Flowchart parsing
k-gram, hashing dan String
Matching
5 Pembuatan data flow diagram
6 Pembuatan scenario dan data
uji sistem
7 Pembuatan desain antar muka
Tahap Pengembangan Sistem
8 Pengembangan dengan bahasa
pemrograman PHP dan data
Base MySQL
Tahap Pengujian
-
34
9 Pengujian Unit
10 Pengujian sistem sesuai
skenario uji
11 Pembuatan tabel hasil
pengujian sistem
-
35
Daftar Pustaka
Akhtar Rasool,Amrita Tiwari, Gunjan Singla,Nilay Khare. 2012. “String Matching
Methodologies:A Comparative Analysis”. International Journal of Computer
Science and Information Technologies, Vol. 3 (2) , 2012,3394 - 3397
Christian Charras, Thierry Lecroq. Handbook of Exact String Matching Algorithms.
Christopher D. Manning, Prabhakar Raghavan & Hinrich Schütze. 2009. An Introduction to
Information Retrieval. England : Cambridge University Press Feldman, Ronen, James Sanger. 2007. The Text Mining Handbook : Advanced Approaches in
Analyzing Unstructured Data. New York : Cambridge University Press.
Handrie Noprisson, Boko Susilo, Ernawati., Oktober. 2013. “Implementasi Algoritma Rabin-
Karp Untuk Menentukan Keterkaitan Antar Publikasi Penelitian Dosen Tahun 2013”.
Jurnal Teknologi Informasi, Volume 9 Nomor 2, ISSN 1414-9999.
Kendall, Kenneth E. 2008. Systems Analysis and Design 8th Edition. New Jersey : Prentice
Hall
Leena Salmela, Jorma Tarhio, Jari Kytojoki. 2006. “Multi-pattern string matching with q-
grams”. ACM Journal of Experimental Algorithmics, Volume 11, Article No. 1.1,
2006.
Manvi Mahana, Mishel Johns, Ashwin Apte,. Desember. 2012.“Automated Essay Grading
Using Machine Learning”. CS229 Machine Learning Stanford University.
Rajender Singh Chillar, Barjesh Kochar., 2008. “RB-Matcher: String Matching Technique”.
World Academy of Science, Engineering and Technology, Vol:2 2008-06-27.
Sahriar Hamza, M. Sarosa, Purnomo Budi Santoso,. Desember. 2013. “Sistem Koreksi Soal
Essay Otomatis Dengan Menggunakan Metode Rabin Karp”. Jurnal EECCIS Vol. 7,
No. 2.
Salmuasih, Andi Sunyoto,. Juni2013. “Implementasi Algoritma Rabin Karp Untuk
Pendeteksian Plagiat Dokumen Teks Menggunakan Konse Similarity”. Seminar
Nasional Aplikasi Teknologi Informasi (SNATI) 2013, F-23, ISSN 1907-5022.
Siswanto. 2006. “Penggunaan Tes Essay Dalam Evaluasi Pembelajaran” Jurnal Pendidikan
Akuntansi Indonesia, Vol. V No. 1, Hal. 55 – 61