Deskripsi Alat Algoritma Rabin Karp

31

BAB IV IMPLEMENTASI SISTEM

Pada bab implementasi sistem berisi tentang implementasi dari sistem yang akan dibuat, pembahasan sistem, implementasi antarmuka, dan hasil implementasi aplikasi.

4.1 Deskripsi Alat

Pada implementasi sistem, penulis menggunakan komputer pribadi dengan spesifikasi sebagai berikut: 1. Processor : AMD A8-5550M 2. RAM : 4 GB 3. Kapasitas Penyimpanan : 500 GB Sedangkan perangkat lunak yang penulis gunakan adalah: 1. Sistem Operasi : Windows 10 2. Bahasa Pemrograman : Java 3. Tools Perancang : Netbeans IDE 8.0.2

4.2 Algoritma Rabin Karp

Dalam pembuatan aplikasi pendeteksi plagiat, penulis memilih algoritma Rabin Karp karena memungkinkan melakukan pencarian pola tulisan dari substring-substring pada sebuah teks dalam dokumen. Algoritma Rabin Karp tidak melakukan pergeseran yang rumit untuk menyelesaikan masalah, algoritma ini mempercepat pengecekan kata pada suatu teks dengan menggunakan fungsi hash. Contoh perbandingan dua buah dokumen yang terindikasi merupakan hasil plagiat dengan dokumen aslinya. 32 Tabel 4.1 Dua buah dokumen yang terindikasi terjadi plagiarisme. Dokumen 1 Dalam The 100 Greatest Disasters of All Time karya Stephen J Spignesi, dua bencana di Indonesia berada di peringkat ke-22 dan ke-30. Pertama, letusan Gunung Tambora di Sumbawa 1815 yang merenggut 150.000 jiwa dan menurunkan suhu bumi. Kedua, letusan Gunung Krakatau 1883 yang menelan 36.000 nyawa. Dokumen 2 Dalam buku The 100 Greatest Disasters of All Time karya Stephen J Spignesi, dua bencana di Indonesia masuk peringkat ke-22 dan 30. Letusan Gunung Tambora di Sumbawa tahun 1815 merenggut 150.000 jiwa dan menurunkan suhu Bumi. Adapun letusan Gunung Krakatau tahun 1883 menelan 36.000 nyawa. Dari table 4.1 diatas, dapat dilihat kemiripan dokumen sangat terlihat. Namun untuk mengetahui tingkat kemiripan atau similarity antara dua buah dokumen digunakan algoritma Rabin Karp. Langkah pertama adalah dengan melakukan preprocessing dokumen, yaitu: 1. Case folding Proses ini adalah dengan mengubah semua huruf menjadi huruf kecil. Tabel 4.2 Dua buah dokumen setelah melalui langkah case folding. Dokumen 1 dalam the 100 greatest disasters of all time karya stephen j spignesi, dua bencana di indonesia berada di peringkat ke-22 dan ke-30. pertama, letusan gunung tambora di sumbawa 1815 yang merenggut 150.000 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33 jiwa dan menurunkan suhu bumi. kedua, letusan gunung krakatau 1883 yang menelan 36.000 nyawa. Dokumen 2 dalam buku the 100 greatest disasters of all time karya stephen j spignesi, dua bencana di indonesia masuk peringkat ke-22 dan 30. letusan gunung tambora di sumbawa tahun 1815 merenggut 150.000 jiwa dan menurunkan suhu bumi. adapun letusan gunung krakatau tahun 1883 menelan 36.000 nyawa. 2. Filtering Langkah yang kedua adalah menghilangkan kata-kata yang kurang penting . Pada proses filtering, kata-kata yang akan dihapus meliputi kata-kata yang kurang penting atau kata sambung seperti kata “dari”, “dan”, dan kata sambung lainnya. Pada proses ini tanda baca juga dihilangkan. Tabel 4.3 Dua buah dokumen setelah melalui langkah case filtering. Dokumen 1 100 greatest disasters all time karya stephen j spignesi dua bencana indonesia berada peringkat 22 30 pertama letusan gunung tambora sumbawa 1815 merenggut 150000 jiwa menurunkan suhu bumi kedua letusan gunung krakatau 1883 menelan 36000 nyawa Dokumen 2 buku 100 greatest disasters all time karya stephen j spignesi dua bencana indonesia masuk peringkat 22 30 letusan gunung tambora sumbawa tahun 1815 merenggut 150000 jiwa menurunkan suhu bumi letusan gunung krakatau tahun 1883 menelan 36000 nyawa 34 3. Stemming Langkah ketiga adalah dengan melakukan stemming , yaitu mengubah kata kedalam bentuk aslinya atau dengan kata lain mengubah ke bentuk kata dasar. Dalam penelitian ini, kata yang diubah ke bentuk kata dasar hanya kata dalam Bahasa Indonesia saja. Tabel 4.4 Dua buah dokumen setelah melalui langkah stemming. Dokumen 1 100 greatest disasters all time karya stephen j spignesi dua bencana indonesia ada tingkat 22 30 pertama letus gunung tambora sumbawa 1815 renggut 150000 jiwa turun suhu bumi dua letus gunung krakatau 1883 telan 36000 nyawa Dokumen 2 buku 100 greatest disasters all time karya stephen j spignesi dua bencana indonesia masuk tingkat 22 30 letus gunung tambora sumbawa tahun 1815 renggut 150000 jiwa turun suhu bumi letus gunung krakatau tahun 1883 telan 36000 nyawa 4. Tokenizing Langkah terakhir dalam proses preprocessing adalah proses pemotongan string input berdasarkan tiap kata penyusunnya dan pembentukan pola kata dalam rangkaian k-gram. Langkah tokenizing dibagi menjadi dua proses, yaitu : a. Proses parsing k-gram Merupakan pemotongan kata sebanyak k = 5 . Penentuan nilai k adalah dengan melihat banyaknya banyaknya kata yang akan diolah atau di hitung nilai hash nya. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35 Tabel 4.5 Dua buah dokumen setelah melalui langkah parsing k-gram dalam tokenizing. Dokumen 1 {100 g}{00 gr}{0 gre}{ grea}{great}{reate}{eates} {atest}{testd} {estdi}{stdis} {tdisa}{disas}{isast}{saste}{aster}{sters}{ters }{ers a}{rs al}{s all}{ all }{all t}{ll th}{l the}{ the }{the t}{he ti}{e tim}{ time}{time }{ime k}{me ka}{e kar}{ kary} {karya}{arya }{rya s}{ya st}{a ste}{ step}{steph}{tephe}{ephen}{phen }{hen j}{en j }{n j s}{ j sp}{j spi}{ spig}{spign}{pigne}{ignes}{gnesi} {nesi }{esi d}{si du}{i dua}{ dua }{dua b}{ua be}{a ben}{ benc}{benca}{encan}{ncana}{cana }{ana i}{na in}{a ind}{ indo} {indon}{ndone}{dones} {onesi} {nesia}{esia }{sia a}{ia ad}{a ada}{ ada }{ada t}{da ti}{a tin} { ting} {tingk} {ingka}{ngkat}{gkat }{kat 2}{at 22}{t 22 }{ 22 3}{22 30}{2 30 }{ 30 p}{30 pe}{0 per}{ pert} {perta} {ertam}{rtama}{tama }{ama l}{ma le}{a let}{ letu} {letus}{etus }{tus g}{us gu}{s gun}{ gunu} {gunun}{unung}{nung }{ung t}{ng ta}{g tam}{ tamb} {tambo}{ambor} {mbora}{bora }{ora s}{ra su}{a sum}{ sumb} {sumba} {umbaw} {mbawa}{bawa }{awa 1}{wa 18}{a 181}{ 1815}{1815 }{815 r} {15 re}{5 ren}{ reng}{rengg} {enggu}{nggut}{ggut } {gut 1}{ut 15}{t 150}{ 1500} {15000} {50000}{0000 } {000 j}{00 ji}{0 jiw}{ jiwa} {jiwa }{iwa t}{wa tu} {a tur} { turu}{turun}{urun }{run s}{un su}{n suh}{ suhu}{suhu }{uhu b}{hu bu}{u bum}{ bumi}{bumi }{umi d}{mi du}{i dua}{ dua } {dua l}{ua le}{a let}{ letu}{letus}{etusa} {tusan{usan }{san g}{an gu}{n gun}{ gunu}{gunun}{unung} {nung }{ung k}{ng kr}{g kra}{ krak}{kraka} {rakat}{akata}{katau}{atau }{tau 1}{au 18}{u 188}{ 1883}{1883 } {883 t}{83 te}{3 tel}{ tela}{telan}{elan }{lan 3}{an 36}{n 360}{ 3600} {36000} {6000 }{000 n}{00 ny}{0 nya}{ nyaw} {nyawa} Dokumen 2 {buku }{uku 1}{ku 10}{u 100}{ 100 }{100 g}{00 gr} {0 gre}{ grea}{great}{reate} {eates}{atest}{test }{est d}{st di}{t dis}{ disa}{disas}{isast}{saste}{aster}{sters} {ters }{ers a}{rs al}{s all}{ all }{all t}{ll ti}{l tim}{ time}{time }{ime k}{me ka}{e kar}{ kary}{karya}{arya }{rya s}{ya st}{a ste}{ step}{steph} {tephe}{ephen}{phen }{hen j}{en j }{n j s} { j sp}{j spi}{ spig} {spign}{pigne}{ignes}{gnesi}{nesi }{esi d}{si du}{i dua}{ dua }{dua b}{ua be}{a ben}{ benc}{benca}{encan}{ncana}{cana }{ana i}{na in}{a ind}{ indo}{indon}{ndone}{dones} {onesi} {nesia}{esia }{sia m}{ia ma}{a mas}{ masu}{masuk}{asuk }{suk t}{uk ti}{k tin}{ ting}{tingk} {ingka}{ngkat}{gkat }{kat 2}{at 22}{t 22 }{ 22 3}{22 30}{2 30 }{ 30 l}{30 le}{0 let}{ letu}{letus}{etus }{tus g}{us gu}{s gun}{ gunu} {gunun} {unung}{nung }{ung 36 t}{ng ta}{g tam}{ tamb}{tambo} {ambor}{mbora}{bora }{ora s}{ra su}{a sum}{ sumb}{sumba} {umbaw}{mbawa}{bawa }{awa t}{wa ta}{a tah}{ tahu}{tahun} {ahun }{hun 1}{un 18}{n 181}{ 1815}{1815 }{815 r}{15 re} {5 ren}{ reng}{rengg}{enggu}{nggut}{ggut }{gut 1}{ut 15}{t 150}{ 1500}{15000}{50000}{0000 }{000 j}{00 ji}{0 jiw}{ jiwa}{jiwa }{iwa t}{wa tu} {a tur}{ turu} {turun}{urun }{run s}{un su}{n suh}{ suhu}{suhu }{uhu b}{hu bu} {u bum}{ bumi} {bumi }{umi l}{mi le}{i let}{ letu}{letus}{etus }{tus g}{us gu} {s gun}{ gunu}{gunun} {unung}{nung }{ung k}{ng kr}{g kra}{ krak}{kraka}{rakat}{akata}{katau}{atau }{tau t}{au ta}{u tah}{ tahu}{tahun}{ahun }{hun 1}{un 18}{n 188}{ 1883}{1883 }{883 t}{83 te}{3 tel}{ tela}{telan}{elan } {lan 3}{an 36} {n 360}{ 3600}{36000}{6000 }{000 n}{00 ny}{0 nya}{ nyaw}{nyawa} b. Proses hashing Proses yang kedua adalah mengubah setiap string menjadi angka. Dengan menggunakan persamaan: � � = � ∗ � �− + � ∗ � �− + ⋯ + � �− ∗ � + � �− ∗ � Maka kedua dokumen yang telah diproses sampai ke tahap tokenizing dapat dihitung nilai hash nya dengan basis bilangan d = 7. Untuk penentuan basis bilangan adalah dengan memilih bilangan prima karena dapat memperkecil terjadinya collision. Tabel 4.6 Dua buah dokumen setelah melalui langkah hashing dalam tokenizing. Dokumen 1 1367 92 1341 15 1321 70 1185 51 2921 49 3140 23 2822 78 2785 55 3197 06 2884 35 3216 53 3188 63 2825 44 2972 24 3159 34 2788 47 3217 65 3195 82 2875 59 3155 14 2927 08 1161 83 2755 73 2988 36 2767 97 1224 55 3194 77 2868 32 2600 05 1226 29 37 3206 11 2947 72 2987 66 2595 13 1192 05 2967 08 2786 39 3203 09 3262 81 2504 21 1227 80 3217 40 3194 76 2868 30 3103 35 2900 67 2825 73 2806 19 1156 75 2720 06 1226 03 3205 07 3108 45 2936 46 2908 92 3051 55 2874 15 3145 15 2688 97 1175 76 2853 06 3165 43 2494 92 1162 64 2761 21 2858 71 3036 87 2770 71 2757 10 2998 01 2499 37 1193 91 2980 23 3047 20 2843 85 3101 00 3052 20 2878 02 3172 05 2877 31 2494 96 1162 90 2763 06 2871 53 3125 96 2722 86 2758 24 2501 82 1211 00 3099 86 2876 21 3159 47 2957 28 3054 77 2896 01 2961 36 2746 53 2923 24 9670 7 1391 73 1338 93 9701 3 9334 8 1325 33 1211 11 3100 50 2880 75 3191 15 3178 39 2753 69 2974 05 2499 88 1197 54 3005 69 2889 24 3250 71 3259 17 3151 03 2730 33 2810 62 1187 81 2937 53 3252 53 3103 84 3240 34 3019 16 2647 51 1222 34 3179 25 2759 77 2968 55 2796 68 3107 05 3094 75 2504 36 1228 71 3223 70 3239 04 3010 06 2751 11 2787 40 3209 57 2467 15 9677 9 1396 61 1541 93 1382 60 1443 91 1200 67 3027 55 2874 25 3145 71 2861 16 3954 21 2892 09 2933 91 3226 69 2923 12 9662 1385 64 1464 53 1344 32 1343 94 1321 27 1322 71 1192 68 2970 14 2976 64 3190 21 2500 31 1200 55 3026 75 2868 79 3107 56 3266 29 3200 81 3246 79 3063 66 2959 07 2731 17 2816 44 1365 75 4182 33 3226 44 2922 06 2976 23 1170 47 2815 37 3237 80 3001 42 2691 31 1192 99 2973 66 2832 45 2853 16 3166 13 2499 88 1197 54 3005 69 2889 24 3250 71 3259 17 3151 03 2730 33 2810 62 1187 81 2937 53 3252 53 3103 84 3240 25 3018 70 2644 17 1199 05 3016 08 3130 23 2752 60 2966 58 2782 89 3177 93 2749 95 2947 42 9682 6 1399 90 1564 96 1543 81 1395 85 1200 39 3025 57 2860 33 3048 34 2851 00 2982 44 2726 06 2780 11 9735 5 1437 06 1488 38 1343 98 1341 71 1325 58 1212 89 3112 96 Jumlah hashing = 242 Dokumen 2 2815 23 3236 24 2989 97 2946 78 9635 9 1367 92 1341 15 1321 70 1185 51 2921 49 3140 23 2822 78 2785 55 3196 38 2879 54 3182 76 2952 42 1171 79 2825 44 2872 24 38 3159 34 2788 47 3217 65 3195 82 2875 59 3155 14 2927 08 1161 83 2755 73 2988 37 2768 12 1226 29 3206 11 2947 72 2987 66 2595 13 1192 05 2967 08 2786 39 3203 09 3262 81 2504 21 1227 80 3217 40 3194 76 2868 30 3193 35 2900 67 2825 73 2806 19 1156 75 2720 06 1226 03 3205 07 3108 45 1936 46 2908 92 3051 55 2874 15 3145 15 2688 97 1175 76 2853 09 3265 43 2494 92 1162 64 2761 21 2858 71 3036 87 2770 71 2757 09 2997 94 2498 88 1190 48 2956 22 3047 20 2843 85 3101 00 3052 20 2878 02 3172 16 2878 04 2500 08 1198 94 3015 41 2788 56 3218 25 3200 71 2741 92 1211 00 3099 86 2876 25 3159 65 2958 75 3064 08 2961 36 2746 53 2923 24 9670 7 1391 73 1338 93 9700 9 1414 40 1323 39 1197 54 3005 69 2889 24 3250 71 3259 17 3151 03 2730 33 2810 62 1187 81 2937 53 3252 53 3193 84 3240 34 3019 16 2647 51 1222 34 3179 25 2759 77 3016 57 2796 68 3107 05 3094 75 2504 36 1228 71 3223 70 3239 04 3010 06 2751 11 2788 07 3214 67 2503 40 1222 18 3178 12 2751 04 2954 98 3206 14 2779 28 9677 9 1396 61 1541 93 1383 50 1443 91 1200 67 3027 55 2874 25 3145 71 2861 16 3054 21 2892 09 2933 91 3226 69 2923 12 9662 1385 64 1464 53 1344 32 1343 94 1341 27 1322 72 1192 65 2970 65 2980 08 3214 22 2500 31 1200 55 3026 75 2868 79 3107 56 3266 29 3200 81 3246 79 3063 66 2959 07 2731 17 2816 44 1228 55 3221 93 3226 44 2922 07 2976 23 1170 47 2815 37 3237 81 3001 49 2691 96 1197 54 3005 69 2889 24 3250 71 3259 17 3151 03 2730 33 2570 52 1187 81 2937 53 3252 53 3103 84 3240 25 3018 70 2644 17 1199 05 3016 08 3130 23 2752 60 2966 58 2782 89 3178 60 2755 05 2983 60 1222 18 3178 12 2751 04 2954 98 3206 14 2779 35 9682 6 1399 90 1564 96 1543 81 1395 85 1200 39 3025 57 2860 33 3048 34 2851 00 2982 44 2726 06 2780 11 9735 5 1437 04 1488 38 1343 98 1341 71 1325 58 1212 89 3112 96 Jumlah hashing = 240 Dari proses hashing fedua dokumen diatas, dapat diketahui jumlah hash yang sama dalam table berikut: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 39 Tabel 4.7 Hash yang sama dalam dua buah dokumen setelah melalui langkah hashing dalam tokenizing. Dokumen 1 dan Dokumen 2 1341 15 1321 70 1185 51 2921 49 3140 23 2822 78 2785 55 2825 44 3159 34 2788 47 3217 65 3195 82 2875 59 3155 14 1161 83 2755 73 1226 29 2947 72 2987 66 2595 13 1192 05 2967 08 2786 39 3203 09 3262 81 2504 21 3217 40 3194 76 2868 30 2900 67 2825 73 2806 19 1156 75 2720 06 3205 07 3108 45 2908 92 3051 55 2874 15 3145 15 2688 97 1175 76 2494 92 1162 64 2761 21 2858 71 3036 87 2770 71 3047 20 2843 85 3101 00 3052 20 2878 02 1211 00 3099 86 2961 36 2746 53 2923 24 9670 7 1391 73 1197 54 3005 69 2889 24 3250 71 3259 17 3151 03 2730 33 2810 62 1187 81 2937 53 3252 53 3240 34 3019 16 2647 51 1222 34 3179 25 2759 77 2796 68 3107 05 3094 75 2504 36 1228 71 3223 70 3239 04 3010 06 2751 11 1222 18 3178 12 2751 04 2954 98 3206 14 9677 9 1396 61 1541 93 1443 91 1200 67 3027 55 3145 71 2861 16 2892 09 2933 91 3226 69 2923 12 9662 1385 64 1344 32 1343 94 2500 31 3026 75 2868 79 3107 56 3266 29 3200 81 3246 79 3063 66 2959 07 2731 17 3226 44 2976 23 1170 47 2815 37 1197 54 3005 69 2889 24 3250 71 3259 17 3151 03 2730 33 1187 81 2937 53 3252 53 3103 84 3240 25 2644 17 1199 05 3016 08 3130 23 2752 60 2966 58 2782 89 1222 18 3178 12 2751 04 2954 98 3206 14 9682 6 1399 90 1564 96 1543 81 1395 85 1200 39 3025 57 2860 33 3048 34 2982 44 2726 06 2780 11 9735 5 1488 38 1343 98 1341 71 1325 58 3112 96 Jumlah hashing = 163 Setelah jumlah hash diketahui, yaitu hash pada dokumen pertama sebanyak 242, hash dokumen uji sebanyak 240 dan hash yang sama sebanyak 163, proses selanjutnya adalah menghitung similarity. 40 Langkah selanjutnya dalam algoritma Rabin Karp adalah melakukan uji similarity. Uji similarity menggunakan indeks Sørensen dengan persamaan: � = � � � + � � = ∗ + = . Diketahui similary antar dua buah dokumen sebesar 0.67634 yang artinya kedua dokumen memiliki similarity yang besar dan dapat dikatakan plagiarisme.

4.3 Implementasi Basis Data