• Tidak ada hasil yang ditemukan

Implementasi Algoritma Rabin-Karp Menggunakan Stemming Nazief Dan Adriani Untuk Mendeteksi Tingkat Kemiripan File Teks Yang Berbentuk Skripsi

N/A
N/A
Protected

Academic year: 2016

Membagikan "Implementasi Algoritma Rabin-Karp Menggunakan Stemming Nazief Dan Adriani Untuk Mendeteksi Tingkat Kemiripan File Teks Yang Berbentuk Skripsi"

Copied!
80
0
0

Teks penuh

(1)

IMPLEMENTASI ALGORITMA RABIN-KARP MENGGUNAKAN

STEMMING NAZIEF DAN ADRIANI UNTUK MENDETEKSI

TINGKAT KEMIRIPAN FILE TEKS YANG

BERBENTUK SKRIPSI

SKRIPSI

WINDI ARINDA

091401061

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(2)

IMPLEMENTASI ALGORITMA RABIN-KARP MENGGUNAKAN STEMMING NAZIEF DAN ADRIANI UNTUK MENDETEKSI

TINGKAT KEMIRIPAN FILE TEKS YANG BERBENTUK SKRIPSI

SKRIPSI

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

WINDI ARINDA 091401061

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : IMPLEMENTASI ALGORITMA RABIN-KARP

MENGGUNAKAN STEMMING NAZIEF DAN ADRIANI UNTUK MENDETEKSI TINGKAT KEMIRIPAN FILE TEKS YANG BERBENTUK SKRIPSI

Kategori : SKRIPSI

Nama : WINDI ARINDA

Nomor Induk Mahasiswa : 091401061

Program Studi : SARJANA (S1) ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

Diluluskan di

Medan, Februari 2015

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Ade Candra, ST, M.Kom Dr. Poltak Sihombing, M.Kom NIP. 197909042009121002 NIP. 196203171991031001

Diketahui/Disetujui oleh

Program Studi S1 IlmuKomputer Ketua,

(4)

PERNYATAAN

IMPLEMENTASI ALGORITMA RABIN-KARP MENGGUNAKAN STEMMING NAZIEF DAN ADRIANI UNTUK MENDETEKSI TINGKAT KEMIRIPAN

FILE TEKS YANG BERBENTUK SKRIPSI

SKRIPSI

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

Medan, Februari 2015

(5)

PENGHARGAAN

Puji dan syukur penulis ucapkan kepada ALLAH SWT yang senantiasa melimpahkan rahmat dan karunia-NYA sehingga skripsi ini dapat diselesaikan.

Ucapan terimakasih penulis sampaikan kepada semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung.

Ucapan terima kasih penulis sampaikan kepada :

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

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

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

4. Bapak Dr. Poltak Sihombing, M.Kom dan bapak Ade Candra, ST, 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 Drs. Marihat Situmorang,

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

6. Teristimewa untuk Ayahanda dan Ibunda penulis Bapak Sudiono dan Ibu

Nurhasanah yang dengan tulus dan sabar memberikan doa dan dukungan moril dan materil kepada penulis selama ini, serta adik-adik tersayang Elvina Sari, Chici Tri Andani, dan Rizky yang telah banyak memberikan dukungan dan semangat dalam penyusunan skripsi ini.

7. Keluarga, sahabat dan pihak-pihak lainnya yang tidak dapat penulis

(6)

Dan sekali lagi terima kasih yang sebesar-besarnya kepada semua pihak yang membantu penyelesaian skripsi ini.

Wassalam.

Medan, Februari 2015 Penulis,

(7)

IMPLEMENTASI ALGORITMA RABIN-KARP MENGGUNAKAN STEMMING NAZIEF DAN ADRIANI UNTUK MENDETEKSI

TINGKAT KEMIRIPAN FILE TEKS YANG BERBENTUK SKRIPSI

ABSTRAK

Di dunia pendidikan khususnya di kalangan universitas, rentan terjadi praktek plagiarisme. Misalnya dalam hal pembuatan Tugas Akhir, Skripsi. Untuk mendeteksi kemiripan antar Skripsi, banyak universitas masih melakukannya secara manual sehingga menghabiskan waktu yang lama dan tenaga yang ekstra. Seiring dengan perkembangan ilmu pengetahuan dan teknologi, algoritma untuk mencari tingkat kesamaan dokumen telah dikembangkan oleh para ahli. Stemming adalah salah satu cara untuk meningkatkan performa information retrieval. Data yang digunakan pada penelitian ini adalah skripsi mahasiswa S1 Ilmu komputer Universitas Sumatera Utara. Penulis menggunakan algoritma stemming Nazief dan Adriani dalam mencari kata dasar/root word untuk setiap kata dalam skripsi yang diuji. Setelah didapat kata dasar dari setiap kata, kemudian dari kata dasar tersebut dibentuk gram, dan dicari nilai hashnya menggunakan algoritma Rabin-Karp. Setelah didapat nilai hash, maka nilai hash skripsi yang diuji dibandingkan dengan nilai hash skripsi yang sudah tersimpan di database sistem menggunakan rumus Dice Coefficient Similarity. Hasil perbandingan antar skripsi dalam bentuk persen, disimpan ke database sistem dan ditampilkan di sistem secara berurut dari yang paling besar total persentase kemiripannya sampai yang paling kecil.

(8)

IMPLEMENTATION OF RABIN-KARP ALGORITHM USING STEMMING NAZIEF AND ADRIANI TO DETECT SIMILARITY

OF TEXT FILE IN FORM OF THESIS

ABSTRACT

In the world of education especially among the University, susceptible to the practice of plagiarism. For example, in terms of making a Final Project, Thesis. To detect the similarity between Thesis, many universities are still doing it manually so spend a long time and extra energy. Along with the development of science and technology, algorithm to find the degree of similarity of documents have been developed by experts. Stemming is one way to improve the performance of information retrieval. The Data used in this study is thesis of the students in Bachelor Computer Science in University of North Sumatera. The author uses stemming Nazief and Adriani algorithm in finding the basic word/root word for each word in the thesis are tested. After derived the root word of every word, then from the root word is formed to gram, and calculated it’s hash value uses Rabin-Karp algorithm. After getted the hash value, so the hash value of thesis tested to be compared with the hash value of thesis are saved in the database system uses the formula of Dice Coefficient Similarity. The result of the comparison between the thesis in the form of percent, are saved to database system and published in system sequencely from the biggest of total percentage of it’s similarity to the smallest.

(9)

DAFTAR ISI

Daftar Lampiran xii

Bab 1 Pendahuluan 1

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 4

Bab 2 LandasanTeori 6

2.4 Dice Coefficient Similarity 17

Bab 3 Analisis dan Perancangan Sistem 18

3.1 Analisis Sistem 18

3.1.1 Analisis Masalah 18

3.1.1.1 Cause-and-Effect Analisis 18

3.1.2 Analisis Persyaratan 20

3.1.2.1 Analisis Fungsional Sistem 20

3.1.2.2 Analisis Non Fungsional Sistem 21

3.1.3 Pemodelan Sistem Dengan Use Case 21

3.1.3.1 Diagram Use Case 22

(10)

3.1.3.5 Acitvity Diagram Algoritma Stemming Nazief 26

3.3.2 Perancangan Antar Muka Form Masukkan Skripsi 38 3.3.3 Perancangan Antar Muka Form kemiripan 40 3.3.4 Perancangan Antar Muka Form Skripsi 41 Bab 4 Implementasi dan Pengujian Sistem 42 4.1 Implementasi Sistem 42 4.1.1 Spesifikasi Perangkat Keras Yang Digunakan 42 4.1.2 Spesifikasi Perangkat Lunak Yang Digunakan 43 4.1.3 Implementasi Antarmuka Sistem 43 4.1.3.1 Tampilan Antarmuka Form Home 43 4.1.3.2 Tampilan Antarmuka Form Masukkan Skripsi 44 4.1.3.3 Tampilan Antarmuka Form Kemiripan 46 4.1.3.4 Tampilan Antarmuka Form Skripsi 48 4.2 Pengujian 50 4.2.1 Tujuan Pengujian 50

(11)

DAFTAR TABEL

Nomor

Tabel Nama Tabel Halaman

2.1 Daftar Prefiks Yang Meluluh 12

2.2 Daftar Kemungkinan Perubahan Prefiks 12

2.3 Daftar Kombinasi Prefiks dan Sufiks Yang Tidak Diperbolehkan

13

3.1 Cause-And-Effect Analysis 19

3.2 3.3

3.4 3.5 3.6

Dokumentasi Naratif Use Case Membandingkan Skripsi Dokumentasi Naratif Use Case Algoritma Stemming Nazief dan Adriani

Dokumentasi Naratif Use Case Algoritma Rabin-Karp

Dokumentasi Naratif Use Case Dice Coefficient Similarity

Dokumentasi Naratif Use Case Melihat Skripsi

23 25

(12)

DAFTAR GAMBAR

Nomor Gambar

Nama Gambar Halaman

2.1

Format Kata Berimbuhan Dalam Bahasa Indonesia Diagram Ishikawa Untuk Analisis Permasalahan Sistem

