• Tidak ada hasil yang ditemukan

Kontruksi Sentimen pada Algoritma K-Means

Dalam dokumen Skripsi. Oleh : Mochamad Fadli NIM : (Halaman 54-0)

BAB III.............................................................................................................. 20

3.3 Kerangka Berfikir

4.4.1 Kontruksi Sentimen pada Algoritma K-Means

Konstruksi menggunakan algoritma k-means dalam menentukan sentimen ini merupakan salah satu skenario di dalam penelitian saat ini. Dimana dalam penentuan sentimen menggunakan algoritma k-means membutuhkan proses penunjang lainnya agar hasilnya lebih maksimal. Secara keseluruhan konstruksi analisa sentimen menggunakan algoritma k-means dapat dijelaskan dibawah ini (konsep diambil dari sub-bab 4.2.3 dan dapat dilihat pada gambar 4.8):

1. Pelatihan data latih

Proses contoh dalam pelatihan data latih (konsep diambil dari sub-bab 4.2.2 dan dapat dilihat pada gambar 4.7):

a. Mengumpulkan dokumen yang didapat dari kumpulan komentar yang sudah dicrawling sebelumnya. Sebagai contoh digunakan 8 dokumen sebagai data latih.

Tabel 4. 6 Dokumen data latih

No Komentar

1 Doa Kami selalu untuk pak Anies, pemimpin yg amanah.

Semoga pak anies sekeluarga diberi kesehatan dan keselamatan.

2 Ekonomi, kebenaran,kesehatan,buktiin dulu sih kebenarannya apa? Gedeg gua lama lama

3 krn psbb pendidikan saya gak mutu. Jangan salahin generasi selanjutnya yak lo pemerintahan ntar bobrok gegara daring. Krn otak ku online

4 Kopad kopid . gagal lagi nih dapet kerjaan. Kosan kaga kebayar makan susah cicilan nunggk gara gara PHK 5 Mundur aja pak mundur

6 Yg paling penting sehat ya semuanya, semangat pakkk 7 @aniesbaswedan PSBB PERPANJANG SMPE KIAMAT

YA A.. BIAR MANUSIA INDO PADA MATI KELAPARAN

8 RASANYA ANJING BANGET GW PSBB MULU DIRUMAH NGK NGAPANGAPAIN

b. Memberikan sentimen secara manual setiap dokumennya

Tabel 4. 7 Penentuan Sentimen Data Latih

NO. KOMENTAR SENTIMEN

1 Doa Kami selalu untuk pak Anies, pemimpin yg amanah. Semoga pak anies

sekeluarga diberi kesehatan dan keselamatan.

Positif

2 Ekonomi, kebenaran,kesehatan,buktiin dulu sih kebenarannya apa? Gedeg gua lama lama

Negatif

3 krn psbb pendidikan saya gak mutu. Jangan salahin generasi selanjutnya yak lo pemerintahan ntar bobrok gegara daring.

Krn otak ku online

Negatif

4 Kopad kopid . gagal lagi nih dapet kerjaan.

Kosan kaga kebayar makan susah cicilan nunggk gara gara PHK

Negatif

5 Mundur aja pak mundur Negatif

6 Yg paling penting sehat ya semuanya, semangat pakkk

Posistif

7 @aniesbaswedan PSBB PERPANJANG SMPE KIAMAT YA A.. BIAR MANUSIA

INDO PADA MATI KELAPARAN

Negatif

8 RASANYA ANJING BANGET GW PSBB MULU DIRUMAH NGK

NGAPANGAPAIN

Negatif

c. melakukan proses case folding

Tabel 4. 8 Hasil Proses Case Folding

NO. KOMENTAR

1 doa kami selalu untuk pak anies, pemimpin yg amanah.

Semoga pak anies sekeluarga diberi kesehatan dan keselamatan.

2 ekonomi, kebenaran,kesehatan,buktiin dulu sih kebenarannya apa? gedeg gua lama lama

3 krn psbb pendidikan saya gak mutu. jangan salahin

d. Melakukan proses filtering

Tabel 4. 9 Hasil Proses Filtering

generasi selanjutnya yak lo pemerintahan ntar bobrok gegara daring. krn otak ku online

4 kopad kopid . gagal lagi nih dapet kerjaan. kosan kaga kebayar makan susah cicilan nunggk gara gara phk

5 mundur aja pak mundur

6 yg paling penting sehat ya semuanya, semangat pakkk 7 @aniesbaswedan psbb perpanjang smpe kiamat ya a.. biar

manusia indo pada mati kelaparan

8 rasanya anjing banget gw psbb mulu dirumah engk ngapangapain

NO. KOMENTAR

1 doa kami selalu untuk pak anies pemimpin yg amanah semoga pak anies sekeluarga diberi kesehatan dan keselamatan

2 ekonomi kebenaran kesehatan buktiin dulu sih kebenarannya apa gedeg gua lama lama

3 krn psbb pendidikan saya gak mutu jangan salahin generasi selanjutnya yak lo pemerintahan ntar bobrok gegara daring krn otak ku online

4 kopad kopid gagal lagi kosan kaga kebayar makan gagal lagi nih dapet kerjaan kosan kaga kebayar makan susah cicilan nunggk gara gara phk

5 mundur aja pak mundur

6 yg paling penting sehat ya semuanya semangat pakkk

7 aniesbaswedan psbb perpanjang smpe kiamat ya a biar manusia indo pada mati kelaparan

8 rasanya anjing banget gw psbb mulu dirumah engk ngapangapain

e. melakukan proses tokenization

Tabel 4. 10 Melakukan Proses Tokenization

f. M

f. Melakukan proses normalisasi kata

Tabel 4. 11 Hasil Proses Normalisasi Kata

