Anda di halaman 1dari 23

MAKALAH

CLUSTERING TWEET
MENGGUNAKAN BAHASA PEMROGRAMAN R

Disusun Oleh :
Arif Budi Setiawan (15.01.53.0064)
Saiful Budi Yanto (15.01.53.0081)

UNIVERSITAS STIKUBANK SEMARANG (UNISBANK)


FALKUTAS TEKNOLOGI INFORMASI
SISTEM INFORMASI
2017
BAB I
PENDAHULUAN

1.1 Deskripsi Permasalahan


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 adalah layanan jejaring sosial dan mikroblog daring yang
memungkinkan penggunanya untuk mengirim dan membaca pesan berbasis
teks hingga 140 karakter, yang dikenal dengan sebutan kicauan (tweet).
Twitter didirikan pada bulan Maret 2006 oleh Jack Dorsey, dan situs jejaring
sosialnya diluncurkan pada bulan Juli. Sejak diluncurkan, Twitter telah
menjadi salah satu dari sepuluh situs yang paling sering dikunjungi di Internet,
dan dijuluki dengan "pesan singkat dari Internet." Di Twitter, pengguna tak
terdaftar hanya bisa membaca kicauan, sedangkan pengguna terdaftar bisa
menulis kicauan melalui antarmuka situs web, pesan singkat (SMS), atau
melalui berbagai aplikasi untuk perangkat seluler.
Twitter mengalami pertumbuhan yang pesat dan dengan cepat meraih
popularitas di seluruh dunia. Hingga bulan Januari 2013, terdapat lebih dari
500 juta pengguna terdaftar di Twitter, 200 juta di antaranya adalah pengguna
aktif. Lonjakan penggunaan Twitter umumnya berlangsung saat terjadinya
peristiwa-peristiwa populer. Pada awal 2013, pengguna Twitter mengirimkan
lebih dari 340 juta kicauan per hari, dan Twitter menangani lebih dari
1,6 miliar permintaan pencarian per hari. Hal ini menyebabkan posisi Twitter
naik ke peringkat kedua sebagai situs jejaring sosial yang paling sering
dikunjungi di dunia, dari yang sebelumnya menempati peringkat dua puluh
dua.
Tingginya popularitas Twitter menyebabkan layanan ini telah
dimanfaatkan untuk berbagai keperluan dalam berbagai aspek, misalnya
sebagai sarana protes, kampanye politik, sarana pembelajaran, dan
sebagai media komunikasi darurat. Twitter juga dihadapkan pada berbagai
masalah dan kontroversi seperti masalah keamanan dan privasi pengguna,
gugatan hukum, dan penyensoran. Twitter dimiliki dan dioperasikan oleh
Twitter, Inc., yang berbasis di San Francisco, dengan kantor dan peladen
tambahan terdapat di New York City, Boston, dan San Antonio. Hingga Mei
2015, Twitter telah memiliki lebih dari 500 juta pengguna, 302 juta di
antaranya adalah pengguna aktif.

1.2 Rumusan Masalah


Berdasarkan deskripsi maka rumusan masalahnya adalah bagaimana
penjelasan mengenai Clustering K-means, PAM (Partitioning Around
Medoids), Hierarki Agglomerative Clustering dan implementasinya
menggunakan bahasa R.

1.3 Tujuan Penulisan


Adapun tujuan dari penulisan ini adalah untuk mengklasifikasikan
Clustering K-means, PAM (Partitioning Around Medoids), Hierarki
Agglomerative pada sebuah twitter menggunakan bahasa R.
BAB II
TINJAUAN PUSTAKA

2.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. K-means
K-means merupakan salah satu algoritma clustering .Tujuan algoritma ini
yaitu untuk membagi data menjadi beberapa kelompok. Algoritma ini
menerima masukan berupa data tanpa label kelas. Hal ini berbeda dengan
supervised learning yang menerima masukan berupa vektor (x1 , y1) , (x2 , y2)
, …, (xi , yi), di mana xi merupakan data dari suatu data pelatihan dan yi
merupakan label kelas untuk xi.
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:

Di mana:
µk = titik centroid dari cluster ke-K
Nk = banyaknya data pada cluster ke-K
xq = data ke-q pada cluster ke-K

 Kelebihan dan Kekurangan 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.

B. PAM(Partitioning Around Medoids)


