Natural Language Processing (NLP) Penerapan Stopwords Bahasa Indonesia dengan R: Topik Sepinya Jalur Pantura Akibat Adanya Tol Trans Jawa

Natural Language Processing (NLP) Penerapan Stopwords Bahasa Indonesia dengan R: Topik Sepinya Jalur Pantura Akibat Adanya Tol Trans Jawa

Natural Language Processing: Stopwords Bahasa Indonesia dengan R

Halo teman-teman, berjumpa lagi dengan blog sederhana ini. Pada pembahasan sebelumnya, kita telah bersama belajar penerapan stemming teks yang merupakan bagian dari Natural Language Processing (NLP) menggunakan R. Pada perjumpaan kali ini, kita akan melanjutkan perjuangan kita berbagi ilmu mengenai NLP, tepatnya adalah penerapan stopwords Bahasa Indonesia dengan R.

Perlu diketahui bahwa di dalam NLP, untuk menambah keluasan dan mempertajam analisis teks, proses stemming teks saja belum cukup. Kita juga perlu membersihkan teks yang relatif atau mutlak tidak bermakna di dalam analisis teks. Biasanya teks yang dieliminasi dalam NLP merupakan kata penghubunga atau konjungsi, atau kata yang berupa ekspresi yang bercampur di dalam data teks, misalkan ekspresi tertawa "wkwk", ekspresi penolakan "gak, nggak, tidak, atau gk", bahasa asing (selain Indonesia), atau juga kata-kata yang tidak memenuhi kaidah tata bahasa, dalam topik ini adalah Bahasa Indonesia. Sebetulnya, kata-kata atau teks tersebut bisa saja kita analisis lebih dalam secara tersendiri. Namun, pada sharing ini, kita bertujuan untuk menganalisis data teks Indonesia secara standar saja.

Baik, adapun alat stopwords Bahasa Indonesia yang kita gunakan kali ini merupakan database kata-kata yang tidak diperlukan dalam analisis teks dan secara berangsur telah saya update sesuai dengan kebutuhan. Prinsip dari proses stopwords dalam NLP adalah melakukan penghapusan secara massal kata-kata di dalam data teks yang hendak kita olah dan analisis lebih lanjut berdasarkan database kata yang tidak diperlukan. Sebagai ilustrasi, dari sekumpulan data teks, kita tuliskan misalkan pada sebuah papan tulis, kemudian kita hapus kata-kata di papan tulis tadi kata-kata yang sama dengan data kata-kata yang tidak diperlukan dan telah kita siapkan sebelumnya pada kertas. Prinsip proses stopwords ini kemudian diakomodir oleh fungsi unnest_tokens() dalam package tidytext dan dplyr,

Data apa yang akan kita gunakan kali ini? Adapun data yang kita gunakan pada praktikum stopwords Bahasa Indonesia kali ini adalah data tweets mengenai respons masyarakat dunia maya (netizen) terhadap sepinya jalur Pantai Utara Jawa atau biasa dikenal dengan Jalur Pantura akibat pembangunan jalan tol Trans Jawa akhir-akhir ini yang kembali mencuat. Kendati pemerintah telah berupaya mengalihkan sejumlah UMKM di sepanjang Pantura ke Rest Area tol, tetapi kebanyakan dari mereka tidak mau dan memilih tetap berusaha di sepanjang Pantura meskipun sepi dan omset terus menurun.

Pembangunan tol Trans Jawa memang nyata dampaknya bagi UMKM di sepanjang Pantura. Walaupun terdapat Rest Area yang siap menampung usaha mereka dengan fasilitas yang dinilai lebih baik, tetapi akses dari rumah ke Rest Area sebagai besar jauh dan tentunya bila tetap nekat, hal itu membutuhkan sejumlah uang untuk operasional dari rumah pengusaha UMKM. Belum lagi, meski berada di Rest Area, tidak ada jaminan omset UMKM terdampak tol tersebut meningkat tajam. Strategi pembangunan tol seperti ini agaknya perlu tingkat kematangan dengan mempertimbangkan banyaknya UMKM yang berpotensi terkena dampak buruknya. Dan perlu dipertegas kembali, bahwa karena UMKM-lah, negara ini mampu menghidupi sekitar 70 persen tenaga kerja yang ada. Satu poin lagi, bahwa sejarah telah mencatat bahwa karena UMKM-lah, ekonomi Indonesia mampu bertahan di tengah krisis multidimensi 1997/1998.

Mungkin itu sedikit gambaran mengenai data yang akan kita gunakan. Berikutnya, data tweets mengenai topik Sepinya Jalur Pantura akibat Tol Trans Jawa ini bisa teman-teman unduh pada tautan berikut. Sedangkan database stopwords Bahasa Indonesia yang bisa digunakan dapat diunduh pada tautan berikut.

Setelah kedua data tersebut diunduh, kita dapat melakukan praktikum NLP: Stopwords Bahasa Indonesia memakai R dengan mengikuti beberapa code berikut:

#Import Data Tweets topik Jalur Pantura Sepi
panturasepi <- read_excel("panturasepi.xlsx")
head(panturasepi)
## # A tibble: 6 x 1
##   tweets 
##   <chr>  
## 1 ini    
## 2 ada    
## 3 aph    
## 4 sie    
## 5 rame   
## 6 pantura
#Melihat Dimensi Data Tweets
dim(panturasepi)
## [1] 16377     1
#Menghapus kata-kata yang tidak diperlukan dengan Stopwords Bahasa Indonesia
stop <- readLines("C:/Users/56848/Documents/stopwords-indonesia.txt") %>% as.data.frame()
## Warning in readLines("C:/Users/56848/Documents/stopwords-indonesia.txt"): incomplete final line found on 'C:/Users/
## 56848/Documents/stopwords-indonesia.txt'
colnames(stop) <- c("stopwords")
head(stop)
##   stopwords
## 1       ada
## 2    adalah
## 3    adanya
## 4    adapun
## 5      agak
## 6   agaknya
#Memperoleh hasil tokenized kata dan mendapatkan frekuensinya per kata
library(dplyr)
library(tidytext)
panturasepi %>%   
  # tokenize setiap kalimat menjadi per kata
  unnest_tokens(input = tweets, output = token) %>% 
  # hitung frekuensi semua huruf lalu urutkan 
  # dari yang paling besar frekuensinya
  anti_join(stop, by = c("token" = "stopwords")) %>%
  count(token, sort = T)
## # A tibble: 4,226 x 2
##    token       n
##    <chr>   <int>
##  1 pantura   921
##  2 face      182
##  3 jalan     152
##  4 jalur     111
##  5 crying     61
##  6 loudly     60
##  7 truk       58
##  8 tol        52
##  9 dangdut    51
## 10 orang      48
## # ... with 4,216 more rows

Demikian sedikit berbagi kita mengenai Natural Language Processing (NLP) bagaimana melakukan pembersihan terhadap teks atau kata-kata yang tidak diperlukan dalam analisis data teks menggunakan R. Ikuti terus unggahan dari blog ini dan semoga sedikit banyak memberi manfaat. Selamat memahami dan mempraktikkan!

Natural Language Processing (NLP): Stemming Kata dengan R (Step by Step)

Natural Language Processing (NLP): Stemming Kata dengan R (Step by Step)

 

Natural Language Processing (NLP) dengan R

Halo teman-teman, bertemu kembali dengan blog sederhana ini. Kemarin kita telah membahas dan mempratikkan bersama bagaimana membuat pivot table dengan Python dan NLP membersihkan teks dengan R, kali ini kita akan kembali membahas mengenai Natural Language Processing (NLP) dengan R.

Pada bahasan NLP kemarin, kita sampai pada praktik membersihkan teks dari unsur-unsur yang tidak diperlukan untuk analisis data teks (Text Mining). Sekarang saatnya kita meneruskan NLP itu lebih lanjut, yaitu bagaimana menerapkan stemming sebuah teks atau sekumpulan teks menggunakan R.