Use Case Diagram

ActivityDiagram Membandingkan Skripsi

Activity Diagram Algoritma Stemming Nazief dan Adriani

Activity Diagram Algoritma Rabin-Karp Activity Diagram Dice Coefficient Similairty

ActivityDiagram Melihat Skripsi

Sequence Diagram Sistem

Flow Chart Algoritma Rabin-Karp

Flow Chart Algoritma Stemming Nazief dan Adriani Tampilan Form Home

Tampilan Form Masukkan Skripsi Tampilan Form Kemiripan

Tampilan Form Skripsi

Tampilan Antarmuka Form Home

Tampilan Antarmuka Form Masukkan Skripsi

Tampilan Form Masukkan Skripsi setelah Nim dan Judul dari Skripsi yang akan dibandingkan dimasukkan

Tampilan Antarmuka Form Kemiripan

Tampilan Form Kemiripan file skripsi yang terakhir di bandingkan

Tampilan Antarmuka Form Skripsi

Tampilan Antarmuka Form Skripsi yang terakhir diinput Tampilan Form Skripsi setelah diklik Judul dari skripsi Proses Sistem Step 1 Dokumen 1

Proses Sistem Step 2, Step 3 dan step 4 Proses Sistem Step 4, Step 5 dan Step 6 Proses Sistem Dokumen 2

Persentase Kemiripan Dokumen 1 dan Dokumen 2

(13)

DAFTAR LAMPIRAN

Nomor Lampiran

Nama Lampiran Halaman

A B

Tabel ASCII Listing Program

(14)

IMPLEMENTASI ALGORITMA RABIN-KARP MENGGUNAKAN STEMMING NAZIEF DAN ADRIANI UNTUK MENDETEKSI

TINGKAT KEMIRIPAN FILE TEKS YANG BERBENTUK SKRIPSI

ABSTRAK

Di dunia pendidikan khususnya di kalangan universitas, rentan terjadi praktek plagiarisme. Misalnya dalam hal pembuatan Tugas Akhir, Skripsi. Untuk mendeteksi kemiripan antar Skripsi, banyak universitas masih melakukannya secara manual sehingga menghabiskan waktu yang lama dan tenaga yang ekstra. Seiring dengan perkembangan ilmu pengetahuan dan teknologi, algoritma untuk mencari tingkat kesamaan dokumen telah dikembangkan oleh para ahli. Stemming adalah salah satu cara untuk meningkatkan performa information retrieval. Data yang digunakan pada penelitian ini adalah skripsi mahasiswa S1 Ilmu komputer Universitas Sumatera Utara. Penulis menggunakan algoritma stemming Nazief dan Adriani dalam mencari kata dasar/root word untuk setiap kata dalam skripsi yang diuji. Setelah didapat kata dasar dari setiap kata, kemudian dari kata dasar tersebut dibentuk gram, dan dicari nilai hashnya menggunakan algoritma Rabin-Karp. Setelah didapat nilai hash, maka nilai hash skripsi yang diuji dibandingkan dengan nilai hash skripsi yang sudah tersimpan di database sistem menggunakan rumus Dice Coefficient Similarity. Hasil perbandingan antar skripsi dalam bentuk persen, disimpan ke database sistem dan ditampilkan di sistem secara berurut dari yang paling besar total persentase kemiripannya sampai yang paling kecil.

(15)

IMPLEMENTATION OF RABIN-KARP ALGORITHM USING STEMMING NAZIEF AND ADRIANI TO DETECT SIMILARITY

OF TEXT FILE IN FORM OF THESIS

ABSTRACT

In the world of education especially among the University, susceptible to the practice of plagiarism. For example, in terms of making a Final Project, Thesis. To detect the similarity between Thesis, many universities are still doing it manually so spend a long time and extra energy. Along with the development of science and technology, algorithm to find the degree of similarity of documents have been developed by experts. Stemming is one way to improve the performance of information retrieval. The Data used in this study is thesis of the students in Bachelor Computer Science in University of North Sumatera. The author uses stemming Nazief and Adriani algorithm in finding the basic word/root word for each word in the thesis are tested. After derived the root word of every word, then from the root word is formed to gram, and calculated it’s hash value uses Rabin-Karp algorithm. After getted the hash value, so the hash value of thesis tested to be compared with the hash value of thesis are saved in the database system uses the formula of Dice Coefficient Similarity. The result of the comparison between the thesis in the form of percent, are saved to database system and published in system sequencely from the biggest of total percentage of it’s similarity to the smallest.

(16)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Plagiarisme atau sering disebut plagiat adalah penjiplakan atau pengambilan karangan, pendapat, dan sebagainya dari orang lain dan menjadikannya seolah-olah karangan dan pendapat sendiri (Alsasian, 2006). Plagiat dapat dianggap sebagai tindak pidana karena dianggap mencuri hak cipta orang lain dan melanggar undang-undang tentang hak cipta. Praktek plagiat juga dapat menimbulkan konflik antar sesama apabila terdapat lebih dari satu orang mengakui satu karya. Untuk itu, perlu adanya Sistem untuk mendeteksi plagiarisme (Eko, 2011).

Di dunia pendidikan, khususnya Universitas, rentan terjadi praktek plagiarisme. Misalnya dalam hal pembuatan Tugas Akhir, sering terjadi kemiripan antar Tugas Akhir. Untuk mendeteksi kemiripan tersebut, banyak Universitas yang masih melakukannya secara manual sehingga menghabiskan waktu yang lama juga tenaga yang ekstra (Hari, 2003). Seiring dengan perkembangan zaman, kemajuan ilmu dan teknologi, khususnya di bidang ilmu komputer, algoritma untuk mendeteksi kemiripan dokumen ditemukan dan berhasil dikembangkan oleh para ahli (Salmuasih & Sunyoto, 2013). Hal ini membuat penulis tertarik mengembangkan sistem komputer untuk mendeteksi plagiarisme.

Dalam proses mendeteksi plagiarisme menggunakan sistem komputer,

stemming adalah salah satu cara yang digunakan untuk meningkatkan performa

(17)

2

words (Salmuasih & Sunyoto, 2013). Selanjutnya untuk menghitung persentasi kemiripan tersebut terdapat beberapa algoritma misalnya Algoritma Winnowing, Algoritma Smith Waterman, Algoitma Boyer-Moore dan Algoritma Rabin-Karp

(Salmuasih & Sunyoto, 2013). Penulis mengambil Algoritma Rabin-Karp untuk proses perhitungannya.

Berdasarkan latar belakang yang telah diuraikan diatas, maka penulis mencoba melakukan penelitian dengan judul “Implementasi Algoritma Rabin-Karp menggunakan Stemming Nazief dan Adriani Untuk Mendeteksi Tingkat Kemiripan

File Teks Yang Berbentuk Skripsi.

1.2Rumusan Masalah

Rumusan masalah dalam penelitian ini adalah : bagaimana membuat sistem yang mampu mendeteksi tingkat kemiripan file teks yang berbentuk skripsi menggunakan algoritma Rabin-Karp beserta stemming Nazief dan Adriani.

1.3 Batasan Masalah

Agar pembahasan dalam penelitian ini terarah, diperlukan batasan-batasan berikut: 1. Aplikasi ini hanya mendeteksi kemiripan file teks yang berbentuk skripsi.

2. Aplikasi ini hanya bisa memproses file berekstensi pdf (.pdf) yang diambil dari repository USU.

3. Data yang digunakan adalah skripsi mahasiswa S1 ilmu komputer USU stambuk 2006,2007,2008 masing-masing 10 skripsi.

4. Aplikasi hanya dapat membaca teks, gambar dan rumus pada file skripsi yang akan dibandingkan tidak diperhitungkan.

5. Tools yang digunakan adalah PHP & MySQL.

1.4 Tujuan Penelitian

Tujuan penelitian ini adalah sebagai berikut:

1. Untuk mendeteksi kemiripan file teks yang berbentuk skripsi.

(18)

3

3. Untuk mengimplementasikan keefisienan algoritma Rabin-Karp dalam

menghitung persentasi kemiripan file teks.

1.5 Manfaat Penelitian

Penelitian ini diharapkan dapat mendeteksi kemiripan file teks yang berbentuk skripsi mahasiswa untuk mengantisipasi plagiarisme.

1.6 Metodologi Penelitian

Tahapan yang dilakukan dalam penelitian ini adalah:

• Studi Literatur dan Pengumpulan Data

Pada penelitian ini penulis melakukan studi literatur dan mengumpulkan data dari buku-buku, artikel-artikel, jurnal-jurnal, web site-web site yang berhubungan dengan penelitian penulis, natural language processing.

• Analisis dan Perancangan Sistem

Melakukan analisis algoritma Stemming Nazief dan Adriani serta algoritma Rabin-Karp. Pada tahap ini juga akan di susun perancangan sistem dengan menerapkan algoritma Stemming Nazief dan Adriani sebagai algoritma stemmer untuk pendeteksian kemiripan dokumen, serta algoritma Rabin-Karp sebagai algoritma penghitung persentase kemiripan.

