Analisis Sentimen dengan R (Studi Kasus Teks Bahasa Indonesia)

Analisis Sentimen dengan R

Media sosial telah menjadi platform yang sangat populer untuk berbagi pemikiran, opini, dan informasi di era digital saat ini. Salah satu platform media sosial yang paling populer adalah Twitter. Dengan lebih dari 330 juta pengguna aktif bulanan, Twitter menawarkan luasnya cakupan dan keragaman pandangan dari berbagai latar belakang. Hal ini membuat Twitter menjadi sumber potensial untuk menganalisis sentimen publik terhadap topik tertentu. Dalam artikel ini, kami akan membahas tentang analisis sentimen Twitter dan bagaimana teknik ini dapat memberikan wawasan yang berharga tentang opini publik.

Analisis Sentimen Twitter

Analisis sentimen Twitter adalah proses mengumpulkan dan menganalisis data dari Twitter untuk menentukan apakah pesan atau tweet memiliki sentimen positif, negatif, atau netral. Tujuan utama dari analisis sentimen Twitter adalah untuk mendapatkan pemahaman yang lebih baik tentang pandangan, opini, dan emosi pengguna terkait topik tertentu. Dalam analisis sentimen Twitter, berbagai teknik pengolahan bahasa alami (Natural Language Processing/NLP) digunakan untuk mengidentifikasi sentimen dalam teks.

Langkah pertama dalam analisis sentimen Twitter adalah pengumpulan data. Pengumpulan data dapat dilakukan dengan menggunakan API Twitter yang memungkinkan pengambilan tweet berdasarkan kata kunci, lokasi geografis, atau akun pengguna tertentu. Setelah data dikumpulkan, langkah selanjutnya adalah membersihkan dan memproses teks untuk menghilangkan kata-kata yang tidak relevan, tanda baca, atau tautan.

Setelah data diproses, langkah berikutnya adalah penerapan algoritma NLP untuk mengklasifikasikan sentimen dalam tweet. Terdapat beberapa pendekatan yang umum digunakan, seperti klasifikasi berbasis aturan, klasifikasi berbasis kata kunci, dan klasifikasi berbasis mesin pembelajaran. Klasifikasi berbasis mesin pembelajaran sering digunakan karena kemampuannya untuk mempelajari pola dari data pelatihan dan mengenali konteks yang lebih kompleks.

Manfaat Analisis Sentimen Twitter

Analisis sentimen Twitter menawarkan beberapa manfaat yang signifikan. Pertama, analisis sentimen Twitter dapat membantu dalam pemantauan merek atau produk. Dengan menganalisis sentimen tweet terkait merek atau produk tertentu, perusahaan dapat memahami pandangan konsumen dan merespon masalah atau keluhan dengan cepat. Analisis sentimen Twitter juga dapat membantu perusahaan dalam penelitian pasar, memperoleh wawasan tentang preferensi konsumen, dan mengidentifikasi tren yang berkembang.

Kedua, analisis sentimen Twitter dapat digunakan dalam penelitian politik. Dalam konteks politik, analisis sentimen Twitter dapat membantu dalam memahami respons masyarakat terhadap kebijakan, pidato politik, atau kandidat tertentu. Informasi ini dapat digunakan oleh partai politik atau calon untuk menyusun strategi komunikasi yang lebih efektif dan memahami preferensi pemilih.

Selain itu, analisis sentimen Twitter juga dapat digunakan dalam pengambilan keputusan bisnis. Dengan memonitor sentimen publik terhadap produk, layanan, atau kampanye pemasaran, perusahaan dapat mengevaluasi efektivitas upaya mereka dan melakukan perubahan yang diperlukan untuk meningkatkan kepuasan pelanggan. Analisis sentimen Twitter juga dapat membantu dalam identifikasi pengaruh dan pemimpin opini di dalam industri tertentu, yang dapat menjadi mitra strategis atau sasaran pemasaran potensial.

Tantangan dalam Analisis Sentimen Twitter

Meskipun analisis sentimen Twitter menawarkan manfaat yang signifikan, ada beberapa tantangan yang perlu diatasi. Pertama, Twitter adalah platform yang sangat dinamis, dengan tweet yang diposting secara real-time dalam jumlah besar. Memproses dan menganalisis volume data yang besar dalam waktu nyata dapat menjadi tugas yang rumit dan membutuhkan sumber daya komputasi yang kuat.

