Bab Ii.
Bab Ii.
LANDASAN TEORI
Landasan teori terdiri atas dua sub bab, yaitu Tinjauan Pustaka dan Dasar
Teori. Tinjauan Pustaka berisikan penelitian-penelitian yang dihasilkan berdasar
metode yang hampir sama dengan penelitian yang akan dilakukan. Dasar teori
berisikan beberapa kajian teori dari penelitian yang akan dilakukan.
5
penilaian human rater dengan sistem menghasilkan prosentasi nilai antar 45,03%
- 50.55%. Walaupun Metode ini relatif sederhana namun memiliki tingkat korelasi
yang cukup baik jika dibandingkan dengan penilaian yang dilakukan oleh manusia
atau human rater (Aji, 20011)
Penelitian Ontologi yang dipakai pada sistem esai berbasis Moodle, teknik
yang digunakan adalah gabungan algoritma hybrid pada penilaian essay. Proses
didalamnya adalah pencarian sinonim berdasarkan pengukuran similaritas
semantik berbasis wordnet dan pemberian skor pada kemiripan objek data
ontologi. Proses pencarian sinonim pada wordnet akan menghasilkan beberapa
output sinonim yang berada pada level yang berbeda. Perbedaan ini akan
menstimulasi hasil penghitungan yang berbeda karena level tersebut
mencerminkan tingkat kemiripan dari suatu sinonim. Proses pencocokan kata
masukan dengan kunci jawaban akan menghasilkan suatu proses pencocokan yang
lebih akurat. Dari proses penelusuran skor akan menghasilkan kemiripan dari
masing-masing kata yang akan digunakan untuk menghitung skor antara kalimat.
Hasil yang diharapkan adalah dapat terintegrasinya algoritma hybrid pada sistem
moodle sehingga dapat menunjang kinerja moodle dari sisi proses otomatisasi
penilaian soal esai. (Firdausiah, 2008).
Berikut ini adalah resume hasil penelitian yang telah dijelaskan sebelumnya.
Tabel 2.1. Resume hasil penelitian
Unsur Putri Bayu Aji Firdausiah
Metode Pendekatan Pendekatanya Pendekatanya
metodenya mengguanakan mengguanakan
mengguanakan LSA dengan algoritma hybrid
LSA algoritma SVD
6
bangun
Output Melakukan sebuah Menghasilkan Mengintegrasikan
perbandingan pada sebuah nilai dari sistem penilaian
sistem dan human jawaban esai essay otomatis
raters untuk melengkapi
fitur pada sistem
Ontologi pada
Moodle
Hasil Analisis Untuk kelas kecil Korelasi penilaian Hasil yang di
dan diperoleh nilai Human Rater harapkan adalah
kesesuaian dengan dengan sistem dapat
Human Rater menghasilkan terintegrasinya
berkisar 69.80% - prosentasi nilai algoritma hybrid
94.64% pada kelas antar 45,03% - pada sistem moodle
menengah 50.55% sehingga
diperoleh nilai menunjang kinerja
berkisar 77.18% - sistem e-learning
98.42%. Moodle dari sisi
proses otomatisasi
penilaian esai
7
yang berbeda, permasalahan ini dapat dipecahkan dengan meng-assign beberapa
string dengan hash value yang sama. Masalah yang kedua belum tentu string yang
mempunyai hash value yang sama cocok untuk mengatasinya maka untuk setiap
string yang di-assign dilakukan pencocokan string secara Brute-Force. Kunci agar
algoritma Rabin-Karp efisien, terdapat pada pemilihan hash value-nya. Salah satu
cara yang terkenal dan efektif adalah memperlakukan setiap substring sebagai
suatu bilangan dengan basis tertentu (Nugraho, 2011).
Dalam penelitian yang dilakukan oleh Surahman pada tahun 2012 dalam
Publikasi Ilmiyah dengan judul penentuan similarity kode program pada bahasa C
dan pascal dengan menggunkan Algoritma Rabin Karp. Berdasarkan hasil analisis
bahwa tingkat persentase kemiripan jawaban dipengaruhi oleh nilai k-gram.
Semakin besar nilai k-gram yang digunakan maka jumlah kemiripan jawaban
akan semakin kecil dan sebaliknya semakin kecil nilai k-gram maka kemiripan
jawaban akan semakain besar. Rata-rata presentase kemiripan keduanya berkisar
7-9%. Penggunaan stemming sangat berpengaruh pada akurasi kemiripan
jawaban, dengan menggunakan stemming menghasilkan nilai kemiripan jawaban
kurang baik dibandingkan tanpa menggunakan stemming.
B. Parsing K-Gram
K-grams adalah rangkaian terms dengan panjang K. Kebanyakan yang
digunakan sebagai terms adalah kata. K-gram merupakan sebuah metode yang
iaplikasikan untuk pembangkitan kata atau karakter. 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. Berikut ini
adalah contoh k-grams dengan k=4 :
8
1. Proses Tokenizing dilakukan untuk menghilangkan spasi pada kalimat
sehingga hasilnya akan menjadi seperti di bawah ini.
9
Star
Teks: String
Kgram: integer
Token: array of string
Batas: integer
i: Integer
Jum: integer
Batas = kgram-4
kgramAwal=kgram
Jum=teks.length
Token[]=substr(teks, i, kgram)
T
i
token
Selesai
C. 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. Berikut ini adalah
10
proses perubahan karakter kenilai hasing, untuk melakukan perubahan tersebut
dengan menggunakan pendekatan rumus :
Pola 1: “ saya “
Proses hashnya adalah = s * 103 + a * 102 + y * 101 + a * 100
= 115 * 1000 + 97 * 100 + 121 * 10 + 97 * 1
= 115000 + 9700 + 1210 + 97
= 126007
Pola 2: “ ayad “
Proses hashnya adalah = a * 103 + y * 102 + a * 101 + d * 100
= 97 * 1000 + 121 * 100 + 97 * 10 + 100 * 1
= 97000 + 12100 + 970 + 100
=110170
Pola 3: “ yade “
Proses hashnya adalah = y * 103 + a * 102 + d * 101 + e * 100
= 121 * 1000 + 97 * 100 + 100 * 10 + 101 * 1
= 121000 + 9700 + 1000 + 101
=131801.
dst.......
Dengan cara yang sama dilakukan pencarian nilai hash terhadap semua
pola karakter satu demi satu. Dengan melakukan perhitungan yang sama terhadap
kalimat yang telah di K-Gram maka didapat nilai hasing sebagai berikut:
Tabel perbandingan teks asli dan teks uji setelah nilai hash
Teks Asli
No SubString Nilai Hash
1 Saya 126007
2 Ayad 110170
3 Yade 131801
4 Aden 108120
5 Denn 111310
6 Enni 113205
7 Nnis 122165
11
Teks Uji
N SubString Nilai Hash
o
1 Saya 126007
2 Ayaa 110167
3 Yaah 131774
4 Aahm 107849
5 Ahma 108587
6 Hmad 115970
Berikut ini adalah proses hashing dari parsing k-gram yang telah di proses dengan
menggunakan flowchard serta algoritmanya untuk mencari sebuah nilai.
Mulai
Teks: string(1...n)
S=string
Hs=array of integer kgram
Jumlah=0
Bill=ASCII (s[i.......kgram]
Jumlah=jumlah+Bill
Hs[i]=jumlah
Jumlah=0
HS
Selesai
12
Dari 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 yaitu
suatu string pendek yang terdiri atas huruf dan angka. (Nugroho, 2011).
Sama = sama+1
T
k
If sama = k-gram
Str_sama=str_sama+1
Sama = 0
T
j
Sama = 0
13
i
T
Str_sama
Selesai
Gambar 2.3 flowchart Algoritma proses pencocokan string
2.4 Metode Pengukuran Nilai
Untuk menghitung nilai kemiripan jawaban dari soal esai digunakan metode
Dice Similarity Coeficients dengan cara menghitung nilai dari jumlah k-grams.
Selanjutnya mengelompokkan hasil terms dari k-grams yang sama kemudian
untuk menghitung kemiripan jawaban dari kumpulan kata tersebut dengan
menggunakan :
2C
S❑= ∗100
A+ B
14
15