• Implementasi

Tahap ini dilakukan dengan mengimplementasikan perancangan sistem dan

flowchart yang ditetapkan kedalam bahasa pemrograman PHP.

• Pengujian

Pengujian aplikasi yang telah selesai dibuat.

• Dokumentasi

(19)

4

1.7 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai berikut:

BAB 1: PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang pemilihan judul skripsi “Implementasi Algoritma Rabin-Karp Menggunakan Stemming Nazief dan Adriani Untuk Mendeteksi Tingkat Kemiripan File Teks Yang Berbentuk Skripsi, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.

BAB 2: LANDASAN TEORI

Bab ini akan membahas teori-teori yang berkaitan dengan Data Mining, Teks Mining, ekstraksi dokumen, algoritma Rabin-Karp, stemming Nazief dan Adriani.

BAB 3: ANALISIS DAN PERANCANGAN SISTEM

Bab ini akan menjabarkan tentang tujuan dari perancangan sistem, ukuran-ukuran setiap perspektif, penentuan target yang menjadi tolak ukur keberhasilan peningkatan kinerja, dan juga tahapan dalam mengimplementasikan metode.

BAB 4: IMPLEMENTASI DAN PENGUJIAN

(20)

5

BAB 5: KESIMPULAN DAN SARAN

(21)

BAB 2

LANDASAN TEORI

2.1 Text Mining

Text mining, yang juga disebut sebagai Teks Data Mining (TDM) atau Knowledge Discovery in Text (KDT), secara umum mengacu pada proses ekstraksi informasi dari dokumen-dokumen teks tak terstruktur (unstructured). Text mining dapat didefinisikan sebagai penemuan informasi baru dan tidak diketahui sebelumnya oleh komputer, yang secara otomatis mengekstrak informasi dari sumber-sumber teks tak terstruktur yang berbeda. Kunci dari proses ini adalah menggabungkan informasi yang berhasil diekstraksi dari berbagai sumber (Eko, 2011).

Tujuan utama text mining adalah mendukung proses knowledge discovery pada koleksi dokumen yang besar. Pada prinsipnya, text mining adalah bidang ilmu multidisipliner, melibatkan information retrieval (IR), text analysis, information extraction (IE), clustering, categorization, visualization, database technology, natural language processing (NLP), machinelearning, dan data mining. Dapat pula dikatakan bahwa text mining merupakan salah satu bentuk aplikasi kecerdasan buatan (artificial intelligence / AI) (Eko, 2011).

Text mining mencoba memecahkan masalah information overload dengan

menggunakan teknik-teknik dari bidang ilmu yang terkait. Text mining dapat dipandang sebagai suatu perluasan dari data mining atau knowledge-discovery in

database (KDD), yang mencoba untuk menemukan pola-pola menarik dari basis data

(22)

dan mengujinya dalam upaya mengungkap struktur dan arti yang tersembunyi di dalam teks (Eko, 2011).

Perbedaan mendasar antara text mining dan data mining terletak pada sumber data yang digunakan. Pada data mining, pola-pola diekstrak dari basis data yang terstruktur, sedangkan di text mining, pola-pola diekstrak dari data tekstual (natural language). Secara umum, basis data didesain untuk program dengan tujuan melakukan pemrosesan secara otomatis, sedangkan teks ditulis untuk dibaca langsung oleh manusia (Eko, 2011).

2.1.1 Ruang Lingkup Text mining

Text mining merupakan suatu proses yang melibatkan beberapa area teknologi.

Namun secara umum proses-proses pada text mining mengadopsi proses data mining. Bahkan beberapa teknik dalam proses text mining juga menggunakan teknik-teknik

data mining (Eko, 2011).

Ada empat tahap proses pokok dalam text mining, yaitu pemrosesan awal terhadap teks (text preprocessing), transformasi teks (text transformation), pemilihan fitur (feature selection), dan penemuan pola (pattern discovery) (Eko, 2011).

a. Text Preprocessing

Tahap ini melakukan analisis semantik (kebenaran arti) dan sintaktik (kebenaran susunan) terhadap teks. Tujuan dari pemrosesan awal adalah untuk mempersiapkan teks menjadi data yang akan mengalami pengolahan lebih lanjut. Operasi yang dapat dilakukan pada tahap ini meliputi part-of-speech (PoS) tagging, menghasilkan parse tree untuk tiap-tiap kalimat, dan pembersihan teks.

b. Text Transformation

(23)

c. Feature Selection

Pemilihan fitur (kata) merupakan tahap lanjut dari pengurangan dimensi pada proses transformasi teks. Walaupun tahap sebelumnya sudah melakukan penghapusan kata-kata yang tidak deskriptif (stopwords), namun tidak semua kata-kata di dalam dokumen memiliki arti penting. Oleh karena itu, untuk mengurangi dimensi, pemilihan hanya dilakukan terhadap kata-kata yang relevan yang benar-benar merepresentasikan isi dari suatu dokumen. Ide dasar dari pemilihan fitur adalah menghapus kata-kata yang kemunculannya di suatu dokumen terlalu sedikit atau terlalu banyak. Algoritma yang digunakan pada text mining, biasanya tidak hanya melakukan perhitungan pada dokumen saja, tetapi juga pada feature . Empat macam

feature yang sering digunakan:

Character, merupakan komponan individual, bisa huruf, angka, karakter

spesial dan spasi, merupakan block pembangun pada level paling tinggi pembentuk semantik feature, seperti kata, term dan concept. Pada umumnya, representasi character-based ini jarang digunakan pada beberapa teknik pemrosesan teks.

Words.

Terms merupakan single word dan multiword phrase yang terpilih secara

langsung dari corpus. Representasi term-based dari dokumen tersusun dari

subset term dalam dokumen.

Concept, merupakan feature yang di-generate dari sebuah dokumen secara

manual, rule-based, atau metodologi lain.

d. Pattern Discovery

Pattern discovery merupakan tahap penting untuk menemukan pola atau pengetahuan

(knowledge) dari keseluruhan teks. Tindakan yang lazim dilakukan pada tahap ini adalah operasi text mining, dan biasanya menggunakan teknik-teknik data mining. Dalam penemuan pola ini, proses text mining dikombinasikan dengan proses-proses

(24)

interpretasi merupakan tahap akhir dari proses text mining dan akan disajikan ke pengguna dalam bentuk visual (Eko, 2011).

2.2 Ekstraksi Dokumen

Teks yang akan dilakukan proses text mining, pada umumnya memiliki beberapa karakteristik diantaranya adalah memiliki dimensi yang tinggi, terdapat noise pada data, dan terdapat struktur teks yang tidak baik. Cara yang digunakan dalam mempelajari suatu data teks, adalah dengan terlebih dahulu menentukan fitur-fitur yang mewakili setiap kata untuk setiap fitur yang ada pada dokumen. Sebelum menentukan fitur-fitur yang mewakili, diperlukan tahap preprocessing yang dilakukan secara umum dalam teks mining pada dokumen, yaitu case folding, tokenizing,

filtering, stemming, tagging dan analyzing.

Gambar 2.1 Tahap Preprocessing

a. Case folding dan Tokenizing

Case folding adalah mengubah semua huruf dalam dokumen menjadi huruf kecil.

Hanya huruf “a” sampai dengan “z” yang diterima. Karakter selain huruf dihilangkan dan dianggap delimiter. Tahap tokenizing / parsing adalah tahap pemotongan string input berdasarkan tiap kata yang menyusunnya.

b.Filtering

Filtering adalah tahap mengambil kata-kata penting dari hasil token. Bisa

menggunakan algoritma stoplist (membuang kata yang kurang penting) atau wordlist CASE FOLDING

TOKENIZING

FILTERING

(25)

(menyimpan kata penting). Stoplist/stopword adalah kata-kata yang tidak deskriptif yang dapat dibuang dalam pendekatan bag-of-words. Contoh stopwords adalah “yang”, “dan”, “di”, “dari”, dan seterusnya.

c. Stemming

Tahap stemming adalah tahap mencari root kata dari tiap kata hasil filtering. Pada tahap ini dilakukan proses pengembalian berbagai bentukan kata ke dalam suatu representasi yang sama. Tahap ini kebanyakan dipakai untuk teks berbahasa nggris dan lebih sulit diterapkan pada teks berbahasa Indonesia. Hal ini dikarenakan bahasa Indonesia tidak memiliki rumus bentuk baku yang permanen (Eko, 2011). Stemming

merupakan suatu proses yang terdapat dalam sistem IR yang mentransformasi kata-kata yang terdapat dalam suatu dokumen ke kata-kata-kata-kata akarnya (root word) dengan menggunakan aturan-aturan tertentu. Sebagai contoh, kata bersama, kebersamaan, menyamai, akan distem ke root wordnya yaitu “sama”. Proses stemming pada teks berbahasa Indonesia berbeda dengan stemming pada teks berbahasa Inggris. Pada teks berbahasa Inggris, proses yang diperlukan hanya proses menghilangkan sufiks. Sedangkan pada teks berbahasa Indonesia, selain sufiks, prefiks, dan konfiks juga dihilangkan (Ledy, 2009).