Dokumen (1) Dokumen (2) Dokumen (3) Dokumen (4)

g. Melakukan proses stemming

Tabel 4. 12 Hasil Proses Stemming

Dokumen (1) Dokumen (2) Dokumen (3) Dokumen (4)

sehat

h. Melakukan proses filtering / stopword

Tabel 4. 13 Proses Filtering / Stopword

Dokumen (1) Dokumen (2) Dokumen (3) Dokumen (4)

Dokumen (5) Dokumen (6) Dokumen (7) Dokumen (8) index untuk disimpan oleh variable.

2. Menyiapkan data yang ingin diuji. Sebagai contoh akan dilakukan 1 data uji agar prosesnya terlihat.

3. Melakukan pre-processing pada data uji. Pada tahap awal akan melakukan proses case folding.

4. Melakukan proses tokenization

Semoga wabah virus corona cepaat selesai dan ekonomi di Indonesia cepat membaik

semoga wabah virus corona cepaat selesai dan ekonomi di indonesia cepat membaik

semoga

5. Melakukan proses normalisasi kata ejaan tanpa bantuan algoritma levensthein distance untuk typo. Pada contoh ini tidak ada yang di normalisasi kata ejaan, karena tidak ada kata ejaan didalamnya.

6. Melakukan proses stemming, merubah kata berimbuhan mejadi kata dasar sesuai dengan KBBI.

7. Melakukan proses filtering / stopword semoga

pandemi virus cepaat selesai ekonomi indonesia cepat baik

8. Melakukan tahap terakhir di pre-processing pada penelitian ini yaitu indexing pada data uji.

semoga pandemi virus corona cepaat selesai dan ekonomi di

indonesia cepat baik

9. Melakukan pencarian atau pencocokan index yang ada di dalam data latih dan index yang ada di data uji. Didapatkan index data uji yang sama dengan data latih yaitu data ke 2, 3, 4, 5, 7, dan 8 pada data latih.

10. Melakukan proses pembobotan menggunakan algoritma TF-IDF. Proses perhitungan awal yaitu menghitung IDF dengan rumus yang dapat dilihat pada rumus 2.7.

Tabel 4. 14 Hasil Perhitungan IDF Skenario 1

IDF TF-0 TF-1 TF-2 TF-3 TF-4 TF-5 TF-6 DF

semoga 0 1 0 0 0 0 0 0 0

pandemi 0 1 0 0 0 0 0 0 0

virus 0 1 0 0 0 0 0 0 0

cepaat 0 1 0 0 0 0 0 0 0

selesai 0 1 0 0 0 0 0 0 0

ekonomi 0.778151 1 1 0 0 0 0 0 1

indonesia 0.778151 1 0 0 0 0 1 0 1

cepat 0 1 0 0 0 0 0 0 0

baik 0.778151 1 1 0 0 0 0 0 1

ekonomi 0.778151 1 1 0 0 0 0 0 1

benar 0.778151 0 1 0 0 0 0 0 1

baik 0.778151 1 1 0 0 0 0 0 1

bukti 0.778151 0 1 0 0 0 0 0 1

dahulu 0.778151 0 1 0 0 0 0 0 1

memang 0.778151 0 1 0 0 0 0 0 1

psbb 0.778151 0 0 1 0 0 0 0 1

Didik 0.778151 0 0 1 0 0 0 0 1

tidak 0.301029 0 0 1 1 0 0 1 3

kualitas 0.778151 0 0 1 0 0 0 0 1

jangan 0.778151 0 0 1 0 0 0 0 1

Salah 0.778151 0 0 1 0 0 0 0 1

generasi 0.778151 0 0 1 0 0 0 0 1

lanjut 0.778151 0 0 1 0 0 0 0 1

pemerintah 0.778151 0 0 1 0 0 0 0 1

nanti 0.778151 0 0 1 0 0 0 0 1

buruk 0.778151 0 0 1 0 0 0 0 1

gagal 0.778151 0 0 0 1 0 0 0 1

rumah 0.301029 0 0 0 1 0 0 1 2

tidak 0.301029 0 0 1 1 0 0 1 3

bayar 0.778151 0 0 0 1 0 0 0 1

makan 0.778151 0 0 0 1 0 0 0 1

tunggak 0.778151 0 0 0 1 0 0 0 1

sebab 0.778151 0 0 0 1 0 0 0 1

phk 0.778151 0 0 0 1 0 0 0 1

mundur 0.778151 0 0 0 0 2 0 0 1

saja 0.778151 0 0 0 0 1 0 0 1

bapak 0.778151 0 0 0 0 1 0 0 1

mundur 0.778151 0 0 0 0 2 0 0 1

panjang 0.778151 0 0 0 0 0 1 0 1

sampai 0.778151 0 0 0 0 0 1 0 1

supaya 0.778151 0 0 0 0 0 1 0 1

manusia 0.778151 0 0 0 0 0 1 0 1

indonesia 0.778151 0 0 0 0 0 1 0 1

pada 0.778151 0 0 0 0 0 1 0 1

mati 0.778151 0 0 0 0 0 1 0 1

rasa 0.778151 0 0 0 0 0 0 1 1

banget 0.778151 0 0 0 0 0 0 1 1

melulu 0.778151 0 0 0 0 0 0 1 1

rumah 0.301029 0 0 1 0 0 0 1 2

tidak 0.301029 0 1 1 0 0 0 1 3

aktifitas 0.778151 0 0 0 0 0 0 1 1

Setelah mendapatkan nilai IDF, akan menghitung nilai bobotnya (termweighting) dengan rumus yang dapat di lihat pada rumus 2.8.

Tabel 4. 15 Hasil Perhitungan bobot TF-IDF Skenario 2

