Disusun Oleh:
Arkhamsiagustinah
11611083
Arkhamsiagustinah (11611083)
Word cloud merupakan visualisasi kata yang pada umumnya merupakan keyword dari sebuah website, akun,
dll. Word cloud dapat digunakan untuk mengetahui kata apa yang paling sering muncul pada suatu akun twitter.
Prinsip dari word cloud ini adalah memvisualisasikan kata berdasarkan kata dengan intensitas penggunaan
tertinggi hingga terendah. Penerapan metode data mining word cloud pada akun twitter resmi KPK ini bertujuan
untuk menggali dan mengetahui pola kata-kata yang paling umum di gunakan oleh akun twitter resmi KPK.
Berdasarkan uraian tersebut, penulis ingin membuat word cloud akun twitter resmi KPK untuk mengetahui kata
apa yang paling sering muncul atau digunakan pada akun twitter resmi KPK tersebut. Oleh karena itu, dalam
penelitian ini digunakan qplot, gplot, assosiasi, dan wordcloud untuk melihat pola-pola kata yang terbentuk
berdasarkan akun twitter tersebut. Hasil penelitian ini adalah sebuah word cloud dari akun twitter resmi KPK
dengan mayoritas kata yang paling sering muncul adalah korupsi, antikorupsi, savekpk, gratifikasi, dan
kanalkpk.
Kata kunci : data mining, word cloud, analisis jaringan sosial , twitter, KPK
PENDAHULUAN
Latar Belakang
Media sosial merupakan sebuah media online dimana para penggunanya dapat dengan mudah
berpartisipasi, berbagi, dan menciptakan isi meliputi blog, jejaring sosial, wiki, forum dan dunia virtual. Media
sosial adalah penggunaan teknologi berbasis web dan mobile untuk mengubah komunikasi menjadi dialog
interaktif. Andreas Kaplan dan Michael Haenlein mendefinisikan media sosial sebagai "sebuah kelompok
aplikasi berbasis internet yang membangun di atas dasar ideologi dan teknologi Web 2.0 , dan yang
memungkinkan penciptaan dan pertukaran konten yang dibuat pengguna" (Kaplan, Andreas M.; Michael
Haenlein [2010] "Users of the world, unite! The challenges and opportunities of Social Media". Business
Horizons 53(1): 5968).
Jejaring sosial merupakan salah satu bagian dari media sosial yang digunakan Pada saat ini situs
microblogging telah menjadi alat komunikasi yang sangat populer di kalangan pengguna internet. Dimana jutaan
pesan yang muncul setiap hari di situs web populer yang menyediakan layanan microblogging seperti Twitter,
Tumblr, dan Facebook (Alexa, 2013). Salah satu situs microblogging yang populer di Indonesia saat ini adalah
Twitter. Twitter sebagai salah satu situs microblogging dengan pengguna lebih dari 500 juta dan 400 juta tweet
perhari (Farber, 2012), memungkinkan pengguna untuk berbagi pesan menggunakan teks pendek disebut Tweet
(Twitter, 2013). Twitter pada awalnya hanya digunakan secara personal. Namun seiring dengan berjalannya
waktu, twitter telah digunakan untuk berbagai kepentingan yang salah satunya adalah sebagai media untuk
melakukan update informasi dari berbagai instansi.
Saat ini twitter pengguna twitter berasal dari berbagai kalangan. Mulai dari remaja, orang dewasa,
perusahaan, bahkan instansi pemerintahan. Terdapat beberapa instansi yang menggunakan media sosial twitter
sebagai media untuk memperbaharui informasi terkait kegiatan ataupun kebijakan yang dikeluarkan oleh
instansi tersebut, salah satunya adalah Komisi Pemberantasan Korupsi.
Komisi Pemberantasan Korupsi merupakan lembaga negara yang dibentuk dengan tujuan meningkatkan
daya guna dan hasil guna terhadap upaya pemberantasan tindak pidana korupsi. KPK bersifat independen dan
bebas dari pengaruh kekuasaan manapun dalam melaksanakan tugas dan wewenangnya. Komisi ini didirikan
berdasarkan kepada Undang-Undang Republik Indonesia Nomor 30 Tahun 2002 mengenai Komisi
Pemberantasan Tindak Pidana Korupsi.
KPK menjadi salah satu lembaga yang sangat produktif sejak awal terbentuk. Banyak kasus-kasus
korupsi yang berhasil diungkap melalui KPK, mulai dari korupsi dengan lingkup kecil hingga korupsi yang
melibatkan pejabat-pejabat tinggi di Indonesia. Koordinator Bidang Hukum dan Peradilan ICW, Emerson Juntho
mengatakan, keberadaan lembaga antikorupsi KPK telah memberikan warna tersendiri bagi upaya
pemberantasan korupsi di Indonesia. Setidaknya telah ada 11 prestasi besar yang telah dilakukan oleh KPK
menurut ICW.
Pertama keberhasilan pada tingkat penuntutan mencapai 100 persen. Prestasi selanjutnya, KPK berhasil
menjerat tiga menteri aktif di era pemerintahan SBY. Mereka yakni Andi Mallarangeng (eks Menpora), Jero
Wacik (eks Menteri ESDM), dan Suryadharma Ali (eks Menteri Agama). Kemudian prestasi lainnya, KPK juga
berhasil menjerat penegak hukum aktif, seperti perwira polisi alam kasus simulator SIM, Ketua MK dalam
kasus dugaan suap penyelenggaraan pilkada, dan hakim adhoc Tipikor. KPK juga menjerat pimpinan partai
politik aktif, yaitu Suryadharma Ali (PPP). Anas Urbaningrum (Partai Demokrat), dan Luthfi Hasan Ishaaq
(PKS). Prestasi kelima, yakni dalam hal penyelamatan kerugian negara yang fantastis. Tercatat, sejak mulai
beroperasi tahun 2004 hingga kini (akhir tahun 2014) KPK mengklaim telah menyelamatkan uang negara
sebesar Rp249 triliun. Kemudian keenam, KPK sebagai pelopor aktif dalam operasi tangkap tangan (OTT)
terhadap pelaku korupsi. Mereka yang menjadi korbannya yakni mantan Komisioner KPU, Mulyana W
Kusumah, eks Ketua MK Akil Mochtar, bekas jaksa Urip Tri Gunawan, dan terakhir Annas Maamun yang
menjabat sebagai Gubernur Riau. Ketujuh, KPK juga memelopori tuntutan pencabutan hak politik untuk pelaku
korupsi, seperti terhadap terdakwa Luthfi Hasan Ishaaq, Ratu Atut Chosiyah, Akil Mochtar, dan Anas
Urbaningrum. Kedelapan, KPK dinilai melakukan terobosan hukum menuntut pelaku korupsi dengan UU
Korupsi dan UU TPPU. Sejumlah pelaku korupsi juga dijerat dengan UU TPPU, seperti Wa Ode Nurhayati,
Djoko Susilo, Luthfi Hasan Ishaaq, Ade Swara, Tubagus Chaeri Wardana, dan Fuad Amin. Prestasi kesembilan
KPK yakni audit keuangan KPK selalu menunjukkan opini wajar tanpa pengecualian dari Badan Pemeriksa
Keuangan (BPK). Kemudian prestasi kesepuluh, KPK menasbihkan dirinya sebagai penerima penghargaan
Ramon Magsasay pada tahun 2013. Pada predikat itu, KPK dianggap menjadi inspirasi pemberantasan praktik
korupsi di Asia. Kesebelas, penangkapan Nazaruddin dan Anggoro Widjojo yang buronan di luar negeri. Seperti
penangkapan tersangka KPK Nazaruddin yang ditangkap di Kolombia, Nunung Nurbaeti di Thailand, dan
Anggoro Widjojo yang ditangkap di Tiongkok. Prestasi-prestasi tersebut telah mengisi pemberitaan-pemberitaan
baik di media cetak, media elektronik, bahkan media sosial. Masyarakat sangat antusias dengan pemberitaan
mengenai pejabat-pejabat besar yang berhasil di tangkap dan menjadi tersangka dalam kasus korupsi. Hal
tersebut dikarenakan sebelum berdirinya lembaga antikorupsi, pejabat tinggi ataupun pengusaha besar dapat
dengan mudah menghindar dari jerat hukum.
Hal yang cukup menarik perhatian belakangan ini adalah pemberian status tersangka pada Calon Kapolri
yang ditunjuk oleh Presiden Jokowi, yaitu Budi Gunawan. Budi Gunawan ditetapkan KPK sebagai tersangka
pada 13 Januari 2015, hanya berselang 4 hari dari ditetapkannya Budi Gunawan sebagai calon Kapolri yang
diajukan kepada DPR-RI. Namun tidak lama kemudian, terjadi penangkapan wakil ketua KPK Bambang
Wijayanto pada 23 Januari 2015. Berita ini menjadi salah satu topik yang menarik perhatian masyarakat, bahkan
terdapat berbagai aksi yang mendukung KPK untuk tetap melakukan kegiatan antikorupsi dan menuntuk POLRI
agar segera membebaskan Bambang Wijayanto. Masyarakat berpandangan bahwa ditangkapnya Bambang
Wijayanto merupakan bagian dari pelemahan KPK karena telah memberikan status tersangka pada Calon
Kapolri yang diajukan oleh Presiden Jokowi. Bahkan pada hari penangkapan wakil ketua KPK Bambang
Wijayanto, Hashtag #SAVEKPK menjadi trending topic world wide (TTWW) pada media sosial twitter. Komisi
Pemberantasan Korupsi sendiri telah menggunakan akun twitter sejak tahun 2010 dengan jumlah tweet lebih
dari 8 ribu dan jumlah follower lebih dari 1 juta follower.
Oleh karena itu, dalam makalah ini penulis melakukan penelitian untuk mengetahui bagaimana mayoritas
tanggapan yang diberikan oleh pihak KPK atas rasa simpatik yang ditunjukkan oleh masyarakat. Serta
mengetahui topik apa yang sering di sampaikan atau diinformasikan oleh KPK melalui akun twitter @KPK_RI
tersebut.
Rumusan Masalah dan Tujuan Penelitian
Permasalahan pada penelitian ini adalah ingin mengetahui bagaimana cara melakukan analisis big data
yang berasal dari twitter, serta ingin mengetahui topik apa yang paling populer pada akun twitter Komisi
Pemberantasan Korupsi (@KPK_RI). Sehingga dari penelitian ini, akan diketahui bagaimana cara melakukan
analisis terhadap data berukuran besar yang berasal dari jejaring sosial twitter, serta topik apa yang belakangan
ini paling populer dibicarakan pada akun twitter @KPK_RI.
KAJIAN PUSTAKA
Perangkat Lunak (software) R
R adalah suatu kesatuan software yang terintegrasi dengan beberapa fasilitas untuk manipulasi,
perhitungan dan penampilan grafik yang handal. R berbasis pada bahasa pemrograman S, yang dikembangkan
oleh AT&T Bell Laboratories (sekarang Lucent Technologies) pada akhir tahun 70 an. R merupakan versi gratis
dari bahasa S dari software (berbayar) yang sejenis yakni S-PLUS yang banyak digunakan para peneliti dan
akademisi dalam melakukan kegiatan ilmiahnya. Pada awalnya, versi pertama R dibuat oleh Ross Ihaka and
Robert Gentleman dari Universitas Auckland, namun selanjutnya R dikembangkan oleh tim yang disebut tim
inti yang terdiri dari ahli statistik, ahli komputer & pemrograman, geografi, ekonomi dari institusi yang berbeda
dari seluruh dunia yang mencoba membangun sebuah sistem (software) yang handal namun dengan biaya yang
sangat murah.
twitteR Package
Paket twitteR merupakan paket yang dapt digunakan untuk memberikan akses ke Twitter API dalam
pemrograman R. Pengguna dapat membuat akses data Twitter dalam jumlah besar untuk data mining dan tugastugas lainnya. Paket ini ditujukan untuk dikombinasikan dengan paket ROAuth dikarenakan pada Maret 2013
Twitter API memerlukan penggunaan otentikasi OAuth. ROAuth merupakan bahasa R yang digunakan melalui
paket twitter, dimana bahasa tersebut mampu mengekstrak informasi dari Twitter untuk tujuan Text Mining.
Media Sosial Twitter
Media sosial adalah media untuk interaksi sosial menggunakan teknik mudah dan dapat diperluas. Media
sosial menggunakan teknologi web untuk berkomunikasi melalui dialog yang interaktif. Andreas Kaplan dan
Michael Haenlein (2010) juga mendefinisikan media sosial sebagai kelompok pada aplikasi internet yang
dibangun dengan menggunakan fondasi teknologi web 2.0.
Twitter adalah sebuah micro-blogging atau blog mikro atau dapat dikatakan sebuah jejaring sosial seperti
halnya Facebook. Twitter merupakan salah satu media sosial dengan konsep penyebaran informasi pesan secara
singkat, padat dan real time di dalam kalimat kurang dari 140 karakter kepada pembacanya diseluruh dunia.
Karena kandungan pesan yang singkat, Twitter dimasukkan dalam kategori microblog, yaitu sebuah media
online yang memungkinkan penggunanya menuliskan informasi pesan secara singkat. Twitter didirikan oleh 3
orang yaitu Jack Dorsey, Biz Stone, dan Evan Williams di San Francisco dan go public pada Agustus 2006.
Text Mining
Text Mining adalah suatu proses yang bertujuan untuk menemukan informasi atau tren terbaru yang
sebelumnya tidak terungkap, dengan memproses dan menganalisa data dalam jumlah besar. Dalam menganalisa
sebagian atau keseluruhan unstructured text, text mining mencoba untuk mengasosiasikan satu bagian teks
dengan yang lainnya berdasarkan aturan-aturan tertentu. Selain itu text mining juga diartikan sebagai kegiatan
menambang data dari data yang berupa teks atau dokumen, dengan tujuan mencari kata-kata yang dapat
mewakili apa yang ada dalam dokumen sehingga dapat dilakukan analisa keterhubungan antar dokumen.
Langkah-langkah yang dilakukan dalam text mining adalah sebagai berikut:
Stemming
Stemming adalah proses untuk menggabungkan atau memecahkan setiap varian-varian suatu kata menjadi
kata dasar. Stem (akar kata) adalah bagian dari akar yang tersisa setelah dihilangkan imbuhannya (awalan
dan akhiran).
Tagging
Tagging adalah suatu proses mencari bentuk asal dari kata bentuk lampau. Tahap ini tidak digunakan pada
teks berbahasa indonesia karena kata dalam bahasa indonesia tidak mempunyai bentuk lampau.
Analizing
Pada tahap ini d ilakukan proses perhitungan bobot (w) dokumen agar diketahui seberapa jauh tingkat
similaritas antara keyword yang dimasukkan dengan dokumen.
Word Cloud
Word Cloud merupakan satu diantara beberapa bentuk dari hasil analisis menggunakan metode text
mining. Word cloud dapat menampilkan kata yang paling sering muncul atau paling sering digunakan pada suatu
web ataupun teks. Kata yang paling sering muncul akan memiliki ukuran yang lebih besar dari kata yang lain.
Word Cloud sering digunakan untuk menyoroti istilah populer atau tren berdasarkan frekuensi penggunaan kata
(PBC, 2013). Word Cloud merupakan pendekatan yang dapat menjelaskan pertanyaan penelitian dengan sangat
cepat dan mudah, kita dapat menjelajahi Word Cloud secara singkat dan dapat melakukan analisis yang
komprehensif (Graham, I. Milligan, & S. Weingart).
Text Clustering
Menurut Fung, (2001), clustering merupakan proses pengelompokan isi berdasarkan informasi fuzzy,
seperti kata-kata atau frase kata dalam satu set dokumen. Dengan kata lain, clustering adalah proses
pengelompokan set objek fisik atau abstrak ke dalam kelas objek yang sama.
K-Means Clustering
Algoritma KMeans adalah algoritma clustering yang paling popular danbanyak digunakan dalam dunia
industri. Algoritma ini disusun atas dasar ide yang sederhana. Ada awalnya ditentukan berapa cluster yang
akandibentuk. Sebarang obyek atau elemen pertama dalam cluster dapat dipilih untuk dijadikan sebagai titik
tengah (centroid point) cluster. Algoritma KMeans selanjutnya akan melakukan pengulangan langkahlangkah
berikut sampai terjadi kestabilan (tidak ada obyek yang dapat dipindahkan):
1. menentukan koordinat titik tengah setiap cluster,
2. menentukan jarak setiap obyek terhadap koordinat titik tengah,
3. mengelompokkan obyekobyek tersebut berdasarkan pada jarak minimumnya
Kelebihan dan Kelemahan algoritma Kmeans Algoritma Kmeans dinilai cukup efisien, yang ditunjukkan
dengan kompleksitasnya O(tkn), dengan catatan n adalah banyaknya obyek data, k adalah jumlah cluster yang
dibentuk, dan t banyaknya iterasi. Biasanya, nilai k dan t jauh lebih kecil daripada nilai n. Selain itu, dalam
iterasinya, algoritma ini akan berhenti dalam kondisi optimum lokal. Hal yang dianggap sebagai kelemahan
algoritma ini adalah adanya keharusan menetukan banyaknya cluster yang akan dibentuk, hanya dapat
digunakan dalam data yang meannya dapat ditentukan, dan tidak mampu menangani data yang mempunyai
penyimpanganpenyimpangan (noisy data dan outlier). Berkhin menyebutkan beberapa kelemahan algoritma K
means adalah: (1) sangat bergantung pada pemilihan nilai awal centroid, (2) tidak jelas berapa banyak cluster k
yang terbaik,(3) hanya bekerja pada atribut numerik
REFRENSI PENELITIAN
France Cheong dan Christopher Cheong melakukan analisis pada twitter mengenai banjir yang terjadi di
Australia sepanjang tahun 2010-2011. Penelitian ini dilakukan untuk melihat seberapa besar peran pemerintah
dalam memberikan update informasi mengenai bencana banjir tersebut. Berdasarkan hasil penelitian,
masyarakat umum dan relawan-relawan banjir merupakan pihak yang cukup berperan dalam melakukan update
informasi seputar banjir dan bantuan-bantuan.
Marion E. Hambriek dkk melakukan analisis terhadap akun twitter atlit untuk melihat tema apa yang
paling sering dikomunikasikan antara atlit dengan penggemar mereka. Pada penelitian ini ditemukan ternyata
atlit lebih sering membicarakan hal diluar bidang ke atlit annya, sedangkan hanya 15% dari tweets mereka yang
membicarakan seputar olahraga profesional yang mereka lakukan.
Jordan Johnston melakukan penelitian yang berkaitan dengan isi tweets dari tim NBA dengan tim NFL.
Penelitian tersebut membagi tweets menjadi enam kategori, yaitu keterlibatan, informasi, statistik tim, iklan,
keterlibatan pemain, dan promosi iklan. Hasil penelitian ini menampilkan dengan jelas perbedaan strategi dari
kedua tim. Tim NBA melakukan posting sebanyak dua kali mengenai dalam hal isi posting yang sama dengan
tim NFL. Sehingga terlihat bahwa tim NBA sangat memanfaatkan keberadaan twitter untuk memperlihatkan
eksistensinya dengan melakukan posting yang lebih sering dibandingkan tim NFL.
Desai dkk melakukan penelitian tentang konferensi tahunan yang dilakukan untuk memberikan informasi
terkait penyakit ginjal kepada masyarakat. Setelah pelaksanaan konferensi tahunan pada tahun 2011, Desai dkk
ingin mengetahui respon dari masyarakat melalui analisis menggunakan metode sentimen. Berdasarkan hasil
analisis, tweets yang berkaitan dengan konferensi 2011 mayoritas berisi tentang tweets yang positif dan bersifat
edukatif.
METODE PENELITIAN
Penelitian ini merupakan penelitian kualitatif, yang dilakukan untuk mengetahui kicauan (tweet)
serta topik-topik yang sering dikicaukan oleh Komisi Pemberantasan Korupsi dari akun twitternya
(@KPK_RI). Pengolahan data penelitian menggunakan bantuan software open source R dengan tambahan
paket tm, twitteR dan wordcloud.
Populasi Penelitian
Populasi dari penelitian ini adalah kicauan-kicauan (tweets) dari akun resmi Komisi Pemberantasan
Korupsi (@KPK_RI).
Sampel dan Teknik Pengambilan Sampel Penelitian
Tweets yang diambil berasal dari akun Komisi Pemberantasan Korupsi (@KPK_RI), yaitu sebanyak
500 kicauan (tweet) teratas sampai dengan 25 Januari 2015.
Data Penelitian
Data yang digunakan adalah data primer yang dikumpulkan dari tweets @KPK_RI. Data diambil
menggunakan sofware R dengan perintah sebagai berikut :
userTimeline("KPK_RI", n=500,cainfo="cacert.pem")
Banyaknya jumlah tweet yang diambil adalah sebanyak 500 tweet teratas.
Metode Pengumpulan Data Penelitian
Adapun metode pengumpulan data adalah sebagai berikut :
Mengambil data kicauan (tweets) yang berasal dari akun resmi (Official user Timeline) @KPK_RI.
TAHAPAN ANALISIS DATA
Secara umum, tahapan melakukan analisis text mining adalah sebagai berikut :
1. Mengambil Teks dari Twitter
Tweets dapat diambil dari twitter dengan peritah userTimeline(), atau searchTwitter() dalam paket twitteR
(Gentry, 2012). Penelitian ini menggunakan perintah userTimeline() karena yang ingin diteliti adalah timeline
dari akun twitter @KPK_RI.
> library(twitteR)
> load("twitteR_credentials")
> registerTwitterOAuth(twitCred)
> # mengambil 500 tweets teratas milik akun resmi KPK
> rdmTweets <- userTimeline("KPK_RI", n=500,cainfo="cacert.pem")
2.
Transformasi Teks
Teks yang telah diperoleh dari akun twitter, diubah menjadi data frame untuk membentuk korpus yang
merupakan kumpulan dari dokumen teks. Kemudian korpus dapat diproses dengan fungsi yang disediakan
pada paket tm (Feinerer, 2012)
# Melakukan convert kicauan (tweets) ke data frame
>df <- do.call("rbind", lapply(rdmTweets, as.data.frame))
>dim(df)
>library(tm)
># # Melakukan convert kicauan (tweets) ke data frame
>df <- do.call("rbind", lapply(rdmTweets, as.data.frame))
>dim(df)
>library(tm)
># membangun sebuah corpus, dan menspesifikasikannya kedalam bentuk vektor
karakter
>myCorpus <- Corpus(VectorSource(df$text))
Setelah melakukan spesifikasi kata kedalam bentuk vektor, langkah selanjutnya mengubah kata
menjadi kata turunan, menghilangkan tanda baca, menghapus angka, URL, menghilangkan beberapa kata
yang dianggap tidak penting menggunakan perintah stopword.
> # konversi menjadi kata turunan (inggris)
> myCorpus <- tm_map(myCorpus, tolower)
> # menghapus tanda baca
> myCorpus <- tm_map(myCorpus, removePunctuation)
> # menghapus angka
3.
Stemming word
Stemming merupakan proses yang dilakukan untuk mengubah sebuah kata turunan menjadi kata dasarnya
dengan menggunakan aturan-aturan tertentu. Contohnya kata ditunjuk menjadi kata menunjuk, kemudian
kata menunjuk akan di-stem menjadi kata dasarnya yaitu tunjuk.
> # menyimpan salinan korpus untuk digunakan sebagai kamus kata untuk stem
completion
> myCorpusCopy <- myCorpus
> # stem words
> myCorpus <- tm_map(myCorpus, stemDocument)
Setelah itu, menggunakan stemCompletion () untuk menyelesaikan stem dengan korpus yang
belum di-stem, myCorpusCopy sebagai kamus. Dengan pengaturan default, dibutuhkan kecocokan yang
paling sering dalam kamus sebagai completion.
># stem completion-->perubhn kata dasar
>myCorpus <- tm_map(myCorpus, stemCompletion, dictionary=myCorpusCopy)
4. Building Terms-Document Matrix (TDM)
Frequent Terms and Associations
Perintah yang digunakan untuk melihat kata populer (terbanyak) dan asosiasi antar kata adalah
findFreqTerms()
> # melihat frekuensi terms dengan frekuensi minimal 10 dari TDM
> findFreqTerms(myTdm, lowfreq=10)
Untuk menampilkan kata-kata yang paling populer dari akun resmi @KPK_RI, dapat dibentuk sebuah
barplot dari TDM. Berdasarkan terms matriks dokumen (TDM) dapat diperoleh frekuensi terms dengan
rowSums(). Kemudian dapat dipilih memunculkan beberapa dokumen dan menampilkannya dalam bentuk
barplot menggunakan paket ggplot2 (Wickham, 2009).
> termFrequency <- rowSums(as.matrix(myTdm))
> termFrequency <- subset(termFrequency, termFrequency>=10)
> library(ggplot2)
> qplot(names(termFrequency), termFrequency, geom="bar", xlab="Terms")+
coord_flip()
> barplot(termFrequency, las=2)
5.
Membuat WordCloud
Setelah membuat Tdm, dapat juga menampilkan kata-kata penting dengan menggunakan wordcloud.
Wordcloud dapat dengan mudah dibentuk dengan menggunakan paket wordcloud (Fellows, 2012).
> library(wordcloud)
> m <- as.matrix(myTdm)
> # menghitung frekuensi kata dan mengurutkannya berdasarkan frekuensi
terbanyak
> wordFreq <- sort(rowSums(m), decreasing=TRUE)
> # word cloud
> set.seed(375) # to make it reproducible
> grayLevels <- gray( (wordFreq+10) / (max(wordFreq)+10) )
>
wordcloud(words=names(wordFreq),
freq=wordFreq,
min.freq=3,
random.order=F,
+ colors=grayLevels)
6.
dengan kata pemberantasan (0,42), berantas (0,32), cegah (0,29), pencegahan (0,23) dst. Dari asosiasi tersebut,
dapat tergambarkan bahwa KPK saat ini sedang dalam masa menggalakkan atau fokus untuk pemberantasan,
pencegahan, penindakan korupsi dengan berbagai strategi.
Chung, Sang and Liu, S. (2011) Predicting Stock Market Fluctuations from Twitter. [Online] Available from:
http://www.stat.berkeley.edu/~aldous/157/Old_Projects/Sang_Chung_Sandy_Liu.pdf. [Accesed: January 25,
2015].
Kumar, S., Morstatter, F., and Liu, H. (2013) Twitter Data Analytics. [Online] Available from:
http://tweettracker.fulton.asu.edu/tda/TwitterDataAnalytics.pdf. [Accesed: January 25, 2015].
Indoberita. [Online] Available from: http://www.indoberita.com/2015/01/109186/budi-gunawan-diangkatpresiden-jokowi-sebagai-calon-kapolri/. [Accesed: January 26, 2015].
News Okezone. [Online] Available from: http://news.okezone.com/read/2014/12/29/337/1085140/11-prestasikpk-versi-icw. [Accesed: January 26, 2015].
Chandra, D. Media Sosial. [Online] Available from: http://library.binus.ac.id/eColls/eThesisdoc/Bab2/David
%20Chandra%202.pdf. [Accesed: January 26, 2015].
_.Media Sosial (2011). [Online] Available from: http://library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-200902-MC%20Bab2001.pdf. [Accesed: January 26, 2015].
_. Wordcloud in R (2011) [Online] Available from: http://onertipaday.blogspot.jp/2011/07/word-cloud-inr.html. [Accesed: January 27, 2015].
Thearling,
Kurt
(2012).
An
Introduction
to
Data
Mining.
http://www.thearling.com/text/dmwhite/dmwhite.htm. [Accesed: January 27, 2015].
Available
from:
Kaur, R., & Aggarwal, S. (2013). Techniques for Mining Text Documents. International Journal of Computer
Applications (0975 8887) , Volume 66 No.18,.
Mooney, R. J. (2005). Text Mining with Information Extraction. Multilingualism and Electronic Language
Management , 141-160.
Pal, Shankar K & Mitra, Pabitra. 2004. PatternRecognition algorithmsfor data mining. CRC Press.
William,
Graham.
2005.
Data
Mining
Cluster.
[Online]
Available
from:
http://datamining.anu.edu.au/student/math3346_2005/050809maths3346clusters2x2.pdf. [Accesed: January
27, 2015].
Cheong, F., & Cheong, C. (2011). Social Media Data Mining: A Social Network Analysis Of Tweets During The
2010-2011 Australian Floods. PACIS 2011 , 46.
Hatta, A. e. (2012). Rancang Bangun Sistem Pengelolaan Dokumen-dokumen .
Kaur, R., & Aggarwal, S. (2013). Techniques for Mining Text Documents. International Journal of Computer
Applications (0975 8887) , Volume 66 No.18,.
Lama, P. (2013). CLUSTERING SYSTEM BASED ON TEXT MINING USING THE K-MEANS ALGORITHM.
Turku: TURKU UNIVERSITY OF APPLIED SCIENCES.
Mooney, R. J. (2005). Text Mining with Information Extraction. Multilingualism and Electronic Language
Management , 141-160.
Mooney, R., & Nahm, U. Y. (2006). Text Mining. MAchine Learning Text Categorization .
Universitat Oberta de Catalunya. R OAuth for TwitteR. [Online] Available from:
http://data-mining.business-intelligence.uoc.edu/home/data-from-twitter/r-oauth-fortwitter. [Accesed: January 27, 2015].
LAMPIRAN
library(twitteR)
library(RCurl)
library(wordcloud)
library(SnowballC)
reqURL <- "https://api.twitter.com/oauth/request_token"
accessURL <- "https://api.twitter.com/oauth/access_token"
authURL <- "https://api.twitter.com/oauth/authorize"
consumerKey <-"mg3b7ciGs0ZnWqxsMgYO1NoO4"
consumerSecret <- "ZOUZnWzBW2bDRDKTv7prHc4UCNH5fAL2LzZtOW2yQTDJYNPum3"
twitCred <- OAuthFactory$new(consumerKey = consumerKey,
consumerSecret = consumerSecret,
requestURL = reqURL,
accessURL = accessURL,
authURL = authURL)
twitCred
<OAuthFactory$new(consumerKey=consumerKey,consumerSecret=consumerSecret,requ
estURL=reqURL,accessURL=accessURL,authURL=authURL)
download.file(url="http://curl.haxx.se/ca/cacert.pem",
destfile="cacert.pem")
twitCred$handshake(cainfo = system.file("CurlSSL", "cacert.pem", package =
"RCurl"))
registerTwitterOAuth(twitCred)
save(list="twitCred", file="twitteR_credentials")
library(twitteR)
load("twitteR_credentials")
registerTwitterOAuth(twitCred)
library(tm)
rdmTweets <- userTimeline("KPK_RI", n=500,cainfo="cacert.pem")
rdmTweets
nDocs <- length(rdmTweets)
for (i in 11:15) {
cat(paste("[[", i, "]] ", sep=""))
writeLines(strwrap(rdmTweets[[i]]$getText(), width=73))
}
# convert tweets to a data frame
df <- do.call("rbind", lapply(rdmTweets, as.data.frame))
dim(df)
library(tm)
# build a corpus, and specify the source to be character vectors
myCorpus <- Corpus(VectorSource(df$text))
# convert to lower case
myCorpus <- tm_map(myCorpus, tolower)
# remove punctuation
myCorpus <- tm_map(myCorpus, removePunctuation)
# remove numbers
myCorpus <- tm_map(myCorpus, removeNumbers)
# remove URLs
removeURL <- function(x) gsub("http[[:alnum:]]*", "", x)
myCorpus <- tm_map(myCorpus, removeURL)
# inspect(myCorpus[11:15])
# The code below is used for to make text fit for paper width
for (i in 11:15) {
cat(paste("[[", i, "]] ", sep=""))
writeLines(strwrap(myCorpus[[i]], width=73))}
# stem completion-->perubhn kata dasar
myCorpus <- tm_map(myCorpus, stemCompletion, dictionary=myCorpusCopy)
inspect(myCorpus[11:15])
myCorpus <- tm_map(myCorpus, tolower)
myCorpus <- tm_map(myCorpus, PlainTextDocument)
myTdm <- TermDocumentMatrix(myCorpus)
Docs(myTdm)
myTdm <- TermDocumentMatrix(myCorpus, control=list(wordLengths=c(1,Inf)))
myTdm
idx <- which(dimnames(myTdm)$Terms == "love")
inspect(myTdm[idx+(5:10),10:20])
#ggplot
myTdm <- TermDocumentMatrix(myCorpus, control=list(minWordLength=1))
# inspect frequent words--> gede
findFreqTerms(myTdm, lowfreq=10)
termFrequency <- rowSums(as.matrix(myTdm))
termFrequency <- subset(termFrequency, termFrequency>=10)
library(ggplot2)
qplot(names(termFrequency),
termFrequency,
xlab="Terms",stat="identity") + coord_flip()
geom="bar",
barplot(termFrequency, las=2)
m <- as.matrix(myTdm)
# calculate the frequency of words and sort it descendingly by frequency
wordFreq <- sort(rowSums(m), decreasing=TRUE)
# word cloud
set.seed(375) # to make it reproducible
grayLevels <- gray( (wordFreq+10) / (max(wordFreq)+10) )
wordcloud(words=names(wordFreq),freq=wordFreq,mi.freq=1,random.order=F,colo
rs=brewer.pal(8, "Dark2"))
#ASSOSIASI
# which words are associated with "korupsi" "antikorupsi" "gratifikasi"
"savekpk" "kanalkpk"?---> yg brhubungan
findAssocs(myTdm, 'korupsi', 0.20)
findAssocs(myTdm, 'antikorupsi', 0.20)
findAssocs(myTdm, 'gratifikasi', 0.20)
findAssocs(myTdm, 'savekpk', 0.05)
findAssocs(myTdm, 'kanalkpk', 0.19)
# remove sparse terms
myTdm2 <- removeSparseTerms(myTdm, sparse=0.95)
m2 <- as.matrix(myTdm2)
# cluster terms
distMatrix <- dist(scale(m2))
fit <- hclust(distMatrix, method="ward")
plot(fit)
# cut tree into 3 clusters
rect.hclust(fit, k=3)
(groups <- cutree(fit, k=3))
#CLUSTER TWEETS
# transpose the matrix to cluster documents (tweets)
m3 <- t(m2)
# set a fixed random seed
set.seed(122)
# k-means clustering of tweets
k <- 2
kmeansResult <- kmeans(m3, k)
# cluster centers
round(kmeansResult$centers, digits=3)