Dalam melakukan analisis sekumpulan teks, imbuhan sebuah kata memang berarti, namun, dalam rangka menyederhanakan proses analisis sehingga lebih berkualitas, kita juga perlu melakukan ekstraksi sekumpulan kata dalam sebuah teks menjadi himpunan kata-kata dasar atau kata tanpa imbuhan apapun. Mengapa kita perlu mengekstrak kata dasar dari sekumpulan kata berimbuhan ini? Jelas, karena untuk meningkatkan kualitas atau akurasi analisis serta untuk mengurangi kapasitas penyimpanan kata-kata dalam sistem memori Artificial Intelligence (AI). Tidak cukup itu saja, stemming yang menjadi bagian dari pre-processing dalam NLP juga bisa kita manfaatkan untuk memperluas makna atau arti dari sebuah kata dasar ketika ditambahkan dengan imbuhan yang berbeda. Sebab, beda imbuhan tentu secara konteks akan membuat makna sebuah kata akan berbeda, terlebih jika berada di dalam sebuah kalimat, khususnya bahasa Indonesia.

Coba kita perhatikan perbedaan makna kalimat berikut:

"Kelinci itu memakan rumput" (kalimat 1)

"Kelinci itu dimakan rumput" (kalimat 2)

Dari dua kalimat itu saja, jelas, perbedaan imbuhan memengaruhi makna dari sebuah kalimat. Untuk menghilangkan adanya pengaruh perubahan makna akibat perbedaan imbuhan itulah, dalam Natural Language Processing (NLP) perlu proses stemming.

Stemming teks yang belakangan beredar luas kebanyakan stemming untuk bahasa internasional, misalkan bahasa Inggris. Sedangkan untuk bahasa Indonesia sendiri, saya amati masih baru dikembangkan, salah satunya oleh Pak Nurandi. Beliau mengembangkan sebuah package yang sepertinya masih saya manfaatkan saat ini, yaitu package katadasaR. Dengan package ini, sebuah kata berbahasa Indonesia yang berimbuhan dapat diperoleh rootnya atau kata dasarnya sehingga sangat bermanfaat dalam NLP, terutama bila arahnya menganalisis sentimen teks Bahasa Indonesia. Untuk melakukan instalasi package yang dikembangkan oleh Pak Nurandi ini bisa menggunakan remotes instalasi dari github langsung (nurandi/katadasaR). Kemudian untuk mengaktifkannya, seperti biasanya kita tinggal memanggil library dari package katadasaR yang telah terinstal.

Kita berlanjut pada bagaimana melakukan praktik pre processing NLP stemming dengan R. Data yang akan coba kita stemming adalah data tweets mengenari respon masyarakat maya (netizen) Twitter terkait kebijakan pemerintah menaikkan harga atau tarif dasar listrik baru-baru ini. Data tweets tersebut telah saya siapkan untuk dapat digunakan teman-teman yang berminat mencobanya. Data tersebut bisa diunduh terlebih dahulu pada tautan berikut. Setelah datanya diunduh, kita langsung saja mempraktikkan proses stemming kata menggunakan package katadasaR dengan beberapa code berikut:

#Membuat sebuah kalimat
kalimat <- c("Ada salah satu pemenang merekomendasikan kebijakan untuk industrialisasi guna memenuhi kebutuhan lokal, dan juga untuk bermain di pasar global melalui ekspor serta bagaimana supaya ada kemudahan bagi industri untuk memproduksi dengan biaya murah sehingga punya daya saing")
kalimat
## [1] "Ada salah satu pemenang merekomendasikan kebijakan untuk industrialisasi guna memenuhi kebutuhan lokal, dan juga untuk bermain di pasar global melalui ekspor serta bagaimana supaya ada kemudahan bagi industri untuk memproduksi dengan biaya murah sehingga punya daya saing"
#Stemming Bahasa Indonesia
library(katadasaR)
stemming <- function(x){
  paste(lapply(x,katadasar),collapse = " ")
}
#Melakukan stemming kata dari kata berimbuhan menjadi kata dasar
library(tokenizers)
stemkalimat <- lapply(tokenize_words(kalimat), stemming)
#Melihat hasil stemming kalimat dengan 
stemkal <- unlist(stemkalimat)
stemkal
## [1] "ada salah satu menang rekomendasi bijak untuk industrialisasi guna penuh butuh lokal dan juga untuk main di pasar global lalu ekspor serta bagaimana supaya ada mudah bagi industri untuk produksi dengan biaya murah sehingga punya daya saing"
#Import Data
dfku <- bahanstemstop
dfku
## # A tibble: 29 x 1
##    Teks                                                                                                              
##    <chr>                                                                                                             
##  1 guriiih tarif listrik naik terus maszeh                                                                           
##  2 data tidak sesuai kondisi untuk buzeer nkri rakyat mana ngerti dikasih data kayak gini yg rakyat paham migor lang~
##  3 wacana maksimal k dikarenanakan biaya listrik naik                                                                
##  4 cieribut soal act ternyata tarif listrik naik nih                                                                 
##  5 yg kangen ibhrs silahkan tonton video inigw yakin kalian pasti senang nyanyiannya ini adlh fakta tak terbantahkan~
##  6 cnnindonesia ganti kendaraan listrik ntar listrik naik kan bangke omonganmu moeldokowajibbubarkanmk jokowiperusak~
##  7 luar biasa saat bbm dan migor semakin sulit cabe naik pajak naik gas naik listrik naik angka pengangguran baik tp~
##  8 lumbalaut data peler nyatanya sembako pada naik listrik naik bbm naik jancuk kon                                  
##  9 tarif listrik naik terus tapi beberapa hari ini mati listrik dan listriknya suka naik turun gitu ini apalagi mati~
## 10 pasokan listrik naik khofifah cek pembangunan sktt kv di jembatan suramadu                                        
## # ... with 19 more rows
#Mengubah Tipe list
tweetschar <- unlist(as.character(dfku$Teks))
tweetschar
##  [1] "guriiih tarif listrik naik terus maszeh"                                                                                                                                                                                                                                                      
##  [2] "data tidak sesuai kondisi untuk buzeer nkri rakyat mana ngerti dikasih data kayak gini yg rakyat paham migor langka cabe mahal bbm naik lpg naik ppn naik pulsa naik listrik naik korupsi jalan terus kerjaan susah dan terus mikir besok makan pakai apa ngibul smiling face with sunglasses"
##  [3] "wacana maksimal k dikarenanakan biaya listrik naik"                                                                                                                                                                                                                                           
##  [4] "cieribut soal act ternyata tarif listrik naik nih"                                                                                                                                                                                                                                            
##  [5] "yg kangen ibhrs silahkan tonton video inigw yakin kalian pasti senang nyanyiannya ini adlh fakta tak terbantahkan saat ini backhand index pointing down bbm naik pajak naik listrik naik cabe naik semuanya naik rakyat semakin sengsara panjang umur dan sehat slalu guru"                   
##  [6] "cnnindonesia ganti kendaraan listrik ntar listrik naik kan bangke omonganmu moeldokowajibbubarkanmk jokowiperusakbangsa rezimsusahinrakyat"                                                                                                                                                   
##  [7] "luar biasa saat bbm dan migor semakin sulit cabe naik pajak naik gas naik listrik naik angka pengangguran baik tp kepuasan kok naik terus lama kok jadi khawatir tidak cukup barangkali tidak usah dibatasi jadi bisa misalnya sekalian saja puas"                                            
##  [8] "lumbalaut data peler nyatanya sembako pada naik listrik naik bbm naik jancuk kon"                                                                                                                                                                                                             
##  [9] "tarif listrik naik terus tapi beberapa hari ini mati listrik dan listriknya suka naik turun gitu ini apalagi mati listrik malemmalem"                                                                                                                                                         
## [10] "pasokan listrik naik khofifah cek pembangunan sktt kv di jembatan suramadu"                                                                                                                                                                                                                   
## [11] "orang pada bahas brigadir j brimob jendraltahu bbm naik tarif listrik naik male sign misteribakutembak"                                                                                                                                                                                       
## [12] "yaelah pak rakyat mana ngerti dikasih data kayak gini yg rakyat paham migor langka cabe mahal bbm naik lpg naik ppn naik pulsa naik listrik naik korupsi jalan terus kerjaan susah dan terus mikir besok makan pakai apa"                                                                     
## [13] "pancasilasaja cebong pura bahagia pdhal cabe mahal tarif listrik naik minyak goreng mahal hutang rb triliun nah coba lihat foto ini ada orang yaman gak dasar goblong"                                                                                                                        
## [14] "cermin naik harga katanya listrik yg naik yg va ke atas daya listrik di rumahnya va ehribut sejagat pemerintah biadab listrik naik grinning face with sweat grinning face with sweat grinning face with sweat"                                                                                
## [15] "gara duit gak ada buat bangun ikn terpaksa rezim malakin rakyatnya listrik naik minyak naik gajinya naik maksakan pake aplikasi yang paling hot rampok uang act secara halus tolakrkuhptolakperiode tolakrkuhptolakperiode"                                                                   
## [16] "pake kompor listrik o tenang saja bentar lagi listrik naik juga kok"                                                                                                                                                                                                                          
## [17] "cnnindonesia listrik naik om terus beli kuda gitu"                                                                                                                                                                                                                                            
## [18] "cnnindonesia listrik naik juga rakyat mau beli mobil listrik yg mana yg solar cell ya saat sulit ini ia pejabat yg tak sesuai hati nurani rakyat lalu kemana hanura apakah ia sdh berubah"                                                                                                    
## [19] "moeldoko bilang beli mobil listrik apakah ada sesuatu dr bbm pertamina yg ditakutinya listrik naik juga apakah ada juga yg dia takuti dg listrik mobil rakyat ada yg senang dan banyak yg susah"                                                                                              
## [20] "tvonenews rakyat yg mana bbm dan listrik naik"                                                                                                                                                                                                                                                
## [21] "enak bener rezim mukidi dibantu rakyat giliran rakyatnya menderita kesusahan bukannya dibantu justru sebaliknya rakyat semakin ditindas lewat kebijakan yang tidak pro kepada rakyat seperti bbm naik gas epiji naik sembako mahal migor mahal pajak naik listrik naik"                       
## [22] "badikpejuang iya iya iya anda benar white heavy check mark kemudahan dalam hal harga sembako naik bbm naik gas lpg naik listrik naik pajak naik rakyat beli bbm dijatah memakai psrsyaratan embel selama bulan rakyat dibuat menderita tersiksa kadena migor langkah mahal"                   
## [23] "new post tarif listrik naik begini prosedur menurunkan daya listrik has been published on"                                                                                                                                                                                                    
## [24] "lah elu ngentot harga bapok pda naik bbm listrik naik ump kaga naik itu anak org elu yg mau ksih makan makin tua makin tolol"                                                                                                                                                                 
## [25] "ya elah kalau fakta lebih lagi wkwk penjilat akut fakta tuh bbm naik listrik naik sembako naik mau jilat mana lagi penjilat akut rezim wakanda lol"                                                                                                                                           
## [26] "gamalmarpaung samsularifin bbm naik listrik naik komoditas naik utang bejibun masih percaya debttrap rrc makin mencekam hutang udah t belum digabung hutang bumn percaya kalau sda digadaikan sehingga tidak ada sisa untuk cucu kita ngeri kali lah negeri wakanda"                          
## [27] "bbm lpg listrik naik subsidi di cabut semua harga harga bahan pokok membumbung tinggi naik di perparah lagi stock barang langka ilang dari pasaran bahan pangan kebutuhan pokok semua impor"                                                                                                  
## [28] "kini pdip petugas partai bbm lpg listrik naik subsidi dicabut harga pangan semua naik inflasi melesat dr perkiraan lbh tinggi inflasi pangan lbh tinggi lg rupiah terkoreksi dolarsuku bunga bi blm lg diturunkan rupiah nyungsep dolar"                                                      
## [29] "kini pdip petugas partai bbm lpg listrik naik subsidi di cabut harga harga pangan semua naik semua kebutuhan pangan impor utang luar negeri ri mengkhawatirkan hampir mencapai lebih t utang bumn"
#Melakukan stemming kata dari kata berimbuhan menjadi kata dasar
library(tokenizers)
hasilstem <- lapply(tokenize_words(tweetschar), stemming)
hasilstem
## [[1]]
## [1] "guriiih tarif listrik naik terus maszeh"
## 
## [[2]]
## [1] "data tidak suai kondisi untuk buzeer nkri rakyat mana ngerti kasih data kayak gin yg rakyat paham migor langka cabe mahal bbm naik lpg naik ppn naik pulsa naik listrik naik korupsi jalan terus kerja susah dan terus mikir besok makan pakai apa ngibul smiling face with sunglasses"
## 
## [[3]]
## [1] "wacana maksimal k dikarenanakan biaya listrik naik"
## 
## [[4]]
## [1] "cieribut soal act nyata tarif listrik naik nih"
## 
## [[5]]
## [1] "yg kangen ibhrs silah tonton video inigw yakin kalian pasti senang nyanyi ini adlh fakta tak bantah saat ini backhand index pointing down bbm naik pajak naik listrik naik cabe naik semua naik rakyat makin sengsara panjang umur dan sehat slalu guru"
## 
## [[6]]
## [1] "cnnindonesia ganti kendara listrik ntar listrik naik kan bangke omong moeldokowajibbubarkanmk jokowiperusakbangsa rezimsusahinrakyat"
## 
## [[7]]
## [1] "luar biasa saat bbm dan migor makin sulit cabe naik pajak naik gas naik listrik naik angka anggur baik tp puas kok naik terus lama kok jadi khawatir tidak cukup barangkali tidak usah batas jadi bisa misal kalian saja puas"
## 
## [[8]]
## [1] "lumbalaut data peler nyata sembako pada naik listrik naik bbm naik jancuk kon"
## 
## [[9]]
## [1] "tarif listrik naik terus tapi beberapa hari ini mati listrik dan listrik suka naik turun gitu ini apalagi mati listrik malemmalem"
## 
## [[10]]
## [1] "pasok listrik naik khofifah cek bangun sktt kv di jembatan suramadu"
## 
## [[11]]
## [1] "orang pada bahas brigadir j brimob jendraltahu bbm naik tarif listrik naik male sign misteribakutembak"
## 
## [[12]]
## [1] "yaelah pak rakyat mana ngerti kasih data kayak gin yg rakyat paham migor langka cabe mahal bbm naik lpg naik ppn naik pulsa naik listrik naik korupsi jalan terus kerja susah dan terus mikir besok makan pakai apa"
## 
## [[13]]
## [1] "pancasilasaja cebong pura bahagia pdhal cabe mahal tarif listrik naik minyak goreng mahal hutang rb triliun nah coba lihat foto ini ada orang yaman gak dasar goblong"
## 
## [[14]]
## [1] "cermin naik harga kata listrik yg naik yg va ke atas daya listrik di rumah va ehribut jagat pemerintah biadab listrik naik grinning face with sweat grinning face with sweat grinning face with sweat"
## 
## [[15]]
## [1] "gara duit gak ada buat bangun ikn paksa rezim malakin rakyat listrik naik minyak naik gaji naik maksakan pake aplikasi yang paling hot rampok uang act cara halus tolakrkuhptolakperiode tolakrkuhptolakperiode"
## 
## [[16]]
## [1] "pake kompor listrik o tenang saja bentar lagi listrik naik juga kok"
## 
## [[17]]
## [1] "cnnindonesia listrik naik om terus beli kuda gitu"
## 
## [[18]]
## [1] "cnnindonesia listrik naik juga rakyat mau beli mobil listrik yg mana yg solar cell ya saat sulit ini ia jabat yg tak suai hati nurani rakyat lalu mana hanura apakah ia sdh ubah"
## 
## [[19]]
## [1] "moeldoko bilang beli mobil listrik apakah ada suatu dr bbm pertamina yg takut listrik naik juga apakah ada juga yg dia takut dg listrik mobil rakyat ada yg senang dan banyak yg susah"
## 
## [[20]]
## [1] "tvonenews rakyat yg mana bbm dan listrik naik"
## 
## [[21]]
## [1] "enak bener rezim mukidi bantu rakyat gilir rakyat derita susah bukan bantu justru balik rakyat makin tindas lewat bijak yang tidak pro kepada rakyat seperti bbm naik gas epiji naik sembako mahal migor mahal pajak naik listrik naik"
## 
## [[22]]
## [1] "badikpejuang iya iya iya anda benar white heavy check mark mudah dalam hal harga sembako naik bbm naik gas lpg naik listrik naik pajak naik rakyat beli bbm dijatah maka psrsyaratan embel lama bulan rakyat buat derita siksa kadena migor langkah mahal"
## 
## [[23]]
## [1] "new post tarif listrik naik begini prosedur turun daya listrik has been published on"
## 
## [[24]]
## [1] "lah elu ngentot harga bapok pda naik bbm listrik naik ump kaga naik itu anak org elu yg mau ksih makan makin tua makin tolol"
## 
## [[25]]
## [1] "ya e kalau fakta lebih lagi wkwk jilat akut fakta tuh bbm naik listrik naik sembako naik mau jilat mana lagi jilat akut rezim wakanda lol"
## 
## [[26]]
## [1] "gamalmarpaung samsularifin bbm naik listrik naik komoditas naik utang bejibun masih percaya debttrap rrc makin cekam hutang udah t belum gabung hutang bumn percaya kalau sda gada sehingga tidak ada sisa untuk cucu kita ngeri kali lah neger wakanda"
## 
## [[27]]
## [1] "bbm lpg listrik naik subsidi di cabut semua harga harga bahan pokok bumbung tinggi naik di parah lagi stock barang langka ilang dari pasar bahan pangan butuh pokok semua impor"
## 
## [[28]]
## [1] "kini pdip tugas partai bbm lpg listrik naik subsidi cabut harga pangan semua naik inflasi melesat dr kira lbh tinggi inflasi pangan lbh tinggi lg rupiah koreksi dolarsuku bunga bi blm lg turun rupiah nyungsep dolar"
## 
## [[29]]
## [1] "kini pdip tugas partai bbm lpg listrik naik subsidi di cabut harga harga pangan semua naik semua butuh pangan impor utang luar neger r khawatir hampir capai lebih t utang bumn"
#Memecah kalimat menjadi per kata dalam bentuk list
library(dplyr)
tweets_token <- tokenize_words(hasilstem) %>%
  unlist()
