Data Yang Digunakan Kesimpulan Dan Saran

BAB 3 ANALISIS DAN PERANCANGAN SISTEM Pada bab ini akan dibahas mengenai beberapa hal, diantaranya data yang digunakan, flowchart dan activity diagram sistem serta analisis perancangan sistem baik dalam mengimplementasikan algoritma Manber serta teknik stemming dan Synonym Recognition maupun tampilan sistem.

3.1 Data Yang Digunakan

Ada beberapa data yang diperlukan dalam melakukan pendeteksian pada dokumen teks sesuai dengan algoritma dan teknik yang digunakan pada penelitian ini, yaitu : 1. Data uji dan pembanding, berupa data dengan format pdf atau teks biasa yang di- input secara manual. 2. Data mengenai kata dasar yang berasal dari Kamus Besar Bahasa Indonesia KBBI dan disimpan ke dalam satu tabel MySql. Tabel terdiri atas id kata dasar dan kata dasar. 3. Data mengenai sinonim kata yang bersumber dari Kamus Tesaurus Indonesia dan disimpan ke dalam satu tabel Mysql. Terdiri atas id kata sinonim, sinonim, dan kata. 3.2 F lowchart Sistem F lowchart sistem menggambarkan tahapan dari penyelesaian masalah yang dilakukan oleh sistem. Tahapan diuraikan secara terstruktur sehingga dapat memberikan suatu Universitas Sumatera Utara gambaran dan membantu pengguna untuk lebih memahami rancangan sistem yang akan dibuat. F lowchart sistem yang dirancang akan menjelaskan bagaimana proses pendeteksian kemiripan dokumen teks dilakukan. Pendeteksian dimulai dari peng- input -an teks kemudian tahap P reprocessing Gambar 3.1, Text Transformation Gambar 3.2, F eature Selection , dan tahap terakhir yaitu pattern discovery yang terangkum dalam satu algoritma, yaitu algoritma Manber Gambar 3.3 berikut: START BACA TEKS KATA TOKENIZING FILTERING INPUT DATA Pr e p ro c e s s in g KALIMAT HURUF, ANGKA, DAN WHITESPACE CASE FOLDING KALIMAT LOWER CASE FINISH Gambar 3.1 F lowchart Preprocessing Universitas Sumatera Utara DB KATA DASAR STEMMING KATA DASAR DITEMUKAN KATA DASAR DB KATA SINONIM KATA SINONIM DITEMUKAN UBAH KATA KATA SINONIM NO YES NO YES T e x t T ra n s fo rm a ti o n Syn o n ym R e co g n iti o n KATA HASIL TOKENIZING FINISH START Gambar 3.2 F lowchart Text Transformation Universitas Sumatera Utara KALIMAT HAPUS WHITESPACE KALIMAT HURUF DAN ANGKA F e a tu re Se le c ti o n Al g o ri tma Ma n b e r START KATA SINONIM HAPUS NOISE KATA KARAKTER 3 GABUNG KATA METODE N-GRAM RANGKAIAN GRAM FUNGSI HASH NILAI HASH H MOD P = 0 FINGERPRINT PERS. JACCARD COEF. PERSENTASE SiMILARITAS FINISH Pa tte rn D is c o v e ry A A Gambar 3.3 F lowchart F eature Selection Pattern Discovery Universitas Sumatera Utara 3.3 Activity Diagram Activity Diagram sistem menggambarkan urutan aktivitas dari sistem yang dirancang. Aktivitas sistem digambarkan secara umum artinya tetap terstruktur namun tidak secara mendetail seperti pembuatan F lowchart . Activity Diagram diharapkan dapat membantu pemahaman proses rancangan sistem, baik interface maupun aktivitas yang dilakukan oleh sistem dengan lebih ringkas. Activity Diagram yang dibuat akan menampilkan bagaimana aktivitas pada interface dan proses kerja sistem yang dirancang, seperti pada Gambar 3.4: INTERFACE SISTEM Stemming Sinonim Algoritma Manber Input File Pdf Teks, N-Gram, dan Modulo Output : Hasil Proses Stemming, Sinonim, Rangkaian Gram, Fingerprint, Dan Similaritas Gambar 3.4 Diagram Activity Berdasarkan Gambar 3.4, maka proses dimulai dengan user meng- input kedua file pdf ataupun teks yang akan dibandingkan beserta nilai N yang digunakan sebagai panjang rangkaian gram dan nilai pembagi yang digunakan pada pemilihan fingerprint . Data Universitas Sumatera Utara yang sudah diterima sistem, diproses menggunakan teknik stemming , kemudian dilanjutkan dengan proses Synonym Recognition , dan diakhiri dengan menggunakan algoritma Manber . Output yang diterima oleh user adalah : 1. Hasil stemming , 2. Hasil Synonym Recognition , 3. Hasil Noise Reduction , 4. Rangkaian gram, 5. Nilai hash , 6. F ingerprint , dan 7. Persentase similaritas. 3.4 Stemming Proses stemming yang digunakan adalah Stemming P orter . Berdasarkan penelitiannya mengenai perbandingan Stemming P orter dengan Stemming Nazief Adriani , Agusta 2009 menyimpulkan bahwa Stemming P orter memiliki waktu proses yang sangat cepat namun tingkat keakuratannya lebih kecil daripada Stemming Nazief Adriani yang menggunakan kamus kata dasar. Meskipun keakuratan kata dasar yang dihasilkan dengan menggunakan Stemming Nazief Adriani sangat baik, namun hal ini berbanding terbalik dengan waktu prosesnya yang sangat lama. Oleh karena itu, maka digunakanlah Stemming P orter dengan menambahkan kamus kata dasar, sehingga nantinya akan menghasilkan proses stemming yang cepat dan akurat. Pada Tabel 3.1, dipaparkan mengenai bubuhan yang akan dideteksi pada proses Stemming P orter Agusta, 2009, yaitu : Tabel 3.1 Bubuhan Kata Stemming Porter No. Jenis Bubuhan 1. Partikel -kah, -lah, -pun 2. Kata Ganti Orang P ossessive P ronoun -ku, -mu, -nya 3. Awalan 1 meng-, meny-, men-, mem-, me-, peng-, peny- , pen-, pem-, di-, ter-, ke- Universitas Sumatera Utara 4. Awalan 2 ber-, bel-, be-, per-, pel-, pe- 5. Akhiran -kan, -an, -i Ada satu imbuhan lainnya, yaitu sisipan. Kata sisipan sangat jarang digunakan dan memiliki arti yang cenderung sama sehingga sisipan akan digabung ke dalam proses Synonym Recognition . Ada beberapa kasus dimana keakuratan kata dasar yang terbentuk tidak sesuai dengan kata yang berasal dari kamus jika menggunakan bubuhan kata pada Tabel 3.1, salah satu contohnya adalah : “sepengetahuanku” Ka ta “sepengetahuanku” merupakan hasil gabungan dari : 1. Satu kata dasar : “tahu” 2. Satu imbuhan akhir : “an” 3. Satu kata ganti orang : “ku” Berdasarkan contoh di atas, terdapat beberapa imbuhan yang tidak tercantum pada Tabel 3.1 sehingga tidak menghasilkan kata dasar yang sesuai dan masih banyak kasus lainnya. Oleh karena itu, dibentuk satu bubuhan kata yang lebih sesuai pada Tabel 3.2 berikut : Tabel 3.2 Penambahan Bubuhan Kata No. Jenis Bubuhan 1. Partikel -kah, -lah, -tah, -pun 2. Kata Ganti Orang -ku, -mu, -nya 3. Awalan 1 menge-, meng-, meny-, men-, mem-, me-, peng-, peny-, pen-, pem-, di-, ber-, ke-, se- 4. Awalan 2 penge-, ber-, bel-, be-, per-, pel-, pe-, ter-, se- 5. Akhiran -kan, -an, -i Ada beberapa awalan yang diberikan dua posisi yaitu sebagai awalan 1 dan awalan 2 karena terkadang awalan ini digunakan sebanyak dua kali, contohnya “sesekali”. Dengan menggunakan contoh yang sama, yaitu kata “sepengetahuanku” maka dihasilkan kata dasar “tahu” yang merupakan hasil gabungan dari : Universitas Sumatera Utara 1. Satu kata ganti orang : “-ku” 2. Satu awalan 1 : “se-“ 3. Satu awalan 2 : “penge” 4. Satu akhiran : “an” 5. Satu kata dasar : “tahu” Di dalam imbuhan bahasa Indonesia, terdapat beberapa peleburan huruf pada kata dasar. Peleburan tersebut hanya berasal dari prefiks atau awalan, contoh : “me-“ + “tari” = “menari” Oleh karena itu, maka diberikan beberapa aturan atau rules ke dalam proses stemming yang dapat dilihat pada Tabel 3.3 berikut : Tabel 3.3 Rules Peleburan Huruf No. Rules Keterangan 1. mem- + -r Menghasil kata dasar yang dimulai dengan huruf p- 2. men- + huruf vokal -a, -i, -u, -e, o Menghasil kata dasar yang dimulai dengan huruf t- 3. meny- + huruf apapun Menghasil kata dasar yang dimulai dengan huruf s- 4. meng- + huruf vokal -a, -i, -u, -e, o + kata dasar tidak dimulai dengan huruf vokal Menghasil kata dasar yang dimulai dengan huruf k- 5. pem- + -r Menghasil kata dasar yang dimulai dengan huruf p- .6. pen- + huruf vokal -a, -i, -u, -e, o Menghasil kata dasar yang dimulai dengan huruf t- 7. peny- + huruf apapun Menghasil kata dasar yang dimulai dengan huruf s- 8. peng- + huruf vokal -a, -i, -u, -e, o + kata dasar tidak dimulai dengan huruf vokal Menghasil kata dasar yang dimulai dengan huruf k- Universitas Sumatera Utara Awalan “bel-” dan “pel-” merupakan imbuhan yang hanya berasal dari peleburan awalan “ber” atau “per-“ + kata dasar “ajar”, sehingga dapat diasumsikan bahwa awalan “bel-” dan “pel-” bukan peleburan melainkan awalan. Sama halnya dengan awalan “ber-“, ”per”, atau “ter-“ + dengan kata dasar yang dimulai dengan huruf “r”, yaitu terjadi peleburan huruf “r”. Oleh karena itu, akan diasumsikan pula bahwa awalan “be-”, “pe”, atau “te” merupakan awalan. Secara singkat, proses Stemming dapat dilihat pada gambar 3.5: KATA HASIL TOKENIZING CEK KATA PADA DATABASE KATA DASAR KATA DASAR DITEMUKAN KATA DASAR TIDAK DITEMUKAN CEK PARTIKEL CEK KATA GANTI ORANG PENGHAPUSAN AWALAN 1 PENGHAPUSAN AWALAN 2 PENGHAPUSAN AKHIRAN KATA DASAR CEK 2 CEK 3 CEK 4 CEK 5 CEK 6 HAPUS BUBUHAN TIDAK ADA ADA TIDAK ADA TIDAK ADA TIDAK ADA ADA ADA ADA ADA TIDAK ADA CEK 1 Gambar 3.5 Proses Stemming Universitas Sumatera Utara Berikut ini merupakan penjelasan dari Gambar 3.5, yaitu : 1. Setiap kata hasil tokenizing dicek ke dalam database kata dasar. Pengecekan pertama dilakukan untuk mengetahui apakah kata merupakan kata dasar. a. Jika ya, maka kata merupakan kata dasar. b. Jika tidak, maka dilakukan pengecekan ke-2. 2. Pengecekan ke-2 dilakukan untuk mengetahui apakah kata memiliki partikel. a. Jika ya, maka dilakukan penghapusan partikel kemudian melakukan pengecekan ke dalam database, apakah kata merupakan kata dasar atau tidak. Jika ya, maka kata merupakan kata dasar. Jika tidak, maka dilakukan proses ke-3. b. Jika tidak, maka dilakukan pengecekan ke-3. 3. Pengecekan ke-3 dilakukan untuk mengetahui apakah kata memiliki kata ganti orang. a. Jika ya, maka dilakukan penghapusan kata ganti orang kemudian melakukan pengecekan ke dalam database, apakah kata merupakan kata dasar atau tidak. Jika ya, maka kata merupakan kata dasar. Jika tidak, maka dilakukan proses ke-4. b. Jika tidak, maka dilakukan pengecekan ke-4. 4. Pengecekan ke-4 dilakukan untuk mengetahui apakah kata memiliki awalan 1. a. Jika ya, maka dilakukan penghapusan awalan 1 kemudian melakukan pengecekan ke dalam database, apakah kata merupakan kata dasar atau tidak. Jika ya, maka kata merupakan kata dasar. Jika tidak, maka dilakukan proses ke-5. b. Jika tidak, maka dilakukan pengecekan ke-5. 5. Pengecekan ke-5 dilakukan untuk mengetahui apakah kata memiliki awalan 2. a. Jika ya, maka dilakukan penghapusan awalan 2 kemudian melakukan pengecekan kembali ke dalam database, apakah kata merupakan kata dasar atau tidak. Jika ya, maka kata merupakan kata dasar. Jika tidak, maka dilakukan proses ke-6. b. Jika tidak, maka dilakukan pengecekan ke-6. 6. Pengecekan ke-6 merupakan proses terakhir. Selain untuk mengetahui apakah kata memiliki akhiran, juga sebagai pengasumsian kata dasar. Universitas Sumatera Utara a. Jika ya, maka dilakukan penghapusan akhiran dan diasumsikan bahwa kata merupakan kata dasar. b. Jika tidak, maka kata diasumsikan sebagai kata dasar. 3.5 Synonim Recognition Synonim Recognition merupakan proses yang dilakukan setelah proses stemming . Hal ini dilakukan karena banyaknya kata sinonim yang berasal dari kata dasar meskipun beberapa sinonim kata menggunakan imbuhan. Untuk mengatasi permasalahan tersebut maka sinonim kata yang terdapat di dalam database merupakan kata dasar meskipun makna yang dari kata menjadi berubah. Proses pengenalan sinonim ini dilakukan hanya sekali untuk setiap array kata yang ada sehingga apabila array kata merupakan kata bersinonim maupun tidak, maka array kata akan tetap dicetak sama seperti array kata sebelum proses Synonym Recognition . Hal ini dapat diakibatkan oleh tiga faktor, yaitu : 1. Kata adalah kata utama sinonim kata, maksudnya kata merupakan bentuk ubahan yang terjadi pada kata yang memiliki sinonim. 2. Kata memang tidak memiliki sinonim. 3. Sinonim tidak terdapat di dalam database. Secara ringkas, proses Synonym Recognition dapat dilihat pada gambar 3.6: KATA HASIL STEMMING CEK DATABASE KATA DITEMUKAN KATA TIDAK DITEMUKAN UBAH KATA KATA SINONIM Gambar 3.6 Proses Synonym Recognition Berdasarkan Gambar 3.6, dapat dijelaskan bahwa array kata hasil proses stemming yaitu kata dasar akan dilakukan pengecekan ke dalam database sinonim. Universitas Sumatera Utara 1. Jika kata ditemukan, maka kata diubah sesuai dengan sinonim katanya dan menghasilkan kata sinonim. Jika kata sudah merupakan sinonimnya, maka kata tidak mengalami perubahan dan tetap menghasilkan kata sinonim. 2. Jika kata tidak ditemukan, maka kata tidak mengalami perubahan dan tetap menghasilkan kata sinonim.

3.6 Algoritma