Majalah Ilmiah INTI Volume : XII, Nomor : 1, Januari 2017 ISSN: 2339-210X
IMPLEMENTASI ALGORITMA WINNOWING UNTUK DETEKSI KEMIRIPAN JUDUL SKRIPSI STUDI KASUS STMIK BUDIDARMA Agus Setiawan 1
Mahasiswa Program Studi Teknik Informatika STMIK Budidarma Medan Jl. Sisingamangaraja No. 338 Simpang Limun Medan ABSTRAK
Judul skripsi adalah nama yang di pakai untuk skripsi yang dapat menyiratkan secara pendek isi atau maksud skripsi itu. Beberapa mahasiswa dalam pencarian judul skripsi sering kali mengalami kesulitan dan kendala dengan beberapa kali harus mengganti dan merubah judul skripsi. Pengajuan judul terkadang diterima dan ditolak berdasarkan pertimbangan salah satunya adalah judul yang sudah ada, Adapun kendala utama adalah menghindari indikasi adanya kesamaan judul. Adanya kesamaan judul skripsi antara mahasiswa satu dengan lain tanpa dilakuan pengecekan dapat terjadi redundancy judul yang tentunya dapat dihindari apabila ada kontrol dari dosen atau jurusan yang dapat melakukan pengecekan sebelum judul tersebut di setujui. Adanya kesamaan dan kemiripan judul menjadikan indikasi plagiat maka perlu dibuatkan suatu sistem perangkat lunak yang secara otomatis dapat memudahkan mahasiswa melakukan pengecekan secara akurat pada judul-judul skipsi mahasiswa yang sudah ada sebelumnya. Penulis mengunakan algoritma winnowing yang bersifat mendeteksi kesamaan kata/kalimat. Kata Kunci : Judul Skripsi, Algoritma Winnowing, Pencarian
untuk melihat kesamaan isi, karena absrak merupakan ringkasan dari seluruh isi skripsi, sehingga fitur yang dibuat akan menunjukan persentase perbandingan judul skripsi dan abstrak. Untuk menentukan kemiripan teks judul dan abstrak skripsi yang di ajukan dengan judul dan abstrak skripsi yang telah ada sebelumnya maka diperlukan penerapan suatu algoritma untuk menentukan kemiripan teks, salah satunya algoritma untuk menentukan kemiripan teks ialah algoritma Winnowing. Algoritma Winnowing adalah sebuah cara yang digunakan untuk mendeteksi kesamaan kata/kalimat (common subsequence) dalam dua atau lebih teks yang dibandingkan. Dua teks diketahui memiliki kesamaan kata/kalimat apabila di dalam dokumen tersebut dijumpai fingerprint, fingerprints inilah yang akan dijadikan dasar pembanding antara teks, algoritma ini akan mencari fingerprint (kesamaan di dalam dua teks) dengan cara mengubah n-gram dari sebuah teks ke dalam bentuk nilai angka yang disebut dengan nilai hash, teknik untuk mencari nilai tersebut adalah Hashing. 1.1 Rumusan Masalah Berdasarkan pada uraian latar belakang masalah, maka yang terjadi perumusan permasalahan adalah : 1. Bagaimana mendeteksi kemiripan judul skripsi ? 2. Bagaiaman menerapkan algoritma Winnowing untuk mendeteksi kemiripan judul skripsi ? 3. Bagaiaman merancang aplikasi untuk mendeteksi kemiripan judul skripsi ?
1.
Pendahuluan Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) BUDIDARMA, merupakan sekolah tinggi komputer pertama di Medan yang didirikan pada tanggal 1 Maret 1996. STMIK Budidarma memiliki fasilitas pengajuan judul skripsi secara online melalaui website Budidarma yang disediakan, mahasiswa dapat mengunakan fasilitas pengajuan judul secara online haruslah telah terdaftar pada website Budidarma, cara pengunaan fitur tersebut mahasiswa login ke menu portal lalu memilih menu pengajuan judul sehingga tampil form input judul dan abstrak. Pencarian judul dalam penyusunan skripsi bagi mahasiswa tingkat akhir merupakan suatu hal yang dapat dikatakan sulit namun dapat juga dikatakan mudah. Seiring berjalannya waktu telah banyak judul-judul skripsi yang diterima dan tersimpan di akademis. Dalam pengajuan judul tidak sedikit mahasiswa yang berulang kali mengajukan judul skripsi, hal ini dikarenakan mahasiswa tersebut tidak mengetahui judul yang diajukan telah ada sebelumnya, sehingga judul yang diajukan di tolak. Judul skripsi yang sama, tidak menutup kemungkinan isi dari judul skripsi tersebut juga sama namun tidak menutup kemungkinan juga isi skripsi berbeda walaupun judul skripsi sama sehingga mahasiswa bingung dalam menentukan judul skripsinya. Untuk mengatasi masalah tersebut, maka diperlukan suatu fitur yang bisa menetukan kemiripan skripsi, fitur tersebut akan menentukan kemiripan skripsi berdasarkan judul serta abstrak
1
2 Majalah Ilmiah INTI Volume : XII, Nomor : 1, Januari 2017 ISSN: 2339-210X 1.2 Batasan Masalah Agar tidak menyimpang dari latar belakang dan permasalahan yang telah ditetapkan sebelumnya, maka penulis membuat batasan masalah dalam penyelesaian penelitian ini, yaitu sebagai berikut : 1. Algoritma Winnowing tidak dapat mengenali makna dari urutan kata atau kalimat dalam judul skripsi. 2. Aplikasi hanya membandingkan judul skripsi dan abstrak yang sudah ada. 3. Mengunakan bahasa pemograman php. 4. Mengunakan database MySQL. 5. Pada proses Hashing, menggunakan nilai ASCII dari karakter. 1.3 Tujuan dan Manfaat Penelitian Tujuan dan manfaat dalam penelitian berfungsi untuk menyelidiki serta menyelesaikan masalah-masalah terhadap penelitian yang sedang dilakukan sesuai dengan batasan-batasan masalah yang telah diuraikan. 1.3.1 Tujuan Penelitian Adapun tujuan penyusunan skripsi dapat di jelaskan sebagai berikut: 1. Mengetahui prosedur mendeteksi kemiripan judul skripsi. 2. Menguraikan langkah penerapan algoritma Winnowing pada pendeteksian kemiripan judul skripsi. 3. Menerapkan perancangan aplikasi yang mengimplementasikan algoritma Winnowing pada pendeteksian kemiripan judul skripsi. 1.3.2 Manfaat Penelitian Adapun manfaat dari penelitian ini adalah sebagai berikut : 1. Sebagai bahan referensi kepada setiap instansi pendidikan dalam menerapkan algoritma Winnowing. Sebagai bahan perbandingan bagi penelitian lain yang berkaitan dengan aplikasi, Algoritma Winnowing dengan Algoritma Lainya. 2 Landasar Teori 2.1 Implementasi Implementasi dalam Operational Research (OR) atau Management Science (MS) adalah meletakan solusi yang diuji pada pekerjaan. Ini berarti menerjemahkan solusi matematika pada sekumpulan prosedur pengoperasian yang dipahami atau peraturan keputusan untuk setiap orang yang terlibat dalam penyiapan masukan untuk model, menunjukan perhitungan apapun, dengan tangan atau dengan bantuan program komputer, dan menggunakan atau menerapkan solusi. Ini diikuti oleh penelitian semua orang yang terlibat untuk penerapan atas peraturan-peraturan ini, mengeksekusi perpindahan dari yang lama ke mode operasi yang dianjurkan, dan menyiapkan dokumentasi secara lengkap untuk referensi masa depan. Rangkaian tersebut seperti tugas yang sangar langsung dan dapat ditangani dengan mudah
dengan pendekatan sistematik, organisasi dan kerja sama dengan baik. Sayang, proses implementasi ini penuh dengan kesulitan yang sebagian besar karena sifat manusiawi, ini dilafalkan untuk proyek yang berhubungan dengan peningkatan operasi lama.( Ristono Agus, 2011, 142) Implementasi merupakan kegiatan akhir dari proses penerapan sistem baru dimana sistem yang baru ini akan dioperasikan secara menyeluruh. Terhadap sistem yang baru itu sudah harus dilakukan proses analisis dan desain secara terperinci. ( Kusrini, 2007, 279) Berdasarkan para ahli diatas dapat disimpulkan implementasi adalah suatu tindakan atau pelaksanaan yang telah disusun dengan cermat dan rinci secara menyeluruh. Impementasi suatu kegiatan yang di rencanakan dan dilaksanakan dengan mengacu pada aturan tertentu mencapai tujuan kegiatan. 2.2 Algoritma Kata algoritma , mungkin bukan sesuatu yang asing bagi kita. penemunya adalah seornag ahli matematika dari uzbekistan yang bernama abu abdullah Muhammad Ibn Musa al-Khwarizmi (770840), Di dalam dunia literatur barat dia lebih terkenal dengan sebutan Algorizm. Panggilan inilah yang kemudian dipakai untuk menyebut konsep algorithm yang ditemukanya. Dalam bahasa indonesia, kita kemudian menyebutnya sebagai algoritma. Definisi algoritma adalah logika, metode dan tahap (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik. Pertimbangan kedua yang harus diperhatiakan adalha kita harus mengetahui seberapa baikhasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya. Ketiga adalah efisiensi algoritma. efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algorima memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluaranya, algoritma tersebut biasanya tidak akan dipakai. setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori
3 Majalah Ilmiah INTI Volume : XII, Nomor : 1, Januari 2017 ISSN: 2339-210X yang terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataan, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaiakan sesuatu permasalahan. Walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengaharapakan keluaran yang sama, jika terjadi demikian, carialh algoritma yang palinf efisien dan cepat. (Ema utami dan Sukrisno, 2005, 19) Algoritma adalah strategi penyelesalan suatu masalah secara detail sehingga dapat diproses oleh komputer secara benar dan efisien. Tentu saja agar dapat diproses oleh komputer maka algoritma tersebut harus diterjemahkan terlebih dahulu melalui bahasa pemrograman. Jadi algoritma berbeda dengan bahasa pemrograrnan dan tidak tergantung dan bahasa tersebut tetapi bersifat umum. Algoritma tidak hanya diterapkan untuk program komputer saja, tetapi juga untuk masalahmasalah lain seperti misalnya sisem kerja jaringan syaraf. pemasangan sirkuit listrik pada peralatan mesin dan sebagainya.(wiryantu dewobroto, 2005, 11) Berdasarkan para ahli diatas dapat disimpulkan algoritma adalah metode efektif diekspresikan sebagai rangkaian terbatas dari instruksi-instruksi yang telah didefinisikan dengan baik untuk menghitung sebuah fungsi.
6. Persamaan Jaccard Coeficient. 2.3.1 Pembuangan Karakter yang Tidak Relevan Pembuangan karakter yang tidak relevan memenuhi kebutuhan algoritma winnowing yaitu whitespace insensitivity. Pada tahap ini proses yang dilakukan yaitu penghapusan tanda baca, spasi dan simbol-simbol seperti @, #,$,*,(, ),!,-,_,”,+,>,
2.3 Algoritma Winnowing Algoritma winnowing adalah salah satu algoritma pencocokan string. Pada pendeteksiannya, algoritma winnowing harus memenuhi kebutuhan mendasar yaitu (Sariyanti Astutik, Andharini Dwi Cahyani, Mochammad Kautsar Sophan , 2014): 1. Whitespace insensitivity yaitu pencarian kalimat mirip seharusnya tidak terpengaruh oleh spasi, jenis huruf (kapital atau normal), tanda baca dan sebagainya. 2. Noise surpression yaitu menghindari penemuan kecocokan dengan panjang kata yang terlalu kecil atau kurang relevan seperti “the” dan bukan merupakan kata yang umum digunakan. 3. Position independence yaitu penemuan kesamaan harus tidak bergantung pada posisi kata-kata sehingga kata dengan urutan posisi berbeda masih dapat dikenali jika terjadi kesamaan. Berikut Langkah-langkah yang dapat dilakukan dalam penerapan Algoritma Winnowing (Sariyanti Astutik, Andharini Dwi Cahyani, Mochammad Kautsar Sophan, 2014): 1. Pembuangan Karakter yang Tidak Relevan. 2. Pembentukan Rangkaian n-gram. 3. Perhitungan Fungsi Hash untuk Setiap n-gram. 4. Pembentukan Window dari Nilai Hash. 5. Pemilihan Fingerprint dari Setiap Window.
dengan c adalah nilai ascii suatu karakter, b atau basis merupakan bilangan prima (tidak ditentukan) dan n adalah banyaknya karakter atau panjang rangkaian n-gram. Untuk nilai hash kedua dan selanjutnya, perhitungan tidak perlu melakukan iterasi dari indeks pertama sampai terakhir. Perhitungan nilai hash H(c1....cn) dapat dilakukan dengan cara:
2.3.2
Pembentukan Rangkaian n-gram Pembentukan rangkaian n-gram pada algoritma winnowing dilakukan dengan cara membentuk rangkaian karakter sepanjang n dari hasil pembuangan karakter yang tidak relevan. Nilai n yang baik tidak terlalu kecil dan juga tidak terlalu besar. Rangkaian n-gram pertama dimulai dari karakter ke-1 sampai karakter ke-n dan rangkaian kedua dimulai dari karakter k-2 sampai ke- n+1 dan seterusnya sampai terbentuk rangkaian n-gram semua karakter.
2.3.3
Perhitungan Fungsi Hash untuk Setiap n-gram Algoritma winnowing menggunakan rolling hash untuk menghitung nilai hash masingmasing rangkaian gram. Fungsi hash dengan rolling hash didefinisikan pada persamaan. ……… (2, 1)
……. (2, 2) 2.3.4
Pembentukan Window dari Nilai Hash Algoritma winnowing tidak menggunakan semua nilai hash dari setiap rangkaian gram yang dibentuk. Nilai hash yang dibentuk pada tahap sebelumnya akan dibagi ke dalam window berukuran w. Window pertama berisi nilai hash pertama sampai nilai hash ke-w. Window kedua dibentuk dari nilai hash kedua sampai nilai hash kew+1 dan seterusnya sampai terbentuk window dari seluruh nilai hash.
2.3.5
Pemilihan Fingerprint dari Setiap Window Setelah terbentuk window dari seluruh nilai hash, tahap selanjutnya adalah menentukan nilai fingerprint teks. Nilai fingerprint ditentukan dengan memilih nilai hash terkecil dari setiap window. Jika pada pemilihan fingerprint terdapat dua window atau lebih memiliki nilai fingerprint
4 Majalah Ilmiah INTI Volume : XII, Nomor : 1, Januari 2017 ISSN: 2339-210X sama seperti pada window 1dan 2, window 3 dan 4, maka fingerprint yang diambil adalah fingerprint dari window sebelah kanan yaitu window 2 dan window 4. 2.3.6
Persamaan Jaccard Coeficient Nilai fingerprint yang dibentuk dari algoritma winnowing digunakan untuk mengukur prosentase kemiripan teks pada persamaan, persamaan Jaccard Coeficient. 𝑗𝑢𝑚𝑙𝑎 𝑓𝑖𝑛𝑔𝑒𝑟𝑝𝑟𝑖𝑡𝑛𝑡 𝑠𝑎𝑚𝑎 𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 = 𝑡𝑜𝑡 𝑎𝑙 𝑠𝑒𝑙𝑢𝑟𝑢 𝑓𝑖𝑛𝑔𝑒𝑟𝑝𝑟𝑖𝑡𝑛𝑡 𝑥 100% .....(2, 3) Atau |𝑤 (𝑑𝑖 )⋂𝑤(𝑑𝑗 )|
𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝑑𝑖, 𝑑𝑗) = |𝑤 (𝑑𝑖 )⋃𝑤(𝑑𝑗 )| 𝑥 100% ……...(2, 4) Dengan di nilai-nilai fingerprint pada teks, dj nilai-nilai fingerprint pada teks w(di) ⋂ w(dj) jumlah nilai fingerprint sama antara teks ke-i dan teks ke-j dan w(di) ⋃ w(dj) adalah total nilai fingerprint teks ke-i dan teks ke-j. 2.4 Skripsi Skripsi adalah karya tulis ilmiah yang mengemukakan pendapat penulis berdasarkan pendapat orang lain. Pendapat yang diajukan harus didukung oleh data dan fakta empiris-objektif, baik berdasarkan penelitian langsung (observasi lapangan). Skripsi ditulis biasanya, untuk melengkapi syarat guna memperoleh gelar sarjana muda/diploma atau sarjana dan penyusunananya dibimbing oleh seorang dosen atau tim yang dirujuk oleh suatu lembaga pendidikan tinggi. Dengan demikian, data atau faktaboleh didasarkan pada pengalaman empiris, hasil kerja lapangan (fieldWork) atau diperoleh dari data kepustakaan. (Zaenal Arifin, 2008, 3) Penulisan skripsi adalah syarat lulus mendapaikan gelar kesarjanaan khususnya untuk gclar S-I. Skripsi merupakan jenis laporan riset atau sering disebut sebagai laporan penelitian. Sebenarnya laporan penelitian ini memiliki makna yang cukup luas. Ada jenis-jenis laporan penelitian lain selain skripsi, yakni Tesis, Laporan Akhir, dan Penulisan Karya Ilmiah. Tesis adalah sebutan laporan penelitian untuk program Pasca Sarlana (S2), Laporan Akhir merupakan sebutan untuk jenjang pendidikan Akademi (D-III), dan Penulisan Karya IImiah untuk kalangan pelajar. Namun, pada hakekatnya istilah-istilah itu memiliki definisi yang hampir sama, yakni laporan penelitian.( Derry Iswidharmanjaya, Jubilee Enterprise, 2006, 2) Berdasarkan para ahli diatas dapat disimpulkan skripsi adalah karya tulis ilmiah berupa paparan tulisan hasil penelitian sarjana S1 yang membahas suatu permasalahan/fenomena dalam bidang ilmu tertentu dengan menggunakan kaidah-kaidah yang berlaku. 3
Analisa dan Perancangan
3.1 Analisa Deteksi Kemiripan Judul Skripsi Pencarian judul dalam penyusunan skripsi bagi mahasiswa tingkat akhir merupakan suatu hal yang dapat dikatakan sulit namun dapat juga dikatakan mudah. Seiring berjalannya waktu telah banyak judul-judul skripsi yang diterima dan tersimpan di akademis. Dalam pengajuan judul tidak sedikit mahasiswa yang berulang kali mengajukan judul skripsi, hal ini dikarenakan mahasiswa tersebut tidak mengetahui judul yang diajukan telah ada sebelumnya, sehingga judul yang diajukan di tolak. Proses deteksi kemiripan judul dapat dilakukan dengan menerapkan berbagai metode untuk menghasilkan presentasi kemiripan. Tujuan utama dari deteksi kemiripan judul adalah untuk menentukan presentase kemiripan judul satu dengan judul lainya. Gambar 3.1 adalah skema deteksi kemiripan judul pada sistem.
Gambar 3.1 Skema Deteksi Kemiripan Judul 3.1.2 Analisa Deteksi Kemiripan Judul Skripsi Dengan Algoritma Winnowing Skripsi adalah karya tulis ilmiah yang mengemukakan pendapat penulis berdasarkan pendapat orang lain. Pendapat yang diajukan harus didukung oleh data dan fakta empiris-objektif, baik berdasarkan penelitian langsung (observasi lapangan). Skripsi ditulis biasanya, untuk melengkapi syarat guna memperoleh gelar sarjana muda/diploma atau sarjana dan penyusunananya dibimbing oleh seorang dosen atau tim yang dirujuk oleh suatu lembaga pendidikan tinggi. Dengan demikian, data atau fakta boleh didasarkan pada pengalaman empiris. Deteksi kemiripan judul skripsi dapat dideteksi dengan salah satu algoritma yaitu dengan algoritma winnowing dimana hasil presentase kemirpan judul ditampilkan. Proses deteksi kemiripan dilakukan dengan menampilkan presentase dengan mengunakan Persamaan Jaccard Coeficient pada hasil Fingerprint.Persamaan Jaccard Coeficient merupakan indeks umum untuk variabel biner. Hal ini didefinisikan sebagai hasil bagi antara persimpangan dan serikat variabel dibandingkan berpasangan antara dua benda. Adapun langkah-langkah deteksi kemiripan judul skripsi adalah sebagai berikut: 1. Masukan judul skripsi dan abstrak yang akan dilihat tinggkat presentasenya dengan judul skripsi yang sudah ada sebelumnya. 2. Memasukan nilai n-gram, untuk memebentuk rangkaian gram pada judul yang dimasukan dan judul yang dibandingkan. 3. Masukan nilai Window, untuk menentukan pembentukan window dari nilai Hash.
5 Majalah Ilmiah INTI Volume : XII, Nomor : 1, Januari 2017 ISSN: 2339-210X 4. Proses deteksi kemiripan judul skripsi dengan algoritma winnowing yang mana tujuanya dari proses deteksi kemiripan judul tersebut ada untuk menampilkan tingkat presentase dengan judul-judul yang sudah ada sebelumnya. Berdasarkan analisa di atas, dapat disimpulkan bahwa proses deteksi kemirpan judul skripsi berdasarkan algoritma winnowing menghasilkan presentase kemiripan dengan kumpulan judul skripsi yang sudah ada, karena semakin tinggi presentase kemiripan maka akan semakin mirip dengan judul yang dibandingkan. 3.1.3 Penerapan Algoritma Winnowing Terhadap Deteksi Kemiripan Judul Skripsi Sebagai contoh, akan dilakukan proses deteksi kemiripan judul 1 “Sistem Pakar Diagnosa Kanker Serviks Menggunakan Metode Bayes” terhadap judul 2 “Sistem Pakar Diagnosa Penyakit Dyspepsia Menggunakan Metode Bayes” maka penyelesaianya sebagai berikut : 1. Pembuangan Karakter yang Tidak Relevan Pembuangan karakter yang tidak relevan dengan teks Judul 1 “Sistem Pakar Diagnosa Kanker Serviks Menggunakan Metode Bayes” maka akan terbentuk seperti gambar berikut : sistempakardiagnosakankerserviksmenggunaka nmetodebayes Gambar 3.2 Hasil Proses White Insensitivity 2. Pembentukan Rangkaian n-gram Pembentukan rangkaian n-gram Dengan n = 5, pada teks judul 1 “sistempakardiagnosakankerserviksmenggunakanm etodebayes” maka terbentuk 50 rangkaian n-gram yaitu: siste istem stemp tempa empak mpaka pakar akard kardi ardia rdiag diagn iagno agnos gnosa nosak osaka sakan akank kanke anker nkers kerse erser rserv servi ervik rviks viksm iksme ksmen smeng mengg enggu nggun gguna gunak unaka nakan akanm kanme anmet nmeto metod etode todeb odeba debay ebaye bayes Gambar 3.3 Hasil Proses Pembentukan Rangkaian n-gram 3.
Perhitungan Fungsi Hash untuk Setiap n-gram Perhitungan nilai hash pada rangkaian ngram pertama “sist” dengan nilai basis (b) = 2, panjang rangkaian ngram(n) = 5 𝐻 𝑠𝑖𝑠𝑡𝑒 = 𝑎𝑠𝑐𝑖 𝑠 ∗ 24 + 𝑎𝑠𝑐𝑖 𝑖 ∗ 23 + 𝑎𝑠𝑐𝑖 𝑠 ∗ 22 + 𝑎𝑠𝑐𝑖 𝑡 ∗ 21 + 𝑎𝑠𝑐𝑖 𝑒
= 115*16 + 105*8 + 115*4 + 116*2 + 101 = 3473 Hasil semua perhitungan nilai hash yaitu: 3473 3171 3123 3517 3325 3444
3375 3341 3243 3495 3451 3273
3502 3144 3176 3315 3268 3115
3421 3199 3363 3380 3125 3131
3237 3153 3307 3439 3247 3145
3339 3299 3304 3301 3186
3304 3409 3494 3231 3379
3124 3395 3445 3340 3338
3249 3348 3317 3257 3289
Gambar 3.4 Hasil Proses Perhitungan Nilai Hash 4.
Pembentukan Window dari Nilai Hash Pembentukan window dari hasil perhitungan nilai hash pada tahap sebelumnya dengan ukuran lebar window (w) = 7 yaitu: [3473|3375|3502|3421|3237|3339|3304] [3375|3502|3421|3237|3339|3304|3124] [3502|3421|3237|3339|3304|3124|3249] [3421|3237|3339|3304|3124|3249|3171] [3237|3339|3304|3124|3249|3171|3341] [3339|3304|3124|3249|3171|3341|3144] [3304|3124|3249|3171|3341|3144|3199] [3124|3249|3171|3341|3144|3199|3153] [3249|3171|3341|3144|3199|3153|3299] [3171|3341|3144|3199|3153|3299|3409] [3341|3144|3199|3153|3299|3409|3395] [3144|3199|3153|3299|3409|3395|3348] [3199|3153|3299|3409|3395|3348|3123] [3153|3299|3409|3395|3348|3123|3243] [3299|3409|3395|3348|3123|3243|3176] [3409|3395|3348|3123|3243|3176|3363] [3395|3348|3123|3243|3176|3363|3307] [3348|3123|3243|3176|3363|3307|3304] [3123|3243|3176|3363|3307|3304|3494] [3243|3176|3363|3307|3304|3494|3445] [3176|3363|3307|3304|3494|3445|3317] [3363|3307|3304|3494|3445|3317|3517] [3307|3304|3494|3445|3317|3517|3495] [3304|3494|3445|3317|3517|3495|3315] [3494|3445|3317|3517|3495|3315|3380] [3445|3317|3517|3495|3315|3380|3439] [3317|3517|3495|3315|3380|3439|3301] [3517|3495|3315|3380|3439|3301|3231] [3495|3315|3380|3439|3301|3231|3340] [3315|3380|3439|3301|3231|3340|3257] [3380|3439|3301|3231|3340|3257|3325] [3439|3301|3231|3340|3257|3325|3451] [3301|3231|3340|3257|3325|3451|3268] [3231|3340|3257|3325|3451|3268|3125] [3340|3257|3325|3451|3268|3125|3247] [3257|3325|3451|3268|3125|3247|3186] [3325|3451|3268|3125|3247|3186|3379] [3451|3268|3125|3247|3186|3379|3338] [3268|3125|3247|3186|3379|3338|3289] [3125|3247|3186|3379|3338|3289|3444] [3247|3186|3379|3338|3289|3444|3273] [3186|3379|3338|3289|3444|3273|3115] [3379|3338|3289|3444|3273|3115|3131] [3338|3289|3444|3273|3115|3131|3145] 5. Pemilihan Fingerprint dari Setiap Window Pemilihan nilai fingerprint dari hasil pembentukan window pada tahap sebelumnya antara lain: [3473|3375|3502|3421|3237|3339|3304] [3375|3502|3421|3237|3339|3304|3124] [3502|3421|3237|3339|3304|3124|3249] [3421|3237|3339|3304|3124|3249|3171]
6 Majalah Ilmiah INTI Volume : XII, Nomor : 1, Januari 2017 ISSN: 2339-210X [3237|3339|3304|3124|3249|3171|3341] [3339|3304|3124|3249|3171|3341|3144] [3304|3124|3249|3171|3341|3144|3199] [3124|3249|3171|3341|3144|3199|3153] [3249|3171|3341|3144|3199|3153|3299] [3171|3341|3144|3199|3153|3299|3409] [3341|3144|3199|3153|3299|3409|3395] [3144|3199|3153|3299|3409|3395|3348] [3199|3153|3299|3409|3395|3348|3123] [3153|3299|3409|3395|3348|3123|3243] [3299|3409|3395|3348|3123|3243|3176] [3409|3395|3348|3123|3243|3176|3363] [3395|3348|3123|3243|3176|3363|3307] [3348|3123|3243|3176|3363|3307|3304] [3123|3243|3176|3363|3307|3304|3494] [3243|3176|3363|3307|3304|3494|3445] [3176|3363|3307|3304|3494|3445|3317] [3363|3307|3304|3494|3445|3317|3517] [3307|3304|3494|3445|3317|3517|3495] [3304|3494|3445|3317|3517|3495|3315] [3494|3445|3317|3517|3495|3315|3380] [3445|3317|3517|3495|3315|3380|3439] [3317|3517|3495|3315|3380|3439|3301] [3517|3495|3315|3380|3439|3301|3231] [3495|3315|3380|3439|3301|3231|3340] [3315|3380|3439|3301|3231|3340|3257] [3380|3439|3301|3231|3340|3257|3325] [3439|3301|3231|3340|3257|3325|3451] [3301|3231|3340|3257|3325|3451|3268] [3231|3340|3257|3325|3451|3268|3125] [3340|3257|3325|3451|3268|3125|3247] [3257|3325|3451|3268|3125|3247|3186] [3325|3451|3268|3125|3247|3186|3379] [3451|3268|3125|3247|3186|3379|3338] [3268|3125|3247|3186|3379|3338|3289] [3125|3247|3186|3379|3338|3289|3444] [3247|3186|3379|3338|3289|3444|3273] [3186|3379|3338|3289|3444|3273|3115] [3379|3338|3289|3444|3273|3115|3131] [3338|3289|3444|3273|3115|3131|3145] Fingerprint yang terbentuk yaitu : Fingerprint judul 1 3237, 3124, 3144, 3123, 3176, 3304, 3315, 3301, 3231, 3125, 3186, 3115 Fingerprint judul 2 dengan langkah proses sama dengan judul 1 3237, 3124, 3144, 3123, 3176, 3304, 3315, 3301, 3231, 3125, 3186, 3115 6. PersamaanJaccard Coeficient Perhitungan kesamaan dengan menggunakan persamaan jaccard coefficient yaitu: Fingerprint Judul 1: 3237, 3124, 3144, 3123, 3176, 3304, 3315, 3301, 3231, 3125, 3186, 3115 Fingerprint Judul 2: 3237, 3124, 3144, 3153, 3193, 3160, 3337, 3279, 3204, 3151, 3231, 3125, 3186 3115 Jumlah fingerprint yang sama (3237, 3124, 3144, 3231, 3125, 3186,3115) = 7
Keseluruhan fingerprint = (3237, 3124, 3144, 3153, 3193, 3160, 3337, 3279, 3204, 3151, 3231, 3125, 3186, 3115, 3123, 3176, 3304, 3315, 3301 ) = 19 7 𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝐾𝑒𝑚𝑖𝑟𝑖𝑝𝑎𝑛) = ∗ 100% = 36% 19 Berdasarkan hasil kesamaan-kesamaan kedua fingerprint, maka prosentase kemiripan teks antara judul 1 dan judul 2 yang dibentuk yaitu 36%. 3.2 Perancangan Aplikasi Perancangan dalam pembuatan aplikasi deteksi kemiripan sangat diperlukan karena dengan adanya perancangan akan mempermudah untuk mengetahui alur dari aplikasi yang akan dibangun. Aplikasi deteksi kemiripan judul yang akan dirancang merupakan deteksi kemiripan judul yang berbasis website, dimana aplikasi tersebut tersebut akan dijalankan pada web server yang mendukung PHP. 3.2.1
Pemodelan Sistem Pemodelan sistem bertujuan untuk menjelaskan dan menerangkan mengenai sistem yang akan dibangun secara keseluruhan. Pemodelan sistem memberikan gambaran bagi pengguna atau pemakai sistem baru dalam menerangkan proses yang terjadi pada suatu sistem sehingga memberikan kemudahan bagi pemakai. Pemodelan sistem yang digunakan dalam membagun aplikasi deteksi kemiripan judul skripsi adalah sebagai berikut: 1. Use Case Diagram Use case diagram ini menjelaskan dan menerangkan kebutuhan (requirement) yang diinginkan atau dikehendaki user (pengguna) dan sangat berguna dalam menentukan struktur organisasi dan model dari sebuah sistem. Use case diagram mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat, sehingga dapat memudahkan dalam hal perancangan sistem. Berikut ini gambar use case diagram pada aplikasi deteksi kemiripan judul skripsi :
Gambar 3.5Use Case Diagram Aplikasi Deteksi Kemiripan Judul. 2. Activity Diagram
7 Majalah Ilmiah INTI Volume : XII, Nomor : 1, Januari 2017 ISSN: 2339-210X Activity diagram merupakan salah satu cara memodelkan event-event yang terjadi dalam use case. Pada diagram ini secara fungsi mirip dengan diagram alir (Flowchart), memperlihatkan aliran kendali dari suatu aktifitas ke aktifitas lainnya. Activity diagram berfungsi untuk menvisualisasikan, menspesifikasi, mengkonstruksi, serta mendokumentasikan sifat dari sekumpulan objek, selain itu juga dapat digunakan memodelkan aliran kendali dari suatu operasi.Perancangan activity diagram untuk aplikasi terjemahan sandi morse menjelaskan keseluruhan event atau aktifitas yang terjadi pada aplikasi tersebut. Activity diagram untuk aplikasi deteksi kemiripan judul skripsi dapat dilihat pada gambar 3.5 di bawah ini:
Gambar 3.6 Diagram Activity Aplikasi Deteksi Kemiripan Judul 3.2.2 Perancangan Antar Muka Perancangan antar muka dibuat untuk menggambarkan bentuk aplikasi deteksi kemiripan judul yang akan dirancang. 1. Form Deteksi Kemiripan Judul Skripsi Form deteksi kemiripan judul skripsi adalah form yang digunakan untuk melakukan deteksi kemiripan judul skripsi. Bentuk form tersebut dapat dilihat pada gambar 3.6 berikut:
Gambar 3.7 FormAplikasi Deteksi Kemiripan Judul Keterangan: 1. Form input judul, untuk memasukan judul yang akan dibandingakan dengan judul lainya, 2. Textarea Input, untuk memasukan abstrak yang akan dibandingkan dengan abstrak lainya. 3. Button Proses, Tombol untuk memproses deteksi kemirpan judul. 4. List Presentase Perbandingan judul yang di input dengan judul-judul yang sudah ada, akan memiliki isi setelah terjadinya proses pengimputan pada form input judul dan abstrak. 4. Algoritma dan Implementasi 4.1 Algoritma Algoritma dapat didefenisikan sebagai urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Langkah-langkah tersebut harus logis, dimana nilai kebenarannya harus dapat ditentukan benar atau salahnya secara logika. Algoritma dapat diuraikan dalam 3 (tiga) bentuk yaitu dengan menggunakan Flowchart, Pseudocode dan Deskripsi atau uraian. Algoritma untuk Aplikasi istilah latin flora dan fauna diuraikan dalam bentuk pseudocode. 4.1.2 Algoritma Form Deteksi Kemiripan Judul Skripsi Fungsi utama dari algoritma perangkat lunak deteksi kemiripan ini adalah untuk mendeteksi kemiripan judul skripsi dengan judul skripsi yang sudah ada. Algoritma untuk menjalankan aplikasi kerja sistem deteksi kemiripan adalah sebagai berikut: 1. Input Ju : Text Jp : Text 2. Proses Function nilaifinger(xx){ x = hapus karakter tidak televan( xx ) x = bentuk rangkai n-gram ( x ) function hash(n1){
8 Majalah Ilmiah INTI Volume : XII, Nomor : 1, Januari 2017 ISSN: 2339-210X
3.
4.2
nn = susunan gram n1 mengulang i=1 ke jumlah susunan nn { h(i) = nn(i) * b(nn-i) + nn(i) *b(nn-i) …. hingga jumlah gram n1 hh=h(i) dan h(i) } Return hh } w = array(Susun nilai function hash(x) nilai hash pertama sampai nilai hash ke-w, window kedua di susun dari nilai hash ke dua sampai hash w+1 dan seterusnya hingga terbentuk window dari seluruh nilai hash. f = memilih nilai fingerprint di window w , nilai terkecil di ambil jika nilai sama maka nilai di ambil salah satunya. Return f } ft = fingerprint(ju); ftd = fingerprint(jp) function presentase(n1,n2){ nilai = jumlah nilai sama (n1,n2) / total seluruh nilai(n1,2) * 100 return nilai } Hasil = presentase(ft,ftd) Output Hasil
Implementasi Program Aplikasi deteksi kemiripan judul skripsi yang telah dirancang merupakan aplikasi berbasis Website. Aplikasi deteksi kemiripan judul skripsi menggunakan pemrograman PHP. Dimana untuk mengetikan listing programnya penulis menggunakan Editor Dreamwever.. Deteksi kemiripan judul skripsi menggunakan algoritma winnowing untuk proses deteksi kemiripan judul skripsi, dimana algoritma winnowing berguna bagi para pemakai yang ingin mencari tingkat kemiripan judul skripsi. Berikut ini hasil dari implementasi program yang telah dirancang: 1. Form Deteksi Kemiripan Form deteksi kemiripan merupakan form yang disediakan untuk tingkat presentase yang diinputkan pada Form. Gambar untuk tampilan form deteksi kemiripan dapat dilihat pada gambar 4.1.
Gambar 4.1 Tampilan Form Deteksi Kemiripan
Gambar 4.2 Tampilan Hasil Deteksi Gambar 4.2 menampilkan hasil deteksi kemiripan judul berbentuk presentase. 4.3 Hasil Pengujian Berikut ini adalah hasil adalah hasil deteksi kemiripan judul skripsi “IMPLEMENTASI ALGORITMA WINNOWING UNTUK DETEKSI KEMIRIPAN JUDUL SKRIPSI YANG SUDAH ADA STUDI KASUS PADA WEBSITE STMIK BUDIDARMA”. Hasil deteksi dapat dilihat pada tabel 4.1 berikut : Tabel 4.1 Hasil Pengujian No
Judul Yang di Bandingkan
%
%
Judul
Abstrak
1
implementasi algoritma keyed-hash message authentication code (hmac) pada pesan teks berbasis chatting
13%
27%
2
perancangan aplikasi reduksi noise pada citra digital dengan metode vector median filtering (vmf) implementasi algoritma des dalam pengamanan data user pada jaringan hotspot dengan sistem autentikasi implementasi algoritma fpgrowth pada aplikasi prediksi persediaan sepeda motor (studi kasus pt. pilar deli labumas) implementasi algoritma brute force pada game ft guard
12%
24%
11%
26%
3
4
5
10%
25%
9%
24%
5. Kesimpulan dan Saran 5.1 Kesimpulan Sebagai penutup pembahasan dalam penulisan tugas akhir, penulis mengambil kesimpulan-kesimpulan sekaligus memberikan saran kepada pembaca.
9 Majalah Ilmiah INTI Volume : XII, Nomor : 1, Januari 2017 ISSN: 2339-210X Dengan adanya kesimpulan dan saran ini dapatlah diambil suatu perbandingan yang akhirnya dapat memberikan perbaikan-perbaikan pada masa yang akan datang, Adapun kesimpulan yang penulis peroleh adalah sebagai berikut : 1. Mendeteksi kemiripan judul dengan cara melihat presentase kemiripan dengan judul yang dibandingkan, sehingga dapat dilihat tingkat kemiripan judul. 2. Algoritma winnowing di terapkan untuk melihat tinggakat presentase kemiripan judul serta abstrak. 3. Aplikasi deteksi kemiripan judul skripsi yang telah dirancang merupakan aplikasi berbasis Website. Aplikasi deteksi kemiripan judul skripsi menggunakan pemrograman PHP. 5.2 Saran Penulis juga memiliki beberapa saran untuk mahasiswa atau para pembaca. Adapun saran-saran yang dapat penulis berikan antara lain : 1. Untuk melihat ke akuratan kemiripan judul penulis menyarankan agar memproses tingkat presentase pada proposal skripsi. 2. Aplikasi deteksi kemiripan judul yang telah dibuat masih memiliki kelemahan, oleh karenanya disarankan bagi para pembaca agar dapat mengembangkannya, baik dari tampilan ataupun metodenya. DAFTAR PUSTAKA 1. 2.
Ristono Agus. (2011). Pemodelan Sistem. Cetakan Pertama. Yogyakarta. Graha Ilmu. Utama Ema dan Sukrisno. (2005). 10 langkah Belajar Logika dan Algoritma. Menggunakan
Bahasa C dan C++ di GNU/Linux. Yogyakarta. ANDI. 3. Astutik Sariyanti, Cahyani Dwi Andharini, Sophan Kautsar Mochammad. (2014). Sistem Penilaian Esai Otomatis Pada E-Learning Dengan Algoritma Winnowing. 4. Arifin Zaenal. (2008). Dasar-dasar Penulisan Karya Ilmiah. Jakarta. Grasindo. 5. Rosa A.S-M. Shalahuddin. (2011). Rekayasa Perangkat Lunak. Bandung. Modula. 6. Sismoro Heri. (2005). Pengantar Logika Informatika. Algoritma dan Pemrograman Computer. Yogyakarta. ANDI. 7. Huda Miftakhul dan Komputer Bunafit. (2010). Membuat Aplikasi Database. Jakarta. PT Elex Media Komputindo. 8. Zaki Ali. (2008). 36 Menit Belajar Komputer: Php Dan Mysql. Jakarta. PT Elex Media Komputindo. 9. kusrini, M.Kom. (2007). Tuntunan Praktis Membangun Sistem Informasi Akuntansi Dengan Visual Basic Dan Microsoft Sql Server+Cd. Yogyakarta. ANDI 10. Dewobroto Wiryantu. (2005). Apl Rekayasakonstruksi Vb6.0+cd. Jakarta. PT Elex Media Komputindo. 11. Iswidharmanjaya Derry, Jubilee Enterprise. (2006).Membuat Skripsi dengan OpenOffice.org Writer 2.0. Jakarta. PT Elex Media Komputindo. 12. Komputer Wahana. (2012). Membangun Web Interatif dengan Adobe Dreamweaver CS5.5, PHP & MySqQL. Yogyakarta. ANDI