#Kalimat Sebelum Stemming
dfku$Teks
##  [1] "guriiih tarif listrik naik terus maszeh"                                                                                                                                                                                                                                                      
##  [2] "data tidak sesuai kondisi untuk buzeer nkri rakyat mana ngerti dikasih data kayak gini yg rakyat paham migor langka cabe mahal bbm naik lpg naik ppn naik pulsa naik listrik naik korupsi jalan terus kerjaan susah dan terus mikir besok makan pakai apa ngibul smiling face with sunglasses"
##  [3] "wacana maksimal k dikarenanakan biaya listrik naik"                                                                                                                                                                                                                                           
##  [4] "cieribut soal act ternyata tarif listrik naik nih"                                                                                                                                                                                                                                            
##  [5] "yg kangen ibhrs silahkan tonton video inigw yakin kalian pasti senang nyanyiannya ini adlh fakta tak terbantahkan saat ini backhand index pointing down bbm naik pajak naik listrik naik cabe naik semuanya naik rakyat semakin sengsara panjang umur dan sehat slalu guru"                   
##  [6] "cnnindonesia ganti kendaraan listrik ntar listrik naik kan bangke omonganmu moeldokowajibbubarkanmk jokowiperusakbangsa rezimsusahinrakyat"                                                                                                                                                   
##  [7] "luar biasa saat bbm dan migor semakin sulit cabe naik pajak naik gas naik listrik naik angka pengangguran baik tp kepuasan kok naik terus lama kok jadi khawatir tidak cukup barangkali tidak usah dibatasi jadi bisa misalnya sekalian saja puas"                                            
##  [8] "lumbalaut data peler nyatanya sembako pada naik listrik naik bbm naik jancuk kon"                                                                                                                                                                                                             
##  [9] "tarif listrik naik terus tapi beberapa hari ini mati listrik dan listriknya suka naik turun gitu ini apalagi mati listrik malemmalem"                                                                                                                                                         
## [10] "pasokan listrik naik khofifah cek pembangunan sktt kv di jembatan suramadu"                                                                                                                                                                                                                   
## [11] "orang pada bahas brigadir j brimob jendraltahu bbm naik tarif listrik naik male sign misteribakutembak"                                                                                                                                                                                       
## [12] "yaelah pak rakyat mana ngerti dikasih data kayak gini yg rakyat paham migor langka cabe mahal bbm naik lpg naik ppn naik pulsa naik listrik naik korupsi jalan terus kerjaan susah dan terus mikir besok makan pakai apa"                                                                     
## [13] "pancasilasaja cebong pura bahagia pdhal cabe mahal tarif listrik naik minyak goreng mahal hutang rb triliun nah coba lihat foto ini ada orang yaman gak dasar goblong"                                                                                                                        
## [14] "cermin naik harga katanya listrik yg naik yg va ke atas daya listrik di rumahnya va ehribut sejagat pemerintah biadab listrik naik grinning face with sweat grinning face with sweat grinning face with sweat"                                                                                
## [15] "gara duit gak ada buat bangun ikn terpaksa rezim malakin rakyatnya listrik naik minyak naik gajinya naik maksakan pake aplikasi yang paling hot rampok uang act secara halus tolakrkuhptolakperiode tolakrkuhptolakperiode"                                                                   
## [16] "pake kompor listrik o tenang saja bentar lagi listrik naik juga kok"                                                                                                                                                                                                                          
## [17] "cnnindonesia listrik naik om terus beli kuda gitu"                                                                                                                                                                                                                                            
## [18] "cnnindonesia listrik naik juga rakyat mau beli mobil listrik yg mana yg solar cell ya saat sulit ini ia pejabat yg tak sesuai hati nurani rakyat lalu kemana hanura apakah ia sdh berubah"                                                                                                    
## [19] "moeldoko bilang beli mobil listrik apakah ada sesuatu dr bbm pertamina yg ditakutinya listrik naik juga apakah ada juga yg dia takuti dg listrik mobil rakyat ada yg senang dan banyak yg susah"                                                                                              
## [20] "tvonenews rakyat yg mana bbm dan listrik naik"                                                                                                                                                                                                                                                
## [21] "enak bener rezim mukidi dibantu rakyat giliran rakyatnya menderita kesusahan bukannya dibantu justru sebaliknya rakyat semakin ditindas lewat kebijakan yang tidak pro kepada rakyat seperti bbm naik gas epiji naik sembako mahal migor mahal pajak naik listrik naik"                       
## [22] "badikpejuang iya iya iya anda benar white heavy check mark kemudahan dalam hal harga sembako naik bbm naik gas lpg naik listrik naik pajak naik rakyat beli bbm dijatah memakai psrsyaratan embel selama bulan rakyat dibuat menderita tersiksa kadena migor langkah mahal"                   
## [23] "new post tarif listrik naik begini prosedur menurunkan daya listrik has been published on"                                                                                                                                                                                                    
## [24] "lah elu ngentot harga bapok pda naik bbm listrik naik ump kaga naik itu anak org elu yg mau ksih makan makin tua makin tolol"                                                                                                                                                                 
## [25] "ya elah kalau fakta lebih lagi wkwk penjilat akut fakta tuh bbm naik listrik naik sembako naik mau jilat mana lagi penjilat akut rezim wakanda lol"                                                                                                                                           
## [26] "gamalmarpaung samsularifin bbm naik listrik naik komoditas naik utang bejibun masih percaya debttrap rrc makin mencekam hutang udah t belum digabung hutang bumn percaya kalau sda digadaikan sehingga tidak ada sisa untuk cucu kita ngeri kali lah negeri wakanda"                          
## [27] "bbm lpg listrik naik subsidi di cabut semua harga harga bahan pokok membumbung tinggi naik di perparah lagi stock barang langka ilang dari pasaran bahan pangan kebutuhan pokok semua impor"                                                                                                  
## [28] "kini pdip petugas partai bbm lpg listrik naik subsidi dicabut harga pangan semua naik inflasi melesat dr perkiraan lbh tinggi inflasi pangan lbh tinggi lg rupiah terkoreksi dolarsuku bunga bi blm lg diturunkan rupiah nyungsep dolar"                                                      
## [29] "kini pdip petugas partai bbm lpg listrik naik subsidi di cabut harga harga pangan semua naik semua kebutuhan pangan impor utang luar negeri ri mengkhawatirkan hampir mencapai lebih t utang bumn"
#Kalimat Setelah Stemming
unlist(hasilstem)
##  [1] "guriiih tarif listrik naik terus maszeh"                                                                                                                                                                                                                                               
##  [2] "data tidak suai kondisi untuk buzeer nkri rakyat mana ngerti kasih data kayak gin yg rakyat paham migor langka cabe mahal bbm naik lpg naik ppn naik pulsa naik listrik naik korupsi jalan terus kerja susah dan terus mikir besok makan pakai apa ngibul smiling face with sunglasses"
##  [3] "wacana maksimal k dikarenanakan biaya listrik naik"                                                                                                                                                                                                                                    
##  [4] "cieribut soal act nyata tarif listrik naik nih"                                                                                                                                                                                                                                        
##  [5] "yg kangen ibhrs silah tonton video inigw yakin kalian pasti senang nyanyi ini adlh fakta tak bantah saat ini backhand index pointing down bbm naik pajak naik listrik naik cabe naik semua naik rakyat makin sengsara panjang umur dan sehat slalu guru"                               
##  [6] "cnnindonesia ganti kendara listrik ntar listrik naik kan bangke omong moeldokowajibbubarkanmk jokowiperusakbangsa rezimsusahinrakyat"                                                                                                                                                  
##  [7] "luar biasa saat bbm dan migor makin sulit cabe naik pajak naik gas naik listrik naik angka anggur baik tp puas kok naik terus lama kok jadi khawatir tidak cukup barangkali tidak usah batas jadi bisa misal kalian saja puas"                                                         
##  [8] "lumbalaut data peler nyata sembako pada naik listrik naik bbm naik jancuk kon"                                                                                                                                                                                                         
##  [9] "tarif listrik naik terus tapi beberapa hari ini mati listrik dan listrik suka naik turun gitu ini apalagi mati listrik malemmalem"                                                                                                                                                     
## [10] "pasok listrik naik khofifah cek bangun sktt kv di jembatan suramadu"                                                                                                                                                                                                                   
## [11] "orang pada bahas brigadir j brimob jendraltahu bbm naik tarif listrik naik male sign misteribakutembak"                                                                                                                                                                                
## [12] "yaelah pak rakyat mana ngerti kasih data kayak gin yg rakyat paham migor langka cabe mahal bbm naik lpg naik ppn naik pulsa naik listrik naik korupsi jalan terus kerja susah dan terus mikir besok makan pakai apa"                                                                   
## [13] "pancasilasaja cebong pura bahagia pdhal cabe mahal tarif listrik naik minyak goreng mahal hutang rb triliun nah coba lihat foto ini ada orang yaman gak dasar goblong"                                                                                                                 
## [14] "cermin naik harga kata listrik yg naik yg va ke atas daya listrik di rumah va ehribut jagat pemerintah biadab listrik naik grinning face with sweat grinning face with sweat grinning face with sweat"                                                                                 
## [15] "gara duit gak ada buat bangun ikn paksa rezim malakin rakyat listrik naik minyak naik gaji naik maksakan pake aplikasi yang paling hot rampok uang act cara halus tolakrkuhptolakperiode tolakrkuhptolakperiode"                                                                       
## [16] "pake kompor listrik o tenang saja bentar lagi listrik naik juga kok"                                                                                                                                                                                                                   
## [17] "cnnindonesia listrik naik om terus beli kuda gitu"                                                                                                                                                                                                                                     
## [18] "cnnindonesia listrik naik juga rakyat mau beli mobil listrik yg mana yg solar cell ya saat sulit ini ia jabat yg tak suai hati nurani rakyat lalu mana hanura apakah ia sdh ubah"                                                                                                      
## [19] "moeldoko bilang beli mobil listrik apakah ada suatu dr bbm pertamina yg takut listrik naik juga apakah ada juga yg dia takut dg listrik mobil rakyat ada yg senang dan banyak yg susah"                                                                                                
## [20] "tvonenews rakyat yg mana bbm dan listrik naik"                                                                                                                                                                                                                                         
## [21] "enak bener rezim mukidi bantu rakyat gilir rakyat derita susah bukan bantu justru balik rakyat makin tindas lewat bijak yang tidak pro kepada rakyat seperti bbm naik gas epiji naik sembako mahal migor mahal pajak naik listrik naik"                                                
## [22] "badikpejuang iya iya iya anda benar white heavy check mark mudah dalam hal harga sembako naik bbm naik gas lpg naik listrik naik pajak naik rakyat beli bbm dijatah maka psrsyaratan embel lama bulan rakyat buat derita siksa kadena migor langkah mahal"                             
## [23] "new post tarif listrik naik begini prosedur turun daya listrik has been published on"                                                                                                                                                                                                  
## [24] "lah elu ngentot harga bapok pda naik bbm listrik naik ump kaga naik itu anak org elu yg mau ksih makan makin tua makin tolol"                                                                                                                                                          
## [25] "ya e kalau fakta lebih lagi wkwk jilat akut fakta tuh bbm naik listrik naik sembako naik mau jilat mana lagi jilat akut rezim wakanda lol"                                                                                                                                             
## [26] "gamalmarpaung samsularifin bbm naik listrik naik komoditas naik utang bejibun masih percaya debttrap rrc makin cekam hutang udah t belum gabung hutang bumn percaya kalau sda gada sehingga tidak ada sisa untuk cucu kita ngeri kali lah neger wakanda"                               
## [27] "bbm lpg listrik naik subsidi di cabut semua harga harga bahan pokok bumbung tinggi naik di parah lagi stock barang langka ilang dari pasar bahan pangan butuh pokok semua impor"                                                                                                       
## [28] "kini pdip tugas partai bbm lpg listrik naik subsidi cabut harga pangan semua naik inflasi melesat dr kira lbh tinggi inflasi pangan lbh tinggi lg rupiah koreksi dolarsuku bunga bi blm lg turun rupiah nyungsep dolar"                                                                
## [29] "kini pdip tugas partai bbm lpg listrik naik subsidi di cabut harga harga pangan semua naik semua butuh pangan impor utang luar neger r khawatir hampir capai lebih t utang bumn"

