ABSTRACT
Instagram is one of the most used social media in Indonesia. Instagram is often used
by young people and government agencies to upload their activities. One feature on
Instagram for uploading is posting. In the posting feature, Instagram users can write
their opinions on the post, including the DPR RI Instagram. Instagram users can give
both positive and negative opinions on posts made by the DPR RI Instagram account
so that it is easy to give aspirations. One way to get information through Instagram is
to do sentiment analysis. The algorithm that will be used in this research is Support
Vector Machine (SVM). The results of this study found that the average negative
opinion each month was greater that is equal to 58.69% compared to positive
opinions which only amounted to 41.31%. From the SVM classification results
obtained the highest average accuracy obtained by using the Rational Basic Function
(RBF) kernel which is equal to 65.87%, and the lowest average accuracy value
obtained using the Polynomial kernel which is equal to 57.44%.
Keywords: DPR RI, RBF, Sentiment Analysis, Support Vector Machine, Polynomial
ABSTRAK
Instagram merupakan salah satu media sosial yang paling sering digunakan di
Indonesia. Instagram sering dipakai oleh kalangan anak muda dan lembaga
pemerintahan untuk mengunggah kegiatan mereka. Salah satu fitur di Instagram
untuk mengunggah adalah postingan. Di fitur postingan para pengguna Instagram
dapat menuliskan opininya terhadap postingan tersebut termasuk pada Instagram
DPR RI. Para pengguna Instagram dapat memberi opini positif maupun negatif
terhadap postingan yang dibuat akun Instagram DPR RI sehingga memudahkan
untuk memberikan aspirasi. Salah satu cara untuk mendapatkan informasi melalui
Instagram adalah dengan melakukan analisis sentimen. Algoritma yang akan
digunakan dalam penelitian ini adalah Support Vector Machine (SVM). Hasil dari
1
penelitian ini didapatkan bahwa opini negatif rata-rata setiap bulan lebih besar yakni
sebesar 58.69% dibandingkan dengan opini positif yang hanya berjumlah 41.31%.
Dari hasil klasifikasi SVM didapat nilai rata-rata akurasi tertinggi didapat dengan
menggunakan kernel Rasional Basic Function (RBF) yakni sebesar 65.87%, dan nilai
akurasi rata-rata terendah didapat dengan menggunakan kernel Polynomial yakni
sebesar 57.44%.
Kata Kunci : Analisis Sentimen, DPR RI, RBF, Support Vector Machine,
Polynomial
PENDAHULUAN
METODE PENELITIAN
2
Tabel 1. Hardware yang digunakan
c. Text Mining
Menurut (Wijaya, 2017) text mining merupakan proses otomatis atau sebagian
proses otomatis untuk teks. Sedangkan definisi lain menyebutkan text mining adalah
bidang interdisipliner yang mengacu pada pencarian informasi, pertambangan data,
pembelajaran mesin, statistik, dan komputasi linguistik. Dikarenakan kebanyakan
informasi (perkiraan umum mengatakan lebih dari 80%) data ini disimpan sebagai
teks, text mining diyakini memiliki potensi nilai komersial tinggi.
d. Text Preprocessing
Tahap text preprocessing adalah tahap awal dari text mining. Tahap ini
mencakup semua rutinitas, dan proses untuk mempersiapkan data yang akan
digunakan pada operasi knowledge discovery sistem text mining(Wijaya, 2017).
Menurut (Nurrun dkk, 2016) Ada beberapa tahap dalam preprocessing ini, antara
lain tokenization, cleansing, filtering, steaming, dan normalisasi. Berikut ini adalah
penjelasan secara rinci tentang tahap preprocessing:
1. Tokenization adalah sebuah proses yang dilakukan untuk memotong atau
memecah kalimat menjadi beberapa bagian atau kata.
2. Cleansing adalah suatu tahap dimana karakter maupun tanda baca yang tidak
diperlukan dibuang dari teks. Contoh karakter yang dibuang adalah tanda seru,
tanda tanya, koma dan titik.
3. Filtering adalah tahap menghilangkan kata-kata yang muncul dalam jumlah
besar, namun dianggap tidak memiliki makna (stopwords).
3
4. Stemming merupakan suatu proses untuk menemukan kata dasar dari sebuah
kata dengan menghilangkan semua imbuhan (affixes) baik yang terdiri dari
awalan (prefixes), sisipan (infixes), akhiran (suffixes) dan confixes (kombinasi
dari awalan dan akhiran) pada kata turunan.
5. Normalisasi adalah tahap data yang sudah diakuisisi setelah melalui
preprocessing atau normalisasi data tersebut perlu dilakukan penskalaan untuk
sebelum dilakukan pelatihan terhadap data tersebut dinormalisasi dengan
mean=0 dan standard deviasi=1.
4
w :vektor bobot.
yi :kelas data latih (+1/-1).
xi :vektor bobot kalimat komentar yang menjadi vektor pendukung.
Proses pengklasifikasian (pengujian) dalam SVM menggunakan persamaan 4
f(t⃗)=sgn[∑ni=1,xi eSV ai yi <t⃗*x⃗⃗⃗>+b
j ] ..................................................... (4)
Keterangan :
t : vektor bobot data uji.
xi: vektor pendukung.
b : nilai bias.
yi: kelas atau label dari vektor pendukung (+1/-1).
Polynomial K(x⃗⃗⃗,x
i ⃗⃗⃗) xj p
⃗⃗⃗i ⃗⃗⃗+1)
j = (x
2
Gaussian ‖x⃗⃗⃗⃗-x
i ⃗⃗⃗⃗‖
j
⃗⃗⃗⃗,𝑖 ⃗⃗⃗⃗)
K(𝑥 𝑥𝑗 = exp(- )
2σ2
a. Data
Data yang akan digunakan dan diuji diambil dari media sosial Instagram dari
tanggal 1 Januari 2019 sampai dengan tanggal 30 September 2019. Dari hasil
pengumpulan data diperoleh sebanyak 1.169 postingan dimana pada bulan Mei
terdapat postingan paling banyak yaitu 172 postingan dan paling sedikit terdapat pada
bulan April yaitu 79 postingan.
5
b. Preprocessing Data
Pada tahap ini dilakukan pembersihan data pada setiap komentar yang diambil
dengan menggunakan tahap preprocessing agar dapat diproses ke tahap
selanjutnya.Tabel 1 dibawah ini akan menampilkan contoh data komentar yang belum
dilakukan tahap preprocessing dan hasil data yang telah melalui tahap cleansing, case
colding, tokenization, filtering, dan steaming.
Sebagai wakil rakyat! Hapus THR pak! Klw ydk mau rakyat sengsara. THR yg Komentar sebelum di
dimbil langsung dr rakyat hanya bikin susah semua. THR tdk pernah bikin rakyat proses
senang menikmati perayaan agama. THR hny bikin senang org2 yg sudah
bekecukupan....
Sebagai wakil rakyat Hapus THR pak Klw ydk mau rakyat sengsara THR yg Cleansing
dimbil langsung dr rakyat hanya bikin susah semua THR tdk pernah bikin rakyat
senang menikmati perayaan agama THR hny bikin senang org yg sudah
bekecukupan
sebagai wakil rakyat hapus thr pak klw ydk mau rakyat sengsara thr yg dimbil Case Colding
langsung dr rakyat hanya bikin susah semua thr tdk pernah bikin rakyat senang
menikmati perayaan agama thr hny bikin senang org yg sudah bekecukupan
‘sebagai’,’wakil’,’rakyat’,’hapus,’thr’,’pak’,’klw’,’ydk’,’mau’,’rakyat’, Tokenization
’sengsara’,’thr’,’yg’,’dimbil’,’langsung’,’dr’,’rakyat’,’hanya’,’bikin’,’susah’,
’semua’,’thr’,’tdk’,’pernah’,’bikin’,’rakyat’,’senang’,’menikmati’,
’perayaan’,’agama’,’thr’,’hny’,’bikin’,’senang’,’org’,’yg’,’sudah’,’berkecukupan’
‘sebagai’,’wakil’,’rakyat’,’hapus,’thr’,’pak’,’ydk’,’mau’,’rakyat’, Filtering
’sengsara’,’thr’,’dimbil’,’langsung’,’rakyat’,’susah’,’semua’,’thr’,’tdk’,’pernah’,
’rakyat’,’senang’,’menikmati’,’perayaan’,’agama’,’thr’,’senang’,’org’,’sudah’,’ber
kecukupan’
‘sebagai’,’wakil’,’rakyat’,’hapus,’tunjangan’,’pak’,’tidak’,’mau’,’rakyat’, Steaming
’sengsara’,’tunjangan’,’ambil’,’langsung’,’rakyat’ ,’susah’,
’semua’,’tunjangan’,’tidak’, ’pernah , ’rakyat’,’senang’,’nikmat’,
’raya’,’agama’,’tunjangan’,’senang’,’orang’,’sudah’,’cukup’
6
Untuk Mendapatkan Hasil Support Vector Machine terlebih dahulu hasil TF
IDF diubah ke dalam format SVM. Dalam Penelitian ini format SVM yang dipakai
berbentuk seperti format berikut
[-1 1:0.241908355065988]
Bobot Term
Urutan Bobot
Kelas
Variabel pertama yang dipakai adalah kelas yang telah diberikan label pada
komentar di instagram tersebut secara manual, dimana angka 1 menyatakan nilai
label positif pada komentar dan angka -1 menyatakan nilai label negatif pada
komentar.
Setelah kelas, Variabel urutan bobot menyatakan dimensi data abtraks yang ke-
n dalam vektor. Selanjutnya bobot angka 0.241908355065988 menyatakan nilai
bobot dari term tersebut.
7
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0] 0, 0, 0, 0, 0, 0, 0, 0]
Setelah dilakukan perhitungan pada seluruh nilai x pada data abstrak, maka
matriks yang terbuat adalah sebagai berikut:
0.02568366, 0. 0, 0.999999998, 0
y1 y2 y3 y4 y5
-1 -1 1 -1 1
Sehingga matriks yang terbentuk dari hasil perhitungan yiyjT adalah hasilnya
sebagai berikut.
Tahap selanjutnya mengubah nilai abstrak menjadi nilai vektor (support vector
) = (𝑥𝑦) agar mendapatkan nilai ai, Nilai x didapatkan menggunakan
8
persamaan (7) kernel linear untuk x berikut.
L(a)= ∑ni=1 ai aj yi yj xTi xj ................................................................... (5)
9
= (-1) +(-1) + 1 + (-1) + 1
= -1
Setelah nilai x dan y didapatkan, maka akan disubsitusikan ke persamaan
berikut ini.
√𝑥𝑛 2 + 𝑦𝑛 2 − 𝑥 + |𝑥 − 𝑦|
√𝑥𝑛 2 + 𝑦𝑛 2 > 2 𝑚𝑎𝑘𝑎 [ ]
𝑥 √𝑥𝑛 2 + 𝑦𝑛 2 − 𝑦 + |𝑥 − 𝑦|
∅ [𝑦] = ........... (6)
𝑥
{ √𝑎2 + 𝑏2 ≤ 2 𝑚𝑎𝑘𝑎 [𝑦]
Nilai xn yang didapat dari xs3 dan yn dari ys3 yang disubsitusikan ke dalam
persamaan √𝑥𝑛 2 + 𝑦𝑛 2 = √1.0805198682 + (−1)2 = 1.47225106 ≤ 2. Karena
hasilnya menunjukan lebih dari lebih dari dua maka hasil seluruh perhitungannya
adalah seperti Tabel 5.
3,3564721561𝛼1+3,3891678𝛼2+1,2735327𝛼3+3,2089011𝛼4+1,2007252𝛼5 = 1
1,2435587𝛼1+1,2735327𝛼2+3,1675232𝛼3+1,1082716𝛼4+3,1724648𝛼5 = -1
3,2435587𝛼1+3,2735327𝛼2+1,1675232𝛼3+3,1082716𝛼4+1,1724648𝛼5 = 1
1,1724648𝛼1+1,2007252𝛼2+3,1007762𝛼3+1,044912𝛼4 +3,0378451𝛼5 = -1
10
Dari persamaan diatas, untuk mendapatkan nilai 𝛼1 , 𝛼2 , 𝛼3 , 𝛼4 , 𝛼5 maka
digunakan metode gauss jordan dan subsitusi. Sehingga didapatlah nilai 𝛼1 sampai
𝛼5 berikut.
𝛼1 = 6,76 𝛼2 = -5,08 𝛼3 = -0,53 𝛼4 = -1,19 𝛼5 = 0,02
Karena nilai 𝛼5 adalah bernilai nol dan positif, maka nilai 𝛼1 , 𝛼2 , 𝛼3 , dan 𝛼4
tidak dihitung ke tahap selanjutnya. Setelah didapatkan nilai 𝛼5 masukan ke dalam
persamaan berikut.
Ẃ = ∑𝑛𝑖=1, 𝛼𝑖 𝑆𝑖 .............................................................................. (9)
1,0187468 0,020374936
Ẃ = 0,02 [ −1 ] = [ −0,02 ]
1 0,02
Kemudian hasil yang didapatkan melalui perhitungan dengan menggunakan
persamaan 7, digunakan persamaan 8 dengan hasil yang didapatkan :
0,02374936
Ẃ= [ ], dan dengan b = 0,02
0,02
Sehingga didapatkanlah nilai hyperplane untuk mengklasifikasikan kedua
kelas, yaitu b=0,02.
d. Evaluasi Model
60
50
Jumlah(%)
40
30
20
10
0
SVM RBF SVM POLYNOMIAL SVM SIGMOID
80%/20% 66.39 57.8 58.3
70%/30% 65.39 60.34 61.29
60%/40% 65.83 54.17 59.03
11
Gambar 1 menunjukan hasil skor rata–rata yang didapat oleh kernel RBF,
Polynomial, dan Sigmoid menggunakan tiga split data. Dapat dilihat bahwa skor rata-
rata pada kernel SVM RBF terlihat lebih stabil akurasinya dibandingkan dengan
akurasi kernel lainnya dan terlihat nilai akurasi tertinggi pada kernel SVM RBF
terdapat pada split data 80% /20% yaitu sebesar 66,39% dan terkecil terdapat pada
split data 70%/30% yaitu sebesar 65,39%. Pada kernel SVM Polynomial terlihat
mengalami penurunan akurasi sebesar 5,05%-11,66% dari kernel SVM RBF dan
terlihat nilai akurasi tertinggi pada kernel Polynomial terdapat pada split data
70%/30% yaitu sebesar 60,34% dan terkecil pada split data 60%/40% yaitu sebesar
54.17%. Pada kernel SVM Sigmoid terlihat mengalami kenaikan 0.5%-4,86% dan
terlihat nilai akurasi tertinggi pada kernel Sigmoid terdapat pada split data 70%/30%
yaitu sebesar 61,29% dan terkecil terdapat pada split data 80%/20% yaitu sebesar
58,3%.
KESIMPULAN
12
DAFTAR PUSTAKA
Chu, Y. X., Liu, X. G. and Gao, C. H. (2011) ‘Multiscale models on time series of
silicon content in blast furnace hot metal based on Hilbert-Huang transform’,
Proceedings of the 2011 Chinese Control and Decision Conference, CCDC
2011, pp. 842–847. doi: 10.1109/CCDC.2011.5968300.
Wijaya, D. (2017) Aplikasi Text Mining Untuk Pencarian Dokumen Tugas Akhir
Berdasarkan Semantic Relatedness Menggunakan Machine Readable
Dictionary. Universitas Muhammadiyah Malang.
13