Wednesday, August 16, 2017

Statistika dan Ilmu Hukum

August 16, 2017

Terdapat suatu aktivitas dalam statistika yang menjadi penghubung antara statistika dengan ilmu hukum, yaitu uji hipotesis statistik. Uji hipotesis statistik berkait-kelindan dengan proses pengambilan keputusan di meja hijau. Penolakan atau penerimaan suatu hipotesis statistik memiliki prinsip yang serupa dengan putusan seorang hakim dalam suatu sidang perkara pidana mengenai apakah si terdakwa divonis bersalah atau tidak.

Prinsip yang digunakan dalam pengujian hipotesis sebenarnya adalah prinsip yang seringkali diterapkan dalam kehidupan sehari-hari. Mulai dari mengamati kondisi atau gejala, menyatakan dugaan, mencari bukti, sampai menetapkan kesimpulan. Misalnya, seseorang mendapati dirinya mengalami batuk yang tidak kunjung sembuh selama berminggu-minggu. Meskipun telah mengonsumsi obat batuk, namun tetap tidak memberikan pengaruh yang berarti. Di kemudian hari, bahkan ia mengeluarkan darah yang keluar dari tenggorokannya disertai batuk.

Ia kemudian melaporkan apa yang dialaminya kepada seorang dokter. Sebagai pasien, ia menceritakan apa yang dialaminya kepada dokter tersebut. Berdasarkan gejala-gejala yang diutarakan oleh pasien, dokter tersebut kemudian membuat dugaan mengenai kemungkinan penyakit yang diderita orang tersebut, yaitu bahwa pasien tersebut menderita penyakit TBC. Agar memperkuat dugaan tersebut, dokter kemudian menganjurkan suatu pemeriksaan di laboratorium untuk menguji sampel darah, dahak, air seni, dan feses pasien. Dari hasil pemeriksaan di laboratorium, kemudian dokter menyimpulkan penyakit apa yang diderita oleh pasien. Sebagai catatan, tidak menutup kemungkinan dokter melakukan kesalahan dalam mendiagnosis penyakit pasien.

Setelah melakukan uji laboratorium, diperoleh hasil bahwa pengujian sampel darah, dahak, air seni, dan feses pasien menunjukkan adanya bakteri penyebab TBC, yaitu micobacterium tuberculosa, dalam tubuh pasien. Dengan kata lain, pasien positif mengidap TBC. Sehingga, dokter menyimpulkan bahwa dugannya terbukti, diperkuat dengan hasil uji laboratorium tersebut. Pasien kemudian didiagnosis mengidap penyakit TBC dan diberi perlakuan layaknya penderita penyakit TBC.

Pengambilan kesimpulan oleh dokter dalam mendiagnosis suatu penyakit merupakan contoh dari prinsip pengambilan kesimpulan berdasarkan hasil pengamatan terhadap data untuk memperkuat dugaan dalam ranah ilmu medis. Dokter tidak serta merta mendiagnosis suatu penyakit, melainkan karena terdapat bukti yang cukup untuk menyimpulkan penyakit yang diderita oleh pasien.

Prinsip yang sama digunakan oleh seorang hakim di meja hijau. Dalam ranah ilmu hukum, khususnya hukum acara pidana yang berlaku di Indonesia, seorang hakim tidak dapat menjatuhkan hukuman pidana kepada seorang terdakwa sampai terdapat bukti atau kesaksian saksi yang meyakinkan bahwa terdakwa benar-benar bersalah.

Sebagai contoh, misalkan di suatu kafe terdapat kasus pembunuhan yang tersembunyi menggunakan racun yang dimasukkan ke dalam kopi yang diminum oleh korban. Berdasarkan keterangan dari pelayan kafe dan rekaman CCTV, muncul dugaan terhadap salah seorang tersangka tindak pidana pembunuhan. Singkat cerita, tersangka tersebut akhirnya ditetapkan sebagai terdakwa dan harus mendatangi sidang di pengadilan.

Dalam persidangan ini, seorang hakim memiliki praduga tak bersalah kepada terdakwa, karena belum ada bukti yang cukup untuk menyatakan bahwa terdakwa benar-benar melakukan pembunuhan. Menurut Pasal 183 KUHAP, “Hakim tidak boleh menjatuhkan pidana kepada seseorang, kecuali apabila dengan sekurang-kurangnya dua alat bukti yang sah ia memperoleh keyakinan bahwa suatu tindak pidana benar-benar terjadi dan bahwa terdakwalah yang bersalah melakukannya.”

