LAPORAN KLUSTERING PADA TWITTER MENGGUNAKAN BAHASA PEMROGRAMAN “R”

LAPORAN
KLUSTERING PADA TWITTER MENGGUNAKAN BAHASA PEMROGRAMAN R


Disusun Oleh :
  Lisa Okta Katelia
16.01.63.0024
  Pipit Fitriana Nugrahaeni
16.01.63.0026
  Danang Dwi Kristianto
13.01.53.0082




UNIVERSITAS STIKUBANK SEMARANG
FALKUTAS TEKNOLOGI INFORMASI
TEKNIK INFORMATIKA
2017



















BAB I
PENDAHULUAN

1.1     Deskripsi Permasalahan
     Pada era teknologi informasi saat ini bermacam sarana telekomunikasi berkembang dengan sangat pesat dan dengan mudah kita dapatkan melalui telepon kabel, telepon seluler hingga satelit sehingga dengan mudah bisa dinikmati, perkembangan teknologi telekomunikasi memungkinkan orang mengirim dan menerima informasi dari segala pejuru dunia. Melalui jaringan internet segala informasi dapat diperoleh dengan mudah, salah - satu teknologi yang paling sering digunakan yaitu media sosial yang memungkinkan seseorang mengirim data dari tempat yang jauh dan biaya yang relative murah, tidak seperti pengiriman surat dari pos yang dapat memakan waktu sehari – hari dan biaya pengiriman yang mahal.
Media sosial adalah sebuah media daring, dengan para penggunanya bisa dengan mudah berpartisipasi, berbagi, dan menciptakan isi meliputi blog, jejaring sosial, wiki, forum dan dunia virtual. Blog, jejaring sosial dan wiki merupakan bentuk media sosial yang paling umum digunakan oleh masyarakat di seluruh dunia. 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 user-generated content"
K-Means adalah suatu metode penganalisaan data atau metode Data Mining yang melakukan proses pemodelan tanpa supervisi (unsupervised) dan merupakan salah satu metode yang melakukan pengelompokan data dengan sistem partisi. Metode k-means berusaha mengelompokkan data yang ada ke dalam beberapa kelompok, dimana data dalam satu kelompok mempunyai karakteristik yang sama satu sama lainnya dan mempunyai karakteristik yang berbeda dengan data yang ada di dalam kelompok yang lain. Dengan kata lain, metode ini berusaha untuk meminimalkan variasi antar data yang ada di dalam suatu cluster dan memaksimalkan variasi dengan data yang ada di cluster lainnya.
R adalah suatu free software untuk analisis data dan grafik yang didasarkan pada bahasa pemrograman S yang dikembangkan oleh Rick Becker, John Chambers, dan Allan Wilks dari AT&T Bell Laboratories (1976) . R merupakan bahasa tingkat tinggi (high level language) . R ditulis oleh Ross Ihaka dan Robert Gentleman di Universitas Auckland, Selandia Baru. Banyak kelompok orang telah berkontribusi pada R dengan mengirimkan kode dan melaporkan bug. Sejak pertengahan tahun 1997, telah ada grup inti R (“R Development Core Team”) yang dapat memodifikasi arsip kode sumber R
Clustering adalah metode penganalisaan data, yang sering dimasukkan sebagai salah satu metode Data Mining, yang tujuannya adalah untuk mengelompokkan data dengan karakteristik yang sama ke suatu ‘wilayah’ yang sama dan data dengan karakteristik yang berbeda ke ‘wilayah’ yang lain. Ada beberapa pendekatan yang digunakan dalam mengembangkan metode clustering. Dua pendekatan utama adalah clustering dengan pendekatan partisi dan clustering dengan pendekatan hirarki. Clustering dengan pendekatan partisi atau sering disebut dengan partition-based clustering mengelompokkan data dengan memilah-milah data yang dianalisa ke dalam cluster-cluster yang ada. Clustering dengan pendekatan hirarki atau sering disebut dengan hierarchical clustering mengelompokkan data dengan membuat suatu hirarki berupa dendogram dimana data yang mirip akan ditempatkan pada hirarki yang berdekatan dan yang tidak pada hirarki yang berjauhan. Di samping kedua pendekatan tersebut, ada juga clustering dengan pendekatan automatic mapping (Self-Organising Map/SOM).
Twitter merupakan situs jejaring sosial yang keberadaannya masih diminiati oleh masyarkat sampai saat ini. Twitter adalah jejaring sosial berupa blog ukuran kecil yang didirikan oleh Jack Dorsey pada bulan Maret 2006. Melalui Twitter pengguna dapat mengirim dan membaca pesan, berbagi informasi, menjalin relasi bisnis, menuangkan isi hati dan pikiran dalam bentuk tulisan (sering disebut tweet), dengan kapasitas kata yang bisa diunggah dan ditampilkan pada timeline penggunatwitter mencapai 140 karakter. Sama halnya dengan situs jejaring sosial lain dalam Twitter disediakan suatu mesin pencarian (search engine) yang berguna untuk mempermudah pengguna dalam menemukan informasi menggunakan kata kunci. Melalui search engine pengguna dapat menemukan lebih banyak informasi yang dibutuhkan terkait topik yang ingin dicari, yaitu lebih dari satu akun yang ada di twitter.
1.2  Rumusan Masalah
Berdasarkan latar belakang di atas maka rumusan masalahnya adalah bagaimana penjelasan mengenai Klustering K-means dan implementasinya menggunakan bahasa R.


















