Kecenderungan Tanggapan Masyarakat terhadap Ekonomi Indonesia berbasis Lexicon Based Sentiment Analysis
Muhammad Zidny Nafan1, Andika Elok Amalia2
1Fakultas Teknologi Industri dan Informatika, Prodi Informatika, Institut Teknologi Telkom Purwokerto, Purwokerto, Indonesia
2Fakultas Teknologi Industri dan Informatika, Prodi Rekayasa Perangkat Lunak, Institut Teknologi Telkom Purwokerto, Purwokerto, Indonesia
Email: 1 [email protected], 2[email protected] Abstrak
Analisis sentimen bertujuan untuk menemukan pendapat, mengidentifikasi sentimen yang diungkapkan, dan kemudian mengklasifikasikan nilai polaritasnya. Salah satu metode analisis sentimen adalah lexicon-based. Penelitian ini mengimplementasikan lexicon based sentiment analysis untuk menganalisis polaritas persepsi masyarakat terhadap topik perkembangan “ekonomi Indonesia”. Dataset dikumpulkan dari media social dari tahun 2017 sampai dengan 2019.
Preprocessing yang digunakan adalah case folding, menghapus karakter newline, mengganti kata tidak baku, menghapus mention, menghapus hashtag, menghapus string URL, mengubah kata bernegasi, dan menerjemahkan teks ke dalam Bahasa Inggris dengan library TextBlob. Penulis mengekstraksi nilai sentiment dari kata sifat, kata keterangan, kata benda, dan kata kerja yang terdapat pada teks. Berdasarkan hasil analisis didapatkan informasi bahwa terdapat 63,6% tanggapan positif masyarakat terhadap perkembangan ekonomi Indonesia, 7,4% tanggapan negatif, dan 29% netral.
Kata Kunci: Analisis sentimen, ekonomi Indonesia, leksikon, polaritas, tanggapan masyarakat Abstract
Sentiment analysis aims to find opinions, identify sentiments expressed, and then classify their polarity values. One method of sentiment analysis is Lexicon-based. This study implements the Lexicon based sentiment analysis to analyze the polarity of public responses to the topic of the development of "the Indonesian economy". The dataset is collected from social media from 2017 to 2019. Preprocessing used is folding cases, deleting newline characters, changing non-standard words, deleting mentions, deleting hashtags, removing URL strings, changing word negation, and translating text into English with TextBlob library. Then extract the sentiment values from adjectives, adverbs, nouns, and verbs found in the text. Based on the results of sentiment analysis, it can be seen that there are 63.6% positive responses from the public to the development of the Indonesian economy, 7.4% negative responses, and 29% neutral.
Keywords: Indonesian economic, lexicon, polarity, public responses, sentiment analysis
1. PENDAHULUAN
Indonesia merupakan salah satu negara berkembang yang terletak di wilayah Asia Tenggara. Berdasarkan data sensus penduduk yang dilakukan Badan Pusat Statistik, pada tahun 2010 terdapat 237.641.326 jiwa [1] dengan indeks perkembangan ekonomi Indonesia dari Triwulan I tahun 2017 sampai dengan Triwulan 1 2019 seperti ditunjukkan Gambar 1.
Gambar 1. Laju pertumbuhan ekonomi Indonesia dari Q1 2017 - Q1 2019 [2]
Berdasarkan grafik pada Gambar 1 terlihat bahwa hampir pada setiap triwulan terjadi peningkatan pada ekonomi Indonesia. Selain kedua data tersebut, Indonesia juga merupakan salah satu negara yang memiliki jumlah terbesar masyarakat digital atau pengguna internet, berdasarkan informasi yang diberikan Asosiasi Penyelenggara Jasa Internet Indonesia (APJII), terdapat 171 juta penduduk Indonesia yang terhubung ke internet atau sekitar 64,8% dari total penduduk Indonesia [3]. Dengan jumlah pengguna yang besar tersebut tentulah sebanding dengan konten-konten yang ditulis oleh masyarakat melalui media sosial. Konten-konten tersebut dapat digunakan untuk mengukur prosentase sentimen masyarakat baik positif maupun negatif. Oleh karena itu pada penelitian ini, penulis hendak mengukur tingkat prosentase kecenderungan masyarakat terhadap ekonomi Indonesia yang mereka tulis pada media sosial Twitter dari Januari 2017 sampai dengan Juli 2019.
5.01 5.01 5.06 5.19
5.06 5.27
5.17 5.18 5.07
4.8 4.9 5 5.1 5.2 5.3
Q1 2017
Q2 2017
Q3 2017
Q4 2017
Q1 2018
Q2 2018
Q3 2018
Q4 2018
Q1 2019 Laju Pertumbuhan Triwulanan (Persen)
Laju Pertumbuhan Triwulanan (Persen)
Metode yang digunakan penulis untuk mengukur prosentase sentimen masyarakat terhadap ekonomi Indonesia adalah Sentiment Analysis dengan pendekatan Lexicon-based [4]. Pendekatan berbasis leksikon (Lexicon-based) bergantung pada leksikon sentimen, yaitu kumpulan istilah sentimen yang diketahui dan dikompilasi sebelumnya. Secara umum ada 2 sumber daya yang dapat digunakan pada analisis sentimen berbasis leksikon, yaitu berbasis kamus dan berbasis corpus yang menggunakan metode statistik atau semantik untuk menemukan polaritas sentimen [4]. Pada penelitian ini penulis menggunakan sumber daya kamus dengan cara memanfaatkan library TextBlob pada Python yang mana telah menyediakan kamus yang berisi leksikon sentimen.
Penelitian mengenai penggunaan leksikon sentimen pada Sentiment Analysis telah dilakukan berbagai peneliti dengan kasus yang berbeda-beda. Matulatuwa, dkk pada [5] menggunakan leksikon sentimen untuk mengukur tanggapan masyarakat terhadap pelayanan PT. POS Indonesia. Pada [5] menggunakan kamus yang berisi kata kunci untuk sentimen positif dan kata kunci sentimen negatif. Dari hasil penelitian tersebut didapatkan informasi bahwa 31% masyarakat memberikan sentimen positif, 58% sentimen negatif, 10% sentimen netral, dan 1% sentimen nihil. Sutami pada [6] menggunakan leksikon sentimen untuk mengukur tanggapan masyarakat terhadap produk iPhone5c dan iPhone5s dengan tingkat akurasi adalah 70,84%. Nilai ini lebih baik daripada akurasi dari metode Naïve Bayes Classifier yang hanya memperoleh 43,48%. Penelitian lain yang dilakukan oleh Kusumawati [7] memanfaatkan kamus leksikon sentimen yang disediakan di dalam SentiWordNet untuk mengukur persepsi masyarakat terhadap isu kenaikan harga rokok yang ditulis melalui media social Twitter.
Kusumawati menggunakan 350 teks tweets dan memperoleh akurasi sebesar 85% untuk kelas netral, 58% untuk kelas positif, dan 60% untuk kelas negatif.
Sehingga pada penelitian ini, penulis akan mencoba mengimplementasikan penggunaan Lexicon Based Sentiment Analysis untuk melihat prosentase tanggapan masyarakat yang ditulis dalam Bahasa Indonesia di media sosial Twitter untuk topik “ekonomi Indonesia” .
2. METODE PENELITIAN
2.1 Sentiment Analysis
Sentiment Analysis (SA) atau Opinion Mining (OM) adalah studi komputasi atas pendapat, sikap, dan emosi orang terhadap suatu entitas. Entitas dapat mewakili individu, acara, atau topik [4]. Opinion mining bertugas untuk mengekstraksi dan menganalisis pendapat orang tentang suatu entitas, sementara Sentiment Analysis adalah untuk mengidentifikasi sentimen yang diungkapkan dalam suatu teks lalu menganalisisnya. Oleh karena itu, tujuan utama dari Sentiment Analysis adalah untuk menemukan pendapat, mengidentifikasi sentimen yang diungkapkan, dan kemudian mengklasifikasikan polaritasnya (positif, negatif, ataupun netral). Secara umum ada 3 tahapan pada Sentiment Analysis sebagaimana yang ditunjukkan pada Gambar 2.
Gambar 2. Tahapan-tahapan sentiment analysis [4]
Product reviews merupakan dataset yang berisi kumpulan review atau komentar-komentar terhadap suatu entitas. Misalkan dalam debat politik, dapat diketahui pendapat orang tentang kandidat calon legislatif atau partai politik tertentu. Hasil pemilu juga dapat diprediksi dari posisi politik. Situs jejaring sosial dan situs micro-blogging dianggap sebagai sumber informasi yang sangat baik karena orang berbagi dan mendiskusikan pendapat mereka tentang suatu topik tertentu secara bebas. Proses feature selection digunakan untuk memilih fitur-fitur yang digunakan pada proses sentiment classification. Perangkat yang dapat digunakan pada feature selection diantaranya: term frequency, part of speech tagging, kamus kata / frase yang mengandung opini, kata bernegasi (contoh: not good yang menunjukkan makna bad) [4].
2.2 Lexicon Based Sentiment Analysis
Terdapat 3 pendekatan untuk tahap sentiment classification, yaitu penggunaan machine learning, sentiment analysis berbasis leksikon (lexicon-based approach), dan hybrid approach yang menggabungkan machine learning approach dan lexicon-based approach.
Pendekatan berbasis leksikon merupakan salah satu metode pada sentiment analysis yang memanfaatkan kamus yang berisi daftar kata yang mengandung opini. Dimana setiap kata pada kamus tersebut telah memiliki skor polaritas yang diberi nilai dari -1 (untuk kelas negatif) sampai dengan +1 (untuk kelas positif). Pada library TextBlob developer dapat menggunakan property sentiment.polarity untuk melihat skor sentimen dari suatu kata atau kalimat.
Product reviews Sentiment
Identification Feature Selection
Sentiment Classification Sentiment Polarity
Tabel 1. Contoh skor sentimen dari library TextBlob
No Kata/kalimat input Skor sentimen
1 “good” 0,7
2 “bad” -0,69
3 “he is not bad person” 0,349
4 “he is bad person” -0,69
3. ANALISA DAN PEMBAHASAN
3.1 Pengumpulan Data
Penulis mengumpulkan data dari Twitter melalui crawling dengan query yang digunakan adalah “ekonomi Indonesia” dari tanggal 1 Januari 2017 hingga 28 Juni 2019. Penulis mendapatkan 792 tweets dengan 704 teks unik yang selanjutnya disimpan dalam file csv. Terdapat 10 kolom yang didapatkan dari crawling tersebut, yaitu ['fullname', 'html', 'id', 'likes', 'replies', 'retweets', 'text', 'timestamp', 'url', 'user'].
Gambar 3. Contoh hasil crawling Tabel 2. Contoh dataset yang digunakan
idx ... id ... text timestamp
0 946891353195126000 Presiden Sebut Denyut Nadi Ekonomi Indonesia Adalah Pasar Rakyat
http://dlvr.it/Q883s6 آ @GarudaNewsIdpi c.twitter.com/z7nWp5LPiU
29/12/2017 23:51
1 946888581020237000 Gerakan membalik paradigma Ekonomi yang akan sejalan dengan gerakan membalik paradigma politik di Indonesia perlu... https://fb.me/D9HVawXq آ
29/12/2017 23:40
2 946887132391632000 Presiden Sebut Denyut Nadi Ekonomi Indonesia Adalah Pasar
http://garudanews.id/presiden-sebut- denyut-nadi-ekonomi-indonesia-adalah- pasar/ آ …pic.twitter.com/B8g5Du3jCT
29/12/2017 23:34
3 946885148364046000 Memang betul pertumbuhan ekonomi Indonesia masih salah satu yg terbaik.
29/12/2017 23:26
… … …. …. ….. …..
Persebaran frekuensi 10 kata terbanyak setelah dilakukan penghilangan tanda baca dan angka ditunjukkan pada Gambar 4.
Gambar 4. Grafik frekuensi 10 kata terbanyak 3.2 Tahapan Penelitian
Tahapan penelitian yang digunakan penulis ditunjukkan pada Gambar 5.
Gambar 5. Tahapan penelitian
Sebagaimana yang telah dijelaskan pada Subbab 3.1, penulis mengumpulkan data melakukan crawling tweets dan didapatkan sejumlah 792 tweets. Kemudian penulis melakukan preprocessing pada seluruh teks sehingga didapatkan teks yang bersih dari derau (noise). Penulis melakukan tokenization pada teks hasil preprocessing untuk selanjutnya digunakan sebagai masukan pada modul “Extract Sentiment Score”. Modul ini akan menghitung polaritas suatu teks apakah cenderung bersentimen positif, negatif, atau netral. Selanjutnya penulis melakukan visualisasi terhadap teks hasil scoring tersebut dengan grafik piechart untuk menampilkan prosentase positif, negatif, dan netral. Untuk penjelasan lebih lengkapnya terdapat pada subbab 3.2.1 sampai dengan 3.2.3.
3.2.1 Preprocessing
Preprocessing adalah salah satu bagian terpenting dari proses analisis. Ini memformat ulang data yang tidak terstruktur menjadi seragam, bentuk standar. Karakter, kata-kata, dan kalimat yang diidentifikasi pada tahap ini adalah unit dasar yang diteruskan ke semua tahap pemrosesan lebih lanjut. Kualitas preprocessing memiliki dampak besar pada hasil akhir dari seluruh proses [8].
Tahapan preprocessing yang digunakan penulis adalah sebagai berikut:
a. Case folding untuk menyeragamkan bentuk huruf pada teks menjadi huruf kecil (lower case).
b. Menghapus karakter newline (‘\n’) yang terdapat pada teks tweet.
c. Replace slangs.
d. Menghapus mention.
e. Menghapus hashtag.
f. Menghapus string URL.
g. Mengubah kata yang didahului dengan kata negasi dengan antonimnya untuk menghindari hilangnya makna h. Menerjemahkan teks ke dalam Bahasa Inggris dengan library TextBlob.
i. Seleksi kata sifat, kata keterangan, kata benda, dan kata kerja.
Pada proses (c) di atas, penulis mengubah kata-kata yang penulisannya tidak baku (slang words) menjadi penulisan yang baku. Misalkan penulisan “tdk” dirubah menjadi “tidak”, “guweh” menjadi “saya”, dan sebagainya. Pada proses ini penulis menggunakan kamus yang didefinisikan secara hardcode berdasarkan pengamatan penulis pada teks.
Proses (g) pada tahapan preprocessing diatas penulis gunakan untuk menghindari hilangnya makna. Contoh dari kondisi ini adalah rangkaian kata “gak turun” dirubah menjadi “naik”. Pembangkitan antonym menggunakan API kateglo.com. Daftar kata negasi yang berhasil diidentifikasi adalah sebagai berikut: “tidak”, “enggak”,
“nggak”, “ngga”, “engga”, “ndak”, “bukan”, “non”, “tak”, “gak”, “ga”, “gk”, “gag”, “tiada”, “kagak”, “kaga”,
“kurang”, “jangan”, “jgn”, “janganlah”, dan “g”.
Pada [9] disebutkan bahwa kata sifat (adjective / JJ), kata keterangan (adverb / RB), kata benda (noun / NN), dan kata kerja (verb / VB) merupakan kelas kata yang banyak mengandung nilai sentiment. Sehingga pada penelitian ini penulis menambahkan POS-Tagging (Part of Speech Tagging) untuk mendeteksi kelas kata pada setiap kata yang tertulis dalam teks. POS-Tagging menggunakan library TextBlob.
Contoh perbandingan isi teks asli dengan teks hasil preprocessing ditunjukkan pada Tabel 3.
3.2.2 Extract Sentiment Score
Hasil preprocessing pada Subbab 3.2.1 tersebut adalah berupa kumpulan kata sifat, kata keterangan, kata benda, dan kata kerja dalam Bahasa Inggris. Untuk setiap kata tersebut, penulis mengekstrak nilai sentimen-nya menggunakan metode Lexicon Based. Dalam hal ini penulis memanfaatkan skor sentimen yang ada pada library TextBlob. Penentuan batas ambang untuk label positif, negatif, dan netral ditunjukkan pada algoritma berikut:
def sentimentlabels(senscores):
labels = []
for score in senscores:
if(score > 0.1):
labels.append('positive') elif(score < -0.05):
labels.append('negative') else:
labels.append('netral') return labels
Pengumpulan Data Preprocessing Extract Sentiment
Score Visualization
4. IMPLEMENTASI
Hasil dari tahapan “Extract Sentiment Score” yang ditunjukkan pada Subbab 3.2.2 adalah berupa label sentimen untuk setiap teks tweets. Tabel 3 menunjukkan contoh text asli, hasil preprocessing, sentiment score, dan labelnya.
Tabel 3. Contoh hasil pelabelan teks berdasarkan Lexicon Based Sentiment Analysis
No Teks asli English Sentimen
Score
Sentimen Label 44 Itu artinya dana yg ada bisa
difokuskan pada pemberdayaan ekonomi masyarakat desa.
Terlebih jika pemerintah fokus pada konsep One BUMDes, One product dan mendirikan BLK dan KUBE di tiap kecamatan, Insya Allah ekonomi
Indonesia benar2 bergerak dari desa, dari daerah pinggiran.
https://twitter.com/dedisalaf/status/10 62116874798825472 …
It means that the available funds can be focused on the economic empowerment of rural communities especially if the government focuses on the concept of one bumdes one product and establishes BLK and KUB in each sub-district God willing, the Indonesian economy is truly moving from the village from
the periphery
0,85 positive
45 Lah, apa manfaatnya melanjutkan proyek Hambalang yg mangkrak buat
percepatan ekonomi bangsa?
Tanpa Hambalang Prestasi Atlit Indonesia di Asian Games 2018
cukup mengkilap kok.
Mikir...!!!
@AndiArief__
@ProfYLHpic.twitter.com/V3YkFjF F6r
what's the benefit of continuing the hambalang project which is stalling
for the acceleration of the nation's economy without hambalang, the achievement of Indonesian athletes
in asian games is quite shiny how come I think
0 netral
46 Maju mbah mu,rakyat ekonomi nya terpuruk,karena di era ini,rakyat tertekan ekonomi nya,karena banyak
nya bank bank emok,yang memeras keringat rakyat,di atas kelihatan makmur indonesia tuh,tapi kenyataan
di bawah jauh lebih sengsara dari pemerintahan suharto,
forward, your preacher's economy is getting worse because in this era the people are depressed because of
the many emok bank banks that sweat the people above look prosperous Indonesia but the reality below is far more miserable
than the Suharto government
-0,4 negative
47 Calon wakil presiden Ma'ruf Amin optimistis ekonomi Indonesia bisa berkembang pesat di tahun 2024.
#2019JokowiKyaiMaruf https://twitter.com/tag_nusantara/stat us/1048376527564419078/photo/1pic
.twitter.com/c4YRvuRxru
#2019JokowiKyaiMaruf
vice presidential candidate ruf amin is optimistic that the Indonesian
economy can grow rapidly in jokowikyaimaruf jokowikyaimaruf
0 netral
No Teks asli English Sentimen Score
Sentimen Label 48 Hahahhahahaha emang di arab atau
di mana gitu, sajadahnya gak sependek sajadah Indonesia ya dhab?
Ngakak euy. Standar ukuran space bis dan kereta ekonomi juga buruk
dhab
hahahhahahaha really in arab or where is the prayer mat not as short as Indonesian prayer rugs yes dhab doesn't mean the standard size of the bus and train economy is also
bad dhab
-0,8125 negative
Hasil analisis sentimen berbasis leksikon ditunjukkan pada Gambar 6. Dari grafik pada Gambar 6 didapatkan informasi bahwa terdapat 63,6% tanggapan positif masyarakat terhadap perkembangan ekonomi Indonesia, 7,4% tanggapan negatif, dan 29% netral.
Gambar 6. Prosentase kecenderungan tanggapan masyarakat terhadap ekonomi Indonesia
5. KESIMPULAN
Berdasarkan penelitian yang telah dilakukan didapatkan kesimpulan bahwa Lexicon Based Sentiment Analysis telah dapat digunakan pada teks tweet yang berbahasa Indonesia, namun tweet tersebut harus diterjemahkan ke dalam Bahasa Inggris terlebih dahulu. Sedangkan berdasarkan prosentase kecenderungan masyarakat hasil dari Sentiment Analysis didapatkan kesimpulan bahwa sebagai besar masyarakat Indonesia memiliki tanggapan positif terhadap perkembangan ekonomi di Indonesia.
Saran untuk penelitian selanjutnya adalah membandingkan nilai sentiment score yang terdapat pada berbagai framework, misalkan SentiWordNet [10], SenticNet [11], dan sebagainya.
REFERENCES
[1] Badan Pusat Statistik, “Jumlah dan Distribusi Penduduk,” 2010. [Daring]. Tersedia pada: https://sp2010.bps.go.id/. [Diakses: 02-Jul- 2019].
[2] Badan Pusat Statistik, “Berita Resmi Statistik (6 Mei 2019),” 06-Mei-2019.
[3] Y. Pratomo, “APJII: Jumlah Pengguna Internet di Indonesia Tembus 171 Juta Jiwa,” kompas.com, 16-Mei-2019.
[4] W. Medhat, A. Hassan, dan H. Korashy, “Sentiment Analysis Algorithms and Applications: A Survey,” Ain Shams Eng. J., vol. 5, hal.
1093–1113, 2014.
[5] F. M. Matulatuwa, E. Sediyono, dan A. Iriani, “Text Mining dengan Metode Lexicon Based untuk Sentiment Analysis Pelayanan PT.
Pos Indonesia Melalui Media Sosial Twitter,” J. Masy. Inform. Indones., vol. 2, no. 3, hal. 52–65, 2017.
[6] C. Sutami, “Perbandingan Metode Klasifikasi Naive Bayes Classifier Dan Lexicon Based,” Universitas Widyatama, Bandung, 2015.
[7] I. Kusumawati, “Analisa Sentimen Menggunakan Lexicon Based Kenaikan Harga Rokok Pada Media Sosial Twitter,” Universitas Muhamadiyah Surakarta, 2017.
[8] S. Chatterjee dan M. Krystyanczuk, Python Social Media Analytics. Birmingham: Packt Publishing, 2017.
[9] G. A. Buntoro, T. B. Adji, dan A. E. Purnamasari, “Sentiment Analysis Twitter dengan Kombinasi Lexicon Based dan Double Propagation,” CITEE, hal. 39–43, 2014.
[10] S. Baccianella, A. Esuli, dan F. Sebastiani, “SENTIWORDNET 3.0: An Enhanced Lexical Resource for Sentiment Analysis and Opinion Mining,” in Proceeding of Language Resources and Evaluation Conference, 2010, vol. 10, hal. 2200–2204.
[11] Erik Cambria, E. Cambria, D. Olsher, dan D. Rajagopal, “SenticNet 3: A common and common-sense knowledge base for cognition- driven sentiment analysis,” in Proceedings of AAAI, 2014, hal. 1515–1521.