Implementasi Algoritma Winnowing Dan Porter Stemmer Mendeteksi Kemiripan Dua Dokumen Berbasis Web

(1)

IMPLEMENTASI ALGORITMA WINNOWING DAN PORTER

STEMMER MENDETEKSI KEMIRIPAN DUA DOKUMEN

BERBASIS WEB

SKRIPSI

LIDIA ARTA FERARI

081401077

PROGRAM STUDI S1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

IMPLEMENTASI ALGORITMA WINNOWING DAN PORTER

STEMMER MENDETEKSI KEMIRIPAN DUA DOKUMEN

BERBASIS WEB

SKRIPSI

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer

LIDIA ARTA FERARI 081401077

PROGRAM STUDI SARJANA ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMATIKA UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(3)

PERSETUJUAN

Judul : IMPLEMENTASI ALGORITMA WINNOWING

DAN PORTER STEMMER MENDETEKSI KEMIRIPAN DUA DOKUMEN BERBASIS WEB

Kategori : SKRIPSI

Nama : LIDIA ARTA FERARI

NomorIndukMahasiswa : 081401077

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI Diluluskan di

Medan, Agustus 2014 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Drs. Marihat Situmorang, M.Kom Syahriol Sitorus, S.Si, MIT

NIP. 196312141986031001 NIP. 197103101997031004

Diketahui/Disetujui oleh

Program Studi S1 IlmuKomputer Ketua,

Dr. Poltak Sihombing, M.Kom


(4)

PERNYATAAN

IMPLEMENTASI ALGORITMA WINNOWING DAN PORTER STEMMER MENDETEKSI KEMIRIPAN DUA DOKUMEN

BERBASIS WEB

SKRIPSI

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

Medan, Agustus 2014

Lidia Arta Ferari 081401077


(5)

PENGHARGAAN

Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Kuasa atas segala berkat dan kasih karuniaNya sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Departemen Ilmu Komputer Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada :

1. Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Departemen Ilmu Komputer Universitas Sumatera Utara.

2. Ibu Maya Silvi Lydia, B.Sc, M.Sc, selaku Sekretaris Departemen Ilmu Komputer Universitas Sumatera Utara

3. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen pada Departemen Ilmu Komputer Fasilkom-TI USU, dan pegawai di Ilmu Komputer Fasilkom-TI USU.

4. Bapak Syahriol Sitorus, S.Si, MIT dan bapak Drs. Marihat Situmorang, M.Kom selaku pembimbing skripsi yang telah banyak memberikan bantuan, arahan, petunjuk, serta kesabaran dalam pengerjaan skripsi ini. 5. Bapak Prof. Dr. Muhammad Zarlis dan bapak Dr. Poltak Sihombing,

M.Kom selaku pembanding skripsi yang telah banyak memberikan kritik dan saran serta arahan dalam pengerjaan skripsi ini.

6. Papa dan mama kami tercinta, Nukman Siahaan dan Erline Madeline Listerine Hutagaol untuk semua keringat dan jerih payah yang begitu tulus. 7. Zonny Mega Siahaan beserta keluarga, Yannuke Patricia Siahaan beserta

keluarga, Sephilda Kristi Siahaan beserta keluarga, Decerwin Charsten Benediksta Siahaan, untuk semua dukungan hebatnya.

8. Hawe Numerouno yang telah memberi semangat di setiap kondisi.

9. Seluruh teman-teman Program Studi S1 Ilmu Komputer Departemen Ilmu Komputer Universitas Sumatera Utara yang telah memberikan bantuan dan dukungan selama penulisan skripsi ini.

Semoga Tuhan Yang Maha Kuasa memberikan berkat yang berlimpah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.

Medan, Agustus 2014 Penulis


(6)

IMPLEMENTASI ALGORITMA WINNOWING DAN PORTER STEMMER MENDETEKSI KEMIRIPAN DUA DOKUMEN

BERBASIS WEB

ABSTRAK

Skripsi ini membahas tentang perancangan aplikasi penerapan algoritma Stemmer Porter dan Winnowing. Penelitian yang dilakukan bertujuan untuk mengetahui tingkat kemiripan antara satu file dengan file yang lain. Stemmer Porter merupakan suatu algoritma yang pertama kali ditemukan oleh Martin Porter pada tahun 1980 untuk stemming bahasa inggris, kemudian karena proses stemming bahasa inggris berbeda dengan bahasa indonesia maka, dikembangkan algoritma porter khusus untuk bahasa indonesia (Porter Stemmer for Bahasa Indonesia) oleh W.B. Frakes pada tahun 1992. Stemming adalah salah satu cara yang digunakan untuk meningkatkan performa IR dengan cara mentransformasi kata-kata dalam sebuah dokumen teks ke kata dasarnya. Sedangkan winnowing sendiri merupakan Algoritma Winnowing merupakan algoritma yang digunakan untuk deteksi tingkat kemiripan file. Dengan menggunakan kedua algoritma ini diharapkan mampu mengetahui tingkat kemiripan satu file dengan yang lain.


(7)

IMPLEMENTATION WINNOWING ALGORITHM AND PORTER STEMMER DETECT TWO DOCUMENT SIMILARITY

WEB-BASED ABSTRACT

This thesis discusses the application design and implementation Winnowing Porter Stemmer algorithm. Research conducted aimed to determine the degree of similarity between a file with another file. Porter Stemmer is an algorithm that was first discovered by Martin Porter in 1980 for stemming English, and because the process is different from English Stemming Indonesian then, algorithms developed specifically for Indonesian porter (Porter Stemmer for Indonesian) by WB Frakes in 1992. Stemming is one of the means used to improve the performance of the IR by transforming the way the words in a text document to word basically. While Winnowing Winnowing algorithm itself is an algorithm used for file similarity detection. By using the two algorithms is expected to determine the level of similarity of one file to another.


(8)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel x

Daftar Gambar xi

Daftar Lampiran xiii

Bab 1 Pendahuluan 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 4

1.6 Metodologi Penelitian 4

1.7 Sistematika Penulisan 5

Bab 2 LandasanTeori 7

2.1 Pengertian Stemming 7

2.2 Stemming Porter 8

2.3 Winnowing 16

2.3.1 Hashing 17

2.3.2 K-gram 18

2.4 Jaccard’s Similarity Coefficient 19

Bab 3 Analisis dan Perancangan Sistem 20

3.1 Analisis Sistem 20


(9)

3.3.1 Analisis persyaratan fungsional 22

3.3.2 Analisis persyaratan non-fungsional 22

3.4 Pemodelan Sistem dengan Usecase dan Activity Diagram 23

3.5 Perancangan Algoritma 28

3.5.1 Flow chart porter 28

3.5.2 Flow chart Winnowing 30

3.5.3 Algoritma Stemmer Porter 31

3.5.4 Algoritma Winnowing 38

3.5.5 Penghitungan kemiripan 41

3.6 Perancangan Sistem 42

3.6.1 Perancangan antar muka form home 43

3.6.2 Perancangan antar muka form journal 44

3.6.3 Perancangan antar muka form similarity 45

3.6.4 Perancangan antar muka form about 46

Bab 4 Implementasi dan Pengujian Sistem 47 4.1 Implementasi Sistem 47 4.1.1 Tampilan halaman form home (awal) 4.1.2 Tampilan halaman form journal 49 4.1.3 Tampilan halaman form similarity 50 4.1.4 Tampilan halaman form about 51 4.2 Pengujian Sistem 52 4.2.1 Pengujian Sistem Pilih File 52 4.2.2 Pengujian Hasil Proses Pilih File 59 Bab 5 Kesimpulan dan Saran 65 5.1 Kesimpulan 65 5.2 Saran 66


(10)

DAFTAR TABEL

Nomor Tabel

Nama Tabel Halaman

2.1 Kelompok rule pertama : inflectional particles 9 2.2 Kelompok rule kedua :inflectional possesive pronouns 9 2.3 Kelompok rule ketiga: first order of derivational prefixes 10 2.4 Kelompok rule keempat: second order of derivational

prefixes

10

2.5 Kelompok rule kelima: derivational suffixes 11

3.1 Usecase Penghitungan Kemiripan File 24

3.2 Kombinasi Awalan Akhiran Yang Tidak Diijinkan 31

3.3 Cara Menentukan Tipe Awalan Untuk awalan “te-” 31


(11)

DAFTAR GAMBAR

Nomor

Gambar Nama Gambar Halaman

2.1 2.2 2.3 3.1 3.2 3.3 3.4 Diagram Stemming Flowchart Stemmer Porter Persamaan Winnowing Diagram Ishikawa Usecase Diagram Activity Diagram Sequence Diagram 12 14 17 21 23 26 27


(12)

3.6 3.7 3.8 3.9 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11

Flow chart Winnowing Tampilan Form Home Tampilan Form Journal Tampilan Form Similarity Form Home

Form Journal Form Similarity Form About

Tampilan hasil open file jurnal Tampilan hasil pilih file

Tampilan Show Content Tampilan hasil proses

Tampilan hasil fingerprint judul Tampilan hasil fingerprint isi

Tampilan hasil kemiripan jurnal

30 43 44 45 48 49 50 51 52 53 54 55 56 57 58


(13)

IMPLEMENTASI ALGORITMA WINNOWING DAN PORTER STEMMER MENDETEKSI KEMIRIPAN DUA DOKUMEN

BERBASIS WEB

ABSTRAK

Skripsi ini membahas tentang perancangan aplikasi penerapan algoritma Stemmer Porter dan Winnowing. Penelitian yang dilakukan bertujuan untuk mengetahui tingkat kemiripan antara satu file dengan file yang lain. Stemmer Porter merupakan suatu algoritma yang pertama kali ditemukan oleh Martin Porter pada tahun 1980 untuk stemming bahasa inggris, kemudian karena proses stemming bahasa inggris berbeda dengan bahasa indonesia maka, dikembangkan algoritma porter khusus untuk bahasa indonesia (Porter Stemmer for Bahasa Indonesia) oleh W.B. Frakes pada tahun 1992. Stemming adalah salah satu cara yang digunakan untuk meningkatkan performa IR dengan cara mentransformasi kata-kata dalam sebuah dokumen teks ke kata dasarnya. Sedangkan winnowing sendiri merupakan Algoritma Winnowing merupakan algoritma yang digunakan untuk deteksi tingkat kemiripan file. Dengan menggunakan kedua algoritma ini diharapkan mampu mengetahui tingkat kemiripan satu file dengan yang lain.


(14)

IMPLEMENTATION WINNOWING ALGORITHM AND PORTER STEMMER DETECT TWO DOCUMENT SIMILARITY