Dari hasil stemming teks di atas, package katadasaR ini cukup baik untuk kita gunakan, kendati sebagai package yang terus dikembangkan, tentu tidak sepenuhnya memiliki hasil yang sempurna. Terlihat, kelemahan stemming package katadasaR ini ketika melakukan stem kata berimbuhan yang berlebihan, misalkan kata "guriiih", atau kata berimbuhan di mana kata dasarnya sendiri salah ketik, misalkan "dikarenanakan". 

Demikian sedikit sharing kita mengenai Natural Language Processing (NLP) dengan fungsi stemming kalimat dengan R. Ikuti terus unggahan berikutnya yang lebih menarik lagi. Selamat memahami dan mempraktikkan!

Eksplorasi Data: Cara Membuat Pivot Table dengan Python

Eksplorasi Data: Cara Membuat Pivot Table dengan Python

Pivot table dengan Python

Halo teman-teman, kita akan lanjutkan ya pembahasan bahasa pemrograman Python. Kalau sebelumnya kita telah memahas bersama bagaimana melakukan import data ke dalam Python Jupyter Notebook serta mengulik data menggunakan Pandas, kali ini kita masih tetap menggunakan package Pandas.

Kita akan coba membuat sebuah data sendiri (generate) kemudian kita coba membuat pivot table data data frame yang telah kita buat. Teman-teman dapat juga membangkitkan data sendiri sesuai keinginan, dalam unggahan ini saya coba membangkitkan data mengenai jumlah buku yang dibaca menurut bulan dan judul bukunya. Adapun nama-nama buku dalam data berikut merupakan buku yang berhasil saya tulis dan saya terbitkan. Bagi teman-teman yang berminat, bisa memesannya melalui tautan berikut.