BAB II
TINJAUAN PUSTAKA

Pada bagian ini akan dipaparkan penjelasan tentang tinjauan pustaka yang dipakai dalam penjelasan mengenai Klustering K-means, implementasinya menggunakan bahasa R.
1.1    Kajian Deduktif
Clustering atau klasterisasi adalah metode pengelompokan data. Menurut Tan, 2006 clusteringadalah sebuah proses untuk mengelompokan data ke dalam beberapa cluster atau kelompok sehingga data dalam satu cluster memiliki tingkat kemiripan yang maksimum dan data antarcluster memiliki kemiripan yang minimum. Clustering merupakan proses partisi satu set objek data ke dalam himpunan bagian yang disebut dengan cluster. Objek yang di dalam cluster memiliki kemiripan karakteristik antar satu sama lainnya dan berbeda dengan cluster yang lain. Partisi tidak dilakukan secara manual melainkan dengan suatu algoritma clustering. Oleh karena itu, clustering sangat berguna dan bisa menemukan group atau kelompokyang tidak dikenal dalam data. Clustering banyak digunakan dalam berbagai aplikasi seperti misalnya pada business inteligence, pengenalan pola citra, web search, bidang ilmu biologi, dan untuk keamanan (security). Di dalam business inteligenceclusteringbisa mengatur banyak customer ke dalam banyaknya kelompok. Contohnya mengelompokan customer ke dalam beberapa cluster dengan kesamaan karakteristik yang kuat. Clustering juga dikenal sebagai data segmentasi karena clustering mempartisi banyak data set ke dalam banyak group berdasarkan kesamaannya. Selain itu clustering juga bisa sebagai outlier detection. Manfaat Clustering :
1.      Clustering merupakan metode segmentasi data yang sangat berguna dalam prediksi dan analisa masalah bisnis tertentu. Misalnya Segmentasi pasar, marketing dan pemetaan zonasi wilayah.
2.      Identifikasi obyek dalam bidang berbagai bidang seperti computer vision dan image processing.
Dalam clustering dikenal empat tipe data. Keempat tipe data pada tersebut ialah:
1.      Variabel berskala interval
2.      Variabel biner
3.      Variabel nominal, ordinal, dan rasio
4.      Variabel dengan tipe lainnya.
Metode clustering juga harus dapat mengukur kemampuannya sendiri dalam usaha untuk menemukan suatu pola tersembunyi pada data yang sedang diteliti. Terdapat berbagai metode yang dapat digunakan untuk mengukur nilai kesamaan antar objek-objek yang dibandingkan. Salah satunya ialah dengan weighted Euclidean Distance. Euclidean distance menghitung jarak dua buah point dengan mengetahui nilai dari masing-masing atribut pada kedua poin tersebut. Berikut formula yang digunakan untuk menghitung jarak dengan Euclidean distance:


Keterangan:
N = Jumlah record data
K= Urutan field data
r= 2
µk= Bobot field yang diberikan user