2.2.1 Stemming dengan Algoritma Nazief dan Adriani

Stemming adalah proses pemetaan variansi morfologikal kata dalam kata dasar atau kata umumnya (stem) (Adhitia, 2009). Misalnya kata "perancangan" dan "merancang" akan diubah menjadi sebuah kata yang sama, yaitu "rancang". Proses stemming sangat tergantung kepada bahasa dari kata yang akan di-stem. Hal ini dikarenakan, dalam melakukan proses stemming harus mengaplikasikan aturan morfologikal dari suatu bahasa.

(26)

Aturan imbuhan yang digunakan pada Bahasa Indonesia lebih kompleks, tidak seperti aturan imbuhan Bahasa Inggris. Pada Bahasa Indonesia terdapat aturan imbuhan yang lebih kompleks yang meliputi awalan, akhiran, sisipan, dan konfiks (kombinasi dari awalan dan akhiran).

Banyak penelitian yang dilakukan untuk menemukan algoritma stemming yang tepat dan bagus dalam Bahasa Indonesia, antara lain algoritma Nazief & Adriani, algoritma Arifin & Setiono, dan algoritma Vega (Asian et al, 2005). Menurut penelitian Jelita Asian sebagaimana disebutkan dalam (Novanta, 2009) menyatakan berdasarkan aturan morfologi Bahasa Indonesia dapat dinyatakan bahwa algoritma Nazief & Adriani adalah algoritma yang memiliki hasil terbaik. Nazief & Adriani menyimpulkan sebuah kata dasar dapat ditambahkan imbuhan berupa derivation prefix (DP) di awal dan/atau diakhiri secara berurutan oleh derivation suffix (DS),

possesive pronoun (PP), dan particle (P) yang masing-masing bersifat optional. Keterangan diatas dirumuskan pada Gambar 2.2.

Gambar 2.2 Format Kata Berimbuhan dalam Bahasa Indonesia

Adapun langkah-langkah yang digunakan oleh algoritma Nazief dan Adriani yaitu sebagai berikut:

1. Kata dicari di dalam daftar kamus. Bila kata tersebut ditemukan di dalam kamus, maka dapat diasumsikan kata tersebut adalah kata dasar sehingga algoritma dihentikan.

2. Bila kata di dalam langkah pertama tidak ditemukan di dalam kamus, maka diperiksa apakah sufiks tersebut yaitu sebuah partikel (“-lah” atau “-kah”). Bila ditemukan, maka partikel tersebut dihilangkan.

3. Pemeriksaan dilanjutkan pada kata ganti milik (“-ku”, “-mu”, “-nya”). Bila ditemukan, maka kata ganti tersebut dihilangkan.

4. Memeriksa akhiran (“-i”, “-an”). Bila ditemukan, maka akhiran tersebut dihilangkan.

(27)

Hingga langkah ke-4 dibutuhkan ketelitian untuk memeriksa apakah akhiran “-an” merupakan hanya bagian dari akhiran “-kan”, dan memeriksa lagi apakah partikel (“-lah”, “-kah”) dan kata ganti milik (“-ku”, “-mu”, “-nya”) yang telah dihilangkan pada langkah 2 dan 3 bukan merupakan bagian dari kata dasar.

5. Memeriksa awalan (“se-“, ”ke-“, “di-“, “te-“, “be-“, “pe-“, “me-“). Bila ditemukan, maka awalan tersebut dihilangkan. Pemeriksaan dilakukan dengan berulang mengingat adanya kemungkinan multi-prefix.

Langkah ke-5 ini juga membutuhkan ketelitian untuk memeriksa kemungkinan peluluhan awalan (Tabel 2.1), perubahan prefix yang disesuaikan dengan huruf-awal kata (Tabel 2.2) dan aturan kombinasi prefix-suffix yang diperbolehkan (Tabel 2.3). 6. Setelah menyelesaikan semua langkah dengan sukses, maka algoritma akan mengembalikan kata dasar yang ditemukan.

Tabel 2.1 Daftar Prefiks yang Meluluh

Jenis Prefiks Huruf Hasil Peluluhan

pe-/me- K -ng-

pe-/me- P -m-

pe-/me- S -ny-

pe-/me- T -n-

Tabel 2.2 Daftar Kemungkinan Perubahan Prefiks

(28)

Tabel 2.3 Daftar Kombinasi Prefiks dan Sufiks yang Tidak Diperbolehkan Prefiks Sufiks yang tidak diperbolehkan

be- -i

Algoritma Rabin-Karp diciptakan oleh Michael O. Rabin dan Richard M. Karp pada tahun 1987 yang menggunakan fungsi hashing untuk menemukan pattern di dalam

string teks. Karakteristik Algoritma Rabin-Karp : 1. Menggunakan sebuah fungsi hashing

2. Fase preprocessing menggunakan kompleksitas waktu O(m) 3. Untuk fase pencarian kompleksitasnya : O(mn )

4. Waktu yang diperlukan O(n+m) (Hary, 2009)

Fungsi hashing menyediakan metode sederhana untuk menghindari perbandingan jumlah karakter yang quadratik di dalam banyak kasus atau situasi. Daripada melakukan pemeriksaan terhadap setiap posisi dari teks ketika terjadi pencocokan pola, akan lebih baik efisien untuk melakukan pemeriksaan hanya jika teks yang sedang diproses memiliki kemiripan seperti pada pattern. Untuk melakukan pengecekan kemiripan antara dua kata ini digunakan fungsi hash (Hary, 2009).

Untuk membantu algoritma ini, maka fungsi hash harus memenuhi hal-hal berikut ini :

• dapat dihitung dengan efisien

• memiliki perbedaan yang tinggi untuk berbagai jenis string

hash (y[j+1 .. j+m] ) dapat dihitung dari hash (y[j.. j+m – 1])dan y[j+m]; yaitu

(29)

Untuk setiap word (8 bit) w yang memiliki panjang m, misalkan hash (w) didefinisikan sebagai berikut : (Hary, 2009)

Hash (w[0 .. m – 1])=(w[0]*2m – 1+ w[1]*2m – 2+···+ w[m – 1]*20) mod q (1)

Dimana q merupakan bilangan prima yang cukup besar. Kemudian, lakukan

rehash dengan rumus: (Hary, 2009)

Rehash (a,b,h)= ((h – a*2m – 1)*2+b) mod q (2)

Fase preprocessing dari algoritma Rabin-Karp mengandung perhitungan terhadap hash (x). Hal ini dapat dilakukan dalam waktu yang memilki kompleksitas O(m). Selama fase pencarian, hal yang perlu dilakukan cukup membandingkan hash

(x) dengan hash (y[j .. j+m-1]) untuk 0 < = j <n-m (Hary, 2009). Jika kesamaannya ditemukan, masih perlu melakukan pemeriksaan kesamaan

x=y [j..j+m – 1] untuk karakter-karakter selanjutnya. Kompleksitas waktu untuk fase pencarian dari algoritma Rabin-Karp ini adalah O(mn). Diharapkan jumlah karakter teks yang dibandingkan adalah O(m+n) (Hary, 2009).

Algoritma Rabin-Karp ini banyak digunakan dalam pendeteksian pencontekan atau kecurangan. Contohnya pada makalah atau pada paper. Fungsi hash yang digunakan biasanya modulo berbasis bilangan prima besar. Alasan dipilih bilangan prima yang cukup besar adalah untuk mengurangi kemungkinan dua buah

correspending number value yang sama. Sedangkan basis dipilih 10 karena

banyaknya jenis karakter yang mungkin muncul adalah 0 sampai 9 berjumlah 10 jenis (Hary, 2009).

Bila diberikan source matrial atau dokumennya, algoritma ini dapat dengan cepat mencari seluruh paper dari setiap kalimat, mengabaikan lowercase dan

(30)

2.3.1 Hashing

Hashing adalah suatu cara untuk mentransformasi sebuah string menjadi suatu nilai yang unik dengan panjang tertentu (fixed-length) yang berfungsi sebagai penanda string tersebut. Fungsi untuk menghasilkan nilai ini disebut fungsi hash, sedangkan nilai yang dihasilkan disebut nilai hash. Contoh sederhana hashing adalah:

Firdaus, Hari Munir, Rinaldi Rabin, Michael Karp, Richard

menjadi :

7864 = Firdaus, Hari 9802 = Munir, Rinaldi 1990 = Rabin, Michael 8822 = Karp, Richard

Contoh di atas adalah pengunaan hashing dalam pencarian pada database . Apabila tidak di-hash, pencarian akan dilakukan karakter per karakter pada nama- nama yang panjangnya bervariasi dan ada 26 kemungkinan pada setiap karakter. Namun pencarian akan menjadi lebih efisien setelah di-hash karena hanya akan membandingkan empat digit angka dengan cuma 10 kemungkinan setiap angka. Nilai hash pada umumnya digambarkan sebagai fingerprint yaitu suatu string pendek yang terdiri atas huruf dan angka yang terlihat acak (data biner yang ditulis dalam heksadesimal) (Eko, 2011).

(31)

