library(wordcloud)
## Loading required package: RColorBrewer
library(tm)
## Loading required package: NLP
library(textclean)
library(tidytext)
library(ggplot2)
## 
## Attaching package: 'ggplot2'
## The following object is masked from 'package:NLP':
## 
##     annotate
library(parallel)
library(tokenizers)
library(tau)
library(NLP)
library(stringr)
library(devtools)
## Loading required package: usethis
library(quanteda)
## Warning in stringi::stri_info(): Your current locale is not in the list of
## available locales. Some functions may not work properly. Refer to
## stri_locale_list() for more details on known locale specifiers.

## Warning in stringi::stri_info(): Your current locale is not in the list of
## available locales. Some functions may not work properly. Refer to
## stri_locale_list() for more details on known locale specifiers.
## Package version: 3.3.1
## Unicode version: 13.0
## ICU version: 69.1
## Parallel computing: 4 of 4 threads used.
## See https://quanteda.io for tutorials and examples.
## 
## Attaching package: 'quanteda'
## The following object is masked from 'package:tm':
## 
##     stopwords
## The following objects are masked from 'package:NLP':
## 
##     meta, meta<-
library(kayadata)
library(syuzhet)
library(e1071)
library(sentimentr)
## 
## Attaching package: 'sentimentr'
## The following object is masked from 'package:syuzhet':
## 
##     get_sentences
library(SentimentAnalysis)
## 
## Attaching package: 'SentimentAnalysis'
## The following object is masked from 'package:base':
## 
##     write
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(pacman)
pacman::p_load_gh("trinker/textstem")
pacman::p_load(textstem, dplyr)

#input data

setwd("C:/Users/LENOVO/Documents/UTS_ST NURAVIAT AWAINA_E0221003")
DATATIMNAS<-read.csv("~/UTS_ST NURAVIAT AWAINA_E0221003/timnas.csv", sep=";")
rev <- DATATIMNAS$full_text
head(rev)
## [1] "Looks like African playing for indonesia, should have played all 11 African players"
## [2] "Hugo Samir Bin Jackson F Tiago 💪ðŸ\u008f¿"                                       
## [3] "Masuk ngegolim, Hugo samir✌"                                                      
## [4] "golnya keren &amp  tidak disangka sangka ðŸ‘\u008d🤣"                             
## [5] "alhamdulillah menang"                                                               
## [6] "Mantap Garuda muda."

lower case = mengubah huruf kapital menjadi huruf kecil

rev <- tolower(rev)
head(rev)
## [1] "looks like african playing for indonesia, should have played all 11 african players"
## [2] "hugo samir bin jackson f tiago ðÿ’ªðÿ\u008f¿"                                       
## [3] "masuk ngegolim, hugo samir✜"                                                      
## [4] "golnya keren &amp  tidak disangka sangka ðÿ‘\u008dðÿ¤£"                             
## [5] "alhamdulillah menang"                                                               
## [6] "mantap garuda muda."

#Mengembalikan Kata yang disingkat Menjadi Kata Aslinya

rev <- replace_contraction(rev)
head(rev)
## [1] "looks like african playing for indonesia, should have played all 11 african players"
## [2] "hugo samir bin jackson f tiago ðÿ’ªðÿ\u008f¿"                                       
## [3] "masuk ngegolim, hugo samir✜"                                                      
## [4] "golnya keren &amp  tidak disangka sangka ðÿ‘\u008dðÿ¤£"                             
## [5] "alhamdulillah menang"                                                               
## [6] "mantap garuda muda."

#Mengembalikan Kata yang Mengalami Perpanjangan Menjadi Kata Aslinya

rev <- replace_word_elongation(rev)
head(rev)
## [1] "looks like african playing for indonesia, should have played all 11 african players"
## [2] "hugo samir bin jackson f tiago ðÿ’ªðÿ\u008f¿"                                       
## [3] "masuk ngegolim, hugo samir✜"                                                      
## [4] "golnya keren &amp  tidak disangka sangka ðÿ‘\u008dðÿ¤£"                             
## [5] "alhamdulillah menang"                                                               
## [6] "mantap garuda muda."

#Menghapus simbol

rev <- strip(rev)
head(rev)
## [1] "looks like african playing for indonesia should have played all african players"
## [2] "hugo samir bin jackson f tiago ðÿªðÿ\u008f"                                     
## [3] "masuk ngegolim hugo samir✜"                                                   
## [4] "golnya keren amp tidak disangka sangka ðÿ\u008dðÿ"                              
## [5] "alhamdulillah menang"                                                           
## [6] "mantap garuda muda"

#stemming/lemmatizing = kata dasar

rev<-stem_strings(rev)
head(rev)
## [1] "look like african plai for indonesia should have plai all african player"
## [2] "hugo samir bin jackson f tiago ðÿªðÿ\u008f"                              
## [3] "masuk ngegolim hugo samir✜"                                            
## [4] "golnya keren amp tidak disangka sangka ðÿ\u008dðÿ"                       
## [5] "alhamdulillah menang"                                                    
## [6] "mantap garuda muda"
rev<-lemmatize_strings(rev)
head(rev)
## [1] "look like african plai for indonesia should have plai all african player"
## [2] "hugo samir bin jackson f tiago ðÿªðÿ\u008f"                              
## [3] "masuk ngegolim hugo samir✜"                                            
## [4] "golnya keren amp tidak disangka sangka ðÿ\u008dðÿ"                       
## [5] "alhamdulillah menang"                                                    
## [6] "mantap garuda muda"
sc<-c("driver","drive","drove","driven","drives","driving")
sc
## [1] "driver"  "drive"   "drove"   "driven"  "drives"  "driving"
stem_words(sc)
## [1] "driver" "drive"  "drove"  "driven" "drive"  "drive"
lemmatize_words(sc)
## [1] "driver" "drive"  "drive"  "drive"  "drive"  "drive"