Data clustering menggunakan metode K-Means ini secara umum dilakukan dengan algoritma dasar sebagai berikut (Yudi Agusta, 2007) :
1.        Tentukan jumlah cluster
2.        Alokasikan data ke dalam cluster secara random
3.        Hitung centroid atau rata-rata dari data yang ada di masing- masing cluster
4.        Alokasikan masing-masing data ke centroid/ rata-rata terdekat
5.        Kembali ke Step 3, apabila masih ada data yang berpindah cluster atau apabila           perubahan nilai centroid, ada yang di
atas nilai threshold yang ditentukan atau apabila perubahan nilai pada objective function yang digunakan di atas nilai threshold yang ditentukan.
Beberapa alternatif penerapan K-Means dengan beberapa pengembangan teori-teori penghitungan terkait telah diusulkan. Hal ini termasuk pemilihan:
1.     Distance space untuk menghitung jarak di antara suatu data dan centroid.
2.     Metode     pengalokasian  data     kembali            ke        dalam  setiap cluster.
Beberapa permasalahan yang sering muncul pada saat menggunakan metode K-Means untuk melakukan pengelompokan data adalah:
1.  Ditemukannya beberapa model clustering yang berbeda
2.  Pemilihan jumlah cluster yang paling tepat
3.  Kegagalan untuk converge
4.  Pendeteksian outliers
5.  Bentuk masing-masing cluster
6.  Masalah overlapping
Keenam permasalahan ini adalah beberapa hal yang perlu diperhatikan pada saat menggunakan K-Means dalam mengelompokkan data. Permasalahan 1 umumnya disebabkan oleh perbedaan proses inisialisasi anggota masing-masing cluster. Proses initialisasi yang sering digunakan adalah proses inisialisasi secara random. Dalam suatu studi perbandingan, proses inisialisasi secara random mempunyai kecenderungan untuk memberikan hasil yang lebih baik dan independent, walaupun dari segi kecepatan untuk converge lebih lambat. Permasalahan 2 merupakan masalah laten dalam metode K- Means. Beberapa pendekatan telah digunakan dalam menentukan jumlah cluster yang paling tepat untuk suatu dataset yang dianalisa termasuk di antaranya Partition Entropy (PE) dan GAP Statistics. Satu hal yang patut diperhatikan mengenai metode-metode ini adalah pendekatan yang digunakan dalam mengembangkan metode-metode tersebut tidak sama dengan pendekatan yang digunakan oleh K-Means dalam mempartisi data item ke masing- masing cluster. Permasalahan kegagalan untuk converge, secara teori memungkinkan untuk terjadi dalam kedua metode K-Means. Kemungkinan ini akan semakin besar terjadi untuk metode Hard K- Means, karena setiap data di dalam dataset dialokasikan secara tegas (hard) untuk menjadi bagian dari suatu cluster tertentu. Perpindahan suatu data ke suatu cluster tertentu dapat mengubah karakteristik model clustering yang dapat menyebabkan data yang telah dipindahkan tersebut lebih sesuai untuk berada di cluster semula sebelum data tersebut dipindahkan dan demikian juga dengan keadaan sebaliknya. Kejadian seperti ini tentu akan mengakibatkan pemodelan tidak akan berhenti dan  kegagalan untuk converge akan terjadi. Untuk Fuzzy K-Means walaupun ada, kemungkinan permasalahan ini untuk terjadi sangatlah kecil, karena setiap data diperlengkapi dengan membership function (Fuzzy K- Means) untuk menjadi anggota cluster yang ditemukan.
Permasalahan 4 merupakan permasalahan umum yang terjadi hampir di setiap metode yang melakukan pemodelan terhadap data. Khusus untuk metode K-Means hal ini memang menjadi permasalahan yang cukup menentukan. Beberapa hal yang perlu diperhatikan dalam melakukan pendeteksian outliers dalam proses pengelompokan data termasuk bagaimana menentukan apakah suatu data item merupakan outliers dari suatu cluster tertentu dan apakah data dalam jumlah kecil yang membentuk suatu cluster tersendiri dapat dianggap sebagai outliers. Proses ini memerlukan suatu pendekatan khusus yang berbeda dengan proses pendeteksian outliers di dalam suatu dataset yang hanya terdiri dari satu populasi yang homogen.
Permasalahan kelima adalah menyangkut bentuk cluster yang ditemukan. Tidak seperti metode data clustering lainnya termasuk Mixture Modelling, K-Means umumnya tidak mengindahkan bentuk dari masing-masing cluster yang mendasari model yang terbentuk, walaupun secara alamiah masing-masing cluster umumnya berbentuk bundar. Untuk dataset yang diperkirakan mempunyai bentuk yang tidak biasa, beberapa pendekatan perlu untuk diterapkan.
Masalah overlapping sebagai permasalahan terakhir sering sekali diabaikan karena umumnya masalah ini sulit terdeteksi. Hal ini terjadi untuk metode Hard K-Means dan Fuzzy K-Means, karena secara teori metode ini tidak diperlengkapi feature untuk mendeteksi apakah di dalam suatu cluster ada cluster lain yang kemungkinan tersembunyi.
K-Means merupakan metode data clustering yang digolongkan sebagai metode pengklasifikasian yang bersifat unsupervised (tanpa arahan). Pengkategorian metodemetode pengklasifikasian data antara supervised dan unsupervised classification didasarkan pada adanya dataset yang data itemnya sudah sejak awal mempunyai label kelas dan dataset yang data itemnya tidak mempunyai label kelas.
Untuk data yang sudah mempunyai label kelas, metode pengklasifikasian yang digunakan merupakan metode supervised classification dan untuk data yang belum mempunyai label kelas, metode pengklasifikasian yang digunakan adalah metode unsupervised classification.

