Anda di halaman 1dari 7

IMPLEMENTASI ALGORITMA RABIN KARP DAN STEMMING

NAJIEF ANDRIANI UNTUK DETEKSI PLAGIARISME DOKUMEN

Plagiarisme merupakan pengambilan karya orang lain kemudian


menjadikannya nampak seperti karya sendiri. Praktek plagiat sering terjadi di dunia
akademis seperti pada dokumen proyek akhir, sehingga agar dapat meminimalkan
tindakan plagiarisme, diperlukan suatu sistem untuk menilai atau mengukur
seberapa banyak kemiripan dalam sebuah dokumen, seperti tugas akhir dan
makalah ilmiah. Beberapa algoritma telah digunakan dalam proses deteksi
plagiarisme, namun pada penelitian ini akan menerapkan Algoritma Rabin Karp
dalam mendeteksi plagiarisme, karena algoritma ini terbukti efektif untuk
membandingkan patern-patern yang ada pada sebuah essai dengan menggunakan
fungsi hashing yang dapat menemukan bentuk-bentuk/pola dalam teks yang
berguna untuk lebih meningkatkan keakuratan dalam proses penemuan pola pada
sebuah teks. Kemudian digunakan algoritma Stemming Najief Andriani yang dapat
menemukan kata-kata yang setara yang memiliki persamaan kata dasar yang sama,
selanjutnya kedua algoritma yang digunakan akan di implementasikan kepada
sebuah aplikasi web untuk pengujian dokumen tugas akhir. Pada penelitian ini
algoritma Rabin Karp akan diterapkan untuk mendeteksi tingkat kemiripan suatu
dokumen tugas akhir, sedangkan algoritma stemming Nazief Andriani diterapkan
untuk mencari root kata atau kata dasar dari tiap-tiap kalimat pada tugas akhir atau
karya ilmiah yang akan di uji tingkat kemiripannya.

Metode Penelitian
Metode penelitian yang dilakukan pada penelitian ini terdiri atas beberapa
tahapan. Tahapan penelitian yang dimaksud adalah sebagai berikut.
1. Ekstraksi Dokumen
Ekstraksi dokumen merupakan tahapan pertama dalam proses analisa teks,
dimana tahap ini dibagi menjadi dua bagian, yaitu case folding & tokenizing dan
stemming. Case folding merupakan proses pengubahan kata menjadi lowercase,
sedangkan tokenizing adalah proses memisahkan kumpulan kalimat menjadi
kumpulan kata. Stemming merupakan proses pembuangan sufix maupun prefix
yang terdapat dalam sebuah kata, sehingga suatu kata bentukan diubah menjadi kata
dasar.

2. Algoritma Rabin Karp


Rabin karp adalah sebuah algoritma yang diciptakan pada tahun 1987 oleh
Michael O rabin dan ricard M Karp yang menggunakan fungsi hashing untuk
menemukan bentuk dalam sebuah teks, algoritma Rabin Karp merepresentasikan
setiap karakter ke dalam bentuk desimal digit.

3. Stemming Nazief Andriani


Steming Najief Andriani yang akan digunakan untuk prepocessing teks
sebelum kemudian di cari kemiripan kata. Tahapan algoritma Najief Andriani
adalah sebagai berikut.
a. Cari kata yang akan di stemming dalam kamus. Jika ditemukan, maka di
asumsikan bahwa kata tesebut adalah root word, sehingga algoritma
berhenti.
b. 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.
c. Hapus Derivation Suffixes (“-i”, “-an” atau “-kan”). Jika kata ditemukan di
kamus, maka algoritma berhenti. Jika tidak maka ke langkah 3a.
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.
d. 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.
e. Melakukan Recoding.
f. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal
diasumsikan sebagai root word. Proses selesai.

Hasil dan Pembahasan


Rancangan dari sistem yang dibuat dalam penelitian ini dibagi menjadi dua,
yaitu tahap ekstraksi teks dan tahap pengecekan plagiarisme. Rancangan sistem
yang dibuat adalah sebagai berikut.
1. Use Case Diagram

Gambar 1.1 Use Case Sistem Deteksi Plagiarisme


