• Tidak ada hasil yang ditemukan

IDENTIFIKASI TINGKAT KEMIRIPAN DOKUMEN TEKS MENGGUNAKAN FUNGSI HASH PADA ALGORITMA WINNOWING SKRIPSI YULIA CITRA SIPAYUNG

N/A
N/A
Protected

Academic year: 2022

Membagikan "IDENTIFIKASI TINGKAT KEMIRIPAN DOKUMEN TEKS MENGGUNAKAN FUNGSI HASH PADA ALGORITMA WINNOWING SKRIPSI YULIA CITRA SIPAYUNG"

Copied!
87
0
0

Teks penuh

(1)

IDENTIFIKASI TINGKAT KEMIRIPAN DOKUMEN TEKS MENGGUNAKAN FUNGSI HASH PADA

ALGORITMA WINNOWING

SKRIPSI

YULIA CITRA SIPAYUNG 141401080

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2020

(2)

IDENTIFIKASI TINGKAT KEMIRIPAN DOKUMEN TEKS MENGGUNAKAN FUNGSI HASH PADA

ALGORITMA WINNOWING

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

YULIA CITRA SIPAYUNG 141401080

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2020

(3)

iv

PERNYATAAN

(4)

IDENTIFIKASI TINGKAT KEMIRIPAN DOKUMEN TEKS MENGGUNAKAN FUNGSI HASH PADA ALGORITMA WINNOWING

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 17 Januari 2020

Yulia Citra Sipayung

NIM. 141401080

(5)

vi

UCAPAN TERIMA KASIH

Puji dan syukur kepada Tuhan Yesus Kristus, yang telah menuntun dan memampukan penulis untuk menyelesaikan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer dari Program Studi S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.

Penulis juga bersyukur berada di antara pihak-pihak yang berperan penting dalam penyelesaian skripsi ini. Penulis berterimakasih kepada:

1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum. selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Opim Salim Sitompul, M.Si. selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sematera Utara.

3. Bapak Dr. Poltak Sihombing, M. Kom. selaku Ketua Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sematera Utara dan Dosen Pembimbing I, yang memberikan arahan, saran, motivasi dan dukungan yang sangat berarti bagi penulis untuk mengerjakan sikripsi ini.

4. Bapak Herriyance, S.T., M.Kom. Selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan selaku dosen Pembanding II yang telah memberikan kritik dan saran penulis dalam penyelesaian skripsi ini.

5. Bapak Handrizal, S.Si, M.Comp.Sc selaku Dosen Pembimbing II, yang telah memberikan bimbingan, saran, motivasi dan dukungan kepada penulis untuk mengerjakan skripsi ini.

6. Bapak Sajadin Sembiring, S.Si, M.Comp.Sc selaku Dosen Pembanding I, yang telah memberikan kritik dan saran kepada penulis dalam penyelesaian skripsi ini.

7. Ibu Dian Rachmawati, S.Si.,M.Kom. selaku Dosen Pembimbing Akademik Program Studi S1 Ilmu Komputer Universitas Sumatera Utara yang dengan sabar telah membimbing penulis selama perkuliahan.

8. Seluruh Dosen dan Pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sematera Utara

(6)

9. Papa penulis Japendiaman Sipayung dan mama penulis Sarinim Purba tersayang yang telah memberikan penuh kasih sayang, memberikan perhatian agar penulis cepat mengambil gelar Sarjana, memberikan dukungan, semangat, dan mendoakan penulis.

10. Adik-adik tersayang Yongki Alvif Sipayung, Yolandika Sipayung dan Yosep Yuendi Sipayung yang telah sabar menantikan penulis, untuk mengerjakan skripsi ini.

11. Teman Kelompok Tumbuh Bersama ABDIAS, Pkk Kak Winda, Tresia, Josepri dan Ruth yang selalu memberikan semangat, saling mendoakan dan selalu mendengarkan keresahan penulis untuk mengerjakan skripsi.

12. Teman-teman yang ada disekitar penulis Grup OREO yang selalu memberikan semangat, motivasi, gambaran, dukungan dan doa untuk mengerjakan skripsi ini.

13. Adik Siska dan Suanti yang selalu mendengarkan keresahan penulis, selalu memberikan semangat, motivasi dan mendoakan penulis untuk mengerjakan skripsi ini.

14. Teman-teman Stambuk 2014, terkhusus Kom B, adik-adik, kakak dan abang yang beda stambuk yang tidak dapat penulis sebut satu persatu.

15. Teman-teman, kakak dan abang yang memberikan saran, kritik, semangat dan motivasi kepada penulis untuk mengerjakan skripsi ini.

16. Dan kepada teman-teman semua, pihak yang terlibat langsung ataupun tidak langsung dengan penulis yang tidak dapat dituliskan satu per satu.

Penulis menyadari bahwa penelitian ini tidak akan sempurna jika tidak ada semangat dan doa dari teman-teman semuanya. Semoga Tuhan yang akan memberikan berkat kepada teman-teman semuanya. Dengan segala kelebihan dan kekurangan semoga skripsi ini bermanfaat bagi setiap yang membaca.

Medan, 17 Januari 2020

Penulis

(7)

viii

ABSTRAK

Semua file softcopy dapat di perbanyak dengan melakukan copy-paste. Kondisi ini dapat menimbulkan masalah baru dalam pelanggaran hak cipta dengan tidak mencantumkan sumbernya maka dapat menimbulkan plagiarisme. Plagiarisme adalah suatu tindakan yang mengambil pernyataan atau ide-ide dari orang lain dan menyatakan ide itu menjadi miliknya sendiri. Oleh karena itu pendeteksian kemiripan perlu untuk dilakukan untuk mengurangi plagiarisme.

Penelitian ini bertujuan untuk mendeteksi tingat kemiripan dokumen teks menggunakan algoritma Winnowing yang dapat membantu menentukan plagiarisme yang akan dirancang berbasis web dalam bentuk file dokumen pdf. Tahapan sistem untuk mencari tingkat kemiripan dokumen teks dapat dilakukan dengan memasukkan k-gram, w-gram, bilangan prima dan dokumen uji dengan pembanding maka inputan akan diproses menggunakan preprocessing yang terdiri dari case folding, filtering dan tokenizing. Setelah dari preprocessing maka selanjutnya akan diproses menggunakan fungsi hashing/rolling hash, fingerprinting dan mencari nilai kemiripan menggunakan metode Jaccard’s Similarity Coeficient.

Pada pengujian ini menggunakan dokumen teks yang akan dideteksi tingkat kemiripannya dengan metode jaccard’s similarity coeficient pada algoritma Winnowing yang menghasilkan tingkat kemiripannya yang tinggi diatas 56% sampai 100% untuk dokumen tingkat kemiripan tinggi. Sedangkan untuk dokumen dengan tingkat kemiripan yang rendah atau tidak berplagiat maka menghasilkan nilai kemiripan dibawah 40%.

Kata Kunci: Algoritma Winnowing, Metode K-Gram, Metode W-Gram, Metode Bilangan Prima, Fungsi Rolling Hash, Fingerprint, Metode Jaccard’s Similarity Coeficient, Plagiarisme

(8)

IDENTIFICATION OF TEXT-DOCUMENT SIMILARITY USING THE HASH FUNCTION IN THE WINNOWING ALGORITHM

ABSTRACT

All softcopy files can be reproduced by copying and pasting. This condition can cause new problems in copyright infringement by not mentioning the source, it can cause plagiarism. Plagiarism is the act of taking decisions or ideas from other people and stating that the idea is their own. Therefore similarity detection needs to be done to reduce plagiarism.

This study aims to detect the similarity of text documents using the Winnowing algorithm that can help determine plagiarism that will be designed web-based in the form of pdf document files. System stages to find the level of similarity of text documents can be done by entering k-gram, w-gram, prime numbers and test documents by comparison then the input will be processed using preprocessing which consists of case folding, filtering and tokenizing. After preprocessing, it will then be processed using a hash / rolling hash function, fingerprint and look for similarity values using the Jacqueline Similarity Coeficient method.

In this test using a text document that will detect the level of similarity with the jaccard's similarity coeficient method on the Winnowing algorithm that produces a high level of similarity above 56% to 100% for high similarity level documents.

Whereas for documents with a low level of similarity or non-plagiarism, the similarity value is below 40%.

Keywords: Winnowing Algorithm, K-Gram Method, W-Gram Method, Prime Numbers Method, Function Rolling Hash, Fingerprint, Jaccard’s Similarity Coeficient Method, Plagiarism

(9)

x

DAFTAR ISI

Halaman

Persetujuan Error! Bookmark not defined.

Pernyataan iv

Penghargaan v