#menghapus kata penghubung

rev <-removeWords(rev, c("di","dan","yang","akan","agar","seperti","yaitu","kami","kami",
                         "mari","pada","jelang","dimana","dengan","sudah","ini","seluruh",
                         "diminta","tak","itu","hai","bisa","wib","oleh","mai","jam",
                         "masa","berikut","kalau","klik","ibodwq","terd","httpstconvv",
                         "httpstcoxu","yzmrlyx","tahapan","refaabdi","kota","kpu","kpuid","rt","hingga","saat",
                         "belum","apa","sih","suara","pesta","dindap","http","httpstco","asn","bakal"))
head(rev)
## [1] "look like african plai for indonesia should have plai all african player"
## [2] "hugo samir bin jackson f tiago ðÿªðÿ\u008f"                              
## [3] "masuk ngegolim hugo samir✜"                                            
## [4] "golnya keren amp tidak disangka sangka ðÿ\u008dðÿ"                       
## [5] "alhamdulillah menang"                                                    
## [6] "mantap garuda muda"
write.csv(rev,file = "C:/Users/LENOVO/Documents/UTS_ST NURAVIAT AWAINA_E0221003/databersihTIMNAS.csv", row.names = F) 

##Membuat Word Cloud #Mengubah Data Frame Menjadi Data Faktor

tdm <- TermDocumentMatrix(rev)
tdm
## <<TermDocumentMatrix (terms: 491, documents: 113)>>
## Non-/sparse entries: 719/54764
## Sparsity           : 99%
## Maximal term length: 24
## Weighting          : term frequency (tf)
m <- as.matrix(tdm)
View(m)
v <- sort(rowSums(m),decreasing = TRUE)
head(v)
##      hugo     keren     timna     samir indonesia    garuda 
##        13         9         9         8         7         7

#Mengubah Data Faktor Menjadi Data Frame

d <- data.frame(word = names(v), freq = v)
head(d)
##                word freq
## hugo           hugo   13
## keren         keren    9
## timna         timna    9
## samir         samir    8
## indonesia indonesia    7
## garuda       garuda    7
wordcloud(d$word, d$freq,
          random.order = FALSE,
          max.words = 500,
          colors = brewer.pal(name = "Dark2",8 )) 

##Term Dokument Matriks

tdm <- TermDocumentMatrix(rev,
                          control = list(wordLengths = c(1, Inf)))
tdm
## <<TermDocumentMatrix (terms: 515, documents: 113)>>
## Non-/sparse entries: 759/57436
## Sparsity           : 99%
## Maximal term length: 24
## Weighting          : term frequency (tf)

inspect frequent words

(freq.terms <- findFreqTerms(tdm, lowfreq = 5))
##  [1] "indonesia" "hugo"      "samir"     "keren"     "menang"    "garuda"   
##  [7] "mantap"    "timna"     "pemain"    "banget"    "gak"       "gol"      
## [13] "witan"     "mainnya"   "yg"        "ga"        "jadi"      "ada"
term.freq <- rowSums(as.matrix(tdm))
term.freq <- subset(term.freq, term.freq >= 5)
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()

# which words are associated with ‘r’?

findAssocs(tdm, "indonesia", 0.25)
## $indonesia
##       african           for          have          like          look 
##          0.37          0.37          0.37          0.37          0.37 
##          plai        player        should          bawa      hiclqtsd 
##          0.37          0.37          0.37          0.37          0.37 
##     httpstcoz         ramai             u        adalah     kelebihan 
##          0.37          0.37          0.37          0.37          0.37 
##            ku        victor          gara         kalah       alquran 
##          0.37          0.37          0.37          0.37          0.37 
## httpstcoegdqw           kbd           lho        mantep       nyangka 
##          0.37          0.37          0.37          0.37          0.37 
##       penghaf     sepakbola            si     wonderkid           yaa 
##          0.37          0.37          0.37          0.37          0.37 
##         samir          hugo 
##          0.36          0.25
findAssocs(tdm, "gol", 0.2)
## $gol
##        gak       kalo      bener   biasakan      dapat    dulugak    enakeun 
##       0.47       0.45       0.40       0.40       0.40       0.40       0.40 
##  ginidapat       gitu       ivar      jener      kayak    modelan        nah 
##       0.40       0.40       0.40       0.40       0.40       0.40       0.40 
##      nekuk     nihayo        set        sit        teh  umpanbawa       usah 
##       0.40       0.40       0.40       0.40       0.40       0.40       0.40 
##      bobol    dibawah         eh  kirgistan         kl       ngak pelatihnya 
##       0.40       0.40       0.40       0.40       0.40       0.40       0.40 
##    sepadan   skillnya    tahunya      takut        tuh uzbekistan pertamanya 
##       0.40       0.40       0.40       0.40       0.40       0.40       0.40 
##        mah      dluan       udah      witan      babak      punya      gocek 
##       0.40       0.40       0.31       0.30       0.27       0.27       0.27 
##      perlu     sbelum  selebrasi       dulu       sama 
##       0.27       0.27       0.27       0.21       0.21

remove sparse terms

tdm2 <- removeSparseTerms(tdm, sparse = 0.95)
m2 <- as.matrix(tdm2)

cluster hierarchical terms

distMatrix <- dist(scale(m2))
fit <- hclust(distMatrix, method = "ward")
## The "ward" method has been renamed to "ward.D"; note new "ward.D2"
fit
## 
## Call:
## hclust(d = distMatrix, method = "ward")
## 
## Cluster method   : ward.D 
## Distance         : euclidean 
## Number of objects: 10
plot(fit)
rect.hclust(fit, k = 2)

# cut tree into 5 clusters #Cluster k-means

m3 <- t(m2)

transpose the matrix to cluster documents (tweets)

set.seed(122)