string secara Brute-Force. Kunci agar algoritma Rabin-Karp efisien, terdapat pada pemilihan hash value -nya. Salah satu cara yang terkenal dan efektif adalah memperlakukan setiap substring sebagai suatu bilangan dengan basis tertentu (Eko, 2011).

2.3.2 K-grams

K-grams adalah rangkaian terms dengan panjang K. Kebanyakan yang digunakan

sebagai terms adalah kata. K-gram merupakan sebuah metode yang diaplikasikan untuk pembangkitan kata atau karakter. 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.

Contoh k-grams dengan k=5 : Text: A do run run run, a do run run

Kemudian dilakukan penghilangan spasi : Adorunrunrunadorunrun

Sehingga dihasilkan rangkaian 5-grams yang diturunkan dari text : adoru dorun orunr runru unrun nrunr runru unrun nruna runad unado nador adoru dorun orunr runru unrun (Eko, 2011)

2.3.3 Konsep Algoritma Rabin-Karp

(32)

Algoritma Rabin-Karp sebagai berikut : 1 function RabinKarp

(string s[1..n], string sub[1..m]) 2 hsub :-hash(sub[1..m])

3 hs :- hash(s[1..m]) 4 for i from 1 to n 5 if hs – hsub

6 if s[ i..i+m-1] – sub 7 return i

8 hs :- hash (s[i+1..i+m] )

9 return not found (Alsasian, 2006)

2.4Dice Coefficient Similarity

Dice Coefficient Similarity digunakan untuk menghitung kesamaan dari dokumen. Rumus dari Dice Coefficient Similarity adalah :

2 | X ∩ Y |

D ( X , Y ) = ————— (3)

| X | + | Y | Dimana:

X : Nilai Dokumen 1 Y : Nilai Dokumen 2

Dice Coefficient adalah rumus umum untuk menghitung kemiripan dokumen dengan

(33)

BAB 3

ANALISIS DAN PERANCANGAN

3.1Analisis Sistem

Analisis sistem merupakan tahap awal dalam melakukan penelitian. Tujuan dari analisis sistem adalah untuk mengetahui masalah-masalah yang ada dalam pembuatan sistem. Analisis sistem merupakan teknik pemecahan masalah dengan menggambarkan proses-proses yang ada dalam sistem untuk mendapatkan keluaran yang sesuai dengan kebutuhan user.

3.1.1 Analisis Masalah

Analisis masalah sistem dirancang menggunakan cause-and-effect analisis.

3.1.1.1 Cause-and-Effect analisis

(34)

Tabel 3.1 Cause-and-Effect Analysis

Cause-and-Effect Analysis System Improvement Objective Problem or

Opportunit

Cause and Effects System Objective

1. Diperlukan sistem

pendeteksi kemiripan file. 2. Deteksi kemiripan

antar file secara

stemming Nazief dan Adriani

Diagram Ishikawa (fishbone diagram) sering disebut diagram sebab akibat. Diagram ini membantu mengidentifikasi, mengeksplorasi dan menggambarkan masalah dengan mengikutsertakan sebab dan akibat dari permasalahan dalam visual grafis. Dengan diagram ishikawa ini proses pencapaian sistem akan sangat terbantu.

Masalah utama dari sistem yang akan dirancang pada skripsi ini adalah bagaimana membuat sebuah sistem pendeteksi kemiripan file dengan algoritma Rabin Karp dan

stemming Nazief dan Adriani. Di bawah ini adalah diagram ishikawa untuk analisis

(35)

Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem

Pada diagram ishikawa gambar 3.1, masalah utama ditunjukkan pada segi empat yang berada paling kanan (bagian kepala) diagram ishikawa. Aspek ditunjukkan pada segiempat yang dihubungkan ke ke garis utama (garis horizontal menuju bagian kepala), sedangkan sebab – akibat ditunjukkan dalam bentuk tanda panah horizontal kecil pada masing – masing kategori masalah.

3.1.2 Analisis Persyaratan ( Requirement Analysis )

Analisis Persyaratan berguna untuk menentukan syarat-syarat yang diperlukan untuk membuat sebuah sistem. Analisis persyaratan sebuah sistem dapat dikelompokkan menjadi 2 bagian yaitu, analisis fungsional dan analisis non-fungsional.

3.1.2.1 Analisis Fungsional Sistem

Analisis fungsional sistem merupakan kegiatan pelayanan yang harus dimiliki oleh sistem. Dapat berupa input, output, proses atau data yang tersimpan. Pada fase ini dapat diketahui hal-hal apa saja yang dapat dilakukan oleh sistem, seperti:

Kata di-stem mengunakan

(36)

1. Sistem hanya mampu mendeteksi file berekstensi pdf.

2. Sistem dapat membaca file skripsi berekstensi pdf yang akan dibandingkan yang

diinput user dan kemudian disimpan ke database.

3. Sistem dapat melakukan proses preprocessing dengan stemming Nazief dan Adriani. 4. Sistem dapat melakukan proses perhitungan persentase kemiripan dengan algoritma

Rabin Karp.

5. Sistem dapat menampilkan hasil persentase perhitungan kemiripan.

3.1.2.2 Analisis Non Fungsional Sistem

Analisis non fungsional sistem adalah karakteristik yang menentukan kepuasan sebuah sistem seperti performa, kemudahan penggunaan, anggaran biaya, efisiensi dan dokumentasi yang mampu bekerja tanpa mengganggu fungsionalitas sistem lainnya.

Analisis non fungsional sistem dari sistem yang dibangun yaitu dari segi performa adalah sistem dapat mendeteksi file teks yang berbentuk skripsi dengan baik. Dari segi kemudahan penggunaan adalah sistem yang ditampilkan user friendly dan menarik sehingga user mudah menggunakan sistem dan tidak mendapatkan kesulitan dalam mempelajari sistem. Dari segi anggaran biaya adalah sistem memiliki kemampuan bekerja dengan baik tanpa harus mengeluarkan biaya tambahan untuk perangkat keras dan perangkat lunak. Dari segi efisiensi adalah sistem tidak memerlukan waktu yang cukup lama dalam pemrosesan. Dari segi dokumentasi adalah sistem dapat menyimpan file yang sudah diproses.

3.1.3 Pemodelan Sistem dengan Use Case

(37)

3.1.3.1 Diagram Use Case

Pada sistem ini, Use case diagram digunakan untuk pemodelan fungsional sistem. Diagram use case merupakan diagram yang mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem. Masing-masing diagram use case memiliki actor, use

case, sequence diagram dan hubungan antar mereka. Pada sistem ini actor sebagai

pengguna (user) dan yang dapat menginput file untuk dideteksi tingkat kemiripannya dengan file lain yang ada di database sistem seperti pada Gambar 3.2.

User

Pada diagram use case yang ditunjukkan pada Gambar 3.2 diatas user juga dapat berperan sebagai admin. User menginputkan file yang akan dibandingkan dengan file yang ada di database sistem, dimana hanya file yang berekstensi .pdf yang dapat diproses sistem. Kemudian sistem memproses file dengan algoritma yang dipakai.

3.1.3.2 Use Case Membandingkan Skripsi

(38)

Tabel 3.2 Dokumentasi Naratif Use Case Membandingkan skripsi

Nama Use Case Membandingkan skripsi

Aktor Admin/User

Deskripsi Use Case ini berfungsi untuk membandingkan skripsi menggunakan algoritma Rabin Karp dan stemming Nazief dan

Adriani

Pre Condition Skripsi yang akan dibandingkan sudah diinput, sistem telah dieksekusi

Normal Flow Kegiatan Aktor Respon Sistem

Langkah 1: User menginputkan nim dan judul skripsi yang akan dibandingkan

Langkah 3: User menekan tombol pilih skripsi Langkah 5: User memilih skripsi yang akan dibandingkan

Langkah 7: User menekan tombol bandingkan untuk

memulai proses

Langkah 2: Sistem menyimpan ke database dan menampilkan nim dan judul skripsi yang baru

diinput Langkah 4: Sistem menampilkan file dialog Langkah 6: Sistem menyimpan lokasi skripsi dan menginputnya

untuk dibandingkan Langkah 8: Sistem melakukan

proses perbandingan dengan algoritma Rabin Karp dan stemming Nazief dan Adriani

Langkah 9: Sistem menampilkan persentase kemiripan skripsi yang diinput

dengan skripsi yang sudah tersimpan di database sistem

(39)

3.1.3.3 Activity Diagram Membandingkan Skripsi

Activity Diagram untuk use case Membandingkan Skripsi dapat dilihat pada gambar 3.3:

USER SISTEM

Menekan tombol

“pilih skripsi” Isi skripsi ditampilkan

Memproses skripsi dengan

stemming Nazief dan Adriani

Membentuk Hash menggunakan algoritma

Rabin-Menginput nim dan judul skripsi yang akan dibandingkan

Menyimpan nim dan judul ke database

Menekan tombol “Masukkan”

Menampilkan nim dan judul yang baru diinput

(40)

Gambar 3.3 Activity Diagram Membandingkan Skripsi

3.1.3.4 Use Case Algoritma Stemming Nazief dan Adriani