1.2     Kajian Induktif
Tinjauan Pustaka tersebut adalah hasil penelitian terdahulu tentang informasi hasil penelitian yang telah dilakukan sebelumnya dan menghubungkan dengan masalah yang sedang diteliti.
Menurut Imam Adiyana, Fajriya Hakim (2015) dalam jurnal dengan judul Implementasi text nining pada mesin pencarian twitter untuk menganalisis topik-topik terkait “KPK dan JOKOWI” dari hasil pembahasan mengenai aplikasi teks mining untuk penanganan data besar hasil pencarian topik-topik terkait pada search engine twitter dengan studi kasus topik KPK dan Jokowi maka dapat ditarik kesimpulan yang menghasilkan sebuah informasi bahwa:
1.        Terdapat kesamaan topik utama yang digunakan pada tweet-tweet ketika pengguna twitter mencari informasi seputar topik KPK dan Jokowi pada search engine twitter yaitu topik utama KPK dan Polri.
2.        Berdasarkan ukuran asosiasi kata dengan nilai korelasi tidak kurang dari 0.30, kata-kata yang berasosiasi dengan kata KPK adalah kata Polri dan Lapor. Sedangkan kata-kata yang berasosiasi dengan Jokowi dimana nilai korelasi tidak kurang dari 0.30 adalah kata Widodo, Menghadiri, Izin, Pintu,  Satu, Investor, Urus, Presiden, Nilai, Aktif, Bahaya, Manuver, Menang, Mulai, Relawan, dan Sejumlah. Hasil pengelompokan kata berdasarkan tingkat keseringan kata-kata muncul bersamaan didapatkan 10 kelompok untuk kedua topik (KPK dan Jokowi).
3.        Terdapat kesamaan topik yang dibahas pada pengelompokan tweet untuk topik KPK dan Jokowi yaitu tweet  yang membahas mengenai topik "kpk, polri, dan jokowi”. Kesamaan-kesamaan penggunaan kata pada tweet untuk dua topik yang berbeda menunjukan adanya hubungan dari kedua topik tersebut, dimana ditunjukan dari hasil analisis mengenai data tweet topik KPK dan data tweet topik Jokowi yang memiliki keseringan dan kesamaan penggunaan kata pada tweet.
Keyword : Teks Mining, Twitter, Mesin Pencarian
Menurut Mohammad Zoqi Sarwani, Wayan Firdaus Mahmudy (2015) dalam jurnal dengan judul Analisis Twitter Untuk Mengetahui Karakter Seseorang Menggunakan Algoritma Naïve Bayes Classifier, maka dapat ditarik kesimpulan yang menghasilkan sebuah informasi bahwa twitter dapat digunakan sebagai salah satu media untuk mengetahui kepribadian seseorang melakui posting atau tweets mereka. Selain itu, proses pengklasifikasian twitter menggunakan metode Naïve Bayess Classificaation juga mampu memberikan tingkat akurasi yang baik dengan membandingkan hasil klasifikasi dari sistem dengan hasil dari pakar.


















