29
BAB IV
PENGUJIAN DAN ANALISIS
Pada bab ini dijelaskan tentang pengujian sistem yang telah direalisasikan beserta
analisis dari hasil pengujian. Pengujian sistem ini bertujuan untuk mengetahui
perkembangan dari perancangan sistem yang sudah dibahas pada BAB III serta untuk
mengetahui tingkat keberhasilan dari spesifikasi yang telah diajukan.
4.1. Hasil Data
Setelah melewati proses preprocessing data, didapatkan data sebanyak 2060 data
tweet campuran bahasa Indonesia dan bahasa Inggris dari berbagai akun yang ada dengan
batasan masalah yang sudah ditetapkan sebelumnya. Data tweet yang diambil berkaitan
dengan tanggapan mengenai politik di Indonesia, yaitu tweet yang membahas tentang
pemilihan Gubernur DKI Jakarta 2017 dan tweet menjelang Pemilihan Presiden 2019.
Pelabelan data sebagai hate speech atau netral didasarkan pada UU ITE tahun 2008 dan
Surat Edaran Kapolri Nomor SE/06/X/2015 tentang Penanganan Ujaran Kebencian (Hate
Speech). Sebanyak 1015 data dengan kategori hate speech dan 1015 data dengan kategori
netral. Dataset dipaparkan pada lampiran A.
4.2. Skenario Pengujian terhadap Algoritma Multilayer Perceptron
Tujuan dari pengujian ini adalah untuk mendapatkan hasil model terbaik ketika
proses training sampai dengan ketika model sudah diimplementasikan pada aplikasi
pendeteksi ujaran kebencian di Twitter. Pengujian dilakukan dengan menggunakan
metode multilayer perceptron.
Pada sistem pendeteksi akun penyebar ujaran kebencian di Twitter ini pengujian
akan dilakukan sebanyak 6 kali dengan membagi data training dan data testing dengan
porsi yang berbeda-beda dan dengan mengubah beberapa parameter yang dianggap
menentukan hasil akhir dari pembelajaran mesin terhadap data yang digunakan sebagai
dataset. Parameter yang tidak akan diubah-ubah nilainya adalah “min_count” : 5
dan “min_word_length”:3, alasannya yaitu pada kalimat tweet di Indonesia sering
kali dijumpai kata-kata yang tidak baku seperti singkatan maupun perpaduan kata bahasa
Jawa, Inggris dan Indonesia. Berdasarkan pengalaman ketika mengumpulkan dataset
banyak ditemui kata-kata yang mengandung ujaran kebencian yang terdiri dari 3 huruf,
30
misal “tai”, “ajg” dan “asu”. Sedangkan untuk min_count berfungsi untuk mendeteksi
dan memperhitungkan kata yang sering muncul pada dataset.
Langkah pegujian dengan metode multilayer perceptron sebagai berikut:
1. Membuat service machine learning di DeepDetect® server
from dd_client import DD
dd = DD('localhost')
dd.set_return_format(dd.RETURN_PYTHON)
sname = 'hs1'
description = 'hate classification service'
mllib = 'caffe'
model = {
'templates':'../templates/caffe/',
'repository':'models/mlp1/hs1'
}
parameters_input = {'connector':'txt','sentences':True}
parameters_mllib = {
'template':'mlp',
'nclasses':2,
'layers':[50],
'activation':'relu'
}
parameters_output = {}
dd.put_service(sname,model,description,mllib,
parameters_input,parameters_mllib,parameters_output)
2. Melakukan training terhadap service yang sudah dibuat
from dd_client import DD
dd = DD('localhost')
dd.set_return_format(dd.RETURN_PYTHON)
sname = 'hs1'
data = ['models/data_hs']
parameters_input = {
'shuffle':True,
'test_split':0.1,
'min_count':5,
'min_word_length':3,
'count':False,
'sentences':True
}
parameters_mllib = {
'gpu':True,
'net':{
'batch_size':64,
},
'solver':{
'test_interval':50,
31
'base_lr':0.009,
'iterations':1000
}
}
parameters_output={
'measure':['precision','recall',
'train_loss','f1','acc']
}
train_output= dd.post_train(sname, data,
parameters_input, parameters_mllib, parameters_output)
print train_output
4.2.1. Skenario Pengujian Jumlah Layer Tersembunyi
Untuk pertama kali jumlah layer tersembunyi yang digunakan adalah 2 layer
dengan 200 neuron tersembunyi di masing-masing layer. Nilai ini diambil ditentukan
dengan melihat referensi pada sumber dokumentasi DeepDetect® server. Untuk melihat
apakah ada perubahan nilai di accuracy, precision dan recall maka dilakukan pengujian
dengan menambah dan mengurangi jumlah layer tersembunyi dan neuronnya. Pada
pengujian ini menggunakan fungsi aktivasi relu, partisi data sebesar 40 % data untuk
testing dan 60 % data untuk training, 500 iterasi, batch size sebesar 64 dan learning rate
sebesar 0.001.
Tabel 4.1. Skenario Pengujian Jumlah Layer Tersembunyi.
No Layer Activation Test_split Iteration Batch_
size Learning_rate
1 [50]
relu 40 % 500 64 0.001
2 [100]
3 [150]
4 [200]
5 [100,100]
6 [150,150]
7 [200,200]
8 [250,250]
9 [300,300]
10 [100,100,100]
11 [150,150,150]
12 [200,200,200]
Dari nilai precision, recall dan accuracy tertinggi akan diuji kembali dengan
menggunakan parameter fungsi aktivasi, partisi data, jumlah iterasi, learning rate dan
batch size untuk melihat apakah ada perubahan nilai di precission, recall dan accuracy.
32
4.2.2. Skenario Pengujian Fungsi Aktivasi
Pengujian ini bertujuan untuk mengetahui fungsi aktivasi yang terbaik untuk
menyelesaikan masalah pada sistem pendeteksi akun penyebar ujaran kebencian ini.
Beberapa fungsi aktivasi yang diujikan adalah sigmoid, tanh, relu dan prelu. Pada
pengujian ini menggunakan jumlah layer tersembunyi tertinggi yang didapat dari
pengujian jumlah layer tersembunyi.
Tabel 4.2. Skenario Pengujian Fungsi Aktivasi.
No Activation Layer Test_split Iteration Batch_
size
Learning_
rate
1 sigmoid Menggunakan
jumlah layer
yang
menghasilkan
hasil tertinggi
pada
pengujian
sebelumnya
40 % 500 64 0.001
2 tanh
3 relu
4 prelu
4.2.3. Skenario Pengujian Partisi Data (test split)
Pengujian ini dilakukan sebanyak sembilan kali dengan membagi data training
dan data testing dengan porsi yang berbeda-beda. Total data sebanyak 2060 data tweet,
terdiri dari 1015 data dengan label hate speech dan 1015 data dengan label netral.
Tabel 4.3. Skenario Pengujian Partisi Data.
No Test_split Activation Layer Iteration Batch_
size
Learning_
rate
1 10 %
Menggunakan
aktivasi yang
menghasilkan
hasil tertinggi
pada
pengujian
sebelumnya
Menggunakan
jumlah layer
yang
menghasilkan
hasil tertinggi
pada
pengujian
sebelumnya
500 64 0.001
2 20 %
3 30 %
4 40 %
5 50 %
6 60 %
7 70 %
8 80 %
9 90 %
33
4.2.4. Skenario Pengujian Jumlah Iterasi
Pada pengujian jumlah iterasi ini menggunakan nilai parameter yang
menghasilkan nilai acccuracy, precision dan recall tertinggi pada pengujian-pengujian
sebelumnya. Pengujian iterasi dimulai berturut-turut dengan nilai iterasi sebesar 100, 200,
300, 400, 500, 600, 700, 800, 900 dan 1000.
Tabel 4.4. Skenario Pengujian Jumlah Iterasi.
No Iteration Activation Layer Test_split Batch_
size
Learning_
rate
1 100
Menggunakan
aktivasi yang
menghasilkan
hasil tertinggi
pada
pengujian
sebelumnya
Menggunakan
jumlah layer
yang
menghasilkan
hasil tertinggi
pada
pengujian
sebelumnya
40 % 64 0.001
2 200
3 300
4 400
5 500
6 600
7 700
8 800
9 900
10 1000
4.2.5. Skenario Pengujian Learning Rate
Dalam menguji learning rate akan menggunakan jumlah layer tersembunyi,
fungsi aktivasi, partisi data dan jumlah iterasi yang menghasilkan nilai acccuracy,
precision dan recall tertinggi pada pengujian-pengujian sebelumnya dan batch size
sebesar 64. Pengujian learning rate akan dimulai berturut-turut dari 0.001, 0.003, 0.005,
0.007, 0.009 dan 0.01.
Tabel 4.5. Skenario Pengujian Learning Rate.
No Learning_
rate Activation Layer Iteration
Batch_
size
Test_
split
1 0.001
Menggunakan
aktivasi yang
menghasilkan
hasil tertinggi
pada
pengujian
sebelumnya
Menggunakan
jumlah layer
yang
menghasilkan
hasil tertinggi
pada
pengujian
sebelumnya
Menggunakan
jumlah iterasi
yang
menghasilkan
hasil tertinggi
pada
pengujian
sebelumnya
64 0.001
2 0.003
3 0.005
4 0.007
5 0.009
6 0.01
34
4.2.6. Skenario Pengujian Batch Size
Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi
aktivasi, partisi data, jumlah iterasi dan batch size yang menghasilkan nilai acccuracy,
precision dan recall tertinggi pada pengujian-pengujian sebelumnya. Pengujian batch size
akan dimulai berturut-turut dengan nilai sebesar 8, 16, 32, 64, 128 dan 256.
Tabel 4.6. Skenario Pengujian Batch Size.
No Batch_
size Activation Layer Iteration Test_split
Learning
_rate
1 8 Menggunakan
aktivasi yang
menghasilkan
hasil tertinggi
pada
pengujian
sebelumnya
Menggunakan
jumlah layer
yang
menghasilkan
hasil tertinggi
pada
pengujian
sebelumnya
Menggunakan
jumlah iterasi
yang
menghasilkan
hasil tertinggi
pada
pengujian
sebelumnya
40% 0.001
2 16
3 64
4 128
5 256
4.3. Skenario Pengujian Pada Aplikasi Web
Model terbaik yang dihasilkan pada pengujian-pegujian sebelumnya akan
ditanamkan pada aplikasi pendeteksi tweet yang mengandung ujaran kebencian di
Twitter. Pengujian pada aplikasi web dibagi menjadi 3 kategori tipe input data yaitu
teks/kalimat, URL tweet dan nama akun Twitter.
4.3.1. Input Berupa Tweet
Pada pengujian ini data yang dimasukkan oleh pengguna berupa teks/kalimat.
Kemudian teks tersebut akan dianalisis oleh sitem yang sudah dirancang pada skripsi ini.
Pengujian pertama data input diambil dari data training dan pengujian kedua
menggunakan data baru. Untuk data baru menggunakan 3 tweet dari Ahmad Dhani yang
ditetapkan sebagai tersangka atas kasus dugaan ujaran kebencian yang disampaikan lewat
media sosial dan beberapa tweet lain bersumber
https://regional.kompas.com/read/2018/05/22/17205521/inilah-kasus-ujaran-kebencian-
yang-melibatkan-pns-dan-pegawai-bumn?page=all. Berikut gambar dari tangkapan layar
tweet Ahmad Dhani yang diambil dari sumber berita https://news.detik.com/berita/d-
3751250/ini-3-cuitan-ahmad-dhani-yang-dipolisikan.
35
Gambar 4.1. Tweet Ahmad Dhani.
Tabel 4.7. Skenario Pengujian Input Berupa Teks/Kalimat dari Data Baru.
No Input
1 Sila Pertama Ketuhanan YME, PENISTA agama jadi gubernur...kalian
WARAS? ? ? -ADP
2 Siapa saja yang dukung menista Agama adalah bajingan yg perlu diludahi
muka nya -ADP
3 Yg penista Agama si Ahok....yg di adili KH Ma’ruf Amin....ADP
4 Jokowi
5 Prabowo
6 Ahok penista agama
7 Ahok menista agama
8 Rakyat memilih pemimpin yg terbaik melalui pilpres dg biaya yg mahal, jgn
curangi suara rakyat
9 Semoga tidak ada kecurangan pada pemilu kali ini
10
Kalau ada polisi yang meninggal dan belum jelas kronologisnya dalam kasus
teroris, media yang dibackup orang-orang kafir dan munafik menggiring berita
sudutkan Islam
11
Sore2 kena tilang karena stop di tanda larangan p ditanya apa beda tanda
larang P dan S dijawab sama aja. Kok gitu lulus jadi polisi. Tidak bisa bedakan
tanda larangan P dan S dasar polisi bodoh. Kita bikin coba ramaikan saja biar
banyak yang baca, banyakan likenya aja biar lain tahu
36
Tabel 4.8. Skenario Pengujian Input Berupa Teks/Kalimat dari Data Training.
No Input
1 ahoker siap bela penista agama
2 ahoax penista agama kembali mengolok olok surat almaidah 51
3 prabowo goblok
4 anjing kafir lu ferdi menebar fitnah
5 02 goblok orang orangnya oon semua bisanya bikin hoak
6 jangan pernah lelah untuk membela indonesia kawan
7 cukup kaki ini yang pecah indonesia jangan sampai
8 beda pilihan beda keputusan asal jangan mau dipecah
9 jokowi as always
10 anjing mati ketabrak mobil ntar lagi yg disalahkan jokowi
4.3.2. Input Berupa URL Tweet
Pada pengujian ini data yang dimasukkan oleh pengguna berupa beberapa alamat
URL tweet dari beberapa akun Twitter.
Tabel 4.9. Skenario Pengujian Input Berupa URL Tweet.
No Input
1 https://twitter.com/nasdi_n/status/1083567627757268992
2 https://twitter.com/ag865ok/status/1119493232734326784
3 https://twitter.com/akbarkurnians/status/1118127610330959878
4 https://twitter.com/akbarkurnians/status/1118865045151043585
5 https://twitter.com/FiersaBesari/status/1117637939398238208
6 https://twitter.com/ye20200/status/1119503982857089025
7 https://twitter.com/permadiaktivis/status/1119438570362523649
8 https://twitter.com/LegendForum/status/1119454490267009024
9 https://twitter.com/ye20200/status/1119501814980702208
10 https://twitter.com/budimandjatmiko/status/1119476887187681280
4.3.3. Input Berupa Nama Akun Twitter
Pada pengujian ini data yang dimasukkan oleh pengguna berupa nama akun
Twitter yang sudah dipersiapkan. Ada akun yang diduga menyebarkan suatu tweet yang
mengandung ujaran kebencian berdasarkan berita yang pernah beredar di masyarakat dan
beberapa akun yang netral. Nama akun Twitter tersebut dimasukkan ke dalam aplikasi
37
dengan diawali karakter @, misal “@zakharia_rstu”. Pada Tabel 4.10 tercantum nama
akun Twitter yang akan dianalisis menggunakan aplikasi pada skripsi ini.
Tabel 4.10. Skenario Pengujian Input Berupa Nama Akun Twitter.
No Input
1 @ibhaskiss
2 @zakharia_rstu
3 @didoadtya
4 @KevinLisbeth1
5 @akbarkurnians
6 @angelitadinda
4.4. Hasil Pengujian Algoritma Multilayer Perceptron
4.4.1. Hasil Pengujian Jumlah Layer Tersembunyi
Tabel 4.11. Hasil Pengujian Jumlah Layer Tersembunyi.
No Layer Precision Recall Accuracy F1 Train_loss
1 [50] 76.11 % 76.48% 75.985221% 76.30% 60.89%
2 [100] 74.38% 74.38% 74.384236% 74.38% 63.42%
3 [150] 74.01% 74.34% 73.891625% 74.14% 63.00%
4 [200] 76.01% 76.03% 75.985221% 76.02% 62.46%
5 [100,100] 72.78% 72.79% 72.783251% 72.78% 66.39%
6 [150,150] 71.50% 74.13% 70.812807% 72.79% 65.61%
7 [200,200] 67.82% 69.17% 67.487684% 68.49% 66.71%
8 [250,250] 72.17% 72.20% 72.167487% 72.18% 66.07%
9 [300,300] 71.48% 71.98% 71.428571% 71.73% 65.61%
10 [100,100,100] 68.23% 68.28% 68.226600% 68.26% 67.26%
11 [150,150,150] 64.28% 69.53% 63.300492% 66.80% 67.11%
12 [200,200,200] 56.39% 65.58% 54.679802% 60.64% 66.21%
Dari Tabel 4.11 dapat dilihat grafik perbandingan hasil training-nya pada Gambar
4.2 dan 4.3.
38
Gambar 4.2. Grafik Perbandingan Precision, Recall dan Accuracy pada
Pengujian Jumlah Layer Tersembunyi.
Gambar 4.3. Grafik Perbandingan F1 dan Train Loss pada Pengujian
Jumlah Layer Tersembunyi.
Berdasarkan grafik pada Gambar 4.2 dan 4.3 dapat ditarik kesimpulan bahwa
jumlah layer tersembunyi yang paling cocok untuk klasifikasi ujaran kebencian pada
skripsi ini adalah 1 layer tersembunyi dengan 50 neuron di dalamnya, dengan nilai
0,00%
10,00%
20,00%
30,00%
40,00%
50,00%
60,00%
70,00%
80,00%
90,00%P
erse
nta
se H
asil
Jumlah Layer
precision
recall
accuracy
0,00%
10,00%
20,00%
30,00%
40,00%
50,00%
60,00%
70,00%
80,00%
90,00%
Per
sen
tase
Has
il
Jumlah Layer
F1 Score Train Loss
39
accuracy sebesar 75.985221% dan F1 score sebesar 76.30%. Semakin banyak jumlah
layer tersembunyi dan neuronnya nilai train loss semakin besar.
4.4.2. Hasil Pengujian Fungsi Aktivasi
Tabel 4.12. Hasil Pengujian Fungsi Aktivasi.
No Activation Precision Recall Accuracy F1 Train
Loss
1 relu 76.98% 77.28% 77.093596% 77.13% 62.37%
2 prelu 75.50% 75.91% 75.246305% 75.70% 59.34%
3 tanh 73.99% 74.48% 73.522167% 74.24% 52.43%
4 sigmoid 54.79% 69.24% 52.216748% 61.17% 67.06%
Dari Tabel 4.12 dapat dilihat grafik perbandingan hasil training-nya pada Gambar
4.4 dan 4.5.
Gambar 4.4. Grafik Perbandingan Precision, Recall dan Accuracy pada
Pengujian Fungsi Aktivasi.
Gambar 4.5. Grafik Perbandingan F1 dan Train Loss pada Pengujian
Fungsi Aktivasi.
0,00%
20,00%
40,00%
60,00%
80,00%
100,00%
relu prelu tanh sigmoid
Per
sen
tase
Has
il
Fungsi Aktivasi
Precision Recall Accuracy
0,00%
20,00%
40,00%
60,00%
80,00%
100,00%
relu prelu tanh sigmoid
Per
sen
tase
Has
il
Fungsi Aktivasi
F1 Score Train Loss Column1
40
Berdasarkan grafik pada Gambar 4.4 dan 4.5 dapat ditarik kesimpulan bahwa
fungsi aktivasi yang paling cocok untuk klasifikasi ujaran kebencian pada skripsi ini
adalah relu, dengan nilai accuracy sebesar 77.093596% dan F1 score sebesar 77.13%.
4.4.3. Hasil Pengujian Partisi Data
Tabel 4.13. Hasil Pengujian Partisi Data.
No Test_split Precision Recall Accuracy F1 Train
Loss
1 10 % 77.63% 77.68% 77.832512% 77.65% 60.14%
2 20 % 76.30% 76.34% 76.354679% 76.32% 57.81%
3 30 % 76.35% 76.44% 76.354679% 76.40% 58.87%
4 40 % 74.67% 75.20% 74.261083% 74.93% 62.57%
5 50 % 72.87% 73.53% 72.709359% 73.20% 59.40%
6 60 % 74.14% 74.14% 74.137931% 74.14% 57.80%
7 70 % 68.80% 73.30% 68.191414% 70.98% 60.69%
8 80 % 74.88% 75.69% 74.830769% 75.28% 59.47%
9 90 % 71.51% 72.26% 71.498905% 71.88% 53.21%
Dari Tabel 4.13 dapat dilihat grafik perbandingan hasil training-nya pada Gambar
4.6 dan 4.7.
Gambar 4.6. Grafik Perbandingan Precision, Recall dan Accuracy pada
Pengujian Partisi Data.
62,00%
64,00%
66,00%
68,00%
70,00%
72,00%
74,00%
76,00%
78,00%
80,00%
10% 20% 30% 40% 50% 60% 70% 80% 90%
Per
sen
tase
Has
il
Partisi Data (test split)
Precision Recall Accuracy
41
Gambar 4.7. Grafik Perbandingan F1 dan Train Loss pada Pengujian
Partisi Data.
Berdasarkan grafik pada Gambar 4.6 dan 4.7 dapat ditarik kesimpulan bahwa
partisi data yang paling bagus adalah apabila jumlah data training lebih besar dari pada
jumlah data testing. Semakin banyak data training maka accuracy semakin baik. Pada
pengujian ini didapatkan hasil terbaik menggunakan data testing sebesar 10 % dari total
dataset dengan nilai accuracy sebesar 77.093596% dan F1 score sebesar 77.13%.
4.4.4. Hasil Pengujian Jumlah Iterasi
Tabel 4.14. Hasil Pengujian Jumlah Iterasi.
No Iteration Precision Recall Accuracy F1 Train
Loss
1 100 56.99% 61.20% 54.679802% 59.02% 66.99%
2 200 67.04% 67.02% 66.995073% 67.03% 67.06%
3 300 70.27% 70.17% 69.950738% 70.22% 65.43%
4 400 74.29% 74.34% 74.384236% 74.31% 62.00%
5 500 76.36% 76.34% 76.354679% 76.35% 60.61%
6 600 72.80% 72.70% 72.413793% 72.75% 59.19%
7 700 72.44% 72.00% 71.428571% 72.22% 58.67%
8 800 75.47% 75.49% 75.369458% 75.48% 54.34%
9 900 83.96% 84.48% 83.251231% 84.22% 54.37%
10 1000 83.91% 85.46% 84.236453% 84.67% 43.16%
0,00%
10,00%
20,00%
30,00%
40,00%
50,00%
60,00%
70,00%
80,00%
90,00%
10% 20% 30% 40% 50% 60% 70% 80% 90%
Per
sen
tase
Has
il
Partisi Data (test split)
F1 Score Train Loss Column1
42
Dari Tabel 4.14 dapat dilihat grafik perbandingan hasil training-nya pada Gambar
4.8 dan 4.9.
Gambar 4.8. Grafik Perbandingan Precision, Recall dan Accuracy pada
Pengujian Jumlah Iterasi.
Gambar 4.9. Grafik Perbandingan F1 dan Train Loss pada Pengujian
Jumlah Iterasi.
0,00%
10,00%
20,00%
30,00%
40,00%
50,00%
60,00%
70,00%
80,00%
90,00%
100 200 300 400 500 600 700 800 900 1000
Per
sen
tasi
Has
il
Iterasi
Precision Recall Accuracy
0,00%
10,00%
20,00%
30,00%
40,00%
50,00%
60,00%
70,00%
80,00%
90,00%
100 200 300 400 500 600 700 800 900 1000
Per
sen
tase
Has
il
Iterasi
F1 Score Train Loss
43
Berdasarkan grafik pada Gambar 4.8 dan 4.9 dapat ditarik kesimpulan bahwa
jumlah iterasi mempengaruhi nilai accuracy, precision dan recall. Semakin banyak
jumlah iterasinya maka accuracy semakin baik. Pada pengujian ini didapatkan hasil
terbaik menggunakan 1000 iterasi dengan nilai accuracy sebesar 84.236453% dan F1
score sebesar 84.67%. Dapat dilihat pula jika semakin besar jumlah iterasinya maka train
loss semakin kecil, yang berarti model yang dihasilkan pada tahap training semakin
bagus.
4.4.5. Hasil Pengujian Learning Rate
Tabel 4.15. Hasil Pengujian Learning Rate.
No Learning rate Precision Recall Accuracy F1 Train
Loss
1 0.001 82.76% 83.05% 82.266009% 82.90% 48.38%
2 0.003 84.15% 84.37% 84.236453% 84.26% 23.56%
3 0.005 90.02% 90.02% 89.655172% 90.02% 12.81%
4 0.007 89.15% 89.18% 89.162561% 89.16% 12.82%
5 0.009 91.07% 91.42% 91.133004% 91.24% 10.61%
6 0.01 89.24% 89.10% 89.162561% 89.17% 7.34%
Dari Tabel 4.15 dapat dilihat grafik perbandingan hasil training-nya pada Gambar
4.10 dan 4.11.
Gambar 4.10. Grafik Perbandingan Precision, Recall dan Accuracy pada
Pengujian Learning Rate.
76,00%
78,00%
80,00%
82,00%
84,00%
86,00%
88,00%
90,00%
92,00%
94,00%
0,001 0,003 0,005 0,007 0,009 0,01
Per
sen
tase
Has
il
Learning Rate
Precision Recall Accuracy
44
Gambar 4.11. Grafik Perbandingan F1 dan Train Loss pada Pengujian
Learning Rate.
Berdasarkan grafik pada Gambar 4.10 dan 4.11 dapat ditarik kesimpulan bahwa
nilai learning rate mempengaruhi nilai accuracy, precision dan recall. Pada pengujian
ini didapatkan hasil terbaik menggunakan learning rate sebesar 0.009 dengan nilai
accuracy sebesar 91.133004% dan F1 score sebesar 91.24%. Dapat disimplkan juga
bahwa pada percobaan ini, semakin besar nilai learning rate maka semakin kecil nilai
train loss.
4.4.6. Hasil Pengujian Batch Size
Tabel 4.16. Hasil Pengujian Batch Size.
No Batch_size Precision Recall Accuracy F1 Train
Loss
1 8 86.64% 86.58% 86.699507% 86.61% 23.73%
2 16 89.81% 89.70% 89. 655172% 89.75% 17.43%
3 32 88.19% 88.40% 88.177339% 88.30% 12.30%
4 64 90.42% 90.30% 90.147783% 90.36% 9.92%
5 128 89.63% 89.85% 89.655172% 89.74% 8.02%
6 256 89.62% 89.65% 89.655172% 89.64% 7.56%
0,00%
10,00%
20,00%
30,00%
40,00%
50,00%
60,00%
70,00%
80,00%
90,00%
100,00%
0,001 0,003 0,005 0,007 0,009 0,01
Per
sen
tase
Has
il
Learning Rate
F1 Score Train Loss Column1
45
Dari Tabel 4.16 dapat dilihat grafik perbandingan hasil training-nya pada Gambar
4.12 dan 4.13.
Gambar 4.12. Perbandingan Precision, Recall dan Accuracy pada
Pengujian Batch Size.
Gambar 4.13. Perbandingan F1 dan Train Loss pada Pengujian Batch
Size.
84,00%
85,00%
86,00%
87,00%
88,00%
89,00%
90,00%
91,00%
8 16 32 64 128 256
Per
sen
tase
Has
il
Batch Size
Precision Recall Accuracy
0,00%
10,00%
20,00%
30,00%
40,00%
50,00%
60,00%
70,00%
80,00%
90,00%
100,00%
8 16 32 64 128 256
Per
sen
tase
Has
il
Batch Size
F1 Score Train Loss Column1
46
Berdasarkan grafik pada Gambar 4.12 dan 4.13 dapat ditarik kesimpulan bahwa
ukuran batch size mempengaruhi nilai accuracy, precision dan recall. Pada pengujian ini
didapatkan hasil terbaik menggunakan batch size sebesar 64 dengan nilai accuracy
sebesar 90.147783% dan F1 score sebesar 90.36%. Dapat disimplkan juga bahwa pada
percobaan ini, semakin besar ukuran batch size maka semakin kecil nilai train loss.
Setelah melakukan beberapa pengujian terhadap parameter yang mempengaruhi
nilai precision, recall dan accuracy, didapatkan model terbaik menggunakan metode
multilayer perceptron dengan jumlah layer tersembunyi sebanyak 1 layer dengan 50
neuron, fungsi aktivasi relu, partisi data sebesar 10% untuk data testing dan 90% untuk
data training, jumlah iterasi sebanyak 1000 iterasi, learning rate sebesar 0.009 dan batch
size sebesar 64. Model tersebut menghasilkan nilai precision sebesar 90.42 %, recall
sebesar 90.30%, accuracy sebesar 90.15% dan F1 score sebesar 90.36%.
4.5. Hasil Pengujian Pada Aplikasi Web
4.5.1. Hasil Pengujian Input Berupa Teks/Kalimat
Tabel 4.17. Hasil Pengujian Input Berupa Teks/Kalimat dari Data Training.
No Input
Class
Seharusnya
Multilayer Perceptron
Class Prob
1 ahoker siap bela penista agama Hate Speech Hate Speech 98.34%
2 ahoax penista agama kembali
mengolok olok surat almaidah 51 Hate Speech Hate Speech 91.81%
3 prabowo goblok Hate Speech Hate Speech 79.09%
4 anjing kafir lu ferdi menebar
fitnah Hate Speech Hate Speech 99.53%
5 02 goblok orang orangnya oon
semua bisanya bikin hoak Hate Speech Hate Speech 89.95%
6 jangan pernah lelah untuk
membela indonesia kawan Netral Netral 96.70%
7 cukup kaki ini yang pecah
indonesia jangan sampai Netral Netral 91.93%
8 beda pilihan beda keputusan asal
jangan mau dipecah Netral Netral 97.54%
9 jokowi as always Netral Netral 86.83%
10 anjing mati ketabrak mobil ntar
lagi yg disalahkan jokowi Netral Hate Speech 70.36%
Berdasarkan hasil pengujian menggunakan beberapa data training yang tercantum
pada Tabel 4.17 didapatkan hasil yang cukup memuaskan. 9 dari total 10 data yang
47
diambil, masuk ke dalam kelas yang seharusnya menjadi kelasnya. Tetapi ada 1 data yang
salah kelas, seharusnya termasuk dalam kelas netral. Hal ini dikarenakan sampel kata
seperti pada data nomor 10 pada Tabel 4.17 banyak digunakan sebagai sampel pada data
dengan hate speech, contohnya kata “anjing”. Jadi dapat disimpulkan bahwa banyaknya
data training dan kevalidannya sangat mempengaruhi model yang akan terbentuk.
Tabel 4.18. Hasil Pengujian Input Berupa Teks/Kalimat Data Baru.
No Input
Multilayer Perceptron
Class Prob
1
Sila Pertama Ketuhanan YME,
PENISTA agama jadi gubernur...kalian
WARAS? ? ? -ADP
Hate Speech 90.79%
2
Siapa saja yang dukung menista
Agama adalah bajingan yg perlu
diludahi muka nya -ADP
Hate Speech 97.57%
3 Yg penista Agama si Ahok....yg di
adili KH Ma’ruf Amin....ADP Hate Speech 94.40%
4 Jokowi Netral 80.02%
5 Prabowo Netral 51.70%
6 Ahok penista agama Hate Speech 94.40%
7 Ahok menista agama Netral 60.45%
8
Rakyat memilih pemimpin yg terbaik
melalui pilpres dg biaya yg mahal, jgn
curangi suara rakyat
Netral 98.70%
9 Semoga tidak ada kecurangan pada
pemilu kali ini Netral 92.98%
10
Kalau ada polisi yang meninggal dan
belum jelas kronologisnya dalam kasus
teroris, media yang dibackup orang-
orang kafir dan munafik menggiring
berita sudutkan Islam
Hate Speech 99.20%
11
Sore2 kena tilang karena stop di tanda
larangan p ditanya apa beda tanda
larang P dan S dijawab sama aja. Kok
gitu lulus jadi polisi. Tidak bisa
bedakan tanda larangan P dan S dasar
polisi bodoh. Kita bikin coba ramaikan
saja biar banyak yang baca, banyakan
likenya aja biar lain tahu
Hate Speech 84.11%
Pada Tabel 4.18 terlihat jelas bahwa model pembelajaran mesin yang digunakan
pada aplikasi pendeteksi ujaran kebencian di Twitter ini menggunakan model yang
48
memperhitungkan jumlah kata yang muncul pada suatu data training atau biasa disebut
bag of word. Model ini memiliki keterbatasan pada kosa kata sehinggga apabila pada
suatu kata ada perbedaan satu huruf saja maka kata tersebut memiliki nilai yang berbeda
jika di proses menggunakan sistem bag of word ini seperti yang tercantum pada Tabel
4.18..
4.5.2. Hasil Pengujian Input Berupa URL Tweet
Tabel 4.19. Hasil Pengujian Input Berupa URL Tweet.
No Input
Multilayer
Perceptron
Class Prob
1 https://twitter.com/nasdi_n/status/1083567627757268992 Hate
Speech 90.49%
2 https://twitter.com/ag865ok/status/1119493232734326784 Netral 70.99%
3 https://twitter.com/akbarkurnians/status/1118127610330959878 Netral 63.56%
4 https://twitter.com/akbarkurnians/status/1118865045151043585 Netral 69.84%
5 https://twitter.com/FiersaBesari/status/1117637939398238208 Netral 55.10%
6 https://twitter.com/ye20200/status/1119503982857089025 Hate
Speech 86.02%
7 https://twitter.com/permadiaktivis/status/1119438570362523649 Hate
Speech 61.99%
8 https://twitter.com/LegendForum/status/1119454490267009024 Hate
Speech 75.84%
9 https://twitter.com/ye20200/status/1119501814980702208 Hate
Speech 64.88%
10 https://twitter.com/budimandjatmiko/status/1119476887187681280 Netral 67.08%
Pada Tabel 4.19 tertulis 10 hasil pengujian menggunakan input berupa URL tweet.
Sistem pada skripsi ini mampu menganalisa tweet berdasarkan URL tweetnya dan
menampilkan hasilnya pada aplikasi web.
4.5.3. Hasil Pengujian Input Berupa Nama Akun Twitter
Pada pengujian ini data yang dimasukkan oleh pengguna berupa beberapa nama
akun Twitter. Berikut hasil pengujiannya:
49
Tabel 4.20. Skenario Pengujian Input Berupa Nama Akun Twitter.
No Input Total Tweet
Multilayer Perceptron
Persentase
Tweet Hate
Speech
Persentase
Tweet Netral
1 @ibhaskiss 351 22.22% 77.78%
2 @zakharia_rstu 25 16.00% 84.00%
3 @didoadtya 3158 8.68% 91.32%
4 @KevinLisbeth1 2978 7.29% 92.71%
5 @akbarkurnians 2981 8.15% 91.85%
6 @angelitadinda 3158 6.78% 93.22%
Pada perealisasian sistem pendeteksi akun penyebar ujaran kebencian di Twitter
ini dapat menganalisa sejumlah akun Twitter. Kekurangan dari program ini yaitu total
tweet maksimal yang dapat diambil dalam sekali download menggunakan Tweepy hanya
sebanyak 3158 tweet. Persentase tweet hate speech merupakan persentase banyaknya
tweet yang diprediksi oleh sistem sebagai tweet yang mengandung konten ujaran
kebencian. Persentase tweet netral merupakan persentase banyaknya tweet yang
diprediksi oleh sistem sebagai tweet yang netral. Sistem ini tidak semata-mata langsung
bisa membuat akun yang diprediksi sebagai pengujar kebencian dipidana, masih
membutuhkan analisa lebih lanjut untuk menindaklanjuti kasus penyebar ujaran
kebencian di media sosial. Sistem ini hanya mempermudah proses pengklasifikasiannya
saja karena sistem ini masih membutuhkan pengembangan lebih lanjut agar dapat
mengklasifikasi tweet yang lebih akurat.
Top Related