Analisis performasi algoritma winnowing dan algoritma manber untuk deteksi kesamaan dokumen teks berbahasa Indonesia

Gratis

25
65
99
2 years ago
Preview
Full text

ANALISIS PERFORMANSI ALGORITMA WINNOWING DAN ALGORITMA MANBER UNTUK DETEKSI KESAMAAN DOKUMEN TEKS BERBAHASA INDONESIA SKRIPSI

BAMBANG IMAM HERMAWAN 10110511 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER

  Teman-teman mahasiswa seperjuangan dari semester awal hingga akhir yaituAmir Ibrahim Hasan, Muhammad Iqbal, Septiyan Hendiyana, GustiarPrasetyo Hadi dan Muhammad Septiana yang selalu berbagi pemikiran akan penyusunan tugas akhir. Penyedia tempat untuk bertukar informasi yaitu Haditya Dwi Perkasa, EkoHarianto, Giri Muria Shaleh , Fatahudin Azis, Arief Firmansyah, AidilPratama Putra dan Taufik Mardan Dwi PutraPenulis menyadari tugas akhir ini masih jauh dari kata sempurna dengan segala kekurangan yang dimiliki.

DAFTAR PUSTAKA

  [1] Lako, Andreas, "Plagiarisme Akademik1," Jawa Pos Radar Semarang, Juni 2012.[2] Kurniawati, Ana; Wicaksana, Wayan Simri, "PERBANDINGAN PENDEKATAN DETEKSI PLAGIARISM DOKUMEN DALAM BAHASA INGGRIS," Seminar Ilmiah Nasional Komputer dan Sistem Intelijen, Agustus 2008.[3] Stein, S; Eissen, Zu Meyer;, "Near Similarity Search and Plagiarism Analys," Annual Conference of the German Classification Society (GfKl), pp. Bandung, Indonesia: Informatika Bandung, 2009.[12] Suarga , Algoritma dan Pemrograman, Edisi II ed., Sigit Suyantoro, Ed.

BAB 1 PENDAHULUAN

1.1 Latar Belakang Masalah

  Parameter yang perlu diuji yaitu jumlah gram,jumlah window, basis bilangan prima yang di gunakan dan proses pemilihan nilai hashing yang berpengaruh pada persentasi kemiripan dari dokumen yang dibandingkan. 1.3 Maksud dan Tujuan 1.3.1 Maksud Maksud dari penelitian ini adalah untuk menganalisis Algoritma Winnowing dan Algoritma Manber dalam mendeteksi kesamaan dokumen teks berbahasaIndonesia 1.3.2 Tujuan Sedangkan tujuan yang akan dicapai yaitu mendapatkan informasi dariAlgoritma Winnowing dan Algoritma Manber berupa informasi perbandingan kecepatan, ketepatan, keefektifan langkah dan pengaruh jumlah parameter inputdalam proses mendeteksi kesamaan dokumen.

1.4 Batasan Masalah

  Penerapan algoritma pada sistem tidak membedakan arti atau sinonim dari kata yang diseleksi. Parameter yang akan diukur adalah kecepatan, ketepatan dan jumlah langkah dari kedua algoritma.

1.5 Metodologi Penelitian

  Metodologi penelitian yang dimaksud adalah segala hal yang berhubungan dengan metode-metode yang digunakan dalam melakukan penelitian ini dengan caramelakukan pendekatan terhadap metode-metode yang telah ada. Dalam metode penelitian ini digunakan teknik-teknik analisis, klasifikasi masalah, studiliteratur terhadap masalah-masalah yang berhubungan dengan skripsi yang disusun, dan teknik test terhadap objek penelitian yang telah ada..

1.5.3 Tahap Pengembangan Perangkat Lunak

  Mengkodekan sistemDalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai. Evaluasi SistemPengguna mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan .

1.6 Sistematika Penulisan

  IMPLEMENTASI SISTEM Pada bab ini berisi tentang analisis kebutuhan dalam membangun aplikasi ini yang sesuai dengan metode pembangunan perangkat lunak yang digunakan. KESIMPULAN DAN SARAN Bab ini terdiri dari kesimpulan dan saran yang berisikan hal-hal terpenting yang penulis bahas dan kemudian dibuat kesimpulan.

BAB 2 TINJAUAN PUSTAKA

2.1 Plagiarisme

  Plagiarisme total yaitu tindakan plagiasi yang dilakukan seorang penulis dengan cara menjiplak atau mencuri hasil karya orang lain seluruhnya dan mengklaimsebagai karyanya sendiri. Plagiarisme parsial yaitu tindakan plagiasi yang dilakukan sesorang penulis dengan cara cara menjiplak sebagian hasil karya orang lain untuk menjadi hasilkaryanya sendiri.

2.2 Metode Pendeteksian Kesamaan Dokumen

  Pendekatan inimembutuhkan waktu yang lama tetapi cukup efektif, karena kumpulan dokumen Metode perbandingan teks lengkap tidak dapat diterapkan untuk kumpulan dokumen yang tidak terdapat pada dokumen lokal. Prinsip dari metode ini adalah mengekstrak kata kunci dari dokumen dan kemudian dibandingkan dengan kata kunci pada dokumen yanglain.