W-0 W-1 W-2 W-3 W-4 W-5 W-6

semoga 0 0 0 0 0 0 0

pandemi 0 0 0 0 0 0 0

virus 0 0 0 0 0 0 0

cepaat 0 0 0 0 0 0 0

selesai 0 0 0 0 0 0 0

ekonomi 0.778151 0.778151 0 0 0 0.778151 0

indonesia 0.778151 0 0 0 0 0 0

cepat 0 0 0 0 0 0 0

baik 0.778151 0.778151 0 0 0 0 0

ekonomi 0.778151 0.778151 0 0 0 0 0

benar 0 0.778151 0 0 0 0 0

baik 0.778151 0.778151 0 0 0 0 0

bukti 0 0.778151 0 0 0 0 0

dahulu 0 0.778151 0 0 0 0 0

memang 0 0.778151 0 0 0 0 0

psbb 0 0 0.778151 0 0 0 0

didik 0 0 0.778151 0 0 0 0

tidak 0 0 0.778151 0.778151 0 0 0.778151

kualitas 0 0 0.778151 0 0 0 0

jangan 0 0 0.778151 0 0 0 0

salah 0 0 0.778151 0 0 0 0

generasi 0 0 0.778151 0 0 0 0

lanjut 0 0 0.778151 0 0 0 0

pemerintah 0 0 0.778151 0 0 0 0

nanti 0 0 0.778151 0 0 0 0

buruk 0 0 0.778151 0 0 0 0

gagal 0 0 0 0.778151 0 0 0

rumah 0 0 0 0.778151 0 0 0.778151

tidak 0 0 0.778151 0.778151 0 0 0.778151

bayar 0 0 0 0.778151 0 0 0

makan 0 0 0 0.778151 0 0 0

tunggak 0 0 0 0.778151 0 0 0

sebab 0 0 0 0.778151 0 0 0

Dimana total term weigthing yang didapat pada perhitungan diatas yaitu:

Data uji = 3.890775 Kalimat – 1 = 6.225208 Kalimat – 2 = 9.337812 Kalimat – 3 = 7.00359 Kalimat – 4 = 3.80775 Kalimat – 5 = 6.225208 Kalimat – 6 = 7.003359

11. Melakukan proses clustering menggunakan algoritma k-means dimana prosesnya dapat dilihat pada gambar 4.9 dan penjelasannya bisa dilihat pada sub-bab 2.8.2. Data yang di

phk 0 0 0 0.778151 0 0 0

mundur 0 0 0 0 1.556302 0 0

saja 0 0 0 0 0.778151 0 0

mundur 0 0 0 0 1.556302 0 0

panjang 0 0 0 0 0 0.778151 0

sampai 0 0 0 0 0 0.778151 0

supaya 0 0 0 0 0 0.778151 0

manusia 0 0 0 0 0 0.778151 0

indonesia 0 0 0 0 0 0.778151 0

pada 0 0 0 0 0 0.778151 0

mati 0 0 0 0 0 0.778151 0

rasa 0 0 0 0 0 0 0.778151

banget 0 0 0 0 0 0 0.778151

melulu 0 0 0 0 0 0 0.778151

rumah 0 0 0 0 0 0 0.778151

tidak 0 0 0 0 0 0 0.778151

aktifitas 0 0 0 0 0 0 0.778151

TOTAL 3.890775 6.225208 9.337812 7.00359 3.80775 6.225208 7.003359

cluster yaitu jumlah Term. Weighting dari setiap data yang sudah dihitung pada proses pembobotan.

a. menentukan jumlah cluster. Dipenelitian ini menggunakan jumlah cluster = 2. Karena output yang dihasilkan hanya sentiment positif dan negatif.

cluster 1 cluster 2

b. Menentukan centroid awal secara random. Dimana dipenelitian ini centroid awal dari setiap cluster yaitu menggunakan nilai terkecil dan nilai terbesar dari jumlah total term weighting. Centroid pada cluster 1 yaitu 3.112604 (data uji) dan centroid pada cluster 2 yaitu 9.337812 (kalimat –2 )

cluster 1 cluster 2

3.890775 (c.a) 9.337812 (c.a)

Keterangan : c.a = centroid awal

c. Menghitung jarak objek ke centroid menggunakan Euclidean distance untuk mendapatkan jarak terdekat (rumus bisa dilihat pada rumus 2.1).

Tabel 4. 16 Perhitungan Euclidean Distance cluster 1

CLUSTER 1

Data uji √(3.890775 - 3.890775)² = 0 Kalimat – 1 √(6.225208 - 3.890775)² = 2.334433 Kalimat – 2 √(9.337812 - 3.890775)² = 5.447037 Kalimat – 3 √(7.00359 - 3.890775)² = 3.112815 Kalimat – 4 √(3.80775 - 3.890775)² = 0.083024 Kalimat – 5 √(5.447057 - 3.890775)² = 1.556282 Kalimat – 6 √(7.003359 - 3.890775)² = 3.112584

Tabel 4. 17 Perhitungan Euclidean Distance Cluster 2

CLUSTER 2

Data Uji √(3.890775 - 9.337812)² = 5.447037 Kalimat – 1 √(6.225208 - 9.337812)² = 3.112604 Kalimat – 2 √(9.337812 - 9.337812)² = 0 Kalimat – 3 √(7.00359- 9.337812)² = 2.334222 Kalimat – 4 √(3.80775- 9.337812)² = 5.530062 Kalimat – 5 √(5.447057- 9.337812)² = 3.890755 Kalimat – 6 √(7.003359 - 9.337812)² = 2.334453