WEB-BASED ABSTRACT

This thesis discusses the application design and implementation Winnowing Porter Stemmer algorithm. Research conducted aimed to determine the degree of similarity between a file with another file. Porter Stemmer is an algorithm that was first discovered by Martin Porter in 1980 for stemming English, and because the process is different from English Stemming Indonesian then, algorithms developed specifically for Indonesian porter (Porter Stemmer for Indonesian) by WB Frakes in 1992. Stemming is one of the means used to improve the performance of the IR by transforming the way the words in a text document to word basically. While Winnowing Winnowing algorithm itself is an algorithm used for file similarity detection. By using the two algorithms is expected to determine the level of similarity of one file to another.


(15)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Pemanfaatan kecanggihan di jaman globalisasi menjadi salah satu hal yang sangat penting dalam penggunaan di kehidupan sehari-hari. Pemanfaatan-pemanfaatan teknologi dalam kehidupan sehari-hari adalah untuk mencari, mengolah, atau dapat juga menyimpan informasi dengan menggunakan kecanggihan komputer. Informasi yang diperoleh biasanya berupa dokumen teks. Kemudahan mengakses informasi dalam berupa dokumen teks bisa menimbulkan sifat manusia yang negatif, yaitu dengan meniru atau mencontoh hasil karya orang lain melebihi batas normal tolerir. Jika hanya mencontoh sedikit bagian atau mengutip untuk dijadikan referensi mungkin tidak begitu masalah. Namun banyak juga kasus tingkat kemiripan dua dokumen tersebut bisa sama hampir sepenuhnya. Kita dapat mengetahui berapa tingkat kemiripan antara dua dokumen yang di sinyalir memiliki kesamaan dengan bantuan suatu sistem.

Untuk mengatasi masalah yang marak tersebut, dibutuhkan aplikasi untuk mendeteksi tingkat kesamaan suatu dokumen. Pada penelitian ini, menggunakan algoritma Winnoning dan Porter Stemmer guna mendeteksi berapa persentase tingkat kemiripan antara dua dokumen. Stemming sendiri merupakan suatu proses untuk menemukan kata dasar dari sebuah kata. Stemming adalah salah satu cara yang


(16)

digunakan untuk meningkatkan performa IR dengan cara mentransformasi kata-kata dalam sebuah dokumen teks ke kata dasarnya. Algoritma Stemming untuk bahasa yang satu berbeda dengan algoritma stemming untuk bahasa lainnya.

Contoh salah satu Stemming adalah Stemming Porter. Algoritma Porter ditemukan oleh Martin Porter 1980. Algoritma tersebut digunakan untuk stemming bahasa inggris, kemudian karena proses stemming bahasa inggris berbeda dengan bahasa indonesia maka, dikembangkan algoritma porter khusus untuk bahasa indonesia (Porter Stemmer for Bahasa Indonesia) oleh W.B. Frakes pada tahun 1992. untuk pendeteksian kesamaan dokumen itu sendiri menggunakan algoritma Winnowing. Winnowing adalah suatu algoritma yang dipakai untuk melakukan proses pengecekkan kesamaan suatu kata (document fingerprinting).

Winnowing menggunakan window sebagai metodenya, yaitu pembentukan window setelah proses hashing.. Nilai hash sendiri merupakan nilai numerik yang terbentuk dari perhitungan ASCII tiap karakter. Setelah pembentukan window yang berisi nilai-nilai hash, maka dipilih nilai hash yang paling kecil dari setiap window. Jika ada lebih dari satu nilai yang paling kecil di proses Windowing, maka nilai yang terkecil pada window sebelumnya itu dipilih untuk dijadikan document’s fingerprints. Fingerprints inilah yang akan dijadikan dasar pembanding antar file-file teks yang telah dimasukkan, sehingga dapat diketahui berapa persentasi kemiripan dua dokumen tersebut.


(17)

1.2Rumusan Masalah

Jurnal mahasiswa pada program studi S1 Ilmu Komputer Fasilkom TI USU yang memiliki ekstensi (.pdf), akan dicek tingkat kemiripan dari judul antar jurnal, sehingga didapatkan nilai kemiripan pada setiap jurnal. Setelah itu, dihitung kemiripan dari isi jurnal yang di indikasikan sama. Sebelum dihitung tingkat kemiripan, maka teks pada jurnal, akan dilakukan proses stemming, yaitu penghapusan imbuhan. Teks yang digunakan untuk proses penghitungan tingkat kemiripan adalah teks yang sudah dilakukan proses stemming. Bahasa pemrograman yang digunakan adalah PHP dengan menggunakan database MySql .

1.3Batasan Masalah

Yang menjadi batasan masalah dalam penelitian ini ialah;

1. Data digunakan adalah jurnal mahasiswa S1 Ilmu Komputer Fasilkom TI USU yang berbahasa Indonesia

2. File yang akan di input adalah berekstensi (.pdf) yang tidak di kunci dan bukan hasil scann.

3. Pengindikasian kemiripan dilihat dari judul jurnal tersebut.

4. Algoritma yang digunakan adalah algoritma Winnowing dan Porter Stemmer. 5. Aplikasi yang dibuat menggunakan Bahasa Pemrograman PHP.


(18)

1.4Tujuan Penelitian

Tujuan penelitian ini adalah sebagai berikut:

1. Untuk merancang suatu aplikasi yang dapat memisahkan kalimat dalam bahasa Indonesia menjadi beberapa suku kata yang sesuai dengan kata dasarnya. 2. Untuk mengimplementasikan algoritma Winnowing dan Stemming Potter dalam

pendeteksian kemiripan dua dokumen.

1.5 Manfaat Penelitian

Manfaat penelitian ini adalah untuk mengetahui sejauh mana kemiripan satu dokumen dengan dokumen yang lain, dengan cara memisahkan sesuai kata dasarnya. Algoritma Stemming Potter sendiri untuk memisahkan sesuai suku kata nya. Sehingga dapat diketahui kata asli nya. Dan Winnowing melakukan proses pengecekkan kesamaan suatu kata (document fingerprinting). Dengan adanya penelitian seperti ini, diharapkan dapat mengetahui kecurangan-kecurangan yang terjadi, sehingga para oknum jera dan tidak ada lagi yang berani atau tega menjiplak hasil karya orang tanpa seijin dari orang tersebut .

1.6 Metodologi Penelitian

Tahapan yang dilakukan dalam penelitian ini adalah: 1. Studi Literatur

Pada tahap ini, mempelajari buku-buku referensi atau sumber-sumber yang berkaitan dengan skripsi ini, baik dari text book maupun internet.


(19)

2. Perancangan Sistem

Pada tahap ini akan di susun perancangan sistem dengan menerapkan algoritma Stemming Potter sebagai algoritma stemmer untuk pendeteksian kemiripan dokumen.

3. Implementasi Sistem

Tahap ini merupakan tahap pengimplementasian sistem yang telah dibangun ke dalam bahasa pemrograman.

4. Pengujian dan Penganalisaan Sistem

Dalam tahap ini dilakukan pengujian aplikasi yang sudah dibangun.

5. Pembuatan laporan skripsi bertujuan untuk dijadikan sebagai dokumentasi hasil penelitian.

6. Penyusunan Laporan

7. Menyusun laporan hasil analisis dan perancangan kedalam bentuk format skripsi.

1.7 Sistematika Penulisan

Sistematika penulisan dalam penyusunan tulisan ini adalah sebagai berikut :

Bab 1 : Pendahuluan

Membahas tentang Latar Belakang, Identifikasi Masalah, Rumusan Masalah, Batasan Masalah, Tujuan Penelitian, Manfaat Penelitian, Metodologi Penelitian dan Sistematika Penulisan.


(20)

Membahas tentang teori-teori yang berkaitan dengan information retrieval, natural language processing, dan sistem penghitung kemiripan file.

Bab 3 : Analisa dan Perancangan

Bab ini mendeskripsikan fase-fase awal dalam pengembangan suatu sistem, sehingga terdapat gambaran yang jelas terhadap sistem yang akan dibangun.

Bab 4 : Implementasi dan Pengujian

Bab ini akan membahas tentang hasil dari pengimplementasian analisa yang sudah dirancang sebelumnya, sehingga pada bab ini akan ditampilkan perancangan antar muka serta pengujiannya.

Bab 5 : Kesimpulan dan Saran

Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh dan diharapkan dapat bermanfaat dalam pengembangan selanjutnya.


(21)

BAB 2

LANDASAN TEORI

2.1 Pengertian Stemming

Stemming merupakan suatu proses atau cara dalam menemukan kata dasar dari suatu kata. Stemming sendiri berfungsi untuk menghilangkan variasi-variasi morfologi yang melekat pada sebuah kata dengan cara menghilangkan imbuhan-imbuhan pada kata tersebut, sehingga nantinya di dapat suatu kata yang benar sesuai struktur morfologi bahasa Indonesia yang benar.

Stemming sendiri merupakan bagian dari proses Information Retrieval. Secara umum ada dua proses utama dalam IR, yaitu Indexing dan Searching. Proses Indexing terdiri dari 4 subproses antara lain : Word Token (mengubah dokumen menjadi kumpulan term dengan cara menghapus semua karakter dalam tanda baca yang terdapat pada dokumen dan mengubah kumpulan term menjadi lowercase), StopWord Removal (Proses penghapusan kata-kata yang sering ditampilkan dalam dokumen seperti:and, or, not dan sebagainya),Stemming (Proses mengubah suatu kata bentukan menjadi kata dasar) dan Word Weighting (Proses pembobotan setiap term di dalam dokumen). Ada banyak algoritma yang digunakan untuk melakukan proses stemming, khususnya stemming bahasa indonesia. Algoritma-algoritma tersebut antara lain : Algoritma Nazief dan Andriani, algoritma Arifin dan Setiono, algoritma Idris dan Mustofa, algoritma Vega, algoritma Ahmad, Yussof dan Sembok, Porter dsb [5].


(22)

2.2 Stemming Porter

Algoritma yang diimplementasikan dalam aplikasi ini menggunakan algoritma Porter. Algoritma Porter ditemukan oleh Martin Porter 1980. Algoritma tersebut digunakan untuk stemming bahasa inggris, kemudian karena proses stemming bahasa inggris berbeda dengan bahasa indonesia maka, dikembangkan algoritma porter khusus untuk bahasa indonesia (Porter Stemmer for Bahasa Indonesia) oleh W.B. Frakes pada tahun 1992. Algoritma ini terkenal digunakan sebagai stemmer untuk bahasa Inggris. Porter Stemmer dalam bahasa Indonesia akan menghasilkan keambiguan karena aturan morfologi bahasa Indonesia. Bila dibandingkan, untuk teks berbahasa Indonesia, Porter stemmer lebih cepat prosesnya daripada algoritma stemming yang lain. Tidak banyak algoritma yang dikhususkan untuk stemming bahasa Indonesia dengan berbagai keterbatasan didalamnya. Algoritma Porter salah satunya, algoritma ini membutuhkan waktu yang lebih singkat dibandingkan dengan stemming menggunakan algoritma lainnya [7].