set a fixed random seed

k <- 5 

number of clusters

kmeansResult <- kmeans(m3, k)
round(kmeansResult$centers, digits = 3) # cluster centers
##   indonesia hugo samir keren garuda timna banget   gak   gol witan
## 1     0.000    0     0 0.000   0.00 1.333  0.000 0.333 0.333     0
## 2     0.000    0     0 0.000   0.00 0.000  0.000 0.333 0.333     1
## 3     0.375    1     1 0.000   0.00 0.125  0.000 0.125 0.000     0
## 4     0.045    0     0 0.102   0.08 0.000  0.068 0.011 0.023     0
## 5     0.000    1     0 0.000   0.00 0.000  0.000 0.000 0.000     0
for (i in 1:k) {
  cat(paste("cluster ", i, ": ", sep = ""))
  s <- sort(kmeansResult$centers[i, ], decreasing = T)
  cat(names(s)[1:5], "\n")
  # print the tweets of every cluster
  # print(tweets[which(kmeansResult£cluster==i)])
}
## cluster 1: timna gak gol indonesia hugo 
## cluster 2: witan gak gol indonesia hugo 
## cluster 3: hugo samir indonesia timna gak 
## cluster 4: keren garuda banget indonesia gol 
## cluster 5: hugo indonesia samir keren garuda

##Analisis Sentiment # import data dari excel (.csv)

databersih <- read.csv("~/UTS_ST NURAVIAT AWAINA_E0221003/databersih.csv", sep=";")
View(databersih)

Buat DataFrame hanya untuk komentar positive

komentar_positif <- databersih %>%
  filter(komen == "positive")
komentar_positif <-komentar_positif$x
komentar_positif
##  [1] "looks like african playing for indonesia should have played all african players"                                                                                                                           
##  [2] "hugo samir bin jackson f tiago ðÿªðÿ\u008f"                                                                                                                                                                
##  [3] "masuk ngegolim hugo samir✜"                                                                                                                                                                              
##  [4] "golnya keren amp tidak disangka sangka ðÿ\u008dðÿ"                                                                                                                                                         
##  [5] "alhamdulillah menang"                                                                                                                                                                                      
##  [6] "mantap garuda muda"                                                                                                                                                                                        
##  [7] "garuda bangkit lagii"                                                                                                                                                                                      
##  [8] "yukk garuda "                                                                                                                                                                                              
##  [9] "mantap garuda muda menang  laga perdana asian games ðÿ\u008dðÿðÿ httpstcoaaryso ipz"                                                                                                                       
## [10] "cakep speed kencengðÿœ"                                                                                                                                                                                    
## [11] "ramai rumakiek  hugo samir bawa timnas indonesia u menang httpstcoz hiclqtsd"                                                                                                                              
## [12] "kelebihan para pemain indonesia adalah speed kenceng"                                                                                                                                                      
## [13] "jackson f thiago pasti bahagia"                                                                                                                                                                            
## [14] "coach jacksen f tiago tersenyum simpul httpstcoadveosdcq"                                                                                                                                                  
## [15] "gila larinye cepet banget"                                                                                                                                                                                 
## [16] "pemain potensial cuma dia sering emosian tinggal atasi   terus berkembang"                                                                                                                                 
## [17] " kalo witan gak gol"                                                                                                                                                                                       
## [18] "sempet dag dig dug  pesimis liat mainnya  babak pertama monoton bgt tpi alhamdulillah  berprogres dibabak keduagas truss garuda"                                                                           
## [19] "laju banget akselerasinya"                                                                                                                                                                                 
## [20] "good timnas ðÿðÿðÿðÿ\u008f good coach indra sjahfri biasa nya mreka klau timnas menang sty yg  banggakan sampai muji gak ktulunganðÿ giliran coach lokal mreka mengakui para pmain timnas ah mata sty anðÿ"
## [21] "punya prospek bagus dimasa depan asal jangan cepat puas banyak berlatih  jaga emosi ingat dia pernah divonis tahun gak boleh main bola garagara emosian menendang wasit"                                   
## [22] "hafidz quran nih anak keren respect"                                                                                                                                                                       
## [23] "pemain mana hugo samir"                                                                                                                                                                                    
## [24] "hugo samir is supersub âšðÿðÿðÿðÿ"                                                                                                                                                                         
## [25] " kejayaan sepak bola indonesiasegera dimulai waktunya bersatu  do' viking jakarta"                                                                                                                         
## [26] "the next osimhen"                                                                                                                                                                                          
## [27] "nah bener  kayak ginidapat umpanbawa sat set sat set gol gak usah nekuk dulugak perlu gocek dulu  modelan ivar jener nihayo pemain timnas biasakan kayak gitu  dapat bola enakeun teh"                     
## [28] "egi suruh latihan lebih banyak lagi next hugo samir  jadi starter ðÿ\u0081"                                                                                                                                
## [29] "keren bet oshimen"                                                                                                                                                                                         
## [30] "keren tempaan bapaknya  kalem akuratgol"                                                                                                                                                                   
## [31] "mantap httpstcolaqsecx e  ilp ffyub"                                                                                                                                                                       
## [32] "kenceng kieu larinya"                                                                                                                                                                                      
## [33] "jacksen bangets"                                                                                                                                                                                           
## [34] "hugo samir naturalisasi ya"                                                                                                                                                                                
## [35] "mantab timnasday httpstcoo a vcpnz"                                                                                                                                                                        
## [36] "tidak disangka sangka"                                                                                                                                                                                     
## [37] "hugo calon bintang"                                                                                                                                                                                        
## [38] "untung bs menangsecara permainan msh berantakantdk ada pengatur serangan"                                                                                                                                  
## [39] "gol pertamanya ada yg punya"                                                                                                                                                                               
## [40] "ngelihat selebrasinya ngerasain  dia bangga banget memakai jersey  lambang  dada"                                                                                                                          
## [41] "keren nii"                                                                                                                                                                                                 
## [42] "mantab lanjutkan garuda muda"                                                                                                                                                                              
## [43] "mantap garuda indonesiaaðÿª"                                                                                                                                                                               
## [44] "tipcoineth tip"                                                                                                                                                                                            
## [45] "keren indonesia ku"                                                                                                                                                                                        
## [46] "mbappe versi lite"                                                                                                                                                                                         
## [47] "victor osimhen versi indonesia"                                                                                                                                                                            
## [48] "titisan ronaldo sihðÿ"                                                                                                                                                                                     
## [49] " kompak masih sering salah passing golnya karena skill individu rumakiek  blunder lawan plus kecepatan  kecerdasan hugo"                                                                                   
## [50] "hugo anak baik anak soleh masyaallah sejak kecil ikutan sholat mamanya udh gede hafidz quran lo"                                                                                                           
## [51] "hugo samir si wonderkid sepakbola indonesia  ternyata penghafal alquran lho gak nyangka anak jacksen f thiago mantep juga yaa httpstcoegdqw kbd"                                                           
## [52] "semoga pemain timnas kita terus berkembang lebih baik lagi ketika umurnya  dewasa nanti aamiin"                                                                                                            
## [53] "mantap"                                                                                                                                                                                                    
## [54] "mainnya gk ngalir krn tdk ada playmaker sprti beckham atau marselino alhamdulillah tetap bs meraih kemenangan"                                                                                             
## [55] "siaranbolalive alhamdulillah menang"                                                                                                                                                                       
## [56] "bolanya mengelinding bebas keren"                                                                                                                                                                          
## [57] "entah knp kok lht kyk permainan tarkam"                                                                                                                                                                    
## [58] "kurang gregwt krn penonton nya sepibiasa rameklo main  negara sendiri jd seru"                                                                                                                             
## [59] "hugo is the boss ðÿœ"                                                                                                                                                                                      
## [60] "mutiara hitam"                                                                                                                                                                                             
## [61] "goal nya macam taiwoawoniyi"                                                                                                                                                                               
## [62] "gokil mbappe"                                                                                                                                                                                              
## [63] "keep strong and win kitagaruda timnasday garudamendunia tip"