d. Membagi semua objek ke cluster, jika jarak objek dengan centroid pada cluster 1 lebih kecil dibanding jarak objek dengan centroid pada cluster 2 makaobjek tersebut masuk ke dalam cluster 1, dan sebaliknya.

cluster 1 cluster 2

Didapatkan pembagian cluster sesuai dengan perhitungan dari euclidean distance setiap objek sebelumnya yaitu seperti yang diatas.

e. Mencari centroid baru dengan cara menghitung rata – rata nilai dari setiap cluster.

Centroid baru cluster 1 :

(3.890775+ 3.80775) / 2= 3.849262 Centroid baru cluster 2 :

(6.225208 + 9.337812 + 7.00359 + 5.447057 + 7.003359) / 5 = 7.0034052

cluster 1 cluster 2

Keterangan : c.b = centroid baru

3.890775 (c.a) 3.890775 (data uji) 3.80775 (kal-4)

9.337812 (c.a) 6.225208 (kal-1) 9.337812 (kal-2) 7.00359 (kal-3) 6.225208 (kal-5) 7.003359 (kal-6)

3.849262 (c.b) 7.0034052 (c.b)

f. Menghitung kembali jarak antara objek dengan centroid baru dengan menggunakan euclidean distance.

Tabel 4. 18 Perhitungan kembali Euclidean Distance Cluster 1

Cluster 1

Data Uji √(3.112604 - 3.460177)² = 0.347573 Kalimat – 1 √(6.225208 - 3.460177)² = 2.765031 Kalimat – 2 √(9.337812 - 3.460177)² = 5.877635 Kalimat – 3 √(7.00359 - 3.460177)² = 3.543413 Kalimat – 4 √(3.80775 - 3.460177)² = 0.347573 Kalimat – 5 √(5.447057 - 3.460177)² = 1.98688 Kalimat – 6 √(7.003359 - 3.460177)² = 3.543182

Tabel 4. 19 Perhitungan kembali Euclidean Distance cluster 2

g. Membagi semua objek ke cluster, sama seperti sebelumnya jika jarak objek dengan centroid pada cluster 1 lebih kecil dibanding jarak objek dengan centroid pada cluster 2 maka objek tersebut masuk ke dalam cluster 1, dan sebaliknya. Disini akan dilihat apakah hasil pembagiannya terjadi perubahan atau tidak dari pembagian sebelumnya.

cluster 1 cluster 2 Cluster 2

Data uji √(3.112604 - 7.0034052 )² = 3.8908012 Kalimat – 1 √(6.225208 - 7.0034052 )² = 0.7781972 Kalimat – 2 √(9.337812 - 7.0034052 )² = 2.3344068 Kalimat – 3 √(7.00359 - 7.0034052 )² = 0.00018479719 Kalimat – 4 √(3.80775 - 7.0034052 )² = 3.1956552 Kalimat – 5 √(5.447057 - 7.0034052 )² = 1.5563482 Kalimat – 6 √(7.003359 - 7.0034052 )² = 0.00004615192

3.849262 (c.b) 3.890775 (data uji) 3.80775 (kal-4)

7.0034052 (c.b) 6.225208 (kal-1) 9.337812 (kal-2) 7.00359 (kal-3) 6.225208 (kal-5) 7.003359 (kal-6)

h. Karena tidak terjadi perubahan atau perpindahan cluster dari setiap objeknya, maka iterasi dari proses K-Means berhenti. Selesai.

12. Mencari di cluster mana posisi objek dari data uji berada.

Apakah di cluster 1 atau di cluster 2. Jika posisi objek dari data uji berada di cluster 1, maka cluster 2 dibiarkan atau tidak digunakan. Dan sebaliknya.

cluster 1 cluster 2

3.460177 (c.b) 3.890775 (data uji) 3.80775 (kal-4)

7.0034052 (c.b) 6.225208 (kal-1) 9.337812 (kal-2) 7.00359 (kal-3) 5.447057 (kal-5) 7.003359 (kal-6)

Ditemukan objek dari data uji berada di cluster 1, maka cluster 2 tidak digunakan dan akan fokus pada cluster 1 saja.

13. Mencari sentimennya yaitu dengan cara dilihat apakah objek kalimat – n pada cluster tersebut lebih banyak bersentimen

positif atau negatif. Jika lebih banyak positif, maka sentimen dari data uji yaitu positif, dan sebaliknya. Namun jika jumlah sentimen positif dan negatifnya sama, maka hasil sentimennya yaitu netral.

14. Proses selanjutnya yaitu pelabelan secara manual pada data uji. Dilihat dari susunan katanya, data uji ini diberi sentimen negatif.

15. Menghitung akurasi antara hasil sentimen menggunakan algoritma K-Means dan hasil sentimen secara manual menggunakan confusion matrix. Rumusnya bisa dilihat pada rumus 2.9.

Positive (+)

Negative (-) Positive

(+)

0 0

Negative (-)

0 1

𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑦𝑎𝑛𝑔 𝑑𝑖𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑏𝑒𝑛𝑎𝑟 𝑇𝑜𝑡𝑎𝑙 𝑑𝑎𝑡𝑎 𝑦𝑎𝑛𝑔 𝑑𝑖𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖

= ( 0 + 1 )

(0 + 0 + 1 + 0 ) × 100 % = 100 % 16. Selesai.

4.4.2 Kontruksi Sentimen pada Algoritma K-Means dengna bantuan Algoritma Levensthein Distance

Konstruksi menggunakan algoritma K-Means dengan bantuan algoritma Levensthein Distance dalam menentukan sentimen ini merupakan skenario ke – 2 dipenelitian ini. Dimana dalam penentuan sentimen menggunakan algoritma K-Means dengan bantuan algoritma Levensthein Distance membutuhkan proses penunjang lainnya agar hasilnya lebih maksimal. Secara keseluruhan konstruksi analisa sentimen menggunakan algoritma K-Means dengan bantuan algoritma Levensthein Distance dapat dijelaskan dibawah ini (konsep diambil dari sub-bab 4.2.4 dan dapat dilihat pada gambar 4.10):

