Abdul Najib1), Karyo Budi Utomo2)
1), 2) Jurusan Teknologi Informasi, Politeknik Negeri Samarinda Email: [email protected]), [email protected]2)
Abstrak - Deteksi similaritas sebuah dokumen dilakukan untuk mencari dan memeriksa kesamaan pada beberapa dokumen. Hal ini dilakukan untuk mencegah agar tidak ada dokumen yang mirip persis dengan dokumen lain. Laporan tugas akhir merupakan karya ilmiah yang berisi suatu pokok bahasan yang merupakan acuan untuk mengukur kemampuan mahasiswa dalam memahami masalah sesuai dengan minat yang diminatinya. Abstrak merupakan bagian dalam sebuah laporan tugas akhir, berupa ringkasan dari sebuah karya ilmiah yang berguna untuk memahami isi dari keseluruhan tulisan karya ilmiah. Pada penelitian ini, deteksi kemiripan dokumen dilakukan pada abstrak tugas akhir menggunakan algoritma levenshtein distance. Pendeteksian dilakukan menggunakan 1 data abstrak sebagai dokumen asli dan 4 data abstrak sebagai dokumen pembanding. Proses pendeteksian diawali dengan melakukan tahap preprocessing, setelah itu masuk ketahap pencocokan string menggunakan matrik edit distance. Hasil dari matrik tersebut adalah nilai edit distance yang akan menjadi penentu bobot similarity. Dokumen pembanding dinyatakan mirip dengan dokumen asli jika tingkat kemiripan atau similaritasnya mencapai 80%. Dari hasil penelitian ini didapatkan nilai similaritas terendah yaitu 23,45 % dan tertinggi 32,72 %.
Kata Kunci – Similaritas, Levenshtein distance, Preprocessing. 1. PENDAHULUAN
Laporan tugas akhir merupakan karya ilmiah yang berisi suatu pokok bahasan yang merupakan acuan untuk mengukur kemampuan mahasiswa dalam memahami masalah sesuai dengan minat yang diminatinya. Abstrak merupakan bagian dalam sebuah laporan tugas akhir, berupa ringkasan dari sebuah karya ilmiah yang berguna untuk memahami isi dari keseluruhan tulisan karya ilmiah. Abstrak digunakan untuk memberikan gambaran secara detail kepada pembaca agar dapat memahami intisari dari penelitian yang telah dilakukan.
Deteksi similaritas sebuah dokumen dilakukan untuk mencari dan memeriksa kesamaan pada beberapa dokumen. Hal ini dilakukan untuk mencegah agar tidak ada dokumen yang mirip persis dengan dokumen lain. Ukuran kesamaan teks memainkan peran yang sangat penting dalam penelitian dan aplikasi terkait teks dalam tugas seperti pengambilan informasi, klasifikasi teks, pengelompokkan dokumen, pendeteksian topik, pelacakan topik, pembuatan pertanyaan, jawaban pertanyaan, skor esai, skor jawaban singkat, terjemahan mesin, intisari teks dan lain-lain. Menemukan kesamaan antara kata-kata adalah bagian mendasar dari kesamaan teks yang kemudian digunakan sebagai fungsi utama untuk persamaan kalimat, paragraf dan dokumen. Kata- kata bisa serupa dalam dua cara leksikal dan semantik. Kata-kata serupa secara leksikal jika memiliki urutan karakter yang serupa. Kata-kata serupa secara semantik jika keduanya sama, berlawanan satu sama lain, digunakan dengan cara yang sama, digunakan dalam konteks
yang sama dan satu adalah jenis yang lain[1]. Pendeteksian similaritas juga dapat digunakan sebagai acuan adanya tindakan penjiplakan yang dilakukan dari dokumen-dokumen sebelumnya. Namun pada penelitian ini, penelitian dilakukan hanya sampai pada penentuan mirip atau tidak dari dokumen yang dibandingkan. Untuk dapat menentukan sebuah dokumen plagiat, maka perlu dilakukan tahapan-tahapan lanjutan lainnya.
Pendeteksian kemiripan dapat dilakukan menggunakan cara manual, yaitu membandingkan kalimat per kalimat pada dokumen pembanding dan dokumen asli. Namun cara tersebut dinilai sulit, ditambah lagi jika dokumen yang dibandingkan merupakan dokumen berbahasa Indonesia. Dokumen berbahasa Indonesia dikatakan sulit untuk dideteksi karena persamaan dan imbuhan kata yang sangat banyak. Untuk mencegah adanya dokumen tugas akhir yang mirip persis dengan penelitian sebelumnya, maka penulis tertarik untuk mendeteksi kemiripan dokumen menggunakan metode levenshtein distance. Dokumen yang akan diukur nilai similaritasnya diambil dari abstrak laporan tugas akhir.
Metode levenshtein distance digunakan karena metode ini telah banyak digunakan pada penelitian sebelumnya untuk mendeteksi similaritas dokumen dan metode ini tidak memiliki batasan untuk panjang karakter yang akan digunakan [2]. Banyak aplikasi yang menggunakan algoritma ini, seperti pengecek ejaan, pemandu penerjemahan, perkiraan dari pengucapan dialek, mesin pencari, pemberi revisi file dengan membandingkan perbedaan dua buah file, pendeteksi pemalsuan, pengenal percakapan (speech recognition) dan sebagainya [3].
Algoritma ini berjalan dari pojok kiri atas sebuah array dua dimensi yang telah diisi sejumlah karakter string awal dan string target dan diberikan nilai cost. Nilai cost pada ujung kanan bawah menjadi nilai edit distance yang menggambarkan jumlah perbedaan dua string. Pengecekan dimulai dari iterasi awal dari kedua string kemudian dilakukan operasi penambahan, penyisipan dan penghapusan. Nilai edit distance yaitu terletak pada ujung kanan bawah matriks [4]. Tahap awal yang dilakukan sebelum melakukan pendeteksian kemiripan adalah preproessing. Preprocessing merupakan tahap awal yang dilakukan pada proses text mining. Dalam penelitian ini text mining digunakan untuk mencari kata kunci yang terdapat pada setiap dokumen yang akan dibandingkan, kemudian dokumen tersebut dapat dianalisa dan dilakukan pencocokan antara dokumen dengan menggunakan kata kunci yang telah dibuat untuk mengukur tingkat kemiripan dari dokumen-dokumen yang dibandingkan. Text mining adalah sebuah proses pengambilan data berupa teks dari sebuah sumber yaitu dokumen.
Berdasarkan latar belakang diatas, maka dibuatlah perhitungan similaritas pada dokumen abstrak tugas akhir menggunakan metode levenshtein distance untuk mengukur tingkat kemiripan dari dokumen-dokumen abstrak yang dibandingkan. 2. METODE
2.1 Metode Penelitian Levenshtein Distance
Levenshtein distance dibuat oleh Vladimir Levenshtein pada tahun 1965. Pada perhitungan edit distance dari metode ini didapatkan dari matriks yang digunakan untuk menghitung jumlah perbedaan string antara dua string. Perhitungan jarak antara dua string ini ditentukan dari jumlah minimum operasi perubahan untuk membuat string A menjadi string B dengan menggunakan 3 macam operasi utama yaitu: (1) operasi penyisipan (insertion), (2) operasi penghapusan (deletion),(3) operasi penggatian (subtitution) [5].
Distance adalah jumlah perubahan yang
diperlukan untuk mengubah suatu bentuk string ke bentuk string yang lain. Contohnya, string “hasil” dan “hasal” memiliki distance 1 karena diperlukan satu operasi untuk mengubah string “hasal” menjadi “hasil”. Hasil Levenshtein distance yang diperoleh sebenarnya tidak dapat langsung dimanfaatkan, namun perlu diolah untuk memenuhi kebutuhan aplikasi tersebut. Banyak aplikasi yang menggunakan
penerjemahan, perkiraan dari pengucapan dialek, mesin pencari, pemberi revisi file dengan membandingkan perbedaan dua buah file, pendeteksi pemalsuan, pengenal percakapan (speech
recognition), dan sebagainya [3].
Mekanisme Metode Levenshtein Distance
Edit distance merupakan jumlah minimum point mutation yang diperlukan untuk merubah suatu string ke string yang lain. Point mutation tersebut
adalah mengganti, menambah dan menghapus sebuah karakter [6]. Perhitungan edit distance didapatkan dari matriks yang digunakan untuk menghitung jumlah perbedaan string antara dua string. Ada 3 macam operasi utama yang dapat dilakukan oleh algoritma ini yaitu :
1. Operasi Pengubahan Karakter
Operasi pengubahan karakter merupakan operasi menukar sebuah karakter dengan karakter lain.
String ‘gimpunan’ menjadi ‘himpunan’, dalam
kasus ini karakter ‘g’ yang terdapat pada awal
string diganti dengan huruf ‘h’.
2. Operasi Penambahan Karakter
Operasi penambahan karakter berarti menyisipkan karakter ke dalam suatu string. Contohnya string ‘disrit’ menjadi ‘diskrit’, dilakukan penyisipan karakter ‘k’ ditengah string. Penyisipan karakter tidak hanya dilakukan ditengah
string, namun bisa disisipkan
diawal maupun diakhir.
3. Operasi Penghapusan Karakter
Operasi penghapusan karakter dilakukan
untuk menghilangkan karakter dari suatu
string. Contohnya string ‘matematikan’
karakter
terakhir
dihilangkan
sehingga
menjadi string ‘matematika’. Pada operasi
ini dilakukan penghapusan karakter ‘n’.
Dynamic Programming
Pencarian edit distance dapat dilakukan dengan menggunakan beberapa metode, diantaranya algoritma dynamic programming dan hirschberg.
String 1 H i m p u n a n String 2 G i m p u n a n Substitution H String 1 d i s k r i t String 2 d i s – r i t Insertion k String 1 m a t e m a t i k a – String 2 m a t e m a t i k a n Deletion n
programming. Dynamic programming merupakan
suatu algoritma yang membagi problem menjadi sub-sub problem dimana solusi yang optimal dapat dicari dari sub problem tersebut. Sub-sub problem dipecahkan dan hasilnya kemudian disimpan dalam bentuk tabel. Penggunaan tabel dimana tiap sel berisi solusi yang dihitung berdasarkan algoritma tersebut.
Algoritma ini dapat digunakan jika sub-sub problem tidak independent, artinya sub problem tersebut mempunyai irisan dengan sub problem yang lain. Pemecahan setiap sub-sub problem hanya dilakukan sekali dan kemudian disimpan dalam bentuk tabel. Dynamic programming biasanya diaplikasikan untuk problem optimasi, dimana problem-problem tersebut solusinya mempunyai banyak kemungkinan [6].
Pengukuran Similarity Value
Setelah mendapatkan nilai edit distance dari dua dokumen yang dibandingkan selanjutnya menghitung presenstase kemiripan dari dua dokumen tersebut. Untuk menghitung similarity value
menggunakan persamaan 2.1 sebagai berikut:
𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 𝑣𝑎𝑙𝑢𝑒 = (1 − 𝑑𝑖𝑓𝑓
max(𝐶𝑆, 𝑆𝑇)) ∗ 100
Diff adalah edit distance, terletak pada baris
ke m dan kolom ke n. CS adalah panjang
string awal, ST adalah panjang string target,
dan Max(CS,ST) adalah panjang string terbesar antarastring awal dan string target. Similarity
value diasumsikan pada rentang 0 (nol) hingga
100(seratus) persen, yang artinya nilai 100 adalah nilai maksimum yang menunjukan bahwa dua kata adalah sama identik. Pendekatan ini mampu digunakan untuk mengukur bobot similarity antar dua
string berdasarkan susunan karakter [7]. 3. HASIL DAN PEMBAHASAN
Data yang digunakan adalah dokumen yang berformat teks dan berbahasa Indonesia. Dokumen yang akan menjadi bahan untuk dihitung kemiripannya didapatkan dari abstrak laporan tugas akhir mahasiswa Teknologi Informasi Politeknik Negeri Samarinda. Data yang dijadikan sebagai contoh perhitungan berjumlah 5 buah abstrak, dari keseluruhan data yang didapat digunakan 1 abstrak sebagai data dokumen asli dan 4 abstrak sebagai data dokumen pembanding. Dari masing-masing abstrak diambil 1 sampai dengan 2 kalimat yang akan dihitung kemiripannya.
Data abstrak laporan tugas akhir yang akan dihitung presentase kemiripannya menggunakan metode levenshtein distance dapat dilihat pada Tabel 4.1
Tabel 4. 1 Data Dokumen Asli
No DOKUMEN ASLI Ket
1
Dengan banyaknya jumlah mahasiswa(i) yang telah menyelesaikan tugas akhir begitu juga data dokumen tugas akhir dengan berbagai judul dan berbagai tema yang tentunya cukup banyak untuk di cari secara pengarsipan manual. Pada penelitian ini metode yang digunakan untuk permasalahan ini adalah Naïve Bayes Classifier dan data yang digunakan adalah Abstrak dari tugas akhir.
Dok 1
Tabel 4. 2 Data Dokumen Pembanding
No DOKUMEN PEMBANDING Ket
1 Penelitian ini bertujuan untuk merancang dan membangun aplikasi perhitungan nilai indeks prestasi kelulusan yang dapat diakses melalui perangkat lunak web browser untuk memudahkan akses yang lebih fleksibel. Diharapkan aplikasi ini dapat membantu mahasiswa mengakses informasi mengenai nilai yang dicapai semasa diperkuliahan.
Dok 2
2 Dalam tugas akhir ini akan mengembangkan kamera pengintai jarak jauh berbasis 3G pada HP E63. Dari hasil penelitian kamera pengintai jarak jauh berbasis 3G pada HP E63 suatu alat memanfaatkan telekomunikasi berbasis 3G untuk menjadikan keperluan keamanan dilingkungan sekitar.
Dok 3
3 Semakin lama teknologi semakin berkembang, kebutuhan akan sesuatu informasi meningkat pula. Maka dibutuhkan suatu cara agar dapat memperoleh suatu informasi data, tukar menukar data, dilakukan dengan aman dan stabil. Oleh karena itu lah VPN diciptakan umtuk menyenyelesaikan permasalahan dalam jaringan yang tidak aman.
Dok 4
4 Dengan menggunakan salah satu algoritma dari teknik asosiasi dalam data mining, yaitu algoritma apriori dapat memanfaatkan data yang tersimpan didalam data warehouse, sehingga diketahui keterkaitan dari nilai-nilai matakuliah yang telah dicapai oleh mahasiswa terhadap kompetensi dasar yang harus dimiliki oleh seorang lulusan informatika.
3.1. Preprocessing
Pada tahapan pre-processingg ini, data-data dokumen teks abstrak diatas akan di proses dengan beberapa tahapan seperti case folding, tokenizing,
filtering, stemming, sorting dan analyzing. Tahap ini
bertujuan untuk mencari kata kunci pada dokumen asli dan dokumen pembanding yang akan dihitung nilai similaritasnya. Seluruh tahapan dari
preprocessing ini dilakukan menggukanan Microsoft excel. Data-data tersebut diletakan pada Microsoft Excel kemudian ditempatkan secara terpisah di dalam sheets yang ada. Data asli dan data pembanding yang
sudah siap kemudian dikumpulkan dalam satu sheets. Ada 6 proses yang dilakukan pada tahap
preprocessing, yaitu case folding, tokenizing, filtering, stemming,sorting dan filtering.
3.2. Implementasi Metode Levenshtein Distance
Setelah
semua
data
asli
dan
pembanding melalui tahap preprocessing, maka
data-data
tersebut
dicocokkan
dengan
menggunakan algoritma levenshtein distance.
Pencocokan dilakukan menggunakan matrik 2
dimensi.
Entri
pada
matrik
tersebut mempresentasikan nilai terkecil dari string awal (string 1) menjadi string target (string 2). Nilai yang terdapat pada ujung kanan bawah matrik adalah nilai editdistance yang menggambarkan jumlah perbedaan
antar kedua string. Tabel 4.13 merupakan contoh matrik edit distance, string awal berisi kata “konspirasi” dan string target berisi kata “kompilasi”.
Tabel 4. 3 Matrik edit distance
Baris dan kolom pada Tabel 4.3 diatas diisi dengan langkah sebagai berikut :
1. Masukkan string awal dan string target ke kotak yang tersedia, setiap 1 kotak berisi 1 karakter.
2. Matrik m[0,0] akan diisi dengan nilai 0 3. Elemen matrik m[i,0] akan diisi dengan nilai
matrik [i-1,0]+1.
4.
Elemen matrik m[0,j] akan diisi dengan nilai
[0,j-1]+1.
dengan urutan langkah dibawah ini :
a.
Bentuk dynamic programming dalam proses ini adalah [i-1,j-1]+ cost. Jika nilai i = j, maka cost bernilai 0, sehingga bentuknya menjadi [i-1,j-1]+ 0. Namun, jika nilai i ≠ j berarti cost bernilai 1. Bentuk dynamicprogrammingnya menjadi m[i-1,j- 1]+1,
Operasi yang sedang dilakukan yaitu substitusi atau penggantian i menjadi j.
b.
Pada proses pencocokan string, operasipenghapusan i pada string awal juga dapat dilakukan. Bentuk dynamic programming untuk operasi penghapusan adalah m[i,j-1]+1.
c.
Operasi terakhir yang mungkin terjadi pada proses pencocokan adalah penyisipan atauinsertion, bentuk dynamic programming
yang digunakan dalam proses penyisipan adalah m[i,j- 1]+1.
d. Terakhir mencari nilai minimum dari
ketiga operasi diatas.
6. Matrik m[i,j] berwarna merah merupakan nilai edit distance.
Pada proses pencocokan string 1 menjadi string 2 menggunakan matrik edit distance, 3 kemungkinan yang dapat terjadi adalah operasi penggantian, operasi penghapusan dan operasi penyisipan. Karena algoritma levenshtein distance merupakan jumlah minimum untuk merubah string 1 menjadi string 2, maka proses terakhir dari pencocokan diatas pada point d yaitu mencari nilai minimun dari ketiga operasi tersebut.
Perhitungan matrik pada Tabel 4.3
dilakukan sebagai contoh. Nilai edit distance dari
data uji pada Tabel 4.1 dan 4.2 dapat dilihat pada
tabel 4.4.
Tabel 4. 4 Hasil matrik edit distance
DOKUMEN NILAI EDIT DISTANCE PANJANG STRING AWAL (CS) PANJANG STRING TARGET (ST) Dok 2 121 143 176 Dok 3 111 143 145 Dok 4 109 143 162 Dok 5 132 143 1863.3. Pengukuran Similarity Value
Pengukuran nilai similaritas dilakukan menggunakan rumus pada persamaan 2.2. Nilai similaritas dari masing-masing dokumen diperoleh dari nilai edit distance dibagi dengan panjang maksimal string dari kedua string lalu dikalikan dengan 100%. Data yang digunakan adalah panjang dari panjang string awal dan string target serta nilai edit
distance dari setiap dokumen yang dapat dilihat pada
Tabel 4.4.
Pengukuran nilai similaritas Dok 2. 𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 𝑣𝑎𝑙𝑢𝑒 = (1 −121 176) ∗ 100 = (176 176− 121 176) ∗ 100 = 31.25% Dari rumus diatas diketahui bahwa diff merupakan nilai edit distance dan max(CS,ST) merupakan panjang maksimal dari string awal (CS) dan string target (ST). Dengan rumus yang sama, berikut pengukuran similaritas untuk dokumen- dokumen yang dibandingkan lainnya.
Pengukuran nilai similaritas dok 3
𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 𝑣𝑎𝑙𝑢𝑒 = (1 −111 145) ∗ 100 = (145 145− 111 145) ∗ 100 = 23.45%Pengukuran nilai similaritas dok 4
𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 𝑣𝑎𝑙𝑢𝑒 = (1 −109 162) ∗ 100 = (162 162− 109 162) ∗ 100 = 32.72%
Pengukuran nilai similaritas dok 5
𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 𝑣𝑎𝑙𝑢𝑒 = (1 −132 186) ∗ 100 = (186 186− 132 186) ∗ 100 = 29.03% Hasil perhitungan diatas menunjukkan nilai similaritas terendah ditunjukkan oleh dok 3 yaitu 23,45% dan nilai similaritas tertinggi ditunjukkan dok 4 sebesar 32,72%.
3.4.
K
ESIMPULANBerdasarkan dari penelitian yang dilakukan menggunakan metode levenshtein distance untuk mendeteksi similaritas abstrak, maka
dapat disimpulkan sebagai berikut :
1 Metode levenshtein distance dapat digunakan untuk mendeteksi kemiripan antar dokumen dengan menghasilkan nilai edit distance yang akan digunakan untuk menghitung presentase kemiripan kedua dokumen tersebut.
2
Hasil perbandingan dari dokumen tersebut
menunjukkan nilai similaritas terkecil
yaitu 23,45% dan tertinggi 32,72%.
REFERENSI
[1] Wael H.G & Aly A.F. (2013). A Survey of Textual Similarity Approaches. Intenational
Journal of Computer Application, Vol.68, No.13.
[2] Ali, A. (2011). Textual Similarity. Kongens Lyngby: Technical University of Denmark. [3] Dwitiyastuti R.N, Muttaqin A & Aswin M.
(2013). Pengoreksi Kesalahan Ejaan Bahasa Indonesia menggunakan Metode Levenshtein
distance. Jurnal Mahasiswa Teknik Elektro Universitas Brawijaya, Vol.1, No.2.
[4] Adriyani N.M.M, Santiyasa I.W & Muliantara (2010). Implementasi Algoritma Levenshtein
distance dan Metode Empiris untuk Menampilkan Saran Perbaikan Kesalahan Pengetikan Dokumen Berbahasa Indonesia.
Jurnal Elektronik Ilmu Komputer Universitas Udayana, Vol.1, No.1.
[5] Ariyani N.H, Sutardi & Ramadhan R. (2016). Aplikasi Pendeteksi Kemiripan Isi Teks Dokumen Menggunakan Metode Levenshtein
distance. semanTIK, 279-282.
[6] Mulyanto, A. (2010). Analisis Edit Distance Menggunakan Algoritma Dynamic Programming. Saintek, Vol. 5, No.2.
[7] Winarsono D, Siahaan O.D & Yuhana U. (2009). Sistem Penilaian Otomatis Kemiripan Kalimat menggunakan Kalimat Syntatic- Semantic Similarity pada System E-learning.