Langkah-langkah algoritma Stemming Porter adalah sebagai berikut:

1. Periksa pada kata yang akan di Stemm jika terdapat partikel (kah”, lah”, “-pun”), maka hapus partikel yang melekat.

2. Hapus kata ganti kepemilikan seperti “-ku”, “-mu”, “-nya”, jika ada.

3. Hapus first order prefiks (awalan pertama) seperti “-meng”, “-meny”, “-men”, “-mem”, “-me”, “-peng”, “-peny”, “-pen”, “-pem”, “-di”, “-ter”, “-ke”.

4. Hapus second order prefiks (awalan kedua) seperti “-ber”, “-per”. 5. Hapus sufiks (akhiran) seperti “-kan”, “-i”, “-an”.


(23)

Tabel 2.1 Kelompok rule pertama : inflectional particles

Tabel 2.2 Kelompok rule kedua :inflectional possesive pronouns Suffix Replacement Measure

Condition

Additional

Condition examples

Ku NULL 2 NULL Bukuku buku

Mu NULL 2 NULL bukumu buku

nya NULL 2 NULL Bukunyabuku

Suffix Replacement Measure Condition

Additional

Condition examples

Kah NULL 2 NULL Bukukah

buku

Lah NULL 2 NULL Adalah ada


(24)

Tabel 2.3 Kelompok rule ketiga: first order of derivational prefixes

Prefiks Replacement Measure condition

Additional

Condition Examples

Meng NULL 2 NULL mengukur--->ukur

Meny s 2 v… menyapu--->sapu

Men NULL 2 NULL menduga--->duga

Mem p 2 v… memilah--->pilah

Mem NULL 2 NULL membaca--->baca

Me NULL 2 NULL merusak--->rusak

Peng NULL 2 NULL pengukur--->ukur

Peny s 2 v… penyapu--->sapu

Pen NULL 2 NULL penduga--->duga

Pem p 2 v… pemilah--->pilah

Pem NULL 2 NULL pembaca--->baca

Di NULL 2 NULL diukur--->ukur

Ter NULL 2 NULL tersapu--->sapu

Ke NULL 2 NULL kekasih--->kasih

Tabel 2.4 Kelompok rule keempat: second order of derivational prefixes prefiks replacement Measure

condition

Additional condition

examples

Ber NULL 2 NULL Berlarilari

Bel NULL 2 ajar Belajarajar

Be NULL 2 K*er Bekerjakerja

Per NULL 2 NULL Perjelasjelas

Pel NULL 2 ajar Pelajarajar


(25)

Tabel 2.5 Kelompok rule kelima: derivational suffixes suffix replacement Measure

condition

Additional condition

examples

kan NULL 2 Prefix Tarikantarik

(Meng)ambilkanambil

an NULL 2 prefix Makananmakan

(per)janjianjanji

i NULL 2 V, prefix Tandaitanda

(men)dapatidapat Pantaipanta

Stemming adalah proses untuk menggabungkan atau memecahkan setiap varian-varian suatu kata menjadi kata dasar [7]. Stem (akar kata) adalah bagian dari kata yang tersisa setelah dihilangkan imbuhannya (awalan dan akhiran). Contoh : connect adalah stem dari connected, connecting, connection, dan connections. Metode stemming memerlukan input berupa term yang terdapat dalam dokumen. Sedangkan outputnya berupa stem.

Ada tiga jenis metode stemming, antara lain :

1. Successor Variety (SV) : lebih mengutamakan penyusunan huruf dalam kata dibandingkan dengan pertimbangan atas fonem. Contoh untuk kata-kata : corpus, able, axle, accident, ape, about menghasilkan SV untuk kata apple :

1. Karena huruf pertama dari kata “apple” adalah “a”, maka kumpulan kata yang ada substring “a” diikuti “b”, “x”, “c”, “p” disebut SV dari “a” sehingga “a” memiliki 4 SV.

2. Karena dua huruf pertama dari kata “apple” adalah “ap”, maka kumpulan kata yang ada substring “ap” hanya diikuti “e” disebut SV dari “ap” sehingga “ap” memiliki 1 SV.


(26)

2. N-Gram Conflation : ide dasarnya adalah pengelompokan kata-kata secara bersama berdasarkan karakter-karakter (substring) yang teridentifikasi sepanjang N karakter.

3. Affix Removal : membuang suffix dan prefix dari term menjadi suatu stem. Yang paling sering digunakan adalah algoritma Porter Stemmer karena modelnya sederhana dan effisien.

1. Jika suatu kata diakhiri dengan “ies” tetapi bukan “eies” atau “aies”, maka “ies” direplace dengan “y”

2. Jika suatu kata diakhiri dengan “es” tetapi bukan “aes” atau “ees” atau “oes”, maka “es” direplace dengan “e”

3. Jika suatu kata diakhiri dengan “s” tetapi bukan “us” atau “ss”, maka “s” direplace dengan “NULL”

Gambar 2.1 Diagram Stemming Algoritma Stemming

Successor Variety Affix Removal N-Grams Conflation


(27)

Stemming adalah proses pemetaan dari penguraian berbagai bentuk kata baik itu prefik sufik, maupun gabungan antara prefik dan sufik,menjadi bentuk kata dasarnya atau stem.Algoritma Stemming yang digunakan adalah Potter Stemmer untuk bahasa Indonesia. Algoritma stemming dapat mengatasi akhiran yang berupa partikel, akhiran yang menunjukkan kata ganti kepemilikan, prefiks (imbuhan), sufiks (akhiran), dan gabungan antara prefiks dan sufiks. Sebelum melakukan proses penghilangan imbuhan pada Potter Stemmer, dilakukan perhitungan measure. Stemming itu proses pemotongan (pemangkasan) kata untuk mendapatkan bentuk dasar (kata dasar) dari kata tersebut. Misal terdapat kata mempermainkan, maka dari kata tersebut bisa dipilah-pilah menjadi mem + per + main + kan.

Secara ilmu bahasa, hal ini mudah dilakukan oleh manusia, karena manusia sudah punya database memori linguistik yang komplit untuk melakukan parsing komponen-komponen penyus Seperti misalnya, dari kata mengantuk, kita bisa langsung memilah-milah menjadi me(ng) + kantuk (bukan meng + antuk atau me + ngantuk). Namun bagaimana jika kita ingin melakukan automasi proses stemming ini dengan sebuah program? Mampukah program mengenali perubahan morfologi kata ini dengan tepat? Hal ini bukanlah tidak mungkin. Proses stemming sendiri sudah cukup terkenal, bahkan seringkali kita gunakan tanpa kita sadari. Misal Google? Proses pencariannya sekarang sudah memakai Stemming (pencarian kata fishing juga menghasilkan kata-kata fish, fishy, fisherman dll).Pemeriksaan semua kemungkinan bentuk kata-kata. Setiap kata diasumsikan memiliki 2 awalan (prefiks) dan 3 akhiran (sufiks). Sehingga bentuknya menjadi :


(28)

Prefiks 1 + Prefiks 2 + Kata dasar + Sufiks 3 + Sufiks 2 + Sufiks 1

Pemotongan dilakukan berurutan : Awalan 1, Awalan 2, Akhiran 1, Akhiran 2, Akhiran 3 (kalau ada), dan Kata Dasar.Setiap tahap pemotongan diikuti dengan pemeriksaan di kamus (berisi daftar kata dasar) apakah hasil pemotongan itu sudah berada dalam bentuk dasar. Jika pemeriksaan berhasil maka proses dinyatakan selesai dan tidak perlu melanjutkan proses pemotongan imbuhan selanjutnya.


(29)

(30)

Gambar 2.2 Flowchart Stemmer Porter

Pada proses stemmer porter, pertama-tama masukkan kata yang akan di stem, lalu memeriksa apakah terdapat partikel, jika ada maka hapus partikel, jika tidak maka lanjutkan memeriksa apakah terdapat kata kepemilikan, jika ada maka hapus, jika tidak maka lanjutkan. Periksa apakah terdapat prefix, jika ada maka hapus, jika tidak maka lanjutkan memeriksa apakah terdapat sufiks.Jika terdapat sufiks maka hapus. Jika pemeriksaan berhasil maka proses dinyatakan selesai dan tidak perlu melanjutkan proses pemotongan imbuhan selanjutnya. Dokumen dalam bahasa indonesia mempunyai keunikan tersendiri, karena kata - kata dalam bahasa indonesia dapat berubah bentuk saat mendapatkan imbuhan. Akibat dari hal proses Stemmer dari dokumen berbahasa Indonesia, yaitu proses mengembalikan kata ke bentuk dasar, memerlukan teknik tersendiri yang berbeda dengan teknik Stemmer pada bahasa - bahasa lain.

Fungsi Stemmer yang didesain berdasarkan algoritma Porter Stemmer for Bahasa Indonesia adalah inti dari tahap pre-processing yang dibuat. Guna dari fungsi ini adalah sebagai berikut:

1. Dengan mengembalikan kata menjadi kata dasarnya, akan sangat mengurangi macam kata yang perlu diperiksa dan dibandingkan dengan tabel Stopword maupun tabel Keyword. Hal ini akan mempercepat proses perbandingan kata serta mengurangi isi tabel Stopword dan tabel Keyword.

2. Pengembalian kata ke bentuk dasarnya dapat dilihat sebagai pengelompokan beberapa macam kata yang memiliki arti sama atau sejenis dan digeneralisasi menjadi satu kata saja. Hal ini berguna untuk proses Text Mining selanjutnya, karena akan


(31)

dapat meningkatkan kemungkinan terbentuknya sebuah Rule Assosiasi, atau dapat meningkatkan kualitas Rule Assosiasi yang dihasilkan.

2.3 Winnowing