Tabel dokumentasi naratif dari use case algoritma stemming Nazief dan Adriani dapat dilihat pada tabel 3.3.

Tabel 3.3 Dokumentasi Naratif Use Case Algoritma Stemming Nazief dan Adriani Nama Use Case Algoritma Stemming Nazief dan Adriani

Aktor Sistem

Deskripsi Use Case ini berfungsi untuk melakukan proses stemming kata Menampilkan hasil persentase

kemiripan antar file skripsi Menampilkan nilai Hash hasil

perhitungan Menekan tombol

“Masukkan ke database”

Memasukkan nilai hash yang didapat ke database

Menghitung nilai kemiripan antar skripsi dengan membandingkan nilai hash

skripsi yang baru diinput dengan skripsi yang sudah

(41)

menggunakan algoritma Nazief dan Adriani Pre Condition User sudah mengklik tombol proses pada sistem

Normal Flow Kegiatan Aktor Respon Sistem

Langkah 1: User menginput file

Langkah 2: Sistem mengambil kata

Langkah 3: Sistem menghapus partikel –lah, -kah, -pun. Langkah 4: Sistem menghapus kata ganti milik –ku, -mu, -nya. Langkah 5: Sistem menghapus

akhiran -i, -an.

Langkah 6: Sistem menghapus awalan se-, ke-, di-, ter-, ber-,

pe-, me-, per-.

Langkah 7: Sistem memeriksa apakah kata merupakan kata

dasar

Past Condition Sistem memperoleh kata dasar

3.1.3.5 Activity Diagram Algoritma Stemming Nazief dan Adriani

(42)

USER SISTEM

Gambar 3.4 Activity Diagram Algoritma Stemming Nazief dan Adriani

3.1.3.6 Use Case Algoritma Rabin-Karp

Tabel dokumentasi naratif dari use case algoritma Rabin-Karp dapat dilihat pada tabel 3.4.

Input File

Menghapus partikel -lah, -kah, -pun

Menghapus kata ganti milik –ku, -mu, -nya

Menghapus akhiran –i, -an

Menghapus awalan se-, ke-, di-, ter-, ber-, pe-, per-, me-

(43)

Tabel 3.4 Dokumentasi Naratif Use Case Algoritma Rabin-Karp

Nama Use Case Algoritma Rabin-Karp

Aktor Sistem

Deskripsi Use Case ini berfungsi untuk mendapat nilai hash Pre Condition User sudah menekan tombol proses pada sistem

Normal Flow Kegiatan Aktor Respon Sistem

Langkah 1: User menginput file skripsi

Langkah 5: User dapat melihat nilai hash file skripsi yang

diinput

Langkah 2: Sistem membentuk gram

Langkah 3: Sistem membentuk hash

Langkah 4: Sistem menyimpan nilai hash ke database

Past Condition Sistem menampilkan nilai hash

3.1.3.7 Activity Diagram Algoritma Rabin-Karp

(44)

USER SISTEM

Gambar 3.5 Activity Diagram Algoritma Rabin-Karp

3.1.3.8 Use CaseDice Coefficient Similarity

Tabel dokumentasi naratif dari use case Dice Coefficient Similarity dapat dilihat pada tabel 3.5.

Tabel 3.5 Dokumentasi Naratif Use CaseDice Coefficient Similarity

Nama Use Case Dice Coefficient Similarity

Aktor Sistem

Deskripsi Use Case ini berfungsi untuk menghitung persentase kemiripan Input file skripsi

Menekan tombol proses Membentuk Gram

Membentuk hash

Menyimpan nilai hash ke database

(45)

file

Pre Condition User sudah berada di Form Kemiripan

Normal Flow Kegiatan Aktor Respon Sistem

Langkah 1: User melihat form

kemiripan pada sistem

Langkah 2: Sistem mengambil nilai hash

Langkah 3: Sistem menghitung persentase kemiripan skripsi dengan rumus Dice Coefficient, rumus umum untuk menghitung kemiripan dokumen, yaitu dengan mengalikan 2 jumlah nilai hash yang sama antara dokumen pertama dengan nilai hash dokumen kedua kemudian membaginya dengan jumlah nilai hash dokumen pertama dengan nilai hash dokumen kedua.

Langkah 4: Sistem menyimpan nilai persentase file skripsi ke

database. Langkah 5: Sistem menampilkan presentase

kemiripan file skripsi.

Past Condition Sistem menampilkan persentase kemiripan antar skripsi pada

(46)

3.1.3.9 Activity DiagramDice Coefficient Similarity

Acitvity Diagram dari use caseDice Coefficient Similarity dapat dilihat pada gambar 3.6.

USER SISTEM

Gambar 3.6 Activity Diagram Dice Coefficient Similarity

Mengambil nilai hash

Menghitung persentase kemiripan skripsi dengan rumus Dice

Coefficient Similarity

2 | X ∩ Y | D ( X , Y ) = —————

| X | + | Y |

Menyimpan nilai hasil persentase ke database

Melihat form kemiripan pada sistem

(47)

3.1.3.10 Use Case Melihat Skripsi

Tabel dokumentasi naratif dari use case melihat skripsi dapat dilihat pada tabel 3.6.

Tabel 3.6 Dokumentasi Naratif Use Case Melihat Skripsi

Nama Use Case Melihat skripsi

Aktor Admin/User

Deskripsi Use Case ini berfungsi untuk melihat daftar skripsi yang sudah diproses menggunakan algoritma Rabin Karp dan stemming

Nazief dan Adriani dan sudah disimpan di database Pre Condition User sudah berada pada tampilan daftar skripsi

Normal Flow Kegiatan Aktor Respon Sistem

Langkah 1: User melihat daftar skripsi yang sudah

disimpan ke database Langkah 2: User mengklik judul skripsi yang akan dilihat

Langkah 3: Sistem menampilkan Judul Skripsi, isi

skripsi dan nilai hash yang sudah disimpan di database

Past Condition Sistem menampilkan data skripsi

3.1.3.11 Activity Diagram Melihat Skripsi

(48)

USER SISTEM

Gambar 3.7 Activity Diagram Melihat Skripsi

3.1.4 Analisis Proses Sistem

Analisis proses pada sistem dapat digambarkan dengan Sequence Diagram. Sequence Diagram berfungsi menunjukkan hubungan statis antara actor dan lifeline. Sequence

Diagram untuk sistem pendeteksi tingkat kemiripan file teks menggunakan algoritma

Rabin-Karp dan stemming Nazief dan Adriani dapat dilihat pada gambar 3.8. Melihat daftar skripsi yang

sudah disimpan ke database

Mengklik judul skripsi yang akan dilihat

Menampilkan judul skripsi, isi skripsi dan nilai hash yang sudah

(49)

Sistem Stemming Nazief dan Adriani Algoritma Rabin-Karp Dice Coefficient Simillarity

kemiripan() Cek_Kamus($kata)

Del_Inflection_Suffixes($kata)

Del_Derivation_Suffixes($kata)

Del_Derivation_Prefixes($kata) hapus_spasi($teks)

pembentukan_gram($teks, $kgram)

pembentukan_hash($gram) dice($h1, $h2)

hitung_hash_sama($hash1, $hash2)

Gambar 3.8 Sequence Diagram Sistem

3.1.5 Flow Chart

Flow chart adalah diagram alir proses .

3.1.5.1 Flow Chart Algoritma Rabin-Karp

(50)

Mulai

Selesai Tentukan

Gram

Bentuk Gram

Bentuk Hash

Gambar 3.9 Flow Chart Algritma Rabin-Karp

3.1.5.2 Flow Chart Algoritma Stemming Nazief dan Adriani

(51)

Mulai

Selesai Input Kata

Hapus Partikel -lah, -kah , -pun

Hapus kata ganti milik -ku, -mu, -nya

(52)

3.2 Perhitungan Kemiripan

Untuk perhitungan kemiripan antar dua file, digunakan Dice Coefficient Similarity. Berikut ini rumus perhitungannya:

2 | X ∩ Y |

D ( X , Y ) = ————— (3)

| X | + | Y |

Dimana:

D ( X , Y) : Nilai Kemiripan X : Nilai hash dokumen 1 Y : Nilai hash dokumen 2

Dice Coefficient adalah rumus umum untuk menghitung kemiripan dokumen dengan

mengalikan 2 jumlah nilai hash yang sama antara dokumen pertama dengan nilai hash dokumen kedua kemudian membaginya dengan jumlah nilai hash dokumen pertama dengan nilai hash dokumen kedua.

3.3 Perancangan Antar Muka

Perancangan Antar Muka Implementasi Algoritma Rabin Karp dan Stemming Nazief dan Adriani Untuk Mendeteksi Tingkat Kemiripan File Teks Yang Berbentuk Skripsi dibuat dengan tools php dan mysql, dapat dilihat pada Gambar 3.11.

3.3.1 Perancangan Antar Muka Form Home

(53)

Gambar 3.11 Tampilan Form Home

3.3.2 Perancangan Antar Muka Form Masukkan Skripsi

