Analisa Sentimen Masyarakat terhadap Presiden Jokowi Berdasar Data Twitter: Sebuah Contoh Sederhana Pemberdayaan Big Data


Dewasa ini, eksploitasi media sosial sudah tidak dimonopoli oleh urusan bisnis belaka, tetapi telah secara nyata diberdayakan pada ranah politik. Beberapa waktu lalu, diberitakan bahwa media sosial seperti Twitter dan Facebook telah memberi pengaruh signifikan terhadap kemenangan Presiden Donald Trump pada pemilihan presiden Amerika Serikat tahun 2016. Selain itu, akhir-akhir ini juga marak diberitakan perihal kasus Cambridge Analytica yang memanfaatkan data pengguna dari media sosial Facebook maupun Twitter untuk kepentingan politik.

Kali ini, akan dibahas contoh sederhana analisa data media sosial Twitter untuk mengetahui proporsi sentimen masyarakat (secara umum) terhadap Presiden Joko Widodo (Jokowi) dalam kurun waktu satu bulan (April 2018). Hasil yang dapat diharapkan dari analisa ini adalah seberapa besar persentase masyarakat yang menaruh sentimen POSITIF, NEGATIF, maupun NETRAL terhadap Presiden Jokowi, serta faktor-faktor apa saja yang mempengaruhi komposisi sentimen tersebut. Adapun informasi yang dapat dipresentasikan adalah sebagai berikut:

  1. Persentase sentimen POSITIF, NEGATIF, dan NETRAL dari keseluruhan data yang diproses.
  2. Hashtag/Tagar (tanda pagar) apa saja yang berkontribusi signifikan pada penyebaran sentimen POSITIF/NEGATIF/NETRAL terhadap Presiden Jokowi.
  3. Tweet apa saja yang paling banyak mendapat respon positif (favorite) dari netizen yang berkontribusi pada peningkatan sentimen POSITIF terhadap Presiden Jokowi.


Untuk mencapai tujuan tersebut, dalam paradigma Big Data paling tidak terdapat empat langkah yang mesti dilalui, yaitu: data collecting, data storing, data analytics, dan data visualisation/presentation yang masing-masing memerlukan software maupun infrastruktur tersendiri.

Data Collecting

Sumber data yang akan digunakan kali ini adalah Twitter. Jadi, diperlukan software untuk mendapatkan data dari Twitter berupa:
  1. Tweet text (isi cuitan)
  2. Username (pengguna yang mengunggah cuitan tersebut)
  3. Mentions (nama-nama pengguna yang disebut dalam suatu tweet)
  4. Hashtags (Tagar yang dicantumkan dalam suatu tweet)
  5. Retweets (jumlah retweet dari tiap tweet)
  6. Favourits (jumlah favourite yang didapatkan dari tiap tweet)
  7. Permalink (URI dari tiap tweet)

Untuk mendapatkan data-data tersebut, bisa saja kita gunakan Twitter API, namun Twitter API membatasi penggunaan data tweet yang diunggah maksimal 2 minggu kebelakang. Kita akan kesulitan jika ingin mendapatkan data tweet dalam kurun waktu tertentu di masa lalu, misal data tweet dalam kurun waktu 1 April – 30 April 2018. Permasalahan ini dapat diatasi dengan menggunakan tool berbasis Java maupun Python yang telah tersedia di Github (tentu dengan sedikit penyesuaian).

Data Storing 

Data-data hasil scraping Twitter selanjutnya disimpan dalam database menggunakan MongoDB, salah satu database NoSQL yang mulai naik daun semenjak mendunianya konsep Big Data. Kenapa MongoDB? Tidak lain karena MongoDB adalah database berbasis dokumen yang mampu menyimpan data dengan struktur yang fleksibel. Artinya, skema dapat berubah sewaktu-waktu sesuai kebutuhan data yang ditangani. Dalam hal ini, kiranya sangat cocok digunakan untuk mengelola data Twitter. 

Data Analytics

Untuk dapat mengukur ataupun mengetahui sentimen dari tiap tweet secara otomatis (tanpa harus menggunakan tenaga manusia untuk membaca satu persatu dan memberikan penilaian) maka perlu diterapkan salah satu algoritma Machine Learning yang dapat digunakan untuk keperluan text classification. Untuk tujuan ini, dapat digunakan algoritma Naïve Bayes sebagai salah satu algoritma dari kategori supervised machine learning yang dikenal cukup sederhana namun dapat memberikan hasil yang relatif akurat. Dalam proses ini, setiap tweet akan diklasifikasikan ke dalam salah satu dari empat kategori sentimen, yaitu: Positif, Negatif, Netral, dan NA (Not Applicable). Dalam kasus ini, NA berarti bahwa tweet yang diproses tidak dapat dinilai apakah mengandung sentimen Positif, Negatif, atau Netral. Dengan demikian, kita dapat mengetahui berapa banyak tweet yang bersentimen Positif/Negatif/Netral/NA serta Tagar apa saja yang terkait dengan tiap sentimen tersebut. 

