Klastering Twitter dengan Bahasa R

LAPORAN
KLUSTERING PADA TWITTER MENGGUNAKAN BAHASA PEMROGRAMAN R


 
 



                                                                                                                                 
 Disusun Oleh :
Rr. Binar Novicha P.
16.01.63.0002




UNIVERSITAS STIKUBANK SEMARANG (UNISBANK)
FALKUTAS TEKNOLOGI INFORMASI
TEKNIK INFORMATIKA
2018


BAB I
PENDAHULUAN

1.1  Deskripsi Permasalahan
Sebagai makhluk sosial, manusia tidak lepas dari kebutuhan dasar untuk bersosialisasi. Sosialisasi secara umum adalah proses belajar individu untuk mengenal dan menghayati norma-norma serta nilai-nilai sosial sehingga terjadi pembentukan sikap untuk berperilaku sesuai dengan tuntutan atau perilaku masyarakatnya. Salah satu cara bersosialisasi dapat dilakukan melalui komunikasi verbal maupun non verbal dan secara langsung ataupun tidak langsung. Melalui komunikasi antar individu dapat bertukar kabar atau berita yang menghasilkan suatu informasi.
Berkhin (2006) menyatakan salah satu metode yang diterapkan dalam KDD adalah clustering. Clustering adalah membagi data ke dalam grup-grup yang mempunyai obyek yang karakteristiknya sama. Garcia (2002) menyatakan clustering adalah mengelompokkan item data ke dalam sejumlah kecil grup sedemikian sehingga masing-masing grup mempunyai sesuatu persamaan yang esensial.
Andayani (2007) menyatakan clustering memegang peranan penting dalam aplikasi data mining, misalnya eksplorasi data ilmu pengetahuan, pengaksesan informasi dan text mining, aplikasi basis data spasial, dan analisis web. Clustering diterapkan dalam mesin pencari di Internet. Web mesin pencari akan mencari ratusan dokumen yang cocok dengan kata kunci yang dimasukkan. Dokumendokumen tersebut dikelompokkan dalam cluster-cluster sesuai dengan kata-kata yang digunakan.
Du (2010) menjelaskan bahwa klasterisasi adalah proses membagi data yang tidak berlabel menjadi kelompok-kelompok data yang memiliki kemiripan. Misalkan K adalah jumlah klaster, C merupakan label klaster, dan P merupakan dataset.
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. Twitter sebagai hasil dari perkembangan teknologi informasi memungkinkan setiap waktu untuk menghasilkan kumpulan data yang banyak, dimana setiap detiknya pada saat kehidupan normal rata-rata jumlah tweet yang ada dalam twitter adalah 600 tweet. Hal tersebut tidak berlaku jika suatu waktu terjadi peristiwa-peristiwa tertentu yang menyebabkan peningkatan atau penurunan rata-rata jumlah tweet perdetiknya. Dengan adanya kumpulan data yang terus meningkat setiap waktunya yaitu berupa data tweet perlu dilakukan suatu penangan menggunakan metode khusus untuk mengalisis data pada twitter sehingga menghasilkan suatu informasi yang bermanfaat dan mengurangi kondisi yang biasa disebut “rich of data but poor of information”.
1.2  Rumusan Masalah
Berdasarkan latar belakang di atas maka rumusan masalahnya adalah bagaimana penjelasan mengenai Klustering K-means dan implementasinya menggunakan bahasa R.
1.3  Tujuan Penulisan
Adapun tujuan dari penulisan ini adalah untuk mengklasifikasikan Klustering K-means pada sebuah twitter 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
Data Clustering merupakan salah satu metode Data Mining yang bersifat tanpa arahan (unsupervised). Ada dua jenis data clustering yang sering dipergunakan dalam proses pengelompokan data yaitu hierarchical (hirarki) data clustering dan non-hierarchical (non hirarki) data clustering. K-Means merupakan salah satu metode data clustering non hirarki yang berusaha mempartisi data yang ada ke dalam bentuk satu atau lebih cluster/kelompok. Metode ini mempartisi data ke dalam cluster/kelompok sehingga data yang memiliki karakteristik yang sama dikelompokkan ke dalam satu cluster yang sama dan data yang mempunyai karakteristik yang berbeda dikelompokkan ke dalam kelompok yang lain. Adapun tujuan dari data clustering ini adalah untuk meminimalisasikan objective function yang  diset  dalam  proses  clustering,  yang  pada  umumnya  berusaha  meminimalisasikan variasi di dalam suatu cluster dan memaksimalisasikan variasi antar cluster.
A.      Algoritma K-means
Algoritma K-Means merupakan algoritma klasterisasi yang mengelompokkan data berdasarkan titik pusat klaster (centroid) terdekat dengan data. Tujuan dari K-Means adalah pengelompokkan data dengan memaksimalkan kemiripan data dalam satu klaster dan meminimalkan kemiripan data antar klaster. Ukuran kemiripan yang digunakan dalam klaster adalah fungsi jarak. Sehingga pemaksimalan kemiripan data didapatkan berdasarkan jarak terpendek antara data terhadap titik centroid.
Tahapan awal yang dilakukan pada proses klasterisasi data dengan menggunakan algoritma K-Means adalah pembentukan titik awal centroid cj Pada umumnya pembentukan titik awal centroid dibangkitkan secara acak. Jumlah centroid cj yang dibangkitkan sesuai dengan jumlah klaster yang ditentukan di awal. Setelah k centroid terbentuk kemudian dihitung jarak tiap data xi dengan centroid ke-j sampai k, dinotasikan dengan d (xi,cj). Terdapat beberapa ukuran jarak yang digunakan sebagai ukuran kemiripan suatu instance data, salah satunya adalah jarak Euclid.
Pada algoritma pembelajaran ini, komputer mengelompokkan sendiri data-data yang menjadi masukannya tanpa mengetahui terlebih dulu target kelasnya. Pembelajaran ini termasuk dalam unsupervised learning. Masukan yang diterima adalah data atau objek dan k buah kelompok (cluster) yang diinginkan.  Algoritma ini akan mengelompokkan data atau objek ke dalam k buah kelompok tersebut. Pada setiap cluster terdapat titik pusat (centroid) yang merepresentasikan cluster tersebut.

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/ 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.
Distance Space Untuk Menghitung Jarak Antara Data dan Centroid:
Beberapa distance space telah diimplementasikan dalam menghitung jarak (distance) antara data dan centroid termasuk di antaranya
L1  (Manhattan/City Block) distance space,
L2 (Euclidean) distance space, dan
Lp (Minkowski) distance space.
Jarak antara dua titik x1 dan x2  pada Manhattan/City Block distance space dihitung dengan menggunakan rumus sebagai berikut:

dimana:
p     : Dimensi data
Lp  (Minkowski) distance space yang merupakan generalisasi dari beberapa distance space yang ada seperti L1 (Manhattan/City Block) dan L2 (Euclidean), juga telah diimplementasikan[9]. Tetapi secara umum distance space yang sering digunakan adalah Manhattan dan Euclidean. Euclidean sering digunakan karena penghitungan jarak dalam distance space ini merupakan jarak terpendek yang bisa didapatkan antara dua titik yang diperhitungkan, sedangkan Manhattan sering digunakan karena kemampuannya dalam mendeteksi keadaan khusus seperti keberadaaan outliers dengan lebih baik.

Pembaharuan suatu titik centroid dapat dilakukan dengan rumus berikut:



Ø  Kekurangan dan Kelebihan K-Means
Ada beberapa kelebihan pada algoritma k-means, yaitu:
a.         Mudah untuk diimplementasikan dan dijalankan.
b.        Waktu yang dibutuhkan untuk menjalankan pembelajaran ini relatif cepat.
c.         Mudah untuk diadaptasi.
d.        Umum digunakan.
Algoritma k-means memiliki beberapa kelebihan, namun ada  kekurangannya juga. Kekurangan dari algoritma tersebut yaitu :
a.         Sebelum algoritma dijalankan, k buah titik diinisialisasi secara random sehingga pengelompokkan data yang dihasilkan dapat berbeda-beda. Jika nilai random untuk inisialisasi kurang baik, maka pengelompokkan yang dihasilkan pun menjadi kurang optimal.
b.        Dapat terjebak dalam masalah yang disebut curse of dimensionality. Hal ini dapat terjadi jika data pelatihan memiliki dimensi yang sangat tinggi (Contoh jika data pelatihan terdiri dari 2 atribut maka dimensinya adalah 2 dimensi. Namun jika ada 20 atribut, maka akan ada 20 dimensi). Salah satu cara kerja algoritma ini adalah mencari jarak terdekat antara k buah titik dengan titik lainnya. Jika mencari jarak antar titik pada 2 dimensi, masih mudah dilakukan. Namun bagaimana mencari jarak antar titik jika terdapat 20 dimensi. Hal ini akan menjadi sulit.
c.         Jika hanya terdapat beberapa titik sampel data, maka cukup mudah untuk menghitung dan mencari titik terdekat dengan k titik yang diinisialisasi secara random. Namun jika terdapat banyak sekali titik data (misalnya satu milyar buah data), maka perhitungan dan pencarian titik terdekat akan membutuhkan waktu yang lama. Proses tersebut dapat dipercepat, namun dibutuhkan struktur data yang lebih rumit seperti kD-Tree atau hashing.
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.
A.      Implementasi text nining pada mesin pencarian twitter untuk menganalisis topik-topik terkait “KPK dan JOKOWI”
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

 BAB III
