ANALISIS DAN PERANCANGAN
3.2. Analisis Sistem
Data-data yang telah terkumpul terlebih dahulu akan melewati tahapan Pre-Processing yaitu Case Folding (perubahan kata menjadi huruf besar atau huruf kecil), Tokenizing (pemecahan karakter), Filtering (tahap mengambil kata penting dari hasil proses token), Stemming (tahap mengubah kata menjadi bentuk kata dasar) hanya untuk dokumen dalam bahasa indonesia dan Part-of-Speech Tag (Mengelompokkan kata berdasarkan kelas katanya baik itu verb,adverb,adjective atau noun. Setelah selesai selanjutnya akan masuk ke tahap proses, tahap proses berisi perhitungan kemiripan dengan algoritma Wu Palmer dan Cosine Similarity. Untuk lebih jelasnya dapat dilihat pada Gambar 3.3.
Gambar 3.3 Arsitektur Umum
3.2.1. Input
Input terdiri dari dokumen uji dan dokumen pembanding. Data yang digunakan untuk dokumen uji adalah data skripsi mahasiswa USU yang dipilih secara acak dengan menggunakan data mahasiswa tahun 2015 sampai 2017 yang diperoleh melalui website repositori usu , sedangkan untuk data dokumen pembanding diperoleh melalui browsing dengan memperhatikan referensi/daftar pustaka pada data dokumen uji.
Input
3.2.2. Pre-processing
Tahap ini akan melakukan beberapa proses agar data dokumen uji dan data dokumen pembanding siap diolah pada tahap proses. Tahapan-tahapan pada tahap proses, yaitu:
3.2.2.1. Case Folding
Merupakan proses perubahan kata menjadi Uppercase atau Lowercase pada proses ini juga dilakukan perubahan tanda kurung menjadi tanda kurung siku, hal ini agar memudahkan proses pengambilan sitasi . Proses ini dilakukan untuk memudahkan sistem dalam menganalisa teks. Contoh seperti pada Tabel 3.1
Tabel 3.1 Data sebelum dan setelah Case Folding
Sebelum Case Folding Setelah Case Folding Guru itu di undang untuk mengikuti pelatihan
pada tanggal 20 Agustus 2020
guru itu di undang untuk mengikuti pelatihan pada tanggal agustus
The teacher has been invited to attend the training on August 20, 2020
the teacher has been invited to attend the training on august 20, 2020
3.2.2.2. Remove Citations
Setelah sebelumnya dilakukan tahap Case Folding pada dokumen uji dan dokumen pembanding, selanjutnya dokumen uji akan melewati tahapan penyimpanan sitasi kedalam aray dan tahap penghapusan sitasi. Sitasi yang dapat dikenali oleh program adalah sitasi yang dirujuk melalui buku pedoman penulisan skripsi yang ditulis oleh Sitompul et al (2014) yaitu sebagai berikut :
1. Sitasi dengan gaya penulisan : bayu (2016).
2. Sitasi dengan gaya penulisan : (bayu, 2016) 3. Sitasi dengan gaya penulisan : bayu & aji (2016) 4. Sitasi dengan gaya penulisan : (bayu & aji 2016) 5. Sitasi dengan gaya penulisan : bayu et al. (2016) 6. Sitasi dengan gaya penulisan : (bayu, et al. 2016)
3.2.2.3. Tokenizing
Adalah proses pemetaan kalimat menjadi kata(Guo, 1997). Hal ini sangat membantu dalam proses penelitian dikarenakan dalam sebuah karya ilmiah tentu tidak hanya terdapat satu paragraf ataupun satu kalimat saja. Tahapan Tokeizing akan memudahkan penelitian ini karena akan memecah kalimat pada paragraf menjadi kata sehingga proses pada algoritma Wu & Palmer dan Cosine Similarity menjadi lebih optimal. Contoh data sebelum dan sesudah Tokenizing seperti pada Tabel 3.2.
Tabel 3.2 Data sebelum dan setelah Tokenizing
Sebelum Tokenizing Setelah Tokenizing
guru itu di undang untuk mengikuti training on august 20, 2020
[‘the’,’teacher’,’has’,’been’,’invited’,
‘to’,’attned’,’the’,training’,’on’,
‘20’,’august’,’2020’]
3.2.2.4. Filtering
Pada tahap ini penulis akan menyeleksi teks yang dianggap kurang penting misalnya kata “yang” , “di” , “itu”, proses ini dapat menggunakan menggunakan algoritma stop list atau word list. Pada penelitian ini proses Filtering dibutuhkan untuk mempercepat proses perhitungan dan proses ini juga diperlukan agar nilai persentase semakin maksimal. Pada tahapan ini penulis akan memanfaatkan library python Sastrawi untuk melakukan proses filtering dengan metode Stoplist (stopword removal).
Pada tahap ini akan penulis akan memanfaatkan library Sastrawi pada python untuk melakukan stopword removal pada teks dengan bahasa Indonesia dan menggunakan library nltk pada teks dengan bahasa Inggris. Daftar stopword pada library Sastrawi seperti pada gambar 3.4 dan gambar 3.5
Gambar 3.4 Daftar stopword pada library Sastrawi
Gambar 3.5 Daftar stopword pada library NLTK
Setelah sebelumnya melalui tahap tokenizing selanjutnya akan dilakukan tahap filtering dengan menggunakan daftar kata stopword pada masing - masing bahasa.
Contoh proses seperti pada Tabel 3.3.
Tabel 3.3 Proses Filtering dengan algoritma Stopwords.
Kata masukan Stopwords Hasil filtering
guru Tidak Guru
itu Ya -
di Ya -
undang Tidak undang
Tabel 3.3 Proses Filtering dengan algoritma Stopwords. (Lanjutan)
untuk Ya -
mengikuti Tidak mengikuti
pelatihan Tidak pelatihan
pada Ya -
tanggal Tidak tanggal
agustus Tidak agustus
Setelah proses filtering selesai, maka kata yang telah dipotong menjadi beberapa bagian tadi akan disatukan kembali untuk selanjutnya masuk ke tahap Stemming (Apabila dokumen dalam format bahasa Indonesia). Apabila dokumen dalam format bahasa Inggris maka akan langsung masuk ke tahap POS Tagging.
3.2.2.5. Stemming
Proses Stemming tidak akan dilakukan pada teks bahasa Inggris dikarenakan teks sering sekali kehilangan huruf yang tentu saja hal ini akan mempengaruh pengujian, dikarenakan WordNet tidak mampu memperbaiki teks tersebut maka diputuskan untuk tidak menggunakan stemming pada Bahasa Inggris. Contoh stemming seperti pada Tabel 3.4
Tabel 3.4 Proses Stemming pada Bahasa Inggris
Algoritma Kata Hasil Stemming
Porter
Pada tahap ini kata akan diubah menjadi bentuk kata dasar (root word) hal ini dibutuhkan agar WordNet dapat mendeteksi kata bahasa indonesia dengan baik. Pada penelitian Fatonah et al (2020) didapat kesimpulan jika tahapan stemming membuat proses program menjadi lebih cepat.
Pada tahap ini penulis memilih menggunakan stemming Sastrawi karena pada penelitian Fatonah et al (2020) algoritma ini menghasilkan proses paling cepat jika dibandingkan algoritma Nazief-Andriani, dan algoritma Sastrawi memiliki tingkat akurasi yang tinggi. Tahapan proses stemming pada algoritma sastrawi adalah sebagai berikut :
1. Algoritma akan melakukan cek kata per-kata, jika kata tersedia didalam kamus maka pengecekan berhenti, jika tidak maka pengecekan akan berlanjut.
2. Jika ditemukan kata dengan akhiran (kah, lah, mu, nya, ku) maka akhiran tersebut akan dihilangkan. Akan tetapi jika kata tersebut adalah adalah particles (tah, pun, lah, kah,) langkah ini akan diulangi untuk melihat apakah terdapat kata ganti (mu , ku , nya), jika iya maka akan dihapus. Contoh tahap ini seperti pada Tabel 3.5
3. Jika kata dengan akhiran ( i , an , kan) terdapat di dalam dictionary maka algoritma otomatis berhenti, jika tidak maka akan masuk ke tahap berikutnya.
Contoh tahap ini seperti pada Tabel 3.6
4. Jika kata dengan akhiran (an) telah dihapus dan huruf terakhir dari kata tersebut adalah ( k ) maka akhiran ( k ) tersebut akan dihapus, lalu cek apakah kata tersedia di dalam kamus, jika tidak maka kata dengan akhiran tersebut akan dikembalikan seperti semula. Contoh seperti pada Tabel 3.7
5. Jika pada tahap 4 ada kata yang dihapus maka dilanjutkan dengan pemeriksaan awalan. Apakah terdapat awalan dari kata tersebut, jika iya maka awalan akan dihapus, jika kata tidak tidak mengandung awalan dan akhiran yang tidak di ijinkan maka stemming dilakukan. Awalan dan akhiran yang tidak diijinkan seperti pada Tabel 3.8
6. Proses stemming selesai
Tabel 3.5 Proses Stemming (kah,lah,mu , nya, ku)
Kata Akhiran Hasil Stemming
milikku ku milik
kamu mu kamu
salahkah kah salah
apakah kah apakah
Tabel 3.6 Proses Stemming yang tidak menghapus akhiran(i,an,kan)
Kata Akhiran Hasil Stemming
abrasi i abrasi
aman an aman
dekan kan dekan
Tabel 3.7 Proses tahap 4 dan tahap 5
Kata Akhiran Hasil Stemming
andaikan kan andai
makanan an makan
bahkan kan bahkan
Tabel 3.8 Kombinasi awalan dan akhiran yang dilarang
Awalan Akhiran
Setelah tahap ini selesai selanjutnya masuk ke tahap POS Tagging.
3.2.2.6. POS Tagging
Tahap ini digunakan dikarenakan synset (synonim set) pada WordNet dikelompokkan ke dalam kelas - kelas kata yaitu verb,adverb,adjective,dan noun. Dengan bantuan POS Tag juga dapat mempercepat proses word Similarity pada Wu Palmer. Pada tahapan ini akan menggunakan dua library berbeda, libray crf tagger dengan dataset yang dikembangkan oleh Dinakaramani et al (2010) untuk POS Tag bahasa Indonesia, dan library NLTK untuk POS Tag bahasa Inggris. Dataset POS Tag bahasa Indonesia yang dikembangkan oleh Dinakaramai et al mengandung 10.000 kata. Daftar tag pada POS Tag bahasa Indonesia seperti pada Tabel 3.9 Dinakaramani et al (2010) , dan daftar tag pada POS Tag bahasa Inggris seperti Tabel 3.10.
Tabel 3.9 Daftar POS Tag Bahasa Indonesia
Tabel 3.10 Daftar POS Tag Bahasa Inggris
Contoh POS Tag pada bahasa Indonesia seperti pada Tabel 3.11 dan bahasa Inggris seperti pada Tabel 3.12
Tabel 3.11 Contoh POS Tagging Bahasa Indonesia
Kata Masukan POS Tagging
guru NN
undang VB
ikut VB
latih VB
tanggal VB
Tabel 3.12 Contoh POS Tagging Bahasa Inggris
Kata Masukan POS Tagging
teacher NN
Setelah tahap ini selesai selanjutnya masuk ke tahap proses, yaitu tahap perhitungan kemiripan paragraf dengan menggunakan Wu Palmer dan Cosine Similarity.
3.2.3. Intermediate Document
Setelah melewati tahapan Pre-Processing tahapan selanjutnya adalah menyimpan dokumen uji dan dokumen pembanding kedalam sebuah file berbentuk plain text dengan format .txt. Dokumen ini berguna apabila dokumen uji yang digunakan akan diuji ke dokumen pembanding yang lain maka tidak perlu lagi melewati proses Pre-Processing, dan tentu saja hal ini akan menghemat waktu pemrosesan, dan begitu juga dengan dokumen pembanding. Contoh Intermediate Document seperti pada Gambar 3.6.
Gambar 3.6 Contoh File Intermediate Document
Setelah tahapan ini selesai akan langsung masuk ke tahap proses untuk melakukan perhitungan dengan algoritma Wu Palmer dan Cosine Similarity.
3.2.4. Proses
Pada tahap proses akan dilakukan metode perhitungan yaitu menggunakan algoritma Wu & Palmer, dan Cosine Similarity dengan acuan pada kamus WordNet bahasa Indonesia dan bahasa Inggris.
3.2.4.1. Wu Palmer
Pada metode konvensional, Cosine Similarity dihitung dengan menggunakan term frequency kata pada teks uji dan teks pembanding yang hanya membandingkan kemiripan kata dari kesamaan kata nya , apabila kata nya sama maka akan memberikan nilai 1 jika tidak maka akan memberkan nilai 0 tanpa memperhatikan apakah kata tersebut memiliki hubungan semantik atau tidak, dengan menggunakan algoritma Wu Palmer masalah tersebut dapat diatasi, dengan catatan agar hasil kemiripan tidak over value maka pada nilai kemiripan kata yang didapat dengan Wu Palmer ini akan diberikan threshold sebesar 0.6 , nilai ini didapat dari penelitian yang dilakukan oleh Thamrin & Sabardila (2015). Apabila Wu Palmer menghasilkan nilai word Similarity kurang dari 0,6 maka kemiripan kata tersebut akan dianggap 0. Contoh wup (Wu Palmer) seperti pada Tabel 3.13 dan 3.14
Tabel 3.13 Word Similarity pada Cosine Similarity Konvensional
Kata Uji Kata Pembanding Word Similarity
Guru Pria 0
Undang Undang 1.00
Tabel 3.13 Word Similarity pada Cosine Similarity Konvensional (Lanjutan)
Tabel 3.14 Word Similarity dengan menggunakan Wu Palmer
Kata Uji Kata Pembanding POS Word Similarity
Guru Pria Noun 0.6666
Dapat dilihat pada Tabel diatas Word Similarity dengan menggunakan Wu Palmer menghasilkan hasil yang lebih baik karena dapat mengukur tingkat semantik kata, akan tetapi pengujian Wu Palmer akan menghasilkan nilai None jika POS Tag kata yang dibandingkan berbeda, hal ini terjadi karena kata yang dibandingkan tidak memiliki shortest path pada taksonomi WordNet.
3.2.4.2. Cosine Similarity
Pada tahap ini akan dilakukan perhitungan dengan menggunakan metode kosinus untuk menemukan kemiripan pada paragraf uji dan paragraf pembanding. Agar algoritma Cosine Similarity dapat menghitung kemiripan paragraf, maka terlebih dahulu dimensi
vektor paragraf uji dan dimensi vektor paragraf pembanding harus sama, yaitu dengan cara menggabungkan paragraf uji dan paragraf pembanding dan menghilangkan kata duplikat (metode Cosine konvensional).Seperti pada contoh.
Contoh perhitungan kemiripan paragraf
Paragraf Uji setelah PreProcessing:
['komputer-NN', 'alat-NN', 'pakai-VB', 'olah-SC', 'data-NN', 'prosedur-NN', 'telah-MD', 'rumus-JJ']
Paragraf Pembanding setelah PreProcessing:
['computers-NNS', 'tools-NNS', 'used-VBN', 'process-NN', 'data-NNS', 'according-VBG', 'formulated-VBN', 'procedures-NNS']
Gabungan Paragraf Uji dan Paragraf Pembanding:
['komputer-NN', 'alat-NN', 'pakai-VB', 'olah-SC', 'data-NN', 'prosedur-NN', 'telah-MD', 'rumus-JJ', 'computers-NNS', 'tools-NNS', 'used-VBN', 'process-NN','according-VBG', 'formulated-VBN', 'procedures-NNS']
Selanjutnya dilakukan pencarian kemiripan kata - perkata dengan menggunakan algoritma Wu Palmer dengan menggunakan persamaan 2.1.
dan hasilnya seperti pada Gambar 3.7 dan Gambar 3.8.
Gambar 3.7 Hasil Vektor Paragraf Uji
Selanjutnya untuk membentuk vektor paragraf uji ambil nilai maksimal dari setiap cell dan di dapatkan vektor paragraf uji = [ 1,1,1,1,1,1,1,1,1,1,0.33,1,0.5,0.25,1 ]
Gambar 3.8 Hasil Vektor Paragraf Pembanding
Selanjutnya untuk membentuk vektor paragraf pembanding ambil nilai maksimal dari setiap cell dan di dapatkan vektor paragraf pembanding =
[1,1,0.5,0,0.72,1,0,0,1,1,1,1,1,1,1]
Dikarenakan nilai threshold adalah 0.6 (Thamrin & Sabardila, 2015) maka vektor nya menjadi
Vektor paragraf uji = [ 1,1,1,1,1,1,1,1,1,1,0,1,0,0,1 ]
Vektor paragraf pembanding = [1,1,0,0,0.72,1,0,0,1,1,1,1,1,1,1]
Lalu dilakukan perhitungan Cosine Similarity dengan menggunakan persamaan (2.2) dan hasilnya adalah 0.6871
3.2.5. Output
Output akan ditampilkan dalam rentang nilai 0 sampai 1 dari masing masing paragraf yang telah di kelompokkan menjadi tidak mirip, dan mirip.