Kedua, analisis sentimen Twitter juga harus mempertimbangkan konteks dan bahasa yang kompleks. Twitter sering digunakan untuk berbagai macam tujuan, termasuk hiburan, humor, atau eksprepsi emosi. Oleh karena itu, membedakan antara tweet yang benar-benar mengandung sentimen dan tweet yang bersifat sarkastik atau tidak serius bisa menjadi tantangan.

Selain itu, adanya bias dalam data juga menjadi tantangan yang harus diatasi dalam analisis sentimen Twitter. Data yang dikumpulkan mungkin memiliki kecenderungan terhadap kelompok tertentu atau topik spesifik, sehingga hasil analisis sentimen dapat menjadi tidak representatif secara menyeluruh.

Analisis sentimen sendiri juga menghadapi tantangan besar khususnya pada kasus teks berbahasa Indonesia, yaitu:

  1. Bahasa yang Tidak Formal: Twitter sering digunakan sebagai platform informal di mana pengguna cenderung menggunakan bahasa yang santai, singkat, dan bahkan menggunakan bahasa gaul. Hal ini menyebabkan banyaknya slang, singkatan, dan variasi bahasa yang sulit diidentifikasi dan dianalisis secara otomatis.

  2. Konteks Budaya: Bahasa Indonesia memiliki kekayaan budaya yang khas, dan kata-kata dalam bahasa Indonesia sering memiliki konotasi yang lebih dalam dan kompleks. Oleh karena itu, untuk menganalisis sentimen dengan benar, penting untuk memahami konteks budaya dan makna yang terkait dengan kata-kata tersebut.

  3. Kesulitan Menangkap Ironi: Twitter sering kali digunakan untuk menyampaikan pesan dengan gaya humor atau ironi. Hal ini dapat menyulitkan analisis sentimen karena pemahaman konteks dan nuansa dalam bahasa Indonesia menjadi sangat penting untuk mengenali apakah sebuah tweet itu positif, negatif, atau bahkan ironis.

  4. Data yang Tidak Tersedia secara Publik: Meskipun Twitter adalah platform terbuka, tidak semua data tweet dalam bahasa Indonesia tersedia secara publik. Beberapa pengguna mungkin mengatur akun mereka sebagai akun pribadi atau melindungi tweet mereka, sehingga mengurangi ketersediaan data yang dapat digunakan untuk analisis sentimen.

Untuk mengatasi tantangan-tantangan tersebut, ada beberapa pendekatan yang dapat digunakan dalam analisis sentimen Twitter Bahasa Indonesia. Pertama, penggunaan teknik pemrosesan bahasa alami yang dapat memahami konteks dan bahasa yang tidak formal. Kedua, penggunaan kamus slang dan bahasa gaul yang diperbarui secara teratur untuk memperluas kosa kata dan memahami kata-kata yang populer dalam percakapan online.

Selain itu, melibatkan pakar budaya dan lingkungan lokal dalam proses analisis juga dapat membantu mengatasi tantangan yang muncul. Memiliki pemahaman mendalam tentang budaya dan konteks budaya Indonesia akan membantu dalam mengenali nuansa, konotasi, dan perubahan yang terjadi dalam bahasa seiring waktu.

Kesimpulan

Analisis sentimen Twitter adalah alat yang efektif untuk memahami pandangan dan opini publik dalam era media sosial. Dengan menggunakan teknik pengolahan bahasa alami, analisis sentimen Twitter dapat memberikan wawasan berharga dalam berbagai konteks, termasuk bisnis, politik, dan penelitian pasar. Namun, tantangan seperti volume data yang besar, kompleksitas bahasa, dan bias dalam data perlu diatasi agar analisis sentimen Twitter dapat memberikan hasil yang akurat dan bermakna.

Dalam menghadapi tantangan ini, pengembangan algoritma yang lebih canggih, perbaikan dalam pemrosesan bahasa alami, dan perhatian yang lebih baik terhadap representasi data yang seimbang akan menjadi langkah-langkah penting untuk meningkatkan kualitas analisis sentimen Twitter di masa depan. Dengan terus memperbaiki teknik dan metodologi, analisis sentimen Twitter akan terus menjadi alat yang berharga untuk memahami opini publik dan memandu pengambilan keputusan di berbagai bidang.