BAB III
METODE PENELITIAN

Penelitian ini menggunakan data-data teks pada media sosial twitter yang berkaitan dengan kata kunci “banjir”. Tujuan akhir penelitian ini adalah dapat mendeskripsikan topik utama dan kata - kata yang melekat pada “banjir”, serta mengelompokkan topik - topik lain yang saling berkaitan. Populasi dari penelitian ini adalah berita/dokumen (teks) pada sosial media twitter yang termasuk dalam kategori microblogging tentang“banjir”. Tweet-tweet pengguna pada twitter dapat dijadikan sebagai topik-topik pada media online. Sampel dan Teknik Pengambilan Sampel Sampel yang diambil adalah teks dari twitter yang diambil dengan permintaan kepada sistem sebanyak 250 tweet pada periode waktu tertentu.
Sumber Data dan Metode Pengumpulan Data Data yang digunakan adalah data primer yang dikumpulkan dari media sosial twitter. Data diambil dengan cara mendownload dan mengumpulkan data tweet mengenai banjir dari hasil pencarian search engine twitter (mesin pencarian twitter) dan menyimpannya menggunakan suatu program dengan software “R”. Tahapan Analisis Data Secara umum, tahapan melakukan analisis text mining dapat digambarkan dalam diagram alir berikut :



Gambar  3.1 Diagram alir



































BAB IV
HASIL DAN PEMBAHASAN

Term of Frequency “banjir” berikut ini merupakan gambar term of frequency topik-topik terkait “banjir.
tweets <- userTimeline("banjir", n = 250)
show(tweets)
n.tweet <- length(tweets)
# convert tweets to a data frame
tweets.df <- twListToDF(tweets)
myCorpus <- Corpus(VectorSource(tweets.df$text))
# convert to lower case
myCorpus <- tm_map(myCorpus, content_transformer(tolower))
# remove URLs
removeURL <- function(x) gsub("http[^[:space:]]*", "", x)
myCorpus <- tm_map(myCorpus, content_transformer(removeURL))
# remove anything other than English letters or space
removeNumPunct <- function(x) gsub("[^[:alpha:][:space:]]*", "", x)
myCorpus <- tm_map(myCorpus, content_transformer(removeNumPunct))
# remove stopwords
myStopwords <- c(setdiff(stopwords('english'), c("r", "big")),"use", "see", "used", "via", "amp")
myCorpus <- tm_map(myCorpus, removeWords, myStopwords)
# remove extra whitespace
myCorpus <- tm_map(myCorpus, stripWhitespace)
# keep a copy for stem completion later
myCorpusCopy <- myCorpus

term.freq <- rowSums(as.matrix(tdm))
tdm <- TermDocumentMatrix(myCorpus)
term.freq <- subset(term.freq, term.freq >= 10)
df <- data.frame(term = names(term.freq), freq = term.freq)

ggplot(df, aes(x=term, y=freq)) + geom_bar(stat="identity") +
  xlab("Terms") + ylab("Count") + coord_flip() +
  theme(axis.text=element_text(size=7))


Gambar 4.1. Barchart yang menunjukan kata-kata yang menjadi
topik utama dan sering muncul pada banjir
Berdasarkan barchart (diagram batang) pada gambar diatas dapat diketahui term of frequency dari kata-kata (topik) lain yang sering muncul bersamaan dengan kata banjir. Term  of  frequency    adalah  kata-kata  yang  sering  muncul  dari  data  teks  yang dianalisis, yang ditampilkan dalam bentuk diagram batang dimana topik utama terkait kata kunci ditampilkan dengan gambar batang yang lebih panjang dibanding lainnya.
Gambar 4.1. barchart menunjukan kata-kata  yang  menjadi topik utama  dan sering muncul saat pengguna twitter mencari informasi terkait banjir pada search engine twitter adalah kata okezone,dan,online,republika,warga.
#k-means clustering
d <- dist(term.freq, method="euclidian")
carsCluster <- kmeans(term.freq, 3)
clusplot(as.matrix(d), carsCluster$cluster, color=T, shade=T, labels=3, lines=0)



