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