##Membuat Word Cloud komentar Positif #Mengubah Data Frame Menjadi Data Faktor

tdm_pos <- TermDocumentMatrix(komentar_positif)
tdm_pos
## <<TermDocumentMatrix (terms: 323, documents: 63)>>
## Non-/sparse entries: 432/19917
## Sparsity           : 98%
## Maximal term length: 17
## Weighting          : term frequency (tf)
m_pos <- as.matrix(tdm_pos)
View(m_pos)
v_pos <- sort(rowSums(m_pos),decreasing = TRUE)
head(v_pos)
##      hugo     samir     keren    garuda indonesia    timnas 
##        12         7         7         7         6         6

#Mengubah Data Faktor Menjadi Data Frame

d_pos <- data.frame(word = names(v_pos), freq = v_pos)
head(d_pos)
##                word freq
## hugo           hugo   12
## samir         samir    7
## keren         keren    7
## garuda       garuda    7
## indonesia indonesia    6
## timnas       timnas    6
wordcloud(d_pos$word, d_pos$freq,
          random.order = FALSE,
          max.words = 500,
          colors = brewer.pal(name = "Dark2",8 ))

# Buat DataFrame hanya untuk komentar negatif

komentar_negatif <- databersih %>%
  filter(komen == "negative")
komentar_negatif<-komentar_negatif$x
komentar_negatif
##  [1] "gue bilang juga  coach is  luckyne gede bgt"                                                            
##  [2] "dulu pas dipersis kalo kelakukannya ga jabang bayik udah jadi super star ni bocah wkwk ytta aja wkwk"   
##  [3] "kek unexpected banget kirain mau dipegang sama kiperðÿ"                                                 
##  [4] " siapa  yg lg bakar jagung pas nonton bolaðÿž"                                                          
##  [5] "cuma rada kasar dia mainnya harus ditatar dulu sama bapaknya ðÿ"                                        
##  [6] "kipernya terlalu cepat keluarðÿ"                                                                        
##  [7] "walaupun maennya ngantuk tapi stamina kita lebih bagus daripada kirjisgan"                              
##  [8] "witan udah sering dapet kesempatan begini cm keberuntungannya setipis tissueðÿ"                         
##  [9] "kualitas siarannya bolehlah"                                                                            
## [10] "hahahakipernya kena tipu"                                                                               
## [11] "setelah nonton pertandingan  ternyata kirikgistan ga sejago itutimnas bikin ngantuk krn lucky aja iniðÿ"
## [12] "kalo witan mah gak gol "                                                                                
## [13] "keren cmn tolong nih lain kali jangan terlalu byk maen dibelakang kecolongan baru tau"                  
## [14] "beruntung aja wkwk"                                                                                     
## [15] "ga perlu gocak gocek cari posisi untuk eksekusi"                                                        
## [16] "kasih starter line up napa jgn egy mulu haha"                                                           
## [17] "hubungi"                                                                                                
## [18] "top"                                                                                                    
## [19] "jaga disiplin jangan lagi kau sepak  wasit ya ðÿ\u0081"                                                 
## [20] " blunder bek lawan bukan konsep serangan balik"                                                         
## [21] "gara hugo samir indonesia kalah"                                                                        
## [22] " liga tarkam kah gaenak banget diliat"                                                                  
## [23] "masih ada bek yg posisinya sejajar  kiper ngapain maju ðÿ "                                             
## [24] "ahayðÿ"                                                                                                 
## [25] "selebrasi dlu ygy sbelum bola masuk ke gawang ðÿðÿ\u008fðÿ\u008f"                                       
## [26] "ampun dah  bek nya masih  recover tapi kipernyaa malah maju akwkaoakaokaoaka"                           
## [27] "selebrasi dluan sbelum gol"                                                                             
## [28] "boring liat permaenan timnas"                                                                           
## [29] "ya  bapaknya ganas anaknya ga  buat goal ðÿ\u0081"