Gambar 4.2. Hasil klasifikasi tweets berdasarkan plotcluster
Berdasarkan plot diatas, data dapat mengelompok dengan baik sesuai dengan kesamaan karakteristiknya, cluster 1 ditunjukkan dengan plot berwarna merah, cluster 2 warna biru, dan cluster 3 berwarna merah muda.

m <- as.matrix(tdm)
# calculate the frequency of words and sort it by frequency
word.freq <- sort(rowSums(m), decreasing = T)
# colors
pal <- brewer.pal(9, "BuGn")[-(1:4)]
# plot word cloud
wordcloud(words = names(word.freq), freq = word.freq, min.freq = 3,
 random.order = F, colors = pal)



Gambar 4.3. Wordcloud

Dari Gambar 4.3, terlihat bahwa Word cloud (awan kata) adalah kumpulan kata-kata yang paling banyak  muncul dalam data teks  yang  dianalisis.  Kata-kata  tersebut  terkumpul  seperti  sebuah gumpalan awan yang berisi kata-kata sehingga disebut awan kata. Intensitas keseringan kata yang digunakan, ditunjukan dengan ukuran huruf pada kata. Semakin besar huruf dari kata yang terdapat di awan kata menunjukkan semakin sering kata tersebut muncul. Tampilan awan kata ini lebih menarik serta cepat untuk menemukan kata-kata yang sering muncul, akan tetapi awan kata memiliki kekurangan yaitu   tidak dapat menunjukkan frekuensi kata-kata muncul  dalam suatu teks yang dianalisis.
Berdasarkan gambar 4.3. dapat diketahui kata (topik) yang sering muncul dalam word cloud bersamaan dengan kata banjir adalah kata  yang  menjadi topik utama  dan sering muncul saat pengguna twitter mencari informasi terkait banjir pada search engine twitter adalah kata okezone,dan,online,republika,warga.





BAB V
KESIMPULAN DAN REKOMENDASI



Klustering adalah mengelompokkan variabel ke dalam kelompok berdasarkan kesamaan tertentu. Sedangkan R adalah suatu perangkat lunak yang digunakan untuk manipulasi data, perhitungan, simulasi, penayangan grafik, dan sekaligus sebagai bahasa pemograman yang bersifat interpreter R. Dari hasil pembahasan diatas mengenai aplikasi teks mining untuk penanganan data besar hasil pencarian topik-topik terkait pada search engine twitter dengan studi kasus topik banjir maka dapat ditarik kesimpulan yang menghasilkan sebuah informasi atau pemberitaan yang sedang hangat dibicarakan dan diberitakan oleh  media  mengenai  banjir bahwa terdapat topik utama yang digunakan pada tweet-tweet ketika pengguna twitter mencari informasi seputar topik banjir pada search engine dapat diketahui kata (topik) yang sering muncul dalam word cloud bersamaan dengan kata banjir adalah kata  yang  menjadi topik utama  dan sering muncul saat pengguna twitter mencari informasi terkait banjir pada earch engine twitter adalah kata okezone,dan,online,republika,warga merupakan topik menarik lain yang cukup sering digunakan terkait pencarian topik banjir.
























DAFTAR PUSTAKA



Adiyana Imam dan Fajriya Hakim, 2015 Implementasi text nining pada mesin pencarian twitter untuk menganalisis topik-topik terkait KPK dan JOKOWI, Jurnal Prosiding Pendidikan Matematika  UMS

Agusta Yudi, 2007. K-Means – Penerapan Permasalahan dan Metode Terkait, Jurnal Sistem dan Informatika Vol. 3 (Pebruari 2007), 47-60.

Zhao, Yanchang 2011. R and Data  Mining: Examples and Case Studies. Elsevier.
sumber: http:// http://www.rdatamining.com/examples/kmeans-clustering
(29 November 2017)

Irwansyah, Edi. Clustering.
sumber: https://socs.binus.ac.id/2017/03/09/clustering/
(2 Desember 2017)



























































Komentar

Postingan populer dari blog ini

Makalah tentang Tokenisasi,Stopword removal, dan Stemming