1. Pelatihan data latih

Proses dan contoh dalam pelatihan data latih (konsep diambil dari sub-bab 4.2.2 dan dapat dilihat pada gambar 4.7):

a. Mengumpulkan dokumen yang didapat dari kumpulan komentar yang sudah dicrawling sebelumnya. Sebagai contoh digunakan 8 dokumen sebagai data latih.

Tabel 4. 20 Dokumen data latih

No Komentar

1 Doa Kami selalu untuk pak Anies, pemimpin yg amanah.

Semoga pak anies sekeluarga diberi kesehatan dan keselamatan.

2 Ekonomi, kebenaran,kesehatan,buktiin dulu sih kebenarannya apa? Gedeg gua lama lama

3 krn psbb pendidikan saya gak mutu. Jangan salahin generasi selanjutnya yak lo pemerintahan ntar bobrok gegara daring.

Krn otak ku online

4 Kopad kopid . gagal lagi nih dapet kerjaan. Kosan kaga kebayar makan susah cicilan nunggk gara gara PHK

5 Mundur aja pak mundur

6 Yg paling penting sehat ya semuanya, semangat pakkk 7 @aniesbaswedan PSBB PERPANJANG SMPE KIAMAT

YA A.. BIAR MANUSIA INDO PADA MATI KELAPARAN

8 RASANYA ANJING BANGET GW PSBB MULU DIRUMAH NGK NGAPANGAPAIN

b. Memberikan sentiment secara manual setiap dokumennya

Tabel 4. 21 Penenetuan sentiment data latih

No Komentar Sentimen

1 Doa Kami selalu untuk pak Anies, pemimpin yg amanah. Semoga pak anies sekeluarga diberi kesehatan dan keselamatan.

Positif

2 Ekonomi, kebenaran,kesehatan,buktiin dulu sih kebenarannya apa? Gedeg gua lama lama

Negatif

3 krn psbb pendidikan saya gak mutu. Jangan salahin generasi selanjutnya yak lo pemerintahan ntar bobrok gegara daring. Krn otak ku online

Negatif

4 Kopad kopid . gagal lagi nih dapet kerjaan.

Kosan kaga kebayar makan susah cicilan nunggk gara gara PHK

Negatif

5 Mundur aja pak mundur Negatif

6 Yg paling penting sehat ya semuanya, semangat pakkk

Positif

7 @aniesbaswedan PSBB PERPANJANG SMPE KIAMAT YA A.. BIAR MANUSIA INDO PADA MATI KELAPARAN

Negatif

8 RASANYA ANJING BANGET GW PSBB MULU DIRUMAH NGK NGAPANGAPAIN

Negatif

c. Melakukan proses Case Folding

Tabel 4. 22 Hasil proses Case Folding

No Komentar

1 doa kami selalu untuk pak anies, pemimpin yg amanah.

semoga pak anies sekeluarga diberi kesehatan dan keselamatan.

2 ekonomi, kebenaran,kesehatan,buktiin dulu sih kebenarannya apa? gedeg gua lama lama

3 krn psbb pendidikan saya gak mutu. jangan salahin generasi selanjutnya yak lo pemerintahan ntar bobrok gegara daring.

krn otak ku online

4 kopad kopid . gagal lagi nih dapet kerjaan. kosan kaga kebayar makan susah cicilan nunggk gara gara phk

5 mundur aja pak mundur

6 yg paling penting sehat ya semuanya, semangat pakkk 7 @aniesbaswedan psbb perpanjang smpe kiamat ya a.. biar

manusia indo pada mati kelaparan

8 rasanya anjing banget gw psbb mulu dirumah ngk ngapangapain

d. Melakukan proses Filtering

Tabel 4. 23 Proses hasil Filtering

No Komentar

1 doa kami selalu untuk pak anies pemimpin yg amanah semoga pak anies sekeluarga diberi kesehatan dan keselamatan

2 ekonomi kebenaran kesehatan buktiin dulu sih kebenarannya apa gedeg gua lama lama

3 krn psbb pendidikan saya gak mutu jangan salahin generasi selanjutnya yak lo pemerintahan ntar bobrok gegara daring krn otak ku online

4 kopad kopid gagal lagi nih dapet kerjaan kosan kaga

kebayar makan susah cicilan nunggk gara gara phk 5 mundur aja pak mundur

6 yg paling penting sehat ya semuanya semangat pakkk 7 aniesbaswedan psbb perpanjang smpe kiamat ya a biar

manusia indo pada mati kelaparan

8 rasanya anjing banget gw psbb mulu dirumah ngk ngapangapain

e. Melakukan proses tokenization

Tabel 4. 24 Hasil proses tokenization

Dokumen (1) Dokumen (2) Dokumen (3) Dokumen (4)

mundur

f. Melakukan proses Normalisasi kata

Tabel 4. 25 Hasil proses Normalisasi Kata

Dokumen (1) Dokumen (2) Dokumen (3) Dokumen (4)

anies

g. Melakukan proses Stemming

Tabel 4. 26 Hasil Proses Stemming

Dokumen (1) Dokumen (2) Dokumen (3) Dokumen (4)

mundur

h. Melakukan hasil proses filtering / stopword

Tabel 4. 27 Hasil proses filtering/stopword

Dokumen (1) Dokumen (2) Dokumen (3) Dokumen (4)

lanjut

i. Dari proses pre-processing pada data latih, hasilnya dibuat index untuk disimpan oleh variable