Setelah Masuk ke halaman utama, maka akan kita lihat 4 pilihan halaman, Home, Masukkan Skripsi, Kemiripan dan Skripsi. Form kedua yaitu form Masukkan Skripsi dapat kita lihat pada gambar 3.12.

KEMIRIPAN SKRIPSI DENGAN RABIN KARP,NAZIEF DAN ADRIANI

(54)

Gambar 3.12 Tampilan Form Masukkan Skripsi

Pada form Masukkan Skripsi seperti pada Gambar 3.12 sistem meminta pengguna mengetikkan Nim dan Judul dari skripsi yang akan dibandingkan. Setelah Nim dan Judul diketikkan maka akan ditampilkan di form Masukkan Skripsi.

KEMIRIPAN SKRIPSI DENGAN RABIN KARP,NAZIEF DAN ADRIANI

Home Masukkan Skripsi Kemiripan Skripsi

Nim :

Judul :

NO NIM JUDUL COVER ABSTRAK BAB

1

(55)

3.3.3 Perancangan Antar Muka Form Kemiripan

Form ketiga yaitu form Kemiripan, dapat kita lihat pada gambar 3.13.

Gambar 3.13 Tampilan Form Kemiripan

Pada form Kemiripan seperti tampak pada gambar 3.13 akan ditampilkan data persentase kemiripan antar file skripsi yang telah dihitung oleh sistem dan disimpan ke database.

KEMIRIPAN SKRIPSI DENGAN RABIN KARP,NAZIEF DAN ADRIANI

Home Masukkan Skripsi Kemiripan Skripsi

(56)

3.3.4 Perancangan Antar Muka Form Skripsi

Form keempat yaitu form Skripsi, dapat kita lihat seperti pada gambar 3.14.

Gambar 3.14 Tampilan Form Skripsi

Form Skripsi seperti gambar 3.14, berisi daftar skripsi yang telah diproses sistem. KEMIRIPAN SKRIPSI DENGAN RABIN KARP,NAZIEF DAN ADRIANI

Home Masukkan Skripsi Kemiripan Skripsi

(57)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Sistem

Tahap implementasi sistem merupakan proses pengubahan spesifikasi sistem menjadi sistem yang dapat dijalankan. Berdasarkan hasil analisis dan perancangan sistem yang telah dilakukan, maka dilakukan implementasi ke dalam bentuk program komputer. Implementasi merupakan tahap menerjemahkan hasil perancangan sistem secara rinci ke dalam bahasa pemrograman.

Pada bab ini dijelaskan implementasi dari penggabungan algoritma stemming

Nazief dan Adriani dan Rabin-Karp serta perhitungan rumus Dice Coefficient Similarity

ke dalam bentuk program. Pada bab sebelumnya telah dijelaskan prinsip kerja dari algoritma stemming Nazief dan Adriani dan Rabin-Karp. Implementasi dari analisis dan perancangan sistem ini menggunakan PHP dan MySQL dengan NetBeans IDE (

Integrated Development Enviroment ) 7.0.1.

4.1.1 Spesifikasi Perangkat Keras Yang Digunakan

Spesifikasi perangkat keras yang digunakan untuk membangun sistem deteksi kemiripan ini adalah sebagai berikut :

1. Prosesor : Intel Core 2 Duo 2,0 GHz 2. Harddisk : 320 GB

(58)

4.1.2 Spesifikasi Perangkat Lunak Yang Digunakan

Pada pengimplementasian sistem ini digunakan bahasa pemrograman PHP sehingga sistem ini dapat berjalan pada berbagai sistem operasi seperti Microsoft Windows, Linux dan lain-lain yang telah terinstal NetBeans sebagai editor PHP. Untuk databasenya digunakan database MySQL yang juga bisa berjalan di sistem operasi yang telah disebutkan. Pustaka pemrograman yang digunakan dalam implementasi sistem ini adalah XAMPP 1.7.3.

4.1.3 Implementasi Antarmuka Sistem

Pada tahapan implementasi antarmuka sistem akan ditampilkan setiap form yang digunakan pada sistem. Pada aplikasi ini terdapat 4(empat) form, yaitu:

1. Form Home

2. Form Masukkan Skripsi 3. Form Kemiripan

4. Form Skripsi

4.1.3.1 Tampilan Antarmuka Form Home

(59)

Gambar 4.1 Tampilan Antarmuka Form Home

4.1.3.2 Tampilan Antarmuka Form Masukkan Skripsi

Form Masukkan Skripsi merupakan tampilan antarmuka memasukkan NIM dan Judul dokumen skripsi yang akan diproses diperlihatkan pada Gambar 4.2.

(60)

Pada form ini pengguna dapat mengetikkan NIM dan Judul dari Skripsi yang akan dibandingkan. Setelah selesai diketik kemudian klik tombol “Masukkan” maka sistem akan menyimpan NIM dam Judul Skripsi ke database dan NIM dan Judul akan tertera di bawahnya. Misalkan kita ketikkan “081401027” pada Nim dan “ PERANCANGAN SISTEM PENDUKUNG KEPUTUSAN DALAM MEMILIH SAHAM BERDASARKAN SINYAL BELI DARI INDIKATOR BOLLINGER BANDS DENGAN METODE PEMBOBOTAN ENTROPI (STUDI KASUS:IHSG)”pada Judul kemudian klik tombol “Masukkan”, maka sistem akan menampilkan pada baris terakhir Nim dan Judul tersebut. Tampilan Form Masukkan Skripsi setelah diinput NIM dan Judul Skripsi yang akan dibandingkan dapat dilihat pada gambar 4.3.

Gambar 4.3 Tampilan Form Masukkan Skripsi setelah Nim dan Judul dari Skripsi yang akan dibandingkan dimasukkan

(61)

mengklik tombol “Pilih Cover” maka sistem menampilkan kotak dialog open dan user

dapat memilih File berisi Cover sesuai NIM dan Judul yang diinput dan hanya file berekstensi pdf yang dapat dibaca sistem. Setelah dipilih oleh user, maka sistem menyimpan lokasi file. Kemudian user dapat mengklik tombol “Tampilkan Isi” maka sistem akan membaca file dan menampilkan isi file yang hanya teks saja sementara gambar diabaikan. Setelah ditampilkan, maka user dapat mengklik tombol “Proses” dan sistem akan memulai proses perhitungan kemiripan.

Proses yang dilakukan oleh sistem meliputi beberapa tahap, tahap pertama yaitu mengubah huruf menjadi huruf kecil semua. Kemudian ke tahap kedua yaitu menghapus

stopword dan kata dibuat per-array. Setelah itu masuk ke tahap ketiga, yaitu stemming

kata dengan algoritma Nazief dan Adriani. Setelah kata di-stem maka tahap keempat yaitu menghapus spasi, Pada tahap keempat, yaitu penghapusan spasi, teks yang awalnya perkata dan perkalimat memiliki makna, berubah menjadi kumpulan huruf panjang yang tidak memiliki arti. Setelah terbentuk kumpulan huruf, maka tahap kelima merupakan penggunaan algoritma Rabin-Karp, yaitu membentuk gram. Pada sistem ini, satu gram

terdiri dari 5 huruf. Maka sistem membentuk array per-gram. Setelah didapat gram, maka pada tahap keenam sistem akan menghitung nilai hash dari tiap-tiap gram tersebut. Yaitu dengan rumus perhitungan nilai hash pada algoritma Rabin-Karp. Setelah semua proses selesai, maka akan muncul tombol “Masukkan Cover ke Database”. Pengguna dapat mengklik tombol tersebut lalu sistem akan memprosesnya. Setelah pengguna mengklik tombol “Masukkan Cover ke Database” maka sistem akan masuk ke Form “Skripsi”.

4.1.3.3 Tampilan Antarmuka Form Kemiripan

(62)

Gambar 4.4 Tampilan Antarmuka Form Kemiripan

Pada Form ini, pengguna dapat melihat perbandingan antar file yang baru diproses dengan file skripsi yang sudah tersimpan di database skripsi. Persentase kemiripan dihitung menggunakan Dice Coefficient Similarity, dimana rumusnya sudah dijelaskan di bab sebelumnya.

(63)

Gambar 4.5 Tampilan Form Kemiripan file skripsi yang terakhir di bandingkan

Pada saat sistem telah selesai memproses file sampai didapat nilai hash, kemudian pengguna mengklik tombol “Masukkan ke Database”, sebenarnya pada saat itu sistem langsung melakukan banyak proses. Prosesnya meliputi sistem akan memasukkan nilai

hash ke database, dan kemudian sistem langsung menghitung persentase kemiripan antar file yang baru dimasukkan dengan file yang sudah ada di database sistem. Proses penghitungan persentase kemiripannya dihitung menggunakan rumus Dice Coefficient Similarity. Setelah didapat persentase kemiripan file yang baru dimasukkan ke database dengan file yang sudah tersimpan di database maka sistem akan langsung menyimpannya ke Form “Kemiripan”. Sehingga data persentase kemiripan dari masing-masing file dapat ditampilkan seperti tampak pada gambar 4.4 dan 4.5.

4.1.3.4 Tampilan Antarmuka Form Skripsi