##Membuat Word Cloud komentar Negatif #Mengubah Data Frame Menjadi Data Faktor

tdm_neg <- TermDocumentMatrix(komentar_negatif)
tdm_neg
## <<TermDocumentMatrix (terms: 173, documents: 29)>>
## Non-/sparse entries: 197/4820
## Sparsity           : 96%
## Maximal term length: 16
## Weighting          : term frequency (tf)
m_neg <- as.matrix(tdm_neg)
View(m_neg)
v_neg <- sort(rowSums(m_neg),decreasing = TRUE)
head(v_neg)
##  aja wkwk  bek dulu kalo  pas 
##    3    3    3    2    2    2

#Mengubah Data Faktor Menjadi Data Frame

d_neg <- data.frame(word = names(v_neg), freq = v_neg)
head(d_neg)
##      word freq
## aja   aja    3
## wkwk wkwk    3
## bek   bek    3
## dulu dulu    2
## kalo kalo    2
## pas   pas    2
wordcloud(d_neg$word, d_neg$freq,
          random.order = FALSE,
          max.words = 500,
          colors = brewer.pal(name = "Dark2",8 )) 

# Buat DataFrame hanya untuk komentar Neutral

komentar_neutral <- databersih %>%
  filter(komen == "neutral")
komentar_neutral<-komentar_neutral$x
komentar_neutral
##  [1] "udah takut kirgistan mainnya sepadan sama uzbekistan eh ngak tahunya skillnya dibawah timnas kl pelatihnya sty babak aja udah  bobol gol tuh kirgistan"
##  [2] "lanjutkan jaga emosi jangan sampe kena hukuman komdis lagi"                                                                                            
##  [3] "intsting ðÿ "                                                                                                                                          
##  [4] "reply isinya witan ðÿðÿðÿ jadi inget lawan thailand  final tae"                                                                                        
##  [5] "osimhen"                                                                                                                                               
##  [6] "ðÿðÿðÿðÿðÿðÿðÿ"                                                                                                                                        
##  [7] "jadi inget liverpool vs city"                                                                                                                          
##  [8] "ronaldo ga ada ya"                                                                                                                                     
##  [9] "ðÿðÿðÿðÿðÿðÿðÿðÿðÿðÿðÿðÿ"                                                                                                                              
## [10] "akmaliaaf"                                                                                                                                             
## [11] "ðÿðÿðÿ"                                                                                                                                                
## [12] "mainmu saiki ajur"                                                                                                                                     
## [13] "mudryk kudu liat  "                                                                                                                                    
## [14] "all naturalisasi timnas naturalisasi"                                                                                                                  
## [15] "klo mainnya msh kyk gini ngeri gk  nanti ktmu korut"                                                                                                   
## [16] "umpan lambung  yg aku rindukan wkwk"                                                                                                                   
## [17] "witan harus liat "                                                                                                                                     
## [18] "mun nu najongna dedikusnandar asup moalnya"                                                                                                            
## [19] "jadi inget witan"                                                                                                                                      
## [20] "keren golnya sekelas champion"                                                                                                                         
## [21] "skill"

##Membuat Word Cloud komentar Neutral #Mengubah Data Frame Menjadi Data Faktor

tdm_neutral <- TermDocumentMatrix(komentar_neutral)
tdm_neutral
## <<TermDocumentMatrix (terms: 80, documents: 21)>>
## Non-/sparse entries: 90/1590
## Sparsity           : 95%
## Maximal term length: 24
## Weighting          : term frequency (tf)
m_neutral <- as.matrix(tdm_neutral)
View(m_neutral)
v_neutral <- sort(rowSums(m_neutral),decreasing = TRUE)
head(v_neutral)
##     inget      jadi     witan kirgistan   mainnya    timnas 
##         3         3         3         2         2         2

#Mengubah Data Faktor Menjadi Data Frame

d_neutral <- data.frame(word = names(v_neutral), freq = v_neutral)
head(d_neutral)
##                word freq
## inget         inget    3
## jadi           jadi    3
## witan         witan    3
## kirgistan kirgistan    2
## mainnya     mainnya    2
## timnas       timnas    2
wordcloud(d_neutral$word, d_neutral$freq,
          random.order = FALSE,
          max.words = 500,
          colors = brewer.pal(name = "Dark2",8 )) 

## PEMBAGIAN DATA ## # set nilai random generator

set.seed(1234)
library(caret)
## Loading required package: lattice
library(Matrix)

membagi data 80% training, 20% testing

bagi <- createDataPartition(databersih$komen, p = 0.8, list=F) 
training<- databersih[bagi,]
head(training)
##                                                                                 x
## 1 looks like african playing for indonesia should have played all african players
## 3                                                    masuk ngegolim hugo samir✜
## 4                               golnya keren amp tidak disangka sangka ðÿ\u008dðÿ
## 5                                                            alhamdulillah menang
## 6                                                              mantap garuda muda
## 7                                                            garuda bangkit lagii
##      komen
## 1 positive
## 3 positive
## 4 positive
## 5 positive
## 6 positive
## 7 positive
testing<- databersih[-bagi,]
View(testing)

METODE VALIDASI

cross-validasi 5 lipat