Bagaimana penerapan analisis sentimen menggunakan bahasa pemrograman R? Berikut ini adalah praktik bagaimana tahapan menganalisis data teks berbahasa Indonesia dan memperoleh sentimennya. Sebagai catatan bahwa analisis sentimen dalam artikel ini sangat berkaitan erat dengan artikel-artikel sebelumnya pada blog ini sehingga diharapkan pembaca juga perlu memahami artikel terkait algoritma Natural Language Processing (NLP). Mari kita praktikkan:


#Membuka data baru atau data hasil langsung
library(readxl)
smrc <- read_excel("smrc.xlsx")
#Seleksi beberapa kolom penting
smrcku <- smrc[-2]
head(smrcku$full_text)
## [1] "Penting MK pertimbangkan sikap mayoritas mutlak (8 dari 9) partai peserta pemilu di DPR, serta sikap 72% Rakyat pemilih dan pemilik kedaulatan yang lebih menginginkan Pemilu dengan sistem proporsional terbuka sbgmn hasil survey SMRC, Mei 2023. https://t.co/jVtT0P8Vpj https://t.co/RZBmLkHweI"                                                 
## [2] "Kinerja Presiden di Kelompok Kritis\r\n\r\nSurvei SMRC terbaru (23-24 Mei 2023) menemukan, mayoritas pemilih kritis, 79,7%, merasa puas dengan kerja Presiden Jokowi. \r\n\r\nSementara 18,1% merasa kurang/tidak puas, dan 2,2% tidak berpendapat.\r\n\r\nDalam 3 tahun terakhir, tingkat kepuasan… https://t.co/EHJh2kwF4P https://t.co/fGlHhIxolW"
## [3] "Survei SMRC: Elektabilitas Ganjar Naik Jadi 35,9%, Anies Anjlok https://t.co/MrFYjwUYRq"                                                                                                                                                                                                                                                             
## [4] "Riset SMRC Deni Irvani mengatakan, pada kelompok pemilih kritis, elektabilitas Ganjar naik dari 31,1% menjadi 35,9%. Prabowo naik dari 29,7% menjadi 32,8%. Sementara itu, elektabilitas Anies merosot dari 29,7%  20,1% pada survei terakhir 23-24 Mei 2023.\r\nAh sudalah nyerah drun."                                                            
## [5] "SMRC: Mayoritas pemilih kritis pilih Ganjar, Anies tertinggal jauh\r\n\r\n#GanjarCapres https://t.co/kX7tM1Mtrc"                                                                                                                                                                                                                                     
## [6] "Direktur Riset SMRC menyatakan dalam kelompok pemilih kritis, kepercayaan Publik naik kpda Pak @ganjarpranowo dari yg sblmnya 31,1% mnjdi 35,9% tetap Pak Ganjar juaranya, parahnya elektabilitas Anies turun drastis <U+0001F602>\r\n#GanjarMenangTotal https://t.co/QcafeKU9YU"
#Mengambil data teks yang tidak terduplikat
nodup <- smrcku[!duplicated(smrcku$full_text),]
head(nodup$full_text)
## [1] "Penting MK pertimbangkan sikap mayoritas mutlak (8 dari 9) partai peserta pemilu di DPR, serta sikap 72% Rakyat pemilih dan pemilik kedaulatan yang lebih menginginkan Pemilu dengan sistem proporsional terbuka sbgmn hasil survey SMRC, Mei 2023. https://t.co/jVtT0P8Vpj https://t.co/RZBmLkHweI"                                                 
## [2] "Kinerja Presiden di Kelompok Kritis\r\n\r\nSurvei SMRC terbaru (23-24 Mei 2023) menemukan, mayoritas pemilih kritis, 79,7%, merasa puas dengan kerja Presiden Jokowi. \r\n\r\nSementara 18,1% merasa kurang/tidak puas, dan 2,2% tidak berpendapat.\r\n\r\nDalam 3 tahun terakhir, tingkat kepuasan… https://t.co/EHJh2kwF4P https://t.co/fGlHhIxolW"
## [3] "Survei SMRC: Elektabilitas Ganjar Naik Jadi 35,9%, Anies Anjlok https://t.co/MrFYjwUYRq"                                                                                                                                                                                                                                                             
## [4] "Riset SMRC Deni Irvani mengatakan, pada kelompok pemilih kritis, elektabilitas Ganjar naik dari 31,1% menjadi 35,9%. Prabowo naik dari 29,7% menjadi 32,8%. Sementara itu, elektabilitas Anies merosot dari 29,7%  20,1% pada survei terakhir 23-24 Mei 2023.\r\nAh sudalah nyerah drun."                                                            
## [5] "SMRC: Mayoritas pemilih kritis pilih Ganjar, Anies tertinggal jauh\r\n\r\n#GanjarCapres https://t.co/kX7tM1Mtrc"                                                                                                                                                                                                                                     
## [6] "Direktur Riset SMRC menyatakan dalam kelompok pemilih kritis, kepercayaan Publik naik kpda Pak @ganjarpranowo dari yg sblmnya 31,1% mnjdi 35,9% tetap Pak Ganjar juaranya, parahnya elektabilitas Anies turun drastis <U+0001F602>\r\n#GanjarMenangTotal https://t.co/QcafeKU9YU"
#Preprocessing data
#Mengambil variabel teks
tweets <- nodup$full_text %>% as.character()