(64)

Gambar 4.6 Tampilan Antarmuka Form Skripsi

Daftar skripsi yang paling terakhir dimasukkan dapat dilihat seperti gambar 4.7.

Gambar 4.7 Tampilan Antarmuka Form Skripsi yang terakhir diinput

(65)

Gambar 4.8 Tampilan Form Skripsi setelah diklik Judul dari skripsi

4.2 Pengujian

Pengujian adalah sebuah proses yang penting untuk dilakukan yang akan membuktikan apakah sistem telah memenuhi segala persyaratan yang diberikan dan berjalan dengan baik. Pada tahap pengujian juga akan dilihat apakah ada perbedaan antara hasil yang diharapkan dengan hasil yang didapat dari sistem.

4.2.1 Tujuan Pengujian

Tujuan pengujian adalah untuk meneliti performa dari sistem pendeteksi kemiripan file skripsi yang dibangun menggunakan algoritma Rabin-Karp dan stemming Nazief dan Adriani.

4.2.2 Data Pengujian

Data yang digunakan sebagai bahan pengujian masing-masing hanya menggunakan satu kalimat yang dibuat secara manual dan diketikkan pada sistem.

(66)

4.2.3 Skenario Pengujian

Dalam mengukur tingkat akurasi dan performa sistem, maka dilakukan pengujian. Skenario pengujian yaitu membandingkan dua kalimat. Dua kalimat yang menjadi data pengujian akan dihitung secara :

1. Perhitungan manual 2. Perhitungan dalam sistem

4.2.4 Output Hasil Pengujian

Output hasil pengujian merupakan hasil persentase dari perhitungan kemiripan menggunakan stemming Nazief dan Adriani, algoritma Rabin-Karp dan rumus Dice Coefficient Similarity.

4.2.4.1Perhitungan Manual

A. Kalimat Pertama : Saya Membaca Buku

- Stemming kalimat menggunakan Stemming Nazief dan Adriani

 Ubah menjadi huruf kecil semua :

sayamembacabuku

 Hapus Stopword dan buat menjadi array:

Array ( [0] => saya [1] => membaca

[2] => buku )

(67)

 Hapus awalan, akhiran dan sisipan :

 Hapus spasi dan kembalikan menjadi satu kalimat:

sayabacabuku

- Bentuk Hash menggunakan Algoritma Rabin-Karp

 Pembentukan Gram

(68)

 Hitung nilai hash = [(980000+97000+9900+970+98)] mod 10007

(69)

[abuku] = [(97*104)+(98*103)+(117*102) [(107*101)+(117*100)] mod 10007 = [(970000+98000+11700+1070+117)] mod 10007

= 1080887 mod 10007 = 131 )

Sehingga didapat nilai hash :

Array B. Kalimat Kedua : Saya Membantu Ibu

- Stemming kalimat menggunakan Stemming Nazief dan Adriani

1. Ubah menjadi huruf kecil semua :

sayamembantuibu

2. Hapus Stopword dan buat menjadi array:

(70)

[2] => ibu

4. Hapus spasi dan kembalikan menjadi satu kalimat: sayabantuibu

- Bentuk Hash menggunakan Algoritma Rabin-Karp

5. Pembentukan Gram

(71)
(72)

= [(1160000+117000+10500+980+117)] mod 10007 = 1288597 mod 10007 = 7701

)

Sehingga didapat nilai hash :

Array

Selanjutnya dihitung menggunakan Dice Coefficient Similarity, dengan rumus:

(73)

Nilai hash yang sama : || 9293 1007 || = 2

Jumlah nilai hash : 8 + 8 = 16

2 * 2 D ( X , Y ) = ——— = 0,25

16

Persentase = 0,25 * 100 % = 25 %

Sehingga persentase kemiripan antar kalimat Saya Membaca Buku dan Saya Membantu Ibu = 25 %.

4.2.4.2 Perhitungan Dalam Sistem

Perhitungan dalam sistem ditampilkan dalam bentuk print screen. Pada sistem, masuk ke Form Masukkan Skripsi. Ketikkan “1” pada Nim dan “Dokumen 1” pada Judul kemudian klik tombol “Masukkan”. Pada baris Dokumen 1 klik kolom link “Masukkan Cover” kemudian ketik kalimat “Saya Membaca Buku” kemudia klik tombol “proses” maka sistem akan memproses. Hasil proses dapat dilihat pada gambar 4.9.

(74)

Pada step 1, yaitu mengubah huruf menjadi huruf kecil semua , sistem dapat melakukannya dengan baik dan hasilnya sesuai dengan proses yang dilakukan manual. Kemudian tahap selanjutnya dapat dilihat pada gambar 4.10

Gambar 4.10 Proses Sistem Step 2, Step 3 dan step 4

Seperti tampak pada gambar 4.10 Sistem dapat melakukan stemming Nazief dan Adriani dengan baik, dan hasil stemmingnya sesuai dengan yang dilakukan manual. Kemudian untuk proses algoritma Rabin-Karp dapat dilihat paada gambar 4.11.

(75)

Seperti terlihat pada gambar 4.9, 4.10 dan 4.11 terlihat bahwa sistem dapat melakukan tahapan-tahapan proses sesuai dengan perhitungan manual. Dan nilai hash yang didapat dari perhitungan di sistem dan perhitungan manual adalah sama.

Selanjutnya masukkan hasil nilai hash ke database. Kembali ke form Masukkan Skripsi dan ketikkan “2” pada kotak NIM dan “Dokumen 2” pada kotak Judul, kemudian klik link “Masukkan Cover” pada baris Dokumen 2 dan ketikkan kalimat “Saya Membantu Ibu”kemudian klik tombol “proses”. Maka akan didapat hasil seperti gambar 4.12.

Gambar 4.12 Proses Sistem Dokumen 2

Seperti tampak pada gambar 4.12 perhitungan sistem juga sesuai dengan perhitungan manual yang sudah dipaparkan. Kemudian untuk melihat persentase nya maka masuk ke

(76)

Gambar 4.13 Persentase Kemiripan Dokumen 1 dan Dokumen 2

Seperti terlihat pada gambar 4.13, hasil perhitungan rumus Dice Coefficient Similarity

pada sistem juga sesuai dengan perhitungan yang dilakukan secara manual. Hasil kemiripan pada perhitungan manual dan pada perhitungan sistem yaitu 25 %. Dapat disimpulkan bahwa hasil output pada sistem, sistem dapat melakukan proses stemming

(77)

62

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

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

1. Algortima stemming Nazief dan Adriani dan algoritma Rabin-Karp dapat

digunakan untuk menghitung tingkat kemiripan satu file skripsi dengan file skripsi lain. Perhitungan persentase kemiripan dihitung dengan rumus Dice Coefficient similarity.

2. Dalam menentukan kata dasar digunakan stemming Nazief dan Adriani, kemudian

dibentuk gram dan dihitung nilai hash dengan algoritma Rabin-Karp. Antar nilai hash tersebut dihitung kemiripannya menggunakan Dice Coefficient similarity

sehingga didapat persentase kemiripan antar file.

3. Aplikasi ini hanya menghitung persentase kemiripan antar file skripsi, tidak

sampai menentukan apakah file tersebut plagiat atau tidak.

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

5.2 Saran

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

Gambar

Tabel 3.1 Cause-and-Effect Analysis
Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalahan Sistem
Gambar 3.3 Activity Diagram Membandingkan Skripsi
gambar 3.4.
+7

Referensi

Dokumen terkait

Bila peraturan ini disahkan menjadi PBI, maka hal ini akan mampu mendorong pertumbuhan konsumsi melalui kredit, yang tercatat sempat mengalami penurunan pada 1Q16

dilaksanakan oleh Kantor Sosial Kota Praja Surakarta dengan nama Panti Pamardi Wanita, yang bertugas memberikan pelayanan dan rehabilitasi wanita tuna susila.. Adanya

2.1 Bahan dan alat yang digunakan Bahan-bahan yang digunakan pada penelitian ini adalah Hidroksipatit hasil sintesa kulit kerang menggunakan metode hidrotermal suhu

Hasil penelitian menunjukkan bahwa kadar glukosa darah 2 jam post prandial manusia yang mengkonsumsi nasi siger sebesar 89 mg/dL lebih rendah dibandingkan dengan nasi putih 95

Dimensi sosial pada individu dengan halusinasi menunjukkan adanya kecenderungan untuk menyendiri. Individu asyik dengan halusinasinya, seolah-olah ia merupakan tempat untuk

Diindikasikan pada pasien dengan iskemia yang diketahui angina atau nyeri dada tanpa aktivitas, pada pasien kolesterol dan penyakit jantung keluarga yang mengalami nyeri

Pengujian Marshall untuk campuran tanpa getah pinus dilakukan untuk mendapatkan nilai Kadar Aspal Optimum (KAO) dan nilai KAO tersebut selanjutnya akan digunakan pada

Berdasarkan tabel hasil analisis jalur di atas, dapat diuraikan sebagai berikut, yaitu Variabel remunerasi mempunyai pengaruh searah terhadap efektivitas kerja di Kantor