Algoritma Partitioning Around Medoids (PAM) atau dikenal juga
dengan K-Medoids adalah algoritma pengelompokan yang berkaitan dengan
algoritma K-means dan algoritma medoidshift. Algoritma K-Medoids ini
diusulkan pada tahun 1987.
Algorima Partitioning Around Medoids (PAM) dikembangkan oleh
Leonard Kaufman dan Peter J. Reusseeuw. Algoritma ini sangat mirip dengan
algoritma K-Means, terutama karena kedua algoritma ini partitional. Dengan
kata lain, kedua algoritma ini memecah dataset menjadi kelompok-kelompok
dan kedua algoritma ini berusaha untuk meminimalkan keslahan. Tetapi
algoritma Algorima Partitioning Around Medoids (PAM) bekerja dengan
menggunakan Medoids, yang merupakan entitas dari dataset yang mewakili
kelompok dimana ia dimasukkan.
Algorima Partitioning Around Medoids (PAM) menggunakan metode
partisi clustering untuk mengelompokkan sekumpulan n objek menjadi
sejumlah cluster. Algoritma ini menggunakan objek pada kumpulan objek
untuk mewakili sebuah cluster. Objek yang terpilih untuk mewakili sebuah
cluster disebut dengan medoid. Cluster dibangun dengan menghitung
kedekatan yang dimiliki antara medoids dengan objek non-medoids.
Algoritma dari Algorima Partitioning Around Medoids (PAM) atau K-
Medoids adalah sebagai berikut (Han & Kamber, 2006) :
1. Secara acak pilih k objek pada sekumpulan n objek sebagi medoid.
2. Ulangi langkah 3 hingga langkah 6.
3. Tempatkan objek non-medoid ke dalam cluster yang paling dekat dengan
medoid.
4. Secara acak pilih Orandom sebuah objek non-medoid.
5. Hitung total biaya, S, dari pertukaran medoid o, dengan Orandom.
6. Jika S<0 maka tukar o, dengan Orandom untuk membentuk sekumpulan k
objek baru sebagai medoid.
7. Hingga tidak ada perubahan.
Nilai total biaya/cost dinyatakan dengan persamaan :
Total cost =
Dimana :
Dist = merujuk pada rumus -
Nilai S dinyatakan dengan persamaan :
S = Total cost baru – total cost lama
Dimana :
Total cost baru = jumlah biaya / cost non medoid
Total cost lama = jumlah biaya / cost medoid
K-Medoid sangat mirip dengan K-Means, perbedaan utama diantara dua
algoritma tersebut adalah jika pada K-Means cluster diwakili dengan pusat dari
cluster, sedangkan pada K-Medoid cluster diwakili objek terdekat dari pusat
cluster.

C. Hirarki Agglomerative Clustering (HAC)