Seorang hakim tidak serta-merta memvonis bahwa terdakwa bersalah, karena terdakwa tersebut baru diduga melakukan suatu tindak pidana, yaitu pembunuhan. Dugaan tersebut tidak dapat dijadikan landasan untuk mengambil keputusan tanpa adanya bukti yang mencukupi. Oleh karena itu, untuk membuktikan dugaan tersebut, hakim menanyai saksi-saksi dan meminta alat-alat bukti yang lain diajukan atau ditunjukkan di persidangan hingga batas minimum pembuktian dicapai.

Dari alat-alat bukti tersebut, pada akhirnya hakim akan menentukan apakah terdakwa tersebut dijatuhi hukuman, atau terdakwa tersebut bebas (vrij spraak) atau lepas dari segala tuntutan hukum (onslag van recht vervolging), atau penetapan tidak berwenang mengadili, atau putusan yang menyatakan dakwaan tidak dapat diterima, atau putusan yang menyatakan dakwaan batal demi hukum[i]. Perlu menjadi catatan juga bahwa vonis hakim yang dikeluarkan di persidangan tidak terlepas dari kemungkinan keliru atau salah dalam menyimpulkan. Dengan kata lain, putusan hakim tersebut adalah dugaan kuat yang didasarkan pada bukti-bukti dan kesaksian para saksi, bukan merupakan keyakinan sempurna (100%) karena hakim tidak melihat langsung terdakwa melakukan tindak pidana tersebut.

Berdasarkan pernyataan saksi dan bukti yang dihadirkan di persidangan, akhirnya hakim memutuskan bahwa terdakwa tidak bersalah. Hal ini disebabkan tidak cukup bukti yang kuat untuk menyatakan bahwa terdakwa melakukan tindak pidana pembunuhan sebagaiamana dituduhkan oleh jaksa.

Keputusan bahwa terdakwa dibebaskan bukan berarti terdakwa tidak melakukan tindak pidana pembunuhan, melainkan karena bukti yang didapatkan tidak mencukupi untuk mendukung vonis bersalah. Seorang hakim mungkin saja melakukan kesalahan dalam menyimpulkan. Meskipun pada kenyataannya terdakwa benar-benar melakukan pembunuhan, tetapi bukti yang dihadirkan di pengadilan tidak dianggap cukup untuk menetapkan vonis bersalah, maka hakim tersebut tidak menetapkan vonis bersalah kepada terdakwa.

Dari uraian tersebut, dapat dipahami bahwa paling tidak terdapat empat langkah yang dijalani dalam proses penetapan keputusan dan kesimpulan. Pertama, mengamati kondisi atau gejala yang terjadi. Pada kasus pertama, yaitu kasus di bidang medis, seseorang mengalami kondisi atau gejala batuk yang berkepanjangan disertai darah. Pada kasus kedua, yakni kasus hukum, kondisi yang terjadi adalah pembunuhan di suatu kafe.

Kedua kondisi ini merupakan masalah yang membutuhkan suatu pemecahan berupa jawaban atau kesimpulan. Pada kasus medis, kondisi pasien membutuhkan kesimpulan tentang penyakit apa yang diderita. Pada kasus hukum, kondisi kejadian pembunuhan membutuhkan kesimpulan tentang siapakah yang menjadi terpidana pembunuhan tersebut, apakah tersangka benar-benar melakukan tindak pidana atau tidak.

Kedua, menyatakan dugaan kuat. Dugaan yang dinyatakan berdasarkan gejala atau kondisi awal disebut dengan hipotesis. Hipotesis ini bersifat tentatif atau sementara karena belum diperkuat dengan bukti yang memadai. Pada kasus medis, seorang dokter menduga bahwa penyakit yang diderita pasien adalah TBC berdasarkan gejala yang timbul dari pasien. Pada kasus hukum, seorang hakim menduga bahwa terdakwa tersebut adalah pelakunya berdasarkan laporan kepolisian dan tuntutan jaksa. Jika tidak diduga bersalah, maka tidak mungkin jadi tersangka apalagi terdakwa.

