Anda di halaman 1dari 11

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.

2.1 Penelitian yang Relevan


Beberapa penelitian yang sebelumnya telah dilakukan antara lain penelitian
tentang Sistem Penilaian Esai Otomatis atau SIMPLE Dalam penelitian ini
pendekatan Metode yang digunakan adalah LSA (Latent Semantic Analysis)
metode ini digunakan untuk mengekstrak dan mempresentasikan kalimat dalam
bentuk matematik atau statistik dari teks dengan jumlah kata yang relatif besar.
Nilai dari jawaban esai diperhitungkan, dengan mencocokan ada atau tidak adanya
kata yang dianggap penting pada kelompok kata dalam matriks yang telah di
persiapkan oleh Human Rater. SIMPLE digunakan untuk menilai jawaban ujian
dalam Bahasa Indonesia yang dilakukan secara On-line melalui web. Dari hasil
ujicoba yang dilakukan pada kelas kecil dan diperoleh nilai kesesuaian dengan
human rater berkisar 69.80% - 94.64%, sedangkan pada kelas menengah
diperoleh nilai berkisar 77.18% - 98.42%. (Ratna, 2007).

Penelitian tentang Outomatic Essay Grading. Penelitian ini menggunakan


Metode LSA (Latent Semantic Analysis) Metode ini hanya mengutamakan kata-
kata kunci yang terkandung di dalam sebuah kalimat tanpa memperhatikan
karakteristik lingustiknya. Perhitungan matematis dilakukan dengan memetakan
ada atau tidak kata dari kelompok kata pada matriks semantik dan kemudian
diolah menggunakan teknik aljabar SVD (Singular Value Decomposition). Dari
hasil penelitian ini disimpulkan bahwa Metode LSA dapat digunakan untuk
menilai jawaban esai dan menghasilkan sebuah nilai. Hal yang mempengaruhi
sebuah nilai adalah besarnya dimensi matriks tereduksi pada SVD. Korelasi

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

Objek penelitian Mengevaluasi mengoreksi hasil Penggunaan


hasil belajar siswa jawaban siswa algoritma hybrid
dalam bentuk dalam bentuk esai pada sistem
ujian esai dan memberikan ontologi pada
sebuah nilai Moodle yang di

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

2.2 Dasar Teori


Berikut ini ada beberapa teori yang akan digunakan dalam penelitian ini
diantaranya

2.2.1 Rabin Karp


Rabin-Karp diciptakan oleh Michael O. Rabin dan Richard M. Karp pada
tahun 1987 yang menggunakan fungsi hashing untuk menemukan pattern di
dalam string teks.

A. Konsep Algoritma Rabin-Karp


Algoritma Rabin-Karp adalah algoritma pencocokan string yang
menggunakan fungsi hash sebgai pembanding antara string yang dicari (m)
dengan substring pada teks (n). Algoritma Rabin-Karp didasarkan pada fakta jika
dua buah string sama maka harga hash value-nya pasti sama. Akan tetapi ada dua
masalah yang timbul dari hal ini, masalah pertama yaitu ada begitu banyak string

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 :

Teks asli: Saya Dennis


Teks uji: Saya Ahmad

8
1. Proses Tokenizing dilakukan untuk menghilangkan spasi pada kalimat
sehingga hasilnya akan menjadi seperti di bawah ini.

Teks asli: sayadennis


Teks uji: sayaahmad

2. Parsing k-Gram adalah Pembagian kalimat basarkan k-gram dengan k-gram = 4


Maka kalimat akan menjadi potongan seperti pada Tabel di bawah ini

Tabel perperbandingan teks asli dan teks uji.


Teks Asli
No SubString
1 Saya
2 Ayad
3 Yade
4 Aden
5 Denn
6 Enni
7 Nnis
Teks Uji
No SubString
1 Saya
2 Ayaa
3 Yaah
4 Aahm
5 Ahma
6 Hmad

Berikut ini adalah proses parsing k-gram yang dilakukan dengan


menggunakan flowchard serta algoritmanya untuk memecah kata menjadi
potongan potongan kata yang dapat dilihat pada flowchart dibawah 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

For i=0 to jum-batas

Token[]=substr(teks, i, kgram)

T
i

token

Selesai

Gambar 2.1. flowchart Algoritma proses K-gram Rabin Karp

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 :

H = C1*a(k-1) + C2*a(k-2) + C3*a(k-3) ...... Ck*a()

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

For i=0 to teks. length

For j=0 to kgram

Bill=ASCII (s[i.......kgram]

Jumlah=jumlah+Bill

Hs[i]=jumlah

Jumlah=0

HS

Selesai

Gambar 2.2 flowchart Algoritma proses Hashing Rabin Karp

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

2.3 Proses Pencocokan Jawaban


Proses yang dilakukan setelah semua kunci jawaban dan jawaban diproses
pada parsing k-gram untuk mendapatkan nilai Hashing selanjutkan akan
dilakukan proses pencocokan string atau pola. Fungsi pencocokan string
digunakan untuk menemukan string yang sama dari nilai hashing, jika nilai
hashing dari kedua jawaban yang diuji sama maka proses pencocokan akan
Star
dilakukan pada kedua string. Adapun prosesnya dapat dilihat pada flochart berikut
Hs_kunci jawaban
ini Hs_jawaban
Str_sama=0
I,j: integer
Ketemu=0

For i=0 to Hs_Jawaban.length

For j=0 to Hs_kunci.length

If Hs_jawaban [i]=Hs_kunci [i]

For k=0 to k-gram

If Hs_jawaban [i][j] = Hs_kunci [i][j]

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

Dimana S merupakan nilai kemiripan jawaban, dan C merupakan jumlah k-


gram yang sama dari dua buah teks yang dibandingkan, sedangakan A adalah
jumlah nilai string pada kunci jawaban, B adalah jumlah nilai string pada jawaban
dan dikalikan dengan 100 persen dari total jawaban (Surahman, 2012)

14
15

Anda mungkin juga menyukai