2. Menyiapkan data yang ingin diuji. Sebagai contoh akan dilakukan 1 data uji agar prosesnya terlihat.

Semoga wabah virus corona cepat selesas dan ekonomi di Indonesia cepat membaik

3. Melakukan pre-processing pada data uji. Pada tahap awal akan melakukan proses case folding.

semoga wabah virus corona cepat selesas dan ekonomi di Indonesia cepat membaik

4. Melakukan proses tokenization semoga

wabah virus corona cepaat selesai dan ekonomi di

indonesia cepat membaik

5. Melakukan proses normalisasi kata ejaan dengan bantuan algoritma levensthein distance untuk typo. Disini terdapat 1 kata yang ingin diperbaiki, yaitu kata “cepaat”. Perbaikan kata yang ditargetkan yaitu kata “cepat”. Penggunaan algoritma Levensthein Distance ini menghitung jarak terkecil dengan rumus yang dapat dilihat pada rumus 2.3, 2.4, 2.5, dan 2.6.

Tabel 4. 28 Perhitungan Matriks Levensthein Distance

C E P A T

0 1 2 3 4 5

C 1 0 1 2 3 4

E 2 1 0 1 2 3

P 3 2 1 0 1 2

A 4 3 2 1 0 1

A 5 4 3 2 1 1

T 6 5 4 3 2 1

6. Melakukan proses stemming, merubah kata berimbuhan menjadi kata dasar sesuai dengan KBBI.

7. Melakukan proses filtering / stopword

8. Melakukan tahap terakhir di pre-processing pada penelitian ini yaitu indexing pada data uji.

9. Melakukan pencarian atau pencocokan index yang ada di dalam data latih dan index yang ada di data uji. Didapatkan index data uji yang sama dengan data latih yaitu data ke 2, 3, 4, 5, 6, 7 dan 8 pada data latih.

semoga pandemi virus corona cepat selesai dan ekonomi di

indonesia cepat baik

semoga pandemi virus cepat selesai ekonomi indonesia cepat baik

10. Melakukan proses pembobotan menggunakan algoritma TF-IDF. Proses perhitungan awal yaitu menghitung IDF dengan rumus yang dapat dilihat pada rumus 2.7.

Tabel 4. 29 Hasil Perhitungan IDF Skenario 2

IDF TF-0 TF-1 TF-2 TF-3 TF-4 TF-5 TF-6 TF-7 DF

semoga 0 1 0 0 0 0 0 0 0 0

pandemi 0 1 0 0 0 0 0 0 0 0

virus 0 1 0 0 0 0 0 0 0 0

cepat 0 2 0 0 0 0 0 0 0 0

selesai 0 1 0 0 0 0 0 0 0 0

ekonomi 0.845098 1 1 0 0 0 0 0 0 1

indonesia 0.845098 1 0 0 0 0 0 1 0 1

cepat 0 2 0 0 0 0 0 0 0 0

baik 0.845098 1 1 0 0 0 0 0 0 1

ekonomi 0.845098 1 1 0 0 0 0 0 0 1

benar 0.845098 0 1 0 0 0 0 0 0 1

baik 0.845098 1 1 0 0 0 0 0 0 1

bukti 0.845098 0 1 0 0 0 0 0 0 1

dahulu 0.845098 0 1 0 0 0 0 0 0 1

memang 0.845098 0 1 0 0 0 0 0 0 1

psbb 0.845098 0 0 1 0 0 0 0 0 1

didik 0.845098 0 0 1 0 0 0 0 0 1

tidak 0.367976 0 0 1 1 0 0 0 1 3

kualitas 0.845098 0 0 1 0 0 0 0 0 1

jangan 0.845098 0 0 1 0 0 0 0 0 1

salah 0.845098 0 0 1 0 0 0 0 0 1

generasi 0.845098 0 0 1 0 0 0 0 0 1

lanjut 0.845098 0 0 1 0 0 0 0 0 1

pemerintah 0.845098 0 0 1 0 0 0 0 0 1

nanti 0.845098 0 0 1 0 0 0 0 0 1

buruk 0.845098 0 0 1 0 0 0 0 0 1

gagal 0.845098 0 0 0 1 0 0 0 0 1

rumah 0.544068 0 0 0 1 0 0 0 1 2

tidak 0.367976 0 0 1 1 0 0 0 1 3

bayar 0.845098 0 0 0 1 0 0 0 0 1

makan 0.845098 0 0 0 1 0 0 0 0 1

tunggak 0.845098 0 0 0 1 0 0 0 0 1

sebab 0.845098 0 0 0 1 0 0 0 0 1

phk 0.845098 0 0 0 1 0 0 0 0 1

mundur 0.845098 0 0 0 0 2 0 0 0 1

saja 0.845098 0 0 0 0 1 0 0 0 1

bapak 0.544068 0 0 0 0 1 1 0 0 2

mundur 0.845098 0 0 0 0 2 0 0 0 1

yang 0.845098 0 0 0 0 0 1 0 0 1

paling 0.845098 0 0 0 0 0 1 0 0 1

utama 0.845098 0 0 0 0 0 1 0 0 1

sehat 0.845098 0 0 0 0 0 1 0 0 1

semua 0.845098 0 0 0 0 0 1 0 0 1

semangat 0.845098 0 0 0 0 0 1 0 0 1

bapak 0.544068 0 0 0 0 1 1 0 0 2

panjang 0.845098 0 0 0 0 0 0 1 0 1

sampai 0.845098 0 0 0 0 0 0 1 0 1

supaya 0.845098 0 0 0 0 0 0 1 0 1

manusia 0.845098 0 0 0 0 0 0 1 0 1