Algoritma Winnowing merupakan algoritma yang digunakan untuk deteksi penjiplakan. Input dari algoritma ini adalah dokumen teks yang diproses sehingga menghasilkan output berupa kumpulan nilai-nilai hash, nilai hash merupakan nilai numerik yang terbentuk dari perhitungan ASCII tiap karakter. Kumpulan-kumpulan nilai hash tersebut selanjutnya disebut fingerprint [11]. Fingerprint inilah yang digunakan dalam deteksi penjiplakan. Langkah awal dalam penerapan algoritma Winnowing adalah membuang karakter-karakter dari isi dokumen yang tidak relevan misal tanda baca spasi dan simbol lain. Langkah kedua isi dokumen yang telah dilakukan pembersihan selanjutnya dilakkukan pembentukan rangkaian gram, dimana n =5. Langkah ketiga dari rangkaian gram yang telah terbentuk dibentuk nilai hash dengan nilai ASCII tiap karakter. Pembentukan nilai hash menggunakan persamaan rolling hash. Langkah keempat nilai-nilai hash yang telah terbentuk dibentuk window-window. Dari window-window yang telah terbentuk dilakukan pemilihan nilai hash terkecil pada tiap window untuk dijadikan


(32)

fingerprint tiap dokumen. Nilai-nilai fingerprint inilah yang digunakan untuk menemukan tingkat presentase kesamaan sebuah dokumen dengan dokumen lain. Input dari algoritma ini sendiri adalah string dari dokumen tersebut, dan output nya berupa nilai-nilai hash yang dinamakan fingerprints dari dokumen tersebut.

Syarat dari algoritma deteksi penjiplakan seperti whitespace insensitivity, yaitu pencocokan teks file seharusnya tidak terpengaruh oleh spasi, jenis huruf kapital, tanda baca dan sebagainya,noise surpression yaitu menghindari pencocokan teks file

dengan panjang kata yang terlalu kecil atau kurang relevan dan bukan merupakan kata yang umum digunakan, dan position independence yaitu pencocokan teks file seharusnya tidak bergantung pada posisi kata-kata sehingga kata dengan urutan posisi berbeda masih dapat dikenali jika terjadi kesamaan. Winnowing telah memenuhi syarat-syarat tersebut dengan cara membuang seluruh karakter-karakter yang tidak relevan misal: tanda baca, spasi dan juga karakter lain, sehingga nantinya hanya karakter-karakter yang berupa huruf atau angka yang akan diproses lebih lanjut.


(33)

Algoritma winnowing lebih cepat waktu komputasinya daripada algoritma rabin-karp karena fingerprint dari algoritma rabin-karp lebih banyak sedangkan winnowing dipilih nilai minimum dari window nya. keunggulan algoritma winnowing bisa memberikan informasi posisi fingerprint. Penggunaan nilai window yang semakin besar dapat mempengaruhi dalam waktu proses, karena semakin besar nilai dari suatu window mempengaruhi proses pembentukan nilai-nilai hashing yang semakin kecil. Selain itu, nilai k-gram dan basis juga mempengaruhi dalam memberikan persentasi kemiripan yang diperoleh sistem itu sendiri [3].

2.3.1 Hashing

Hashing adalah mengubah serangkaian karakter menjadi suatu kode atau nilai yang

menjadi penanda dari rangkaian karakter tersebut. Dengan adanya pengubahan inilah, maka tercipta penanda sebagai indeks untuk digunakan dalam mencari informasi kembali atau information retrieval. Fungsi untuk menghasilkan nilai ini disebut fungsi hash, sedangkan nilai yang dihasilkan disebut nilai hash [11].

Nilai hash pada umumnya digambarkan sebagai fingerprint yaitu suatu string pendek yang terdiri atas huruf dan angka yang terlihat acak. Fungsi Hash adalah suatu cara menciptakan “fingerprint” dari berbagai data masukan. Fungsi Hash akan mengganti atau mentranspose-kan data tersebut untuk menciptakan fingerprint, yang biasa disebut hash value. Hash value biasanya digambarkan sebagai suatu string pendek yang terdiri atas huruf dan angka yang terlihat random (data biner yang ditulis dalam notasi hexadecimal). Algoritma fungsi hash yang baik adalah yang menghasilkan sedikit hash collision. Hash collision merupakan kejadian dua atau lebih hash memiliki nilai hash yang sama.


(34)

2.3.2 K-gram

K-gram adalah rangkaian substring yang bersebelahan dengan panjang. Metode ini

menghasilkan rangkaian substring sejumlah k-grams, dimana k adalah parameter yang dipilih oleh user. K-gram mengambil substring karakter huruf sejumlah k dari sebuah kata yang secara kontinuitas dibaca dari teks sumber hingga akhir dari dokumen [9]. Dibawah ini salah satu contoh k-gram dengan k=5:

Text: pohon anggur, dan melon

Kemudian dilakukan penghilangan spasi : pohonanggurdanmelon

Sehingga dihasilkan rangkaian 5-grams yang diturunkan dari text :

Pohon|| ohona || honan ||onang|| nanggu ||anggu ||nggur ggurd ||gurda|| urdan|| rdanm|| danme|| anmel|| nmelo ||melon


(35)

2.4 Jaccard’s Similarity Coefficient

Jaccard’s Similarity Coefficient (Jaccard 1912) merupakan indeks umum untuk variabel biner. Hal ini didefinisikan sebagai hasil bagi antara persimpangan dan serikat variabel dibandingkan berpasangan antara dua benda.

Untuk menghitung kemiripan dari dua dokumen , diperlukan Jaccard’s Similarity Coefficient, dengan rumus :

│ Aᴖ B│

D(A,B) = ________________ X 100% │ AᴗB│- │ Aᴖ B│

Keterangan:

D(A,B) merupakan nilai similarity ,

│ Aᴖ B│ jumlah dari fingerprints dokumen 1 dan 2 yang sama,

│ AᴗB│ ialah jumlah fingerprints dokumen 1 dan 2 dikurangi jumlah dari fingerprint dokumen 1 dan 2 yang sama.


(36)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Di dalam merancang suatu sistem diperlukan sebuah analisis sistem untuk membangun sistem tersebut. Analisis sistem ini bertujuan membantu pemodelan rancang bangun sistem yang akan di implementasikan secara konkret nantinya. Tahap ini mendeskripsikan fase-fase awal dalam pengembangan suatu sistem, sehingga terdapat gambaran yang jelas terhadap sistem yang akan dibangun.

3.2 Analisis Masalah

Banyak terdapat kasus suatu teks memiliki kesamaan dengan teks yang lain. Hal tersebut memang hal yang lumrah, apalagi jika terdapat banyaj kutipan dalam teks tersebut sehingga memungkinkan suatu teks memiliki kesamaan dengan teks yang lain. Masalah utama yang akan dibahas adalah menghitung tingkat kemiripan satu dokumen dengan dokumen yang lain. Sistem ini sendiri memakai bantuan algoritma Stemmer Porter dan Winnowing. Untuk mengidentifikasi masalah secara awal, diperlukan suatu alat grafis yaitu diagram Ishikawa, sehingga dapat lebih dikembangkan suatu permasalahan tersebut dan di dapat sebab akibat dari permasalahan tersebut.


(37)

Pemodelan diagram Ishikawa dapat dilihat pada Gambar 3.1 dibawah ini.

keingintahuan stemmer porter untuk tingkat persentase mendapat kata dasar

kemiripan file winnowing untuk nilai fingerprint

file berekstensi .pdf kata dilakukan proses stemm menggunakan sebagai file inputan algortima stemmer porter

penghitungan nilai fingerprint dengan bantuan winnowing

Gambar 3.1 Diagram Ishikawa

Pada diagram Ishikawa diatas, segi empat paling kanan (kepala ikan) menunjukkan masalah utama yaitu user atau admin ingin mengetahui tingkat kesamaan dari suatu file yang akan di cek, sedangkan aspek ditunjukkan oleh segi empat yang dihubungkan oleh sebuah garis ke tulang utama (garis horizontal yang terhubung ke kepala ikan). Selanjutnya, tulang-tulang kecil yang diwakili oleh garis

user

Penghitung an tingkat kemiripan file

procedure machine


(38)

panah yang mengarah ke tulang-tulang kategori masalah menunjukkan sebab akibat yang muncul pada permasalahan tersebut.

3.3 Analisis Persyaratan (Requirement Analysis)

Analisis persyaratan pada fase ini mempunyai kegunaan untuk menentukan syarat-syarat yang dibutuhkan dalam membangun sistem bentuk fungsional dan non-fungsional yang akan dijelaskan pada tahap selanjutnya. Berikut penjabarannya :

3.3.1 Analisis persyaratan fungsional

Pada fase ini dapat diketahui hal-hal apa saja yang dapat dikerjakan oleh sistem. Hal-hal tersebut antara lain :

1. Sistem ini dilakukan pada file yang berekstensi (.pdf). 2. Sistem akan membaca judul file sesuai dengan nama file.

3. Sistem akan melakukan proses stemming dan mencari nilai fingerprint dari judul file yang di input.

4. Sistem akan memeriksa tingkat kemiripan dengan judul-judul file yang ada dalam database.

5. Sistem akan kembali melakukan proses stemming dan mencari nilai fingerprint isi teks.

6. Sistem akan memeriksa dengan nilai fingerprint teks-teks yang lain dalam database.


(39)

7. Sistem akan memberitahu tingkat kemiripan file tersebut dengan file yang lain.

3.3.2Analisis persyaratan non-fungsional Analisis persyaratan fungsional meliputi ; 1. Perfoma

Sistem yang akan dibangun dapat menghitung tingkat kemiripan antara satu file dengan file yang lain setelah sebelumnya dilakukan dulu proses stemming dan mencari nilai fingerprintnya.

2. Mudah digunakan (user friendly)

Sistem yang akan dibangun memiliki cara penggunaan yang mudah dan tampilan menarik, sehingga lebih memudahkan pengguna untuk

mengoperasikannya. 3. Hemat biaya

Sistem yang akan dibangun tidak memerlukan lagi perangkat tambahan atau perangkat pendukung lain, sehingga tidak perlu lagi mengeluarkan biaya tambahan.

4. Dokumentasi

Sistem yang akan dibangun dapat menyimpan file yang sudah diproses.

3.4 Pemodelan Sistem dengan Usecase dan Activity Diagram

Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem serta hal-hal apa saja yang harus dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi sesuai dengan baik sesuai dengan fungsionalitasnya. Pemodelan ini sendiri menggunakan usecase dan activity diagram. Usecase digunakan untuk memodelkan persyaratan sistem, seperti yang dirancang pada Gambar 3.2 .


(40)

Gambar 3.2 Usecase Diagram

Pada diagram di atas, admin dapat berperan juga sebagai user. Admin menginput file yang akan diproses. File-file tersebut hanya berekstensi (.pdf). Setelah itu, file tersebut diproses dengan menggunakan algoritma-algoritma yang berperan.