2.3 Algoritma

  Pada awalnya kata algoritma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerikarab (sebenarnya dari India, sepertitertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atauurutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.

2.3.1 Dasar Algoritma

  Dasar algoritma terdiri dari beberapa tahapan. Tahapan-tahapan ini merupakan tindakan yang sering digunakan seperti sequence, pemilihan danperulangan.

2.3.1.1 Sequence

  Langkah 1 Langkah 2Tuangkan isi gelas B ke dalam gelas A Langkah 3Tuangkan isi gelas C ke dalam gelas B 2.3.1.2 Pemilihan Adakalanya sebuah program dihadapkan pada suatu kondisi dimana kondisi tersebut menentukan alur program yang akan kita buat. Alangkah baiknya jika pengulangan tersebut dibuat secara otomatis yaitu dengan menggunakan algoritma perulangan sebagai berikut : Program menulis_kata; {Menuliskan kata sebanyak 100 kali}Deklarasi AlgoritmaFor i dari 1 sampai 100 Tulis ‘Saya akan belajar yang rajin’;End for Algoritma diatas akan mengulangi kata „Saya akan belajar yang rajin‟ sampai 100 kali, apabila perulangan sudah terpenuhi maka perulangan pun akan berhenti.

2.3.2 Stuktur Algoritma

Berikut ini merupakan salah satu struktur algoritma yang dipakai sebagai patokan yaitu:a. Bagian kepala (Header) Pada bagian ini memuat nama algoritma serta informasi atau keterangan algoritma Pada bagian ini memuat langkah-langkah penyelesaian masalah termasuk beberapa perintah seperti baca data, tampil data, perulangan yang mengubah datainput menjadi output [6]

2.4 Tokenizing

  Tokenizing biasanya digunakan pada tahap preprocessing sehingga kata-kata pada sebuah dokumen dibagi menjadi beberapa kata sesuai dengan delimeter pembagi kata yang telah ditentukan. Tokenizing sangat berguna ketika sebuah program pengolahteks memerlukan data sebuah kata yang tersusun dan terbagi menjadi array.

2.5 Algoritma Winnowing

  Input dari algoritma ini adalah dokumen teks yang diproses sehingga menghasilkan output berupa kumpulan nilai-nilai hash, nilai hash merupakan nilainumerik yang terbentuk dari perhitungan ASCII tiap karakter . Langkah awal dalam penerapan algoritma Winnowing adalah membuang karakter-karakter dari isi dokumen yang tidak relevan misal tanda baca spasi dansimbol lain sehingga yang terbaca hanya karakter string.

2.6 Algoritma Manber

  Algoritma Manber melakukan pemilihan nilai fingerprints yang telah diperoleh dari proses hashing dengan memilih nilai fingerprints yang memenuhi kriteria 0 modp [9] Contoh tahapan Algoritma Manber dapat dilihat sebagai berikut: Langkah awal dalam penerapan algoritma manber adalah membuang karakter- karakter dari isi dokumen yang tidak relevan misal tanda baca spasi dan simbol lain. deteksiplagiarisme detek ksipl lagia arism eteks sipla agiar rismeteksi iplag giari eksip plagi iaris Langkah ketiga dari rangkaian gram yang telah terbentuk dibentuk nilai hash dengan nilai ASCII tiap karakter.

2.7 Rolling Hash

  Pada awalnya metode Rolling Hash digunakan padaAlgoritma Rabin Karp dimana metode ini digunakan untuk membandingan nilai hashing dari semua k-gram kedalam sebuah string yang panjang [10]. )1 1 ∗ 2 ∗ ⋯ + ∗ + �+1 �−1 � Keterangan: H: nilai hash c : nilai ascii karakterb : basis (bilangan prima) k : banyak karakter Contoh Penggunaan:Kata: “sepeda” 3 3 2 4 5 Diambil nilai ascii dari setiap karakter dari kata “sepeda” didapatkan nilai ascii sebagai berikut: s =115, e=101, p=112, e=101, d=100, a=97 Dari rumus Rolling Hash pertama didapatkan hasil sebagai berikut:155* �+1= � 1..

2.8 Jaccard’s Similarity Coefficient

Untuk menghitung persentasi kemiripan (similarity) dari sebuah dokumen dapat | | × 100 (2.3), = | | Keterangan:A : nilai fingerprints dokumen 1B : nilai fingerprints dokumen 2Dimana D(A,B) adalah nilai similaritas, | | adalah jumlah fingerprint yang sama dari dokumen 1 dan 2, | | dalah jumlah seluruh fingerprint dari dokumen 1dan 2. Sebagai contoh a={1,2,4} dan b={1,2,4,7,8} maka | | = {1,2,4} dan| | = {1,2,4,7,8} sehingga, D(a,b) = 3/5 * 100 = 60

2.9 Teori Analisis Algoritma

  Algoritma yang mangkus ialah algoritma yang meminimumkan kebutuhan waktu dan ruang [11] Kebutuhan waktu dan ruang suatu algoritmabergantung pada ukuran masukan yang secara khas adalah jumlah data yang diproses. n = 30, dibutuhkan waktu eksekusi lebih dari satu hari Jika kita mengganti mesin baru yang dapat memproses 100 kali lebih cepat −� dari mesin pertama menjadi , maka proses yang dapat dilakukan lebih banyak −� � karena waktu proses semakin cepat menjadi menjadi × detik.

2.9.1 Kompleksitas Waktu dan Ruang

  kompleksitas ruang diekspresikan sebagai jumlah memori yang digunakan oleh struktur data yang terdapat di dalam algoritmasebagai fungsi dari ukuran masukan n. Definisi dari Big-O Adalah fungsi yang lebih berkaitan dengan kelajuan proses daripada kelajuan pertambahan data yangdirumuskan dengan T(n) = O( f(n) ).