Data Visualisation

Agar data-data yang dihasilkan dari proses analisa dapat dicerna ataupun dimengerti dengan mudah oleh pihak yang berkepentingan, data-data tersebut perlu dipresentasikan dengan teknik visualisasi yang sesuai, misal dalam bentuk bar chart, pie chart, ataupun dengan model graph/network visualization. Untuk keperluan ini, salah satu tool yang terkenal adalah Tableau, kemudian ada juga ORA yang khusus digunakan untuk network visualization and anlytics. Kedua software ini menyediakan versi tidak berbayar yaitu Tableu Public dan ORA Lite. Hasilnya adalah sebagai berikut:



Gambar 1 Persentase Tweet Positif (52,86 %), Negatif(32,80%), Netral(4,35%), NA(9,99%) 



Gambar 2 Persentase Sentimen per Hashtag(Tagar) 



Gambar 3 Hashtag yang Berkontribusi pada Sentimen Positif 



Gambar 4 Hashtag yang Berkontribusi pada Sentimen Negatif 



Gambar 5 Tweet yang Mendapat "favorite" terbanyak yang Berkontribusi pada Sentimen Positif 


Berdasarkan hasil analisa tersebut, selama bulan April 2018 terdapat jauh lebih banyak sentimen positif daripada sentimen negatif yang ditujukan kepada Presiden Jokowi. Hashtag/Tagar yang berkontribusi besar terhadap sentimen positif adalah #2019TetapJokowi, #TetapJokowi dan #TetapJokowi2019, sedangkan Tagar yang membawa banyak sentimen negatif adalah #2019GantiPresiden dan #2019PresidenBaru. Kemudian, tweet/cuitan yang paling banyak mendapat "favorite" dan berkontribusi pada sentimen positif dapat disimak pada Gambar 5.

DISCLAIMER:

  1. Artikel ini semata-mata dimaksudkan untuk memberikan contoh implementasi analisa Big Data dengan metode yang relatif sederhana dan masih jauh dari sempurna. 
  2. Tingkat akurasi dari hasil analisa pada artikel ini tidak dihitung dan belum dapat ditentukan.
  3. Isi artikel ini tidak dapat dijadikan sebagai referensi apapun selain hanya sebagai contoh sederhana pemberdayaan Big Data.

Ref:

  1. https://www.vanityfair.com/news/2017/10/how-facebook-and-twitter-quietly-helped-trump-win
  2. https://techcrunch.com/2016/11/10/social-media-did-a-better-job-at-predicting-trumps-win-than-the-polls/
  3. https://www.theguardian.com/uk-news/2018/mar/23/leaked-cambridge-analyticas-blueprint-for-trump-victory

Comments

mantap, infonya berdasar banget nih egk cuman sekedar berasal dari rumor belaka
WM Wijaya said…
Terima kasih telah mampir.
Sekedar mencoba menyajikan informasi berdasar data nyata; memanfaatkan teknologi canggih namun sederhana.
Keren analisanya,
Bisa contak saya?
Barangkali ada hal yg bisa kita diskusikan secara privat.
Kontak saya bisa melalui no. Wa
0857-73564462
WM Wijaya said…
Terima kasih sudah mampir.
Baik, segera saya kontak.
Ka, mau tanya. Bagaimana caranya bisa menarik data twitter yg sudah lama. Saya mau susun thesis dgn data twitter tp data lama sudah tdk ada
WM Wijaya said…
@*sweet blog sweet*
Data lama itu berapa tahun lalu?
Scraping Twitter historical data bisa pake tool buatan Jefferson Henrique, ada di Github.

Popular posts from this blog

MapReduce: Besar dan Powerful, tapi Tidak Ribet

Tutorial Python: Cara Mudah Web Scraping menggunakan Beautiful Soup

Cara Sederhana Install Hadoop 2 mode Standalone pada Windows 7 dan Windows 10

Apa itu Big Data : Menyimak Kembali Definisi Big Data, Jenis Teknologi Big Data, dan Manfaat Pemberdayaan Big Data

Apache Spark: Perangkat Lunak Analisis Terpadu untuk Big Data

HBase: Hyper NoSQL Database

HDFS: Berawal dari Google untuk Big Data

Aplikasi iPhone : RETaS Read English Tanpa Kamus!

Big Data dan Rahasia Kejayaan Google

Bagaimana Cara Membaca Google Play eBook Secara Offline?