METODE PENELITIAN

Penelitian ini menggunakan data-data teks pada media sosial twitter yang berkaitan dengan kata kunci “affsuzukicup”. Tujuan akhir penelitian ini adalah dapat mendeskripsikan topik utama dan kata - kata yang melekat pada “affsuzukicup”, 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“affsuzukicup”. Tweet-tweet pengguna pada twitter dapat dijadikan sebagai topik-topik pada media online. Sampel dan Teknik Pengambilan Sampel Sampel yang diambil adalah data 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 affsuzukicup 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 affsuzukicup berikut ini merupakan gambar term of frequency topik-topik terkait affsuzukicup.
tweets <- userTimeline("affsuzukicup", 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 affsuzukicup
Berdasarkan barchart (diagram batang) pada gambar diatas dapat diketahui term of frequency dari kata-kata (topik) lain yang sering muncul bersamaan dengan kata affsuzukicup. 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 affsuzukicup pada search engine twitter adalah kata thailand, indonesia, myanmar, vietnam. Sedangkan kata- kata lain seperti thavmya, inavta, vievina, final, goal, substitution, team, now, myavtha, statistics, lead merupakan topik menarik lain yang cukup sering digunakan terkait pencarian topik affsuzukicup.

#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 affsuzukicup adalah kata  yang  menjadi topik utama  dan sering muncul saat pengguna twitter mencari informasi terkait affsuzukicup pada search engine twitter adalah kata thailand, indonesia, myanmar, vietnam. Sedangkan kata-kata lain seperti thavmya, inavta, vievina, final, goal, substitution, team, now, myavtha, statistics, lead merupakan topik menarik lain yang cukup sering digunakan terkait pencarian topik affsuzukicup.

  

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 affsuzukicup maka dapat ditarik kesimpulan yang menghasilkan sebuah informasi atau pemberitaan yang sedang hangat dibicarakan dan diberitakan oleh  media  mengenai  affsuzukicup bahwa terdapat topik utama yang digunakan pada tweet-tweet ketika pengguna twitter mencari informasi seputar topik affsuzukicup pada search engine dapat diketahui kata (topik) yang sering muncul dalam word cloud bersamaan dengan kata affsuzukicup adalah kata  yang  menjadi topik utama  dan sering muncul saat pengguna twitter mencari informasi terkait affsuzukicup pada search engine twitter adalah kata thailand, indonesia, myanmar, vietnam. Sedangkan kata-kata lain seperti thavmya, inavta, vievina, final, goal, substitution, team, now, myavtha, statistics, lead merupakan topik menarik lain yang cukup sering digunakan terkait pencarian topik affsuzukicup.



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.

Andayani, Sri. Pembentukan cluster dalam Knowledge Discovery in Database dengan Algoritma K-Means. SEMNAS Matematika dan Pendidikan Matematika 2007 dengan tema “Trend Penelitian Matematika dan Pendidikan Matematika di Era Global, 2007.

Berkhin, Pavel. A survey of clustering data mining techniques. In: Grouping multidimensional data. Springer Berlin Heidelberg, 2006. p. 25-71.

DU, K.-L. Clustering: A neural network approach. Neural Networks, 2010, 23.1: 89-107.

Zhao, Yanchang 2011. R and Data  Mining: Examples and Case Studies. Elsevier.
(29 November 2017)



0 komentar:

Posting Komentar

  © Watch and Learn Center

Design by Binar Novicha