#Menghapus karakter \n dalam kalimat
tweets <- gsub( "\n"," ",tweets)

#Menghapus karakter \r dalam kalimat
tweets <- gsub( "\r"," ",tweets)

#Mengganti alamat html dan URL dengan blank
tweets <- tweets %>%
  replace_html() %>%
  replace_url()

#Mengganti emoji dalam kalimat
tweets <- replace_html(replace_emoji(tweets))

#Mengganti karakter titik dalam kalimat dengan blank
tweets <- gsub("[.]", "", tweets)

#Mengganti karakter koma dalam kalimat dengan blank
tweets <- gsub("[,]", "", tweets)

#Mengganti karakter : dalam kalimat dengan blank
tweets <- gsub("[:]", "", tweets)

#Mengganti karakter / dalam kalimat dengan blank
tweets <- gsub("/", "", tweets)

#Mengganti karakter ? dalam kalimat dengan blank
tweets <- gsub("[?]", "", tweets)

#Mengganti angka dalam kalimat dengan blank (bila perlu)
tweets <- gsub("[[:digit:]]", "", tweets)

#Menghapus mention dan hashtags (kecuali bila ingin analisis hashtags)
tweets <- gsub("([@#][A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\\w+://S+)", "", tweets)

#Mengganti Tag dalam kalimat
tweets <- replace_tag(tweets)

#Merapikan kalimat dengan strip()
#Penggunaan fungsi strip() juga bisa menghapus angka, titik, koma,!, @, #, ?, \n \r \t dan lainnya
#Membuat teks menjadi lower atau huruf kecil semua
#Fungsi strip() tidak bisa menghapus mention, URL link atau emoji serta karakter "\"
tweets <- strip(tweets)

#Stemming Bahasa Indonesia
#Melakukan stemming kata dari kata berimbuhan menjadi kata dasar
tweetschar <- as.character(tweets)

stemming <- function(x){
  paste(lapply(x,katadasar),collapse = " ")
}