Abstrak viii

Abstract ix

Daftar Isi x

Daftar Tabel xiii

Daftar Gambar xiv

Daftar Grafik xv

Daftar Lampiran xvi

BAB 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 3

1.7. Sistematika Penulisan 5

(10)

BAB 2 Landasan Teori

2.1 Pengertian Plagiarism (Penjiplakan) 6

2.1.1 Tipe-Tipe Plagiarism 7

2.1.2 Metode Pendeteksi Plagiarism 7

2.2 Preprocessing 8

2.3 Algoritma Winnowing 9

2.3.1 Metode K-Gram 10

2.3.2 Metode Hash (Rolling Hash) 10

2.3.3 Window 11

2.3.4 Fingerprint Dokumen 11

2.4 Jaccard’s Similarity Coeficient 12

2.5 Penelitian yang Relevan 12

2.6 Metode Penelitian 13

BAB 3 Analisis dan Perancanaan

3.1 Analisis Sistem 15

3.1.1 Analisis Masalah 15

3.1.2 Analisis Kebutuhan 16

3.1.3 Analisis Proses 17

3.2 Perancangan Sistem 18

3.2.1 Kerangka menu 18

3.2.2 Use Case 18

3.2.3 Flowchart Sistem 19

3.2.4 Activity Diagram 20

3.2.5 Sequence Diagram 22

3.2.6 Kemiripan Teks Secara Manual 23

3.2.7 Perancangan Antarmuka 31

BAB 4 Implementasi dan Pengujian

4.1 Implementasi 34

4.1.1 Halaman Utama 34

(11)

xii

4.1.2 Halaman Proses 35

4.2 Pengujian Sistem 36

4.2.1 Pengujian Halaman Utama Sistem 37

4.2.2 Pengujian Kemiripan Dokumen Teks 38

4.2.2.1 Pengujian Kemiripan Dokumen Teks yang Berbeda 38 4.2.2.2 Pengujian Kemiripan Dokumen Teks yang Sama 48

BAB 5 Penutup

5.1 Kesimpulan 56

5.2 Saran 57

Daftar Pustaka 58

Lampiran

Listing Program A

Daftar Riwayat Hidup B

(12)

DAFTAR TABEL

Halaman

Tabel 2. Klasifikasi Metode Pendeteksi Plagiarisme 7

Tabel 3.1 Use Case Diagram 19

Tabel 3.2 Sequence Diagram 23

Tabel 4.1 Pengujian Tingkat Kemiripan Dokumen Teks yang Berbeda 46 Tabel 4.2 Pengujian Tingkat Kemiripan Dokumen Teks yang Sama 54

(13)

xiv

DAFTAR GAMBAR

Halaman

GAMBAR 3.1 Diagram Ishikawa 18

GAMBAR 3.2 Use Case Sistem 18

GAMBAR 3.3. Flowchart Preprocessing 20

GAMBAR 3.4 Activity Diagram 21

GAMBAR 3.5 Sequence Diagram 22

GAMBAR 3.6. Halaman Awal pada Sistem 32

GAMBAR 4.1 Halaman Utama Pada Sistem 35

GAMBAR 4.2 Halaman Proses pada Sistem 36

GAMBAR 4.3 Pengujian Halaman Utama Sistem 37 GAMBAR 4.4 Pengujian Halaman Utama Dokumen Teks yang Berbeda 39 GAMBAR 4.5 Hasil Proses K-Gram pada Dokumen teks yang Berbeda 41 GAMBAR 4.6 Hasil Pengujian Rolling Hash pada Dokumen Teks yang

Berbeda 40

GAMBAR 4.7 Hasil Pengujian W-Gram pada Dokumen Teks yang Berbeda 41 GAMBAR 4.8 Hasil Pengujian Fingerprint pada Dokumen Teks yang

Berbeda 41

GAMBAR 4.9 Hasil Presentase pada Dokumen Teks yang Sama 45 GAMBAR 4.10 Proses Halaman Utama Dokumen Teks yang Sama 50 GAMBAR 4.11 Pengujian K-Gram Halaman Utama Dokumen Teks yang

Sama 50

GAMBAR 4.12 Hasil Pengujian Rolling Hash pada Dokumen Teks yang

Sama 51

GAMBAR 4.13 Hasil Pengujian W-Gram pada Dokumen Teks yang Sama 52 GAMBAR 4.14 Hasil Pengujian Fingerprint pada Dokumen Teks yang Sama 53 GAMBAR 4.15 Hasil Presentase pada Dokumen Teks yang Sama 54

(14)

DAFTAR GRAFIK

Halaman GRAFIK 4.1 Tingkat Kemiripan Pengujian pada Nilai K-Gram Dokumen Teks

yang Berbeda 44

GRAFIK 4.2 Waktu Proses Pengujian pada Nilai K-Gram Dokumen Teks yang

Berbeda 44

GRAFIK 4.3 Waktu Proses Pengujian pada Nilai K-Gram Dokumen Teks yang

Sama 49

(15)

xvi

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Listing Program A

Lampiran 2 Daftar Riwayat Hidup B

(16)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi informasi saat ini sangat berkembang pesat dan menjadi sebuah kebutuhan bagi setiap orang untuk melakukan aktivitas pekerjaan mereka.

Seiring dengan kemajuan teknologi dibidang komputer saat ini sudah tidak lagi menyimpan file dokumen berupa hardcopy kedalam rak buku dan lemari melainkan berupa dokumen digital atau softcopy. Semua file softcopy tersebut dapat di perbanyak dengan melakukan copy-paste. Kondisi ini dapat menimbulkan masalah baru dalam pelanggaran hak cipta dengan tidak mencantumkan sumbernya. Oleh sebab itu, teknologi informasi saat ini sangat membutuhkan pendeteksian pada dokumen-dokumen teks. Pendeteksian kemiripan dokumen teks merupakan upaya menjaga keaslian pada dokumen teks agar tetap terjaga. Dikarenakan saat ini dengan mudah dilakukannya penyalinan dokumen yang dapat menimbulkan plagiarisme.

Plagiarisme atau penjiplakan dapat diartikan suatu tindakan yang mengambil pernyataan atau pencurian ide-ide dari orang lain dan menyatakan ide itu menjadi miliknya sendiri, padahal ide atau tulisan itu adalah hasil karya dari orang lain.

Metode pendeteksian plagiarisme dibagi menjadi tiga bagian, yaitu metode perbandingan teks lengkap, metode dokumen fingerprinting, dan metode kesamaan kata kunci.

Dalam penelitian ini akan dijelaskan bahwa algoritma winnowing ini digunakan karena telah memenuhi salah satu syarat algoritma penjiplakan, yaitu whitespace insensitivity, membuang karakter yang tidak relevan seperti tanda baca dan karakter lainnya. Algoritma ini menggunakan metode fingerprint dalam mendeteksi kemiripan dokumen. Metode fingerprint adalah metode yang menelusuri karakter satu persatu pada karakter tersebut. Prinsip kerja dari metode dokumen fingerprint

(17)

2

ini adalah dengan menggunakan teknik hashing. Teknik hashing adalah sebuah fungsi yang mengkonversi setiap string menjadi bilangan. Bilangan tersebut menghasilkan nilai-nilai fingerprint sebagai panutan atau acuan dalam perhitungan kesamaan dokumen. Kelebihan dari metode fingerprint adalah waktu proses lebih cepat dibandingkan dari metode perbandingan teks lengkap dan metode kesamaan kata kunci. Pengujian similaritas dokumen fingerprint memiliki tahapan pencarian nilai hashing dari setiap kata, pengambilan nilai fingerprint dan pendeteksian kemiripan dokumen.

Beberapa algoritma yang termasuk dalam metode fingerprint yaitu Algoritma Winnowing, Algoritma Rabin-Karp dan Algoritma Manber. Secara umum, algoritma Winnowing dan Manber memiliki prinsip kerja yang hampir sama dengan perbedaan, yaitu pada proses pemilihan fingerprint dokumennya.

Algoritma Winnowing adalah algoritma yang digunakan untuk melakukan proses pengecekkan kesamaan kata (document fingerprinting) untuk mengidentifikasi plagiarisme (penjiplakan). Algoritma yang digunakan untuk mencari nilai hash dalam winnowing adalah rolling hash. Nilai hash merupakan nilai numerik yang terbentuk dari perhitungan ASCII tiap karakter atau angka. Dalam penelitian ini akan dilakukan identifikasi tingkat kemiripan dokumen dengan menggunakan fungsi hash pada algoritma Winnowing.

1.2. Rumusan Masalah