Ketiga, mencari bukti dan data. Seseorang tidak dibenarkan membuat kesimpulan berlandaskan dugaan yang tidak berdasar. Oleh karena itu, data yang diperoleh dari hasil observasi diperlukan sebagai bukti untuk mendukung dugaan. Pada kasus pertama, sampel darah dan dahak diambil dari pasien untuk diuji di laboratorium. Hasil dari tes laboratorium tersebut dijadikan landasan oleh dokter dalam diagnosis penyakit yang diderita oleh pasien. Pada kasus kedua, saksi-saksi diperiksa dan diminta kesaksiannya serta alat-alat bukti diajukan di persidangan sebagai landasan bagi hakim dalam menetapkan keputusan.

Keempat, menetapkan keputusan dan kesimpulan. Penetapan keputusan dan kesimpulan ini didasarkan pada data dan bukti yang sedapat mungkin dikumpulkan. Pada kasus medis, seorang dokter menyimpulkan bahwa pasien benar-benar menderita penyakit TBC berdasarkan hasil pengujian sampel darah, dahak, air seni, dan feses pasien di laboratorium, yang mana hasil pengujian tersebut menyatakan bahwa pasien benar-benar menderita penyakit TBC. Pada kasus hukum, meskipun bukti telah dihadirkan dan saksi telah memberi pernyataan, tetapi tidak cukup bagi hakim untuk menyatakan bahwa terdakwa bersalah telah melakukan pembunuhan, meskipun bisa saja pada kenyataannya terdakwa itu benar-benar melakukan tindak pidana pembunuhan.

Uji hipotesis dalam disiplin ilmu statistik pun dilakukan dengan langkah-langkah yang serupa. Bermula dari suatu kondisi atau gejala yang menimbulkan permasalahan, kemudian muncul hipotesis atau dugaan, lantas dilakukan pengamatan/observasi/penelitian untuk mencari data pendukung hipotesis tersebut, dan berakhir dengan penarikan kesimpulan apakah hipotesis tersebut ditolak atau diterima dengan tingkat keyakinan tertentu.

Sebagai contoh, seorang dosen merasa bahwa perlu adanya metode pembelajaran yang baru untuk meningkatkan nilai mahasiswa dalam suatu mata kuliah yang diampunya. Setelah ia menemukan suatu metode pembelajaran yang baru, ia kemudian ingin mengetahui apakah metode pembelajaran yang ia temukan memberikan pengaruh yang signifikan terhadap nilai mata kuliah yang diampunya (mengamati kondisi).

Dosen tersebut kemudian mulai menerapkan metode pembelajaran baru tersebut. Ia menduga bahwa metode pembelajaran baru itu berpengaruh secara efektif terhadap kenaikan nilai mahasiswa dalam mata kuliah tersebut (muncul hipotesis atau dugaan).

Untuk membuktikan dugaan tersebut, dosen itu melakukan penelitian terhadap nilai mahasiswa dalam mata kuliah yang diampunya. Ia mengambil nilai dari sebagian mahasiswa (sebagai sampel) sebelum metode pembelajaran baru diterapkan dan setelah metode pembelajaran baru diterapkan (mengumpulkan data).

Kedua kelompok sampel nilai ini kemudian dibandingkan, apakah terdapat perbedaan yang signifikan di antara keduanya atau tidak. Setelah dianalisis, ternyata terdapat perbedaan yang signifikan antara nilai mahasiswa sebelum dan sesudah diterapkan metode pembelajaran yang baru. Nilai mahasiswa setelah pembaruan metode pembelajaran lebih besar dibandingkan sebelum pembaruan metode pembelajaran. Sang dosen lantas menyimpulkan bahwa metode pembelajaran baru yang ia gagas memberikan pengaruh yang signifikan terhadap kenaikan nilai mahasiswa dalam mata kuliah yang diampunya (penarikan kesimpulan).

[i] Edscyclopedia.com, Ketika Ilmu Hukum Seiring Statistika, http://edscyclopedia.com/ketika-ilmu-hukum-seiring-statistika/, diakses pada tanggal 13 September 2016.
Teks Al-Quran mengenai Tingkat Kepercayaan (Confidence Level)

Teks Al-Quran mengenai Tingkat Kepercayaan (Confidence Level)