library(tokenizers)
hasilstem <- lapply(tokenize_words(tweetschar), stemming)
tweets_stopid <- as.character(unlist(hasilstem))
head(tweets_stopid)
## [1] "penting mk timbang sikap mayoritas mutlak dari partai serta milu di dpr serta sikap rakyat pemilih dan milik daulat yang lebih ingin milu dengan sistem proporsional buka sbgmn hasil survey smrc mei"             
## [2] "kinerja presiden di kelompok kritis survei smrc baru mei temu mayoritas pemilih kritis rasa puas dengan kerja presiden jokowi sementara rasa kurangtidak puas dan tidak berpendapat dalam tahun akhir tingkat puas"
## [3] "survei smrc elektabilitas ganjar naik jadi anies anjlok"                                                                                                                                                           
## [4] "riset smrc den irvani atak pada kelompok pemilih kritis elektabilitas ganjar naik dari jadi prabowo naik dari jadi sementara itu elektabilitas anies rosot dari pada survei akhir mei ah suda nyerah drun"         
## [5] "smrc mayoritas pemilih kritis pilih ganjar anies tinggal jauh"                                                                                                                                                     
## [6] "direktur riset smrc satak dalam kelompok pemilih kritis percaya publik naik kpda pak dari yg sblmnya mnjdi tetap pak ganjar juara parah elektabilitas anies turun drastis face with tears of joy"
#Membenarkan kata yang salah
tweets_stopid <- gsub("milu", "pemilu", tweets_stopid)
tweets_stopid <- gsub("kurangtidak", "kurang tidak", tweets_stopid)
tweets_stopid <- gsub("face", "wajah", tweets_stopid)
tweets_stopid <- gsub("joy", "senang", tweets_stopid)
tweets_stopid <- gsub("tears", "sedih", tweets_stopid)
tweets_stopid <- gsub("white heavy", "sesuai", tweets_stopid)
tweets_stopid <- gsub("smiling", "senyum", tweets_stopid)
tweets_stopid <- gsub("grinning", "sumringah", tweets_stopid)
tweets_stopid <- gsub("eyes", "mata", tweets_stopid)
tweets_stopid <- gsub("beaming", "berseri", tweets_stopid)
tweets_stopid <- gsub("crying", "nangis", tweets_stopid)
head(tweets_stopid)
## [1] "penting mk timbang sikap mayoritas mutlak dari partai serta pemilu di dpr serta sikap rakyat pemilih dan milik daulat yang lebih ingin pemilu dengan sistem proporsional buka sbgmn hasil survey smrc mei"          
## [2] "kinerja presiden di kelompok kritis survei smrc baru mei temu mayoritas pemilih kritis rasa puas dengan kerja presiden jokowi sementara rasa kurang tidak puas dan tidak berpendapat dalam tahun akhir tingkat puas"
## [3] "survei smrc elektabilitas ganjar naik jadi anies anjlok"                                                                                                                                                            
## [4] "riset smrc den irvani atak pada kelompok pemilih kritis elektabilitas ganjar naik dari jadi prabowo naik dari jadi sementara itu elektabilitas anies rosot dari pada survei akhir mei ah suda nyerah drun"          
## [5] "smrc mayoritas pemilih kritis pilih ganjar anies tinggal jauh"                                                                                                                                                      
## [6] "direktur riset smrc satak dalam kelompok pemilih kritis percaya publik naik kpda pak dari yg sblmnya mnjdi tetap pak ganjar juara parah elektabilitas anies turun drastis wajah with sedih of senang"
#Membuat Corpus Vektorisasi seluruh teks
library(tm)
docs <- Corpus(VectorSource(tweets_stopid))

#Menghapus keyword dan kata-kata yang tidak diinginkan
#Cek keyword dulu agar independen terhadap analisis
#Cek konjungsi dan partikel lainnya yang tidak perlu
#Hapus juga nama orang bila ada
docs <- tm_map(docs, removeWords, c('smrc','ini','dan','padahal', 'yang','akan', 'yg','akn','ttg','pdhl',
                                    'thd','itu','juga','jg','dr', 'dari', 'pada','tentang','klo','kalau',
                                    'bahwa','yg','wkwk','wkwkwk','wkwkwkwk','disana','disitu','haha','hehe',
                                    'wkwkwkwkwkwk','oleh','olh','adalah','adl','di situ',
                                    'tetapi','tapi','namun','melainkan','lalu','serta','dengan','dgn',
                                    'meski','meskipun','demikian','karena','krn','wkwkwkwkwk','nih','tuh',
                                    'nya','kalo','orang','saja','aja', 'sbgmn', 'sblmnya','mnjdi'
                                    ))
## Warning in tm_map.SimpleCorpus(docs, removeWords, c("smrc", "ini", "dan", : transformation drops documents
#Menghapus kata dengan Stopwords
stop <- readLines("~/stopwords-indonesia.txt")
## Warning in readLines("~/stopwords-indonesia.txt"): incomplete final line found on '~/stopwords-indonesia.txt'
docs <- tm_map(docs, removeWords, stop)
## Warning in tm_map.SimpleCorpus(docs, removeWords, stop): transformation drops documents
#Membangun Term Document Matrix
{
  dtm <- TermDocumentMatrix(docs)
  m <- as.matrix(dtm)
  v <- sort(rowSums(m),decreasing=TRUE)
  d <- data.frame(word = names(v),freq=v)
}
head(d,n=10)
##            word freq
## survei   survei  520
## ganjar   ganjar  449
## survey   survey  273
## jokowi   jokowi  266
## hasil     hasil  224
## anies     anies  204
## program program  195
## wajah     wajah  190
## percaya percaya  159
## capres   capres  158
#Awan Kata
library(wordcloud2)
wordcloud2(d, backgroundColor = "white",
           color = 'random-light' ,size = 1)