Plagiarisme atau penjiplakan adalah suatu tindakan pencurian ide-ide orang lain yang menjadikan ide tersebut menjadi miliknya sendiri. Penjiplakan ini adalah suatu tindakan yang melanggar hukum organisasi kementerian pendidikan nasional. Oleh karena itu sangat dibutuhkan pendeteksi kemiripan dokumen teks untuk menghindari terjadinya penjiplakan. Dengan cara membandingkan suatu dokumen teks dengan dokumen teks lainnya untuk melihat berapa persen kesamaan atau kemiripan pada dua dokumen teks tersebut.

1.3. Batasan Masalah

Berdasarkan rumusan masalah yang di atas, maka penelitian ini juga mempunyai batasan-batasan masalahnya adalah sebagai berikut:

(18)

1. Pengujian kesamaan pada algoritma winnowing dengan menggunakan metode jaccard similarity coefficient.

2. Pengujian tidak dengan menggunakan suara, gambar ataupun video.

3. Pengujian ini tidak memperdulikan kesalahan pada penulisan kata ataupun kesalahan kalimat.

4. Pengujian dilakukan menggunakan file dokumen pdf.

5. Pengujian ini tidak memperdulikan adanya penulisan sumber rujukan.

1.4. Tujuan Penelitian

Tujuan dari penelitian ini adalah mencari kemiripan dari satu dokumen uji dengan satu dokumen pembanding dengan menggunakan teknik hashing/rolling hash, fingerprinting dokumen dan mencari nilai kemiripan menggunakan metode Jaccard’s Similarity Coeficient pada algoritma winnowing.

1.5. Manfaat Penelitian

Manfaat dari penelitian ini adalah sebagai berikut:

1. Untuk mendeteksi kemiripan pada dokumen teks menggunakan waktu yang relatif singkat dan tidak mengeluarkan banyak biaya.

2. Untuk semakin menghindari adanya penjiplakan pada dokumen teks dengan adanya program tersebut.

3. Untuk semakin memahami pemprosesan pada pendeteksi kemiripan pada dokumen teks.

1.6. Metode Penelitian

Metodologi penelitian yang digunakan penulis dalam penyusunan tugas akhir ini adalah:

1. Studi Literatur

Pada tahap ini dilakukan pengumpulan data dan referensi yang diperlukan dalam penelitian ini. Untuk memperoleh data-data yang efisien yang diperlukan.

Referensi yang digunakan dapat berupa buku, jurnal, artikel, paper, makalah, baik dari media cetak maupun media internet mengenai algoritma khususnya untuk algoritma winnowing.

(19)

4

2. Pengumpulan dan Analisis Data

Pada tahap ini dilakukan pengumpulan dan analisa data yang berhubungan dengan penelitian ini seperti pendeteksi kemiripan dokumen jaccard’s similarity coefficient, hash (rolling hash), fingerprinting pada algoritma winnowing.

3. Perancangan Sistem

Pada tahap ini masalah akan dianalisis untuk mengetahui apa saja hal yang dibutuhkan dalam penelitian ini, dan kemudian sistem dirancang dengan membuat gambaran sistem menggunakan flowchart, UML, dan user interface.

4. Implementasi Sistem

Pada tahap ini perancangan diimplementasikan dengan menggunakan bahasa pemrograman Hypertext Prepocessor.

5. Pengujian Sistem

Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah dibuat.

Pengujian dilakukan untuk mengetahui kekurangan serta kesalahan yang terdapat pada sistem dan kebenaran hasil. Dan melakukan evaluasi terhadap kesalahan pada program.

6. Dokumentasi Sistem

Pada tahap ini melakukan pembuatan dokumentasi sistem mulai dari tahap analisis hingga pengujian sistem yang dibangun.

(20)

1.7. Sistematika Penulisan BAB 1: PENDAHULUAN

Bab ini menguraikan secara singkat mengenai latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

BAB 2: LANDASAN TEORI

Pada bab ini akan dijelaskan mengenai landasan teori yang dibutuhkan dalam membangun aplikasi identifikasi tingkat kemiripan dokumen dengan menggunakan fungsi hash pada algoritma winnowing sesuai dengan metode pembangunan yang akan digunakan. Selain itu terdapat juga analisis teori- teori yang berkaitan dengan penelitian ini.

BAB 3: ANALISIS DAN PERANCANGAN

Dalam bab ini akan menjelasakan analisis sistem, analisis masalah, analisis kebutuhan, analisis proses, perancangan sistem, kerangka menu, flowchart sistem, Activity diagram, menghitung kemiripan teks secara manual, dan perancangan antarmuka.

BAB 4: IMPLEMENTASI DAN PENGUJIAN

Implementasi dari apa yang telah dianalisis dan dirancang dijelaskan dalam bab ini, yaitu antarmuka dan penjelasan akan setiap form yang ditampilkan.

Pengujian menunjukkan bahwa perangkat lunak bekerja sesuai dengan yang diinginkan.

BAB 5: KESIMPULAN DAN SARAN

Bab ini menjelaskan bahwa penelitian yang dilakukan telah memenuhi tujuannya, apa yang dapat disimpulkan dari penelitian yang telah dilakukan.

Selain itu, diberikan saran untuk hasil penelitian yang lebih baik dan penelitian selanjutnya yang berkaitan dengan penelitian yang telah diselesaikan.

(21)

BAB 2

LANDASAN TEORI

Pada bab ini akan dijelaskan mengenai landasan teori yang dibutuhkan dalam membangun aplikasi identifikasi tingkat kemiripan dokumen dengan menggunakan fungsi hash pada algoritma Winnowing sesuai dengan metode pembangunan yang akan digunakan. Selain itu terdapat juga analisis teori-teori yang berkaitan dengan penelitian ini.

2.1. Pengertian Plagiarism (Penjiplakan)

Plagiarism adalah suatu tindakan yang mengambil pernyataan atau pencurian ide-ide dari orang lain dan menyatakan ide itu menjadi miliknya sendiri, padahal ide atau tulisan itu adalah hasil karya dari orang lain dan tidak mencantumkan sumbernya.

Berdasarkan penelitian yang telah dilakukan oleh Sunardi, et al 2018, ditingkat kesamaan yang dinyatakan ada penjiplakan atau tidak adalah sebagai berikut:

1. 0% dinyatakan tidak adanya kemiripan pada dokumen uji dan dokumen pembanding.

2. 15% dinyatakan memiliki sedikit kemiripan pada dokumen uji dan dokumen pembanding namun belum dinyatakan plagiarism.

3. 15-50% dinyatakan memiliki tingkat kemiripan sedang pada dokumen uji dan dokumen pembanding dinyatakan plagiarism sedang.

4. 50% dinyatakan mendeteksi tingkat kemiripannya adanya plagiarism pada dokumen uji dan dokumen pembanding.

5. 100% dinyatakan bahwa dokumen uji dan dokumen pembanding tersebut adalah plagiarism.

(22)

2.1.1. Tipe-Tipe Plagiarism

Berdasarkan penelitian yang telah dilakukan oleh Kurniawati & Wicaksana (2008), ada beberapa tipe-tipe plagiarisme yang terdapat didalamnya adalah:

1. Word-for-word plagiarism : Menyalin setiap kata secara langsung tanpa diubah sedikitpun.

2. Plagirism of authorship : Mengakui hasil karya orang lain sebagai hasil karya sendiri dengan cara mencantumkan nama sendiri menggantikan nama pengarang yang sebenarnya.

3. Plagiarism of ideas : Mengakui hasil pemikiran atau ide orang lain menjadi miliknya sendiri.

4. Plagiarism of sources : Jika seorang penulis menggunakan kutipan dari penulis lainnya tanpa mencantumkan sumbernya.

2.1.2. Metode Pendeteksi Plagiarisme

Metode Pendeteksi plagiarisme di bagi menjadi tiga bagian menurut penelitian yang telah dilakukan oleh Kurniawati & Wicaksana (2008), yaitu perbandingan teks lengkap, dokumen fingerprinting, kesamaan kata kunci. Metode pendeteksi plagiarisme dapat digambarkan sebagai berikut:

Tabel 2. Klasifikasi Metode Pendeteksi Plagiarisme

Perbandingan Teks Lengkap

Metode Pendeteksi Dokumen Fingerprinting Plagiarisme

Kesamaan Kata Kunci

Berikut ini masing-masing penjelasan dari Tabel 2. bagian-bagian metode pendeteksi plagiarisme. Dari metode pendeteksi plagiarisme itu adalah sebagai berikut:

1. Perbandingan Teks Lengkap

Metode ini di terapkan dengan membandingkan semua isi dokumen. Dapat diterapkan untuk dokumen yang besar. Pendekatan ini membutuhkan waktu yang

(23)

8