August 16, 2017
يَٰٓأَيُّهَا ٱلَّذِينَ ءَامَنُواْ ٱجۡتَنِبُواْ كَثِيرٗا مِّنَ ٱلظَّنِّ إِنَّ بَعۡضَ ٱلظَّنِّ إِثۡمٞۖ وَ لَا تَجَسَّسُواْ وَلَا يَغۡتَب بَّعۡضُكُم بَعۡضًاۚ

Hai orang-orang yang beriman, jauhilah kebanyakan purba-sangka (kecurigaan), karena sebagian dari purba-sangka itu dosa. Dan janganlah mencari-cari keburukan orang dan janganlah menggunjingkan satu sama lain.

Ayat di atas (Q.S. Al-Hujurat ayat 12) memerintahkan orang-orang yang beriman untuk menghindari sebagian besar dari dugaan (zhann). Dugaan (zhann) merupakan dugaan kuat terhadap suatu kondisi tetapi tidak sampai pada derajat yakin (yaqin), yaitu tingkat keyakinan yang sempurna 100%.

Sebagian dugaan (zhann) merupakan dosa. Zhann yang berdosa adalah dugaan-dugaan yang tidak berdasar yang menyebabkan keburukan dan penyesalan. Contoh dugaan yang berdosa adalah buruk sangka, gosip yang tidak jelas, berita tanpa klarifikasi dan pengamatan terhadap fakta sebenarnya, dan sebagainya. Dugaan-dugaan yang buruk inilah yang diperintahkan oleh Allah SWT untuk dihindari. Biasanya, dugaan-dugaan seperti ini membawa manusia kepada ghibah (membicarakan hal-hal yang dibenci oleh seseorang ketika orang tersebut tidak hadir/tidak ada di hadapan) dan mencari-cari kesalahan orang lain. Kedua hal ini dikecam oleh Allah SWT melalui Q.S. Al-Hujurat ayat 12 tersebut.

Dapat dipahami dari firman Allah SWT yang menyatakan bahwa sebagian zhann adalah dosa, bahwasannya sebagian zhann lainnya tidak berdosa. Ada zhann yang tidak menimbulkan dosa, bahkan diperlukan dalam beberapa kondisi. Kondisi-kondisi yang menuntut adanya zhann (dugaan kuat) adalah ketika tidak ada bukti yang secara jelas meyakinkan secara sempurna kebenaran suatu hal.

Dalam ilmu ushul fiqh (ilmu yang mempelajari metodologi pengambilan hukum berdasarkan dalil-dalil al-Quran dan sunnah), dikenal dengan istilah dalil qath’iy dan dalil zhanniy. Singkatnya, dalil-dalil qath’iy merupakan dalil yang jelas dan diyakini 100% sehingga tidak perlu penafsiran lain. Tidak ada perbedaan pendapat di antara para ulama dalam menafsirkan dalil-dalil qath’iy ini. Adapun dalil zhanniy adalah dalil-dalil yang mengindikasikan suatu makna, tetapi mungkin juga ditafsirkan dari makna asal ke makna yang lain, dan yang dimaksudkan adalah makna lain tersebut. Dalam memahami konklusi dari dalil-dalil zhanniy ini, para ulama seringkali berbeda pendapat, para ulama berijtihad. Karenanya, ijtihad ulama bersifat dugaan kuat, tidak permanen. Ketika ijtihad ulama berbeda, tidak menjadi yang satu benar dan yang lainnya salah, melainkan bisa jadi semuanya benar, berdasarkan dugaan kuat terhadap penafsiran teks-teks al-Quran dan hadis yang dijadikan dalil.

Di sini penulis tidak berpanjang lebar membahas ushul fiqih, akan tetapi yang perlu digarisbawahi adalah istilah zhann (dugaan kuat) yang dipakai dalam disiplin ilmu ushul fiqih. Zhann seperti inilah yang dibolehkan dalam Islam, bahkan merupakan suatu keniscayaan. Dugaan kuat (zhann) yang seperti ini didasarkan pada dalil-dalil yang terdapat pada al-Quran dan sunnah.