## Error in loadNamespace(name): there is no package called 'webshot'
#Bar chart kata menurut frekuensinya
library(ggplot2)
d %>%
  filter(freq > 100) %>%
  mutate(word = reorder(word, freq)) %>%
  ggplot(aes(word, freq, fill = word)) +
  geom_bar(stat = 'identity') +
  xlab('Kata') +
  ylab('Frekuensi') +
  ggtitle(paste('Kata-kata paling sering muncul dalam Tweets dengan kata kunci SMRC')) +
  theme(legend.position="none") +
  coord_flip()

plot of chunk unnamed-chunk-27

#Mengubah menjadi data frame kembali dan disimpan
dataframe<-data.frame(text=unlist(sapply(docs, `[`)), stringsAsFactors=F)

#Pelabelan Sentimen
#Menentukan Skor Sentimen
kalimat2 <- tweets_stopid

positif <- scan("~/spos.txt",what="character",comment.char=";")
negatif <- scan("~/sneg.txt",what="character",comment.char=";")
kata.positif = c(positif)
kata.negatif = c(negatif)
score.sentiment = function(kalimat2, kata.positif, kata.negatif, .progress='none')
{
  require(plyr)
  require(stringr)
  scores = laply(kalimat2, function(kalimat, kata.positif, kata.negatif) {
    list.kata = str_split(kalimat, '\\s+')
    kata2 = unlist(list.kata)
    positif.matches = match(kata2, kata.positif)
    negatif.matches = match(kata2, kata.negatif)
    positif.matches = !is.na(positif.matches)
    negatif.matches = !is.na(negatif.matches)
    score = sum(positif.matches) - (sum(negatif.matches))
    return(score)
  }, kata.positif, kata.negatif, .progress=.progress )
  scores.df = data.frame(score=scores, text=kalimat2)
  return(scores.df)
}