Hierarchical Agglomerative Clustering (HAC) adalah suatu metode
clustering yang bersifat bottom-up yaitu menggabungkan sebuah cluster
menjadi satu cluster tunggal. Metode ini dimulai dengan meletakkan setiap
obyek data sebagai sebuah cluster tersendiri dan selanjutnya menggabungkan
cluster-cluster tersebut menjadi cluster yang lebih besar dan lebih besar lagi
sampai akhirnya semua objek data menyatu dalam sebuah cluster tunggal.
Secara logika semua obyek pada akhirnya hanya akan membentuk sebuah
cluster . Metode ini dimulai membentuk cluster pada setiap obyek. Kemudian
dua obyek dengan memiliki jarak terdekat digabungkan. Selanjutnya obyek
ketiga digabung dengan obyek lain memiliki jarak terdekat dan membentuk
cluster baru. Proses akan berlanjut hingga akhirnya terbentuk satu cluster yang
terdiri dari keseluruhan obyek.
Hierarchical clustering merupakan salah satu algoritma clustering yang
fungsinya dapat digunakan untuk mengcluster dokumen (dokumen clustering).
Dari teknik Hierarchical clustering, dapat dihasilkan suatu kumpulan partisi
yang berurutan, dimana dalam kumpulan tersebut terdapat cluster-cluster yang
mempunyai poin-poin individu, cluster-cluster ini berada di level yang paling
bawah. Selain itu ada juga cluster yang didalamnya terdapat poin-poin yang
dipunyai semua cluster didalamnya, cluster ini disebut single cluster, terletak
di level yang paling atas.
Dalam algoritma Hierarchical clustering, cluster yang berada dilevel
lebih atas (intermediate level) dari cluster yang lain, dapat, diperoleh dengan
cara mengkombinasikan dua buah cluster yang berada pada level dibawahnya
(Steinbach, Karypis, & Kumar, 2000). Hasil keseluruhan dari algoritma
Hierarchical clustering secara grafik dapat digambarkan sebagai pohon, yang
disebut dengan dendogram. Pohon ini secara grafik menggambarkan proses
penggabungan dari cluster-cluster yang ada, sehingga menghasilkan cluster
dengan level yang lebih tinggi (intermodiate level).
Ada dua metode yang sering diterapkan yaitu agglomerative hierarchical
clustering dan divisive hierarchical clustering. Pada agglomerative
hierarchical, proses hierarchical clustering dimulai dari cluster-cluster yang
mempunyai poin-poin individu yang berada di level paling bawah. Pada setiap
langkahnya dilakukan penggabungan sebuah cluster dengan cluster lainnya,
dimana cluster-cluster yang digabungkan berada saling berdekatan atau
mempunyai tingkat / sifat kesamaan yang paling tinggi (Steinbach, Karypis, &
Kumar, 2000).
Agglomerative hierarchical clustering bekerja dengan sederetan dari
penggabungan yang berurutan atau sederetan dari pembagian yang berurutan
dan berawal dari objek-objek yang individual. Jadi, pada awalnya banyaknya
cluster sama dengan banyaknya objek. Objek-objek yang paling mirip
dikelompokkan, dan kelompok-kelompok awal ini digabungkan sesuai dengan
kemiripannya. Sewaktu kemiripan berkurang, semua sub kelompok
digabungkan menjadi satu cluster tunggal. Hasil-hasil dari clustering dapat
disajikan secara grafik dalam bentuk dendogram. Cabang-cabang dalam pohon
menyajikan cluster dan bergabung pada node yang posisinya sepanjang sumbu
jarak (similaritas) menyatakan tingkat dimana penggabungan terjadi.
Langkah-langkah dalam algoritma clustering hirarki agglomerative untuk
mengelompokkan N objek (item/variabel) :
1. Mulai dengan N cluster, setiap cluster mengandung entiti tunggal dan sebuah
matriks simetrik dari jarak (similarities) D = {dix} dengan tipe NxN.
2. Cari matrix jarak untuk pasangan cluster yang terdekat (paling mirip).
Misalkan jarak antara cluster U dan V yang paling mirip adalah duv.
3. Gabungkan cluster U dan V. Label cluster yang baru dibentuk dengan (UV).
Update entries pada matrik jarak dengan cara :
a. Hapus baris dan kolom yang memberikna yang memberikan jarak-jarak antara
cluster U dan V
b. Tambahkan baris dan kolom yang meberikan jarak-jarak antara cluster (UV)
dan cluster-cluster yang tersisa.
4. Ulangi langkah 2 dan 3 sebanyak (N-1) kali. (semua objek akan berada dalam
cluster tunggal setelah algoritma berakhir). Catat identitas dari cluster yang
digabungkan dan tingkat-tingkat (jarak atau similaritas) dimana penggabungan
terjadi.
Beberapa metode hierarchical clustering yang sering digunakan
dibedakan menurut cara mereka untuk menghitung tingkat kemiripan atau
jarak antar kelompok. Ada yang menggunakan ward‟s linnkage, centroid
linkage, single linkage, complete linkage, average linkage, median linkage, dan
lain-lainnya.

2.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 mining 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.
BAB III
METODE PENELITIAN

Penelitian ini menggunakan data-data teks pada media sosial twitter yang
berkaitan dengan kata kunci “gempa”. Tujuan akhir penelitian ini adalah dapat
mendeskripsikan topik utama dan kata - kata yang melekat pada “gempa”, 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“gempa”. 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 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 :
BAB IV
HASIL DAN PEMBAHASAN

Contoh scriptnya :
install.packages("twitteR")
install.packages("ROAuth")
install.packages("tm")
install.packages("ggplot2")
install.packages("wordcloud")
install.packages("plyr")
install.packages("RTextTools")
install.packages("devtools")
install.packages("e1071")
install.packages("fpc")
install.packages("cluster")
install.packages("datasets")

require(devtools)
library(e1071)
library(twitteR)
library(ROAuth)
library(tm)
library(ggplot2)
library(wordcloud)
library(plyr)
library(RTextTools)
library(fpc)
library(cluster)
library(datasets)

setup_twitter_oauth("q1ATA2ImBZOUTNFBFHCHDoJs6",
"3njn5BzMHWlhUhiqXCKzACykXuYjdMbVewOKVjfFvPweCpC1tC", "95430546-
unT9Yx0Y9ucvMHYdWgPSvJ0jwzbekDVxwFZCYLRw0","If0u2IIJK9ngH1nnAO
QYMbwP6terDAoMpKp6Xko8OuFMu")

#WORDCLOUD

tweets <- userTimeline("Jokowi", 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

tdm <- TermDocumentMatrix(myCorpus)


term.freq <- rowSums(as.matrix(tdm))
term.freq <- subset(term.freq, term.freq >= 20)
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))

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)
#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 isi dari proses run script diatas :