Sebelum melakukan data manipulation dengan menciptakan pivot table, teman-teman perlu mengaktifkan package Pandas terlebih dahulu. Package ini sebagaimana yang pernah saya katakan, mirip dengan package dplyr di R secara fungsi. Setelah diaktifkan, kita dapat membuat pivot table dengan mengikuti beberapa code berikut:

#Aktivasi package Pandas
import pandas as pd

#Generate Data sendiri
hargabuku = {'Judul':['Pengantar Statistika Dasar','Visualisasi Data dengan Tableau','Kalkulus Dasar',
                     'Kalkulus Dasar','Pengantar Statistika Dasar','Visualisasi Data dengan Tableau',
                     'Visualisasi Data dengan Tableau','Kalkulus Dasar','Kalkulus Dasar','Pengantar Statistika Dasar'],
             'Bulan':[1,1,2,3,1,4,3,2,1,6],'Dibaca_kali':[12,24,30,17,20,22,50,21,45,44]}
#Membuat data frame
dfbuku = pd.DataFrame(hargabuku, columns = ['Judul', 'Bulan', 'Dibaca_kali'])
print(dfbuku)

Data awal sebagai bahan pivot table dengan Python

#Pivot Table:menampilkan jumlah dibaca menurut judul buku
pivot = dfbuku.pivot_table(index = ['Judul'], values = ['Dibaca_kali'], aggfunc = 'sum')
print(pivot)

Pivot table: jumlah dibaca menurut judul buku

#Pivot Table:menampilkan jumlah dibaca menurut jumlah bulan
pivot = dfbuku.pivot_table(index = ['Judul'], values = ['Bulan'], aggfunc = 'count')
print(pivot)

Jumlah bulan dibaca menurut judul buku

#Pivot Table:menampilkan rata-rata dibaca menurut judul buku
pivot = dfbuku.pivot_table(index = ['Judul'], values = ['Dibaca_kali'], aggfunc = 'mean')
print(pivot)

Rata-rata dibaca menurut judul buku

#Pivot Table:menampilkan jumlah dibaca menurut judul buku dan bulan
pivot = dfbuku.pivot_table(index = ['Judul','Bulan'], values = ['Dibaca_kali'], aggfunc = 'sum')
print(pivot)

Jumlah dibaca menurut judul buku dan bulan

#Pivot Table:menampilkan rata-rata dibaca menurut judul buku dan bulan
pivot = dfbuku.pivot_table(index = ['Judul','Bulan'], values = ['Dibaca_kali'], aggfunc = 'mean')
print(pivot)

Rata-rata dibaca menurut judul buku dan bulan

#Pivot Table:menampilkan rata-rata dibaca menurut judul buku dan bulan serta diurutkan dari rata-rata tertinggi ke terendah
pivot = dfbuku.pivot_table(index = ['Judul','Bulan'], values = ['Dibaca_kali'], aggfunc = 'mean')
pivot = pivot.sort_values(by = "Dibaca_kali", ascending = False)
print(pivot)

Rata-rata dibaca urut dari tertinggi ke terendah menurut judul buku dan bulan

#Mengganti nama kolom Dibaca_kali menjadi Rata_rata_dibaca
pivot.rename(columns = {'Dibaca_kali':'Rata-rata_dibaca'}, inplace =True)
print(pivot)

Mengganti nama kolom dibaca_kali menjadi rata-rata_dibaca

Demikian sedikit sharing kita mengenai bagaimana membuat pivot table menggunakan package Pandas pada Python Jupyter Notebook. Nantikan unggahan berikutnya, selamat memahami dan mempraktikkan!
Natural Language Processing (NLP): Membersihkan Teks Tweets Rencana Kenaikan Tiket Borobudur dengan R

Natural Language Processing (NLP): Membersihkan Teks Tweets Rencana Kenaikan Tiket Borobudur dengan R

Natural Language Processing (NLP) dengan R

Halo teman-teman, bertemu kembali dengan blog sederhana ini. Kita kemarin telah membahas awalan penggunaan Python dalam mengolah data. Kali ini, kita coba break sejenak dari Python untuk kembali meneruskan belajar kita mengenai R. Ke depan, kita kemungkinan akan sering berselang-seling membahas R dan Python mengingat memang kedua bahasa pemrograman ini sedang naik daun saat ini.

Baik, di R kita akan melanjutkan pembahasan mengenai salah satu cabang dari Data Science, yaitu Natural Language Processing atau yang biasa disingkat NLP. Apa itu NLP? Jadi kalau menurut beberapa referensi yang saya baca, NLP merupakan produk dari Artificial Intelligence (AI) yang digunakan dalam proses interaksi antara manusia dengan mesin. Mesin yang dimaksud dalam pembahasan ini bisa berbentuk komputer, robot, atau bentuk lainnya. Istilah Natural Language atau bahasa alamiah yang dimaksud dalam NLP merupakan bahasa yang biasa digunakan oleh manusia sehari-hari. Ragam bahasa alamiah tersebut juga ditentukan oleh aspek budaya dan negara. Dalam aspek budaya, mungkin bahasa alamiah yang digunakan adalah bahasa Jawa, Madura, Batak, Hindi, atau bahasa sejarah, misalkan bahasa Sansekerta, bahasa Jawa Kuno (Hanacaraka), dan bahasa Arab Pegon (Arab Gundul). Dalam aspek negara, bahasa alamiah yang mungkin adalah bahasa nasional, misalkan bahasa Indonesia, bahasa Inggris, bahasa Jerman, bahasa Belanda, bahasa Perancis, bahasa Jepang, atau lainnya sesuai negara dimana kita bertempat tinggal.

Di dalam Data Science, apalagi di eranya Big Data saat ini, Natural Language Processing (NLP) banyak digunakan. Karena, data yang kita pahami selama ini tidak hanya sebatas angka-angka, namun juga termasuk teks, kalimat, suara, bahkan video. Produk Artificial Intelligence (AI) juga terus berkembang seiring dengan banyaknya manfaat dari NLP ini. Sebagai contoh sederhana saja, pernahkah kita temui sebuah mainan yang mampu merekam suara kita kemudian dia tirukan kembali suara kita itu sambil menari? Mungkin kita juga kerap iseng-iseng mencari informasi registrasi sebuah program melalui platform-nya dengan bertanya pada chatbot. Atau, mungkin sebagian besar dari kita kemarin-kemarin berinteraksi melalui Telegram atau Whatsapps (WA) dengan menggunakan fasilitas chatbot. Yang paling sering kita temui, mungkin ketika bermain game kita kerap bercakap-cakap dengan avatar-avatar selama bermain game atau yang disebut NPC. Itulah beberapa produk nyata hasil perkembangan dari NLP.