Dalam kasus persidangan di meja hijau, seorang hakim menerima laporan atas perbuatan pidana seorang terdakwa. Jaksa pun menuntut. Bukti-bukti dihadirkan, saksi-saksi memberi kesaksian. Mengapa perlu adanya bukti dan saksi? Karena hakim tidak melihat sendiri perbuatan si terdakwa. Jika hakim melihat tindak pidana seorang terdakwa dengan mata kepala sendiri, maka hal ini merupakan sebuah keyakinan 100%. Ia tidak perlu lagi membutuhkan bukti-bukti dan saksi-saksi untuk memvonis si terdakwa. Akan tetapi kenyataannya tidak demikian.

Seorang hakim memutuskan suatu vonis berdasarkan bukti-bukti dan pernyataan saksi, tidak melihat langsung tindakan si terdakwa. Dengan demikian, keputusan yang diambil tidak mungkin luput dari kesalahan. Tidak mungkin seorang hakim membuat keputusan yang 100% benar, tentu ada celah untuknya melakukan kesalahan dalam vonisnya.

Suatu kondisi yang tidak mencapai tingkat keyakinan 100%, maka disebut zhann. Bisa jadi 95%, 90%, 75%, dan sebagainya namun tidak sampai di bawah 50%. Jika suatu tingkat keyakinan di bawah 50%, maka termasuk keraguan yang kiranya tidak layak untuk diperhitungkan.

Akan tetapi, meskipun vonis hakim tidak luput dari kesalahan, ia tetap menghakimi berdasarkan bukti-bukti dan kesaksian yang dapat dipertanggungjawabkan. Oleh karena itu, zhann di sini merupakan suatu keniscayaan, yang tidak dapat dihindarkan. Zhann (dugaan kuat) seperti inilah yang dibolehkan dalam al-Quran berdasarkan surat al-Hujurat ayat 12.

Dalam hubungannya dengan uji hipotesis statistik, penolakan suatu hipotesis statistik harus didasarkan pada data pengamatan. Karena statistik merupakan perhitungan bagi sampel, maka tidak mungkin dapat merepresentasikan suatu populasi secara sempurna dengan tingkat keyakinan 100%. Selalu ada peluang bagi kesalahan dalam pengambilan keputusan. Selalu ada tingkat keyakinan yang diperhitungkan, dan tingkat kesalahan yang ditoleransi. Inilah yang diistilahkan dalam al-Quran dengan zhann. Zhann dalam hal ini termasuk dugaan kuat yang dibolehkan, bahkan merupakan suatu keniscayaan.

Suatu hipotesis statistik ditolak, dengan tingkat keyakinan tertentu, jika data mencukupi untuk melakukan penolakan. Sebaliknya, jika tidak cukup bukti dari data untuk menolak suatu hipotesis statistik, maka hipotesis tersebut diterima dengan tingkat keyakinan (confidence level) tertentu.

How to Get Keys and Access Token for Twitter API

August 16, 2017

 Cara untuk mendapatkan Consumer Key, Consumer Secret, Access Token, dan Access Token Secret dijelaskan dalam tulisan ini. Berikut langkah-langkahnya.
  1. Buka situs https://apps.twitter.com
  2. Ikuti langkah-langkah seperti pada gambar-gambar berikut.
    12
    Scroll ke bawah
    3
    4

    Scroll ke bawah
    6
    5
  3. Manfaatkanlah...
Sekian. Semoga bermanfaat.
Text Mining (Twitter Analysis) Outputs in R

Text Mining (Twitter Analysis) Outputs in R