Usecase penghitungan kemiripan file dapat dilihat pada table 3.1.

Table 3.1 Usecase Penghitungan Kemiripan File Na me Algortima stemmer porter dan winowing Actors Admin /user

Trigger Admin menginput file yang akan diproses Preconditions File yang akan diproses dibandingkan dengan

file-file yang sebelumnya sudah disimpan di database

Post Conditions Admin dapat melihat hasil penghitungan kemiripan file

Success Scenario 1. User telah menginputkan file yang akan diproses


(41)

2. User mengakses tombol tampilkan isi 3. Sistem akan mengecek berdasar judul yang

memiliki kemiripan

4. Sistem akan membandingkan hanya dengan file-file yang memiliki kemiripan judul

5. Sistem akan kembali melalukan proses pada isi file menggunakan algortima-algoritma yang terkait

6. Sistem akan menampilkan hasil persentase kemiripan

Alternative Flows -

Berikut ini penjelasan untuk table 3.1 :

1. Nama algoritma yang digunakan adalah Stemmer Porter dan Winowing 2. User/admin sebagai actor

3. Tidak tersedia preconditions

4. Pada post conditions, user dapat melihat hasil penghitungan kemiripan file

5. Pada success scenario terdapat proses:

a. User telah menginputkan file yang akan diproses b. User mengakses tombol tampilkan isi


(42)

d. Sistem akan membandingkan hanya dengan file-file yang memiliki kemiripan judul

e. Sistem akan kembali melalukan proses pada isi file menggunakan algortima-algoritma yang terkait

f. Sistem akan menampilkan hasil persentase kemiripan

Dalam sistem ini, selain usecase, pemodelan juga memerlukan activity diagram. Berikut ini merupakan activity diagram untuk proses sistem ini yang dapat dilihat pada gambar 3.3.


(43)

User Sistem

Selesai Input file

Tampilkan hasil kemiripan judul(persentase≥5%)

Tampilkan hasil kemiripan isi file

Memroses judul dengan judul dalam database

Cek isi file tidak


(44)

Gambar 3.3 Activity Diagram

Dari activity diagram tersebut, dapat dijelaskan pertama-tama user menginput file yang akan diproses. Setelah itu, sistem akan melakukan pengecekan melalui judul. Judul yang memiliki kemiripan di ambang batas ( ≥5% ), maka sistem akan meneruskan pemrosesan, jika tidak maka user langsung menghentikan pemrosesan. File akan dibandingkan dengan file-file yang memiliki judul hampir sama yang sudah tersimpan di database. Selanjutnya, sistem akan melakukan proses pada isi file tersebut. Stemming porter dilakukan untuk mendapat kata dasar. Lalu dilakukan pembentukan gram dan mencari nilai-nilai hash nya menggunakan winnowing. Setelah itu, didapat nilai fingerprint. Nilai-nilai fingerprint inilah yang nantinya yang akan dibandingkan dengan nilai fingerprint pada file lain. Lalu akan dihitung persentase kemiripan nya. Untuk menghitung kemiripan dari dua dokumen tersebut, diperlukan Jaccard’s Similarity Coefficient.

Sequence diagram untuk proses ini dapat dilihat pada gambar 3.4 dibawah ini.

Actor

Ambil file

Proses penghitungan tingkat kemiripan

Porter & Winowing


(45)

Gambar 3.4 Sequence Diagram

Dari sequence diagram dapat dilihat bahwa file diproses dengan algoritma Porter dan Winowing dengan menginput file terlebih dahulu . Setelah proses stemming dan fingerprint dilakukan, maka di dapat hasil akhir persentase kemiripan file yang satu dengan yang lain.

3.5 Perancangan algoritma

Flow chart merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya

menerjemahkannya ke bentuk program dengan bahasa pemrograman.

3.5.1 Flow chart Porter

Flow chart atau diagram alir pada stemming porter menggambarkan langkah-langkah sistematis dari algoritma itu sendiri. Dimulai dengan menginput kata yang akan di stemm, lalu kata tersebut akan diproses sesuai dengan algoritma porter, seperti yangdi gambarkan pada gambar 3.5 .


(46)

Gambar 3.5 Flow Chart Stemmer Porter


(47)

Pada flowchart winnowing pertama tentukan gram yang akan di bentuk, lalu bentuk gram dan hash. Setelah hash terbentuk, maka langkah selanjutnya window pun di bentuk. Nilai-nilai dari minimal dari masing-masing window inilah yang akan menjadi nilai fingerprint untuk menghitung nilai kesamaan dokumen tersebut.

Gambar 3.6 Flow chart Winnowing mulai

Tentukan gram

Bentuk gram

Bentuk window Buat hash

Bentuk fingerprint


(48)

3.5.3 Algoritma Porter Stemmer

Awalan-awalan pada stemmer ditentukan dengan langkah-langkah berikut.

1. Jika awalannya adalah: “di-”, “ke-”, atau “se-” maka tipe awalannya secara berturut-turut adalah “di-”, “ke-”, atau “se-”.

2. Jika awalannya adalah “te-”, “me-”, “be-”, atau “pe-” maka dibutuhkan sebuah proses tambahan untuk menentukan tipe awalannya.

3. Jika dua karakter pertama bukan “di-”, “ke-”, “se-”, “te-”, “be-”, “me-”, atau “pe-” maka berhenti.

4. Jika tipe awalan adalah “none” maka berhenti. Jika tipe awalan adalah bukan “none” maka awalan dapat dilihat pada Tabel 2. Hapus awalan jika ditemukan.

Tabel 3.2 Kombinasi Awalan Akhiran Yang Tidak Diijinkan Awalan Akhiran yang tidak diizinkan

be- -i

di- -an

ke- -i, -kan

me- -an

se- -i, -kan

Tabel 3.3 Cara Menentukan Tipe Awalan Untuk awalan “te-”

Following Characters Tipe

Awalan


(49)

“-r-“ “-r-“ - - None

“-r-“ - - ter-luluh

“-r-“ not (vowel or “-r-”)

“-er-“ vowel Ter

“-r-“ not (vowel or “-r-”)

“-er-“ not vowel

ter-

“-r-“ not (vowel or “-r-”)

not “-er-“ - Ter

not (vowel or “-r-”)

“-er-“ Vowel - None

not (vowel or “-r-”)

“-er-“ not vowel - Te

Tabel 3.4 Jenis Awalan Berdasarkan Tipe Awalannya Tipe Awalan Awalan yang harus dihapus

di- di-

ke- ke-

se- se-

te- te-

ter- ter-

ter-luluh Ter

Untuk mengatasi keterbatasan pada algoritma di atas, maka ditambahkan aturan-aturan dibawah ini:


(50)

1. Aturan untuk reduplikasi.

1. Jika kedua kata yang dihubungkan oleh tanda penghubung adalah kata yang sama maka root word adalah bentuk tunggalnya, contoh : “buku-buku” root word-nya adalah “buku”.

2. Kata lain, misalnya “bolak-balik”, “berbalas-balasan, dan ”seolah-olah”. Untuk mendapatkan root word-nya, kedua kata diartikan secara terpisah. Jika keduanya memiliki root word yang sama maka diubah menjadi bentuk tunggal, contoh: kata “berbalas-balasan”, “berbalas” dan “balasan” memiliki root word yang sama yaitu “balas”, maka root word “berbalas-balasan” adalah “balas”. Sebaliknya, pada kata “bolak-balik”, “bolak” dan “balik” memiliki root word yang berbeda, maka root word-nya adalah “bolak-balik”.

2. Tambahan bentuk awalan dan akhiran serta aturannya.

1. Untuk tipe awalan “mem-“, kata yang diawali dengan awalan “memp-” memiliki tipe awalan “mem-”.

2. Tipe awalan “meng-“, kata yang diawali dengan awalan “mengk-” memiliki tipe awalan “meng-”.

Berikut contoh-contoh aturan yang terdapat pada awalan sebagai pembentuk kata dasar.

1. Awalan SE-


(51)

1. Se + bungkus = sebungkus

2. Se + nasib = senasib

3. Se + arah = searah

4. Se + ekor = seekor 2. Awalan ME-

Me + vokal (a,i,u,e,o) menjadi sengau “meng”

Contoh :

1. Me + inap = menginap

2. Me + asuh = mengasuh

3. Me + ubah = mengubah

4. Me + ekor = mengekor

5. Me + oplos = mengoplos Me + konsonan b menjadi “mem”

Contoh :

1. Me + beri = member

2. Me + besuk = membesuk

Me + konsonan c menjadi “men”

Contoh :

1. Me + cinta = mencinta


(52)

Me + konsonan d menjadi “men”

Contoh :

1. Me + didik = mendidik

2. Me + dengkur = mendengkur Me + konsonan g dan h menjadi “meng”

Contoh :

1. Me + gosok = menggosok

2. Me + hukum = menghukum Me + konsonan j menjadi “men”

Contoh :

1. Me + jepit = menjepit

2. Me + jemput = menjemput

Me + konsonan k menjadi “meng” (luluh)

Contoh :

1. Me + kukus = mengukus 2. Me + kupas = mengupas


(53)

Contoh :

1. Me + pesona = mempesona

2. Me + pukul = memukul

Me + konsonan s menjadi “meny” (luluh)

Contoh :

1. Me + sapu = menyapu

2. Me + satu = menyatu

Me + konsonan t menjadi “men” (luluh)

Contoh :

1. Me + tanama = menanam

2. Me + tukar = menukar

Me + konsonan (l,m,n,r,w) menjadi tetap “me”

Contoh :

1. Me + lempar = melempar

2. Me + masak = memasak

3. Me + naik = menaik

4. Me + rawat = merawat 5. Me + warna = mewarna 3. Awalan KE-


(54)

Contoh :

1. Ke + bawa = kebawa

2. Ke + atas = keatas 4. Awalan PE-

Pe + konsonan (h,g,k) dan vokal menjadi “per”

Contoh :

1. Pe + hitung + an = perhitungan

2. Pe + gelar + an = pergelaran

3. Pe + kantor + = perkantoran Pe + konsonan “t” menjadi “pen” (luluh)

Contoh :

1. Pe + tukar = penukar

2. Pe + tikam = penikam

Pe + konsonan (j,d,c,z) menjadi “pen”

Contoh :

1. Pe + jahit = penjahit

2. Pe + didik = pendidik

3. Pe + cuci = pencuci 4. Pe + zina = penzina


(55)

Pe + konsonan (b,f,v) menjadi “pem”