Dalam kesempatan kali ini, selain memahami beberapa package yang biasa digunakan dalam NLP, kita juga mencoba menerapkannya menggunakan R. Adapun data yang akan kita olah dengan NLP adalah mengenai respon masyarakat dunia maya terhadap rencana pemerintah menaikkan harga tiket masuk Candi Borobudur. Data ini saya peroleh dengan cara crawling Twitter dan dari sebanyak 10.150 Tweets bahasa Indonesia, saya ekstraksi beberapa tweets yang fokus cuitan terkait rencana kenaikan harga tiket masuk Candi Borobudur.

Tentunya, teks dari tweets tersebut masih tercampur antara huruf, angka, simbol-simbol, termasuk dengan karakter mention, tautan atau URL, serta emoji. Memang di dalam NLP, masing-masing komponen teks bisa kita analisis seluruhnya, namun, kali ini kita batasi dulu hanya khusus NLP teks.

Data yang kita gunakan dalam praktik NLP dengan R bisa teman-teman unduh terlebih dahulu pada tautan berikut. Setelah datanya diunduh, kita dapat melakukan tahapan NLP terhadap data teks dengan mengikuti beberapa code berikut:

Bahasan mengenai import data bisa teman-teman lihat di sini.

#Aktivasi package dplyr untuk olah teks
library(dplyr)
#Mengubah kalimat menjadi tipe karakter 
tweets <- tiketcandi$teks %>% as.character()
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb : https://t.co/EMJrqgIqJx"                                                                                                                                                                                                                 
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya, nonton, terus liat posisi stage sama tempat ibadah/candinya. Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur. Banyakin main mas ganteng, jgn traveling via google sm youtube :)"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan...\r\n\r\nSampai sini, ngertikan...?\r\n\r\n<U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                              
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan https://t.co/Sx8LXl1D8j"                                                                                                                                                                                                            
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                       
## [6] "Seperti Borobudur, Tiket Komodo Rp 3,75 juta per Tahun Masih Wacana https://t.co/kDezi21tYf"
#Menghapus karakter \n dalam kalimat
tweets <- gsub( "\n"," ",tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb : https://t.co/EMJrqgIqJx"                                                                                                                                                                                                                 
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya, nonton, terus liat posisi stage sama tempat ibadah/candinya. Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur. Banyakin main mas ganteng, jgn traveling via google sm youtube :)"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan...\r \r Sampai sini, ngertikan...?\r \r <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                  
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan https://t.co/Sx8LXl1D8j"                                                                                                                                                                                                            
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                       
## [6] "Seperti Borobudur, Tiket Komodo Rp 3,75 juta per Tahun Masih Wacana https://t.co/kDezi21tYf"
#Menghapus karakter \r dalam kalimat
tweets <- gsub( "\r"," ",tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb : https://t.co/EMJrqgIqJx"                                                                                                                                                                                                                 
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya, nonton, terus liat posisi stage sama tempat ibadah/candinya. Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur. Banyakin main mas ganteng, jgn traveling via google sm youtube :)"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan...    Sampai sini, ngertikan...?    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                      
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan https://t.co/Sx8LXl1D8j"                                                                                                                                                                                                            
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                       
## [6] "Seperti Borobudur, Tiket Komodo Rp 3,75 juta per Tahun Masih Wacana https://t.co/kDezi21tYf"
#Mengganti karakter titik dalam kalimat dengan blank
tweets <- gsub("[.]", "", tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb : https://tco/EMJrqgIqJx"                                                                                                                                                                                                                
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya, nonton, terus liat posisi stage sama tempat ibadah/candinya Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng, jgn traveling via google sm youtube :)"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini, ngertikan?    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                          
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan https://tco/Sx8LXl1D8j"                                                                                                                                                                                                           
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                     
## [6] "Seperti Borobudur, Tiket Komodo Rp 3,75 juta per Tahun Masih Wacana https://tco/kDezi21tYf"
#Mengganti alamat html dan URL dengan blank
tweets <- tweets %>%
  replace_html() %>%
  replace_url()
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb : "                                                                                                                                                                                                                                      
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya, nonton, terus liat posisi stage sama tempat ibadah/candinya Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng, jgn traveling via google sm youtube :)"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini, ngertikan?    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                          
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                                 
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                     
## [6] "Seperti Borobudur, Tiket Komodo Rp 3,75 juta per Tahun Masih Wacana "
#Mengganti karakter koma dalam kalimat dengan blank
tweets <- gsub("[,]", "", tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb : "                                                                                                                                                                                                                                   
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya nonton terus liat posisi stage sama tempat ibadah/candinya Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube :)"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini ngertikan?    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                        
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                              
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                  
## [6] "Seperti Borobudur Tiket Komodo Rp 375 juta per Tahun Masih Wacana "
#Mengganti karakter : dalam kalimat dengan blank
tweets <- gsub("[:]", "", tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb  "                                                                                                                                                                                                                                   
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya nonton terus liat posisi stage sama tempat ibadah/candinya Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube )"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini ngertikan?    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                       
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                             
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                 
## [6] "Seperti Borobudur Tiket Komodo Rp 375 juta per Tahun Masih Wacana "
#Mengganti karakter / dalam kalimat dengan blank
tweets <- gsub("/", "", tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb  "                                                                                                                                                                                                                                 
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZlandingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube )"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini ngertikan?    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                     
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                           
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                               
## [6] "Seperti Borobudur Tiket Komodo Rp 375 juta per Tahun Masih Wacana "
#Mengganti karakter ? dalam kalimat dengan blank
tweets <- gsub("[?]", "", tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb  "                                                                                                                                                                                                                               
## [2] "@bergunarta Ada duit kan mas Beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya Kenapa lu ga protes waktu jogja air show Gue ikut skydive yg DZlandingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube )"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini ngertikan    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                    
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                         
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                             
## [6] "Seperti Borobudur Tiket Komodo Rp 375 juta per Tahun Masih Wacana "
#Mengganti angka dalam kalimat dengan blank (bila perlu)
tweets <- gsub("[[:digit:]]", "", tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi rb  "                                                                                                                                                                                                                                  
## [2] "@bergunarta Ada duit kan mas Beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya Kenapa lu ga protes waktu jogja air show Gue ikut skydive yg DZlandingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube )"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini ngertikan    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                    
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                         
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                             
## [6] "Seperti Borobudur Tiket Komodo Rp  juta per Tahun Masih Wacana "
#Mengganti emoji dalam kalimat
tweets <- replace_html(replace_emoji(tweets))
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi rb "                                                                                                                                                                                                                                   
## [2] "@bergunarta Ada duit kan mas Beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya Kenapa lu ga protes waktu jogja air show Gue ikut skydive yg DZlandingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube )"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan Sampai sini ngertikan                 "                                                                                                                                                                          
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                         
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                             
## [6] "Seperti Borobudur Tiket Komodo Rp juta per Tahun Masih Wacana "
#Mengganti Tag dalam kalimat
tweets <- replace_tag(tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi rb "                                                                                                                                                                                                                        
## [2] " Ada duit kan mas Beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya Kenapa lu ga protes waktu jogja air show Gue ikut skydive yg DZlandingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube )"
## [3] " Inilah alasan mengapa tiket naik Candi Borobudur dinaikan Sampai sini ngertikan                 "                                                                                                                                                                            
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                              
## [5] " yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                          
## [6] "Seperti Borobudur Tiket Komodo Rp juta per Tahun Masih Wacana "
#Merapikan kalimat dengan strip()
#Penggunaan fungsi strip() juga bisa menghapus angka, titik, koma, ), @, #, ?, \n \r \t dan lainnya
#Membuat teks menjadi lower atau huruf kecil semua
#Fungsi strip() tidak bisa menghapus mention, URL link atau emoji serta karakter "\"
tweets <- strip(tweets)
head(tweets)
## [1] "alasan menko luhut menaikkan tiket borobudur jadi rb"                                                                                                                                                                                                                      
## [2] "ada duit kan mas beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya kenapa lu ga protes waktu jogja air show gue ikut skydive yg dzlandingnya di halaman sekitar prambanan sm borobudur banyakin main mas ganteng jgn traveling via google sm youtube"
## [3] "inilah alasan mengapa tiket naik candi borobudur dinaikan sampai sini ngertikan"                                                                                                                                                                                           
## [4] "dpr khawatir kenaikan tiket borobudur kurangi jumlah wisatawan"                                                                                                                                                                                                            
## [5] "yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                        
## [6] "seperti borobudur tiket komodo rp juta per tahun masih wacana"
#Menghapus kalimat terduplikat
tweets_remodup <- tweets %>% 
  as.data.frame() %>% 
  distinct()
head(tweets_remodup$.)
## [1] "alasan menko luhut menaikkan tiket borobudur jadi rb"                                                                                                                                                                                                                      
## [2] "ada duit kan mas beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya kenapa lu ga protes waktu jogja air show gue ikut skydive yg dzlandingnya di halaman sekitar prambanan sm borobudur banyakin main mas ganteng jgn traveling via google sm youtube"
## [3] "inilah alasan mengapa tiket naik candi borobudur dinaikan sampai sini ngertikan"                                                                                                                                                                                           
## [4] "dpr khawatir kenaikan tiket borobudur kurangi jumlah wisatawan"                                                                                                                                                                                                            
## [5] "yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                        
## [6] "seperti borobudur tiket komodo rp juta per tahun masih wacana"
#Jumlah Baris sebelum membuang kalimat terduplikat
length(tweets)
## [1] 53
#Jumlah Baris setelah membuang kalimat terduplikat
nrow(tweets_remodup)
## [1] 38

Demikian sedikit berbagi kita mengenai bagaimana cara melakukan Natural Language Processing dengan R. Terus simak unggahan terbaru blog ini, selamat memahami dan mempraktikkan!

Eksplorasi Data: Filter, Subset, Transpose dengan Pandas Python (Step by Step)

Eksplorasi Data: Filter, Subset, Transpose dengan Pandas Python (Step by Step)

Eksplorasi data dengan Python

Halo teman-teman, kita bertemu kembali untuk berbagi mengenai pemanfaatan Python dengan GUI Jupyter Notebook di blog sederhana ini. Pada unggahan sebelumnya, kita telah bersama-sama belajar dan berbagi mengenai bagaimana melakukan download, instalasi Python Jupyter Notebook, import data Excel ke dalam Python serta bagaimana melakukan import data berekstensi CSV dalam Python, maka kali ini kita akan melanjutkan berbagi mengenai bagaimana kita menggunakan fungsi filter dan transpose data dengan package Pandas.

Di era Data Science, Big Data, dan maraknya penggunaan Machine Learning, kita akan dihadapkan pada istilah-istilah baru, salah satunya adalah data wrangling. Data wrangling merupakan sebuah proses tak terpisahkan dalam olah hingga analisis data. Aktivitas ini selain meliputi bagaimana kita memanajemen sebuah data, juga meliputi bagaimana kita menciptakan transformasi-transformasi untuk membentuk data turunan atau subset dari data utama (induk). Transformasi dari sebuah data utama secara umum dilakukan dengan cara menggabungkan data-data yang ada, memecah data dari gabungan variabel menjadi variabel yang terpisah, memecah data menjadi sebuah variabel yang berdiri sendiri, atau mengekstraksi data menjadi subset data-data baru yang merupakan bagian dari data utama.

Kalau di R, proses data wrangling biasanya menggunakan package dplyr, tetapi di dalam Python, kita dalam melakukan data wrangling menggunakan package Pandas. Kedua package yang menurut saya sama-sama powerfull untuk dalam data processing.

Baik, itu sekilas pengantar kita kali ini. Selanjutnya kita akan mencoba mempraktikkan bagaimana melakukan salah satu data wrangling menggunakan fungsi-fungsi Filter dan transpose data menggunakan Pandas. Data yang akan kita gunakan kali ini merupakan data sederhana saja alias dummy data. Yaitu data mengenai nilai tes Biologi dan Fisika berdasarkan nama grup (di sini). Data-data lain bisa teman-teman generate sendiri atau bisa juga menggunakan data-data yang tersedia dalam blog ini. Data tersebut bisa dipilih saja sesuai kebutuhan (silakan klik di sini).

Setelah datanya telah disiapkan, kita dapat melakukan proses filter dan transpose data memakai package Pandas dengan beberapa code berikut:

#Aktivasi package pandas
import pandas as pd

#Import data csv
df = pd.read_csv("C:\\Users\\56848\\data\\datanilai.csv", sep = ",")

df

Data awal hasil import

df.describe()

Statistik deskriptif dari data

df.info()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5 entries, 0 to 4
Data columns (total 4 columns):
 #   Column        Non-Null Count  Dtype 
---  ------        --------------  ----- 
 0   nomor         5 non-null      int64 
 1   grup          5 non-null      object
 2   nilaibiologi  5 non-null      int64 
 3   nilaifisika   5 non-null      int64 
dtypes: int64(3), object(1)
memory usage: 288.0+ bytes
#Filter data hanya untuk Grup A saja
dfA = df[df.grup == "A"]
dfA 
Filter grup A saja

#Filter data hanya untuk Grup A atau C saja
dfAC = df[(df.grup == "A")|(df.grup == "C")]
dfAC

Filter grup A atau C

 #Filter data hanya untuk Grup A dan nilai Fisikanya > 70
dfAFis = df[(df.grup == "A")&(df.nilaifisika > 70)]
dfAFis

Filter grup A yang nilai fisikanya lebih 70

 #Memanggil data dengan nilai Fisika tidak sama dengan 88 atau selain nilai 88
df[df.nilaifisika != 88]

Filter yang nilai fisikanya selain 88

 #Memanggil data yang grupnya D (cara lain)
df[df["grup"].str.contains("D")]

Filter grup yang mengandung string "D"

 #Memanggil data dengan nilai Biologinya > 70 dan < 95
df[(df['nilaibiologi'] > 70)&(df['nilaibiologi'] < 95)]

Filter yang nilai Biologinya lebih dari 70 dan kurang dari 95

 #Menjadikan kolom nomor sebagai indeks supaya lebih baik
dfin = df.set_index('nomor')
dfin

menjadikan kolom nomor sebagai indeks data

#Memanggil baris 1 sampai 3 untuk seluruh kolom
#Indeks dalam Python dimulai dari 0
dfin.iloc[0:3,]

Memanggil data baris 1 sampai 3 untuk seluruh kolom

#Memanggil baris 3 sampai 4 untuk seluruh kolom
dfin.iloc[2:4,0:3]

Memanggil data baris 3 sampai 4 untuk seluruh kolom

#Memanggil baris 3 sampai 4 untuk kolom 2 (nilai biologi)
dfin.iloc[2:4,1:2]

Memanggil data baris 3 sampai 4 untuk kolom 2 (nilai Biologi)

#Memanggil baris 3 sampai 4 untuk kolom 2 sampai 3
dfin.iloc[2:4,1:3]

Memanggil data baris 3 sampai 4 untuk kolom 2 sampai 3

#Melakukan transpose data dfin
dfin.transpose()

Melakukan transpose data

Demikian sedikit ulasan mengenai bagaimana kita melakukan eksplorasi awal terhadap data dengan menggunakan Python.Selamat memahami dan mempraktikkan!