August 16, 2017
6
Tulisan ini adalah kelanjutan dari postingan saya sebelumnya yang berjudul Text Mining Analysis with R. Tulisan tersebut menyajikan langkah-langkah analisis Text Mining, sedangkan tulisan ini menyajikan outputnya. Oke guys, let's check it out...!
  1. Frequent Terms Plot. Plot ini menyajikan kata-kata yang sering keluar disertai jumlah frekuensi keluarnya kata tersebut yang ditampilakn dalam bentuk diagram plot.
    4
  2. Bar Plot of Frequent Terms
    Secara esensi sama dengan plot kata, tetapi bentuk penyajiannya berbeda.
    7 
  3. Frequent Terms dan Terms Association
    Output ini menjelaskan kata-kata yang sering keluar dengan frekuensi minimum 100 (minimal 100 kali keluar/digunakan). Adapun asosiasi kata menyajikan kata-kata yang berhubungan dengan kata tertentu (dalam hal ini adala "yogyakarta" dengan kemungkinan hubungan minimal sebesar 0,3.
    Terlihat kata-kata yang berhubungan dengan "yogyakarta" di antaranya adalah asean (0,51), populer (0,49), dan eksotisme (0,47).

    8
  4. Clustering Terms
    Menampilkan kata-kata yang telah ter-cluster yang disajikan dalam suatu cluster dendogram.
    5
  5. Word Cloud
    Menampilakan kata-kata yang sering keluar atau paling populer dalam data teks yang disajikan dalam bentuk awan, sehingga output seperti ini disebut awan kata.
6
Sekian pembahasan mengenai Text Mining Analysis dari penulis.

Untuk menambah wawasan mengenai analisis teks menggunakan R, mengetahui metode-metode analisis lain untuk Text Mining, skrip dan pembahasan lebih lengkap tentang Text Mining Analysis with R, Anda dapat mengunjungi link ini http://www.rdatamining.com/docs/text-mining-with-r-of-twitter-data-analysis. Semoga bermanfaat.
Text Mining (Twitter Analysis) in R

Text Mining (Twitter Analysis) in R

August 16, 2017
6
 Pada kesempatan kali ini, penulis menyajikan sebuah artikel mengenai langkah-langkah melakukan Text Mining Analysis menggunakan software R. Tulisan ini dilatarbelakangi banyaknya kawan dan adik tingkat penulis yang menanyakan perihal analisis penggalian teks ini.
Metode analisis Text Mining yang digunakan dalam tulisan ini hanya melibatkan analisis-analisis yang pernah penulis gunakan dalam karya-karya ilmiah yang pernah penulis buat, yakni meliputi clustering, plotting, wordcloud, kata-kata yang sering muncul, dan asosiasi kata.
Data teks yang digunakan dalam analisis ini adalah data tweets dari Twitter. Okay, let's check it out...!
Sebelum melakukan analisis Text Mining dengan R, install dahulu packages yang diperlukan. Adapun packages yang diperlukan adalah httr, twitteR, base64enc, tm, ggplot2, dan wordcloud.
Cara instalasi packages adalah dengan dengan menuliskan sintak berikut.

install.packages("httr","twitteR","base64enc","tm","wordcloud","ggplot2")

Jika cara tersebut tidak berhasil atau terjadi error, Anda dapat mengunduh langsung paket-paket tersebut di https://cran.r-project.org/ atau tanya langsung ke Si Mbah, maksud saya...Si Mbah Google.
Selanjutnya, panggil paketnya dengan menjalankan skrip berikut.

library(httr)
library(twitteR)
library(base64enc)
library(tm)
library(wordcloud)
library(ggplot2)


Kemudian lakukan autentikasi ke Twitter API. Skrip autentikasi ini pernah berubah sebelumnya menjadi skrip yang sekarang penulis gunakan. Skrip  ini masih saya gunakan terakhir pada tanggal 16 Januari 2016, tepatnya ketika menulis artikel ini. Skripnya sebagai berikut.

# autentikasi TwitterAPI (sederhananya, izin akses data twitter)
setup_twitter_oauth("Cunsemer Key Anda",
"Consumer Secret Anda",
access_token="Access Token Anda",
access_secret="Access Token Secret Anda")


Selanjutnya, setelah Anda menjalankan skrip di atas, akan muncul tampilan berikut. 

2

Tulis angka 1 untuk mengisi "Selection" kemudian tekan Enter.

3 

Jika belum memiliki Consumer Key, Consumer Secret, Access Token, dan Access Token Secret, Anda dapat mengunjungi halaman How to Get Keys and Access Token for Twitter API dalam blog ini untuk cara mendapatkannya.
Selanjutnya adalah mengambil data dari twitter sebanyak 200 data dengan kata kunci "wisata yogyakarta"

tweets = searchTwitter("wisata yogyakarta", n=200, lang=NULL)
text = sapply(tweets, function(x) x$getText())


Selanjutnya copas saja skrip berikut untuk analisisnya.

tweets.df<-twListToDF(tweetsyk)
dim(tweets.df)
## [1] 320 14
for(i in c(1:2,320)) {
cat(paste0("[", i,"] "))
writeLines(strwrap(tweets.df$text[i],60))
}

# build a corpus, and specify the source to be character vectors
myCorpus<-Corpus(VectorSource(tweets.df$text))

# hanya mengambil huruf dan spasi
removeNumPunct<-function(x)gsub("[^[:alpha:][:space:]]*","", x)
myCorpus<-tm_map(myCorpus,content_transformer(removeNumPunct))

# remove URLs
removeURL<-function(x)gsub("http[^[:space:]]*","", x)
myCorpus<-tm_map(myCorpus,content_transformer(removeURL))

# remove punctuation
myCorpus <- tm_map(myCorpus, removePunctuation)
# remove numbers
myCorpus <- tm_map(myCorpus, removeNumbers)

# remove URLs
removeURL<-function(x)gsub("http[^[:space:]]*","", x)
myCorpus<-tm_map(myCorpus,content_transformer(removeURL))

# convert to lower case
myCorpus<-tm_map(myCorpus,content_transformer(tolower))


# add two extra stop words: "available" and "via"
myStopwords<-c(stopwords('english'),"dan","itu","saya","kamu","acara","akan","yang","http","https")

# remove stopwords from corpus
myCorpus<-tm_map(myCorpus, removeWords, myStopwords)

# remove extra whitespace
myCorpus<-tm_map(myCorpus, stripWhitespace)
myCorpusCopy<-myCorpus

# stem words
myCorpus<-tm_map(myCorpus, stemDocument)
for(i in c(1:2,320)) {
cat(paste0("[", i,"] "))
writeLines(strwrap(as.character(myCorpus[[i]]),60))
}

stemCompletion2<-function(x,dictionary) {
x<-unlist(strsplit(as.character(x)," "))

# Unexpectedly, stemCompletion completes an empty string to
# a word in dictionary. Remove empty string to avoid above issue.
x<-x[x!=""]
x<-stemCompletion(x,dictionary=dictionary)
x<-paste(x,sep="",collapse=" ")
PlainTextDocument(stripWhitespace(x))
}

myCorpus<-lapply(myCorpus, stemCompletion2,dictionary=myCorpusCopy)
myCorpus<-Corpus(VectorSource(myCorpus))

miningCases<-lapply(myCorpusCopy,
function(x) { grep(as.character(x),pattern=" \\<mining")} )
sum(unlist(miningCases))
minerCases<-lapply(myCorpusCopy,
function(x) {grep(as.character(x),pattern=" \\<miner")} )
sum(unlist(minerCases))

#mengganti kata "keindahan" dengan "indah", "kenalkan" dengan "kenal"
myCorpus<-tm_map(myCorpus,content_transformer(gsub),pattern="keindahan",replacement="indah")
myCorpus<-tm_map(myCorpus,content_transformer(gsub),pattern="kenalkan",replacement="kenal")

control=list(wordLengths=c(1,Inf)))
tdm