Contoh :

1. Pe + beri = pemberi

2. Pe + bunuh = pembunuh

Pe + konsonan “p” menjadi “pem” (luluh)

Contoh :

1. Pe + pikir = pemikir

2. Pe + potong = pemotong

Pe + konsonan “s” menjadi “peny” (luluh)

Contoh :

1. Pe + siram = penyiram 2. Pe + sabar = penyabar


(56)

Contoh :

1. Pe + lamar = pelamar

2. Pe + makan = pemakan

3. Pe + nanti = penanti

4. Pe + wangi = pewangi

3.5.4 Algoritma Winowing

Langkah-langkah algoritma Winnowing :

1. Penghapusan karakter-karakter yang tidak relevan (whitespace insensitivity), antara lain spasi atau tanda baca.

2. Pembentukan rangkaian gram dengan ukuran k.

3. Penghitungan nilai hash dari setiap gram.

4. Membagi ke dalam window tertentu.

5. Pemilihan beberapa nilai hash menjadi document fingerprinting.

6. Menentukan prosentase kesamaan antara 2 dokumen dengan persamaan Jaccard Coefficient


(57)

Winnowing memiliki rumus sebagai berikut:

Berikut salah satu contoh untuk menghitung nilai fingerprints dari suatu kata;

1. Saya belajar

Hapus spasi = sayabelajar

Ditentukan Gram : 3 , Window : 3

Bentuk Gram  Say | aya | yab | abe | bel | ela | laj | aja | jar Nilai Hash:

H(say | b=2 | k=3)  ascii(s) * 2(3−1) + ascii(a) * 2(2−1) + ascii(y) * 2(1−1)  115 * 22 + 97 * 21 + 121 * 20 = 460 + 194 + 121 = 775 H(aya | b=2 | k=3)  ascii(a) * 2(3−1) + ascii(y) * 2(2−1) + ascii(a) * 2(1−1)

 97 * 22 + 121 * 21 + 97 * 20 = 388 + 242 + 97 = 727 H(yab | b=2 | k=3)  ascii(y) * 2(3−1) + ascii(a) * 2(2−1) + ascii(b) * 2(1−1)


(58)

 121 * 22 + 97 * 21 + 98 * 20 = 484 + 194 + 98 = 776 H(abe | b=2 | k=3)  ascii(a) * 2(3−1) + ascii(b) * 2(2−1) + ascii(e) * 2(1−1)

 97 * 22 + 98 * 21 + 101 * 20 = 388 + 196 + 101 = 685 H(bel | b=2 | k=3)  ascii(b) * 2(3−1) + ascii(e) * 2(2−1) + ascii(l) * 2(1−1)

 98 * 22 + 101 * 21 + 108 * 20 = 392 + 202 + 108 = 702 H(ela | b=2 | k=3)  ascii(e) * 2(3−1) + ascii(l) * 2(2−1) + ascii(a) * 2(1−1)

 101 * 22 + 108 * 21 + 97 * 20 = 404 + 216 + 97 = 717 H(laj | b=2 | k=3)  ascii(l) * 2(3−1) + ascii(a) * 2(2−1) + ascii(j) * 2(1−1)

 108 * 22 + 97 * 21 + 106 * 20 = 432 + 194 + 106 = 732 H(aja | b=2 | k=3)  ascii(a) * 2(3−1) + ascii(j) * 2(2−1) + ascii(a) * 2(1−1)

 97 * 22 + 106 * 21 + 97 * 20 = 388 + 212 + 97 = 697 H(jar | b=2 | k=3)  ascii(j) * 2(3−1) + ascii(a) * 2(2−1) + ascii(r) * 2(1−1)

 106 * 22 + 97 * 21 + 114 * 20 = 424 + 194 + 114 = 732 Nilai Hash : 775 | 727 | 776 | 685 | 702 | 717 | 732 | 697 | 732

Maka didapat Window : {775 727 776}

{727 776 685} {776 685 702} {685 702 717} {702 717 732} {717 732 697} {732 697 732}


(59)

Sehingga diperoleh nilai Fingerprint : [727, 1] [685,2] [702,5] [697,6]

2. Saya bermain

Ditentukan Gram : 3, Window : 3

Bentuk Gram  say | aya | yab | abe | ber | erm | rma | mai | ain Nilai Hash:

H(say | b=2 | k=3)  ascii(s) * 2(3−1) + ascii(a) * 2(2−1) + ascii(y) * 2(1−1)  115 * 22 + 97 * 21 + 121 * 20 = 460 + 194 + 121 = 775 H(aya | b=2 | k=3)  ascii(a) * 2(3−1) + ascii(y) * 2(2−1) + ascii(a) * 2(1−1)

 97 * 22 + 121 * 21 + 97 * 20 = 388 + 242 + 97 = 727 H(yab | b=2 | k=3)  ascii(y) * 2(3−1) + ascii(a) * 2(2−1) + ascii(b) * 2(1−1)

 121 * 22 + 97 * 21 + 98 * 20 = 484 + 194 + 98 = 776 H(abe | b=2 | k=3)  ascii(a) * 2(3−1) + ascii(b) * 2(2−1) + ascii(e) * 2(1−1)

 97 * 22 + 98 * 21 + 101 * 20 = 388 + 196 + 101 = 685 H(ber | b=2 | k=3)  ascii(b) * 2(3−1) + ascii(e) * 2(2−1) + ascii(r) * 2(1−1)

 98 * 22 + 101 * 21 + 114 * 20 = 392 + 202 + 114 = 708 H(erm | b=2 | k=3)  ascii(e) * 2(3−1) + ascii(r) * 2(2−1) + ascii(m) * 2(1−1)

 101 * 22 + 114 * 21 + 109 * 20 = 404 + 228 + 109 = 741 H(rma | b=2 | k=3)  ascii(r) * 2(3−1) + ascii(m) * 2(2−1) + ascii(a) * 2(1−1)

 114 * 22 + 109 * 21 + 97 * 20 = 456 + 218 + 97 = 771 H(mai | b=2 | k=3)  ascii(m) * 2(3−1) + ascii(a) * 2(2−1) + ascii(i) * 2(1−1)

 109 * 22 + 97 * 21 + 105 * 20 = 436 + 194 + 105 = 735 H(ain | b=2 | k=3)  ascii(a) * 2(3−1) + ascii(i) * 2(2−1) + ascii(n) * 2(1−1)


(60)

97 * 22 + 105 * 21 + 110 * 20 = 388 + 210 + 110 = 708 Nilai Hash : 775 | 727 | 776 | 685 | 708 | 741 | 771 | 735 | 708

Maka didapat Window : {775 727 776}

{727 776 685} {776 685 708} {685 708 741} {708 741 771} {741 771 735} {771 735 708}

Dari kalimat pertama dan kedua didapat nilai fingerprint nya sebagai berikut: Fingerprint1 : [727, 1] [685,2][702,5] [697,6]

Fingerprint2 : [727,1] [685,2] [708,5][735,6]

3.5.5 Perhitungan kemiripan

Untuk menghitung kemiripan dari dua dokumen tersebut, diperlukan Jaccard’s Similarity Coefficient, dengan rumus :

│ Aᴖ B│

D(A,B) = ________________ X 100% │ AᴗB│- │ Aᴖ B│


(61)

│ Aᴖ B│ jumlah dari fingerprints dokumen 1 dan 2 yang sama,

│ AᴗB│ ialah jumlah fingerprints dokumen 1 dan 2 dikurangi jumlah yang sama.

Sehingga dari rumus bisa dihitung tingkat kemiripan dari kalimat pertama dan kedua ;

Kesamaan : (2 / 6 ) * 100% = 33,3 %

Penggunaan nilai window yang semakin besar dapat mempengaruhi dalam waktu proses, karena semakin besar nilai dari suatu window mempengaruhi proses pembentukan nilai-nilai hashing yang semakin kecil. Selain itu, nilai k-gram dan basis juga mempengaruhi dalam memberikan persentasi kemiripan yang diperoleh sistem itu sendiri.

3.6 Perancangan Sistem

Pada perancangan sistem dilakukan perancangan antarmuka pengguna (user) dan perancangan struktur direktori pada file berekstensi (.pdf) . Rancangan ini akan diimplementasikan menggunakan bahasa pemrograman Php. Rancangan antarmuka menggunakan empat form, form utama(home), form jurnal, form similarity, dan form about.


(62)

3.6.1 Perancangan Antar Muka Form Home

Pada tampilan perancangan home terdapat “choose file” untuk memilih file yang kan diproses, “show content” untuk menampilkan isi dari file tersebut, “title” untuk menampilkan judul dari file tersebut, “content” memuat isi dari file jurnal tersebut, serta “process” untuk memroses jurnal tersebut ke dalam sistem.

Similarity Of Journal

Home Journal Similarity About

Gambar 3.7 Tampilan Form Home Choose file

Show content

title content


(63)

3.6.2 Perancangan Antar Muka Form Journal

Pada perancangan form journal, menampilkan jurnal-jurnal yang telah masuk ke dalam database.

Similarity Of Journal


(64)

No Journal … ….

Gambar 3.8 Tampilan Form Journal


(65)

Pada perancangan form similarity, menampilkan tingkat kemiripan judul dan kemiripan isi dari jurnal-jurnal yang telah diproses.

Similarity Of Journal

Home Journal Similarity About

No Title Similarity of title Similarity of

content

… … .. ..

… … .. ..


(66)

3.6.4 Perancangan Antar Muka Form About

Pada perancangan form about, berisikan informasi dasar dari pembuat aplikasi.

Similarity Of Journal

Home Journal Similarity About

About


(67)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem

Implementasi sistem merupakan tahap lanjutan dari perancangan sistem. Dalam tahap ini, mengimplementasikan hasil analisis dan perancangan sistem ke dalam suatu bahasa pemrograman. Dengan adanya implementasi sistem, akan lebih terlihat nyata hasil akhir dari perancangan sistem yang sudah di analisis sebelumnya.

Pada bab ini akan di tunjukkan implementasi dari penggabungan algoritma Stemmer Porter dan Winnowing serta penghitungan rumus Jaccard’s Similarity Coefficient. Bab sebelumnya sudah di bahas tenteng cara kerja algortima Stemmer dan Winnowing. Sistem ini akan dibangun menggunakan bahasa pemrograman PHP. Pada aplikasi ini akan terdapat 4(empat) halaman utama, yaitu:

1. Form home 2. Form journal 3. Form similarity 4. Form about


(68)

4.1.1 Tampilan halaman form home (awal)