2.9.1.1 Kompleksitas Waktu

  Kompleksitas waktu diukur dengan menghitung banyaknya operasi yang dilakukan oleh algoritma [12]. Sebagai contoh terdapat suatu algoritma yang Jumlah ← 0, jumlah eksekusi 1 kalik ← 1, jumlah eksekusi 1 kalijumlah ← jumlah + � � , jumlah eksekusi n kali k ← k+1,jumlah eksekusi n kali r ← jumlah/njumlah eksekusi 1 kali Jumlah seluruh operasi pengisian nilai adalah: t1 = 1 + 1 + n + n + 1 = 3 + 2nb.

2.9.2 Aturan Algoritma

  Perulangan (For Loop)Algoritma yang termasuk pada jenis ini memiliki waktu eksekusi maksimum sebanyak waktu eksekusi statement yang ada didalam loop dikalikan banyaknyaiterasi. Perulangan Bersarang (Nested For Loop )Algoritma yang termasuk pada jenis ini yaitu algoritma yang memiliki perulangan bersarang.

2.10 Pengertian ASCII

  Kode Standar Amerika untuk Pertukaran Informasi atau ASCII (American Standard Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Total kombinasi yang dihasilkan sebanyak 256, dimulai dari kode 0 hingga 255 dalam sistem bilangan Desimal 2.10.1 Tabel Karakter ASCII Tabel berikut berisi karakter-karakter ASCII.

2.11 Data Flow Diagram (DFD)

  Entitas Eksternal (External Entity)Entitas Eksternal (entity) di lingkungan luar sistem yang dapat berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akanmemberikan input atau menerima output dari sistem. ProsesSuatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu aliran data yang masuk ke dalam proses untukdihasilkan aliran data yang akan keluar dari proses.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Masalah

  Dalam penelitian ini akan dilakukan analisis performansi dari dua buah algoritma yang termasuk dalam metode fingerprinting yaitu Algoritma Winnowing dan Algoritma Manber yang dapat diterapkan untuk mendeteksi similaritas pada dokumen teks. Analisis performansi dilakukan dengan tujuan mendapatkan informasi dari kedua algoritma yaitu berupainformasi kecepatan, ketepatan, dan jumlah langkah dari Algoritma Winnowing dan Algoritma Manber dalam penerapannya pada sebuah sistem.

3.2 Analisis Input dan Output

  Analisis Input dan Output sistem menjelaskan tentang bagaimana sistem menerima inputan dan menghasilkan output dari proses yang telah dilakukan. Berikutini merupakan analisis input dan output dari sistem yang akan dibuat.

3.2.1 Analisis Input dan Output Algoritma Winnowing Algoritma Winnowing memiliki input dan output data sebagai berikut

  3.2.1.2 Analisis Output Output yang dihasilkan dari sistem berupa: 1. Persentasi Kemiripan dari dokumen yang dibandingkan 2.

3.2.2 Analisis Input dan Output Algoritma Manber

  Algoritma Manber memiliki input dan output data sebagai berikut: 3.2.2.1 Analisis Input Pada penerapan Algoritma Manber dalam sebuah sistem membutuhkan beberapa inputan meliputi: 1. 3.2.2.2 Analisis Output Output yang dihasilkan dari sistem berupa: 1.

3.3 Analisis Algoritma

  Analisis algoritma yaitu tahapan analisis algoritma apa saja yang akan dianalisis dalam penelitian ini yaitu : 1. Analisis Algoritma Winnowing 2.

3.3.1 Analisis Algoritma Winnowing

  Langkah awal pada Algoritma Winnowing yaitu melakukan lowercase pada setiap karakter dan membuang karakter-karakter yang tidak dibutuhkan seperti spasi dansymbol, sehingga teks menjadi bersih dari symbol-simbol selain huruf [a-z]. Contoh kata “harim”Sesuai persamaan (2.1) nilai hash yang diperoleh yaitu: =104, a=97, r=114, i=105, m=109 (nilai ascii karakter) h 4 3 2 3 3 3 3 + 109104* + 97* + 114* + 105* 8424 + 2619 + 1026 + 315 + 109 = 12493 Dengan menggunakan rumus tersebut maka dapat dihasilkan nilai-nilai hash dari proses pembentukan gram sebelumnya12493, 12312, 13475, 12826, 13066, 12828, 13084, 12619,12938, 13888, 13330, 12161, 13011, 12404, 12297, 13417,12167 4.

3.3.1.1 Analisis Kompleksitas Algoritma Winnowing

  Perhitungan kompleksitas waktu asimptotik Algoritma Winnowing dapat dihitung dengan menelusuri setiap langkah algoritma winnowing pada pseudocodepada tabel 3.1 Table 3.1 Pseudocode Winnowing No Algoritma Jumlah Eksekusi 1 int: gram1 2 array: tampung 1 3 for (length = 0; length < value.Length; length++) do n 4 if (length == gram) then1 5 for (start = 0; start <= value. �Perhitungan waktu yang dibutuhkan sesuai kerja mesin yaitu jika misalkan mesin −6 dapat memproses 1 kali eksekusi membutuhkan waktu 10 detik, maka untuk memasukan data jika T(n) = 1000, maka T(n) = (n-1) menjadi T(1000) = (1000 −6 10 = 0,000999 detik untuk n=1000.

3.3.2 Analisis Algoritma Manber

  Contoh kata “harim”Sesuai persamaan (2.1) nilai hash yang diperoleh yaitu: h =104, a=97, r=114, i=105, m=109 (nilai ascii karakter) 4 3 2 104* 3 + 97* 3 + 114* 3 + 105* 3 + 109 8424 + 2619 + 1026 + 315 + 109 = 12493Dengan menggunakan rumus tersebut maka dapat dihasilkan nilai-nilai hash dari proses pembentukan gram sebelumnya 12493, 12312, 13475, 12826, 13066, 12828, 13084, 12619,12938, 13888, 13330, 12161, 13011, 12404, 12297, 13417,12167 4. Dokumen B berisi kalimat : Hari minggu mendungDari hasil proses didapat hasil fingerprints dari kedua dokumen yaitu: Dokumen B menghasilkan nilai hash dengan dilakukan proses yang sama seperti proses Dokumen A sehingga didapatkan hasil fingerprints 12312, 12826,12605, 12512 .

3.3.2.1 Analisis Kompleksitas Manber

  Waktu eksekusi total sebuah statement adalah waktu eksekusi statement tersebut dikalikan hasil kali dari banyaknya iterasi semua loop yang ada di luarnya 2 Dari perhitungan pada tabel didapatkan hasil kompleksitas waktu T(n) = 4 + 7n � 2 for loop dengan kompleksitas waktu asimptotik yaitu T(n) = . �Perhitungan waktu yang dibutuhkan sesuai kerja mesin yaitu jika misalkan mesin −6 dapat memproses 1 kali eksekusi membutuhkan waktu 10 detik, maka untuk memasukan data jika T(n) = 1000, maka T(n) = (n-1) menjadi T(1000) = (1000 −6 10 = 0,000999 detik untuk n=1000.

3.4 Analisis Kebutuhan Perangkat Lunak

  Analisis kebutuhan perangkat lunak dilakukan bertujuan untuk mensimulasikan kedua algoritma kedalam sebuah perangkat lunak. Analisis kebutuhan perangkatlunak terbagi menjadi dua bagian yaitu: 1.

3.4.1 Analisis Kebutuhan Non-Fungsional

  Analisis kebutuhan non fungsional adalah langkah dimana seorang pembangun perangkat lunak (software developer) menganalisis sumber daya yang akandigunakan dan menggunakan perangkat lunak yang dibangun. Perangkat keras dan perangkat lunak yang dimiliki harus sesuai dengan kebutuhan sehingga dapatditentukan kompabilitas aplikasi yang dibangun terhadap sumber daya yang ada.

3.4.1.1 Analisis Perangkat Keras

  Spesifikasi perangkat keras minimum yang butuhkan untuk menjalankan sistem Deteksi similaritas dokumen dapat dilihat pada tabel 3.5. Pengguna minimal mampu menggunakan keyboard dan mouse sebagai untuk berinteraksi dengan sistem.

3.4.2 Analisis Kebutuhan Fungsional

  3.4.2.1 Diagram Konteks Diagram konteks adalah diagram yang menggambarkan input , process dan output secara umum yang terjadi pada sistem perangkat lunak yang akan di bangun . Berikut Diagram konteks dari Sistem Deteksi Kesamaan Dokumen: Input dokumen Input Jumlah GramInput Jumlah Window Sistem Deteksi PENGGUNA Kesamaan DokumenInfo Persentasi Kemiripan Info Total Waktu ProsesInfo Penggunaan Memory Gambar 3.3 Diagram Konteks 3.4.2.2 Data Flow DiagramData Flow Diagram merupakan suatu media yang digunakan untuk menggambarkan aliran data yang mengalir pada suatu sistem informasi.

3.4.2.2.1 Data Flow Diagram Level 1

Berikut ini adalah Data Flow Diagram ( DFD) Level 1 dari Sistem Deteksi Kesamaan Dokumen ditunjukan pada gambar 3.4. Pendeteksian1 Input Jumlah Window Input Jumlah Gram Input dokumen 2 Input dokumen 1 Input Jumlah Gram Input dokumen 1 Input dokumen 2 Input Jumlah P2 Winnowing Algoritma Info Persentasi Kemiripan Info Persentasi Kemiripan Info Penggunaan Memory Info Penggunaan Memory Info Total Waktu Proses Info Total Waktu Proses PENGGUNA Pendeteksian Algoritma Manber Cek Histori 3 Gambar 3.4 DFD Level 1

3.4.2.2.2 Data Flow Diagram Level 2 Pendeteksian Algoritma Winnowing

Berikut ini adalah Data Flow Diagram ( DFD) Level 2 proses pendeteksian algoritma winnowing dari Sistem Deteksi Kesamaan Dokumen ditunjukan pada gambar 3.5. Input Jumlah window Input Jumlah Gram Input dokumen 1 Input dokumen 2 Input fingerprints Input nama_dok Input window Input tanggal Input id_dok Input gram Input file Input Teks 1.1 PENGGUNA Tb_dokumen Preprocesing 1.2 Data_stopword tb_stopword Hitung Kemiripan teks Algoritma Winnowing 1.3 Info Persentasi Kemiripan Input nama_dokumen Input id_proses Input gram Info Total Waktu Proses Input waktu_proses Input persentasi Input window histori Ket : tb_dokumen dan histori merupakan tabel yang terdapat dalam database data_dokumen

3.4.2.2.3 Data Flow Diagram Level 2 Pendeteksian Algoritma Manber

Berikut ini adalah Data Flow Diagram ( DFD) Level 2 proses pendeteksian algoritma manber dari Sistem Deteksi Kesamaan Dokumen ditunjukan pada gambar 3.6. Input dokumen 1 Input dokumen 2 Input Jumlah GramInput Ukuran p 2.1 Input Teks Input id_dokInput nama_dok Input tanggal Input gramPENGGUNA Input jumlah p Input file Input fingerprints 2.2 Data_stopword Preprocesingtb_stopword Tb_dokumen Info Persentasi Kemiripan 2.3 Info Total Waktu Proses Hitung Kemiripanteks Algoritma Manber Input id_proses Input nama_dokumenInput gram Input jumlah p histori Input persentasi Input waktu_proses Gambar 3.6 DFD Level 2 Proses Pendeteksian Manber Ket : tb_dokumen dan histori merupakan tabel yang terdapat dalam database data_dokumen

3.4.2.2.4 Data Flow Diagram Level 2 Proses Cek Histori

Berikut ini adalah Data Flow Diagram ( DFD) Level 2 proses cek histori dari Sistem Deteksi Kesamaan Dokumen ditunjukan pada gambar 3.7. 3.3 3.2 Lihat Histori Lihat Upload PENGGUNAPerhitungan Dokumen Dokumen 3.1 Download Dokumen Info dokumen yang pernah dibandingkan InfoDokumen Yang pernahdiupload Tb_dokumen histori Gambar 3.7 DFD Level 2 Proses Cek Histori Ket : tb_dokumen dan histori merupakan tabel yang terdapat dalam database data_dokumen

3.4.2.3 Spesifikasi Proses

Spesifikasi proses merupakan deskripsi dari setiap elemen proses yang terdapat dalam program, yang meliputi nama proses, input, output dan keterangandari proses. Berikut ini spesifikasi proses dari Sistem Deteksi Kesamaan Dokumen ditunjukan pada tabel berikut ini

3.4.2.3.1 Spesifikasi Proses Input Teks Spesifikasi Proses pada proses 1.1 Input Teks dapat dilihat pada table 3.7

  Tabel 3.7 Spesifikasi Proses Input Teks 1 No Proses 1.1 Nama Input TeksSource PenggunaInput Input Dokumen 1, Input Dokumen 2, Input Jumlah Gram, Input Jumlah WindowOutput Info Persentasi Kemiripan Info Total Waktu ProsesLogika Proses 1. Pengguna Melakukan input dokumen teks atau input manual teks pada form yang disediakansistem 2.

3.4.2.3.2 Spesifikasi Proses Preprocessig

  Spesifikasi Proses pada proses 1.2 Preprocessing dapat dilihat pada tabel3.8 berikut: Tabel 3.8 Spesifikasi Proses Preprocessing No Proses Keterangan 1 No Proses 1.2 Nama PreprocessingSource 1.1 Input TeksInput Teks 1 , Teks 2Output String yang sudah dilakukan proses penghapusan kata stopword dalam dokumen 2. Sistem menghapus kata-kata stopword yang bersumber dari database tabel tb_stopword 3.

3.4.2.3.3 Spesifikasi Proses Hitung Kemiripan

  Sistem menampilkan info perhitungan dan menyimpan data ke database dokumen 3.4.2.3.4 Spesifikasi Proses Download Dokumen Spesifikasi Proses pada proses 1.2 Hitung Kemiripan Teks Algoritma Winnowing dapat dilihat pada table 3.10. Sistem menampilkan file yang bersumber dari tb_dokumen dalam database data_dokumen 3.4.2.3.5 Spesifikasi Proses Lihat Upload Dokumen Spesifikasi Proses pada proses 3.2 Lihat Upload Dokumen dapat dilihat pada table 3.11.

3.4.2.3.6 Spesifikasi Proses Lihat Histori Perhitungan Dokumen

  Spesifikasi Proses pada proses 3.3 Lihat Histori Perhitungan Dokumen dapat dilihat pada table 3.11. Tabel 3.11 Spesifikasi Proses Lihat Histori Perhitungan Dokumen No Proses Keterangan 1 No Proses 3.3 Nama Lihat Histori Perhitungan DokumenSource Tabel historiInput -Output Info Dokumen yang pernah dilakukan perhitunganLogika Proses 1.

3.4.3 Kamus Data

Kamus data dibuat berdasarkan aliran data yang ada pada DFD, dengan kamus data data-data yang mengalir dalam DFD didefinisikan secara detail. Kamusdata pada sistem deteksi similaritas dokumen dapat dilihat pada tabel 3.12 Tabel 3.12 Tabel Kamus Data No Kamus Keterangan 1 Nama Aliran Data Data Input TeksDigunakan Pada Proses 1.1, Proses 2.1Deskripsi Berisi data input yang dilakukan penggunaStruktur Data nama_dok+ +gram+window nama_dokgram windowfile [a-z|A-Z][0-9][0-9][a-z|A-Z|0-9] 2 Nama Aliran Data Data DokumenDigunakan Pada Proses 1.1, Proses 2.1, Proses 3.1, Proses 3.2Deskripsi Berisi data hasil input pengguna sebelum diolahStruktur Data Id_dok+nama_dok+gram+window+tanggal+file+ fingerprintsId_dok nama_dokgram windowtanggal filefingerprints [0-9][a-z][0-9][0-9][0-9|-][a-z|A-Z|0-9][0-9|,] 3 Nama Aliran Data Data Hasil PerhitunganDigunakan Pada Proses 1.3, Proses 2.3, Proses 3.3Deskripsi Berisi data hasil perhitungan sistemStruktur Data Id_proses+nama_dokumen+gram+window+ algoritma+persentasi+waktu_proses [0-9][a-z][0-9][0-9][Algoritma Winnowing|Algoritma Manber][0-9|%][0-9]

3.4.4 Perancangan Sistem

Pada tahap ini digambarkan rancangan sistem yang akan dibangun sebelum dilakukan pengkodean ke dalam suatu bahasa pemrograman.

3.4.4.1 Perancangan Struktur Menu

  Perancangan struktur menu dilakukan sebagai panduan pengguna dalam memilih menu dan fungsi yang tersedia di halaman tampilan. Struktur menupengguna dapat dilihat pada gambar 3.8.

3.4.4.2 Perancangan Antar Muka

  3.4.4.2.1 Perancangan Antar Muka T01 Antar muka halaman pertama yaitu berisi menu-menu pilihan yang dapat dilihat pada gambar 3.9. Gambar 3.9 Antar Muka Menu Utama 3.4.4.2.2 Perancangan Antar Muka T02 Antar Muka halaman kedua yaitu berisi form inputan teks pertama, teks kedua, jumlah gram, dan jumlah window yang diperlukan untuk perhitunganpersentasi kemiripan menggunakan Algoritma Winnowing.

3.4.4.2.3 Perancangan Antar Muka T03

  Antar Muka halaman kedua yaitu berisi form inputan teks pertama, teks kedua, jumlah gram, dan jumlah window yang diperlukan untuk perhitunganpersentasi kemiripan menggunakan Algoritma Winnowing. Antar muka T02 dapat dilihat pada gambar 3.11.

3.4.4.2.4 Perancangan Antar Muka T04

  3.4.4.2.5 Perancangan Antar Muka T05 Antar muka T05 merupakan antar muka yang menampilkan menu tentang yang berisi tentang teks tujuan dibuatnya aplikasi dan deskripsi aplikasi. Gambar 3.14 Antar Muka Tentang Aplikasi 3.4.4.2.6 Perancangan Antar Muka T06 Antar muka T06 merupakan antar muka yang menampilkan menu bantuan yang berisi tentang cara penggunaan aplikasi.

3.4.4.3 Jaringan Semantik Jaringan semantik menggambarkan keterkaitan antar halaman yang dibangun

Jaringan semantik sistem dapat dilihat pada gambar 3.16. Gambar 3.16 Jaringan Semantik

3.4.4.4 Perancangan Basis Data

  Tabel di bawah ini merupakan tabelbeserta field dan data type yang digunakan dalam database dengan menggunakan MYSQL Database 3.4.4.4.1 Tabel tb_dokumen Tabel tb_dokumen merupakan tabel untuk menampung data dokumen yang di upload oleh pengguna. Tabel 3.14 Tabel Histori Atribut Type Keterangan 3.4.4.4.3 Tabel Stopword Tabel stopword merupakan tabel untuk menampung kata-kata yang masuk dalam kategori kata yang tidak memiliki makna namun sering digunakan (kata stopword).

3.4.4.5 Perancangan Prosedural

  Perancangan prosedural adalah untuk menggambarkan rancangan prosedur yang ada pada pembuatan aplikasi ini. Terdapat dua prosedur yang dapat dilakukanpengguna yaitu prosedur input data dan prosedur cek histori .

BAB 4 IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

  Tahap yang dilakukan untuk menerjemahkan perancanganberdasarkan hasil analisis dalam bahasa yang dimengerti oleh komputer serta penerapan perangkat lunak pada keadaan yang sebenarnya. Tabel 4.1 Spesifikasi Perangkat Keras No Perangkat Keras Spesifikasi 1 Prosesor Kecepatan Minimal 2.2 GHz 2 Monitor Monitor 14.1‟‟ 3 Memori 1024 MB 4.1.2 Implementasi Perangkat Lunak Spesifikasi perangkat lunak (software) yang digunakan untuk membangun sistem pendeteksi similaritas dokumen ini dapat dilihat pada tabel 4.2.

4.1.3 Implementasi Database Pembuatan basis data (database), dilakukan dengan menggunakan MySQL

Implementasi basis data (database) dalam bahasa SQL adalah seperti dapat dilihat pada tabel 4.3. Tabel 4.3 Tabel Implementasi Database No Proses SQL 1 Proses Pembuatan Database CREATE DATABASE data_dokumen; 2 Tabel “tb_dokumen” CREATE TABLE „tb_dokumen‟( id_dok int(10) NOT NULLAUTO_INCREAMENT, nama_dok varchar(10) NOT NULL, tanggaldatetime NOT NULL, gram int(10) NOT NULL,window int(10) NOT NULL, file varbinary(50000) NOT NULL,fingerprints mediumblob NOT NULL,PRIMERY KEY(„id_dok‟))ENGINE=InnoDB; 3 Tabel “histori” CREATE TABLE „histori‟ ( id_proses int (10) NOT NULLAUTO_INCREAMENT, 67 nama_dokumen varchar(50) NOT NULL, gram int(10) NOT NULL,window int(10) NOT NULL, algoritma varchar(30) NOT NULL,persentasi varchar(30) NOT NULL, waktu_proses varchar(20) NOT NULL,PRIMERY KEY(„id_proses‟))ENGINE=InnoDB; 4 Tabel “tb_stopword” CREATE TABLE „tb_stopword‟ ( id_stopword int(10) NOT NULLAUTO_INCREAMENT, stopword varchar(30) NOT NULL,PRIMERY KEY („id_stopword‟))ENGINE=InnoDB;

4.1.4 Implementasi Antarmuka

  Implementasi antarmuka dilakukan untuk mengimplementasikan setiap tampilan yang terdapat pada tahap perancangan yang telah dilakukan. Implementasiantarmuka dari sistem yang telah dibuat dapat dilihat pada tabel 4.4.

4.2 Pengujian Metode

  Tahapan pengujian yang akan dilakukan terdiri dari pengujian dua metode yang telah diteliti yaitu pengujian metode Winnowing dan pengujian Manber. Pengujiandilakukan bertujuan untuk mengetahui performansi dari kedua algoritma pada sistem yang telah dibuat, pengujian meliputi pengujian jumlah gram, jumlah window,ukuran p, basis bilangan prima, waktu proses dan jumlah langkah yang dilakukan untuk menghasilkan output.

4.2.1 Pengujian Metode Winnowing

Pada pengujian metode winnowing dilakukan pengujian jumlah gram, jumlah window, basis bilangan prima ,waktu proses, perbandingan waktu prosesmenggunakan tokenizing dan penghapusan stopword dan jumlah langkah

4.2.1.1 Pengujian Jumlah Gram

  Berikut merupakan tabel hasil analisis dari jumlah gram yang telah dilakukan: Jumlah window : 2Basis : 3Dokumen 1 : Sejarah Google.txt (5633 karakter)Dokumen 2 : Sejarah Google 2.txt (4862 karakter)Dokumen 1 memiliki total 5633 karakter dan Dokumen 2 adalah dokumen yang sama namun dihilangkan tiga paragraph untuk membedakan isi dari dokumensehingga Dokumen 2 memiliki total 4862 karakter. Input gram dengan nilai >= 10 dengan window = 2 akan menghasilkan nilai yang cukup besar (INF) pada sistem yangmengakibatkan kesalahan perhitungan yang menghasilkan output 100%.

0.1 Perbedaan Waktu Mengacu Pada

71

4.2.1.2 Pengujian Jumlah Window

  Analisis bilangan prima dilakukan untuk mendapatkan informasi jumlah dari maksimal bilangan prima yang dapat digunakan oleh Algoritma Winnowing menurut 73�−1 �−2 1 2 ∗ ∗ ⋯ + ∗ + �−1 � Keterangan: c : nilai ascii karakterb : basis (bilangan prima) k : banyak karakterBilangan prima dalam rumus Rolling Hash tidak ditentukan oleh user tapi ditentukan oleh programmer atau pembuat sistem. Pemilihan basis bilangan prima = 3 dikarenakan jumlah k yang paling optimal pada pengujian sebelumnyaadalah k=9 dapat menghasilkan jumlah yang sangat besar jika diterapkan pada rumus Rolling Hash sehingga sistem tidak dapat menampung nilai yang besar tersebut dan menghasilkan nilai INF yang akan mempengaruhi proses perhitungan.

4.2.1.4 Pengujian Winnowing Menggunakan Tokenizing dan Penghapusan Stopword

  Analisis performansi algoritma Winnowing mengggunakan tokenizing dan penghapusan stopword (kata yang sering digunakan namun tidak memiliki makna)dilakukan untuk mendapatkan informasi perbedaan waktu dan ketepatan dari hasil analisis yang dilakukan tanpa menggunakan tokenizing dan penghapusan stopwordsebelumnya. Perbedaan waktu proses ketika menggunakan tokenizing terhadap perubahan gram dapat dilihatpada gambar 4.3 0.1 0.09 0.08 0.07 0.06 Waktu Proses Tanpa 0.05 Tokenizing 0.04 Waktu Proses Dengan 0.03 Tokenizing 0.02 0.01 gram gram gram gram gram gram gram gram gram 2 3 4 5 6 7 8 9 10 Gambar 4.3 Grafik Pengaruh Gram dan Tokenizing Terhadap Kecepatan Begitu pula pada analisis window yang telah dilakukan dengan mengambil jumlah gram = 9 dan window = 5 mendapatkan hasil 86,12%.

4.2.2 Pengujian Metode Manber

Pada pengujian metode manber dilakukan pengujian jumlah gram, jumlah ukuran p, basis bilangan prima ,waktu proses, perbandingan waktu prosesmenggunakan tokenizing dan penghapusan stopword dan jumlah langkah yang dilakukan

4.2.2.1 Pengujian Jumlah Gram Manber

Analisis jumlah gram dilakukan untuk mengetahui jumlah gram optimal yang dapat dipakai oleh Algoritma Manber. Berdasarkan pengujian yang telah dilakukandiperoleh data sebagai berikut: Jumlah p : 3Basis : 3Dokumen 1 : Sejarah Google.txt (3654 karakter)Dokumen 2 : Sejarah Google 2.txt (3148 karakter)Menurut perhitungan manual persentasi kemiripan seharusnya menghasilkan 3148 hasil × 100 = 86,15 % , dan yang mendekati hasil tersebut adalah jumlah gram 3654 8-13 namun yang paling mendekati adalah jumlah gram = 13 Tabel 4.9 Analisis Gram Manber Jumlah gram Waktu proses/second Persentasi Kemiripan Selisih 2 0,0627 100 % 13,85 %3 0,0851 96,55 % 10,40 % 4 0,0807 95,37 % 9,22 %5 0,0817 91,75 % 5,60 % 6 0,0859 90.07 % 3,92 %7 0,0940 88,46 % 2,31 % 78 8 0,1208 87,60 % 1,45 % 9 0,1037 87,36 % 1,21 %10 0,1142 87,32 % 1,17 % 11 0,2080 87,17 % 1,02 %12 0,2190 87,07 % 0,92 % 13 0,3336 86,98 % 0,83 % Dokumen 1 setelah melalui tahap preprocessing memiliki total 3654 karakter dan Dokumen 2 adalah dokumen yang sama namun dihilangkan tiga paragraph untukmembedakan isi dari dokumen sehingga Dokumen 2 memiliki total 3148 karakter.Perubahan waktu proses dari perubahan gram dapat dilihat pada gambar 4.5

0.31 Waktu Proses Terhadap Perubahan Gram

Gambar 4.5 Grafik Waktu Proses Terhadap Gram Manber 0.01 0.06 0.11 0.16 0.21 0.26 Waktu Proses Terhadap Perubahan Gram 79 Dilihat dari gambar 4.5 pada metode Manber menunjukan ketika gram bertambah maka waktu proses secara visual bertambah.

4.2.2.2 Pengujian Ukuran P Manber

  Berdasarkan pengujian yangtelah dilakukan diperoleh data sebagai berikut: Jumlah gram : 13Basis : 3Dokumen 1 : Sejarah Google.txt (3654 karakter)Dokumen 2 : Sejarah Google 2.txt (3148 karakter)Menurut perhitungan manual persentasi kemiripan seharusnya menghasilkan hasil 3148 3654 × 100 = 86,15 % , dan yang mendekati hasil tersebut adalah jumlah gram 10 dan ukuran p= 9 yaitu sebesar 85,71% dengan selisih 0,44 %. Pemilihan basis bilangan prima = 3 dikarenakan jumlah k yang paling optimal pada analisis sebelumnya adalahk=9 dapat menghasilkan jumlah yang sangat besar jika diterapkan pada rumusRolling Hash sehingga sistem tidak dapat menampung nilai yang besar tersebut dan menghasilkan nilai INF yang akan mempengaruhi proses perhitungan.

4.3 Kesimpulan Pengujian

  Penggunaan rumus Rolling Hash I sudah cukup bisa digunakan tanpa Rumus Rolling Hash II dikarenakan dalam bahasa pemrograman terdapat perulangan yang bisa digunakan untuk mengulang seluruh kata yang terdapat pada sebuah 83 dokumen, sehingga jika satu rumus saja yang digunakan dapat menghemat proses yang dilakukan. Penggunaan basis bilangan prima yang besar juga akan menghasilkan nilai hash yang besar sehingga alternatif basis bilangan prima yang digunakan yaitu b = 3 13.

BAB 5 KESIMPULAN Pada bab ini berisikan kesimpulan dari hasil penelitian yang telah dilakukan serta saran untuk perbaikan dan pengembangan penelitian lebih lanjut

  Dalam hal ketepatan Winnowing lebih baik dari Manber dikarenakan Winnowing memilih nilai fingerprints dari nilai terkecil setiap window yang dibuat, sehinggapemilihan fingerprints dokumen diperoleh dari banyak perbandingan nilai dari nilai window-window yang beragam. Sistem yang dibuat memiliki tujuan untuk keperluan analisis sehingga dokumen yang diproses yaitu masih dokumen yang berukuran kecil sehingga untukpengembangan dapat dibuat agar sistem dapat memproses dokumen yang besar serta pemeriksaan acuan/referensi dalam sebuah dokumen 3.

RIWAYAT PENDIDIKAN

  Sekolah Dasar : SDN Abdi NegaraTahun Ajaran (1998-2004) 2. Sekolah Menengah Pertama : SMPN 3 RancaekekTahun Ajaran (2004-2007) 3.

SURAT KETERANGAN TIDAK PLAGIAT

SURAT HAK EKSKLUSIF

Dokumen baru

Dokumen yang terkait

Analisis dan implementasi watermarking dengan algoritma aes untuk pemberian data hak cipta pada file audio
2
20
178
Implementasi algoritma RSA dan Blowfish untuk enkripsi dan Dekripsi data menggunakan Delphi 7
7
43
133
Implementasi kriptografi menggunakan algoritma RSA untuk mengamankan SMS Berbasis J2ME
1
10
202
Concept learning pada algoritma find-s dan algoritma eliminasi calon (kajian teoritik)
5
90
54
Pengembangan algoritma logika fuzzy untuk optimasi daya listrik pada suatu ruangan
6
12
105
Implementasi algoritma genetika untuk pencarian rute minimum dalam travelling salesman problem
1
8
24
Analisis performasi algoritma fuzzy inference rules dalam penentuan kord lagu
1
13
30
Analisis performansi algoritma knapsack untuk optimalisasi pemilihan proyek di PT.Gits Indonesia
1
11
172
Implementasi algoritma genetika untuk pencarian rute minimum dalam travelling salesman problem
2
5
24
Analisis algoritma genetika pada permainan Teka-Teki Silang
2
30
113
Penerapan algoritma genetika untuk optimasi penadwalan layanan keluhanan dan gangguan pelanggan di PT.PLN Rayon Bandung Timur
5
27
181
Analisis performasi algoritma Baum Welch dalam menentukan kata kunci suatu dokumen di lingkungan Perpustakaan Pusat Penelitian dan Pengembangan Sumber Daya Air
0
6
131
Analisis performasi algoritma winnowing dan algoritma manber untuk deteksi kesamaan dokumen teks berbahasa Indonesia
25
65
99
Pembangunan aplikasi deteksi dan tracking warna virtual drawing menggunakan algoritma color filtering
4
38
44
TUGAS MANDIRI algoritma putera batam
0
9
22
Show more