idx<-which(dimnames(tdm)$Terms=="wisata")
inspect(tdm[idx+(0:5),101:110])

(freq.terms<-findFreqTerms(tdm,lowfreq=100))
term.freq<-rowSums(as.matrix(tdm))
term.freq<-subset(term.freq, term.freq>=100)
df<-data.frame(term=names(term.freq),freq= term.freq)

library(ggplot2)
ggplot(df,aes(x=term,y=freq))+geom_bar(stat="identity")+
xlab("Terms")+ylab("Count")+coord_flip()

# barplot kata
barplot(termFrequency, las=2)

#Frequent Terms and Associations (kata yang sering keluar dan asosiasi kata)
findFreqTerms(tdm, lowfreq=100)
findAssocs(tdm, 'yogyakarta', 0.3)

# clustering
# menghapus istilah/kata yang jarang
tdm2<-removeSparseTerms(tdm,sparse=0.95)
m2<-as.matrix(tdm2)

# cluster terms
distMatrix<-dist(scale(m2))
fit<-hclust(distMatrix,method="ward")
plot(fit)
rect.hclust(fit,k=3)
m<-as.matrix(tdm)

# menghitung frekuensi kata dan mengurutkannya
word.freq<-sort(rowSums(m),decreasing= T)
# colors
pal<-brewer.pal(9,"BuGn")
pal<-pal[-(1:4)]

# membuat awan kata (word cloud)
library(wordcloud)
wordcloud(words=names(word.freq),freq=word.freq,min.freq=50,
random.order= F,colors= pal)


Output analisis dibahas di sini.
Copyright © KESAKSIAN. All rights reserved. Template by CB Blogger