indonesia 0.845098 0 0 0 0 0 0 1 0 1

pada 0.845098 0 0 0 0 0 0 1 0 1

mati 0.845098 0 0 0 0 0 0 1 0 1

rasa 0.845098 0 0 0 0 0 0 0 1 1

banget 0.845098 0 0 0 0 0 0 0 1 1

Seteleh mendapatkan nilai IDF, akan menghitung nilai bobotnya (term weighting) dengan rumus yang dapat dilihat pad arumus 2.8.

Tabel 4. 30 Hasil Perhitungan bobot TF-IDF Skenario 2

W-0 W-1 W-2 W-3 W-4 W-5 W-6 W-7

bayar 0 0 0 0.845098 0 0 0 0

TOTAL 4.22549 6.760784 11.831372 8.45098 5.915686 6.760784 6.760784 7.605882

Dimana total term weigthing yang didapat pada perhitungan diatas yaitu:

Data uji = 4.22549

Kalimat – 7 = 7.605882

11. Melakukan proses clustering menggunakan algoritma k-means dimana prosesnya dapat dilihat pada gambar 4.9 dan penjelasannya bisa dilihat pada sub-bab 2.8.2. Data yang di cluster yaitu jumlah Term. Weighting dari setiap data yang sudah dihitung pada proses pembobotan.

a. Menentukan jumlah cluster. Dipenelitian ini menggunakan jumlah cluster = 2. Karena output yang dihasilkan hanya sentimen positif dan negatif.

cluster 1 cluster 2

b. Menentukan centroid awal secara random. Dimana dipenelitian ini centroid awal dari setiap cluster yaitu menggunakan nilai terkecil dan nilai terbesar dari jumlah total term weighting. Centroid pada cluster 1 yaitu 4.22549 (data uji) dan centroid pada cluster 2 yaitu 11.831372 (kalimat – 3)

cluster 1 cluster 2

Keterangan : c.a = centroid awal

4.22549 (c.a) 11.831372 (c.b)

c. Menghitung jarak objek ke centroid menggunakan euclidean distance untuk mendapatkan jarak terdekat (rumus bisa dilihat pada rumus 2.1).

Tabel 4. 31 Perhitungan Euclidean Distance cluster 1 skenario 2

Cluster 1

Data uji √(4.22549 - 4.22549)² = 0

Kalimat – 1 √(6.760784 - 4.22549)² = 2.535294 Kalimat – 2 √(11.831372 - 4.22549)² = 7.60588 Kalimat – 3 √(8.45098 - 4.22549)² = 4.22549 Kalimat – 4 √(5.915686 - 4.22549)² = 1.690196 Kalimat – 5 √(6.760784 - 4.22549)² = 2.535294 Kalimat – 6 √(6.760784 - 4.22549)² = 2.535294 Kalimat – 7 √(7.605882 - 4.22549)² = 3.380392

Tabel 4. 32 Perhitungan Euclidean Distance cluster 2 Skenario 2

Cluster 2 Data uji √(4.22549 - 11.831372)² = 7.605882 Kalimat – 1 √(6.760784 - 11.831372)² = 5.063532 Kalimat – 2 √(11.831372 - 11.831372)² = 0 Kalimat – 3 √(8.45098 - 11.831372)² = 3.380392 Kalimat – 4 √(5.915686 - 11.831372)² = 5.915686 Kalimat – 5 √(6.760784 - 11.831372)² = 5.070588 Kalimat – 6 √(6.760784 - 11.831372)² = 5.070588 Kalimat – 7 √(7.605882 - 11.831372)² = 4.22549

d. Membagi semua objek ke cluster, jika jarak objek dengan centroid pada cluster 1 lebih kecil dibanding jarak objek dengan centroid pada cluster 2 maka objek tersebut masuk ke dalam cluster 1, dan sebaliknya.

cluster 1 cluster 2

4.22549 (c.a) 4.22549 (data uji) 6.760784 (kal-1) 5.915686 (kal-4) 6.760784 (kal-5) 6.760784 (kal-6)

11.831372 (c.a) 11.831372 (kal-2) 8.45098 (kal-3) 7.605882 (kal-7)

Didapatkan pembagian cluster sesuai dengan perhitungan dari euclidean distance setiap objek sebelumnya yaitu seperti yang diatas.

e. Mencari centroid baru dengan cara menghitung rata – rata nilai dari setiap cluster.

Centroid baru cluster 1:

(4.22549 + 6.760784 + 5.915686 + 6.760784+ 6.760784) / 5 = 6.084705

Centroid baru cluster 2:

(11.831372 + 8.45098 + 7.605882 ) / 3 = 9.296078 cluster 1 cluster 2

6.084705 (c.b) 9.296078 (c.b)

Keterangan : c.b = centroid baru

f. Menghitung kembali jarak antara objek dengan centroid baru dengan menggunakan euclidean distance.

Tabel 4. 33 Perhitungan kembali Euclidean Distance cluster 1

Cluster 1

Data uji √(4.22549 - 6.084705)² = 1.859215 Kalimat – 1 √(6.760784 - 6.084705)² = 0.676079 Kalimat – 2 √(11.831372 - 6.084705)² = 5.746667 Kalimat – 3 √(8.45098 - 6.084705)² = 2.366275 Kalimat – 4 √(5.915686 - 6.084705)² = 0.169019 Kalimat – 5 √(6.760784 - 6.084705)² = 0.676079 Kalimat – 6 √(6.760784 - 6.084705)² = 0.676069 Kalimat – 7 √(7.605882 - 6.084705)² = 1.521177

Tabel 4. 34 Perhitungan kembali Euclidean Distance Cluster 2

Cluster 2