lama tetapi cukup efektif, karena kumpulan dokumen yang diperbandingkan adalah dokumen yang di simpan pada penyimpanan lokal. Metode perbandingan teks lengkap tidak dapat diterapkan untuk kumpulan dokumen yang tidak terdapat pada dokumen lokal. Algoritma yang digunakan pada metode ini adalah algoritma brute force, algoritma edit distance, algoritma boyer moore dan algoritma lavenshtein distance.

2. Dokumen Fingerprinting

Dokumen fingerprinting merupakan metode yang digunakan untuk mendeteksi keakuratan salinan antar dokumen, baik semua teks yang terdapat di dalam dokumen atau hanya sebagian teks saja. Prinsip kerja dari metode dokumen fingerprinting ini adalah dengan menggunakan teknik hashing. Teknik hashing adalah sebuah fungsi yang mengkonversi setiap string menjadi bilangan.

3. Kesamaan Kata Kunci

Prinsip dari metode ini adalah mengekstrak kata kunci dari dokumen dan kemudian di bandingkan dengan kata kunci pada dokumen yang lain. Pendekatan yang digunakan pada metode ini adalah teknik dot.

2.2. Preprocessing

Preprocessing, merupakan suatu proses awal untuk menghilangkan bagian-bagian yang tidak diperlukan pada pengolahan data. Ada beberapa hal yang dilakukan pada tahap preprocessing pada algoritma winnowing. Berikut ini macam-macam dari metode preproccessing, yaitu (Wibowo,et al 2016):

a. Case folding adalah suatu proses pengubahan semua karakter huruf kapital menjadi huruf kecil/lower-case.

b. Filtering atau sering disebut dengan stopword removal adalah suatu proses penghapusan kata-kata yang tidak relevan dalam teks.

c. Tokenizing adalah suatu proses pemisahan kata berdasarkan dari susunan katanya, biasanya dipisah oleh karakter whitespace.

(24)

2.3. Algoritma Winnowing

Algoritma Winnowing adalah algoritma yang digunakan untuk melakukan proses pengecekkan kesamaan kata (document fingerprinting) untuk mengidentifikasi plagiarism (penjiplakan). Algoritma Winnowing adalah salah satu dari tiga algoritma yang menggunakan fingerprint yaitu algoritma Manber dan algoritma Rabin-Karp.

Penggunaan Fingerprint adalah digunakan untuk mengidentifikasi mendeteksi kemiripan pada dokumen bagian kecil yang memiliki kemiripan pada dokumen yang jumlahnya sangat banyak.

Algoritma Winnowing dan algoritma Manber memiliki prinsip kerja yang hampir sama. Adapun perbedaan algoritma Winnowing dan algoritma Manber adalah sebagai berikut (Kurniawati & Wicaksana, 2008):

1. Jumlah langkah pada algoritma winnowing lebih banyak. Sedangkan algoritma manber lebih sedikit sehingga waktu proses dokumen algoritma manber lebih cepat.

2. Informasi dari hasil atau output pada algoritma winnowing lebih informatif karena selain menghasilkan hasil fingerprint juga terdapat informasi yang lain yaitu informasi posisi. Sedangkan algoritma Manber tidak terdapat informasi posisi.

Selain dari pada itu, terdapat konsep dasar dari algoritma Winnowing yaitu:

1. Penghapusan karakter-karakter yang tidak relevan antara lain spasi atau tanda baca.

2. Pembentukan rangkaian gram dengan ukuran k.

3. Penghitungan nilai hash atau rolling hash dari setiap gram menggunakan fungsi hash atau rolling hash.

4. Membagi nilai rolling hash ke dalam w-gram(window) tertentu.

5. Pemilihan beberapa nilai hash dari setiap w-gram(window) menjadi fingerprint dokumen.

6. Menentukan presentase kesamaan antara satu dokumen uji dan satu dokumen pembanding dengan persamaan Jaccard’s Coefficient.

(25)

10

2.3.1. Metode K-Gram

K-Gram adalah suatu rangkaian token pemisahan teks menjadi string mulai dari posisi tertentu dalam suatu teks dengan panjang k. Dalam konteks komputasi linguistik, token ini dapat berupa kata-kata, meskipun mereka dapat berupa karakter atau himpunan bagian dari karakter. Nilai k hanya mengacu pada jumlah token.

Metode k-grams ini digunakan untuk mengambil potongan-potongan karakter huruf sejumlah k dari sebuah kata yang secara kontinuitas dibaca dari teks sumber hingga akhir dari dokumen (Wibowo, et al 2016). Metode K-gram, yaitu membentuk substring sepanjang k karakter dari sebuah string.

Sebagai contoh:

“YULIA CITRA SIPAYUNG”

Dengan memotong string sepanjang k. Misalnya nilai k=3, dari kalimat diatas, sehingga dapat diproleh hasil sebagai berikut:

“YUL”, “IAC”, “ITR”, “ASI”, “PAY”, “UNG”

Metode K-Gram memunyai peran yang cukup penting karena merupakan langkah awal dalam proses pembentukan fingerprint. Dengan kata lain, metode K- Gram memiliki pengaruh terbesar pertama pada hasil akhir yang dikeluarkan.

Pengaruh dari nilai K pada metode K-Gram yaitu semakin kecil nilai K yang digunakan akan semakin besar pula persentase yang dihasilkan nantinya.

2.3.2. Metode Hash (Rolling Hash)

Hash (Rolling Hash) yaitu fungsi yang menerima atau mengubah masukan string yang panjangnya sembarang dan mengkonversinyakan menjadi sebuah string keluaran yang panjangnya tetap.

Hash terdiri dari dua elemen, yaitu fungsi hash dan nilai hash. Hubungan kedua elemen tersebut adalah rangkaian gram yang dihasilkan dari proses K-Gram kemudian diolah menggunakan fungsi hash sehingga terbentuklah rangkaian nilai hash yang nantinya akan dipilih menjadi fingerprint dokumen (Purwitasari, et al.

2009).

Fungsi hash yang digunakan pada algoritma Winnowing adalah fungsi hash yang mengubah setiap karakter pada rangkaian string ke dalam bentuk kode ASCII dan memprosesnya ke dalam persamaan (2.1) berikut :

(26)

H( ) = (2.1) Keterangan:

H : nilai hash

c : nilai ASCII karakter b : basis (bilangan prima) k : banyak karakter

Untuk mendapatkan penghematan waktu komputasi saat menghitung nilai hash dari sebuah k-gram dapat digunakan persamaan rolling hash (2.2) seperti berikut:

H( ) = (H( ) - (2.2) Dengan demikian tidak perlu melakukan iterasi dari indeks pertama sampai indeks terakhir untu menghitung nilai hash untuk k-gram ke-2 sampai terakhir.

2.3.3. Window

Proses winnowing membutuhkan parameter w-gram dimana nilai hash yang didapat akan di substring menghasilkan rangkaian nilai hash sejumlah W. Dari rangkaian nilai hash inilah akan dipilih nilai hash terkecil, jika terdapat 2 atau lebih nilai yang sama, nilai hash terkecil yang paling kanan yang akan di pilih.

Pemilihan fingerprint diambil berdasarkan nilai terkecil dari nilai hash tiap window. Nilai fingerprint yang telah dipilih tersebut akan digunakan untuk pencocokan terhadap fingerprint tiap dokumen.

2.3.4. Fingerprint Dokumen

Prinsip kerja dari metode dokumen fingerprinting ini adalah dengan menggunakan teknik hashing. Teknik hashing adalah sebuah fungsi yang mengkonversi setiap string menjadi bilangan kemudian menyimpannya dalam sebuah skema atau bagan.

Pemilihan metode fingerprint adalah dengan cara memilih nilai hash yang terkecil dari setiap window pada dokume tersebut. Pada algoritma Winnowing ini tidak hanya mendapatkan nilai fingerprint, melainkan posisi dari fingerprints dalam dokumen tersebut.

(27)

12

2.4. Jaccard’s Similarity Coeficient

Jaccard’s Similarity Coeficient adalah persamaan yang digunakan untuk menghitung atau mengukur nilai kemiripan atau ketidak miripan pada dokumen.

Mengukur Jaccard’s similarity coefficient dari antara satu dokumen uji dengan satu dokumen banding, maka hasil dari kedua dokumen tersebut akan dibagi duakan dan dikalikan dengan 100%, seperti pada rumus (2.3) dibawah ini:

Similaritas (di,dj) = ( ) % 100 (2.3) Keterangan:

1. | w( ) | : Irisan fingerprint dokumen uji dengan dokumen pembanding, 2. | w( ) ( ) | : Gabungan fingerprint dokumen uji dan dokumen pembanding, 3. Similaritas (di,dj) : Hasil bagi irisan dengan gabungan fingerprint yang dikalikan

100%.

2.5. Penelitian yang Relevan

Berikut ini beberapa penelitian yang terkait dengan algoritma Winnowing:

1. Elbegbayan, Norzima (2005) dalam jurnal yang berjudul “Winnowing, a Document Fingerprinting Algorithm”. Dalam jurnal tersebut menggunakan algoritma winnowing dan algoritma fingerprinting. Dimana pada jurnal ini lebih menjelaskan algoritma fingerprinting-nya dinyatakan bahwa fingerprinting memberikan jaminan dan efisien dalam mendeteksi dokumen.

2. Kurniawati, Ana; Wicaksana, Simri, Wayan (2008) dalam jurnal yang berjudul

“Perbandingan Pendekatan Deteksi Plagiarism Dokumen Dalam Bahasa Inggris”. Di dalam jurnal tersebut memiliki dua algoritma yaitu algoritma manber dan algoritma winnowing. Dimana dinyatakan bahwa algoritma winnowing lebih baik dari pada algoritma manber karena memberikan jaminan yang terdeteksinya dokumen yang sama dan mempunyai nilai tambahan yang lain yaitu terdapatnya informasi posisi fingerprint pada dokumen.

3. Wibowo, Karisma, Reynald; Hastuti, Khafiizh (2016) dalam jurnal yang berjudul

“Penerapan Algoritma Winnowing untuk Mendeteksi Kemiripan Teks pada Tugas Akhir Mahasiswa”. Di dalam jurnal tersebut di jelaskan bahwa algoritma winnowing dapat menggunakan metode Rabin-Karp fingerprint yang dapat

(28)

menambahkan metode window Dalam metode window tersebut nilai hash akan di substring dan dipilihnya nilai yang terendah dari nilai hash tersebut. Dokumen harus melalui tahapan yang sama untuk mendapatkan nilai similarity antara dua (2) file dokumen tersebut. Konsep ini bekerja secara sistematis.

4. Sanjaya, Suwanto; Absar, Alfarisy, Ersad (2015) dalam jurnal yang berjudul

“Pengelompokan Dokumen Menggunakan Winnowing Fingerprint dengan Metode K-Nearest Neighbour”. Hasil penelitian di dapatkan bahwa algoritma winnowing dapat mendeteksi kemiripan pada dokumen bagian kecil yang memiliki kemiripan pada dokumen yang jumlahnya sangat banyak. Input yang terdapat pada algoritma ini adalah bebentuk dokumen teks yan akan diproses sehingga sehingga menghasilkan output yang berupa kumpulan nilai-nilai hash.

Kumpilan nilai-nilai hash tersebut disebut fingerprint. Fingerprint inilah yang menjadi dasar pembanding antara file-file teks yang dimasukkan dan yang digunakan dalam mendeteksi kemiripan dokumen.

5. Manur, Agus (2017) dalam skripsi yang berjudul “Implementasi Algortima Manber Pada Persamaan Makna Bahasa Indonesia Dan Melayu Berbasis Android”. Di dalam skripsi tersebut dijelaskan bahwa algoritma Manber dengan algoritma Winnowing mempunyai kosep yang hampir sama dengan perbedaan, yaitu pada proses pemilihan fingerprint dokumennya.

2.6 Metode Penelitian 1. Studi Literatur

Pada tahap ini dilakukan pengumpulan data dan referensi yang diperlukan dalam penelitian ini. Untuk memperoleh data-data yang efisien yang diperlukan.

Referensi yang digunakan dapat berupa buku, jurnal, artikel, paper, makalah, baik dari media cetak maupun media internet mengenai algoritma khususnya untuk algoritma winnowing.

2. Pengumpulan dan Analisis Data

Pada tahap ini dilakukan pengumpulan dan analisa data yang berhubungan dengan penelitian ini seperti pendeteksi kemiripan dokumen jaccard’s similarity coefficient, hash (rolling hash), fingerprinting pada algoritma winnowing.

3. Perancangan Sistem

(29)

14

Pada tahap ini masalah akan dianalisis untuk mengetahui apa saja hal yang dibutuhkan dalam penelitian ini, dan kemudian sistem dirancang dengan membuat gambaran sistem menggunakan flowchart, UML, dan user interface.

4. Implementasi Sistem

Pada tahap ini perancangan diimplementasikan dengan menggunakan bahasa pemrograman PHP(Hypertext Preprocessor).

5. Pengujian Sistem

Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah dibuat.

Pengujian dilakukan untuk mengetahui kekurangan serta kesalahan yang terdapat pada sistem dan kebenaran hasil. Dan melakukan evaluasi terhadap kesalahan pada program.

6. Dokumentasi Sistem

Pada tahap ini melakukan pembuatan dokumentasi sistem mulai dari tahap analisis hingga pengujian sistem yang dibangun.

(30)

BAB 3

ANALISIS DAN PERENCANAAN

3.1. Analisis Sistem

Analisis sistem digunakan pada penelitian ini adalah untuk mengidentifikasi dan mengevalusi penelitian ini yaitu; analisis masalah, analisis kebutuhan, analisis proses.

3.1.1. Analisis Masalah

Analisis masalah digunakan untuk mengidentifikasi langkah atau tahapan yang harus dilakukan dalam pemprosesan perencanaan untuk menemukan bukti penyelesaian masalah. Analisis masalah ini dapat dilakukan dengan menggunakan diagram fishbone atau diagram ishikawa.

Diagram fishbone atau diagram Ishikawa adalah merupakan diagram yang menemukan penyebab-penyebab yang lebih efektif pada suatu masalah. Mencari masalah-masalah yang ada pada persamaan tingkat kemiripan pada dokumen teks dan melihat berapa presentase kemiripan dalam dokumen tersebut.

Pada Gambar 3.1 diagram Ishikawa menunjukkan presentasi dari sebuah masalah dalam penelitian ini. Pada bagian “Kepala Ikan” menyatakan suatu pernyataan masalah pada penelitian. Masalah utama pada penelitian ini adalah user atau admin yang ingin mengetahui berapa tingkat kemiripan pada dokumen teksnya.

Pada bagian “Tulang Ikan” terdapat kemungkinan penyebab masalah yang bercabang. Ada empat kategori penyebab masalah yang berkaitan pada bagian

“Tulang Ikan” yaitu user atau admin, method atau metode, material, dan mechine atau alat.

Dapat dilihat pada pemodelan masalah dalam diagram Ishikawa/fishbone sebagai berikut:

(31)

16

Proses Tidak adanya ditemukan persamaan kemiripan menggunakan algoritma Winnowing

Dokumen teks

Untuk mencari tingkat kemiripan pada dokumen teks

Gambar 3.1 Diagram Ishikawa

3.1.2. Analisis Kebutuhan

Analisis kebutuhan adalah mengidentifikasi kondisi atau kemampuan yang harus dipenuhi pada siatem yang dibuat tersebut. Terdapat dua kebutuhan yang terdapat pada analisis kebutuhan yaitu kebutuhan fungsiona dan kebutuhan non-fungsional.

Kebutuhan fungsional yang terdapat tersebut adalah sebagai berikut:

1. Sistem harus dapat memdeteksi kemiripan pada dua dokumen teks yaitu pembanding dan teks penguji.

2. Sistem harus dapat mempresentasekan berapa hasil kemiripan pada dua teks tersebut.

Sedangkan kebutuhan non-fungsional pada sistem tersebut adaalah sebagai berikut:

1. Performa

Perhitungan Tingkat Kemiripan

Dokumen Teks METHOD

USER

MATERIAL MECHINE

(32)

Sistem harus dapat mendeteksi kemiripan pada dua teks pembanding dan penguji. Sistem harus dapat menunjukkan hasil presentase dari kemiripan dokumen tersebut dan menunjukkan berapa persen yang ditemukan pada dua dokumen tersebut.

2. Mudah Digunakan

Sistem memberikan kemudahan pada user atau pengguna.

3. Hemat Biaya

Sistem tidak memerlukan perangkat tambahan sehingga dapat menghemat biaya.

4. Dokumentasi

Sistem dapat menunjukan tingkat kemiripan pada dua teks pembanding dan penguji dengan cepat dan sistem juga dapat mendeteksi kalimat yang diketikkan pada area oleh pengguna.

5. Manajemen Kualitas

Waktu proses mendeteksi tingkat kemiripan pada dokumen teks relatif cepat serta hasil presentase kemiripan cukup tinggi.

6. Kontrol

Pendeteksian dokumen tidak akan dilakukan jika pengguna tidak memasukkan kalimat atau dokumen teks dan memasukkan nilai dari k-gram, nilai window dan nilai bilangan prima kedalam area yang telah ditentukan.

3.1.3. Analisis Proses

Analisis proses digunakan untuk pembaca dapat lebih mudah memahami sistem yang akan dibangun. Pada analisis proses ini dijelaskan bahwa hasil dari sistem yang dibangun adalah menampilkan file dokumen pdf (menampilkan isi dari pdf yang dipilih), menampilkan hasil dari perhitungan k-gram, dari hasil k-gram ini menghasilkan nilai dari rolling hash, dari rolling hash dapat menghasilkan w- gramnya, dan dari w-gram sistem memilih fingerprint yang paling kecil, jika nilai hash yang kecil lebih daripada satu maka w-gram memilih nilai kecil yang sebelah kanan. Juga dapat menampilkan tingkat kemiripan pada dua dokumen teks yaitu dokumen teks uji dan dokumen teks pembanding menggunakan persamaan jaccard’s

(33)

18

coefficient dan pada sistem yang dibangun juga dapat menampilkan waktu pemrosesan dokumen tersebut.

3.2 . Perancangan Sistem

Perancangan sistem adalah merancang atau merencanakan sebuah sistem yang akan dibuat pada penelitian ini, dimana isinya membuat langkah-langkah dalam memproses pengolahan data dan prosedur yang mendukung pengoperasian sistem sehingga sistem dapat berfungsi dengan baik.

3.2.1 Kerangka menu

Kerangka menu sistem yang akan dibangun adalah berbentuk website yang hanya memiliki satu kerangka yang sangat penting yaitu kerangka pendeteksi kemiripan dokumen teks.

3.2.2 Use Case

Use case pada penelitian ini menggambarkan fungsionalitas yang dirancang dan menggambarkan interaksi antar user dengan sistem yang dirancang.

Gambar 3.2 Use Case Sistem

(34)

Pada Gambar 3.2 ini menjelasakan bahwa user menginput k-gram, w-gram, bilangan prima dan menginput dokumen teks pdf yang akan dideteksi tingkat kemiripannya menggunakan sistem yang dibangun.

Tabel 3.1 Use Case Diagram

Nama Pendeteksi Tingkat Kemiripan Dokumen Teks

Aktor User

Deskripsi Dalam mendeteksi tingkat kemiripan dokumen teks pdf menggunakan algoritma Winnowing dan presentase hasil menggunakan persamaan Jaccard’s Similarity Coeficient

Alur Dasar Diperlukannya inputan yang dari user untuk sistem yang akan memproses tugas yang diberikan oleh user

Alur Alternatif User harus menginputkan k-gram,w-gram,bilangan prima dan teks pdf

Pra Kondisi User meng-input-kan dokumen teks

Pasca Kondisi User dapat melihat hasil presentase dari pendeteksian

3.2.3. Flowchart Sistem

Flowchart sistem ini adalah untuk menunjukan alir(flow) pada sistem program yang akan digunakan. Akan menggambarkan secara terstruktur sehingga dapat memberikan gambaran pada pengguna untuk lebih mengerti atau mengetahui rancangan sistem yang akan dibangun. Rancangan sistem yang akan digunakan ini untuk menjelasakan bagaimana cara kerja atau proses dari pendeteksian kemiripan dokumen teks yang dilakukan.

Pada Gambar 3.3 flowchart preprocessing ini merupakan proses awal unntuk menghilangkan yang tidak diperukan oleh pengolahan data. Pada proses preprocessing ini membutuhkan dokumen teks yang akan dideteksi maka sistem membaca atau memproses dokumen teks yang telah dimasukkan, dokumen teks yang diproses oleh sistem akan diteruskan kedalam case folding dimana dokumen teks mengubah semua huruf kapital yang ada pada dokumen teks menjadi huruf kecil seluruhnya. Setelah dari proses case folding mengeluarkan hasil kalimat yang telah diubah tersebut, maka sistem berpindah kepada proses filtering semua dokumen teks

(35)

20

dideteksi dan dihapus kata-kata yang tidak relevan dalam dokumen teks, setelah itu hasil dari filtering mendapatkan hasil dari semua dokumen teks tersebut. Kemudian ke proses tokenizing yang memisahkan kata berdasarkan susunan kata dari keseluruhan dokumen teks. Berikut ini adalah gambar dari flowchart preprocessing:

Gambar 3.3. Flowchart Preprocessing

3.2.4 Activity Diagram

Activity diagram bertujuan untuk menggambarkan alir ataupun urutan aktivitas dalam sistem yang sedang dirancang. Activity diagram dapat menggambarkan bagaimana proses dari sistem yang akan dirancang, oleh karena itu pembaca dapat memahami gambaran umum dari sistem yang akan dirancang, baik secara interface maupun aktivitas yang dilakukan oleh sistem dengan ringkas. Akan tetapi activity diagram ini digambarkan tidak secara keseluruhan perancangan sistem seperti

(36)

flowchart yang dirancang secara keseluruhan dalam proses sistem yang akan dirancang.

Activity diagram dibuat untuk menggambarkan bagaimana aktivitas kerja sistem yang dirancang pada interface dan proses sistem, dapat dilihat pada Gambar 3.4 berikut:

Gambar 3.4 Activity Diagram

Berdasarkan Gambar 3.4 activity diagram yang diatas dijelaskan bahwa proses dari rancangan sistem dengan proses user meng-input kedua file pdf ataupun teks dalam dokumen uji dan pembanding, dan user juga harus meng-input k-gram, window dan bilangan prima yang digunakan untuk pendeteksian dokumen tersebut. Data yang akan ditampilkan oleh sistem yang akan dirancang ini adalah rangkaian k-gram, rolling hash, window, fingerprint, hasil kemiripan similarity, dan waktu proses pendeteksian.

(37)

22

3.2.5 Sequence Diagram

Sequence Diagram ini berfungsi untuk menampilkan alur-alur data yang masuk dan keluar dari sistem yang dibuat. Sequence Diagram juga berfungsi untuk mempermudah pembaca untuk menggambarkan bagaimana cara kerja objek yang saling berinteraksi satu dengan yang lain di dalam sistem yang dirancang. Diagram ini juga dapat mengilustrasikan alur bagaimana inputan dapat dikirimkan dan dapat diterima diantara objek.

Gambar 3.5 Sequence Diagram

Pada Gambar 3.5 Squence Diagram ini adalah dimana user berinteraksi antara pengguna dengan sistem yang telah dirancang yaitu menu utama memberikan intruksi untuk user meng-input-kan data yang akan diproses oleh sistem yaitu meng- input-kan angka pada k-gram, w-gram, bilangan prima dan dokumen teks yang akan dideteksi. Maka sistem akan memproses data yang telah diintruksikan oleh user.

User menunggu hasil presentasi pemprosesan dari sistem.

(38)

Tabel 3.2 Sequence Diagram Nama Sequence Diagram

Actor User

Deskripsi Sequence Diagram ini mengilustrasikan alur-alur pada saat sistem dipergunakan

Kondisi Awal Sistem menampilkan menu untuk memasukkan nilai-nilai yang akan diproses oleh sistem

Alur Dasar Kegiatan User Sistem 1. User memasukkan nilai k-

gram, w-gram, bilangan prima dan memasukkan dokumen teks pdf.

1. Menginputkan data kedalam sistem agar dapat diproses oleh sistem.

2. Memproses masukkan yang diberikan user Kondisi Akhir User dapat melihat hasil

presentase sistem

Menampilkan hasil presentase kepada user

3.2.6 Kemiripan Teks Secara Manual

Berikut ini adalah contoh kalimat yang akan di deteksi kemiripan dakumen menggunakan algoritma Winnowing:

Dokumen uji : “Yulia Citra Sipayung”

Dokumen pembanding : “Lia Sipayung”

Langkah-langkah dalam penerapan algoritma Winnowing yaitu:

1. Whitespace Insensitivity, membuang karakter dari dalam dokumen yang tidak relevan seperti huruf kapital dan tanda baca.

Dokumen uji : Yulia Citra Sipayung

Penghapusan huruf kapital dan whitespace : yuliacitrasipayung Dokumen pembanding : Lia Sipayung

Penghapusan huruf kapital dan whitespace : liasipayung

(39)

24

2. Membentuk rangkaian k-gram, misalnya dengan k-gram k=3. Maka rangkaian k-grams sebagai berikut:

Dokumen uji:

Dokumen pembanding :

3. Menghitung nilai hash menggunakan rumus berikut:

H( ) = (2.2) Dan untuk menghemat waktu pada pencarian akan menggunakan rumus sebagai berikut:

H( ) = (H( ) - (2.3) Dimana b = 2, k = 3.

Dokumen uji :

H(yul) = ascii(y) * 2(2) + ascii(u) * 2(1) + ascii(l) * 2(0)

= 121 * 4 + 117 * 2 + 108 * 1

= 484 + 234 + 108

= 826

H(uli) = (826 - ascii(y) * 2(2) ) * 2 + ascii(i) * 2(0)

= (826 - 121 * 4) * 2 + 105 * 1

= (826 – 484) * 2 + 105 * 1

= ( 342 * 2) + 105

= 789

H(lia) = (789 - ascii(u) * 2(2) ) * 2 + ascii(a) * 2(0)

= (789 – 117 * 4) * 2 + 097 * 1

= (789 - 468) * 2+ 097 *1

yul uli lia iac aci cit itr tra ras asi sip ipa pay ayu yun ung

lia ias asi sip ipa pay ayu yun ung

(40)

= (321 * 2) + 097

= 739

H(iac) = (739 - ascii(l) * 2(2) ) * 2 + ascii(c) * 2(0)

= (739 – 108 * 4) * 2 + 099 * 1

= (739 - 432) * 2 + 099 * 1

= (307 * 2) + 099 * 1

= 614 + 099

= 713

H(aci) = (713 - ascii(i) * 2(2) ) * 2 + ascii(i) * 2(0) = (713 – 105 * 4) * 2 + 105 * 1

= (713 - 420) * 2 + 105 * 1 = (293 * 2) + 105 * 1 = 586 + 105

= 691

H(cit) = (691 - ascii(a) * 2(2) ) * 2 + ascii(t) * 2(0)

= (691 – 097 * 4) * 2 + 116 * 1

= (691 - 388) * 2 + 116 * 1

= (303 * 2) + 116 * 1

= 606 + 116

= 722

H(itr) = (722 - ascii(c) * 2(2) ) * 2 + ascii(r) * 2(0)

= (722 – 099 * 4) * 2 + 114 * 1

= (722 - 396) * 2 + 114 * 1

= (326 * 2) + 114 * 1

= 652 + 114

= 766

H(tra) = (766 - ascii(i) * 2(2) ) * 2 + ascii(a) * 2(0)

= (766 – 105 * 4) * 2 + 097 * 1

= (766 - 420) * 2 + 097 * 1

= (346* 2) + 097 * 1

= 692 + 097

= 789

(41)

26

H(ras) = (789 - ascii(t) * 2(2) ) * 2 + ascii(s) * 2(0)

= (789 – 116 * 4) * 2 + 115 * 1

= (789 - 464)* 2 + 115 * 1

= (325 * 2) + 115 * 1

= 650 + 115

= 765

H(asi) = (765 - ascii(r) * 2(2) ) * 2 + ascii(i) * 2(0)

= (765 – 114 * 4) * 2 + 105 * 1

= (765 - 456) * 2 + 105 * 1

= (309 * 2) + 105 * 1

= 618 + 105

= 723

H(sip) = (723 - ascii(a) * 2(2) ) * 2 + ascii(p) * 2(0)

= (723 – 097 * 4) * 2 + 112 * 1

= (723 - 388) * 2 + 112 * 1

= (335 * 2)+ 112 * 1

= 670 + 112

= 782

H(ipa) = (782 - ascii(s) * 2(2) ) * 2 + ascii(a) * 2(0)

= (782 – 115 * 4) * 2 + 097 * 1

= (782 - 460) *2 + 097 * 1

= (322 * 2)+ 097 * 1

= 644 + 097

= 741

H(pay) = (741 - ascii(i) * 2(2) ) * 2 + ascii(y) * 2(0) = (741 – 105 * 4) * 2 + 121 * 1

= (741 - 420) * 2 + 121 * 1 = (321 * 2)+121 * 1

= 642 + 121 = 763

H(ayu) = (763 - ascii(p) * 2(2) ) * 2 + ascii(u) * 2(0) = (763 – 112 * 4) * 2 + 117 * 1

= (763 - 448) * 2 + 117 * 1

(42)

= (315 * 2) + 117 * 1 = 630 +117

= 747

H(yun) = (747 - ascii(a) * 2(2) ) * 2 + ascii(n) * 2(0) = (747 – 097 * 4) * 2 + 110 * 1

= (747 - 388) *2 + 110 * 1 = ( 359 * 2) + 110 * 1 = 718 + 110

= 828

H(ung) = (828 - ascii(y) * 2(2) ) * 2 + ascii(g) * 2(0) = (828 – 121 * 4) * 2 + 103 * 1

= (828 - 484) + 103 * 1 = (344 * 2) + 103 * 1 = 688 + 103

= 791

Maka dapat di proleh hasil perhitungannya sebagai berikut:

Dokumen pembanding:

H(lia) = ascii(l) * 2(2) + ascii(i) * 2(1) + ascii(a) * 2(0)

= 108* 4 + 105 * 2 + 097 * 1

= 432 + 210 + 097

= 739

H(ias) = (739 - ascii(l) * 2(2) ) * 2 + ascii(s) * 2(0)

= (739 – 108 * 4) * 2 + 115 * 1

= (739 - 432)* 2 + 115 * 1

= (307 * 2) + 115 * 1

= 614 + 115

= 729

H(asi) = (729 - ascii(i) * 2(2) ) * 2 + ascii(i) * 2(0)

= (729 - 105 * 4) * 2 + 105 * 1

826 789 739 713 691 722 766 789 765 723 782 741 763 747 828 791

(43)

28

= (729 - 420) * 2 + 105 * 1

= (309 * 2) + 105 * 1

= 618 + 105

= 723

H(sip) = (723 - ascii(a) * 2(2) ) * 2 + ascii(p) * 2(0)

= (723 – 097 * 4) * 2 + 112 * 1

= (723 - 388) * 2 + 112 * 1

= (335 * 2) + 112 * 1

= 670 + 112

= 782

H(ipa) = (782 - ascii(s) * 2(2) ) * 2 + ascii(a) * 2(0)

= (782 – 115 * 4) * 2 + 097 * 1

= (782 - 460) * 2 + 097 * 1

= (322 * 2) + 097 * 1

= 644+ 097

= 741

H(pay) = (741 - ascii(i) * 2(2) ) * 2 + ascii(y) * 2(0)

= (741 – 105 * 4) * 2 + 121 * 1

= (741 - 420)* 2 + 121 * 1

= (321 * 2) + 121 * 1

= 642 + 121

= 763

H(ayu) = (763 - ascii(p) * 2(2) ) * 2 + ascii(u) * 2(0)

= (763 – 112 * 4) * 2 + 117 * 1

= (763 - 448) * 2 + 117 * 1

= (315 * 2) + 117 * 1

= 630 + 117

= 747

H(yun) = (747 - ascii(a) * 2(2) ) * 2 + ascii(n) * 2(0)

= (747 – 097 * 4) * 2 + 110 * 1

= (747 - 388) * 2 + 110 * 1

= (359 * 2) + 110 * 1

= 718 + 110

(44)

= 828

H(ung) = (828 - ascii(y) * 2(2) ) * 2) + ascii(g) * 2(0)

= (828 – 121 * 4) * 2 + 103 * 1

= (828 - 484) * 2 + 103 * 1

= (344 * 2) + 103 * 1

= 688 + 103

= 791

Maka dapat diperoleh hasil perhitungannya sebagai berikut:

4. Membentuk Window dari nilai-nilai hash yang sudah dihitung/diperoleh.

Dimana pada contoh ini menggunakan nilai w = 4:

Dokumen uji :

739 729 723 782 741 763 747 828 791

[826 789 739 713]

[789 739 713 691]

[739 713 691 722]

[713 691 722 766]

[691 722 766 789]

[722 766 789 765]

[766 789 765 723]

[789 765 723 782]

[765 723 782 741]

[723 782 741 763]

[782 741 763 747]

[741 763 747 828]

[763 747 828 791]

(45)

30

Dokumen pembanding:

5. Pemilihan fingerprint, yaitu nilai hash minimum(terkecil) dari setiap window yang telah terbentuk. Nilai hash minimum(terkecil) dengan posisi paling kanan dari setiap window yang telah terbentuk. Dari window yang telah terbentuk akan dibentuk kepada fingerprint, jika nilai tersebut berada pada posisi yang sama yaitu posisi yang paling kanan maka kedua nilai hash tersebut dijadikan sebagai fingerprint. Berikut ini nilai hash yang dihasilkan berdasarkan indeksnya:

Pada Dokumen Uji:

Maka grams yang terdapat pada fingerprint yang telah terbentuk sebagai berikut:

Pada Dokumen Pembanding:

Maka grams yang terdapat pada fingerprint yang telah terbentuk sebagai berikut:

[739 729 723 782]

[729 723 782 741]

[723 782 741 763]

[782 741 763 747]

[741 763 747 828]

[763 747 828 791]

[739,2] [713,3] [691,4] [722,5]

[723,9] [741,11] [747,13]

lia iac aci cit asi ipa ayu

[739,0] [729,1] [723,3] [741,4] [747,6]

lia ias asi ipa ayu

(46)

6. Menghitung kemiripan antar dokumen uji dengan dokumen pembanding dengan menggunakan persamaan jaccard’s coefficient seperti berikut:

Dokumen Uji = [739] [713] [691] [722] [723] [741] [747]

Dokumen Pembanding = [739] [729] [723] [741] [747]

Similaritas (di,dj) = | | ( ( )|)|

= [ ][ ][ ][ ]

x 100%

= x 100%

= 50%

3.2.7. Perancangan Antarmuka

Perancangan antarmuka merupakan tampilan sistem yang berfungsi untuk membantu memudahkan dalam mengimplementasikan sistem.

Perancangan antarmuka sistem ini dibuat sesederhana mungkin untuk menghindari proses yang tidak relevan serta dapat membantu pengguna untuk menggunakan dan memahami sistem. Perancangan antarmuka ini dibagi menjadi dua bagian, yaitu:

1. Halaman Awal

Tampilan awal digunakan untuk memasukkan data yang digunakan dalam pendeteksian dokumen. Yang memasukkan dokumen uji dan dokumen pembanding serta memasukan berapa nilai k-gram, window dan bilangan prima yang akan diproses oleh sistem.

(47)

32

Dibawah ini adalah tampilan awal yang akan dirancang untuk mendeteksi tingkat kemiripan dokumen teks dapat dilihat pada Gambar berikut:

2.

3. Sistem Pendeteksi Kemiripan Dokumen

Gambar 3.6. Halaman Awal pada Sistem

Berikut ini adalah penjelasan dari rancangan tampilan awal sistem, yaitu

1. Masukkan atau inputkan nilai k gram, w gram, dan bilangan prima untuk mengidentifikasi tingkat kemiripan dokumen teks,

2. Tombol choose file adalah untuk mencari file pdf,

3. Texrarea dokumen uji adalah sebagai media pembaca isi file pdf uji,

4. Textarea dokumen pembanding adalah sebagai media pembaca isi file pdf pembanding,

5. Tombol proses digunakan untuk memproses mendeteksi tingkat kemiripan dokumen teksnya.

Textarea Dokumen Uji

Choose file Choose file

Pilih Dokumen Uji Pilih Dokumen Pembanding

K-Gram W-Gram Bilangan Prima

Proses

Sistem Pendeteksi Kemiripan Dokumen

Textarea Dokumen

Pembanding

(48)

2. Halaman Hasil

Halaman hasil ini berfungsi untuk menampilkan keseluruhan hasil dari tombol proses pendeteksian tingkat kemiripan dokumen teks. Berikut ini adalah hasil proses yang akan ditampilkan oleh tampilan hasil, sebagai berikut:

1. Hasil K-Gram kalimat yang diubah kedalam bahasa ASCII, 2. Hasil Rolling Hash kalimat dalam bentuk bahasa ASCII, 3. Hasil W-Gram kalimat dalam bentuk bahasa ASCII, 4. Hasil Fingerprint kalimat dalam bentuk bahasa ASCII, 5. Hasil jumlah Fingerprint uji dan pembanding,

6. Hasil Union(gabungan) Fingerprint uji dan pembanding,

7. Hasil Intersection (hasil Fingerprint yang sama ) pada dokumen uji dan pembandingan,

8. Hasil pengurangan antara Union dan Intersection,

9. Hasil pendeteksian menggunakan persamaan Koefisien Jaccaard, 10. Waktu proses pendeteksian.

(49)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Pada bagian bab ini, akan membahas mengenai implemetasi dan pengujian dari identifikasi tingkat kemiripan dokumen teks dengan fungsi hash menggunakan algoritma winnowing dan juga pengujian dapat dilakukan pada sistem ini.

4.1. Implementasi

Pada sistem yang dibangun ini, sistem dibuat dengan menggunakan bahasa pemprograman PHP (Hypertext Preprocessor) yang pada sistem ini memiliki halaman utama yaitu yang untuk menampilkan dan memasukkan nilai yang akan diproses oleh sistem dan pada pendeteksi nantikan akan ada proses untuk melihat hasil keseluruhan hasil kemiripan yang terdeteksikan pada dokumen tersebut.

4.1.1. Halaman Utama

Pada Gambar 4.1 halaman utama sistem yang dirancangan ini adalah untuk memerintahkan user untuk memasukan nilai pada k gram yang dimana k gram itu untuk mengambil karakter huruf-huruf dengan jumlah k yang telah dimasukkan secara kontinuitas yang akan dibaca dari awal dokumen hingga akhir dari dokumen, memasukkan nilai w-gram yang dimana untuk mencari atau memilih fingerprint-nya dan memasukkan nilai bilangan prima dimana untuk rolling hash yang mengubah setiap karakter pada rangkaian string kedalam bentuk kode ASCII yang akan diproses melalui rumus persamaan untuk menghemat waktu komputasi saat menghitung nilai rolling hash dari rangkaian k-gram. Memilih Choose file digunakan untuk memilih file pdf yang akan dideteksi kemiripan dokumennya.

(50)

Gambar 4.1 Halaman Utama Pada Sistem

4.1.2 Halaman Proses

Pada Gambar 4.2 halaman proses ini adalah menampilkan isi dari data file pdf yang telah dimasukkan pada halaman utama. Pada proses ini akan menampilkan isi dari data file pdf yang dimasukkan, menampilkan panjang huruf k yang telah dimasukkan untuk mendeteksi nilai k-gram dokumen uji dan dokumen pembandingnya, kemudian dari hasil k-gram akan menghasilkan rolling hash dokumen uji dan rolling hash dokumen pembanding, dari fungsi rolling hash akan menghasilkan w-gram dokumen uji dan w-gram dokumen pembanding, dari setiap w-gram yang akan dipilih adalah nilai rolling hash minimum jika ada lebih dari satu nilai rolling hash minimum, maka yang akan dipilih rolling hash adalah yang berada disebelah kanan pada sistem tersebut. Dan dari hasil rolling hash minimum tersebut akan disimpan untuk fingerprint yang akan digunakan untuk pembanding teks kesamaan kemiripan dokumen yang telah dimasukkan. Kemudian dari hasil yang telah ditampilkan akan menghasilkan nilai-nilai dari presentasi kemiripan dokumen dan menampilkan waktu proses pendeteksian kedua dokumen tersebut.

(51)

36

Gambar 4.2 Halaman Proses pada Sistem

4.2. Pengujian Sistem

Pengujian sistem yang dirancang digunakan untuk mengetahui apakah sistem yang dibangun berjalan dengan baik sesuai dengan sistem atau tidak berjalan sesuai dengan sistem yang dibangun tersebut. Maka dilakukan pengujian sistem yang dirancang untuk melihat metode k-gram, w-gram, bilangan prima dan fungsi hash- nya dapat diimplementasikan pada algoritma winnowing. Dalam pengujian sistem ini dapat dilihat bagaimana sistem dapat mendeteksi dokumen teks uji dengan dokumen

(52)

teks pembanding dengan menggunakan metode k-gram, w-gram, bilangan prima, fungsi hash dan hasil presentase yang menggunakan jacquard coeficient dan dari sistem yang dibangun akan menghasilkan waktu proses pendeteksian dari dokumen uji dan dokumen pembanding tersebut.

4.2.1 Pengujian Halaman Utama Sistem

Pengujian tampilan utama pada sistem ini dilakukan untuk melihat apakah pada tampilan utama k-gam, w-gram, dan bilangan prima dapat diinputkan dengan baik, dan juga penginputan teks dokumen uji dan dokumen pembanding. Pada Gambar 4.3 ini dapat dilihat bahwa tampilan utama berjalan sesuai dengan perancangan sistem yang dibangun seperti berikut:

Gambar 4.3 Pengujian Halaman Utama Sistem

Pada Gambar 4.3 ini digunakan untuk menginputkan nilai dari k-gram, w-gram, bilangan prima dan juga memilih dokumen teks pdf yang ingin dideteksi kemiripan teksnya.

Gambar

Gambar 3.1  Diagram Ishikawa
Gambar 3.2 Use Case Sistem
Tabel 3.1 Use Case Diagram
Gambar 3.3. Flowchart Preprocessing
+7

Referensi

Dokumen terkait