Gambar 1.1 merupakan gambaran use case diagram dari sistem deteksi
plagiarisme yang dibuat pada penelitian ini. Pertama user akan melakukan konversi
terhadap dokumen yang ingin diuji. Kemudian, user akan mengajukan dokumen
yang telah di konversi untuk di uji plagiarisme-nya. Selanjutnya, sistem akan
melakukan tahap prepocesing pada dokumen tersebut, yang meliputi tahap
tokenizing, stopword dan tahap stemming.

2. Proses Ekstraksi Teks

Gambar 1.2 Proses Ekstraksi Teks

Gambar 1.2 merupakan gambaran dari proses ekstraksi teks pada dokumen
sebelum dilakukan proses prepocesing. Proses ekstraksi dimulai dari mengunggah
dokumen yang akan di uji, kemudian menekan tombol ekstrak pada sistem. Hasil
ekstraksi akan otomatis tersimpan dalam sistem.
3. Proses Pengecekan Plagiarisme

Gambar 1.3 Proses Pengecekan Plagiarisme

Gambar 1.3 merupakan gambaran dari proses pengecekan plagiarisme yang


dilakukan sistem yang dibuat pada penelitian ini. Langkah pertama adalah user
memasukkan dokumen uji dan dokumen pembanding, kemudian user juga bisa
mengisi jumlah dari K-Gram. K-grams adalah rangkaian terms dengan panjang K.
Metode k-grams digunakan untuk mengambil potongan-potongan karakter huruf
sejumlah k dari sebuah kata yang secara kontinuitas dibaca dari teks sumber hingga
akhir dari dokumen.

Hasil Analisis
Analis dilakukan dengan melakukan pemeriksaan terhadap beberapa dokumen atau
naskah tugas akhir dari beberapa tahun kebelakang menggunakan software yang
telah dirancang berikut hasil dari analisis dokumen tugas akhir yang tersaji dalam
Tabel 1.
Tabel 1.1 Hasil Analisis
Kemiripan
Nama Dok. Kemiripan
NO Dok. Uji (Tanpa
Dok Pembanding (Stemming)
Stemming)
1 x1 Dok. x1 Dok. x2 33% 35%
2 x2 Dok. x2 Dok. x3 40% 42%
3 x3 Dok. x3 Dok. x4 20% 25%
4 x4 Dok. x4 Dok. x5 50% 55%
5 x5 Dok. x5 Dok. x6 60% 63%
6 x6 Dok. x6 Dok. x7 32% 32%
7 x7 Dok. x7 Dok. x8 67% 69%
8 x8 Dok. x8 Dok. x9 48% 50%
9 x9 Dok. x9 Dok. x10 50% 51%
10 x10 Dok. x10 Dok. x11 23% 28%
11 x11 Dok. x11 Dok. x12 45% 55%
12 x12 Dok. x12 Dok. x13 56% 50%
13 x13 Dok. x13 Dok. x14 55% 43%
14 x14 Dok. x14 Dok. x15 12% 15%
15 x15 Dok. x15 Dok. x16 23% 28%
16 x16 Dok. x16 Dok. x17 32% 33%
17 x17 Dok. x17 Dok. x18 45% 42%
18 x18 Dok. x18 Dok. x19 65% 68%
19 x19 Dok. x19 Dok. x1 44% 45%

Tabel 1.1 merupakan hasil dari pengujian dengan menggunakan aplikasi


yang dirancang pada penelitian ini. Hasil pengujian tersebut dibagi menjadi dua,
yaitu pengujian menggunakan stemming dan tanpa stemming dengan perubahan
hasil pengujian yang cukup signifikan. Hal ini terjadi karena dokumen yang diuji
menggunakan stemming berarti dokumen tersebut telah melalui tahap prepocesing,
dimana pada tahap ini terms akan diolah menggunakan proses tokenizing, stopword
dan juga stemming. Jadi, patern yang dibandingkan oleh algoritma Rabin Karp
menjadi lebih teratur dan hasilnya pun cukup baik bila dibandingkan dengan
algoritma Rabin Karp tanpa metode stemming Nazief Andriani.
Hasil pengujian diatas merupakan hasil pembuktian dari software yang
dirancanga dan masih belum bisa dikatakan valid 100% karena software yang
dirancang belum melalui tahap pengujian kualitas software, jadi perlu ada
penelitian lanjutan tentang penerapan algoritma rabinkarp dan stemming Nazief
Andriani ini.

Anda mungkin juga menyukai