control <- trainControl(method = "cv", number = 5, classProbs = TRUE)
control
## $method
## [1] "cv"
## 
## $number
## [1] 5
## 
## $repeats
## [1] NA
## 
## $search
## [1] "grid"
## 
## $p
## [1] 0.75
## 
## $initialWindow
## NULL
## 
## $horizon
## [1] 1
## 
## $fixedWindow
## [1] TRUE
## 
## $skip
## [1] 0
## 
## $verboseIter
## [1] FALSE
## 
## $returnData
## [1] TRUE
## 
## $returnResamp
## [1] "final"
## 
## $savePredictions
## [1] FALSE
## 
## $classProbs
## [1] TRUE
## 
## $summaryFunction
## function (data, lev = NULL, model = NULL) 
## {
##     if (is.character(data$obs)) 
##         data$obs <- factor(data$obs, levels = lev)
##     postResample(data[, "pred"], data[, "obs"])
## }
## <bytecode: 0x0000022c3f0575a8>
## <environment: namespace:caret>
## 
## $selectionFunction
## [1] "best"
## 
## $preProcOptions
## $preProcOptions$thresh
## [1] 0.95
## 
## $preProcOptions$ICAcomp
## [1] 3
## 
## $preProcOptions$k
## [1] 5
## 
## $preProcOptions$freqCut
## [1] 19
## 
## $preProcOptions$uniqueCut
## [1] 10
## 
## $preProcOptions$cutoff
## [1] 0.9
## 
## 
## $sampling
## NULL
## 
## $index
## NULL
## 
## $indexOut
## NULL
## 
## $indexFinal
## NULL
## 
## $timingSamps
## [1] 0
## 
## $predictionBounds
## [1] FALSE FALSE
## 
## $seeds
## [1] NA
## 
## $adaptive
## $adaptive$min
## [1] 5
## 
## $adaptive$alpha
## [1] 0.05
## 
## $adaptive$method
## [1] "gls"
## 
## $adaptive$complete
## [1] TRUE
## 
## 
## $trim
## [1] FALSE
## 
## $allowParallel
## [1] TRUE

NAIVE BAYES