hasil = score.sentiment(kalimat2, kata.positif, kata.negatif)
## Loading required package: plyr
## ----------------------------------------------------------------------------------------------------------------------
## You have loaded plyr after dplyr - this is likely to cause problems.
## If you need functions from both plyr and dplyr, please load plyr first, then dplyr:
## library(plyr); library(dplyr)
## ----------------------------------------------------------------------------------------------------------------------
## 
## Attaching package: 'plyr'
## The following objects are masked from 'package:dplyr':
## 
##     arrange, count, desc, failwith, id, mutate, rename, summarise, summarize
#Konversi skor ke kategori sentimen
hasil$klasifikasi <- ifelse(hasil$score < 0, "Negatif", ifelse(hasil$score > 0, "Positif", "Netral"))
Kategori_Sentimen_2 <- cbind(hasil$klasifikasi)
#Gabung dengan data no duplikasi
nodup$text <- tolower(nodup$full_text)
gabung <- data.frame(nodup[,c(1:2)], hasil)
head(gabung)
##            created_at
## 1 2023-05-28 19:46:58
## 2 2023-05-28 15:10:52
## 3 2023-05-28 20:33:16
## 4 2023-05-29 10:26:32
## 5 2023-05-29 10:26:27
## 6 2023-05-29 10:25:50
##                                                                                                                                                                                                                                                                                                                                              full_text
## 1                                                  Penting MK pertimbangkan sikap mayoritas mutlak (8 dari 9) partai peserta pemilu di DPR, serta sikap 72% Rakyat pemilih dan pemilik kedaulatan yang lebih menginginkan Pemilu dengan sistem proporsional terbuka sbgmn hasil survey SMRC, Mei 2023. https://t.co/jVtT0P8Vpj https://t.co/RZBmLkHweI
## 2 Kinerja Presiden di Kelompok Kritis\r\n\r\nSurvei SMRC terbaru (23-24 Mei 2023) menemukan, mayoritas pemilih kritis, 79,7%, merasa puas dengan kerja Presiden Jokowi. \r\n\r\nSementara 18,1% merasa kurang/tidak puas, dan 2,2% tidak berpendapat.\r\n\r\nDalam 3 tahun terakhir, tingkat kepuasan… https://t.co/EHJh2kwF4P https://t.co/fGlHhIxolW
## 3                                                                                                                                                                                                                                                              Survei SMRC: Elektabilitas Ganjar Naik Jadi 35,9%, Anies Anjlok https://t.co/MrFYjwUYRq
## 4                                                             Riset SMRC Deni Irvani mengatakan, pada kelompok pemilih kritis, elektabilitas Ganjar naik dari 31,1% menjadi 35,9%. Prabowo naik dari 29,7% menjadi 32,8%. Sementara itu, elektabilitas Anies merosot dari 29,7%  20,1% pada survei terakhir 23-24 Mei 2023.\r\nAh sudalah nyerah drun.
## 5                                                                                                                                                                                                                                      SMRC: Mayoritas pemilih kritis pilih Ganjar, Anies tertinggal jauh\r\n\r\n#GanjarCapres https://t.co/kX7tM1Mtrc
## 6                                                                     Direktur Riset SMRC menyatakan dalam kelompok pemilih kritis, kepercayaan Publik naik kpda Pak @ganjarpranowo dari yg sblmnya 31,1% mnjdi 35,9% tetap Pak Ganjar juaranya, parahnya elektabilitas Anies turun drastis <U+0001F602>\r\n#GanjarMenangTotal https://t.co/QcafeKU9YU
##   score
## 1    -3
## 2    -5
## 3    -1
## 4    -4
## 5    -3
## 6    -5
##                                                                                                                                                                                                                  text
## 1           penting mk timbang sikap mayoritas mutlak dari partai serta pemilu di dpr serta sikap rakyat pemilih dan milik daulat yang lebih ingin pemilu dengan sistem proporsional buka sbgmn hasil survey smrc mei
## 2 kinerja presiden di kelompok kritis survei smrc baru mei temu mayoritas pemilih kritis rasa puas dengan kerja presiden jokowi sementara rasa kurang tidak puas dan tidak berpendapat dalam tahun akhir tingkat puas
## 3                                                                                                                                                             survei smrc elektabilitas ganjar naik jadi anies anjlok
## 4           riset smrc den irvani atak pada kelompok pemilih kritis elektabilitas ganjar naik dari jadi prabowo naik dari jadi sementara itu elektabilitas anies rosot dari pada survei akhir mei ah suda nyerah drun
## 5                                                                                                                                                       smrc mayoritas pemilih kritis pilih ganjar anies tinggal jauh
## 6                direktur riset smrc satak dalam kelompok pemilih kritis percaya publik naik kpda pak dari yg sblmnya mnjdi tetap pak ganjar juara parah elektabilitas anies turun drastis wajah with sedih of senang
##   klasifikasi
## 1     Negatif
## 2     Negatif
## 3     Negatif
## 4     Negatif
## 5     Negatif
## 6     Negatif
#Aktivasi visualisasi sentimen
library(dplyr)
library(ggplot2)
#Bila ingin mengubah format Date
gabung$created_at <- as.Date(gabung$created_at, format = "%d-%m-%Y")
gabung$klasifikasi <- ifelse(gabung$score < 0, "Negatif", ifelse(gabung$score > 0, "Positif", "Netral"))
x <- table(gabung$klasifikasi)
barcolors <- c("red", "white","green")
barplot(x, col = barcolors, las = 1, ylab = "Jumlah", space = 0.2,
        xlab = "Sentimen",
        main = "Sentimen 1.223 Tweets Keyword 'SMRC'\n19 - 29 Mei 2023")

plot of chunk unnamed-chunk-31

Berdasarkan hasil analisis sentimen di atas, terlihat bahwa banyak masyarakat maya (netizen) yang bersentimen negatif terhadap lembaga survei opini publik terkait elektabilitas kandidat capres cawapres 2024, yakni sebanyak 614, netral sebanyak 380, dan positif sebanyak 229.

Demikian sedikit sharing kita kali ini, semoga artikel ini bermanfaat. Jangan lupa untuk terus mengikuti dan menyimak setiap unggahan terbaru dan terunik blog ini. Selamat memahami dan mempraktikkan!

Add Comments


EmoticonEmoticon