Data uji √(4.22549 - 9.296078 )² = 5.070588 Kalimat – 1 √(6.760784 - 9.296078 )² = 2.535294 Kalimat – 2 √(11.831372 - 9.296078 )² = 2,570592 Kalimat – 3 √(8.45098 - 9.296078 )² = 0.845098 Kalimat – 4 √(5.915686 - 9.296078 )² = 3.380392 Kalimat – 5 √(6.760784 - 9.296078 )² = 2.535294 Kalimat – 6 √(6.6760784 - 9.296078 )² = 2.535294 Kalimat – 7 √(7.605882 - 9.296078 )² = 1.690196 g. Membagi semua objek ke cluster, sama seperti

sebelumnya jika jarak objek dengan centroid pada cluster 1 lebih kecil dibanding jarak objek dengan centroid pada cluster 2 maka objek tersebut masuk ke dalam cluster 1,

dan sebaliknya. Disini akan dilihat apakah hasil pembagiannya terjadi perubahan atau tidak dari pembagian sebelumnya.

cluster 1 cluster 2

6.084705 (c.b) 4.22549 (data uji) 6.76084 (kal-1) 5.915686 (kal-2) 6.76084 (kal-5) 6.76082 (kal-6)

9.296078 (c.b) 8.45098 (kal-3) 7.605882 (kal-7)

Dari hasil pembagian dengan menghitung jarak antara objek dengan centroid baru, tidak terjadi perubahan cluster atau objeknya tidak ada yang berubah dari pembagian yang awal.

h. Karena tidak terjadi perubahan atau perpindahan cluster dari setiap objeknya, maka iterasi dari proses K-Means berhenti. Selesai.

12. Mencari di cluster mana posisi objek dari data uji berada.

Apakah di cluster 1 atau di cluster 2. Jika posisi objek dari data uji berada di cluster 1, maka cluster 2 dibiarkan atau tidak digunakan dan sebaliknya.

cluster 1 cluster 2

6.084705 (c.b) 4.22549 (data uji) 6.76084 (kal-1) 5.915686 (kal-2) 6.76084 (kal-5) 6.76082 (kal-6)

9.296078 (c.b) 8.45098 (kal-3) 7.605882 (kal-7)

Ditemukan objek dari data uji berada di cluster 1, maka cluster 2 tidak digunakan dan akan fokus pada cluster 1 saja.

13. Mencari sentimennya yaitu dengan cara dilihat apakah objek kalimat – n pada cluster tersebut lebih banyak bersentimen positif atau negatif. Jika lebih banyak positif, maka sentimen dari data uji yaitu positif, dan sebaliknya. Namun jika jumlah sentimen positif dan negatifnya sama, maka hasil sentimennya yaitu netral.

cluster 1

6.084705 (c.b) 4.22549 (data uji) 6.76084 (kal-1) 5.915686 (kal-2) 6.76084 (kal-5) 6.76082 (kal-6)

Dilihat dari anggota atau objek yang berada di cluster 1 ada 5 yaitu data uji (yang ingin dicari sentimennya), objek kalimat – 1 yang bersentimen negatif, objek kalimat ke – 2 yang bersentimen negatif, objek kalimat – 5 yang bersentimen positif, dan objek kalimat – 6 yang bersentimen negatif, Maka data uji yang dicari sentimennya juga bersentimen negatif.

14. Proses selanjutnya yaitu pelabelan secara manual pada data uji.

Dilihat dari susunan katanya, data uji ini diberi sentimen negatif.

15. Menghitung akurasi antara hasil sentimen menggunakan algoritma K-Means dan hasil sentimen secara manual menggunakan confusion matrix. Rumusnya bisa dilihat pada rumus 2.9.

Positif (+) Negatif (-)

Positif (+) 0 0

Negatif (-) 0 1

𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑦𝑎𝑛𝑔 𝑑𝑖𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑏𝑒𝑛𝑎𝑟 𝑇𝑜𝑡𝑎𝑙 𝑑𝑎𝑡𝑎 𝑦𝑎𝑛𝑔 𝑑𝑖𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖

= ( 0 + 1 )

(0 + 0 + 1 + 0 ) × 100 = 100 %

16. Selesai 4.5 Simulasi (Simulation)

Pada tahapan simulasi ini akan dilakukan simulasi aplikasi yang berkaitan dengan hasil sentimen dan pengujian tingkat akurasi kombinasi algoritma K-Means dan algoritma Levensthein Distance. Adapun faktor-faktor dalam proses simulasi dapat dilihat pada tabel 4.35 berikut:

Tabel 4. 35 Faktor Simulasi Penelitian

Variabel / Parameter Simulasi

Tahap Simulasi

Faktor 1 Tahap clustering sentimen data latih menggunakan cara manual.

Faktor 2 Tahap pelatihan data pada data latih

Faktor 3 Tahap pengujian data uji dengan kombinasi algortima K-Means dan algortima Levensthein Distance berdasarkan nilai k pada algoritma K-Means adalah 2

Faktor 4 Tahap pengujian akurasi menggunakan model confusion matrix

Variabel atau parameter simulasi yang digunakan dalam melakukan scenario – skenario pengujian yaitu dengan menggunakan algoritma K-Means dan kombinasi algoritma K-K-Means dan algoritma Levensthein Distance. Algoritma K-Means digunakan untuk melakukan pengklusteran pada data yang ingin diuji. Sedangkan algoritma Levensthein Distance digunakan sebagai algoritma normalisasi kata seperti kata – kata yang typo.

Dalam sub-sub berikut akan dibahas simulasi aplikasi sentimen

Dalam sub-sub berikut akan dibahas simulasi aplikasi sentimen

Dalam dokumen Skripsi. Oleh : Mochamad Fadli NIM : (Halaman 54-0)