Gambar hasil perhitungan (Plots) :

Gambar hasil perhitungan K-mean twitter “Jokowi”


Gambar hasil Clusplot matrix :

Hirarki
Clustering dengan pendekatan hirarki mengelompokkan data yang mirip dalam hirarki
yang sama dan yang tidak mirip di hirarki yang agak jauh. Ada dua metode yang
sering diterapkan yaitu agglomerative hieararchical clustering dan divisive
hierarchical clustering. Agglomerative melakukan proses clustering dari N cluster
menjadi satu kesatuan cluster, dimana N adalah jumlah data, sedangkan divisive
melakukan proses clustering yang sebaliknya yaitu dari satu cluster menjadi N cluster.

Beberapa metode hierarchical clustering yang sering digunakan dibedakan menurut


cara mereka untuk menghitung tingkat kemiripan. Ada yang menggunakan Single
Linkage, Complete Linkage, Average Linkage, Average Group Linkage dan lain-
lainnya. Seperti juga halnya dengan partition-based clustering, kita juga bisa memilih
jenis jarak yang digunakan untuk menghitung tingkat kemiripan antar data.

Salah satu cara untuk mempermudah pengembangan dendogram untuk hierarchical


clustering ini adalah dengan membuat similarity matrix yang memuat tingkat
kemiripan antar data yang dikelompokkan. Tingkat kemiripan bisa dihitung dengan
berbagai macam cara seperti dengan Euclidean Distance Space. Berangkat dari
similarity matrix ini, kita bisa memilih lingkage jenis mana yang akan digunakan
untuk mengelompokkan data yang dianalisa.
Menghitung data menggunakan metode Hirarki ditwitter dengan bahasa R

Contoh scriptnya :
install.packages("twitteR")
install.packages("ROAuth")
install.packages("tm")
install.packages("ggplot2")
install.packages("wordcloud")
install.packages("plyr")
install.packages("RTextTools")
install.packages("e1071")

library(e1071)
library(twitteR)
library(ROAuth)
library(tm)
library(ggplot2)
library(wordcloud)
library(plyr)
library(RTextTools)
library(e1071)

setup_twitter_oauth("q1ATA2ImBZOUTNFBFHCHDoJs6",
"3njn5BzMHWlhUhiqXCKzACykXuYjdMbVewOKVjfFvPweCpC1tC", "95430546-
unT9Yx0Y9ucvMHYdWgPSvJ0jwzbekDVxwFZCYLRw0","If0u2IIJK9ngH1nnAO
QYMbwP6terDAoMpKp6Xko8OuFMu")

tweets <- userTimeline("Jokowi", n = 10)


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
myCorpus
term.freq <- rowSums(as.matrix(tdm))
tdm <- TermDocumentMatrix(myCorpus)
tdmat <- as.matrix(removeSparseTerms(tdm, sparse=0.3))
# compute distances
distMatrix <- dist(scale(tdm))
fit <- hclust(distMatrix, method="ward.D2")
plot(fit)
fit <- hclust(distMatrix, method="single")
plot(fit)
Gambar isi dari proses run script diatas :

Gambar hasil cluster Dendrogram :


BAB V
KESIMPULAN DAN REKOMENDASI

Clustering adalah pengelompokan variabel berdasarkan kesamaan tertentu. Dari


hasil pembahasan diatas untuk penanganan data besar hasil pencarian topik-topik
terkait pada search engine twitter dengan studi kasus topik Jokowi maka dapat ditarik
kesimpulan yang menghasilkan sebuah informasi atau pemberitaan yang sedang
hangat diberitakan oleh media mengenai Jokowi bahwa terdapat topik utama yang
digunakan pada tweet-tweet ketika pengguna twitter mencari informasi seputar topik
Jokowi pada search engine dapat diketahui kata (topik) yang sering muncul dalam
word cloud bersamaan dengan kata Jokowi adalah kata yang menjadi topik utama
dan sering muncul saat pengguna twitter mencari informasi terkait banjir pada search
engine twitter.
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

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

Andriyanto, Rendy 2016. Text Mining.


sumber:http://rendy.blog.st3telkom.ac.id/wp-
content/uploads/sites/311/2016/03/14102035_S1IF-02-A_MULTIMEDIA.pdf

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

https://www.academia.edu/33311024/KMeans_PAM_Hirarki.docx

Anda mungkin juga menyukai