bab iv pengujian dan analisis · 2020. 4. 24. · 34 4.2.6. skenario pengujian batch size pada...

21
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,

Upload: others

Post on 20-Jan-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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,

Page 2: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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,

Page 3: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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.

Page 4: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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 %

Page 5: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 6: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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.

Page 7: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 8: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 9: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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.

Page 10: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 11: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 12: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 13: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 14: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 15: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 16: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 17: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 18: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 19: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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

Page 20: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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:

Page 21: BAB IV PENGUJIAN DAN ANALISIS · 2020. 4. 24. · 34 4.2.6. Skenario Pengujian Batch Size Pada pengujian batch size akan menggunakan jumlah layer tersembunyi, fungsi aktivasi, partisi

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.