Tampilan form home merupakan tampilan form yang pertama kali muncul saat sistem dijalankan. Tampilan form home dapat dilihat pada Gambar 4.1.


(69)

Gambar 4.1 Form home

Pada tampilan form home terdapat tombol choose fil, show content, kotak title yang berisi judul jurnal, dan kotak content yang memuat isi jurnal yang akan di proses.

4.1.2 Tampilan halaman form journal

Pada tampilan ini menampilkan jurnal-jurnal yang sudah masuk ke sistem. Dapat di lihat pada Gambar 4.2.


(70)

Gambar 4.2 Form journal

Pada tampilan halaman ini, dapat di lihat judul-judul jurnal yang telah masuk ke sistem beserta waktu eksekusi nya.


(71)

4.1.3 Tampilan halaman form similarity

Halaman form similarity atau dengan kata lain menampilkan hasil kemiripan dari jurnal-jurnal yang sudah diproses oleh sistem. Form similarity dapat di lihat pada Gambar 4.3 .


(72)

Pada tampilan halaman ini, terdapat tabel yang berisi title, similarity of title, dan similarity of content. Dari tampilan ini dapat diketahui tingkat kesamaan judul antar jurnal yang paling mirip dan ditampilkan juga beserta tingkat kemiripan dari isi-isi jurnal tersebut.

4.1.4 Tampilan halaman form about

Form about berisikan informasi tentang programmer. Tampilan form about dapat dilihat pada Gambar 4.4.


(73)

Gambar 4.4 Form about

Pada halaman form ini, menampilkan data-data dari nama programmer, nomor induk, serta judul dari penelitian ini.


(74)

4.2 Pengujian Sistem

Tahapan pengujian sistem merupakan tahapan lanjutan dari implementasi sistem. Tahapan ini memiliki kegunaan untuk membuktikan bahwa hasil dari pengimplementasian analisis dan perancangan sistem telah berhasil.

4.2.1 Pengujian sistem pilih file

Pengujian proses pilih file dilakukan dengan memilih tombol choose file. Ketika tombol tersebut di klik, maka akan di tampilkan pop-up window untuk memilih jurnal yang akan di masukkan ke sistem. Hasil pop-up window dapat dilihat pada Gambar 4.5 di bawah ini:


(75)

Gambar 4.5 Tampilan hasil open file jurnal

Setelah jurnal dipilih, selanjutnya akan ditampilkan pada form home seperti yang ditunjukkan pada Gambar 4.6 berikut:


(76)

Gambar 4.6 Tampilan hasil pilih file

Judul jurnal yang sudah dipilih akan ditampilkan seperti pada gambar di atas.

Selanjutnya, pilih tombol show content seperti yang akan di tunjukkan pada Gambar 4.7 berikut.


(77)

Gambar 4.7 Tampilan show content

Pada gambar di atas dapat di lihat isi jurnal yang telah di pilih tadi, di tampilkan pada kotak content tersebut. Selanjutnya tekan tombol proses untuk memroses jurnal tersebut ke dalam sistem. Jurnal tersebut akan masuk ke dalam tabel jurnal seperti pada gambar di bawah ini.


(78)

Gambar 4.8 Tampilan hasil proses

Jurnal yang dipilih tadi telah dip roses dan dimasukkan ke dalam tabel jurnal. Pada tabel tersebut diketahui juga waktu eksekusi proses jurnal tadi yaitu 184.03424310684 sekon. Selanjutnya, klik file jurnal tersebut, sehingga akan di tunjukkan nilai-nilai dari fingerprint judul dan fingerprint isi nya. Tampilannya dapat di lihat pada Gambar 4.9 dan 4.10 di bawah ini.


(79)

Gambar 4.9 Tampilan hasil fingerprint judul

Pada gambar di atas menampilkan nilai-nilai fingerprint dari jurnal yang sudah diproses tadi.


(80)

Gambar 4.10 Tampilan hasil fingerprint isi

Setelah judul dari jurnal tersebut di dapat nilai fingerprintnya, maka selanjutnya di cari nilai fingerprint dari isi jurnal. Semua proses judul maupun isi, mengalami algoritma yang sama sehingga di dapat nilai fingerprint masing-masing.

Selanjutnya, pilih form similarity untuk mengetahui tingkat kemiripan nya dengan jurnal-jurnal yang lain. Tampilannya dapat di lihat pada Gambar 4.11 berikut.


(81)

Gambar 4.11 Tampilan hasil kemiripan jurnal

Pada form similarity di atas, diketahui bahwa jurnal yang berjudul “Analisis Perbandingan Metode Simple Additive Weighting dan Metode Fuzzy Multi Criteria Decision Making Untuk Menentukan Lokasi Pengabdian” memiliki kesamaan dengan beberapa jurnal yang lain. Dapat dilihat jurnal tersebut di bandingkan dengan jurnal yang berjudul “ Analisis Perbandingan Algoritma Ant Colony dengan Algoritma A dalam Menentukan Rute Terpendek” memiliki tingkat kesamaan judul sebesar 8.77 %, sedangkan untuk kesamaan isi memiliki tingkat kesamaan sebesar 11.89 %.

Dari database di atas, jurnal yang berjudul berjudul “Analisis Perbandingan Metode Simple Additive Weighting dan Metode Fuzzy Multi Criteria Decision Making


(82)

Untuk Menentukan Lokasi Pengabdian” memiliki tingkat kemiripan judul paling besar dengan jurnal yang berjudul “Analisis Perbandingan Metode Low Bit Coding dan Least Significant Bit untuk Digital Watermarking pada File WMA” sebesar 11.94 %, sedangkan untuk isi jurnal nya memiliki tingkat kemiripan paling besar 11.89 % terhadap jurnal yang berjudul “Analisis Perbandingan Algoritma Ant Colony dengan Algoritma A dalam Menentukan Rute Terpendek”

4.2.2 Pengujian hasil proses judul file

Aplikasi ini mempunyai langkah-langkah sebagai berikut: 1. Ambil teks dan titik yang terdapat pada file

2. Ubah semua huruf menjadi huruf kecil (lowerchase) 3. Hapus stopword dan yang kurang dari 3 karakter 4. Teks mulai diproses dengan stemming porter 5. Pisahkan kalimat berdasarkan titik

6. Pembentukan grams 7. Pembentukan hash 8. Pembentukan window 9. Pembentukan fingerprint 10.Penghitungan kesamaan

Berikut merupakan contoh penghitungan pada kedua file jurnal yang terdapat dalam database.

Jurnal I:

Analisis Perbandingan Algoritma Ant Colony dengan Algoritma A dalam Menentukan Rute Terpendek.


(83)

Jurnal II :

Algoritma Ant Colony System dalam Penjadwalan Kegiatan Belajar Mengajar di Sekolah Dasar.

Kedua judul jurnal tersebut akan diproses sesuai algoritma diatas.

Jurnal I :

1. Analisis Perbandingan Algoritma Ant Colony dengan Algoritma A dalam Menentukan Rute Terpendek.

2. analisis perbandingan algoritma ant colony dengan algoritma a dalam menentukan rute terpendek.

3. Analisis perbandingan algoritma ant colony algoritma rute terpendek.

4. Teks di stemming sesuai kamus kata dasar : Analisis  analisis

menentukan tentu rute-rute

5. analisis algoritma ant colony algoritma tentu rute. 6. Pembentukan grams = 5


(84)

Ditentukan Gram : 5 , Window : 3

Bentuk Gram  anali | nalis | alisi | lisis | isisa | sisal | isalg | salgo | algor | lgori | gorit | oritm | ritma| itmaa| tmaan | maant | aantc | antco | ntcol | tcolo | colon | olony | lonya | onyal | nyalg | yalgo | algor | lgori | gorit | oritm | ritma | itmat | tmate | maten | atent | tentu | entur | nturu | turut | urute |

7. Pembentukan hash Nilai Hash:

H(anali | b=10 | k=5)  ascii(a) * 10(5−1) + ascii(n) * 10(4−1) + ascii(a) * 10(3−1) + ascii(l) * 10(2−1) + ascii(i) * 10(1−1)

 97 * 104 + 110* 103 + 97 * 102 + 108 * 101 + 105 * 100  1090885

H(nalis | b=10 | k=5 )  ascii(n) * 10(5−1) + ascii(a) * 10(4−1) + ascii(l) * 10(3−1) + ascii(i) * 10(2−1) + ascii(s) * 10(1−1)


(85)

 1208965

H(alisi| b=10| k=5)  97*104 + 108*103 + 105*102 + 115*101 + 105*100  1089755

H(anali)  1090885 H(nalis) 1208965 H(alisi)  1089755 H(lisis)  1197665 H(isisa)  1176747 H(sisal)  1267578 H(isalg)  1175883 H(salgo)  1258941 H(algor)  1089524 H(lgori)  1195345 H(gorit)  1153566 H(oritm)  1235769 H(ritma)  1257787 H(itmaa)  1177967 H(tmaan) 1279780 H(maant)  1197916 H(aantc)  1079259 H(antco)  1092701 H(ntcol)  1227118 H(tcolo)  1271291 H(colon)  1113020 H(olony)  1230321


(86)

H(lonya)  1203307 H(onyal)  1233178 H(nyalg)  1231883 H(yalgo)  1318941 H(algor)  1089524 H(lgori)  1195345 H(gorit)  1153566 H(oritm)  1235769 H(ritma)  1257787 H(itmat) 1177986 H(tmate) 1279961 H(maten) 1199720 H(atent)  1097316 H(tentu) 1273277 H(entur)  1132884 H(nturu)  1228957 H(turut)  1289686 H(urute)  1296961


(87)

Jurnal II :

Algoritma Ant Colony System dalam Penjadwalan Kegiatan Belajar Mengajar di Sekolah Dasar.

1. Algoritma Ant Colony System Penjadwalan Belajar Mengajar Sekolah Dasar. 2. algortima ant Colony system penjadwalan belajar mengajar sekolah dasar, 3. algoritmaantcolonysystempenjadwalanbelajarmengajarsekolahdasar,

4. algor| lgori| gorit| oritm | ritma| itmaa | tmaan | maant| aantc| antco| ntcol | tcolo | colon | olony | lonys | onysy | nysys| ysyst | syste| ystem| stemp| tempe | empen | mpenj | penja | enjad | njadw | jadwa | adwal | dwala | walan | alanb | nbela | belaj|elaja | lajar | ajarm | jarme| armen | rmeng | menga | engaj | ngaja | gajar | ajars| jarse | arsek | rseko | sekol | ekola | kolah | olahd |lahda |ahdas | hdasa | dasar|