modelNB<-naiveBayes(komen~.,data = training)
head(modelNB)
## $apriori
## Y
## negative  neutral positive 
##       24       17       51 
## 
## $tables
## $tables$x
##           x
## Y           blunder bek lawan bukan konsep serangan balik  kalo witan gak gol
##   negative                                     0.04166667          0.00000000
##   neutral                                      0.00000000          0.00000000
##   positive                                     0.00000000          0.01960784
##           x
## Y           kejayaan sepak bola indonesiasegera dimulai waktunya bersatu  do' viking jakarta
##   negative                                                                        0.00000000
##   neutral                                                                         0.00000000
##   positive                                                                        0.01960784
##           x
## Y           kompak masih sering salah passing golnya karena skill individu rumakiek  blunder lawan plus kecepatan  kecerdasan hugo
##   negative                                                                                                              0.00000000
##   neutral                                                                                                               0.00000000
##   positive                                                                                                              0.01960784
##           x
## Y           liga tarkam kah gaenak banget diliat
##   negative                            0.04166667
##   neutral                             0.00000000
##   positive                            0.00000000
##           x
## Y           siapa  yg lg bakar jagung pas nonton bolaðÿž     ahayðÿ  akmaliaaf
##   negative                                    0.04166667 0.04166667 0.00000000
##   neutral                                     0.00000000 0.00000000 0.05882353
##   positive                                    0.00000000 0.00000000 0.00000000
##           x
## Y          alhamdulillah menang all naturalisasi timnas naturalisasi
##   negative           0.00000000                           0.00000000
##   neutral            0.00000000                           0.05882353
##   positive           0.01960784                           0.00000000
##           x
## Y          ampun dah  bek nya masih  recover tapi kipernyaa malah maju akwkaoakaokaoaka
##   negative                                                                   0.04166667
##   neutral                                                                    0.00000000
##   positive                                                                   0.00000000
##           x
## Y          beruntung aja wkwk bolanya mengelinding bebas keren
##   negative         0.04166667                       0.00000000
##   neutral          0.00000000                       0.00000000
##   positive         0.00000000                       0.01960784
##           x
## Y          boring liat permaenan timnas cakep speed kencengðÿœ
##   negative                   0.04166667             0.00000000
##   neutral                    0.00000000             0.00000000
##   positive                   0.00000000             0.01960784
##           x
## Y          cuma rada kasar dia mainnya harus ditatar dulu sama bapaknya ðÿ
##   negative                                                      0.04166667
##   neutral                                                       0.00000000
##   positive                                                      0.00000000
##           x
## Y          dulu pas dipersis kalo kelakukannya ga jabang bayik udah jadi super star ni bocah wkwk ytta aja wkwk
##   negative                                                                                           0.04166667
##   neutral                                                                                            0.00000000
##   positive                                                                                           0.00000000
##           x
## Y              ðÿðÿðÿ ðÿðÿðÿðÿðÿðÿðÿ ðÿðÿðÿðÿðÿðÿðÿðÿðÿðÿðÿðÿ
##   negative 0.00000000     0.00000000               0.00000000
##   neutral  0.05882353     0.05882353               0.05882353
##   positive 0.00000000     0.00000000               0.00000000
##           x
## Y          egi suruh latihan lebih banyak lagi next hugo samir  jadi starter ðÿ\u0081
##   negative                                                                 0.00000000
##   neutral                                                                  0.00000000
##   positive                                                                 0.01960784
##           x
## Y          entah knp kok lht kyk permainan tarkam
##   negative                             0.00000000
##   neutral                              0.00000000
##   positive                             0.01960784
##           x
## Y          ga perlu gocak gocek cari posisi untuk eksekusi
##   negative                                      0.04166667
##   neutral                                       0.00000000
##   positive                                      0.00000000
##           x
## Y          gara hugo samir indonesia kalah garuda bangkit lagii
##   negative                      0.04166667           0.00000000
##   neutral                       0.00000000           0.00000000
##   positive                      0.00000000           0.01960784
##           x
## Y          gila larinye cepet banget goal nya macam taiwoawoniyi gokil mbappe
##   negative                0.00000000                  0.00000000   0.00000000
##   neutral                 0.00000000                  0.00000000   0.00000000
##   positive                0.01960784                  0.01960784   0.01960784
##           x
## Y          gol pertamanya ada yg punya
##   negative                  0.00000000
##   neutral                   0.00000000
##   positive                  0.01960784
##           x
## Y          golnya keren amp tidak disangka sangka ðÿ\u008dðÿ
##   negative                                        0.00000000
##   neutral                                         0.00000000
##   positive                                        0.01960784
##           x
## Y          good timnas ðÿðÿðÿðÿ\u008f good coach indra sjahfri biasa nya mreka klau timnas menang sty yg  banggakan sampai muji gak ktulunganðÿ giliran coach lokal mreka mengakui para pmain timnas ah mata sty anðÿ
##   negative                                                                                                                                                                                                 0.00000000
##   neutral                                                                                                                                                                                                  0.00000000
##   positive                                                                                                                                                                                                 0.01960784
##           x
## Y          hafidz quran nih anak keren respect hahahakipernya kena tipu
##   negative                          0.00000000               0.04166667
##   neutral                           0.00000000               0.00000000
##   positive                          0.01960784               0.00000000
##           x
## Y          hugo anak baik anak soleh masyaallah sejak kecil ikutan sholat mamanya udh gede hafidz quran lo
##   negative                                                                                      0.00000000
##   neutral                                                                                       0.00000000
##   positive                                                                                      0.01960784
##           x
## Y          hugo is the boss ðÿœ hugo samir naturalisasi ya
##   negative           0.00000000                 0.00000000
##   neutral            0.00000000                 0.00000000
##   positive           0.01960784                 0.01960784
##           x
## Y          hugo samir si wonderkid sepakbola indonesia  ternyata penghafal alquran lho gak nyangka anak jacksen f thiago mantep juga yaa httpstcoegdqw kbd
##   negative                                                                                                                                      0.00000000
##   neutral                                                                                                                                       0.00000000
##   positive                                                                                                                                      0.01960784
##           x
## Y          intsting ðÿ  jadi inget liverpool vs city jadi inget witan
##   negative   0.00000000                   0.00000000       0.00000000
##   neutral    0.05882353                   0.05882353       0.05882353
##   positive   0.00000000                   0.00000000       0.00000000
##           x
## Y          kalo witan mah gak gol  kasih starter line up napa jgn egy mulu haha
##   negative              0.04166667                                   0.04166667
##   neutral               0.00000000                                   0.00000000
##   positive              0.00000000                                   0.00000000
##           x
## Y          keep strong and win kitagaruda timnasday garudamendunia tip
##   negative                                                  0.00000000
##   neutral                                                   0.00000000
##   positive                                                  0.01960784
##           x
## Y          kek unexpected banget kirain mau dipegang sama kiperðÿ
##   negative                                             0.04166667
##   neutral                                              0.00000000
##   positive                                             0.00000000
##           x
## Y          kelebihan para pemain indonesia adalah speed kenceng
##   negative                                           0.00000000
##   neutral                                            0.00000000
##   positive                                           0.01960784
##           x
## Y          kenceng kieu larinya keren bet oshimen keren indonesia ku  keren nii
##   negative           0.00000000        0.00000000         0.00000000 0.00000000
##   neutral            0.00000000        0.00000000         0.00000000 0.00000000
##   positive           0.01960784        0.01960784         0.01960784 0.01960784
##           x
## Y          kipernya terlalu cepat keluarðÿ
##   negative                      0.04166667
##   neutral                       0.00000000
##   positive                      0.00000000
##           x
## Y          klo mainnya msh kyk gini ngeri gk  nanti ktmu korut
##   negative                                          0.00000000
##   neutral                                           0.05882353
##   positive                                          0.00000000
##           x
## Y          kualitas siarannya bolehlah
##   negative                  0.04166667
##   neutral                   0.00000000
##   positive                  0.00000000
##           x
## Y          kurang gregwt krn penonton nya sepibiasa rameklo main  negara sendiri jd seru
##   negative                                                                    0.00000000
##   neutral                                                                     0.00000000
##   positive                                                                    0.01960784
##           x
## Y          laju banget akselerasinya
##   negative                0.00000000
##   neutral                 0.00000000
##   positive                0.01960784
##           x
## Y          lanjutkan jaga emosi jangan sampe kena hukuman komdis lagi
##   negative                                                 0.00000000
##   neutral                                                  0.05882353
##   positive                                                 0.00000000
##           x
## Y          looks like african playing for indonesia should have played all african players
##   negative                                                                      0.00000000
##   neutral                                                                       0.00000000
##   positive                                                                      0.01960784
##           x
## Y          mainmu saiki ajur
##   negative        0.00000000
##   neutral         0.05882353
##   positive        0.00000000
##           x
## Y          mainnya gk ngalir krn tdk ada playmaker sprti beckham atau marselino alhamdulillah tetap bs meraih kemenangan
##   negative                                                                                                    0.00000000
##   neutral                                                                                                     0.00000000
##   positive                                                                                                    0.01960784
##           x
## Y          mantab lanjutkan garuda muda mantab timnasday httpstcoo a vcpnz
##   negative                   0.00000000                         0.00000000
##   neutral                    0.00000000                         0.00000000
##   positive                   0.01960784                         0.01960784
##           x
## Y              mantap mantap garuda indonesiaaðÿª mantap garuda muda
##   negative 0.00000000                  0.00000000         0.00000000
##   neutral  0.00000000                  0.00000000         0.00000000
##   positive 0.01960784                  0.01960784         0.01960784
##           x
## Y          mantap garuda muda menang  laga perdana asian games ðÿ\u008dðÿðÿ httpstcoaaryso ipz
##   negative                                                                          0.00000000
##   neutral                                                                           0.00000000
##   positive                                                                          0.01960784
##           x
## Y          masih ada bek yg posisinya sejajar  kiper ngapain maju ðÿ 
##   negative                                                 0.04166667
##   neutral                                                  0.00000000
##   positive                                                 0.00000000
##           x
## Y          masuk ngegolim hugo samir✜ mbappe versi lite mudryk kudu liat  
##   negative                   0.00000000        0.00000000         0.00000000
##   neutral                    0.00000000        0.00000000         0.05882353
##   positive                   0.01960784        0.01960784         0.00000000
##           x
## Y          mun nu najongna dedikusnandar asup moalnya mutiara hitam
##   negative                                 0.00000000    0.00000000
##   neutral                                  0.05882353    0.00000000
##   positive                                 0.00000000    0.01960784
##           x
## Y          nah bener  kayak ginidapat umpanbawa sat set sat set gol gak usah nekuk dulugak perlu gocek dulu  modelan ivar jener nihayo pemain timnas biasakan kayak gitu  dapat bola enakeun teh
##   negative                                                                                                                                                                            0.00000000
##   neutral                                                                                                                                                                             0.00000000
##   positive                                                                                                                                                                            0.01960784
##           x
## Y          ngelihat selebrasinya ngerasain  dia bangga banget memakai jersey  lambang  dada
##   negative                                                                       0.00000000
##   neutral                                                                        0.00000000
##   positive                                                                       0.01960784
##           x
## Y             osimhen pemain mana hugo samir
##   negative 0.00000000             0.00000000
##   neutral  0.05882353             0.00000000
##   positive 0.00000000             0.01960784
##           x
## Y          pemain potensial cuma dia sering emosian tinggal atasi   terus berkembang
##   negative                                                                0.00000000
##   neutral                                                                 0.00000000
##   positive                                                                0.01960784
##           x
## Y          reply isinya witan ðÿðÿðÿ jadi inget lawan thailand  final tae
##   negative                                                     0.00000000
##   neutral                                                      0.05882353
##   positive                                                     0.00000000
##           x
## Y          ronaldo ga ada ya
##   negative        0.00000000
##   neutral         0.05882353
##   positive        0.00000000
##           x
## Y          selebrasi dlu ygy sbelum bola masuk ke gawang ðÿðÿ\u008fðÿ\u008f
##   negative                                                       0.04166667
##   neutral                                                        0.00000000
##   positive                                                       0.00000000
##           x
## Y          selebrasi dluan sbelum gol
##   negative                 0.04166667
##   neutral                  0.00000000
##   positive                 0.00000000
##           x
## Y          semoga pemain timnas kita terus berkembang lebih baik lagi ketika umurnya  dewasa nanti aamiin
##   negative                                                                                     0.00000000
##   neutral                                                                                      0.00000000
##   positive                                                                                     0.01960784
##           x
## Y          siaranbolalive alhamdulillah menang      skill the next osimhen
##   negative                          0.00000000 0.00000000       0.00000000
##   neutral                           0.00000000 0.05882353       0.00000000
##   positive                          0.01960784 0.00000000       0.01960784
##           x
## Y          tipcoineth tip titisan ronaldo sihðÿ        top
##   negative     0.00000000            0.00000000 0.04166667
##   neutral      0.00000000            0.00000000 0.00000000
##   positive     0.01960784            0.01960784 0.00000000
##           x
## Y          untung bs menangsecara permainan msh berantakantdk ada pengatur serangan
##   negative                                                               0.00000000
##   neutral                                                                0.00000000
##   positive                                                               0.01960784
##           x
## Y          victor osimhen versi indonesia
##   negative                     0.00000000
##   neutral                      0.00000000
##   positive                     0.01960784
##           x
## Y          walaupun maennya ngantuk tapi stamina kita lebih bagus daripada kirjisgan
##   negative                                                                0.04166667
##   neutral                                                                 0.00000000
##   positive                                                                0.00000000
##           x
## Y          witan udah sering dapet kesempatan begini cm keberuntungannya setipis tissueðÿ
##   negative                                                                     0.04166667
##   neutral                                                                      0.00000000
##   positive                                                                     0.00000000
##           x
## Y          ya  bapaknya ganas anaknya ga  buat goal ðÿ\u0081 yukk garuda 
##   negative                                        0.04166667   0.00000000
##   neutral                                         0.00000000   0.00000000
##   positive                                        0.00000000   0.01960784
## 
## 
## $levels
## [1] "negative" "neutral"  "positive"
## 
## $isnumeric
##     x 
## FALSE 
## 
## $call
## naiveBayes.default(x = X, y = Y, laplace = laplace)

#Melakukan Prediksi Menggunakan Data Testing

prediksiNB_test<-predict(modelNB,testing)
hasil_testNB=confusionMatrix(table(prediksiNB_test,testing$komen))
hasil_testNB
## Confusion Matrix and Statistics
## 
##                
## prediksiNB_test negative neutral positive
##        negative        0       0        0
##        neutral         0       0        0
##        positive        5       4       12
## 
## Overall Statistics
##                                           
##                Accuracy : 0.5714          
##                  95% CI : (0.3402, 0.7818)
##     No Information Rate : 0.5714          
##     P-Value [Acc > NIR] : 0.5909          
##                                           
##                   Kappa : 0               
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: negative Class: neutral Class: positive
## Sensitivity                   0.0000         0.0000          1.0000
## Specificity                   1.0000         1.0000          0.0000
## Pos Pred Value                   NaN            NaN          0.5714
## Neg Pred Value                0.7619         0.8095             NaN
## Prevalence                    0.2381         0.1905          0.5714
## Detection Rate                0.0000         0.0000          0.5714
## Detection Prevalence          0.0000         0.0000          1.0000
## Balanced Accuracy             0.5000         0.5000          0.5000