PENDETEKSIAN PLAGIARISME PADA DOKUMEN TEKS DENGAN MENGGUNAKAN ALGORITMA SMITH-WATERMAN
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer
AUDI NOVANTA 041401034
PROGRAM STUDI STRATA 1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2009
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
PERSETUJUAN
Judul
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: PENDETEKSIAN PLAGIARISME PADA DOKUMEN TEKS DENGAN MENGGUNAKAN ALGORITMA SMITH-WATERMAN : SKRIPSI : AUDI NOVANTA : 041401034 : SARJANA (S1) ILMU KOMPUTER : ILMU KOMPUTER : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Januari 2009
Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
Drs. Sawaluddin, MIT NIP 132206298
Drs. James Piter Marbun, M.Kom NIP 131639804
Diketahui/Disetujui oleh Departemen Ilmu Komputer FMIPA USU Ketua,
Prof. Dr. Muhammad Zarlis NIP 131570434
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
PERNYATAAN
PENDETEKSIAN PLAGIARISME PADA DOKUMEN TEKS DENGAN MENGGUNAKAN ALGORITMA SMITH-WATERMAN SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Desember 2008
Audi Novanta 041401034
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
PENGHARGAAN
Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, dengan segala berkat dan karunia-Nya penulisan skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Pada kesempatan ini penulis mengucapkan terima kasih kepada Drs. James P. Marbun, M.Kom dan Drs. Sawaluddin, MIT selaku pembimbing yang telah membantu mengarahkan dengan kesabaran dan penuh kepercayaan kepada penulis untuk menyelesaikan penulisan skripsi ini. Ucapan terima kasih juga disampaikan kepada Ketua dan Sekretaris Program Studi Ilmu Komputer, Prof. Dr. Muhammad Zarlis dan Syahriol Sitorus, S.Si, MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, seluruh dosen, pegawai/staf dan rekan-rekan mahasiswa terutama stambuk 2004 di Program Studi S-1 Ilmu Komputer FMIPA USU dan ucapan terima kasih khusus buat Ayah, Ibu dan Saudara/i saya tercinta yang telah memberikan bantuan materil dan spritual dalam membantu menyelesaikan penulisan skripsi ini. Akhirnya penulis berharap semoga skripsi ini bermanfaat bagi pribadi, keluarga, masyarakat, organisasi dan negara.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
ABSTRAK
Plagiarisme merupakan tindakan yang harus dihindari, tetapi masih banyak orang yang belum mengenal dan mengerti tentang plagiarisme. Selain mencegah, mendeteksi plagiarisme merupakan salah satu usaha untuk mengurangi tindakan plagiat. Permasalahan plagiarisme yang sering ditemukan terutama di kalangan pelajar/mahasiswa adalah plagiarisme pada dokumen teks. Kajian ini bertujuan membangun sistem pendeteksi plagiarisme pada dokumen teks dengan menggunakan algoritma Smith-Waterman secara terkomputerisasi. Sistem pendeteksi plagiarisme ini bersifat membantu mendeteksi tindakan plagiat dengan memberikan sugesti kepada pengguna berupa bobot/nilai kemiripan dan kesamaan sekuens dari dua dokumen yang dibandingkan. Sistem yang dibangun merupakan proses dasar yang dapat dikembangkan lebih lanjut untuk membangun aplikasi pendeteksi tindakan plagiat yang lebih baik.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Plagiarism Detection On The Text Document Using Smith-Waterman Algorithm
ABSTRACT
Plagiarism is the action that should be avoided, but still many people who have not yet know and understand about plagiarism. In addition to prevent, plagiarism detection is one of the measures to reduce plagiarism. Plagiarism problems that are often found, especially among students is plagiarism on the text document. This study aims to build the system plagiarism popular in the text document using the Smith-Waterman algorithm in computerization. This system is popular plagiarism help detect plagiarism action with persuade to give users a weight / value similarity and the similarity of the two documents sequence than that. The system is built is a basic process that can be developed further to build popular applications plagiarism action better.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
DAFTAR ISI
Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Gambar Daftar Tabel Bab 1 Pendahuluan 1.1 Latar Belakang 1.2 Perumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan 1.5 Manfaat 1.6 Metodologi 1.7 Sistematika Penulisan
ii iii iv v vi vii ix x 1 1 2 2 3 3 4 5
Bab 2 Landasan Teori 2.1 Plagiarisme 2.1.1 Bentuk Plagiarisme 2.1.2 Jenis Pendeteksian Plagiarisme 2.2 Algoritma Smith-Waterman 2.3 Pre-processing 2.3.1 Stemming 2.3.2 Structural Characteristic 2.3.3 Proses Tambahan
6 6 7 11 12 17 17 20 22
Bab 3 Analisis dan Perancangan Sistem 3.1 Analisis Masalah Umum 3.2 Spesifikasi Umum Kebutuhan Sistem 3.2.1 Fungsi Sistem 3.2.2 Tujuan Sistem 3.2.3 Masukan dan Keluaran Sistem 3.2.4 Batasan Sistem 3.3 Pemodelan Fungsi 3.3.1 Data Flow Diagram (DFD) 3.4 Perancangan Sistem
24 24 26 27 27 27 28 28 29 37
Bab 4 Implementasi dan Pengujian Sistem 4.1 Implementasi
42 42
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
4.1.1 Lingkungan Implementasi 4.1.2 Batasan Implementasi 4.2 Pengujian 4.2.1 Tujuan Pengujian 4.2.2 Data Pengujian 4.2.3 Skenario Pengujian 4.2.4 Hasil Pengujian 4.2.5 Analisis Hasil Pengujian
43 44 44 45 45 46 47 51
Bab 5 Kesimpulan Dan Saran 5.1 Kesimpulan 5.2 Saran
53 53 54
Daftar Pustaka Lampiran A : Listing Program Lampiran B : Data Set Pengujian
55 57 75
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
DAFTAR GAMBAR
Halaman Gambar 2.1 Proses kerja Intra-Corporal Detection Gambar 2.2 Proses Kerja Internet-based Detection Gambar 2.3 Ilustrasi Konversi Algoritma Smith-Waterman dari Bidang Bioinformatika ke Pemrograman Komputer Gambar 2.4 Optimal Alignment dari dua substring Gambar 2.5 Nilai Perbandingan pada Sequence Alignment Gambar 2.6 Format Kata Berimbuhan dalam Bahasa Indonesia Gambar 3.1 Diagram Konteks Gambar 3.2 DFD Level 1 Gambar 3.3 DFD Level 2 Gambar 3.4 Flowchart Untuk Proses Baca Dokumen Gambar 3.5 Flowchart Untuk Proses Optimasi Gambar 3.6 Flowchart Untuk Proses Pembobotan Algoritma Smith-Waterman Gambar 3.7 Antarmuka Menu Awal Sistem Pendeteksi Plagiarisme Gambar 3.8 Antarmuka Submenu Pilihan Pertama Gambar 3.9 Antarmuka Proses Pembandingan pada Submenu Pilihan Pertama Gambar 3.10 Antarmuka Hasil Pembandingan pada Submenu Pilihan Pertama Gambar 3.11 Antarmuka Submenu Pilihan Kedua Gambar 3.12 Flowchart Sistem Pendeteksi Plagiarisme
11 12 13 15 16 18 30 31 33 34 35 37 37 38 38 39 39 40
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
DAFTAR TABEL
Halaman Tabel 2.1 Daftar Prefiks yang Meluluh Tabel 2.2 Daftar Kemungkinan Perubahan Prefiks Tabel 2.3 Daftar Kombinasi Prefiks dan Sufiks yang tidak diperbolehkan Tabel 3.1 Entitas Data pada DFD Level 1 Tabel 3.2 Tanggung Jawab Modul Tabel 4.1 Hasil Pengujian Akurasi Data Set I Menggunakan Algoritma SmithWaterman dan Pre-Processing Tabel 4.2 Hasil Pengujian Akurasi Data Set II Menggunakan Algoritma SmithWaterman dan Pre-Processing Tabel 4.3 Hasil Pengujian Akurasi Data Set I Menggunakan Algoritma Standar Smith-Waterman Tabel 4.4 Hasil Pengujian Akurasi Data Set I Menggunakan Algoritma Standar Smith-Waterman Tabel 4.5 Hasil Pengujian Waktu Proses Data Deterministik Menggunakan Algoritma Smith-Waterman dan Pre-Processing
20 20 20 32 41 48 48 49 49 50
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
BAB I
PENDAHULUAN
5.1 Latar Belakang
Pada dasarnya manusia menginginkan kemudahan dalam segala hal. Sifat tersebut akan memicu tindakan negatif apabila dilatarbelakangi oleh motivasi untuk berbuat curang dan rendahnya kemampuan masyarakat berkreasi dan berinovasi menciptakan suatu karya yang original. Dalam hal ini tindakan negatif yang dimaksud adalah plagiarisme.
Fenomena plagiarisme yang lebih spesifik sering terjadi di dunia akademis. Hal ini dikarenakan kegiatan tulis-menulis sering dilakukan oleh mahasiswa untuk menyelesaikan tugas kuliah. Praktik menduplikasikan beberapa bagian atau keseluruhan tulisan milik orang lain tanpa mencantumkan sumbernya secara teliti dan lengkap merupakan hal yang sering ditemui dalam penulisan laporan, tugas, makalah ataupun skripsi mahasiswa.
Ada dua cara untuk mengatasi permasalahan plagiarisme, yaitu dengan mencegah dan mendeteksi. Mencegah berarti menjaga atau menghalangi agar plagiarisme tidak dilakukan. Usaha seperti ini harus dilakukan sedini mungkin terutama pada sistem pendidikan dan moral masyarakat. Mendeteksi berarti melakukan usaha untuk menemukan tindakan plagiat yang telah dilakukan.
Banyak institusi dan tenaga pengajar menerapkan sanksi akademis terhadap pelaku plagiat untuk mengurangi plagiarisme. Yang menjadi permasalahannya adalah bagaimana cara untuk mengetahui apakah seorang mahasiswa melakukan plagiarisme Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
atau tidak dalam membuat suatu karya tulis. Untuk mengetahuinya perlu dilakukan pengecekan secara teliti terhadap hasil tulisan mahasiswa tersebut, kemudian dibandingkan dengan hasil tulisan mahasiswa yang lainnya. Tetapi usaha tersebut akan memerlukan waktu yang lama dan ketelitian yang tinggi jika pembandingan tersebut dilakukan secara manual. Oleh karena itu diperlukan suatu sistem pendeteksian plagiarisme pada dokumen teks yang dilakukan secara terkomputerisasi.
5.2 Perumusan Masalah
Masalah yang akan dikaji dalam penulisan skripsi ini adalah:
1.
Bagaimana
mengimplementasikan
algoritma
Smith-Waterman
untuk
membangun sistem pendeteksi plagiarisme pada dokumen teks digital. 2.
Bagaimana performa dan akurasi dari sistem pendeteksi plagiarisme yang mengimplementasikan algoritma Smith-Waterman.
3.
Bagaimana menentukan dan mengimplementasikan faktor-faktor yang dapat digunakan oleh sistem pendeteksi plagiarisme yang menggunakan algoritma Smith-Watrman agar dapat meningkatkan proses pendeteksian plagiarisme.
5.3 Batasan Masalah
Yang menjadi batasan masalah dalam penulisan skripsi ini adalah:
1.
Sistem hanya dapat mendeteksi tindakan plagiarisme pada dokumen-dokumen internal yang terkumpul secara offline, tidak memverifikasi isi dokumen internal dengan dokumen eksternal yang berada di internet.
2.
Dokumen teks yang akan dideteksi adalah file teks digital yang bersifat plain text, yaitu file yang hanya terdiri dari huruf-huruf dan angka-angka saja, tidak mencakup gambar, tabel, dan sejenisnya.
3.
Pembandingan oleh sistem dilakukan dengan membandingkan dua dokumen teks yang telah dikonversi ke format text document (.txt).
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
4.
Sistem hanya memproses dokumen teks berbahasa Indonesia.
5.
Hasil pembandingan dengan sistem pendeteksi plagiarisme yang dibuat tidak menunjukan bahwa mutlak telah atau tidak terjadi plagiarisme antara dua dokumen teks. Hasil tersebut hanya sebagai panduan agar memberi perhatian lebih terhadap dua teks tersebut.
5.4 Tujuan
Penulisan skripsi ini memiliki beberapa tujuan, yaitu:
1.
Membangun sistem pendeteksi plagiarisme pada dokumen teks yang mengimplementasikan algoritma Smith-Waterman.
2.
Membuktikan akurasi algoritma Smith-Waterman dalam mendeteksi local similarities dengan mengimplementasikannya dengan cara membandingkan dua dokumen teks untuk membantu mendeteksi plagiarisme.
3.
Meneliti performa algoritma Smith-Waterman dan faktor-faktor pendeteksi apa saja yang dapat mempengaruhi sistem dalam meningkatkan pendeteksian plagiarisme.
5.5 Manfaat
Penulisan skripsi ini bermanfaat bagi institusi atau tenaga pengajar untuk mempermudah pengecekan terhadap hasil tulisan mahasiswa dengan membandingkan tulisan mahasiswa lainnya dengan waktu yang lebih cepat, ketelitian yang lebih tinggi dan usaha yang lebih kecil dibandingkan pendeteksian manual.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
5.6 Metodologi
Skripsi ini akan dikerjakan dengan metodologi sebagai berikut: 1.
Studi Literatur Metode ini dilaksanakan dengan melakukan studi kepustakaan melalui hasil penelitian lainnya yang relevan maupun artikel–artikel yang didapatkan melalui internet, serta mempelajari lebih dalam teori-teori tentang plagiarisme dan teknik pengimplementasian algorima Smith-Waterman.
2.
Observasi Metode ini dilaksanakan dengan melakukan pengamatan dan pengujian terhadap beberapa aplikasi yang dapat mendeteksi plagiarisme dengan melakukan penelusuran di internet. Dengan pengamatan secara langsung tersebut akan diperoleh pengetahuan bagaimana bentuk sistem yang ada dan telah diimplementasikan.
3.
Analisis dan Perancangan Algoritma Metode ini akan dilaksanakan dengan melakukan analisis terhadap masalah yang ada, batasan yang dimiliki dan kebutuhan yang diperlukan.
4.
Implementasi Algoritma Metode ini akan dilaksanakan dengan melakukan perancangan aplikasi yang akan dibangun sebagai pendeteksi plagiarisme dan mengimplementasikan algoritma Smith-Waterman dalam membangun aplikasi tersebut.
5.
Pengujian Metode ini akan dilaksanakan dengan melakukan pembandingkan dokumen teks berupa data deterministik dan undeterministik menggunakan aplikasi yang telah dibuat dengan sebelum atau sesudahnya teks tersebut diperiksa secara manual. Selanjutnya dilakukan analisis terhadap hasil dan performa perangkat lunak maupun algoritmanya.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
5.7 Sistematika Penulisan
Dalam penulisan skripsi ini, sistematika penulisan dibagi menjadi lima bab, yaitu:
1.
Bab I Pendahuluan, berisi penjelasan mengenai latar belakang, rumusan masalah, tujuan, batasan masalah, metodologi, serta sistematika penulisan yang digunakan untuk menyusun laporan.
2.
Bab II Landasan Teori, berisi dasar teori yang digunakan dalam analisis, perancangan dan implementasi skripsi.
3.
Bab III Analisis dan Perancangan Sistem, berisi analisis, perancangan algoritma yang akan dibangun sebagai dasar tahap implementasi dan pemodelan sistem secara fungsional.
4.
Bab IV Implementasi dan Pengujian Sistem, berisi implementasi, skenario pengujian, hasil pengujian, dan analisis hasil pengujian.
5.
Bab V Kesimpulan dan Saran, berisi kesimpulan dan saran yang didapatkan selama penulisan skripsi.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
BAB II
LANDASAN TEORI
5.1 Plagiarisme
Plagiarisme sesuai dengan pendapat Ir. Balza Achamd, M.Sc.E adalah berbuat sesuatu seolah-olah karya orang lain tersebut adalah karya kita dan mengakui hasil karya tersebut adalah milik kita, sedangkan menurut Brotowidjoyo (1993:86) plagiarisme merupakan pembajakan berupa fakta, penjelasan, ungkapan, dan kalimat orang lain secara tidak sah. Plagiarisme dianggap tindakan kriminal karena merupakan tindakan mencuri hak cipta orang lain. Di Indonesia perlindungan hak cipta diatur dalam Undang-Undang Republik Indonesia Nomor 19 Tahun 2002 Tentang Hak Cipta. Oleh karena itu kegiatan plagiarisme atau yang lebih dikenal dengan kata plagiat harus dihindari.
Plagiarisme merupakan permasalahan yang tidak hanya melanggar hak cipta atau kepemilikan. Apabila dipandang dari sisi para pembaca, plagiarisme juga merupakan tindakan yang membohongi dan menimbulkan kesalahpahaman mengenai orisinalitas dari penulis yang sebenarnya. Para siswa/mahasiswa atau peneliti diperbolehkan untuk menciptakan suatu karya baru yang timbul dari pengembangan ide orang lain. Tetapi pemanfaatan ide orang lain tanpa membubuhkan pernyataan sumber atau keterangan yang menyatakan pengakuan bahwa karya tersebut berasal dari pengembangan ide orang lain, hal ini merupakan tindakan yang tidak dapat diterima.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Banyak orang menganggap bahwa tindakan plagiarisme sama dengan perbuatan meng-copy hasil karya orang lain atau mengambil ide asli orang lain. Pemikiran ini seperti menegatifkan kata copy atau yang sering disebut mencontek. Berdasarkan pendapat Julissar dalam blog-nya, mencontek ini sesungguhnya adalah suatu metode belajar yang paling primer. Hal ini dapat dibuktikan dari metode belajar yang diterapkan pada kelompok bermain (play group) anak-anak balita ataupun taman kanak-kanak (kinder garden), yaitu proses menjiplak, meniru ataupun mencontoh dari sumber yang telah ada. Oleh karena itu lulusan dari kelompok tersebut merupakan individu yang bersifat meniru atau meng-copy. Yang menjadi permasalahannya adalah proses jenjang pendidikan selanjutnya, dimana telah terjadi kegagalan transformasi metode proses belajar dari tahap dasar yaitu meniru menjadi tahap analitis (pemeriksaan), sintetis (penyimpulan), improvisatif (pemanfaatan), kreatif (memiliki daya cipta) hingga tahap inovatif (menghasilkan ide). Efek dari kegagalan transformasi ini menimbulkan kebiasaan/perilaku yang dominan, yaitu tetap pada tahap dasar.
4.1.1 Bentuk Plagiarisme
Dalam lingkup dunia akademis, tindakan plagiarisme berhubungan dengan bidang kepustakaan atau kesusasteraan (plagiarisme dalam literatur). Bentuk-bentuk plagiarisme yang sering terjadi di dunia akademis berdasarkan artikel Clough (2003:2) adalah:
1.
Plagiarisme kata per kata, merupakan penyalinan kalimat secara langsung dari sebuah dokumen teks tanpa adanya pengutipan atau perizinan.
2.
Plagiarisme parafrase, merupakan penulisan ulang dengan mengubah kata atau sintaksis, tetapi teks aslinya masih dapat dikenali.
3.
Plagiarisme sumber sekunder, merupakan perbuatan mengutip kepada sumber asli yang didapat dari sumber sekunder dengan menghiraukan teks asli dari sumber yang sebenarnya.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
4.
Plagiarisme struktur sumber, merupakan penyalinan/penjiplakan struktur suatu argumen dari sebuah sumber.
5.
Plagiarisme ide, merupakan penggunaan ulang suatu gagasan/pemikiran asli dari sebuah sumber teks tanpa bergantung bentuk teks sumber.
6.
Plagiarisme authorship, merupakan pembubuhan nama sendiri secara langsung pada hasil karya orang lain.
Bila dilihat dari berbagai macam bentuk-bentuk plagiarisme diatas, dapat disimpulkan bahwa tindakan plagiarisme yang terjadi di dunia akademis lebih cenderung kepada tindakan menggunakan kembali suatu bagian dokumen teks berupa kata/kalimat dari suatu sumber yang tidak mengikuti tata aturan hak cipta, seperti aturan
pengutipan
(citation)
ataupun
ketidakjelasan
sumber/pengarang
asli
(bibliography).
Beberapa faktor yang dapat digunakan untuk mengidentifikasikan plagiarisme menurut Clough (2000:5) yaitu:
1.
Penggunaan kosa kata. Menganalisis kosa kata yang digunakan dalam suatu tugas terhadap penggunaan kosa kata sebelumnya dapat membantu menentukan apakah mahasiswa benar-benar telah menulis teks tersebut. Dengan menemukan suatu kosa kata baru dalam jumlah yang besar (terutama kosa kata lanjut) dapat menentukan apakah mahasiswa menulis teks tanpa melakukan plagiarisme.
2.
Perubahan kosa kata. Apabila penggunaan kosa kata berubah secara significant dalam suatu teks, hal ini dapat mengindikasikan plagiarisme dengan cara copy and paste.
3.
Teks yang membingungkan.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Apabila alur dari suatu teks tidak halus dan tidak konsisten, hal ini mengindikasikan penulis tidak menulis menggunakan pemikirannya sendiri atau beberapa bagian dari tulisannya bukanlah hasil karyanya.
4.
Penggunaan tanda baca. Tidak wajar apabila dua orang penulis menggunakan tanda baca yang persis sama dalam membuat suatu karya tulis.
5.
Jumlah kemiripan teks. Pasti ada beberapa kemiripan antara beberapa teks yang menulis dengan topik yang sama seperti nama-nama, istilah-istilah dan sebagainya. Bagaimanapun, tidak wajar bila beberapa teks yang berbeda memiliki kesamaan atau kemiripan teks dalam jumlah yang besar.
6.
Kesalahan ejaan yang sama Merupakan hal yang biasa terjadi bagi seorang penulis dalam membuat suatu karya tulis. Menjadi tidak wajar bila beberapa teks yang berbeda memiliki kesalahan-kesalahan yang sama dalam pengejaan atau jumlah ejaan salah yang sama.
7.
Distribusi kata-kata. Tidak wajar apabila distribusi penggunaan kata dalam teks yang berbeda memiliki kesamaan. Sebagai contoh, suatu teks memiliki parameter yang sama untuk suatu distribusi statisitk yang digunakan untuk menjelaskan penggunaan istilah.
8.
Struktur sintaksis teks Hal ini menunjukan plagiarisme mungkin saja telah terjadi jika dua teks secar jelas memiliki kesamaan struktur sintaksis. Hal yang wajar bila penggunaan struktur sintaksis yang digunakan oleh beberapa penulis akan berbeda.
9.
Rangkaian-rangkaian panjang kata yang sama. Tidak wajar apabila suatu teks yang berbeda (bahkan yang menggunakan judul yang sama) memiliki rangkaian/urutan karakter yang sama.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
10. Orde kemiripan antar teks. Hal ini bisa mengindikasikan plagiarisme apabila orde kecocokan kata atau frase antar dua teks sama. Meskipun diajarkan untuk menyajikan fakta-fakta dalam suatu aturan (contohnya pendahulan, isi, kemudian kesimpulan), kurang wajar jika fakta-fakta yang sama dilaporkan dalam orde yang sama.
11. Ketergantungan pada kata atau frase tertentu. Seorang penulis mungkin memilih penggunaan suatu kata atau frase tertentu. Kekonsistenan penggunaan kata-kata tersebut dalam suatu teks yang ditulis oleh
orang
lain
dengan
menggunakan
kata
yang
berbeda
dapat
mengindikasikan plariarisme.
12. Frekuensi kata Tidak wajar apabila kata-kata dari dua teks yang berbeda digunakan dengan frekuensi yang sama.
13. Keputusan untuk menggunakan kalimat panjang atau kalimat pendek. Tanpa sepengetahuan kita, para penulis tentu memiliki keputusan penggunaan panjang kalimat yang tidak biasa dikombinasikan dengan fitur-fitur lain.
14. Teks yang dapat dibaca. Penggunaan metrik/ukuran seperti index Gunning FOG, Flesch Reading Ease Formula atau SMOG dapat membantu menentukan suatu skor kemampuan. Tidak wajar apabila penulis yang berbeda akan memiliki skor yang sama.
15. Referensi yang tidak jelas. Apabila referensi yang muncul dalam suatu teks tetapi tidak terdapat pada daftar pustaka, hal ini dapat mengindikasikan plagiarisme cut and paste, dimana penulis tidak menyalin referensinya secara lengkap. Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
4.1.2 Jenis Pendeteksian Plagiarisme
Berdasarkan batasan ruang lingkup pemeriksaan lokasi dokumen, pendeteksian plagiarisme dapat dibagi menjadi dua jenis, yaitu:
1.
Intra-Corporal Detection Jenis pendeteksian ini dilakukan secara offline, yang berarti dokumen teks yang diidentifikasi plagiat (copy documents) diperiksa dengan dokumen teks yang dianggap asli (source documents) dibatasi pada sebuah lokasi (folder) tertentu yang terdiri dari beberapa dokumen (corpus) yang akan dibandingkan, dimana proses pengumpulan koleksi dokumen dilakukan secara manual. Biasanya jenis pendeteksian seperti ini digunakan untuk mendeteksi hasil kerja berupa karya tulis siswa/mahasiswa atau peneliti dalam bidang tertentu.
Gambar 2.1 Proses kerja Intra-Corporal Detection
2.
Internet-based Detection Jenis pendeteksian ini dilakukan secara online, yang berarti dokumen teks yang diidentifikasi plagiat (copy documents) diperiksa dengan dokumen teks (source documents) yang berada tersebar pada jaringan World Wide Web.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Salah satu teknik yang digunakan adalah exhaustive searching (Knight, 2003) yaitu pencarian dengan membandingkan keseluruhan copy dokumen teks dengan source dokumen teks yang berada di internet. Pendekatan yang lain adalah window based, yaitu proses memecah dokumen teks ke dalam beberapa kalimat tunggal dan menjadikan kalimat tunggal tersebut menjadi sebuah query yang akn berfungsi sebagai keyword pecarian dokumen yang relevan yang tersebar di internet.
Gambar 2.2 Proses Kerja Internet-based Detection
5.2 Algoritma Smith-Waterman
Algoritma Smith-Waterman pertama kali diusulkan oleh Temple Smith dan Michael Waterman pada tahun 1981. Algoritma Smith-Waterman memiliki proses sequence alignment yang mengaplikasikan secara dasar dynamic programming. Secara umum langkah-langkah yang biasa digunakan dalam mengaplikasikan pemrograman dinamis adalah:
1.
Memecahkan suatu permasalahan umum menjadi sub-permasalahan yang lebih sederhana.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
2.
Memecahkan semua sub-permasalahan secara optimal.
3.
Mengonstruksikan pemecahan optimal subpermasalahan sebagai pemecahan optimal permasalahan secara umum.
Menurut artikel yang terdapat dalam situs wikipedia.org berbahasa Indonesia, algoritma Smith-Waterman merupakan algoritma klasik yang telah dikenal luas dalam bidang bioinformatika sebagai metode yang dapat mengidentifikasi local similarities (penyejajaran
sekuens)
yaitu
proses
penyusunan
dua
local
sequences
(rangkaian/susunan atau rentetan) nucleotide atau protein sequences sehingga kemiripan antara dua sequence tersebut akan terlihat. Berdasarkan fungsi proses penyejajaran sekuens tersebut, maka algoritma ini dapat dikonversikan ke dalam pemrograman komputer untuk digunakan membantu proses pendeteksian dokumen teks yang dianggap cenderung plagiat dengan cara melihat kesamaan isi (local similarities) dari beberapa dokumen teks.
Gambar 2.3 Ilustrasi Konversi Algoritma Smith-Waterman dari Bidang Bioinformatika ke Pemrograman Komputer
Anggap simbol X dan simbol Y merupakan dua sequence string yang masingmasing berasal dari dokumen yang berbeda, dengan panjang X dan Y masing-masing sebagai m dan n. Dari dua string ini dapat dihitung nilai goodness of fit yang diperoleh dari pembandingan substring X dari string X dengan substring Y dari string Y. Proses pembandingan ini akan menghasilkan penyejajaran yang identik/mirip (hit) dengan atau tanpa perubahan sekuens seperti penghilangan (deletion), penyisipan (insertion) Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
dan penggantian (replacement). Anggap h adalah kontribusi positif yang merepresentasikan hit atau cocok. d untuk kontribusi negatif yang merepresentasikan insertion atau deletion (atau bisa disebut indel), sedangkan r adalah kontribusi negatif yang dibuat dengan menggantikan satu simbol dengan simbol yang lain (replacement). Model yang lebih umum pada khususnya digunakan di dalam bidang biologi komputasional. Dengan menggunakan nilai positif untuk hit dan nilai negatif untuk deletion dan replacement, maka pembentukan nilai dari tiap-tiap simbol dari dua buah string tersebut dapat direpresentasikan di dalam bentuk matriks. Tetapi masih belum diketahui secara jelas nilai hubungan h, d, dan r. Pada intinya di dalam mengidentifikasi kesamaan string ini memakai prinsip reward and punishment. h merupakan simbol yang mengimplementasikan reward, sedangkan d dan r merepresentasikan punishment. Dapat diasumsikan bahwa reward dan punishment memiliki bobot yang sama. Dengan demikian dapat dianggap nilai dari masingmasing h, d, dan r adalah 1.
Sebagai contoh, bila substring X = abcbadbca dan substring Y = abbdbda, dengan alignment yang optimal didapatkan 6 hit, 2 indel, dan 1 replacement, seperti yang ditunjukkan pada gambar di bawah ini, dan didapatkan nilai untuk dua string yang diberikan ini, yaitu 6h - 2d - r, atau 6 - 2 - 1 = 3 untuk kasus h = d = r = 1 dengan keterangan tanda “|” menunjukan kecocokan atau match, sedangkan tanda “-“ menunjukan adanya kesenjangan atau gap di antara dua sekuens string.
A b c b a d b c a | | | | | | | | | A b - b - d b d a Gambar 2.4 Optimal Alignment dari dua substring
Tujuan dari pembandingan substring ini yaitu menemukan kemiripan yang significant sesuai dengan nilai ambang batas (threshold). Bila nilai hasil Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
pembandingan di bawah nilai ambang batas, maka dianggap kemiripannya tidak significant dan bila nilainya di atas atau sama dengan nilai ambang batas, maka dianggap kemiripannya significant.
Algoritma standar Smith-Waterman yang dipakai untuk penghitungan local alignment berdasarkan dokumen dari situs Baylor College of Medicine HGSC adalah:
1.
Menambahkan sebuah nilai pada setiap perbandingan a.
Menggunakan nilai positif, apabila memiliki kemiripan.
b.
Menggunakan nilai negatif, apabila memiliki perbedaan.
2.
Inisialisasi awal matriks dengan nilai 0 (nol).
3.
Semua nilai yang terdapat dalam matriks apabila lebih kecil dari 0 (nol), maka nilai dianggap 0 (nol).
4.
Memulai traceback dari nilai yang tertinggi yang ditemukan dimanapun pada matriks.
5.
Penghitungan dilanjutkan hingga skor bernilai 0 (nol).
Gambar 2.5 Nilai Perbandingan pada Sequence Alignment
Robert W. Irving (2004:5) merumuskan skema pemrograman dinamis algoritma klasik Smith-Waterman kedalam dua bagian, yaitu: Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
1.
Didefinisikan Sij menjadi nilai maksimum yang didapatkan dari proses perbandingan sebuah substring A pada posisi ke-i dengan sebuah substring B pada posisi ke-j. Hubungan rekurens standar untuk Sij, yaitu:
2.
-
Jika A(i) = B(j) maka Sij = Si-1,j-1+h, atau
-
Jika A(i) ≠ B(j) maka S ij = max(0,Si-1,j-d,Si,j-1-d,Si-1,j-1-r)
-
Dimana kondisi awal adalah Si,0 = S0, j = 0 untuk semua i,j.
Digunakan ide traceback path untuk mengkonstruksikan sebuah local alignment yang optimal pada posisi ke-i substring A dan posisi ke-j substring B agar lebih jelas terlihat. Dengan diberikan sel (i,j), dapat didefinisikan sebuah sel parent sebagai berikut:
-
Jika Sij = 0, maka sel (i,j) tidak mempunyai parent
-
Jika A(i) = B(j), maka sel (i,j) mempunyai parent sel (i-1,j-1)
-
Sebagai tambahan, sel (i,j) mempunyai parent yaitu untuk sel (p,q) ∈ {(i1,j),(i,j-1)} sehingga Sij = Spq-d, dan/atau sel (i-1,j-1) jika Sij = Si-1,j-1-r
Jadi, setiap sel yang mengandung nilai tidak nol mempunyai paling tidak sedikitnya satu parent, dan juga mungkin saja dapat memiliki tiga buah parent.
5.3 Pre-processing
Faktor-faktor yang digunakan untuk mengidentifikasi plagiarisme menurut Clough (2000:5) sebagian besar dapat diimplementasikan ke dalam bidang pemrograman komputer menggunakan algoritma standar Smith-Waterman dengan fungsi sequence alignment-nya. Akan tetapi, algoritma standar tersebut memiliki sifat yang hanya membandingkan secara eksplisit dua string tanpa mengetahui sifat karakter-karakter yang membentuk kedua string tersebut. Oleh karena itu dibutuhkan proses bantuan (pre-processing) dalam bentuk modul-modul tambahan, modul-modul tersebut tersebar di dalam proses pembobotan sesuai fungsi masing-masing modul. Preprocessing ini tentu akan menambah waktu proses sistem secara menyeluruh, tetapi Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
dengan adanya pereduksian noise yang dilakukan proses bantuan ini diharapkan dapat mengurangi kompleksitas pada saat pembandingan oleh algoritma Smith-Waterman. Adapun macam pre-processing yang dilakukan adalah:
4.3.1 Stemming
Stemming adalah proses mengembalikan berbagai macam bentukan kata ke dalam sebuah representasi yang sama. Misalnya kata “berlari” dan “dilarikan” akan diubah menjadi sebuah kata yang sama yaitu “lari”. Metode stemming memerlukan masukan berupa kata yang terdapat dalam suatu dokumen, dengan menghasilkan keluaran berupa root word. Mencari kata dasar (akar kata) dari suatu kata yang berimbuhan di dalam bahasa Indonesia merupakan pekerjaan yang kompleks. Berbeda dengan bahasa Inggris yang hanya memiliki imbuhan berupa suffixes (akhiran), kata-kata dalam bahasa Indonesia bisa memiliki imbuhan yang terdiri dari prefixes (awalan), suffixes (akhiran), infixes (sisipan) dan confixes (kombinasi dari awalan, akhiran dan sisipan). Penggunaan imbuhan di dalam bahasa Indonesia bisa memakai lebih dari satu prefiks dan sufiks dalam satu kata. Sebuah kata dengan awalan bisa memiliki arti yang berbeda dari kata dasarnya. hal ini disebut derivation word. selain itu sebuah awalan juga dapat mengubah huruf awal suatu akar kata yang biasa disebut peluluhan, sehingga dibutuhkan pengkodean ulang (recode) untuk menemukan kembali akar kata berdasarkan penggunaan awalan.
Banyak algoritma yang digunakan untuk memroses stemming dalam bahasa Indonesia antara lain algoritma Nazief dan Adriani, algoritma Arifin dan Setiono, algoritma Idris dan Mustofa, algoritma Vega, algoritma Ahmad, Yussof dan Sembok. Menurut Jelita Asian (2006) berdasarkan aturan morfologi bahasa Indonesia dapat dinyatakan bahwa algoritma Nazief dan Adriani adalah algoritma yang memiliki hasil terbaik. Nazief dan 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 masin-masing bersifat optional. Keterangan diatas dapat dirumuskan sebagai berikut:
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
DP + DP + DP + root word + DS + PP + P
Gambar 2.6 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.
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).
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
6.
Setelah menyelesaikan semua langkah dengan sukses, maka algoritma akan mengembalikan kata dasar yang ditemukan.
Tabel 2.1 Daftar Prefiks yang Meluluh Jenis Prefiks pe-/mepe-/mepe-/mepe-/me-
Huruf k p s t
Hasil Peluluhan -ng-m-ny-n-
Tabel 2.2 Daftar Kemungkinan Perubahan Prefiks Prefiks sekedibetepeme-
Perubahan tidak berubah tidak berubah tidak berubah berterper-, pen-, pem-, pengmen-, mem-, meng-
Tabel 2.3 Daftar Kombinasi Prefiks dan Sufiks yang tidak diperbolehkan Prefiks bedikemesetepe-
Sufiks yang tidak diperbolehkan -i -an -i, -kan -an -i,-kan -an -kan
4.3.2 Structural Characteristic
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Antonio (1997) menyimpulkan bahwa Structural Characteristic adalah struktur pengindeksan internal dari tiap-tiap dokumen yang dihasilkan dengan menggabungkan struktur
pohon
dokumen
beserta
himpunan
kata
kuncinya.
Di
dalam
pengimplementasian pendeteksian plagiarisme, structural characteristic atau yang disebut sebagai kesamaan struktural, akan digunakan untuk menguji dua buah dokumen yang akan dibandingkan lebih jauh lagi karena adanya persamaan kata kunci yang terkandung di dalam dua dokumen tersebut. Hal ini bisa dilihat dari himpunan kata kunci yang unik.
Bila kedua dokumen memiliki himpunan kata kunci yang relatif berbeda, maka dianggap bahwa kedua dokumen tersebut memiliki kandungan atau isi dokumen yang berbeda. Sebaliknya bila kedua dokumen memiliki hmpunan kata kunci yang relatif sama, maka dapat dianggap bahwa salah satu dokumen mungkin saja plagiat terhadap dokumen yang lain. Dengan demikian, proses selanjutnya yaitu pembandingan kalimat per kalimat. Di dalam proses ini juga dilakukan proses kesamaan struktural level dua. Bila dua kalimat memiliki himpunan kata kunci yang relatif berbeda, maka diasumsikan bahwa kedua kalimat tersebut memiliki makna semantik yang berbeda, dan sebaliknya. Melalui cara ini, dapat diharapkan pembandingan dengan algoritma Smith-Waterman hanya dilakukan bila kesamaan struktural kedua kalimat di dalam dua dokumen relatif memiliki kesamaan. Arti kata relatif di sini akan ditentukan dengan pendefinisian nilai ambang batas (threshold) yang dianggap significant untuk mendeteksi plagiarisme.
Misalkan terdapat dokumen A dan dokumen B, maka penghitungan kelayakan kesamaan strukturalAB adalah proses pembagian jumlah kemunculan kata kunci dari dokumen A di dalam dokumenB dengan jumlah kata kunci yang dimiliki oleh dokumen A. Sama saja dengan penghitungan kelayakan kesamaan strukturalBA, hanya saja pembagian dilakukan dengan jumlah kata kunci yang dimiliki oleh dokumen B. Nilai tertinggi dari hasil kedua penghitungan ini merupakan nilai structural characteristic yang dicari.
Nilai yang dihasilkan dari proses kesamaan struktural merupakan nilai awal kecenderungan dua dokumen yang diidentifikasikan plagiat. Dilihat dari fungsi Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
structural characteristic yang menghitung derajat kata kunci yang unik dari dua dokumen, maka proses ini telah menjadi usaha awal untuk mendeteksi plagiarisme kata per kata, plagiarisme parafrase maupun plagiarisme struktur sumber. Dengan tujuan mempermudah penghitungan bobot dengan menggunakan algoritma SmithWaterman, maka nilai kesamaan struktural merupakan bagian proses perhitungan bobot plagiarisme oleh sistem. 4.3.3 Proses Tambahan
Proses tambahan bertujuan menghilangkan noise pada dokumen untuk mempermudah pembandingan (memperkecil kompleksitas) pada saat pembobotan oleh algoritma Smith-Waterman. Penghilangan noise terdiri atas:
1.
Pengubahan penulisan angka secara numerik menjadi penulisan angka secara alphabet. Proses
ini
lebih
bersifat
mempermudah
pembadingan
kata
dengan
menyeragamkan penulisan angka tanpa bermaksud mengubah makna dari kalimat.
2.
Penghilangan kata yang tergolong closed-class word dan stop words, Menurut Ruli Manurung (2008) closed-class word adalah kelas kata yang keanggotaannya biasanya kecil dan stabil. Kebalikan dari closed-class word adalah open-class word, yaitu kelompok kata yang keanggotaannya biasanya besar dan senantiasa bertambah, hal ini bisa dikarenakan faktor serapan bahasa lain, teknologi baru ataupun adanya imbuhan. Yang termasuk di dalam closedclass word yaitu preposition, determiner, pronoun, conjuction, auxiliary verb, particle dan numeral.
Oleh karena closed-class word merupakan bahasa yang jumlahnya terbatas maka dapat dilakukan proses eliminasi pada pendeteksian plagiarisme, tetapi tidak semua kelas kata akan dihilangkan karena ada beberapa kelas kata yang mempunyai nilai semantik yang dapat mengubah makna dari suatu kalimat atapun memberikan efek ambigu. Kelas kata yang tidak akan dihilangkan dari Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
proses eliminasi yaitu kelas kata determiner, numeral, particle, pronoun, dan sebagian preposition.
Menurut penjelasan Yudi Wibisono dari blog-nya, stop words adalah kata umum (common words) yang biasanya muncul dalam jumlah besar dan dianggap tidak memiliki makna. Stop words umumnya dimanfaatkan dalam task information retrieval. stop words untuk bahasa Inggris diantaranya ‘of’, ‘the’, sedangkan untuk bahasa Indonesia diantaranya ‘yang’, ‘di’, ‘ke’.
3.
Penghilangan string yang merupakan kalimat kutipan langsung. Didalam penulisan karya ilmiah, kutipan langsung sering digunakan sebagai pencatatan sumber-sumber tertulis. Kutipan langsung merupakan copy-an dari tulisan asli dengan menyatakan sumbernya, sehingga tidak terhitung tindakan plagiat. Kutipan langsung yang sering dipakai dalam penulisan skripsi adalah kutipan langsung yang terdiri kurang dari empat baris dan memiliki aturan terikat dimana kutipan harus ditulis didalam tanda kutip dua (“...”). sedangkan kutipan tidak langsung bersifat tidak terikat yang artinya isi dari tulisan merupakan pendapat bebas yang dikemukakan kembali dengan suatu perubahan. Oleh karena itu, proses identifikasi hanya mempertimbangkan kutipan yang berjenis kutipan langsung yang terdiri kurang dari empat baris.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
BAB III
ANALISIS DAN PERANCANGAN SISTEM
5.1 Analisis Masalah Umum
Algoritma Smith-Waterman merupakan algoritma yang telah dipakai di dalam bidang bioinformatika yang kemudian diimplementasikan ke dalam pemrograman komputer. Dalam bidang pemrograman komputer, algoritma Smith-Waterman digunakan sebagai algoritma dasar untuk membangun prototype suatu sistem dengan tujuan dapat mendeteksi plagiarisme antara dua dokumen teks. Secara default algoritma SmithWaterman memiliki kemampuan yang sangat baik dalam mengidentifikasi kemiripan dua sequences, tetapi dalam penerapannya (memeriksa dan membandingkan dokumen teks berbahasa Indonesia), muncul permasalahan yang mungkin tidak ditemukan pada saat pembandingan nucleotide atau protein sequences di bidang bioinformatika.
Permasalahan yang ditemukan dalam mengidentifikasi local alignment antara dua buah dokumen teks menggunakan algoritma Smith-Waterman, yaitu:
1.
Algoritma Smith-Waterman membutuhkan sumber memori dan waktu proses yang besar untuk membandingkan dua buah dokumen dalam sekali proses. Besar memori dan lamanya proses tergantung dari panjangnya dokumen. Panjang dokumen yang dimaksud adalah banyaknya kalimat yang dikandung oleh dokumen tersebut dan banyaknya kata dari masing-masing kalimat.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Dengan panjang dokumen A adalah m dan panjang dokumen B adalah n maka diketahui bahwa kompleksitas yang dimiliki oleh algoritma Smith-Waterman adalah O(mn). Kebutuhan waktu dan space tentu sangat mempengaruhi proses pembandingan dua sequence pada implementasi pemrograman komputer. Untuk mengurangi kompleksitas tersebut dipakai penghitungan kesamaan struktural sebagai gerbang penentu setiap proses pembandingan. Dalam sekali proses pembandingan terdapat dua tingkatan penghitungan kesamaan struktural, yaitu proses pembandingan dokumen dan proses pembandingan kalimat. Apabila nilai hasil penghitungan kesamaan struktural lebih kecil dari threshold (nilai ambang batas), maka ditentukan bahwa sequence tidak membutuhkan proses lebih lanjut.
2.
Dalam membandingkan dua sequence, algoritma Smith-Waterman akan merepresentasikan tiap kata yang sama dari dua buah kalimat yang berbeda menjadi sebuah simbol yang sama, proses ini disebut tokenisasi. Terdapat kemungkinan walupun kecil suatu kalimat mengandung kata-kata yang sama sekali berbeda terhadap kata-kata yang dikandung oleh kalimat lain. Bila asumsi tersebut terjadi, proses tokenisasi tentunya harus membutuhkan source simbol yang lebih besar dibandingkan jumlah kata dari dua kalimat tersebut. Apabila sistem menggunakan karakter ASCII (American Standard Code for Information Interchange) yang terdiri atas 128 karakter sebagai source simbol sedangkan kedua kalimat yang dibandingkan memiliki lebih dari 128 kata, maka tidak akan terjadi proses pembandingan yang sempurna karena keterbatasan simbol. Dalam skripsi ini, source simbol yang dipakai adalah token numerik yang bertipe data positif integer yang memiliki rentang nilai 0 hingga 231-1 (berjumlah 2147483647 angka yang berbeda).
3.
Algoritma Smith-Waterman hanya membandingkan secara eksplisit dua buah string tanpa mengetahui sifat-sifat karakter pembangun kedua string yang dibandingkan. Dua buah kata yang ditulis berbeda bisa bermakna sama dalam hal bentukan maupun arti oleh karena itu butuhkan proses pengkodean dengan simbol yang sama untuk mengoptimalkan proses tokenisasi. Dalam penulisan
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
skripsi ini, pengkodean dengan simbol yang sama yang dikerjakan hanya bersifat sama bentuk melalui proses stemming. Sedangkan pengkodean dengan simbol yang sama dalam hal kesamaan arti seperti konversi sinonim ataupun penentuan jenis kata seperti metode part of speech-tagging belum dapat diimplementasikan. Permasalahan yang lain ialah adanya kemunculan katakata yang sebaiknya dibuang karena tidak terlalu mempengaruhi susunan dan makna dari suatu kalimat. Seperti yang sudah dijelaskan pada bab 2, untuk mengurangi noise tersebut digunakan proses eliminasi closed-class word dan eliminasi stop-words.
Berbeda dengan mendeteksi plagiarisme pada source code program yang memiliki aturan dan penulisan yang jelas dan teratur, mendeteksi plagiarisme antara dua dokumen teks lebih sulit dikarenakan bahasa manusia lebih bersifat dinamis yaitu terus mengalami perubahan dan memiliki banyak faktor pengubah yang juga ikut berubah (fleksibel). Oleh karena itu sistem yang dibangun bersifat hanya membantu semaksimal mungkin pengguna mempercepat dan mempertepat mengidentifikasi suatu dokumen teks yang terdeteksi plagiat.
5.2 Spesifikasi Umum Kebutuhan Sistem
Dalam skripsi ini, dibangun sebuah sistem pendeteksi plagiarisme pada dokumen teks yang mengimplementasikan algoritma Smith-Waterman. Sistem ini dirancang menggunakan metode pendekatan atas-bawah (Top-Down Approach) sehingga perancangan dimulai dari bentuk yang paling umum, kemudian diturunkan secara bertahap menjadi bentuk yang lebih detail. Spesifikasi umum kebutuhan sistem menjelaskan dasar pembuatan rancangan sistem yang terdiri dari fungsi sistem, tujuan sistem, masukan dan keluaran sistem, dan batasan sistem.
4.2.1 Fungsi Sistem
Fungsionalitas yang harus dimiliki sistem yang dibuat adalah: Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
1.
Membaca plain text document yang berekstensi txt.
2.
Menghitung kesamaan struktural untuk menentukan kata kunci.
3.
Melakukan parsing atau penguraian kalimat dan kata dari suatu dokumen.
4.
Melakukan tokenisasi kata.
5.
Menampilkan local alignment dengan membandingkan dua buah sekuens.
6.
Menghitung bobot nilai dari local alignment.
4.2.2 Tujuan Sistem
Sistem yang dibuat harus memiliki tujuan sebagai berikut:
1.
Menunjukan local alignment dalam matriks dua dimensi yang menunjukan hasil pembandingan dua buah dokumen dan hasil pembandingan tiap-tiap kalimat dari kedua dokumen.
2.
Memberikan
pembobotan
nilai
yang
mengidentifikasi
kecenderungan
terjadinya plagiarisme.
4.2.3 Masukan dan Keluaran Sistem
Masukan (input) yang dibutuhkan sistem berupa:
1.
copy document, yaitu dokumen yang dianggap hasil plagiat
2.
source document, yaitu dokumen yang dianggap sumber ide
3.
Batasan nilai (threshold)
Keluaran (output) yang dihasilkan dari sistem adalah local alignment yang ditampilkan masing-masing dalam bentuk dua dimensi untuk setiap pembandingan kalimat dan bobot/nilai kecenderungan plagiarisme dari pembandingan kedua dokumen.
4.2.4 Batasan Sistem Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Sistem yang dibuat memilki batasan-batasan sebagai berikut:
1.
Sistem hanya dapat memproses dokumen teks berbahasa Indonesia yang diasumsikan sesuai dengan aturan penulisan karya ilmiah.
2.
Sistem hanya membandingkan dua buah dokumen dalam sekali proses.
3.
Sistem hanya menerima masukan dokumen yang berasal dari koleksi uji yang berlokasi sama denga lokasi program.
4.
Sistem tidak memberikan keputusan mutlak terhadap dokumen yang diidentifikasi plagiat.
5.3 Pemodelan Fungsi
Pada sistem pendeteksi plagiarisme pada dokumen teks yang menggunakan algoritma Smith-Waterman terdapat empat proses utama. Empat proses utama ini terdiri dari proses pembacaan dokumen, proses penghitungan kesamaan struktural, proses optimasi dan proses penghitungan bobot dengan algoritma Smith-Waterman. Proses penghitugan kesamaan struktural dilakukan dua kali dalam tingkat yang berbeda. Proses kesamaan struktural tingkat I berfungsi menghitung derajat keanggotaan katakata yang menyusun dua string dokumen. Sedangkan proses kesamaan struktural tingkat II berfungsi menghitung derajat keanggotan kata-kata yang menyusun dua string kalimat. Selain keempat proses utama diatas, terdapat proses parsing.
4.3.1 Data Flow Diagram (DFD)
Untuk membantu perancangan sistem digunakan DFD (Data Flow Diagram), yaitu pemodelan fungsi yang menggambarkan secara umum proses sistem yang terjadi dengan menggunakan notasi-notasi yang memperlihatkan dan mendefinisikan dengan jelas masukan dan keluaran data pada masing-masing proses. Model fungsional ini berfungsi membantu memahami cara kerja sistem dan hubungan setiap proses dalam sistem secara terstruktur dan logis. Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Dengan mengidentifikasikan semua kesatuan luar yang terlibat dengan sistem dan semua masukan dan keluaran yang berhubungan dengan kesatuan luar, maka dapat dijelaskan bahwa input merupakan pilihan menu yang terdiri atas tiga option, yaitu:
1. Deteksi plagiarisme 2. Informasi sistem 3. Keluaran dari sistem
Sistem pendeteksi akan memberikan output sesuai pilihan yang di-input oleh user. Output yang mungkin dihasilkan oleh sistem adalah sebagai berikut:
1. Tampilan teks pada layar komputer yang memberikan keterangan mengenai sistem pendeteksi plagiarisme. 2. Bobot kecenderungan plagiarisme dan local similarities yang dihasilkan.
Dari penjelasan input-output sistem pendeteksi plagiarisme di atas, mak dapat digambarkan DFD level 0 atau diagram konteks dari sistem pendeteksi plagiarisme seperti di bawah ini.
Informasi_Sistem
PEMERIKSA
Pilihan_Menu
SISTEM PENDETEKSI PLAGIARISME
Bobot_Plagiarisme dan Local_Similarities
Gambar 3.1 Diagram Konteks
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Diagram konteks berfungsi menggambarkan hubungan antara entitas luar, berupa masukan dan keluaran sistem. Dari Gambar 3.1 dapat dilihat hanya terdapat sebuah entitas luar, yaitu pemeriksa. Pemeriksa merupakan source terminal yang memberikan masukan ke sistem dan juga merupakan sink terminal yang menerima keluaran dari sistem.
Dalam konteks pemakaian sistem pendeteksi plagiarisme, maka definisi pemeriksa yang melakukan proses input dan menerima output merupakan pengguna yang bertingkat, sebagai contoh pengguna I adalah dosen dan pengguna II adalah mahasiswa. Dengan penjelasan, pengguna I menggunakan secara langsung sistem pendeteksi plagiarisme dan hasilnya dapat diberikan kepada pengguna II. Pengguna tingkat kedua merupakan pengguna yang tidak berinteraksi langsung dengan sistem sehingga pengguna tingkat kedua tidak digambarkan pada diagram konteks.
Data pilihan menu pada diagram konteks terdiri dari tiga option. Seperti yang telah dijelaskan sebelumnya bahwa pilihan ketiga adalah perintah untuk keluar dari sistem, maka DFD level 1 hanya terdiri atas dua proses, yaitu proses tampilkan informasi dan proses deteksi plagiarisme. DFD level 1 dapat digambarkan sebagai berikut.
1.1* Informasi_Sistem TAMPILKAN INFORMASI
Option_1
PEMERIKSA Option_2 1.2
Source_File Database Source File
Path_Source_File DETEKSI PLAGIARISME Path_Copy_File
Copy_File
Database Copy File
Bobot_Plagiarisme dan Local_Similarities
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Gambar 3.2 DFD Level 1
Proses tampilkan informasi (1.1) adalah proses tambahan pada sistem yang berguna menampilkan teks informasi pada layar monitor. Sedangkan proses deteksi plagiarisme (1.2) merupakan proses utama dari sistem pendeteksi plagiarisme. Proses ini membutuhkan data masukan berupa path source file dan path copy file yang menentukan lokasi dokumen yang akan dibandingkan.
Masing-masing entitas data yang tercantum pada DFD level 1 ditampilkan pada tabel di bawah ini. Tabel 3.1 Entitas Data pada DFD Level 1 Nama Option_1
Keterangan Pilihan yang di-input pemeriksa yang menandakan pemeriksa ingin mendeteksi plagiarisme
Option_2
Pilihan
yang
di-input
pemeriksa
yang
ingin
menampilkan informasi mengenai sistem pendeteksi plagiarisme Informasi_sistem
Informasi tekstual yang ditampilkan sistem pada layar monitor
komputer
mengenai
sistem
pendeteksi
plagiarisme Bobot_plagiarisme dan
Output yang dihasilkan sistem pendeteksi plagiarisme
local_similarities
yang memberi nilai kecenderungan tindakan plagiat
Path_source_file
Lokasi source file yang berada dalam harddisk komputer
Path_copy_file
Lokasi copy file yang berada dalam harddisk komputer
Source_file
Dokumen yang diasumsikan sumber ide dari tindakan plagiat
Copy_file
Dokumen yang dianggap hasil plagiat dari source file
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Proses deteksi plagiarisme terdiri dari tiga proses, yaitu proses baca dokumen, proses optimasi dan proses pembobotan. Proses optimasi pada DFD level 2 merupakan proses bantuan pre-processing, sehingga proses optimasi ini hanya mengoptimalkan source dan copy file yang dibandingkan. DFD level 2 untuk proses deteksi plagiarisme dapat digambarkan sebagai berikut.
1.2.1*
Source_File Database Source File
Path_Source_File BACA DOKUMEN
PEMERIKSA Path_Copy_File
Copy_File
Bobot_Plagiarisme dan Local_Similarities
1.2.3*
Copy_File
Source_File
Source_File_TerOptimasi
PEMBOBOTAN
Database Copy File
1.2.2*
OPTIMASI
Copy_File_TerOptimasi
Gambar 3.3 DFD Level 2
Proses baca dokumen (1.2.1) berfungsi membaca dokumen dari corpus (kumpulan dokumen) yang merupakan lokasi source file dan copy file yang ingin dibandingkan. Untuk memperoleh kedua file tersebut, pengguna harus memasukan kedua path file tersebut terlebih dahulu. Proses baca dokumen memiliki fungsionalitas sebagai berikut:
a. Pembacaan karakter dari tiap dokumen b. Penghapusan string yang berada di dalam tanda kutip dua c. Konversi huruf besar menjadi huruf kecil
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Proses baca dokumen dimulai dengan membaca file karakter per karakter dan melakukan konversi semua karakter dokumen menjadi huruf kecil. Karakter yang dikumpulkan dibentuk menjadi kalimat sebelum dilakukan pemeriksaan kalimat yang diasumsikan tergolong kutipan langsung. Proses baca dokumen akan mengembalikan pasangan file menjadi pasangan string dokumen. Alur proses baca dokumen dapat dilihat pada gambar flowchart di bawah ini
mulai
file
Baca file perkarakter
Karakter==null
tidak
tidak
Konversi huruf besar menjadi huruf kecil
Hapus kalimat
(karakter==null) atau (karakter==angka)
Kalimat += karakter
ya
ya Kalimat kutipan langsung
tidak
Dokumen += kalimat
selesai
dokumen
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Gambar 3.4 Flowchart Untuk Proses Baca Dokumen
Proses optimasi berfungsi mengoptimalkan kalimat dengan mengurangi noise berupa penghilangan kata yang tergolong closed-class word dan stop words dalam masing-masing kalimat dan mengembalikan bentukan dasar dari kata yang berimbuhan. Proses optmiasi merupakan proses yang mengolah dokumen dalam bentuk kata per kata. Alur proses optimasi dapat dilihat pada gambar flowchart di bawah ini.
mulai
Cek jenis kata
dokumen
Kata tergolong closed-class word dan stop word
ya
Hapus kata
tidak tidak
parsing
stemming Ambil sebuah kata
Dokumen==null
ya
Dokumen += kata
dokumen
selesai
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Gambar 3.5 Flowchart Untuk Proses Optimasi
Proses optimasi (1.2.2) berguna untuk mengoptimalkan pasangan dokumen yang dibandingkan secara keseluruhan dengan menghilangkan data noise. Proses ini mengandung subproses:
a. Eliminasi closed-class word b. Eliminasi stop words c. Stemming
Di dalam proses optimasi terdapat proses parsing. Proses ini berguna memecah file/dokumen menjadi bagian yang lebih sederhana yaitu menguraikan dokumen menjadi kalimat-kalimat dan menguraikan kalimat menjadi kata-kata. Pada proses optimasi juga terdapat proses stemming. Proses ini memiliki beberapa subproses yaitu:
1. Pemeriksaan awalan (prefix) 2. Pemeriksaan akhiran (suffix) 3. Pemeriksaan partikel (particle) dan kata ganti orang (possesive pronoun)
Pembuatan setiap file di dalam database kamus yang digunakan pada proses stemming merupakan file plain text, dimana setiap kata di dalam file merupakan kata dasar dan digolongkan ke dalam 26 file tekstual yang mewakili masing-masing huruf awal dari tiap kata. Sebagai contoh kata “saya” akan dimasukkan ke dalam file a.txt, sedangkan kata “pergi” dimasukkan ke dalam file p.txt. Format penulisan kata-kata di dalam file ditulis terurut dan satu kata dengan kata yang lain dipisahkan oleh tanda titik tanpa spasi.
Proses yang terakhir adalah proses pembobotan melalui pembandingan dengan menggunakan algoritma Smith-Waterman. Di dalam proses ini terdapat proses tokenisasi yaitu proses yang merepresentasikan tiap kata dari dokumen menjadi simbol numerik. Alur penghitungan bobot/nilai menggunakan algoritma SmithWaterman dapat digambarkan seperti flowchart di bawah ini. Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
mulai
kalimat
tokenisasi
Pembandingan dengan algoritma Smith-Waterman
Bobot plagiarisme dan local similarities
selesai
Gambar 3.6 Flowchart Untuk Proses Pembobotan Algoritma Smith-Waterman
3.4 Perancangan Sistem
Rancangan antarmuka dari sistem ini masih menggunakan command line interface (CLI) karena penelitian skripsi ini lebih difokuskan pada analisis algoritma Smith-Waterman dan pengimplementasinya di dalam pemrograman komputer. Sehingga sisi interface tidak begitu diperhatikan.
Gambar 3.7 Antarmuka Menu Awal Sistem Pendeteksi Plagiarisme
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Gambar 3.8 Antarmuka Submenu Pilihan Pertama
Gambar 3.9 Antarmuka Proses Pembandingan pada Submenu Pilihan Pertama
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Gambar 3.10 Antarmuka Hasil Pembandingan pada Submenu Pilihan Pertama
Gambar 3.11 Antarmuka Submenu Pilihan Kedua
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Berdasarkan analisis rancangan sistem DFD yang dibuat, maka dapat digambarkan arsitektur algoritma sistem pendeteksi plagiarisme secara menyeluruh dalam bentuk flowchart.
MULAI
HITUNG KESAMAAN STRUKTURAL i
DOKUMEN
Nilai Kesamaan Struktural > Threshold
ya BACA DOKUMEN
PARSING KALIMAT
ERROR HITUNG KESAMAAN STRUKTURAL II
tidak
tidak tidak
ya
PARSING DOKUMEN
tidak
Nilai Kesamaan Struktural > Threshold
ya
HITUNG BOBOT
OPTIMASI
SELESAI
CEK KALIMAT SELANJUTNYA
BOBOT
ya
Kalimat==null
Gambar 3.12 Flowchart Sistem Pendeteksi Plagiarisme Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Dari Gambar 3.5 dapat dijelaskan bahwa sistem pendeteksi plagiarisme menggunakan
algoritma
Smith-Waterman
tersusun
atas
modul-modul
yang
disesuaikan dengan DFD yang telah dijelaskan pada subbab sebelumnya terdiri dari enam modul penting. Berikut adalah tanggung jawab untuk masing-masing modul: Tabel 3.2 Tanggung Jawab Modul No. 1
Modul Utama/Main
Tanggung Jawab Menampilkan antarmuka dan sebagai modul utama dari sistem pendeteksi plagiarisme
2
Pembacaan Dokumen
Melakukan pembacaan plain text document yang berformat *.txt secara karakter per karakter
3
Penghitungan Kesamaan
Menghitung derajat keanggotaan kata-kata
Struktural
yang menyusun dua string kalimat yang diperiksa.
4
Optimasi
Menghapus semua kata yang tergolong kelas closed-class word dan stop words.
5
Stemming
Mengembalikan berbagai macam bentukan kata ke dalam representasi dasar kata
6
Penghitungan Bobot
Menghitung bobot masing-masing pasangan
menggunakan algoritma
dokumen dengan mengidentifikasikan local
Smith-Waterman
similarities setiap pasangan string kalimat.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM
5.1 Implementasi
Proses implementasi yang dilakukan bertujuan untuk merancang sebuah aplikasi pendeteksi plagiarisme menggunakan algoritma standar Smith-Waterman dengan proses bantuan pre-processing.
Aplikasi yang dihasilkan dari proses implementasi pada pembuatan skripsi ini merupakan sebuah aplikasi sistem. Dikatakan aplikasi sistem karena aplikasi yang dibangun merupakan jaringan kerja yang terdiri dari prosedur-prosedur yang saling berhubungan satu sama lain untuk melakukan suatu usaha atau sasaran tertentu, yaitu mendeteksi plagiarisme. Pada umumnya di dalam sebuah sistem terdapat fungsifungsi teknologi seperti input, process, output, storage dan communication. Selain hardware, software, informasi dan prosedur-prosedur dalam bentuk program, faktor brainware sebagai salah satu esensi sistem juga dibutuhkan. Sistem pendeteksi plagiarisme yang dirancang dalam penulisan skripsi ini
mengadopsi penjelasan
tersebut dengan mengikut-sertakan pengguna sebagai user, operator dan decision maker terhadap bobot/nilai hasil keluaran sistem dalam menentukan pasangan dokumen apakah termasuk hasil tindakan plagiat atau tidak. Hal ini menjelaskan bahwa bobot yang dihasilkan oleh sistem pendeteksi plagiarisme ini merupakan nilai relatif.
Nilai ambang batas (threshold) yang digunakan dalam sistem pendeteksi plagiarisme ini tidak hanya menjadi nilai pembanding terhadap nilai hasil proses kesamaan struktural yang digunakan sebagai syarat untuk melanjutkan proses Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
penghitungan bobot plagiarisme. Nilai threshold juga dimanfaatkan sebagai faktor yang menentukan bobot plagiarisme dari dua dokumen yang dibandingkan. Rumus perhitungan tersebut dapat dilihat sebagai berikut:
Bobot Sistem = threshold + (( 1 – threshold ) * bobot Smith-Waterman)
Secara default nilai threshold yang digunakan adalah 0.5 dengan asumsi apabila hasil pembandingan dua buah dokumen bernilai diatas 50%, maka pasangan dokumen dianggap hasil tindakan plagiat. Bobot Smith-Waterman merupakan bobot yang dihasilkan oleh algoritma Smith-Waterman secara standar. Sedangkan bobot sistem merupakan output akhir dari seluruh proses yang akan diterima oleh user. Sebagai pendeteksi plagiarisme, sistem tidak hanya memberi keluaran berupa bobot/nilai dalam bentuk persentase kecenderungan tindakan plagiat. Sistem juga akan memberikan keluaran berupa hasil pembandingan tiap token (kata) dari dua kalimat yang dibandingkan berupa local alignment yang berbentuk tabel, sehingga pengguna dapat melihat local similarities tiap kalimat dari dua dokumen yang dibandingkan dari tabel tersebut.
4.1.1 Lingkungan Implementasi
Lingkungan implementasi yang akan dijelaskan merupakan lingkungan perangkat keras (hardware) dan perangkat lunak (software) yang digunakan dalam penulisan skripsi ini.
Spesifikasi perangkat keras yang digunakan adalah sebagai berikut: 1.
Processor Intel(R) Core(TM) 2 T5300 1.73 GHz
2.
Memory RAM 1526 MB
3.
Harddisk Fujitsu 80 GB
4.
Perangkat output berupa monitor LCD Widescreen 14.1”
5.
Perangkat input berupa mouse dan keyboard
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Spesifikasi perangkat lunak yang digunakan adalah sebagai berikut: 1.
Operating system Microsoft Windows VistaTM Ultimate
2.
JDK6, mencakup Java versi 1.6.0 dan Java(TM) SE Runtime Environment
3.
Java Editor Netbeans 5.5.1
4.
Text Editor Notepad
4.1.2 Batasan Implementasi
Batasan yang didefinisikan untuk implementasi sistem pendeteksi ini adalah sebagai berikut:
1.
Mengasumsikan bahwa pengguna atau user hanya memasukan data berupa dokumen berbahasa Indonesia,.
2.
Hanya
dapat
membandingkan
dua
dokumen
dalam
sekali
proses
pengidentifikasian plagiarisme. 3.
Hanya memproses file dokumen dengan format *.txt (tekstual), sehingga tidak membandingkan gambar, tabel atau objek semacamnya.
4.
Mengasumsikan bahwa dokumen merupakan tulisan ilmiah seperti laporan, tugas, makalah ataupun skripsi mahasiswa, maka sistem menganggap penulisan dokumen telah sesuai dengan aturan-aturan penulisan dokumen berbahasa Indonesia secara resmi.
5.2 Pengujian
Di dalam pengujian ini dilakukan dua buah pendekatan yaitu pendekatan yang hanya menggunakan algoritma Smith-Waterman secara standar dan pendekatan yang telah menggunakan proses tambahan pre-processing untuk mengoptimalkan algoritma Smith-Waterman. Proses pengujian sistem ini dilakukan pada sebuah komputer yang bersifat offline atau tidak terhubung dengan jaringan. Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
4.2.1 Tujuan Pengujian
Beberapa hal yang menjadi tujuan dari pelaksanaan pengujian sistem pendeteksi plagiarisme ini adalah:
1.
Membuktikan akurasi algoritma Smith-Waterman dalam mendeteksi local similarities antara dua dokumen teks berbahasa Indonesia.
2.
Meneliti performa pre-processing yang dipakai dalam sistem dan pengaruhnya terhadap algoritma Smith-Waterman dalam meningkatkan kemampuan mengidentifikasi dokumen yang tidak dan terbukti plagiat.
3.
Membuktikan bahwa algoritma Smith-Waterman merupakan algoritma yang sesuai untuk membangun sistem pendeteksi plagiarisme pada dokumen teks berbahasa Indonesia.
4.2.2 Data Pengujian
Di dalam mengidentifikasi plagiarisme terdapat pertimbangan dalam menentukan data pengujian yang tepat. Pertimbangan yang dimaksud adalah data pengujian yang memiliki definisi jelas antara dokumen yang merupakan plagiat (100% plagiat) dan dokumen yang bukan merupakan plagiat (0% plagiat). Data yang digunakan sebagai bahan pengujian masing-masing hanya terdiri dari sebuah paragraf dan merupakan file dokumen yang dibuat secara manual, hal ini dikarenakan tidak adanya standar atau parameter yang jelas yang digunakan sebagai pengukur seberapa besar tingkat plagiarisme yang dilakukan. Untuk mempermudah identifikasi dan penentuan batas ukur performa sistem, maka objek berupa gambar, tabel tidak diikutsertakan dalam proses pembandingan. Berdasarkan jenis pengujiannya data set terdiri atas:
1.
Data Set Deterministik 1, yaitu data set yang terdiri atas dokumen yang memanipulasi pengubahan struktur kalimat di dalam paragraf.
2.
Data Set Deterministik 2, yaitu data set yang terdiri atas dokumen yang memanipulasi pengubahan struktur kata di dalam kalimat.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
4.2.3 Skenario Pengujian
Dengan memanfaatkan pembandingan hasil keluaran algoritma standar SmithWaterman dengan algoritma Smith-Waterman yang telah dibantu dengan proses preprocessing, maka dapat dilihat perbedaan akurasi dan performanya. Berdasarkan data set, maka di dalam pengujian tingkat akurasi dilakukan dua jenis pengujian sekaligus dalam sekali proses pembandingan yaitu:
1.
Pengujian pengubahan struktur kalimat. Pengujian ini ditujukan untuk melihat akurasi dari algoritma Smith-Waterman yang telah dibantu oleh proses pre-processing dalam membandingkan dua dokumen yang sama tetapi telah mengalami perubahan struktur paragraf yang diplagiat dengan mengubah paragraf berjenis deduktif menjadi berjenis induktif, atau sebaliknya. Sedangkan untuk pengubahan struktur kata di dalam kalimat dapat dilakukan dengan mengubah kalimat aktif menjadi pasif atau sebaliknya dengan penukaran posisi subjek ataupun kata keterangan dan perubahan kata yang berimbuhan. Misalnya tiga kalimat di bawah ini:
2.
a.
Tadi siang Abul memukul Panji di dalam kelas.
b.
Di dalam kelas Panji dipukul Abul siang tadi.
c.
Abul memukul Panji didalam kelas siang tadi.
Pengujian pengkonversian angka, eliminasi closed-class word dan stop words, pendeteksian kutipan dan stemming. Pengujian ini ditujukan untuk melihat kemampuan dari fungsi pre-processing yang bertugas membantu proses pembandingan dan pembobotan oleh algoritma Smith-Waterman.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Selain pengujian akurasi, juga dilakukan pengujian waktu proses. Pengujian ini ditujukan untuk mengamati secara eksplisit waktu proses pre-processing yang diimplementasikan di dalam sistem pendeteksi plagiarisme sehingga dapat diketahui performa keseluruhan sistem yang telah mengandung proses bantuan. Data set yang digunakan
di dalam pengujian ini sama dengan data set yang digunakan pada
pengujian akurasi. Penggunaan data set yang sama merupakan cara untuk mempermudah melihat hubungan akurasi dan performa dari proses pembandingan oleh sistem.
4.2.4 Hasil Pengujian
Output hasil pengujian sistem ditampilkan dalam bentuk tabel. Nilai yang ditampilkan di setiap sel merupakan bobot/nilai keseluruhan dari pembandingan dua buah dokumen uji, dimana nilai tiap pembandingan dokumen merupakan nilai pembulatan. Untuk setiap pembandingan dua kalimat yang dideteksi plagiat, sistem sebenarnya akan menampilkan pasangan-pasangan kalimat yang terdeteksi plagiat disertai local alignment dalam matriks dua dimensi dan memberikan hasil akhir berupa bobot/nilai plagiarisme. Berdasarkan skenario yang telah dijelaskan pada subbab 4.2.3 dan dengan menggunakan nilai threshold sebesar 0.5, maka didapat setiap hasil pengujian sebagai berikut:
1.
Hasil Pengujian Akurasi Memperlihatkan hasil pengujian dari empat kali percobaan yang terdiri dari dua jenis data set dengan menggunakan algoritma standar Smith-Waterman dan bantuan proses tambahan pre-processing dan algoritma standar Smith-Waterman
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Tabel 4.1 Hasil Pengujian Akurasi Data Set I Menggunakan Algoritma Smith-Waterman dan Pre-Processing
A1 A2 A3 B1 B2 C1 C2 D1 D2 E1 E2 F1 F2 G1 G2
A1 100 84 85 0 0 0 0 0 0 0 0 0 0 0 0
A2 84 100 93 0 0 0 0 0 0 0 0 0 0 0 0
A3 85 93 100 0 0 0 0 0 0 0 0 0 0 0 0
B1 0 0 0 100 75 0 0 0 0 0 0 0 0 0 0
B2 0 0 0 75 100 0 0 0 0 0 0 0 0 0 0
C1 0 0 0 0 0 100 81 0 0 0 0 0 0 0 0
C2 0 0 0 0 0 81 100 0 0 0 0 0 0 0 0
D1 0 0 0 0 0 0 0 100 75 0 0 0 0 0 0
D2 0 0 0 0 0 0 0 75 100 0 0 0 0 0 0
E1 0 0 0 0 0 0 0 0 0 100 88 0 0 0 0
E2 0 0 0 0 0 0 0 0 0 88 100 0 0 0 0
F1 0 0 0 0 0 0 0 0 0 0 0 100 78 0 0
F2 0 0 0 0 0 0 0 0 0 0 0 78 100 0 0
G1 0 0 0 0 0 0 0 0 0 0 0 0 0 100 82
G2 0 0 0 0 0 0 0 0 0 0 0 0 0 82 100
Tabel 4.2 Hasil Pengujian Akurasi Data Set II Menggunakan Algoritma Smith-Waterman dan Pre-Processing
A1 A2 B1 B2 C1 C2 D1 D2 E1 E2 F1 F2 G1 G2
A1 100 100 0 0 0 0 0 0 0 0 0 0 0 0
A2 100 100 0 0 0 0 0 0 0 0 0 0 0 0
B1 0 0 100 100 0 0 0 0 0 0 0 0 0 0
B2 0 0 100 100 0 0 0 0 0 0 0 0 0 0
C1 0 0 0 0 100 95 0 0 0 0 0 0 0 0
C2 0 0 0 0 95 100 0 0 0 0 0 0 0 0
D1 0 0 0 0 0 0 100 97 0 0 0 0 0 0
D2 0 0 0 0 0 0 97 100 0 0 0 0 0 0
E1 0 0 0 0 0 0 0 0 100 100 0 0 0 0
E2 0 0 0 0 0 0 0 0 100 100 0 0 0 0
F1 0 0 0 0 0 0 0 0 0 0 100 100 0 0
F2 0 0 0 0 0 0 0 0 0 0 100 100 0 0
G1 0 0 0 0 0 0 0 0 0 0 0 0 100 100
G2 0 0 0 0 0 0 0 0 0 0 0 0 100 100
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Tabel 4.3 Hasil Pengujian Akurasi Data Set I Menggunakan Algoritma Standar Smith-Waterman A1 A2 A3 B1 B2 C1 C2 D1 D2 E1 E2 F1 F2 G1 G2
A1 100 59 48 0 0 0 0 0 0 0 0 0 0 0 0
A2 59 100 41 0 0 0 0 0 0 0 0 0 0 0 0
A3 48 41 100 0 0 0 0 0 0 0 0 0 0 0 0
B1 0 0 0 100 33 0 0 0 0 0 0 0 0 0 0
B2 0 0 0 33 100 0 0 0 0 0 0 0 0 0 0
C1 0 0 0 0 0 100 52 0 0 0 0 0 0 0 0
C2 0 0 0 0 0 52 100 0 0 0 0 0 0 0 0
D1 0 0 0 0 0 0 0 100 45 0 0 0 0 0 0
D2 0 0 0 0 0 0 0 45 100 0 0 0 0 0 0
E1 0 0 0 0 0 0 0 0 0 100 56 0 0 0 0
E2 0 0 0 0 0 0 0 0 0 56 100 0 0 0 0
F1 0 0 0 0 0 0 0 0 0 0 0 100 43 0 0
F2 0 0 0 0 0 0 0 0 0 0 0 43 100 0 0
G1 0 0 0 0 0 0 0 0 0 0 0 0 0 100 61
G2 0 0 0 0 0 0 0 0 0 0 0 0 0 61 100
Tabel 4.4 Hasil Pengujian Akurasi Data Set II Menggunakan Algoritma Standar Smith-Waterman A1 A2 B1 B2 C1 C2 D1 D2 E1 E2 F1 F2 G1 G2
A1 100 90 11 11 9 9 13 13 13 13 9 9 17 17
A2 90 100 11 11 8 8 13 13 13 13 9 9 17 17
B1 11 11 100 93 10 10 10 9 10 10 10 10 12 12
B2 11 11 93 100 10 10 10 9 10 10 10 10 12 12
C1 9 8 10 10 100 92 9 8 10 10 9 9 12 12
C2 9 8 10 10 92 100 9 9 10 10 9 9 12 12
D1 13 13 10 10 9 9 100 88 13 13 10 10 11 11
D2 13 13 9 9 8 9 88 100 13 13 10 10 11 11
E1 13 13 10 10 10 10 13 13 100 91 7 7 9 9
E2 13 13 10 10 10 10 13 13 91 100 7 7 9 9
F1 9 9 10 10 9 9 10 10 7 7 100 95 14 14
F2 9 9 10 10 9 9 10 10 7 7 95 100 14 14
G1 17 17 12 12 12 12 11 11 9 9 14 14 100 89
G2 17 17 12 12 12 12 11 11 9 9 14 14 89 100
2. Hasil Pengujian Waktu Proses Memperlihatkan perbandingan waktu proses yang dibutuhkan dari keempat proses pengujian akurasi.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Tabel 4.5 Hasil Pengujian Waktu Proses Data Deterministik Menggunakan Algoritma Smith-Waterman dan Pre-Processing PERCOBAAN A1-A2 A1-A3 A2-A3 B1-B2 DATA C1-C2 SET I D1-D2 E1-E2 F1-F2 G1-G2 RATA-RATA A1-A2 B1-B2 C1-C2 DATA D1-D2 SET II E1-E2 F1-F2 G1-G2 RATA-RATA
I
II
III
VI
V
14,068 15,384 14,42 12,418 12,613 10,499 12,819 11,253 11,007
14,402 14,476 14,422 13,717 13,146 11,923 13,704 11,645 12,052
14,258 14,337 14,534 12,412 12,537 11,223 13,809 11,887 11,876
14,232 14,282 14,343 13,212 13,161 11,17 13,729 11,818 11,621
14,413 14,282 14,445 13,026 13,001 11,605 13,096 10,91 11,952
RATARATA 14,27 14,55 14,43 12,95 12,89 11,28 13,43 11,50 11,70
10,04
10,51
10,26
10,33
10,23
10,274
9,372 10,736 10,474 9,471 12,224 9,736 10,165
10,483 11,894 11,395 10,455 13,123 10,913 11,442
10,451 11,822 11,006 10,511 13,174 10,495 11,204
10,473 11,658 12,217 10,559 13,066 11,275 11,263
10,458 11,596 11,377 10,444 13,294 10,097 11,174
10,24 11,54 11,29 10,28 12,97 10,50 11,04
8,97
9,89
9,74
10,00
9,71
9,662
Tabel 4.6 Hasil Pengujian Waktu Proses Data Undeterministik Menggunakan Algoritma Standar Smith-Waterman PERCOBAAN A1-A2 A1-A3 A2-A3 B1-B2 DATA C1-C2 SET I D1-D2 E1-E2 F1-F2 G1-G2 RATA-RATA A1-A2 B1-B2 C1-C2 DATA D1-D2 SET II E1-E2 F1-F2 G1-G2 RATA-RATA
RATARATA 4,39 4,40 4,34 3,33 3,23 2,93 3,50 2,95 3,15
I
II
III
VI
V
4,228 4,181 4,300 3,442 3,471 3,102 3,135 2,704 2,890
4,134 4,746 4,973 3,309 3,026 2,894 3,894 2,943 3,412
4,402 4,538 4,222 3,241 3,204 2,772 3,288 3,174 3,199
4,332 4,302 4,051 3,066 3,117 2,959 3,362 3,020 3,248
4,872 4,241 4,165 3,621 3,317 2,965 3,777 2,897 2,990
3,50
3,70 2,447
3,56 2,245
3,50 2,447
3,65 2,545
2,899 3,187 2,703 3,880 2,773 3,062
3,112 3,187 2,511 3,667 3,000 3,067
3,002 3,187 2,570 3,441 2,905 3,109
2,905 3,198 2,637 3,710 3,002 2,996
2,45 3,00 3,19 2,61 3,68 2,91 3,07
2,33
2,30
2,30
2,33
2,33
2,540 3.105 3,200 2,677 3,714 2,894 3,115
2,36
3,58
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
4.2.5 Analisis Hasil Pengujian
Berdasarkan pembandingan tabel hasil pengujian akurasi yang menggunakan algoritma Smith-Waterman dengan bantuan proses tambahan pre-processing antara pengubahan struktur kata di dalam kalimat (Tabel 4.1) dan struktur kalimat di dalam paragraf (Tabel 4.2), dapat diketahui bahwa sistem memiliki keakuratan yang lebih baik pada saat membandingkan dokumen yang mengandung pengubahan struktur kalimat. Keakuratan yang lebih baik tersebut diperoleh dengan waktu proses yang lebih lama dibandingkan pengujian pengubahan struktur kata di dalam kalimat. Hal ini dikarenakan pre-processing lebih banyak bekerja pada pembandingkan data set I daripada data set II dengan perincian data set I mengandung bytes per dokumen dan data noise yang lebih besar. Begitu juga yang terlihat pada Tabel 4.3 dan Tabel 4.4 yang menggunakan algoritma standar Smith-Waterman. Perbedaannya hanya terdapat pada penggunaan sistem pendeteksi yang mengakibatkan perbedaan tingkat akurasi yang significant, dimana penggunaan algoritma Smith-Waterman dengan bantuan proses tambahan pre-processing pada sistem pendeteksi plagiarisme menghasilkan tingkat akurasi yang lebih baik.
Berdasarkan pembandingan tabel hasil pengujian waktu proses diketahui bahwa sistem memiliki waktu proses yang sangat stabil dalam setiap proses, hal ini dibuktikan dalam lima kali percobaan setiap dua dokumen yang sama selisih waktu proses terbesar kurang dari 1 detik. Dengan penjelasan bahwa data set I mengandung dokumen berukuran rata-rata 809 bytes dan data set II mengandung dokumen berukuran rata-rata 619 bytes. Dari perbandingan Tabel 4.5 dan Tabel 4.6 dapat dilihat bahwa waktu proses sistem pendeteksi plagiarisme yang hanya menggunakan algoritma standar Smith-Waterman menghasilkan waktu proses yang jauh lebih cepat dengan selisih rata-rata waktu proses untuk data set I adalah 6,694 detik dan selisih rata-rata waktu proses untuk data set II adalah 7,332 detik.
Selain jumlah data noise dan besar ukuran file dokumen, algoritma preprocessing sebagai algoritma tambahan juga mempengaruhi performa sistem. Hal ini dikarenakan adanya data yang berupa kata-kata dasar di dalam database kamus, dimana jumlah kata tersebut bisa bertambah atau berkurang sesuai keinginan user. Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Faktor penentu lainnya yang bersifat meminimalkan waktu proses algoritma SmithWaterman adalah data closed-class word dan stop words. Dikarenakan proses eliminasi ini bersifat internal maka perubahan data hanya dapat dilakukan oleh programmer yang membuat dan/atau mengerti algoritma dari sistem pendeteksi plagiarisme ini.
Efek dari pre-processing yang ditambahkan ke dalam sistem pendeteksi plagiarisme
dengan
menggunakan
algoritma
Smith-Waterman
menyebabkan
bertambahnya waktu proses keseluruhan sistem, tetapi proses bantuan ini berguna mempersingkat waktu pembandingan algoritma Smith-Waterman. Dikarenakan dalam mendeteksi plagiarisme yang diutamakan adalah akurasi untuk menghasilkan bobot kecenderungan plagiarisme, maka penambahan waktu proses dapat dikesampingkan.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Kesimpulan yang didapat selama pelaksanaan skripsi ini adalah:
1.
Performa algoritma Smith-Waterman dalam membandingkan dokumen dapat ditingkatkan dengan menghilangkan data noise pada setiap dokumen dengan bantuan proses tambahan pre-processing.
2.
Algoritma Smith-Waterman memiliki keakuratan yang lebih baik pada saat membandingkan dokumen yang mengandung pengubahan struktur kalimat di dalam paragraf daripada pengubahan struktur kata di dalam kalimat.
3.
Dengan bantuan proses tambahan pre-processing, sistem pendeteksi plagiarisme dapat menghasilkan bobot/nilai kecenderungan terjadinya tindakan plagiat yang lebih akurat.
4.
Selain menghasilkan bobot/nilai hasil pembandingan, sistem pendeteksi plagiarisme juga menghasilkan local alignment yang menggambarkan local similarities sebagai pendukung bobot/nilai kecenderungan terjadinya tindakan plagiat.
5.
Sistem dapat menghasilkan bobot/nilai plagiarisme yang tidak maksimal apabila terdapat keambiguan dokumen dalam hal penulisan kata ataupun kalimat.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
5.2 Saran
Saran-saran yang dapat digunakan untuk mengembangkan skripsi ini adalah:
1.
Perlu dilakukan penelitian lebih lanjut dalam bidang kesusasteraan, terutama mengenai aturan penambahan imbuhan, pendeteksian kutipan langsung dan bentuk penulisan kata yang berbeda tetapi memiliki makna yang sama ataupun penulisan kata yang sama tetapi memiliki makna yang berbeda.
2.
Perlu dilakukan penelitian lebih lanjut untuk mendeteksi plagiarisme selain manipulasi teks seperti rumus dan simbol matematika maupun identifikasi plagiarisme pada gambar dan tabel.
3.
Perlu dikembangkan proses tambahan pre-processing yang memiliki performa yang lebih baik.
4.
Perlu dikembangkan sistem yang lebih user friendly dengan menerapkan bentuk Graphical User Interface (GUI) pada antarmuka sistem.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
DAFTAR PUSTAKA Achmad, B. 2005. Serba Serbi Skripsi – Plagiarisme, kenali untuk menghindari. http://www.balzach.staff.ugm.ac.id/TugasAkhir/SSS-Plagiarisme.html, diakses tanggal 23 April 2008. Badudu, J.S. 1991. Inilah Bahasa Indonesia Yang Benar II, Cetakan Keempat. Jakarta, Gramedia Pustaka Utama. Brotowidjoyo, M.D. 1993. Penulisan Karangan Ilmiah, Edisi Kedua. Jakarta, Akademika Pressindo. Clough, P. 2000. Plagiarism in Natural and Programming Languages : an Overview of Current Tools and Technologies 2000. Sheffield, UK : Department of Computer Science, University of Sheffield. Clough, P. 2003. Old and New Challenges in Automatic Plagiarism Detection. Sheffield, UK : Department of Information Studies, University of Sheffield. Elviawaty, M.Z. 2007. Catatan Kuliah : Rekayasa Perangkat Lunak. Medan : Program Studi S1 Ilmu Komputer FMIPA, Universitas Sumatera Utara. Hoad, T. Zobel, J. 2003. Methods for Identifying Versioned and Plagiarised Documents. Melbourne, Australia : School of Computer Science and Information Technology, RMIT University. Human Genome Sequencing Center, One Baylor Plaza, Houston, TX. http://searchlauncer.bcm.tmc.edu/help/SmithWaterman.html, diakses tanggal 27 April 2008. Irving, Robert W. Plagiarism and Collusion Detection using the Smith-Waterman Algorithm. Glasgow, UK : Department of Computing Science, University of Glasgow. Juliussar An-Af. Mengenali Permasalahan Plagiarisme. http://www.julissarwritting.blogspot.com/2007/08/mengenali-permasalahanplagiarisme.html, diakses tanggal 26 April 2008. Kurtz, S. 2001. Foundation of Sequence Analysis. http://www.techfak.unibielefeld.de/~kurtz/, diakses tanggal 26 April 2008. Rosyidi, A. 2007. Plagiarisme merugikan semua pihak. http://rosyidi.com/plagiarisme-merugikan-semua-pihak, diakses tanggal 27 April 2008.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Parlaungan Ritonga, Mascahaya, Ridwan Azhar. 2008. Bahasa Indonesia Praktiks, Edisi Pertama. Jakara, Bartong Jaya. Sergey Brin, James Davis, Hector Garcia-Molina. 1994. Copy Detection Mechanisms for Digital Documents. Stanford, UK : Department of Computer Science, Stanford University. Wikipedia. 2007. Smith-Waterman Algorithm. http://en.wikipedia.org/wiki/SmithWaterman algorithm.html, diakses tanggal 30 April 2008.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
LAMPIRAN Lampiran A : Listing Program
1.
Main.java
import java.io.IOException; import java.io.File; import java.util.*; /* * @author AUDI NOVANTA (041401034) * @version 1.00, November 2008 */ public class Main { public static void main(String[] args) throws IOException { opening(); while(true) { Scanner sc = new Scanner(System.in); int pilih; System.out.println("1. DETEKSI PLAGIAT"); System.out.println("2. KETERANGAN"); System.out.println("3. KELUAR"); System.out.print("\nMasukkan pilihan anda (1-3) : "); pilih = Integer.valueOf(sc.next()); if(pilih==1) { File berkas1, berkas2; String dok1,dok2,y; double th; do { System.out.println("\n********************************** *****************\n"); System.out.println("1. DETEKSI PLAGIAT\n"); System.out.print(" a. absolute path SOURCE document : "); dok1 = sc.next(); System.out.print(" b. absolute path COPY document : "); dok2 = sc.next(); System.out.print(" c. threshold (0-1) : "); th = Double.valueOf(sc.next()); berkas1 = new File(dok1); berkas2 = new File(dok2); Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
System.out.println("\nDokumen yang akan dibandingkan adalah: "); System.out.print("1. "+berkas1.getAbsolutePath()+" ("); System.out.println(berkas1.length()+" byte)"); System.out.print("2. "+berkas2.getAbsolutePath()+" ("); System.out.println(berkas2.length()+" byte)\n"); System.out.print("Apakah data yang anda masukan benar dan anda ingin memprosesnya? (Y/T) "); y = sc.next(); System.out.println("\n***"); } while(y.equalsIgnoreCase("t")); System.out.println(); Pembobotan.proses(dok1,dok2,th); } else if(pilih==2) { System.out.println("\n************************************ ***************\n"); System.out.println("2. KETERANGAN\n"); System.out.println("Dikerjakan untuk menyelesaikan penulisan Tugas Akhir/Skripsi dengan judul"); System.out.println("\"ANALISIS dan IMPLEMENTASI ALGORITMA SMITH-WATERMAN "); System.out.println("UNTUK MENDETEKSI PLAGIARISME PADA DOKUMEN TEKS\""); System.out.println("\nDosen Pembimbing I : Drs. James Piter Marbun, M.Kom"); System.out.println("Dosen Pembimbing II : Drs. Sawaluddin, MIT"); System.out.println("\nProgram Studi S-1 Ilmu Komputer"); System.out.println("Fakultas Matematika dan Ilmu Pengetahuan Alam"); System.out.println("UNIVERSITAS SUMATERA UTARA"); } else if(pilih==3) break; else { System.out.println("\n************************************ ***************\n"); System.out.println("ERROR : \"Pilihan yang tersedia hanya nomor 1 s.d 3 saja\""); } System.out.println("\n*************************************** ************\n"); } } private static void opening() { String[] bulan = {"Januari","Februari","Maret","April","Mei","Juni","Juli", "Agustus","September","Oktober","November","Desember"}; String[] jam = {"00","01","02","03","04","05","06","07","08","09","10","11", "12"}; Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Calendar time = Calendar.getInstance();
System.out.println("\n**************************************** ***********"); System.out.println("* SISTEM PENDETEKSI PLAGIARISME PADA DOKUMEN TEKS *"); System.out.println("* MENGGUNAKAN ALGORITMA SMITHWATERMAN *"); System.out.println("*------------------------------------------------*"); System.out.printf("%18s %s %s\n",time.get(Calendar.DATE), bulan[time.get(Calendar.MONTH)],time.get(Calendar.YEAR)); System.out.printf("%23s:%s\n",jam[time.get(Calendar.HOUR)], time.get(Calendar.MINUTE)); System.out.println("****************************************** *********\n"); } }
2.
Pembobotan.java
import java.io.IOException; import java.util.*; public class Pembobotan { private static double[][] Weight = null; private static int dividen = 0; protected static void proses(String filename1, String filename2, double threshold) throws IOException { String doc1 = BacaDokumen.proses(filename1); String doc2 = BacaDokumen.proses(filename2); Scanner sc = new Scanner(System.in); long start, finish; double SC; start = System.currentTimeMillis(); SC = KesamaanStruktural.hitung(doc1,doc2); if(SC >= threshold) { System.out.println("1. BOBOT/NILAI HASIL PEMBANDINGAN KALIMAT"); String[] x = doc1.split("[.]+"); String[] y = doc2.split("[.]+"); Weight = new double[x.length][y.length]; for(int i=0;i<x.length;i++) { x[i] = x[i].trim(); String[] a = x[i].split("[ ]+"); Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
a = Optimasi.proses(a); for(int j=0;j=threshold) { System.out.println("\nA"+(i+1)+" : "+x[i]); System.out.println("B"+(j+1)+" : "+y[j]); System.out.println("[local alignment dalam matriks 2 dimensi]"); String[] b = y[j].split("[ ]+"); b = Optimasi.proses(b); Weight[i][j] = SmithWaterman.algorithm(a,b); If(Weight[i][j]>=threshold) dividen++; } } } finish = System.currentTimeMillis(); System.out.println("\nlama proses Identifikasi: "+ ((double)(finish-start))/1000+" detik"); System.out.print("Tampilkan hasil? (Y/T) "); if(sc.next().equalsIgnoreCase("y")) { System.out.println("\n***\n"); System.out.println("Dokumen A x Dokumen B"); System.out.println("[hasil pembandingan kalimat dalam matriks 2 dimensi]"); double W=0; for(int i=0;i<Weight.length;i++) { for(int j=0;j<Weight[i].length;j++) { if(Weight[i][j]>=threshold) W+=Weight[i][j]; System.out.printf("%.2f ",Weight[i][j]); } System.out.println(); } double rthreshold = 1-threshold; if(dividen==0) dividen = 1; W = W/dividen; double rW = rthreshold*W; W = (threshold+rW)*100; System.out.println("\nBerdasarkan nilai threshold yang telah anda input ("+threshold+"), maka"); System.out.print("BOBOT/NILAI PLAGIARISME antara dua dokumen adalah "); System.out.printf("%.2f",W);System.out.println("%"); } }
else Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
{ finish = System.currentTimeMillis(); System.out.println("lama proses Identifikasi: "+ ((double)(finish-start))/1000+" detik"); System.out.print("Tampilkan hasil? (Y/T) "); if(sc.next().equalsIgnoreCase("y")) { System.out.println("\n***\n"); System.out.println("Berdasarkan nilai threshold yang telah anda input ("+threshold+"), maka"); System.out.println("KEDUA DOKUMEN DIIDENTIFIKASI TIDAK PLAGIAT"); } } } }
3.
BacaDokumen.java
import java.io.IOException; import java.io.FileInputStream; /* * Melakukan pembacaan plain text document yang berformat txt secara * karakter per karakter */ public class BacaDokumen { protected static String proses(String filename) throws IOException { FileInputStream fis = null; String dokumen = ""; try { fis = new FileInputStream(filename); int karakter; boolean kutipan; boolean kutipDua = false; while((karakter=fis.read())!=-1) { if(karakter==34) { if(kutipDua){ karakter=0; kutipDua = false; } else kutipDua = true; } else if(karakter>=65&&karakter<=90) karakter+=32; else if(karakter==38) dokumen += "dan"; if((karakter>=48&&karakter<=57)||(karakter>=97&&karakt er<=122)||(karakter==46||karakter==32)) karakter = karakter; else karakter = 32; Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
if(!kutipDua)dokumen += (char)karakter; } } finally { if(fis!=null) fis.close(); } return dokumen.trim(); } }
4.
KesamaanStruktural.java
import java.util.*; import java.util.regex.*; /* * Menghitung derajat keanggotaan kata-kata yang menyusun dua string * kalimat yang diperiksa */ public class KesamaanStruktural { protected static double hitung(String text1, String text2) { String[] teks1 = text1.split("[ .]+"); String[] teks2 = text2.split("[ .]+"); teks1 = cekDuplicatedWord(teks1); teks2 = cekDuplicatedWord(teks2); int lteks1, lteks2, H=0; double SC12, SC21; lteks1 = teks1.length; lteks2 = teks2.length; for(int i=0;i=SC21) return SC12; else return SC21; } } private static String[] cekDuplicatedWord(String[] text) { Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Set<String> setWord = new HashSet<String>(); for(int i=0;i
5.
Optimasi.java
import java.io.IOException; import java.util.*; import java.util.regex.*; /* * Menghapus semua kata yang tergolong kelas closed-class word dan * stop-words */ public class Optimasi { protected static String[] proses(String[] text) throws IOException { Set<String> closedClassWord = new HashSet<String>(); closedClassWord.add("akan"); closedClassWord.add("lagi"); closedClassWord.add("juga"); closedClassWord.add("si"); closedClassWord.add("sang"); closedClassWord.add("yang"); closedClassWord.add("nan"); closedClassWord.add("se"); closedClassWord.add("ke"); closedClassWord.add("di"); closedClassWord.add("be"); closedClassWord.add("te"); closedClassWord.add("pe"); closedClassWord.add("me"); closedClassWord.add("kan"); closedClassWord.add("an"); closedClassWord.add("i"); closedClassWord.add("ku"); closedClassWord.add("mu"); closedClassWord.add("nya"); closedClassWord.add("lah"); closedClassWord.add("pun"); closedClassWord.add("ter"); Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
closedClassWord.add("ber"); closedClassWord.add("pem"); closedClassWord.add("pen"); closedClassWord.add("peng"); closedClassWord.add("men"); closedClassWord.add("mem"); closedClassWord.add("meng"); closedClassWord.add("itu"); closedClassWord.add("ini"); List<String> listWord = new ArrayList<String>(); for(int i=0;i=12&&number<20) { NumberToWord(number-10); s+="belas "; Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
} else if(number>=20&&number<100) { NumberToWord(number/10); s+="puluh "; NumberToWord(number%10); } else if(number>=100&&number<200) { s+="seratus "; NumberToWord(number%100); } else if(number>=200&&number<1000) { NumberToWord(number/100); s+="ratus "; NumberToWord(number%100); } else if(number>=1000&&number<2000) { s+="seribu "; NumberToWord(number%1000); } else if(number>=2000&&number<1000000) { NumberToWord(number/1000); s+="ribu "; NumberToWord(number%1000); } else if(number>=1000000&&number<1000000000) { NumberToWord(number/1000000); s+="juta "; NumberToWord(number%1000000); } return s; } }
6.
Stemming.java
import java.io.IOException; import java.io.FileInputStream; import java.util.*; /* * Mengembalikan berbagai macam bentukan kata ke dalam representasi * yang sama */
public class Stemming { protected static String proses(String word) throws IOException { String root = null; Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
if(word==null||word.length()==0) return word; if(onDictionary(word)) return word; boolean awalan=false, akhiran=false; if(word.endsWith("pun")) word = word.substring(0,word.length()-3); if(word.startsWith("pe")||word.startsWith("me")|| word.startsWith("be")||word.startsWith("te")|| word.startsWith("se")||word.startsWith("ke")|| word.startsWith("di")) awalan = true; if(word.endsWith("lah")||word.endsWith("kah")|| word.endsWith("nya")|| word.endsWith("ku")|| word.endsWith("mu")||word.endsWith("an")|| word.endsWith("i")) akhiran = true; if(!awalan&&!akhiran) return word; boolean prefound = false; String temp = word; if(word.endsWith("lah")||word.endsWith("kah")|| word.endsWith("nya")||word.endsWith("ku")|| word.endsWith("mu")) { temp = cekParticlePronoun(word); if(onDictionary(temp)) { root = temp; prefound = true; } } if(!prefound) { String cs = cekSuffix(temp,false); if(cs!=null){ root = cs; prefound = true; } else { String cp = cekPrefix(temp); if(cp!=null){ root = cp; prefound = true; } else { cp = cekPrefix(word); if(cp!=null){ root = cp; prefound = true; } } } } if(!prefound) { String cs = cekSuffix(temp,true); String cp = cekPrefix(cs); if(cp!=null) root = cp; else { Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
if(cs.endsWith("k")) { cs = cs.substring(0,cs.length()-1); cp = cekPrefix(cs); if(cp!=null) root = cp; } } } if(root==null) return word; else return root; } private static String cekSuffix(String word, boolean confix) throws IOException { String root = null, output = word; if(word.endsWith("an")) { output = output.substring(0,output.length()-2); if(!confix) { if(onDictionary(output)) root = output; else if(output.endsWith("k")) { output = output.substring(0,output.length()-1); if(!confix) if(onDictionary(output)) root = output; } } else { if(output.startsWith("me")&&output.endsWith("k")) { output = output.substring(0,output.length()-1); } else if(output.startsWith("di")&&output.endsWith("k")) { output = output.substring(0,output.length()-1); } else if(output.startsWith("te")&&output.endsWith("k")) { output = output.substring(0,output.length()-1); } } } else if(word.endsWith("i")) { output = output.substring(0,output.length()-1); if(!confix) if(onDictionary(output)) root = output; } Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
if(confix) return output; else return root; } private static String cekPrefix(String word) throws IOException { String root = null, output = word; while(output.startsWith("pe")||output.startsWith("me")|| output.startsWith("be")||output.startsWith("te")|| output.startsWith("se")||output.startsWith("ke")|| output.startsWith("di")) { if(output.startsWith("se")||output.startsWith("ke")|| output.startsWith("di")) { output = output.substring(2,output.length()); if(onDictionary(output)){ root = output; break; } else { if(output.startsWith("ny")) { output = output.substring(2,output.length()); output = "s"+output; if(onDictionary(output)){ root = output; break; } } else if(output.startsWith("ng")) { output = output.substring(2,output.length()); output = "k"+output; if(onDictionary(output)){ root = output; break; } } else if(output.startsWith("n")) { output = output.substring(1,output.length()); if(onDictionary(output)){ root = output; break; } } } } else if(output.startsWith("be")||output.startsWith("te")) { output = output.substring(2,output.length()); if(onDictionary(output)){ root = output; break; } else if(output.startsWith("r")||output.startsWith("l")) { output = output.substring(1,output.length()); if(onDictionary(output)){ root = output; break; } } } else if(output.startsWith("pe")||output.startsWith("me")) { Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
output = output.substring(2,output.length()); if(onDictionary(output)){ root = output; break; } else if(output.startsWith("r")) { output = output.substring(1,output.length()); if(onDictionary(output)){ root = output; break; } } else if(output.startsWith("m")) { output = output.substring(1,output.length()); output = "p"+output; if(onDictionary(output)){ root = output; break; } else { output = output.substring(1,output.length()); if(onDictionary(output)){ root = output; break; } else //pemersatu-memersatukan { output = "p"+output; if(output.charAt(1)=='b'|| output.charAt(1)=='p') output = output.substring(1,output.length()); } } } else if(output.startsWith("ng")) { output = output.substring(2,output.length()); output = "k"+output; if(onDictionary(output)){ root = output; break; } else { output = output.substring(1,output.length()); if(onDictionary(output)){ root = output; break; } else { output = "k"+output; } } } else if(output.startsWith("ny")) { output = output.substring(2,output.length()); output = "s"+output; if(onDictionary(output)){ root = output; break; } } else if(output.startsWith("n")) { output = output.substring(1,output.length()); output = "t"+output; if(onDictionary(output)){ root = output; break; } else { output = output.substring(1,output.length()); Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
if(onDictionary(output)){ root = output; break; } else { output = "t"+output; if(output.charAt(1)=='t') output = output.substring(1,output.length()); } } } else if(output.startsWith("l")) { output = output.substring(1,output.length()); if(onDictionary(output)){ root = output; break; } } } } return root; } private static String cekParticlePronoun(String word) throws IOException { String output = null; if(word.endsWith("lah")||word.endsWith("kah")) { output = word.substring(0,word.length()-3); if(onDictionary(output)) return output; else if(output.endsWith("nya")) { output = output.substring(0,output.length()-3); if(onDictionary(output)) return output; } else if(output.endsWith("ku")||output.endsWith("mu")) { output = output.substring(0,output.length()-2); if(onDictionary(output)) return output; } } else if(word.endsWith("nya")) { output = word.substring(0,word.length()-3); if(onDictionary(output)) return output; } else if(word.endsWith("ku")||word.endsWith("mu")) { output = word.substring(0,word.length()-2); if(onDictionary(output)) return output; } return output; } private static boolean onDictionary(String word) throws IOException {
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
if(word==null||word.length()==0) return false; else { FileInputStream fis = null; String kamus = ""; String pathKamus = "kamus\\"+word.charAt(0)+".dic"; try { fis = new FileInputStream(pathKamus); int tempc; while((tempc=fis.read())!=-1) { if(tempc>=65&&tempc<=90) tempc+=32; else if(tempc>=97&&tempc<=122) tempc = tempc; else tempc = 46; kamus += (char)tempc; } } finally { if(fis!=null) fis.close(); } if(kamus.length()==0) return false; kamus.trim(); String[] arrKamus = kamus.split("[.]+"); boolean found = false; for(int i=0;i<arrKamus.length;i++) { if(arrKamus[i].equals(word)){ found = true; break; } } if(found) return true; else return false; } } }
7.
SmithWaterman.java
import java.util.*; /* * Melakukan konversi semua kata pada setiap kalimat menjadi simbol* simbol numerik dan menghitung bobot masing-masing pasangan dokumen * dengan mengidentifikasikan local similarities setiap pasangan * string kalimat. */ public class SmithWaterman { protected static double algorithm(String[] x, String[] y) { int[][] S = tokenisasi(x,y); int bobot=0; Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
for(int i=1;i<S.length;i++) { for(int j=1;j<S[i].length;j++) { int a,b,c,temp,r; if(i-1==0 || j-1==0) { c=0; if(i-1==0) a=0; else a=S[i-1][j]; if(j-1==0) b=0; else b=S[i][j-1]; } else { a = S[i-1][j]; b = S[i][j-1]; c = S[i-1][j-1]; } if(S[i][0]==S[0][j]) { S[i][j] = c+1; if(S[i][j]>bobot) bobot = S[i][j]; } else { if(a>=b) { temp=a; if(temp>=c) r=temp; else r=c; } else { temp=b; if(temp>=c) r=temp; else r=c; } if(r>0) S[i][j] = r-1; else S[i][j] = 0; } } } for(int i=1;i<S.length;i++) { for(int j=1;j<S[i].length;j++) { System.out.printf("%-3d",S[i][j]); } System.out.println(); } int dividen = (x.length>y.length)? x.length:y.length; return (double)bobot/dividen; } Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
private static int[][] tokenisasi(String[] x, String[] y) { Map map = new HashMap(); int[][] localAlignment = new int[x.length+1][y.length+1]; int key = 0;
for(int i=0;i<x.length;i++) { if(map.isEmpty()) { map.put(key,x[i]); localAlignment[i+1][0] = key; key++; } else { if(map.containsValue(x[i])) { for(int j=0;j<map.size();j++) { String temp = map.get(j).toString(); if(temp.equals(x[i])) { localAlignment[i+1][0]=j; break; } } } else { map.put(key,x[i]); localAlignment[i+1][0] = key; key++; } } } for(int i=0;i
} else { map.put(key,y[i]); localAlignment[0][i+1] = key; key++; } } } return localAlignment; } }
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
Lampiran B : Data Set Pengujian
1.
Data Deterministik
Data Set 1 Dokumen A1
A2
Kalimat Lapis Lazuli adalah batu mulia berwarna biru yang sangat disukai pada zaman dahulu kala. Batu ini tersebar berawal dari Mesopotamia, lalu ke Mesir, Persia, Yunani, dan kemudian ke Roma. Ur, sebuah kota kuno, dikabarkan telah mengadakan perdagangan batu ini sejak milenium ke-4 sebelum masehi. Nama Lapis Lazuli sendiri diambil dari bahasa latin lapis, yang artinya batu, dan dari bahasa Arab azul, yang berarti biru. Ketika lapis lazuli pertama kali diperkenalkan ke daratan Eropa, batu ini disebut ultramarinum, yang artinya di bawah laut. Warna biru dasar dari lapis lazuli adalah warna khas biru ultramarine, yaitu pigmen warna biru yang digunakan para pelukis untuk mewarnai laut dan langit hingga abad ke-19. Bangsa Romawi percaya bahwa lapis lazuli memiliki sifat aphrosidiac yang kuat. Kala abad pertengahan, lapis lazuli dianggap bisa menjaga kesehatan jiwa dari kekacauan, ketamakan, dan ketakutan. Batu mulia berwarna berwarna biru yang sangat disukai pada zaman dahulu kala dinamakan Lapis Lazuli. Berakhir di Roma, batu ini tersebar berawal dari Mesopotamia, Mesir, dan lalu Yunani. Kota yang dikabarkan telah mengadakan perdagangan batu ini sejak milenium ke-4 sebelum masehi adalah kota kuno Ur. Bahasa latin lapis, yang artinya batu, dan dari bahasa Arab azul, yang berarti biru, membentuk nama Lapis Lazuli. disebut ultramarinum, yang artinya di bawah laut, merupakan nama lapis lazuli ketika pertama kali diperkenalkan ke daratan Eropa. Warna khas biru ultramarine, yaitu pigmen warna biru yang digunakan para pelukis untuk mewarnai laut dan langit hingga abad ke-19, merupakan warna biru dasar dari lapis lazuli. Sifat aphrosidiac yang kuat pada lapis lazuli ini dipercayai oleh bangsa romawi. Masyarakat abad pertengahan menganggap lapis lazuli bisa menjaga kesehatan jiwa dari kekacauan, ketamakan, dan ketakutan. Masyarakat zaman dahulu sangat menyukai batu mulia berwarna berwarna biru yang disebut lapis lazuli. Pesebaran batu ini bermula dari Mesopotamia, lalu ke Mesir, Persia, Yunani, dan kemudian ke Roma. Dikabarkan bahwa perdagangan batu ini
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
A3
B1
B2
C1
diadakan di kota kuno Ur sejak milenium ke-4 sebelum masehi. Lapis Lazuli mengambil nama dari bahasa latin lapis, yang artinya batu, dan dari bahasa Arab azul, yang berarti biru. Pertama kali diperkenalkan ke daratan Eropa, orang menyebut lapis lazuli dengan nama ultramarinum, yang artinya di bawah laut. Para pelukis menggunakan pigmen warna biru untuk mewarnai laut dan langit dari warna biru dasar lapis lazuli, yaitu warna khas biru ultramarine, hingga abad ke-19. Lapis lazuli dipercaya memiliki sifat aphrosidiac yang kuat oleh bangsa romawi. Masyarakat abad pertengahan menganggap lapis lazuli bisa menjaga kesehatan jiwa dari kekacauan, ketamakan, dan ketakutan. Lapis Lazuli adalah batu yang tidak transparan, atau disebut juga opaque, dan sebagian besar terdiri dari mineral diopside dan lasurite. Batu ini tercipta jutaan tahun yang lalu dan merupakan proses metamorfosa dari batuan kapur ke batuan marmer. Bila tidak dipoles, lapis lazuli terlihat kusam dan berwarna biru gelap, biasanya disertai juga guratan berwarna keputihan dan bercak keemasan. Berlawanan dengan teori sebelumnya, bercak berkilauan dari batu ini bukanlah berasal dari unsur emas, melainkan pyrite, yang disebabkan oleh besi. Sedangkan warna biru berasal dari unsur bersifat seperti belerang dari lasurite dan dapat menghasilkan warna biru ultramarine murni hingga biru pucat. Bila dibandingkan dengan batu mulia lain, tingkat kekerasan lapis lazuli tidaklah terlalu tinggi, yaitu berkisar antara 5 dan 6 skala Moh. Diopside dan lasurite adalah mineral yang menyusun sebagian besar lapis lazuli, batu yang bersifat opaque atau tidak transparan. Proses metamorfosa menjadi batuan marmer dari batuan kapur adalah proses yang menciptakan batu ini jutaan tahun yang lalu. Lapis lazuli akan terlihat kusam dan berwarna biru gelap bila tidak dipoles, dan biasanya terdapat juga guratan berwarna keputihan dan bercak keemasan. Bercak berkilauan dari batu ini berasal dari pyrite yang disebabkan dari besi, bukan berasal dari unsur emas seperti yang dikatakan teori sebelumnya. Unsur bersifat seperti belerang dari lasurite menghasilkan warna biru, berawal dari warna biru ultramarine murni hingga biru pucat. Berkisar antara 5 dan 6 skala Moh, tingkat kekerasan lapis lazuli tidaklah terlalu tinggi dibandingkan dengan batu mulia lain. Jika memilih agak ke pinggiran kota, memang akan didapat rumah dengan harga yang lebih murah. Untuk rumah kategori sederhana di daerah pinggiran kota, harganya antara Rp 80 sampai Rp 100 juta per unit. Bagi yang memiliki penghasilan per bulannya di bawah Rp 1,5 juta, walau dengan fasilitas kredit kepemilikan rumah tentu tidak akan terjangkau. Pilihan harga bisa dilakukan pada kompleks-kompleks perumahan yang berada di wilayah Kabupaten Bandung, seperti ke daerah Banjaran, Ciparay, Dayeuhkolot, Rancaekek, atau ke kawasan Gunung Manglayang Ujungberung. Di sana masih tersedia rumah-rumah
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
C2
D1
D2
E1
dengan harga Rp 50 jutaan atau di bawahnya. Tapi konsekuensinya, selain jauh, perumahan seperti ini pada umumnya tidak didukung infrastruktur yang memadai. Akses jalan yang alakadarnya, air bersih sulit dicari, tidak terjangkau jaringan fixed-line untuk telefon, dan malah untuk beberapa kawasan masih harus menunggu berbulan-bulan untuk sambungan listrik. Harga yang lebih murah akan didapat jika memilih agak ke pinggiran kota. Harga antara Rp 80 sampai Rp 100 juta per unit bisa didapat untuk rumah kategori sederhana di daerah pinggiran kota. Walau dengan fasilitas kredit kepemilikan rumah, tentu tidak akan terjangkau bagi yang memiliki penghasilan per bulannya di bawah Rp 1,5 juta. Pada kompleks-kompleks perumahan yang berada di wilayah Kabupaten Bandung, seperti ke daerah Banjaran, Ciparay, Dayeuh kolot, Rancaekek, atau ke kawasan Gunung Manglayang Ujungberung, warga masih dapat melakukan pemilihan harga. Rumah dengan harga Rp 50 jutaan atau di bawahnya masih tersedia di sana. Selain jauh, perumahan yang tidak didukung infrastruktur yang memadai menjadi konsekuensinya. Akses jalan yang alakadarnya, sulit dicarinya air bersih, tidak terjangkau jaringan fixed-line untuk telefon, dan malah sambungan listrik pun masih harus ditunggu berbulanbulan untuk beberapa kawasan. Sebelum Kabupaten Bandung berdiri, daerah Bandung dikenal dengan sebutan "Tatar Ukur". Menurut naskah Sadjarah Bandung, sebelum Kabupaten Bandung berdiri, Tatar Ukur adalah daerah Kerajaan Timbanganten' dengan ibukota di Tegalluar. Kerajaan itu berada di bawah dominasi Kerajaan Sunda-Pajajaran. Sejak pertengahan abad ke-15, Kerajaan Timbanganten diperintah secara turun-temurun oleh Prabu Pandaan Ukur, Dipati Agung, dan Dipati Ukur. Pada masa pemerintahan Dipati Ukur, Tatar Ukur merupakan suatu wilayah yang cukup luas. Wilayahnya mencakup sebagian besar wilayah Jawa Barat, terdiri atas sembilan daerah yang disebut "Ukur Sasanga". Orang mengenal daerah Bandung dengan sebutan Tatar Ukur sebelum Kabupaten Bandung berdiri. Tatar Ukur adalah daerah Kerajaan Timbanganten' dengan ibukota di Tegalluar sebelum kabupaten Bandung berdiri, mengacu pada naskah Sadjarah Bandung. Kerajaan Sunda-Pajajaran mendominasi kerajaan itu. Prabu Pandaan Ukur, Dipati Agung, dan Dipati Ukur memerintah secara turun temurun di Kerajaan Timbanganten sejak pertengahan abad ke-15. Ukur merupakan suatu wilayah yang cukup luas pada masa pemerintahan Dipati Ukur. Sebagian besar wilayah Jawa Barat tercakup dalam wilayahnya dan terdiri dari sembilan daerah yang disebut Ukur Sasanga. Tahap kreativitas Johanes Papu secara umum dibagi menjadi 4 yaitu exploring, inventing, choosing dan implementing. Exploring dapat dikatakan sebagai stimulus luar. Inventing berkaitan erat dengan proses pencapaian kreativitas dengan berbagai jabaran
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
E2
F1
F2
G1
intuisi sekunder Choosing adalah memilih mana yang dapat dilakukan dengan memadukan fitness, goodnes, dan correctness. Implementing adalah mengungkapkan ide kreatif tersebut dalam penerapannya dalam sebuah karya. Hambatan kreativitas yang diungkapkan Johanes Papu pun sama dengan apa yang diungkapkan dalam Buku Proses Kreasi, Apresiasi, Belajar. Ideide biasanya tidak keluar ataupun tidak dikeluarkan karena takut dianggap aneh ataupun gila.Karena sebagian besar orang cenderung untuk berpikir benar adanya (correctness) saja. Padahal, bermula dari hal-hal seperti itulah segala sesuatu yang baru bermunculan. Johanes Papu membagi tahap kreativitas menjadi empat, yaitu exploring, inventing, choosing dan implementing. Stimulus luar dapat dikatakan Exploring. Hal yang berkaitan erat dengan proses pencapaian kreativitas dengan berbagai jabaran intuisi sekunder disebut Inventing. Pemilihan hal mana yang dapat dilakukan dengan memadukan fitness, goodnes, dan correctness disebut Choosing. Pengungkapkan ide kreatif tersebut dalam penerapannya dalam sebuah karya disebut Implementing. Johanes Papu mengungkapkan hambatan kreativitas seperti yang sama diungkapkan dalam Buku Proses Kreasi, Apresiasi, Belajar. Biasanya takut dianggap aneh ataupun gila adalah penyebab ideide tidak keluar ataupun tidak dikeluarkan. Sebagian besar orang cenderung untuk berpikir benar adanya (correctness) saja menjadi penyebab hal di atas. Padahal, segala sesuatu yang baru bermunculan karena bermula dari hal-hal seperti itu. James Madison telah mempunyai pengalaman yang sangat mengesankan ketika ia mulai memangku jabatan kepresidenan. Ia pernah menjadi ketua Konvensi Virginia, dan ia menjadi anggota DPR Amerika dan turut berusaha mengesahkan kesepuluh amandemen pertama, yang kini dikenal sebagai Undang-Undang Hak Warga Negara. Ia menjadi Menteri Luar Negeri di bawah Thomas Jefferson. Madison dua kali memegang jabatan kepresidenan, dari tahun 1809 sampai tahun 1817. Dalam perang di sekitar Maryland, Francis Scott Key, istri Madison, menulis lagu kebangsaan USA, “The Star-Spangled Banner”, ketika ia menyaksikan pemboman benteng di Baltimore. Pengalaman yang sangat mengesankan telah dimiliki oleh James Madison ketika ia mulai memangku jabatan kepresidenan. Jabatan kursi ketua Konvensi Virginia dan pernah didudukinya, begitu pula kursi anggota DPR Amerika dan ia turut berusaha mengesahkan kesepuluh amandenen pertama, yang kini dikenal sebagai Undang-Undang Hak Warga Negara. Di bawah Thomas Jefferson, ia menjadi Menteri Luar Negeri. Jabatan Kepresidenan dipegang dua kali oleh Madison, dari 1809 sampai tahun 1817. Lagu kebangsaan USA, “The Star-Spangled Banner”, ditulis Francis Scott Key, istri Madison, saat perang di sekitar Maryland, ketika ia menyaksikan pemboman benteng di Baltimore. Sebagaimana sebuah daerah pada umumnya, Lampung memiliki
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
G2
beraneka ragam jenis musik, mulai dari jenis tradisional hingga modern, yang mengadopsi kebudayaan musik global. Adapun jenis musik yang masih bertahan hingga sekarang adalah Klasik Lampung.Jenis musik ini biasanya diiringi oleh alat musik gambus dan gitar akustik. Jenis musik ini merupakan perpaduan budaya Islam dan budaya asli itu sendiri. Beberapa kegiatan festival diadakan untuk mengembangkan budaya musik tradisional tanpa harus khawatir akan kehilangan jati diri. Festival Krakatau contohnya, adalah sebuah Festival yang diadakan oleh Pemda Lampung yang bertujuan untuk mengenalkan Lampung kepada dunia luar dan sekaligus menjadi ajang promosi pariwisata. Beragam jenis musik dimiliki oleh daerah Lampung, sebagaimana sebuah daerah pada umumnya, mulai dari jenis tradisional hingga modern, yang mengadopsi kebudayaan musik global. Klasik Lampung adalah jenis musik yang masih bertahan hingga sekarang. Alat musik Gambus dan gitar akustik biasanya mengiringi jenis musik ini. Jenis musik ini merupakan perpaduan budaya Islam dan budaya asli itu sendiri. Budaya musik tradisional dikembangkan tanpa harus khawatir akan kehilangan jati diri dengan cara mengadakan beberapa kegiatan festival. Pemda Lampung mengadakan sebuah festival yang bertujuan untuk mengenalkan Lampung kepada dunia luar dan sekaligus menjadi ajang promosi pariwisata, dinamakan Festival Krakatau.
Data Set 2 Dokumen A1
A2
Kalimat Akustik adalah ilmu yang mempelajari perilaku bunyi dan sangat penting pada ruangan. Dinding yang keras dan polos dari sebuah ruangan akan memantulkan bunyi dan membuat ruangan tersebut bergema. Ruangan yang kecil akan terbantu mencegah hal ini bila ada bahan pada dinding dan langit-langit yang menyerap bunyi. Tirai dan karpet yang tebal juga akan membantu. Pada ruangan yang besar seperti gedung konser, diperlukan permukaan yang halus dan keras di belakang para pemina atu penyanyi untuk membantu membawa bunyi ke arah penonton, dan bahan yang menyerap bunyi di belakang gedung untuk mencegah gema. Akustik adalah ilmu yang mempelajari perilaku bunyi dan sangat penting pada ruangan. Dinding yang keras dan polos dari sebuah ruangan akan memantulkan bunyi dan membuat ruangan tersebut bergema. Ruangan yang kecil akan terbantu mencegah hal ini bila ada bahan pada dinding dan langit-langit yang menyerap bunyi. Tirai dan karpet yang tebal juga akan membantu. Pada ruangan yang besar seperti gedung konser, diperlukan permukaan yang halus dan keras di belakang para pemina atu penyanyi untuk membantu membawa bunyi ke arah penonton, dan bahan yang menyerap bunyi di belakang gedung untuk mencegah gema.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
B1
B2
C1
C2
D1
Tidak semua burung terbang dengan cara yang sama. Burung jalak terbang lurus dengan menggerakkan sayap-sayapnya sehingga terlihat seperti bintang. Burung pelatuk mengepakkan sayapnya dan melambung, bergerak ke atas dan ke bawah udara. Burung yang lebih besar seperti camar, terbang dengan cara meluncur mengikuti angin dan burung hering dapat membumbung tinggi dengan sayap yang hampir tidak bergerak sama sekali. Burung penguin tidak dapat terbang seperti burung lain tapi menggunakan sayapnya sebagai sirip dan ’terbang’ di dalam air. Burung penguin tidak dapat terbang seperti burung lain tapi menggunakan sayapnya sebagai sirip dan ’terbang’ di dalam air. Burung pelatuk mengepakkan sayapnya dan melambung, bergerak ke atas dan ke bawah udara. Burung jalak terbang lurus dengan menggerakkan sayap-sayapnya sehingga terlihat seperti bintang. Burung yang lebih besar seperti camar, terbang dengan cara meluncur mengikuti angin dan burung hering dapat membumbung tinggi dengan sayap yang hampir tidak bergerak sama sekali. Tidak semua burung terbang dengan cara yang sama. Sekarang ini zat pewarna dan zat pembawa pada cat dibuat dengan bahan tiruan (sintetis) Jenis warnanya bermacam-macam dan dapat digunakan untuk bermacammacam tujuan pula. Cat yang digunakan untuk pengecatan di luar ruangan perlu diolah dengan sungguh-sungguh. Pada cat jenis ini terdapat banyak minyak khusus yang membuat cat tersebut lama mengering tetapi akan menghasilkan cat yang kuat dan berkilat. Beberapa cat digunakan di dalam ruangan, seperti cat tembok ataupun cat langit-langit, tidak mengandung minyak sama sekali. Sebaliknya, zat pembawanya banyak mengandung air. Ada pula cat khusus yang digunakan untuk melapis logam dan yang digunakan untuk mencegah panas dan jamur. Beberapa cat digunakan di dalam ruangan, seperti cat tembok ataupun cat langitlangit, tidak mengandung minyak sama sekali. Sebaliknya, zat pembawanya banyak mengandung air. Cat yang digunakan untuk pengecatan di luar ruangan perlu diolah dengan sungguh-sungguh. Pada cat jenis ini terdapat banyak minyak khusus yang membuat cat tersebut lama mengering tetapi akan menghasilkan cat yang kuat dan berkilat. Beberapa cat digunakan di dalam ruangan, seperti cat tembok ataupun cat langit-langit, tidak mengandung minyak sama sekali. Ada pula cat khusus yang digunakan untuk melapis logam dan yang digunakan untuk mencegah panas dan jamur. Sekarang ini zat pewarna dan zat pembawa pada cat dibuat dengan bahan tiruan (sintetis). Cat memiliki jenis warna yang bermacam-macam dan dapat digunakan untuk bermacam-macam tujuan pula. Orang menyukai cerita rakyat yang melibatkan keajaiban. Misalnya saja kisah binatang ajaib seperti kisah ”Kucing Bersepatu Bot” yang dapat berbicara. Ada pula raksasa yang berkata bahwa dapat memasak roti dengan menggunakan tepung yang digiling dari tulang manusia. Jin yang menculik bayi
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
D2
E1
E2
F1
manusia, petualangan yang ajaib, membunuh raksasa, mengendarai naga, mengalahkan penyihir, dan menemukan harta karun. Dalam cerita seperti ini, pemuda atau pemudi miskin seringkali meninggalkan rumahnya untuk mencari nasib lebih baik dan berakhir dengan menikahi puteri atau pangeran dan hidup bahagia selamanya. Dalam beberapa cerita, pemuda atau pemudi miskin seringkali meninggalkan rumahnya untuk mencari nasib lebih baik dan berakhir dengan menikahi puteri atau pangeran dan hidup bahagia selamanya. Contoh lainnya adalah kisah binatang ajaib seperti kisah ”Kucing Bersepatu Bot” yang dapat berbicara. Ada pula raksasa yang berkata bahwa dapat memasak roti dengan menggunakan tepung yang digiling dari tulang manusia. Jin yang menculik bayi manusia, petualangan yang ajaib, membunuh raksasa, mengendarai naga, mengalahkan penyihir, dan menemukan harta karun. Orang menyukai cerita rakyat yang melibatkan keajaiban. Desainer yang baik adalah pemikir yang kreatif. Owen Maclaren harus memutuskan bagaimana mengatasi masalahnya. Ia berpikir tentang kereta dorong yang telah ada dan mencoba memikirkan pemecahan yang berbeda. Timbul pada pikirannya untuk merancang sebuah kereta dorong yang dapat dilipat menjadi ringkas seperti sebuah payung. Ia kemudian harus berpikir bagaimana ia dapat merancang sebuah kereta dorong yang dapat bekerja. Ia melakukan penelitian untuk mengetahui bahan yang dapat digunakan dan bagaimana menyambungnya. Beberapa bahan terlalu berat atau terlalu mahal dan bahan lainnya terlalu sulit digunakan. Kereta dorong tersebut harus aman, mudah digunakan, serta tampak bagus. Owen Maclaren harus memutuskan bagaimana mengatasi masalahnya. Ia berpikir tentang kereta dorong yang telah ada dan mencoba memikirkan pemecahan yang berbeda. Kereta dorong tersebut harus aman, mudah digunakan, serta tampak bagus. Timbul pada pikirannya untuk merancang sebuah kereta dorong yang dapat dilipat menjadi ringkas seperti sebuah payung. Ia kemudian harus berpikir bagaimana ia dapat merancang sebuah kereta dorong yang dapat bekerja. Ia melakukan penelitian untuk mengetahui bahan yang dapat digunakan dan bagaimana menyambungnya. Beberapa bahan terlalu berat atau terlalu mahal dan bahan lainnya terlalu sulit digunakan. Desainer yang baik adalah pemikir yang kreatif. Molekul – molekul yang membentuk semua zat bergerak lebih lambat bila didinginkan. Dalam bentuk uap, molekul air bergerak dan bertabrakan satu sama lain, tapi molekul itu bergerak lebih lambat dan bentuknya menjadi butiran cair ketika terjadi kondensasi. Pada suhu yang lebih rendah lagi, molekul air bergerak lebih lambat lagi dan bentuknya berubah lagi menjadi es yang padat. Proses kimiawi menjadi lebih lambat, seperti pada gula yang larut lebih lama pada air teh yang dingin dibandingkan
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
F2
G1
G2
2.
dengan air teh yang panas. Dalam bentuk uap, molekul air bergerak dan bertabrakan satu sama lain, tapi molekul itu bergerak lebih lambat dan bentuknya menjadi butiran cair ketika terjadi kondensasi. Pada suhu yang lebih rendah lagi, molekul air bergerak lebih lambat lagi dan bentuknya berubah lagi menjadi es yang padat. Proses kimiawi menjadi lebih lambat, seperti pada gula yang larut lebih lama pada air teh yang dingin dibandingkan dengan air teh yang panas. Molekul – molekul yang membentuk semua zat bergerak lebih lambat bila didinginkan. Betapa sulit mengatakan cinta ketika ia ada. Dalam setiap momen dalam pertemuan kami, selalu ada saat dimana cinta terasa begitu kuat. Pancaran matanya, senyuman khasnya, guratan pada wajahnya. Semuanya memantapkan hati ini untuk semakin jatuh cinta. Namun tetap tidak membuat bibirku dapat bergerak untuk mengatakannya. Ah, padahal aku tahu bahwa pertemuan kami tidak akan berlangsung lama. Segera setelah ia menyelesaikan studinya, ia akan pergi lagi ke kota lain. Dan aku tak mungkin menahannya. Aku hanya ingin dia tahu diriku akan sangat merindukan kehadirannya. Pancaran matanya, senyuman khasnya, guratan pada wajahnya. Semuanya memantapkan hati ini untuk semakin jatuh cinta. Dalam setiap momen dalam pertemuan kami, selalu ada saat dimana cinta terasa begitu kuat. Namun tetap tidak membuat bibirku dapat bergerak untuk mengatakannya. Ah, padahal aku tahu bahwa pertemuan kami tidak akan berlangsung lama. Segera setelah ia menyelesaikan studinya, ia akan pergi lagi ke kota lain. Dan aku tak mungkin menahannya. Aku hanya ingin dia tahu diriku akan sangat merindukan kehadirannya. Betapa sulit mengatakan cinta ketika ia ada.
Data Undeterministik
Dokumen A1
Kalimat Begitu hebatnya kekagetanku sehingga aku hampir pingsan. Darah berdesir cepat di kepalaku, membuatku terhuyung-huyung. Jo-An meraihku saat aku terjatuh. Kedua tangannya tampak cukup nyata, kuat, dan padat, berbau kulit hewan. Bumi dan langit berputar-putar di sekitarku dan titik-titik hitam menggelapkan pandanganku. Dia menurunkan aku di tanah dan mendorong kepalaku ke antara kedua lututku. Sesuatu menjerit di telingaku, menulikanku. Aku meringkuk dengan posisi kepala seperti itu, tangannya memegang kepalaku, sampai jeritan mereda dan kegelapan susut dari penglihatanku. Aku menatap ke tanah. Embun membeku di dedaunan dan butiran es masuk di sela-sela bebatuan. Angin berhembus di pepohonan cedar. Selain itu, satu-
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
A2
B1
B2
C1
satunya suara adalah gemeretuk gigiku. Begitu hebatnya kekagetanku sehingga aku hampir pingsan. Darah berdesir cepat di kepalaku. Hal ini membuatku terhuyunghuyung. Jo-An meraihku saat aku terjatuh. Kedua tangannya tampak cukup nyata, kuat, dan padat. Kedua tangannya juga berbau kulit hewan. Bumi dan langit berputar-putar di sekitarku. Titik-titik hitam menggelapkan pandanganku. Dia menurunkan aku di tanah. Dia mendorong kepalaku ke antara kedua lututku. Sesuatu menjerit di telingaku, menulikanku. Aku meringkuk dengan posisi kepala seperti itu. Tangannya memegang kepalaku. Tangannya memegang sampai jeritan mereda dan kegelapan susut dari penglihatanku. Aku menatap ke tanah. Embun membeku di dedaunan. Butiran es masuk di sela-sela bebatuan. Angin berhembus di pepohonan cedar. Selain itu, satusatunya suara adalah gemeretuk gigiku. Ibunya masih hidup di pedesaan bersama dua kakak laki-lakinya yang selamat. Mereka tidak lagi menganggap diri mereka sebagai bagian dari keluarga ksatria. Makoto mengunjungi ibunya sekali atau dua kali setahun. Kami berbincang-bincang dengan lancar, dan aku teringat betapa aku merindukan teman seperti ini saat melakukan perjalanan bersama Akio. Makoto selalu bertindak dengan penuh pertimbangan, sifat yang berlawanan dengan sifat nekadku. Kelak aku tahu kalai dia kuat dan berani, masih seorang ksatria, biarawan dan juga pelajar. Dia juga bercerita tentang ketakutan dan kemarahan penduduk Yamagata dan Terayama ketika mendengar kematian Shigeru. Ibunya masih hidup di pedesaan. Ibunya hidup bersama dua kakak laki-lakinya yang selamat. Mereka tidak lagi menganggap diri mereka sebagai bagian dari keluarga ksatria. Makoto mengunjungi ibunya sekali atau dua kali setahun. Kami berbincangbincang dengan lancar. Aku teringat betapa aku merindukan teman seperti ini. Saat melakukan perjalanan bersama Akio, aku juga merindukan teman seperti ini. Makoto selalu bertindak dengan penuh pertimbangan. Sifat ini yang berlawanan dengan sifat nekadku. Kelak aku tahu kalau dia kuat dan berani. Ia masih seorang ksatria. Ia seorang biarawan. Ia seorang pelajar. Dia juga bercerita tentang ketakutan penduduk Yamagata dan Terayama ketika mendengar kematian Shigeru. Juga kemarahan mereka. Kebanyakan penduduk Cina tinggal di pedesaan dan hidup bertani. Mereka bangun saat fajar. Setelah sarapan bubur dengan sayur dan bakpao, mereka bekerja hingga senja. Makan siang dapat berupa nasi putih dengan sayuran goreng dan mungkin sedikit daging. Makan malam biasanya sama dengan makan pagi atau siang. Untuk makan mereka menggunakan sepasang batang kayu atau plastik, yang disebut sumpit, yang dipegang sebelah tangan dan digunakan untuk mengambil makanan atau menyendok sejumput nasi. Orang Cina minum banyak teh hijau dan hitam, tanpa susu atau gula.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
C2
D1
D2
E1
E2
Kebanyakan penduduk Cina tinggal di pedesaan. Kebanyakan penduduk Cina hidup bertani. Mereka bangun saat fajar. Mereka sarapan bubur dengan sayur dan bakpao. Mereka bekerja hingga senja. Makan siang dapat berupa nasi putih dengan sayuran goreng. Makan siang mungkin dapat berupa sedikit daging. Makan malam biasanya sama dengan makan pagi atau siang. Untuk makan mereka menggunakan sepasang batang kayu atau plastik. Ini disebut sumpit. Sumpit dipegang sebelah tangan. Sumpit digunakan untuk mengambil makanan. Sumpit juga digunakan untuk menyendok sejumput nasi. Orang Cina minum banyak teh hijau dan hitam. Mereka minum teh tanpa susu atau gula. Perlombaan balap sepeda yang paling terkenal adalah balap jalan raya, di mana sekelompok besar pembalap sepeda yang berpakaian warna-warni saling berlomba melalui jalan raya menempuh jarak yang jauh. Sebuah perlombaan jalan raya dapat merupakan lomba jarak pendek kelompok sepeda lokal yang hanya berlangsung semalam, atau sebuah perlombaan balap sepeda yang panjang dan terkenal seperti Tour de France. Tour de France dimulai pada tahun 1903. Ada pula perlombaanperlombaan lain seperti Giro d’Italia dan Vuelta a Espana di Spanyol. Perlombaan balap sepeda yang paling terkenal adalah balap jalan raya. Perlombaan balap sepeda ini adalah sekelompok besar pembalap sepeda yang berpakaian warnawarni saling berlomba melalui jalan raya menempuh jarak yang jauh. Sebuah perlombaan jalan raya dapat merupakan lomba jarak pendek kelompok sepeda lokal yang hanya berlangsung semalam Perlombaan jalan raya juga dapat berupa sebuah perlombaan balap sepeda yang panjang dan terkenal seperti Tour de France. Tour de France dimulai pada tahun 1903, dan ada pula perlombaan-perlombaan lain seperti Giro d’Italia dan Vuelta a Espana di Spanyol. Sebelum abad XV belum ada buku yang dicetak. Buku-buku pertama semua harus ditulis tangan . Buku-buku tersebut disalin dan dihiasi atau diberi gambar oleh para pendeta di scriptorium (ruang menulis) biara. Menyali merupakan pekerjaan berat. Lilin dan lampu tidak boleh digunakan untuk mencegah kebakaran. Untuk menghindari kesalahan, para pendeta dilarang berbicara. Semua komunikasi dilakukan dengan isyarat. Bila seorang pendeta minta diambilkan sebuah buku, ia menjulurkan tangan dan berpura-pura membalik halaman. Untuk menyelesaikan sebuah buku dibutuhkan waktu berbulan-bulan bahkan bertahuntahun. Karena itu sebelum adanya percetakan, buku sangat langka dan berharga. Sebelum abad XV belum ada buku yang dicetak, melainkan semua buku-buku pertama harus ditulis tangan . Buku-buku tersebut disalin oleh para pendeta. Buku-buku tersebut dihiasi atau diberi gambar oleh para pendeta pula. Hal ini dilakukan di
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
F1
F2
G1
G2
scriptorium (ruang menulis) biara. Menyalin merupakan pekerjaan berat, apalagi lilin dan lampu tidak boleh digunakan untuk mencegah kebakaran. Untuk menghindari kesalahan, para pendeta dilarang berbicara dan semua komunikasi dilakukan dengan isyarat. Bila seorang pendeta minta diambilkan sebuah buku, ia menjulurkan tangan. Lalu ia berpura-pura membalik halaman. Untuk menyelesaikan sebuah buku dibutuhkan waktu berbulan-bulan. bahkan bertahun-tahun. Untuk menyelesaikan sebuah buku bahkan dibutuhkan waktu bertahun-tahun. Karena itu sebelum adanya percetakan, buku sangat langka dan berharga. Sebelum adanya percetakan, buku sangat berharga. Rakyat pada masa itu kelihatannya tidak terlalu menyukai survei tersebut. Seorang pendeta Inggris menulis bahwa hasil survei tersebut sungguh memalukan karena tidak ada satu pun banteng, sapi atau babi yang tertinggal (walaupun mungkin ia agak melebih-lebihkan). Buku Hari Kiamat ungkin disebut demikian klarena kiamat berarti pengadilan Tuhan, dan rakyat merasa diadili ketika harus menjawab banyak sekali pertanyaan tentang milik mereka. Buku Hari Kiamat memberi informasi bahwa 250 orang mengendalikan seluruh tanah di Inggris pada tahun 1086, tetapi hanya dua di antaranya orang Inggris asli. Jumlah penduduk saat itu mungkin sekitar 2,5 juta jiwa. Rakyat pada masa itu kelihatannya tidak terlalu menyukai survei tersebut. Seorang pendeta Inggris menulis bahwa hasil survei tersebut sungguh memalukan. Hal ini dikarenakan survei tersebut menyebutkan bahwa tidak ada satu pun banteng, sapi atau babi yang tertinggal (walaupun mungkin ia agak melebih-lebihkan). Buku Hari Kiamat mungkin disebut demikian karena kiamat berarti pengadilan Tuhan. Rakyat merasa diadili ketika harus menjawab banyak sekali pertanyaan tentang milik mereka. Buku Hari Kiamat memberi informasi bahwa 250 orang mengendalikan seluruh tanah di Inggris pada tahun 1086. Hanya dua di antaranya orang Inggris asli. Jumlah penduduk saat itu mungkin sekitar 2,5 juta jiwa. Bulan tidak mengeluarkan cahaya sendiri. Bulan bersinar karena memantulkan cahaya matahari yang mengenainya. Hanya sisi yang menghadap matahari yang bersinar. Selama bulan bergerak dalam orbitnya mengelilingi bumi, jumlah bagian terang yang dapat kita lihat berubah-ubah. Bila tampak semuanya, kita melihat bulan purnama. Bila tampak setengahnya, kita mendapat bulan setengah, dan seterusnya. Cobalah untuk melihat fase bulan dan mencatat perubahannya selama satu bulan. Bulan tidak mengeluarkan cahaya sendiri, melainkan bersinar karena memantulkan cahaya matahari yang mengenainya. Hanya sisi yang menghadap matahari yang bersinar. Selama bulan bergerak dalam orbitnya mengelilingi bumi, maka jumlah bagian terang yang dapat kita lihat berubah-ubah. Bila bulan tampak semuanya, maka kita melihat bulan purnama. Bila bulan tampak setengahnya, maka kita mendapat bulan setengah, dan
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009
G3
seterusnya. Cobalah untuk melihat fase bulan. Cobalah untuk mencatat perubahannya selama satu bulan. Bulan tidak mengeluarkan cahaya sendiri, melainkan bersinar karena memantulkan cahaya matahari yang mengenainya. Hanya sisi yang menghadap matahari yang bersinar. Selama bulan bergerak dalam orbitnya mengelilingi bumi, maka jumlah bagian terang yang dapat kita lihat berubah-ubah. Bulan tampak semuanya. Kita melihat bulan purnama. Bulan tampak setengahnya. Kita mendapat bulan setengah.Begitulah seterusnya. Cobalah untuk melihat fase bulan. Cobalah untuk mencatat perubahannya selama satu bulan.
Audi Novanta : Pendeteksian Plagiarisme Pada Dokumen Teks Dengan Menggunakan Algoritma Smith-Waterman, 2009. USU Repository © 2009