Nilai fingerprint jurnal II :

1089524 1153566 1177967 1079259 1092701 1113020 1203325 1233371 1233825 1283761 1277296 1273057 1130670 1082978 1089447 1145957 1096857 1086937 1094857 1086955 1096617 1129277 1188497 1085085

Nilai fingerprint jurnal I :

1089755 1176747 1175883 1089524 1153566 1177967 1079259 1092701 1113020 1203307 1231883 1089524 1153566 1177986 1097316 1273277 1132884 1228957 1289686 1296961


(88)

Kesamaan dari kedua fingerprint nya :

1089524 1153566 1177967 1079259 1092701 1113020

Maka tingkat kemiripan :

│ Aᴖ B│

D(A,B) = ________________ X 100% │ AᴗB│- │ Aᴖ B│

= 6

───── X 100 38


(89)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan pembahasan dan evaluasi dari bab terdahulu, maka dapat ditarik kesimpulan sebagai berikut:

1. Algoritma stemmer porter dan winnowing dapat digunakan dalam menghitung tingkat kemiripan suatu file dengan yang lain.

2. Aplikasi ini dapat digunakan dalam aktivitas yang terjadi pada lingkungan akademik.

3. Algoritma stemmer porter membantu mempercepat algoritma winnowing dalam menentukan nilai fingeprint dari suatu teks. Namun, algoritma winnowing dibantu oleh persamaan jaccard hanya menghitung tingkat kemiripan saja, bukan menentukan file tersebut termasuk plagiat atau tidak.

5.2 Saran

Berikut adalah beberapa saran untuk pengembangan lebih lanjut terhadap penelitian skripsi ini:


(90)

1. Dapat ditambahkan indikator lain yang lebih kompleks dalam setiap perspektif yang terdapat pada algoritma stemmer porter dan winnowing, sehingga dapat dilakukan penghitungan kemiripan file yang lebih detail dan akurat.

2. Sistem ini dapat dikembangkan lebih lanjut dengan menfokuskan pada mengembangkan fitur-fitur yang ada dikarenakan sistem yang dibuat lebih menfokuskan pada penghitungan kemiripan satu file dengan yang lain menggunakan dua algoritma.

3. Algoritma porter bukanlah satu-satunya metode yang digunakan dalam menentukan kata dasar, dan winnowing juga merupakan contoh dari sekian banyak algoritma dalam menentukan nilai fingerprint. Oleh karena itu, disarankan dapat mencoba menggunakan algoritma yang lain guna perbandingan.


(91)

DAFTAR PUSTAKA

[1] Djuandi, F., 2008, Jurus Baru Pemrograman SQL Server 2005, ElexMedia Komputindo, Jakarta.

[2]. Han , Jiawei, dan Micheline Kamber, “Data Mining : Concepts andTechniques Second Editions”, San Franscisco, Publish by Morgan Kaufmann Publisher, Copyright © 2006.

[3]. Kusmawan, P. Y., Yuhana, U. L., & Purwitasari, D. (2010). Aplikasi Pendeteksi Penjiplakan pada File Teks dengan Algoritma Winnowing. ITS-Undergraduate-3100010038856 , 1-11.

[4]. Kadir, Abdul. 2003. Dasar Pemrograman Web Dinamis Menggunakan PHP. Andi. Yogyakarta.

[5]. Ledy Agusta, Fakultas Teknologi Informasi; Universitas Kristen SatyaWacana; “Perbandingan Algoritma Stemming Porter Dengan Algoritma Nazief & Adriani Untuk Stemming Dokumen Teks Bahasa Indonesia ”,

http://yudiagusta.files.wordpress.com/2009/11/196-201-knsi09-036- perbandingan-algoritma-stemming-porter-dengan-algoritma-nazief-adriani-untuk-stemming-dokumen-teks-bahasa-indonesia.pdf , Tanggal Akses : 10 Maret 2013

[6]. Prasetyo, Didik. 2005. Solusi Menjadi Web Master Melalui Manajemen Web dengan PHP. PT Elex Media Komputindo. Jakarta.

[7]. Rachmansyah, 2009, Stemmer Kata Bahasa Indonesia 2009, Elex Media Komputindo, Jakarta.

[8]. Steven. (2009, September 14). PERANCANGAN PROGRAM APLIKASI PENDETEKSIAN PLAGIARISME DOKUMEN BERBASIS TEKS


(92)

Teknik-Informatika - Matematika Skripsi Sarjana Program Ganda Semester Ganjil 2008/2009, Universitas Bina Nusantara, Jakarta , 8-25. [9]. Scheimer, Saul, Daniel S. Wilkerson, dan Alex Aiken. Winnowing: Local

Algorithms for Document Fingerprinting. San Diego: In Proceedings of the ACM SIGMOD International Conference On Management Of Data. 2003

[10]. S.Pressman , Roger, Ph.D. , “ Rekayasa Perangkat Lunak : Pendekatan Praktisi” (Buku Satu).Penerbit ANDI Bekerja Sama McGraw-Hill Book Companies, Inc. Judul Asli : “Software Engineering: A Practitioner’s Approach ” , Copyright © 1997.

[11]. Yuwono, Putu., Yuhana, Umi Laili., dan Purwitasari, Diana. 2010. Aplikasi deteksi penjiplakan pada file teks dengan algoritma winnowing, Elex Media, Jakarta.


(93)

CURRICULUM VITAE

Nama : Lidia Arta Ferari Siahaan Alamat Sekarang : Komplek Pemda Tk.I , Medan Alamat Orang Tua : Puri Masurai II , Jambi

Telp/Hp : 081396632021

Email : ladye_ferari@yahoo.com Riwayat Pendidikan

SD Negeri 196, Jambi dari Tahun 1995 s/d Tahun 2001 SMP Negeri 8, Jambi dari Tahun 2001 s/d Tahun 2004 SMA Negeri 5, Jambi dari Tahun 2004 s/d Tahun 2007 Universitas Sumatera Utara dari Tahun 2008 s/d Tahun 2014 Keterampilan


(94)

DAFTAR LAMPIRAN

Nomor

Lampiran Nama Lampiran Halaman

A Tabel ASCII A-1


(95)

(1)

1. Dapat ditambahkan indikator lain yang lebih kompleks dalam setiap perspektif yang terdapat pada algoritma stemmer porter dan winnowing, sehingga dapat dilakukan penghitungan kemiripan file yang lebih detail dan akurat.

2. Sistem ini dapat dikembangkan lebih lanjut dengan menfokuskan pada mengembangkan fitur-fitur yang ada dikarenakan sistem yang dibuat lebih menfokuskan pada penghitungan kemiripan satu file dengan yang lain menggunakan dua algoritma.

3. Algoritma porter bukanlah satu-satunya metode yang digunakan dalam menentukan kata dasar, dan winnowing juga merupakan contoh dari sekian banyak algoritma dalam menentukan nilai fingerprint. Oleh karena itu, disarankan dapat mencoba menggunakan algoritma yang lain guna perbandingan.


(2)

DAFTAR PUSTAKA

[1] Djuandi, F., 2008, Jurus Baru Pemrograman SQL Server 2005, ElexMedia Komputindo, Jakarta.

[2]. Han , Jiawei, dan Micheline Kamber, “Data Mining : Concepts andTechniques Second Editions”, San Franscisco, Publish by Morgan Kaufmann Publisher, Copyright © 2006.

[3]. Kusmawan, P. Y., Yuhana, U. L., & Purwitasari, D. (2010). Aplikasi Pendeteksi Penjiplakan pada File Teks dengan Algoritma Winnowing. ITS-Undergraduate-3100010038856 , 1-11.

[4]. Kadir, Abdul. 2003. Dasar Pemrograman Web Dinamis Menggunakan PHP. Andi. Yogyakarta.

[5]. Ledy Agusta, Fakultas Teknologi Informasi; Universitas Kristen SatyaWacana; “Perbandingan Algoritma Stemming Porter Dengan Algoritma Nazief & Adriani Untuk Stemming Dokumen Teks Bahasa Indonesia ”,

http://yudiagusta.files.wordpress.com/2009/11/196-201-knsi09-036- perbandingan-algoritma-stemming-porter-dengan-algoritma-nazief-adriani-untuk-stemming-dokumen-teks-bahasa-indonesia.pdf , Tanggal Akses : 10 Maret 2013

[6]. Prasetyo, Didik. 2005. Solusi Menjadi Web Master Melalui Manajemen Web dengan PHP. PT Elex Media Komputindo. Jakarta.

[7]. Rachmansyah, 2009, Stemmer Kata Bahasa Indonesia 2009, Elex Media Komputindo, Jakarta.

[8]. Steven. (2009, September 14). PERANCANGAN PROGRAM APLIKASI PENDETEKSIAN PLAGIARISME DOKUMEN BERBASIS TEKS


(3)

Teknik-Informatika - Matematika Skripsi Sarjana Program Ganda Semester Ganjil 2008/2009, Universitas Bina Nusantara, Jakarta , 8-25. [9]. Scheimer, Saul, Daniel S. Wilkerson, dan Alex Aiken. Winnowing: Local

Algorithms for Document Fingerprinting. San Diego: In Proceedings of the ACM SIGMOD International Conference On Management Of Data. 2003

[10]. S.Pressman , Roger, Ph.D. , “ Rekayasa Perangkat Lunak : Pendekatan Praktisi” (Buku Satu).Penerbit ANDI Bekerja Sama McGraw-Hill Book Companies, Inc. Judul Asli : “Software Engineering: A Practitioner’s Approach ” , Copyright © 1997.

[11]. Yuwono, Putu., Yuhana, Umi Laili., dan Purwitasari, Diana. 2010. Aplikasi deteksi penjiplakan pada file teks dengan algoritma winnowing, Elex Media, Jakarta.


(4)

CURRICULUM VITAE

Nama : Lidia Arta Ferari Siahaan Alamat Sekarang : Komplek Pemda Tk.I , Medan Alamat Orang Tua : Puri Masurai II , Jambi

Telp/Hp : 081396632021

Email : ladye_ferari@yahoo.com Riwayat Pendidikan

SD Negeri 196, Jambi dari Tahun 1995 s/d Tahun 2001 SMP Negeri 8, Jambi dari Tahun 2001 s/d Tahun 2004 SMA Negeri 5, Jambi dari Tahun 2004 s/d Tahun 2007 Universitas Sumatera Utara dari Tahun 2008 s/d Tahun 2014 Keterampilan


(5)

DAFTAR LAMPIRAN

Nomor

Lampiran Nama Lampiran Halaman

A Tabel ASCII A-1


(6)