ANALISIS ASOSIASI DATA TWEET TERKAIT KEBAKARAN HUTAN DAN KABUT ASAP DENGAN DATA SOSIAL EKONOMI DI PROVINSI RIAU
RIFKA SASKIA NURUNNISA
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2016
PENYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Dengan ini saya menyatakan bahwa skripsi berjudul Analisis Asosiasi Data Tweet Terkait Kebakaran Hutan dan Kabut Asap dengan Data Sosial Ekonomi di Provinsi Riau adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor. Bogor, Juli 2016
Rifka Saskia Nurunnisa NIM G64120072
ABSTRAK RIFKA SASKIA NURUNNISA. Analisis Asosiasi Data Tweet Terkait Kebakaran Hutan dan Kabut Asap dengan Data Sosial Ekonomi di Provinsi Riau. Dibimbing oleh HUSNUL KHOTIMAH. Pengguna jejaring sosial berkembang dengan pesat. Salah satu jejaring sosial yang populer adalah Twitter. Percakapan pengguna Twitter menunjukkan isu yang ramai diperbincangkan, seperti kebakaran hutan dan kabut asap. Bahkan kebakaran hutan yang ramai diperbincangkan sempat menjadi Trending Topic World Wide. Kebakaran hutan yang terjadi dapat disebabkan oleh beberapa faktor sosial ekonomi masyarakat seperti jumlah penduduk, sumber penghasilan, dan jumlah sekolah. Pada penelitian ini, data tweet disaring berdasarkan kata kunci kebakaran hutan dan kabut asap, yang berlokasi di Provinsi Riau. Selanjutnya data tweet diasosiasikan dengan data sosial ekonomi di Provinsi Riau dan dilakukan analisis asosiasi menggunakan Association Rule Mining dengan algoritme Apriori. Minimum support 10% dan minimum confidence 80% menghasilkan 342 aturan yang masih redundan, dan setelah direduksi didapatkan 28 aturan yang tidak redundan. Aturan yang berkorelasi positif dengan term pada data tweet adalah sumber penghasilan jasa, perdagangan besar, jumlah terjadinya kebakaran sedikit, dan jumlah sekolah yang berkategori banyak. Tweet yang berkorelasi positif tersebut banyak terdapat di daerah perkotaan Provinsi Riau. Kata kunci: algoritme Apriori, association rule mining, kebakaran hutan, tweet mining
ABSTRACT RIFKA SASKIA NURUNNISA. Association Analysis of Forest Fires and HazeRelated Tweet Data with Socio-Economic Data in Riau Province. Supervised by HUSNUL KHOTIMAH. The Social networking users are growing rapidly. One of the most popular social networks is Twitter. Users’ conversation on Twitter refers to the trending topic as hot issues that most people talk about, and these forest fires and haze issues have been once as the worldwide trending topic. Forest fires can be caused by socioeconomic factors such as population, occupation, and the number of schools. In this research, the data are filtered based on forest fires and haze keywords which are located in Riau Province. Then, the tweet data are associated with socio-economic data in Riau province and analyzed with Association Rule Mining using Apriori algorithm. Using a minimum support of 10% and minimum confidence of 80%, the algorithm produced 342 rules that are still redundant and 28 rules which are not redundant. Rules that positively associated with terms in tweet data are service-type occupation, big commerce, low number of forest fires, and high number of schools. Tweets that are positively correlated with terms are located in urban areas in Riau Province. Keywords: Apriori algorithm, association rule mining, forest fires, tweet mining
ANALISIS ASOSIASI DATA TWEET TERKAIT KEBAKARAN HUTAN DAN KABUT ASAP DENGAN DATA SOSIAL EKONOMI PROVINSI RIAU
RIFKA SASKIA NURUNNISA
Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2016
Penguji: 1 Aziz Kustiyo, SSi MKom 2 Dr Imas Sukaesih Sitanggang, SSi MKom
Judul Skripsi : Analisis Asosiasi Data Tweet Terkait Kebakaran Hutan dan Kabut Asap dengan Data Sosial Ekonomi di Provinsi Riau Nama : Rifka Saskia Nurunnisa NIM : G64120072
Disetujui oleh
Husnul Khotimah, SKomp MKom Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi MKom Ketua Departemen
Tanggal Lulus:
PRAKATA Puji syukur penulis panjatkan kehadirat Allah subhanahu wa ta’ala yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi yang berjudul “Analisis Asosiasi Data Tweet Terkait Kebakaran Hutan dan Kabut Asap dengan Data Sosial Ekonomi di Provinsi Riau”. Skripsi ini disusun sebagai syarat mendapat gelar Sarjana Komputer (SKom) pada Program Sarjana Ilmu Komputer di Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanaian Bogor (IPB). Tugas akhir ini tidak mungkin dapat diselesaikan tanpa adanya bantuan dari berbagai pihak. Oleh karena itu, penulis mengucapkan terima kasih dan penghargaan kepada: 1 Ibu penulis Rita Rosnia, Ayah penulis Ishom Setyawan, kakak penulis Risty Puspitasari dan keluarga lainnya yang telah memberikan dukungan, doa sera motivasi untuk keberhasilan studi. 2 Ibu Husnul Khotimah, SKomp MKom selaku dosen pembimbing yang telah memberikan bimbingan, saran, arahan dan bantuan selama penyusunan skripsi. 3 Bapak Aziz Kustiyo, SSi MKom dan Ibu Dr Imas S Sitanggang, SSi MKom selaku penguji atas saran dan masukan yang diberikan. 4 Bapak Dr Ir Agus Buono, MSi MKom selaku Ketua Program Studi Ilmu Komputer IPB. 5 Seluruh dosen dan staf pegawai tata usaha Departemen Ilmu Komputer IPB yang telah banyak membantu selama masa perkuliahan hingga penelitian. 6 Dwia Pungky, Farisah Nadhilah, Indrawan, teman-teman satu bimbingan yang telah memberikan doa, semangat dan bantuan. 7 Teman-teman Program S1 Ilmu Komputer angkatan 49 atas kebersamaan dan bantuan selama 3 tahun ini. 8 Teman terdekat penulis yaitu Bunga, Dita, Tessar, Segy, Atira, Imam, Kuncoro, dan Alvin atas kebersamaan dan kenangan berharga selama kuliah di IPB. Semoga segala bantuan, bimbingan, dan dukungan yang telah diberikan kepada penulis senantiasa dibalas oleh Alla subhanahu wa ta’ala. Penulis juga berharap semoga skripsi ini bermanfaat bagi pihak yang membutuhkan
Bogor, Juli 2016
Rifka Saskia Nurunnisa
DAFTAR ISI DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
PENDAHULUAN
1
Latar Belakang
1
Perumusan Masalah
2
Tujuan Penelitian
2
Manfaat Penelitian
2
Ruang Lingkup Penelitian
3
TINJAUAN PUSTAKA
3
Text Mining
3
Association Rule Mining
3
METODE PENELITIAN
4
Data Penelitian
4
Tahapan Penelitian
5
Lingkungan Pengembangan
7
HASIL DAN PEMBAHASAN
8
Pengumpulan Data Tweet
8
Praproses Data Tweet
10
Penggabungan Data Tweet dengan Data Sosial Ekonomi Berdasarkan Lokasi 13 Pembangkitan Aturan dengan Algoritme Apriori
14
Analisis Hasil Asosiasi
15
SIMPULAN DAN SARAN
19
Simpulan
19
Saran
19
DAFTAR PUSTAKA
20
Lampiran
22
RIWAYAT HIDUP
27
DAFTAR TABEL 1 2 3 4 5
Daftar keyword untuk akuisisi data tweet 5 Nama atribut data tweet yang diperoleh dari hasil akuisisi data 5 Jumlah tweet berdasarkan keyword 10 Data tweet sebelum dan sesudah dilakukan tahapan pra proses 12 Jumlah aturan dari minimum support dan minimum confidence yang telah ditetapkan 15 6 Contoh aturan yang redundan 15 7 Contoh rule yang tidak redundan 16 8 Jumlah item yang muncul pada aturan 16
DAFTAR GAMBAR 1 Tahapan penelitian 2 Tahapan pra-proses 3 Contoh pengambilan URL Twitter untuk akuisisi data 4 Contoh data tweet hasil akuisisi dengan webcrawler 5 Contoh console tools API untuk pencarian lokasi tweet 6 Wordcloud untuk term setelah dilakukan praproses 7 Hasil Document Term Matrix (DTM) 8 Contoh Document Term Matrix (DTM) 9 Kode program R untuk menghilangkan aturan yang redundan 10 Pemetaan tweet yang berkorelasi positif 11 Visualisasi lift dan support 28 aturan
5 6 8 9 9 12 13 13 16 18 18
DAFTAR LAMPIRAN 1 2 3 4
Rules yang masih redundan Source code Python untuk mengambil data tweet Daftar kata baku yang ditambahkan pada penelitian ini Daftar kata stopword yang ditambahkan pada penelitian ini
22 23 25 26
1
PENDAHULUAN Latar Belakang Pada era globalisasi, teknologi berkembang dengan pesat terutama Internet. Penggunaan Internet dirasakan sebagai sebuah kebutuhan primer bagi masyarakat Indonesia. Secara keseluruhan, jumlah pengguna Internet di seluruh dunia diproyeksikan mencapai 3 miliar pengguna pada tahun 2015. Tiga tahun setelahnya, pada 2018, diperkirakan sebanyak 3.6 miliar manusia di bumi akan mengakses Internet setidaknya sekali dalam satu bulan (Kominfo 2014). Rata-rata masyarakat modern, seperti orang-orang yang tinggal di perkotaan telah menggunakan jejaring sosial sebagai salah satu media komunikasi. Banyak kemudahan yang ditawarkan oleh jejaring sosial, seperti kemudahan dalam menyebarkan maupun mencari informasi dan melakukan percakapan dengan teman atau kolega tanpa harus melakukan tatap muka. Kemudahan-kemudahan inilah yang mendukung peningkatan pengguna jejaring sosial. Jejaring sosial terbentuk karena adanya rasa ingin tahu, saling menginformasikan, saling mengingatkan, dan saling membantu dalam melaksanakan ataupun mengatasi suatu masalah (Lawang 2005). Jejaring sosial yang dikenal masyarakat Indonesia cukup banyak seperti Facebook, Twitter, Path, dan lain-lain. Twitter adalah salah satu situs microblogging dengan pengguna lebih dari 500 juta dan 400 juta tweet perhari (Farber 2012). Percakapan antar pengguna di Twitter dapat digunakan oleh beberapa pihak untuk disaring dengan kata kunci tertentu yang kemudian data tersebut dapat diolah untuk mendapatkan informasi yang dibutuhkan. Percakapan antar pengguna juga terkadang menunjukkan isu terhangat yang sedang terjadi di Indonesia, misalnya terkait kebakaran hutan dan kabut asap. Kebakaran hutan dan kabut asap sempat menjadi perbincangan hangat di Twitter bahkan menjadi trending topic world wide. Pantauan redaksi Eveline, melalui timeline Twitter, pada periode 6-7 September 2015 bencana kabut asap diperbincangkan melalui 70122 tweet. Jumlah perbincangan semakin meningkat seiring dengan tingkat kepekatan kabut asap yang membuat jarak pandang di beberapa wilayah Provinsi Riau semakin pendek. Kondisi kabut asap yang semakin kritis juga mengakibatkan netizen menggalang keprihatinan untuk warga Riau melalui hashtag #PrayForRiau. Hashtag yang menjadi trending topic Twitter Indonesia ini telah digunakan sebanyak 3382 tweet (Eveline 2015). Cukup banyak kasus kebakaran hutan disebabkan oleh faktor manusia karena kegiatan interaksinya dengan hutan, seperti tradisi penggunaan api untuk pembukaan lahan, pengambilan kayu dan hasil hutan, serta pembakaran hutan dan lahan untuk keperluan lain. Hal ini juga didukung oleh tingginya jumlah penduduk namun rendahnya tingkat pendidikan dan pemahaman masyarakat tentang peranan hutan, termasuk teknologi pemanfaatan hutan. Peubah yang berkorelasi positif dengan kebakaran hutan adalah jumlah penduduk, sedangkan peubah lain seperti tingkat pendidikan dan pendapatan berkorelasi negatif (Hardjanto et al. 1999). Penelitian sebelumnya yang telah dilakukan oleh Ashktorab et al. (2014) melakukan text mining menggunakan Tweedr, yaitu alat Twitter-mining untuk mengekstrak informasi dari tweet mengenai bencana alam. Tweedr terdiri atas tiga
2
bagian utama yaitu klasifikasi, clustering, dan ekstraksi. Pada fase klasifikasi, Ashktorab menggunakan berbagai macam metode klasifikasi seperti sLDA, SVM dan logistic regression untuk mengidentifikasi tweet yang mengandung informasi bahaya dan dampak bencana alam. Pada fase clustering, peneliti menyaring dan menggabungkan tweet yang memiliki kesamaan. Pada fase ekstrasi, peneliti mengekstrak token dan frasa yang memberikan informasi spesifik tentang bahaya infrastruktur, tipe bahaya, dan dampak bencana. Penelitian terkait social web data mining juga dilakukan oleh Lwin et al. (2015). Peneliti menggunakan data curah hujan dari JMA (Japan Metrological Agency) setiap 10 menit dan data tweet yang mengandung keyword “curah hujan” dalam berbagai bahasa seperti bahasa Jepang, Cina, Korea, dan Inggris. Peneliti menggunakan data curah hujan dari tanggal 15-31 Agustus 2014 untuk melihat sebelum bencana, saat bencana, dan sesudah bencana. Secara umum setelah membandingkan data hujan JMA dengan data tweet, data tweet mengikuti rata-rata dari dua jam setelah hujan deras. Selain itu, jumlah tweet menurun drastis setelah hujan turun semakin deras. Hal ini dapat dikarenakan, hujan terjadi saat malam hari atau sinyal yang kurang bagus selama hujan deras. Berdasarkan analisis ini, korelasi antara hujan deras dan jumlah tweet bergantung pada ruang dan waktunya. Penelitian ini akan mengambil data dari Twitter dengan kata kunci yang berhubungan dengan kebakaran hutan dan kabut asap yang berada di Provinsi Riau. Data tersebut akan diproses menggunakan teknik text mining, kemudian akan dilakukan analisis asosiasi dengan data sosial ekonomi Provinsi Riau untuk mengetahui hubungan antara data tweet dengan beberapa atribut sosial ekonomi seperti jumlah sekolah, jumlah terjadinya kebakaran hutan, dan sumber penghasilan.
Perumusan Masalah Rumusan permasalahan pada penelitian ini adalah bagaimana hubungan antara data tweet tentang kebakaran hutan dengan data sosial ekonomi di Provinsi Riau.
Tujuan Penelitian Tujuan dari penelitian ini adalah melakukan analisis asosiasi pada data tweet terkait isu kebakaran hutan dan kabut asap dengan data sosial ekonomi di Provinsi Riau, sehingga didapatkan informasi yang menarik dan dapat ditarik sebuah pengetahuan terkait dengan kebakaran hutan.
Manfaat Penelitian Manfaat dari penelitian ini adalah untuk mendapatkan informasi menarik tentang hubungan antara data sosial ekonomi dan data kebakaran hutan yang didapatkan dari media sosial.
3
Ruang Lingkup Penelitian Ruang lingkup dari penelitian ini antara lain: 1 Data yang digunakan merupakan tweet yang terkait dengan kebakaran hutan dan kabut asap. Data tweet yang berasal dari Provinsi Riau pada tanggal 1 Januari hingga 31 Desember 2015. 2 Data tweet yang akan melewati tahapan praproses adalah tweet yang berbahasa Indonesia. 3 Data sosial ekonomi Provinsi Riau pada tahun 2014 dengan atribut sumber penghasilan, jumlah kebakaran hutan pada tahun 2011-2013 serta jumlah sekolah.
TINJAUAN PUSTAKA Text Mining Text mining merupakan bidang baru dalam cabang ilmu komputer yang berupaya untuk mengatasi krisis informasi yang berlebihan dengan cara menggabungkan beberapa teknik dari data mining, machine learning, natural languange processing, information retrieval, dan knowledge management (Feldman dan Sanger 2007). Tahap-tahap text mining secara umum adalah text preprocessing dan feature selection (Feldman dan Sanger 2007, Berry dan Kogan 2010). Penjelasan dari tahap-tahap tersebut adalah sebagai berikut: 1 Text Preprocessing Tindakan yang dilakukan pada tahap ini adalah lowercasing, yaitu mengubah semua karakter huruf menjadi huruf kecil dan tokenizing atau parsing yaitu proses penguraian deskripsi yang semula berupa kalimat-kalimat menjadi kata-kata dan menghilangkan delimiters seperti tanda titik(.), koma(,), spasi dan karakter angka yang ada pada kata tersebut (Weiss et al. 2005). 2 Feature Selection Pada tahap ini tindakan yang dilakukan adalah menghilangkan stopword (stopword removal) dan stemming terhadap kata yang berimbuhan (Feldman dan Sanger 2007, Berry dan Kogan 2010). Stopword adalah kosakata yang bukan merupakan ciri dari suatu dokumen. Misalnya “di”, “oleh”, “pada”, “sebuah”, “karena”, dan lain sebagainya. Stemming adalah proses pemetaan dan penguraian berbagai bentuk dari suatu kata menjadi bentuk kata dasarnya (Tala 2003). Tujuan dari proses stemming adalah menghilangkan imbuhan-imbuhan baik itu berupa prefix (awalan), suffix (akhiran) maupun confix (kombinasi awalan dan akhiran) yang ada pada setiap kata.
Association Rule Mining Association Rule adalah teknik data mining yang berguna untuk menemukan suatu korelasi atau pola yang terpenting atau menarik dari sekumpulan data besar (Dunham 2003). Motivasi awal Association Rule berasal dari keinginan
4
untuk menganalisis data transaksi supermarket ditinjau dari perilaku pelanggan dalam membeli produk. Interestingness measure yang dapat digunakan dalam analisis asosiasi adalah (Han et al. 2012): 1 Support Nilai support dari aturan A => B dalam set transaksi D adalah persentase dari transaksi D yang mengandung item A dan B, atau dapat dituliskan dengan persamaan berikut: Support (A => B) = P (A ∪ B) 2 Confidence, Nilai confidence dalam aturan A => B dalam set transaksi D adalah persentase dari jumlah transaksi yang mengandung A dan B, dengan jumlah transaksi yang mengandung A, atau dapat dituliskan dengan persamaan berikut: Confidence (A => B) = P (B | A) =
nilai support(A∪B) nilai support A
3 Lift Lift adalah perhitungan korelasi sederhana. Nilai lift yang kurang dari 1 maka item A berkorelasi negatif dengan item B. Nilai lift yang lebih dari 1 menunjukkan item A berkorelasi positif dengan item B yang berarti kedua item saling berhubungan. P (A ∪ B) lift (A, B) = P (A) P (B)
Salah satu algoritme yang digunakan untuk association rule mining adalah algoritme Apriori. Apriori adalah suatu algoritme yang dikenal dalam melakukan pencarian frequent itemset dengan association rule. Algoritme ini menggunakan pendekatan iterasi yang dikenal sebagai “level-wise search”, di mana k-itemsets digunakan untuk mendapatkan (k+1)-itemsets. Pertama, set dari frequent 1-itemsets ditemukan dengan pembacaan pada basis data untuk akumulasi jumlah dari masingmasing item, dan mengumpulkan items tersebut sesuai dengan minimum support yang ditentukan. Hasil dari set tersebut adalah L1, kemudian L1 digunakan untuk menemukan L2, dan dilakukan iterasi sampai sampai mendapatkan Lk setelah melakukan pencarian dalam satu basis data. Cara untuk meningkatkan efisiensi dari iterasi pada Apriori digunakan sebuat properti Apriori, yang merupakan minimum support untuk melakukan pemangkasan itemset yang tidak memenuhi minimum support (Han et al. 2012).
METODE PENELITIAN Data Penelitian Data yang digunakan pada penelitian ini adalah data tweet yang diperoleh dari sistem pengambilan data tweet menggunakan Python dan API Console Tool pada website dev.twitter.com/rest/tools/console. Data kedua yaitu data sosial ekonomi di provinsi Riau yang akan diasosikan dengan data tweet. 1 Data tweet dari Twitter yang mengandung keyword dapat dilihat pada Tabel 1, sedangkan nama atribut data tweet yang diperoleh dari tahap akuisisi dapat dilihat pada Tabel 2.
5
Tabel 1 Daftar keyword untuk akuisisi data tweet No Keyword No Keyword 1 #asapriau 5 #kebakaranhutan 2 #hutanriau 6 #kebakaranriau 3 #indonesianforestfires 7 #melawanasap 4 #jerebu 8 #prayforriau Tabel 2 Nama atribut data tweet yang diperoleh dari hasil akuisisi data No Atribut data tweet No Atribut data tweet 1 Username 5 tweetID 2 Date 6 placeID 3 Time 7 Longitude 4 Text 8 Latitude 2 Data sosial ekonomi Provinsi Riau pada tahun 2014 yang diperoleh dari Badan Pusat Statistika (BPS) Indonesia. Data sosial ekonomi tersebut mengandung atribut sumber penghasilan, jumlah bencana kebakaran hutan pada tahun 20112013, dan jumlah sekolah.
Tahapan Penelitian Tahapan-tahapan pada penelitian ini dapat dilihat pada Gambar 1. Pengumpulan data tweet menggunakan kode program Python dan API Console Tool, kemudian data dilakukan praproses. Data tweet yang telah dipraproses akan digabungkan dengan data sosial ekonomi di Provinsi Riau berdasarkan lokasi. Setelah itu, dilakukan pembangkitan aturan dengan algoritme Apriori menggunakan bahasa pemrograman R, dan tahap terakhir yaitu dilakukan analisis hasil asosiasi.
Gambar 1 Tahapan penelitian Pengumpulan Data Tweet Pengumpulan data tweet menggunakan Python dan API Console Tool pada https://dev.twitter.com/rest/tools/console. Atribut username, date, text, tweetID, dan placeID didapatkan dari program Pyhton, sedangkan atribut kecamatan, kabupaten, longitude, dan latitude didapatkan dari API Console Tool yang dilakukan secara manual. Pada kode program Python akan disalin URL tweet yang
6
didapatkan di www.twitter.com dengan melakukan sign in Twitter terlebih dahulu. URL tweet didapatkan dari kolom seacrh Twitter dengan parameter keyword yang terdapat pada Tabel 1, since yang merupakan awal dari tanggal pencarian, dan until yang merupakan akhir tanggal dari pencarian. Selain itu, pada program Python ditentukan jumlah scrolling yang akan dilakukan. Hasil dari data tweet yang telah terkumpul akan disimpan dalam bentuk csv. Atribut place id yang didapat dari implementasi program Python, digunakan untuk mendapatkan atribut lokasi kecamatan pengguna pada saat melakukan tweet, kabupaten, longitude, dan latitude menggunakan API Console Tool yang di-input satu persatu. Praproses Data Tweet Data tweet yang telah dikumpulkan akan dilakukan praproses sehingga data yang telah diperoleh akan diseleksi dan diproses. Data tweet yang akan dilakukan praproses adalah data tweet yang berasal dari Provinsi Riau. Tahapan-tahapan yang dilakukan pada praproses dapat dilihat pada Gambar 2.
Gambar 2 Tahapan pra-proses a Tokenizing Tahap pembuatan tokenisasi yang dilakukan adalah membuat semua huruf pada tweet menjadi huruf kecil, selanjutnya menghapus mention dan URL yang ada pada tweet, kemudian proses selanjutnya adalah penghapusan tanda baca dan angka. b Normalisasi Kata Tahap normalisasi kata dilakukan untuk mengganti kata yang tidak baku menjadi baku. Kata baku pada penelitian ini diperoleh dari penelitian sebelumnya yang dilakukan Aziz (2013) berjumlah 3719 kata. c Filtering Merupakan tahapan penghapusan stopwords pada data tweet. Penghapusan stopwords dilakukan untuk menghilangkan kata-kata yang jika dihilangkan, data tweet masih memiliki makna. Daftar stopwords didapatkan dari Tala (2003) yang berjumlah 758 kata. d Stemming Proses stemming dilakukan untuk mendapatkan kata-kata penting dengan menghapus prefix (awalan), suffix (akhiran), serta confix (kombinasi dari awalan dan akhiran). Pada penelitian ini proses stemming akan dilakukan dengan menggunakan algoritme Nazief dan Adriani (1996).
7
e Pembuatan Document Term Matrix (DTM) Tahap selanjutnya adalah pembuatan Document Term Matrix (DTM). DTM adalah matriks jumlah kemuculan suatu kata pada dokumen. Baris matriks menunjukkan menunjukkan nomor dokumen tweet, sedangkan kolom adalah kata yang ada pada data tweet. Pada tahap ini, akan ditentukan nilai sparsity untuk mengurangi jumlah term yang jarang muncul pada data tweet. Penggabungan dengan Data Sosial Ekonomi Berdasarkan Lokasi Hasil data tweet yang telah dipraproses akan digabungkan dengan data sosial ekonomi. Data tweet yang memiliki placeID akan dicari lokasi tweet dengan menggunakan API Console. Lokasi tersebut merupakan lokasi kecamatan. Pada data sosial ekonomi, atribut sumber penghasilan hanya bernilai 1 (yang berarti ada) dan 0 (yang berarti tidak ada), sedangkan atribut jumlah kebakaran hutan dan jumlah sekolah bernilai jumlah dari kecamatan yang sama di mana satu kecamatan terdiri atas beberapa desa/kelurahan. Setelah itu, atribut jumlah sekolah akan dijumlahkan dari tingkat TK Negeri sampai tingkat seminari sehingga didapatkan jumlah sekolah total. Data tweet yang digunakan adalah term-term hasil DTM. Pada data tweet baris menunjukkan nomor dokumen tweet, sedangkan kolom menunjukkan term dan lokasi, kemudian lokasi tersebut yang akan menggabungkan dengan data sosial ekonomi. Pembangkitan Aturan dengan Algoritme Apriori Setelah data tweet dengan data sosial ekonomi digabungkan, akan dicari aturan asosiasi antara kedua data. Metode yang digunakan adalah asssociation rule mining (ARM) dengan algoritme Apriori. Atribut data yang masih bersifat numerik, harus diubah terlebih dahulu menjadi bersifat nominal. Atribut yang memiliki nilai yang bervariasi akan dikategorikan. Library yang digunakan untuk mengimplementasikan Apriori pada R adalah arules. Minimum support yang digunakan berkisar antara 10%-20%, sedangkan minimum confidence berkisar antara 75%-85%. Algoritme Apriori menghasilkan sejumlah aturan yang selanjutnya akan dianalisis untuk mendapatkan informasi yang dibutuhkan tentang kebakaran hutan. Analisis Hasil Asosiasi Aturan yang telah didapatkan menggunakan algoritme Apriori akan dianalisis, sehingga diketahui hubungan antara kedua data tersebut. Penelitian ini menganalisis pola asosiasi berdasarkan nilai lift ratio. Jika nilai lift ratio aturan tersebut lebih besar dari 1 maka akan berkorelasi positif, sedangkan jika nilai lift ratio lebih kecil dari 1 maka akan berkorelasi negatif. Semakin tinggi nilai lift ratio maka semakin besar kekuatan asosiasinya.
Lingkungan Pengembangan Penelitian ini menggunakan komputer dengan spesifikasi perangkat keras dan perangkat lunak sebagai berikut:
8
1 Perangkat keras berupa komputer personal dengan spesifikasi sebagai berikut: • Processor Intel Core i5-3210M • RAM 4GB • 500 GB HDD 2 Perangkat lunak yang digunakan untuk penelitian ini diantaranya: • Sistem operasi Windows 8.1 • R studio yang digunakan untuk melakukan pra proses • Cmd untuk menjalankan program Python • Notepad untuk merubah source code Python • QuantumGIS untuk memetakan lokasi tweet pada peta Riau
HASIL DAN PEMBAHASAN Pengumpulan Data Tweet Akuisisi data tweet menggunakan bahasa pemrograman Python dan API Console Tools yang disimpan dalam bentuk csv. Kode untuk pengambilan data tweet menggunakan Python terdapat pada Lampiran 2. Berikut adalah cara akuisisi data tweet dengan menggunaka Python: 1 Pencarian alamat website atau URL sesuai dengan keyword pada Tabel 1 dan waktu yang diinginkan pada Twitter. Url tweet didapatkan dari Twitter dengan melakukan log in akun Twitter terlebih dahulu. Pada kolom pencarian akan dimasukkan salah satu keyword yang terdapat pada Tabel 1, dan waktu tweet yang akan diambil dengan menggunakan since yang merupakan tanggal awal pengambilan tweet dan until yang merupakan tanggal akhir pengambilan tweet. Url data tweet yang digunakan merupakan tweet yang Live sehingga semua tweet akan terambil. Contoh pengambilan URL pada Twitter untuk akuisisi data tweet dapat dilihat pada Gambar 3. URL yang telah didapatkan akan disalin kedalam kode program Python.
Gambar 3 Contoh pengambilan URL Twitter untuk akuisisi data Contoh: #prayforriau since: 2015-10-03 until:2015-10-04 browser.get("https://twitter.com/search?f=tweets&vertical=default&q=%23pr ayforriau%20since%3A2015-01-13%20until%3A2015-03-01&src=typd") 2 Menentukan jumlah scroll yang diinginkan untuk melakukan pencarian tweet dengan parameter n. Nilai n merupakan jumlah scrolling browser secara otomatis saat sedang melakukan loading tweet.
9
Contoh: n = 2000 scroll = 2000 3 Hasil data tweet yang telah didapat disimpan dalam bentuk csv. Atribut-atribut tweet yang akan diambil pada tahap pengumpulan data adalah username yang merupakan nama pengguna, date and time adalah tanggal tweet, text adalah isi dari tweet, tweetID, placeID yang merupakan ID dari lokasi tweet. Contoh data tweet hasil yang telah diakuisisi dengan webcrawler dapat dilihat pada Gambar 4. outputFile = open("output.csv", "w+") outputFile.write('username;date;time;text;tweetID;placeID\n')
Gambar 4 Contoh data tweet hasil akuisisi dengan webcrawler Pada Gambar 4 dapat dilihat data tweet ada yang memiliki placeID dan ada yang tidak memiliki placeID. Selanjutnya data tweet yang memiliki placeID tersebut akan dicari detail lokasi seperti kecamatan dan kabupaten menggunakan API Console Tool pada https://dev.twitter.com/rest/tools/console. API method yang digunakan adalah /geo/id/{place_id}.json, dengan memasukkan placeID tweet. Sebelum melakukan pencarian placeID harus melakukan autentikasi terlebih dahulu dengan sign in Twitter. Setelah mengetahui lokasi tweet, tweet yang akan digunakan hanyalah tweet yang berlokasi di daerah Riau. Contoh API Console Tools untuk mendapatkan lokasi tweet terdapat pada Gambar 5.
Kecamatan
Kabupaten Gambar 5 Contoh console tools API untuk pencarian lokasi tweet
10
Proses pengambilan data tweet menggunakan Python berbeda dengan Twitter API. Proses pengambilan data tweet menggunakan Twitter API harus terlebih dahulu membuat manajemen aplikasi untuk mendapatkan consumer key (API key), consumer secret (API secret), oauth token, dan oauth token secret melalui https://apps.twitter.com/. Pengambilan data tweet pada Twitter API dibatasi selama tujuh hari sebelum dari tanggal pengambilan data tweet tersebut. Tahap akuisisi data tweet mendapatkan sebanyak 107982 tweet dari 8 keyword pada Tabel 1. Jumlah tweet yang memiliki atribut placeID sebanyak 7986 tweet. Pada penelitian ini, tweet yang akan digunakan pada tahap selanjutnya yaitu tweet yang berada di Provinsi Riau sebanyak 1839 tweet. Jumlah tweet berdasarkan keyword terdapat pada Tabel 3. Tabel 3 Jumlah tweet berdasarkan keyword Keyword Jumlah Jumlah tweet Jumlah tweet di tweet dengan placeID Riau #asapriau 1114 89 42 #hutanriau 29 0 0 #indonesianforestfires 127 11 0 #hutanriau 29 0 0 #jerebu 10 631 1318 0 #kebakaranhutan 1070 40 3 #kebakaranriau 6 0 0 #melawanasap 86 331 5624 1392 #prayforriau 8674 904 402
Praproses Data Tweet Tahap praproses terbagi atas empat tahap yaitu, tokenizing, normalisasi kata, filtering, dan stemming. Tokenizing Pada tahap pembuatan tokenisasi dilakukan beberapa perintah, sebagai berikut: 1 Mengaktifkan package “twitteR” dan package “tm” > library(twitteR) > library(tm)
2 Membaca tweet dalam bentuk .csv dan mengubahnya dalam bentuk corpus > datatwitter <- read.csv(file="datatwitter.csv",head=TRUE,sep =") > myCorpus <- Corpus(VectorSource(datatwitter$text))
3 Mengubah semua karakter huruf menjadi huruf kecil sehingga pada proses selanjutnya tidak harus memperhatikan lagi huruf besar dan huruf kecil > myCorpus <- tm_map(myCorpus, tolower)
11
4 Menghapus URL, mention, dan hashtag yang ada pada tweet tersebut, pembuatan tokenisasi menggunakan fungsi gsub untuk menghapus mention, URL, dan tanda baca. # fungsi gsub untuk menghapus mention myCorpus[[j]] <- gsub("(@)[[:graph:]]+", "", myCorpus[[j]])
# fungsi gsub untuk menghapus URL myCorpus[[j]] <- gsub("(http)[[:graph:]]+", "", myCorpus[[j])
# fungsi gsub untuk menghapus tanda baca myCorpus[[j]] <- gsub("[[:punct:]]", " ", myCorpus[[j]])
# fungsi gsub untuk menghapus angka myCorpus[[j]] <- gsub("[[:digit:]]", " ", myCorpus[[j]])
5 Pembuatan token dengan menggunakan fungsi strsplit untuk membagi menjadi potongan-potongan kata. > split<-strsplit(as.character(a$text), split = " ") Normalisasi Kata Proses ini melakukan perbaikan dari kata tidak baku menjadi kata baku, seperti mengubah kata yang masih berupa singkatan menjadi bentuk normalnya. Pada penelitian ini kode program diperoleh dari penelitian sebelumnya yang dilakukan oleh Khotimah (2014) dengan menggunakan kata baku yang ada pada penelitian Aziz (2013) dan ditambahkan dengan yang ditemukan dalam penelitian sehingga berjumlah 3756 kata. Kata-kata yang ditambah pada penelitian ini terlampir pada Lampiran 3. Filtering Tahap filtering melakukan penghapusan stopwords pada data tweet. Penghapusan stopwords dilakukan dengan menggunakan basis data stopwords Tala (2003) dan ditambahkan dari stopwords yang ditemukan pada data penelitian sehingga berjumlah 775 kata. Contoh kata yang ditambahkan adalah kata “pict”, “ya”, “sih”, “nya”, “the”, “bro”, dan lain-lain. Kata-kata yang telah ditambahkan pada penelitian ini terlampir pada Lampiran 4. Stemming Dalam penelitian ini, stemming dilakukan menggunakan algoritme Nazief dan Adriani (1996). Stemming adalah proses pemetaan dan penguraian berbagai bentuk dari suatu kata menjadi bentuk kata dasarnya (Tala 2003). Kode program yang digunakan dalam penelitian ini untuk melakukan stemming berbahasa Indonesia menggunakan kode program yang diikuti dari penelitian Khotimah (2014). Setelah dilakukan tahapan praproses didapat hasil token yang akan menjadi term. Contoh data tweet yang telah dilakukan pra proses tokenizing, normalisasi, filtering, dan stemming terdapat pada Tabel 4.
12
Tabel 4 Data tweet sebelum dan sesudah dilakukan tahapan pra proses Tahapan Sebelum Sesudah praproses Tokenizing Mari kita sama2 berusaha utk mari kita sama berusaha utk mnghadapi kabut asap yg kian parah mnghadapi kabut asap yg kian ini.. Pesan ini adalah saran dari parah ini pesan ini adalah BMKG Indonesia @SaveWorld saran dari bmkg indonesia #Melawanasap melawanasap Normalisasi kata
mari kita sama berusaha utk mnghadapi kabut asap yg kian parah ini pesan ini adalah saran dari bmkg indonesia melawanasap
Filtering
mari kita sama berusaha untuk menghadapi kabut asap yang kian parah ini pesan adalah saran dari bmkg indonesia melawan asap mari berusaha menghadapi kabut asap kian parah saran bmkg indonesia melawan asap
Stemming
mari kita sama berusaha untuk menghadapi kabut asap yang kian parah ini pesan adalah saran dari bmkg indonesia melawan asap mari berusaha menghadapi kabut asap kian parah saran bmkg indonesia melawan asap mari usaha hadap kabut asap kian parah pesan saran bmkg indonesia lawan asap
Setelah dilakukan tahapan praproses sehingga didapat hasil token yang akan menjadi term. Term adalah token yang unik. Hasil dari term tersebut dapat direpresentasikan dalam sebuah wordcloud yang dapat dilihat pada Gambar 6.
Gambar 6 Wordcloud untuk term setelah dilakukan praproses Pada Gambar 6 sudah tidak ada kata termasuk dalam daftar kata buang dan tidak ada simbol-simbol seperti angka. Term lawan dan asap memiliki ukuran yang lebih besar dibandingkan term lain, karena term tersebut merupakan term yang lebih banyak pada data tweet. Pembuatan Document Term Matrix (DTM) Hasil dari praproses menghasilkan sebanyak 3014 terms dengan sparsity 100% dan menyisakan 1838 tweet, dari jumlah 1839 tweet. Hal tersebut
13
dikarenakan sudah dilakukan praproses sehingga tweet yang hanya mengandung URL dan simbol akan dihapus. Setelah dilakukan praproses, akan dibuat Document Term Matrix (DTM) untuk mengetahui frekuensi kemunculan term pada setiap dokumen. Hasil DTM terdapat pada Gambar 7 dan contoh dari DTM terdapat pada Gambar 8.
Gambar 7 Hasil Document Term Matrix (DTM)
Gambar 8 Contoh Document Term Matrix (DTM) Banyaknya term yang dihasilkan membuat ukuran matrix menjadi besar, maka untuk memperkecil dimensi matrix dilakukan reduksi terms yang memiliki tingkat kemunculan rendah dengan menggunakan fungsi removeSparseTerms() pada Rstudio yang terdapat pada package “tm”. Nilai sparse adalah nilai numerik untuk sparsity maksimum yang dibolehkan dalam dokumen dengan rentang 0-1. Fungsi removeSparseTerms() yang digunakan pada Rstudio dengan parameter 0.99, menghasilkan nilai sparsity 94%. Sparsity 94% term yang memiliki paling sedikit 94% empty element, empty element adalah term yang muncul 0 kali dalam dokumen. Jumlah terms yang dihasilkan dengan sparsity 94% adalah 66 terms.
Penggabungan Data Tweet dengan Data Sosial Ekonomi Berdasarkan Lokasi Hasil data tweet yang telah dipraproses akan digabungkan dengan data sosial ekonomi. Data tweet yang digunakan adalah term-term hasil DTM dengan nilai sparsity 94% yang menghasilkan 66 terms. Pada data tweet terdapat pula atribut lokasi kecamatan yang didapatkan dari API Console Tool. Lokasi kecamatan merupakan atribut yang menggabungkan data tweet dengan data sosial ekonomi. Data sosial ekonomi yang digunakan adalah data yang memiliki nama kecamatan yang sama dengan data tweet. Namun, terdapat lokasi kecamatan yang tidak ada dalam data sosial ekonomi, data tweet tersebut akan dihapuskan. Selain itu terdapat data tweet yang berlokasi di kabupaten maka harus dicari terlebih dahulu nama kecamatan dari kabupaten tersebut, dengan melihat longitude dan latitude pada data
14
tweet, kemudian mencari longitude serta latitude tersebut dengan menggunakan GoogleMaps. Atribut sosial ekonomi yang digunakan adalah sumber penghasilan, jumlah kebakaran hutan pada tahun 2011-2013, dan jumlah sekolah. Atribut sumber penghasilan terdiri atas 12 items. Masing-masing items tersebut akan menjadi atribut baru, sehingga isi dari atribut baru ini bernilai biner di mana nilai 1 berarti sumber penghasilan ada dan nilai 0 berarti sumber penghasilan tidak ada . Sumber penghasilan pada suatu kecamatan akan tetap bernilai 1 walaupun di beberapa desa/kelurahan pada kecamatan tersebut tidak memiliki sumber penghasilan tertentu. Atribut jumlah sekolah terdiri atas 17 items, namun pada atribut jumlah sekolah akan dijumlah dari tingkat TK Negeri, TK Swasta sampai Seminari untuk mendapatkan jumlah sekolah total dari satu kecamatan sehingga atribut jumlah sekolah hanya menjadi 1 item di mana item tersebut akan menjadi atribut baru pada tahap penggabungan data. Pada atribut jumlah kebakaran hutan pada tahun 20112013 terdiri atas 3 items yang akan menjadi atribut baru pada tahap penggabungan. Jumlah atribut pada tahap penggabungan data yaitu 17 atribut.
Pembangkitan Aturan dengan Algoritme Apriori Hasil penggabungan data tweet dengan data sosial ekonomi akan digunakan pada tahap selanjutnya dan menghasilkan beberapa aturan. Sebelum dilakukan pembangkitan aturan dengan algoritme Apriori, atribut-atribut yang memiliki nilai numerik diubah dahulu menjadi nilai nominal. Semua angka 0 akan diubah menjadi NA sedangkan angka 1 pada atribut sumber penghasilan dan term-term akan diubah menjadi ADA. Pada jumlah kebakaran hutan dalam tiga tahun terakhir akan dibagi menjadi tiga kategori yaitu: [1,6] akan dikategorikan sedikit, [7,12] akan dikategorikan sedang, dan [13,18] akan dikategorikan banyak. Pada atribut jumlah sekolah akan dibagi menjadi 5 kategori yaitu: [1,80] akan dikategorikan sedikit sekali, [81,160] akan dikategorikan sedikit, [161,240] akan dikategorikan sedang, [241,320] akan dikategorikan banyak, dan [321,400] akan dikategorikan banyak sekali. Setelah diubah menjadi nominal, aturan akan dibangkitkan menggunakan algoritme Apriori dengan menggunakan package arules. Parameter yang digunakan adalah nilai minimum support yang berkisar antara 10%-20% dan minimum confidence 75%-85%, dengan mengatur Left Hand Side (LHS) dan Right Hand Side (RHS). LHS merupakan anticedent dalam aturan, sedangkan RHS adalah konsekuen dalam aturan. LHS dalam Apriori yang digunakan adalah semua atribut sosial ekonomi, seperti sumber penghasilan yang bernilai ADA, jumlah kebakaran yang berkategori sedikit, sedang, dan banyak, serta jumlah sekolah yang berkategori sedikit sekali, sedikit, sedang, banyak, dan banyak sekali. RHS yang digunakan adalah term yang ada pada data tweet yang bernilai ADA. Pada Tabel 5 menunjukkan jumlah aturan yang dihasilkan dari minimum support dan minimum confidence yang telah ditetapkan.
15
Tabel 5 Jumlah aturan dari minimum support dan minimum confidence yang telah ditetapkan Minimum Minimum Jumlah rules masih Jumlah rules tidak support (%) confidence (%) redundan redundan 10 75 344 30 10 80 342 28 10 85 195 17 15 75 58 19 15 80 56 17 15 85 33 10 20 75 29 15 20 80 28 14 20 85 18 9
Analisis Hasil Asosiasi Pada penelitian ini ditetapkan aturan yang akan digunakan adalah aturan yang dihasilkan dari nilai minimum support 10% dan nilai minimum confidence 80% karena telah didapatkan informasi yang akan digunakan untuk tahap analisis. Aturan yang didapatkan masih redundan, sehingga harus dihapuskan menggunakan Rstudio. Aturan dikatakan redundan apabila terdapat aturan yang lebih spesifik dengan nilai lift yang sama atau lebih rendah. Aturan dikatakan lebih spesifik jika terdapat item tambahan pada LHS (CRAN 2016). Definisi aturan redundan menurut Tan et al. (2006) berbeda dengan CRAN (2016). Menurut Tan et al. (2006) aturan X => Y dikatakan redundan apabila terdapat aturan lain seperti X’ => Y’, di mana X adalah subset dari X’ dan Y adalah subset dari Y’, yang memiliki nilai support dan confidence yang sama. Pada penelitian hanya mencakup penghapusan aturan redundan menurut terminologi dari CRAN (2016). Contoh aturan yang redundan terdapat pada Tabel 6.
No aturan 56
20
Tabel 6 Contoh aturan yang redundan Aturan Nilai support Nilai confidence {jumlah.kebakaran.2011 0.1198 0.8339 =Sedikit,Jumlah.Sekolah =Banyak} => {lawan=SATU} {jumlah.kebakaran.2011 0.1840 0.8415 =Sedikit} => {lawan=ADA}
Nilai lift 1.0315
1.0408
Nomor aturan 56 adalah aturan yang redundan dari nomor aturan 20, karena nomor aturan 56 memiliki item tambahan pada LHS, namun memiliki nilai lift yang lebih rendah. Gambar 9 adalah kode program pada R untuk menghilangkan aturan yang redundan.
16
Gambar 9 Kode program R untuk menghilangkan aturan yang redundan Setelah dihapuskan aturan yang redundan dengan menggunakan RStudio didapatkan 28 aturan yang sudah tidak redundan dan merupakan aturan yang unik. Contoh aturan yang sudah tidak redundan terdapat pada Tabel 7, sedangkan semua aturan yang sudah tidak redundan dilampirkan pada Lampiran 1.
No aturan 8 17 18
Tabel 7 Contoh rule yang tidak redundan Aturan Nilai Nilai support confidence {Jumlah.Sekolah=Banyak} 0.1216 0.8359 => {lawan=ADA} {Perkebunan=ADA} => 0.2807 0.8728 {asap=ADA} {Kebakaran=ADA} => 0.2540 0.8054 {lawan=ADA}
Nilai lift 1.0339 0.9784 0.9961
Pada aturan tersebut dapat disimpulkan bahwa term yang muncul adalah lawan dan asap karena term tersebut merupakan frequent itemset. Term asap muncul sebanyak 1570 dalam 1838 tweet, sedangkan term lawan muncul sebanyak 1423 dalam 1838 tweet. Atribut sumber penghasilan dalam data sosial ekonomi, yang muncul pada aturan adalah perkebunan, jasa, dan perdagangan besar. Pada atribut jumlah sekolah yang muncul adalah yang berkategori sedikit sekali, sedikit, dan banyak. Pada atribut jumlah kebakaran yang muncul hanya yang berkategori sedikit. Selain itu, lokasi tweet yang sering muncul pada aturan adalah lokasi Senapelan, Tampan, dan Rumbai. Tabel 8 menunjukkan jumlah item pada data sosial ekonomi dan data tweet yang muncul pada aturan.
Item
Tabel 8 Jumlah item yang muncul pada aturan Jumlah kemunculan Aturan dengan Aturan dengan pada aturan nilai lift lebih nilai lift dari 1 kurang dari 1
Term = Asap Term = Lawan Jumlah kebakaran = Sedikit Lokasi = Tampan Sumber penghasilan= Perdagangan besar
13 11
10 9
3 2
9 6
9 6
0 0
5
5
0
17
Item
Sumber penghasilan= Jasa Jumlah sekolah = Banyak Jumlah sekolah = Sedikit Jumlah sekolah = Sedikit Sekali Lokasi = Rumbai Lokasi = Senapelan Sumber penghasilan= Perkebunan
Jumlah kemunculan pada aturan
Aturan dengan nilai lift lebih dari 1
Aturan dengan nilai lift kurang dari 1
2
3
0
3
3
0
2
1
1
2 2 2
1 1 2
1 0 0
1
0
1
Nilai lift tertinggi pada aturan yang dihasilkan bernilai 6.875, sedangkan nilai lift yang paling kecil bernilai 0.98. Nilai lift yang bernilai lebih dari satu menunjukkan aturan berkorelasi positif, sedangkan nilai lift yang bernilai kurang dari satu menunjukkan korelasi negatif. Aturan yang memiliki nilai lift lebih dari satu berjumlah 23, sedangkan aturan yang memiliki nilai lift kurang dari satu berjumlah 5. Aturan yang berkorelasi positif dengan term adalah item sumber penghasilan=jasa, sumber penghasilan=perdagangan besar, jumlah terjadinya kebakaran sedikit, dan jumlah sekolah yang berkategori banyak. Aturan yang berkorelasi negatif dengan term adalah item sumber penghasilan=perkebunan, jumlah sekolah berkategori sedikit sekali, dan jumlah sekolah berkategori sedikit. Aturan yang berkorelasi positif dengan term akan dipetakan lokasi tweetnya menggunakan QuantumGIS, dan hasil pemetaannya dapat dilihat pada Gambar 10. Pada Gambar 10, tweet yang berkorelasi positif dengan term paling banyak berada di tengah Provinsi Riau. Jumlah tweet paling banyak pada suatu kecamatan berjumlah 310 tweet dan terletak di Kecamatan Senapelan. Selain itu pada Tabel 7, semua aturan yang memiliki item lokasi=Tampan berkorelasi positif dengan term. Kecamatan Senapelan dan Kecamatan Tampan terletak di Kabupaten Pekan Baru yang merupakan salah satu kota besar di Provinsi Riau, sedangkan kebakaran hutan banyak terjadi di daerah perkebunan dan terletak di pedesaan. Hal tersebut dapat disimpulkan bahwa pengguna Twitter yang mengunggah status tentang kebakaran hutan dan kabut asap adalah pengguna yang berasal dari kota, yang merasakan dampak dari kebakaran hutan seperti kabut asap. Selain itu, masyarakat perkotaan lebih banyak yang menggunakan gadget daripada masyarakat pedesaan, sehingga lebih sering menggunakan media sosial seperti Twitter.
18
Legenda Lokasi tweet Batas kabupaten
Gambar 10 Pemetaan tweet yang berkorelasi positif Aturan yang telah didapatkan kemudian divisualisasikan untuk memudahkan melihat asosiasi antara LHS dan RHS. Visualisasi aturan menggunakan package arulesViz. Gambar 11 adalah hasil visualisasi dari aturan.
Gambar 11 Visualisasi lift dan support 28 aturan Gambar 11 menunjukkan warna menunjukkan nilai lift sedangkan ukuran menunjukkan nilai support. Bulat merah yang merujuk pada LHS adalah Jumlah Sekolah= Banyak dan RHS adalah lokasi=Tampan memiliki nilai lift yang paling
19
tinggi, sedangkan bulat berwarna orange menunjukkan nilai lift yang lebih rendah. Semakin pekat warna bulatan akan semakin tinggi nilai lift-nya. Pada hasil visualisasi juga terlihat bahwa bulat terbesar merujuk pada LHS perdagangan besar=ADA dan RHS asap=ADA, yang menunjukkan bahwa nilai support aturan tersebut adalah yang tertinggi. Nilai support tertinggi pada aturan adalah 0.513, yang terdapat pada aturan jika sumber penghasilan adalah perdagangan besar maka ada term asap. Nilai support tersebut dapat diartikan bahwa sumber penghasilan perdagangan besar akan muncul bersamaan dengan term asap sebanyak 51.3% dalam seluruh transaksi. Nilai confidence dari aturan tersebut adalah 0.909 yang berarti jika ada sumber penghasilan perdagangan besar maka akan ada term asap dengan tingkat kepercayaan 90.9%.
SIMPULAN DAN SARAN Simpulan Penelitian ini mengasosiasikan data tweet yang berhubungan dengan kebakaran hutan dan kabut asap, dengan data sosial ekonomi di Provinsi Riau. Penelitian ini menggunakan association rule mining dengan algoritme Apriori. Hasil asosiasi didapatkan hasil 342 aturan yang redundan dan 28 aturan yang tidak redundan dengan nilai minimum support 10% dan minimun confidence 80%. Aturan yang berkorelasi positif dengan term adalah item jasa, perdagangan besar, jumlah terjadinya kebakaran sedikit, dan jumlah sekolah yang berkategori banyak. Sedangkan aturan yang berkorelasi negatif dengan term adalah item perkebunan, jumlah sekolah berkategori sedikit sekali, dan jumlah sekolah berkategori sedikit. Tweet yang berkorelasi positif dengan term banyak yang berlokasi di daerah perkotaan, sedangkan terjadinya kebakaran hutan banyak terjadi di daerah perkebunan atau terletak di pedesaan. Hal tersebut dapat dikarenakan pengguna Twitter yang menggunggah status tentang kebakaran hutan dan kabut asap adalah masyarakat yang terkena dampak dari kebakaran hutan.
Saran Terdapat beberapa hal yang perlu diperbaiki pada penelitian ini seperti: 1 Menentukan lokasi tweet berdasarkan placeID masih bersifat manual sehingga diharapkan dapat dilakukan secara otomatis. 2 Mencari keyword yang lebih banyak di tweet oleh pengguna Twitter, sehingga term yang muncul pada rules lebih banyak. 3 Analisis aturan yang redundan menggunakan terminologi Tan et al. (2006) berdasarkan nilai support dan confidence.
20
DAFTAR PUSTAKA Ashktorab Z, Brown C, Nandi M, Culotta A. 2014. Tweedr: mining Twitter to inform disaster response. Di dalam: Proceedings of the 11th International ISCRAM Conference. Pennsylvania (US): University Park. hlm 1-4. Aziz ATA. 2013. Sistem pengklasifikasian entitas pada pesan twitter menggunakan ekspresi reguler dan Naïve Bayes [skripsi]. Bogor (ID): Institut Pertanian Bogor. Berry MW, Kogan J. 2010. Text Mining Aplication and Theory. Chichester (GB): J Wiley. [CRAN] The Comprehensive R Archive Network. 2016. Package arules [internet]. [diunduh 2016 Juni 15]. Tersedia pada: https://cran.rproject.org/web/packages/arules/arules.pdf Dunham MH. 2003. Data Mining Introductory and Advanced Topics. Upper Saddle River (US): Prentice Hall. Pearson Education. [Eveline] Eveline. 2015. Darurat Asap. Hashtag #PrayForRiau Bertengger Sebagai Trending Topic [internet]. [diakses 2016 Jan 11]. Tersedia pada: http://eveline.co.id/berita-utama/darurat-asap-hashtag-prayforriau-bertenggersebagai-trending-topic/ Farber D. 2012. Twitter hits 400 million tweets per day mostly mobile [internet] [diakses tanggal 7 Desember 2015]. Tersedia pada: http://www.cnet.com/news/Twitter-hits-400-million-tweets-per-day-mostlymobile/ Feldman R, Sanger J. 2007. The Text Mining Handbook: Advanced Approaches in Analyzing Unstructured Data. New York (US): Cambridge University Press. Han J, Kamber M, Pei J. 2012. Data Mining: Concepts and Techniques. Ed ke-3. Amsterdam (NL): Elsevier, Morgan Kaufmann. Hardjanto, Manan S, Suhardjito D. 1999. Dampak Sosial Ekonomi Kebakaran Hutan. Bogor (ID): CIFOR Khotimah H. 2014. Pemodelan hybrid tourism recommendation menggunakan hidden markov model dan text mining berbasis data sosial media [tesis]. Bogor (ID): Institut Pertanian Bogor. [Kominfo] Kementrian Komunikasi dan Informatika Republik Indonesia. 2014. Pengguna Internet Indonesia Nomor Enam Dunia [internet]. [diakses 2016 Jan 12]. Tersedia pada: http://kominfo.go.id/index.php/content/detail/4286/Pengguna+Internet+Indon esia+Nomor+Enam+Dunia/0/sorotan_media#.VpXaNLaLTIU Lawang, R. 2005. Kapital Sosial dalam Perspektif Sosiologi. Ed ke-2. Depok (ID): FISIP UI Press. Lwin KK, Zettsu K, Sugiura K. 2015. Geovisualization and correlation analysis between geotagged twitter and JMA rainfall data: case of heavy rain disaster in hiroshima. Di dalam: 2015 2nd IEEE International Conference on Spatial Data Mining and Geographical Knowledge Services (ICSDM); 2015 Jul 8-10; Fuzhou. Cina. Kyoto (JP): IEEE. hlm 71-76. Nazief BAA, Adriani M. 1996. Con_xstripping: approach to stemming algorithm for Bahasa Indonesia. ACM Transactions on Asian Language Information Processing (TALIP). 6(4): 1-33.
21
Tala FZ. 2003. A study of stemming effects on information retrieval in Bahasa Indonesia [tesis]. Amsterdam (NL): Universiteit van Amsterdam. Tan PN, Steinbach M, Kumar V. 2006. Introduction to Data Mining. Ed ke-1. Boston (US): Pearson, Addison-Wesley. Weiss S, Indurkhya N, Zhang T, Damerau F. 2005. Text Mining: Predictive Methods for Analyzing Unstructured Information. New York (US): Springer.
22
Lampiran 1 Rules yang masih redundan No
Aturan
Support
Confidence
Lift
1
{perdagangan.besar=ADA} => {asap=ADA}
0.513
0.909
1.019
2
{Jasa=ADA} => {asap=ADA}
0.496
0.898
1.007
3
{Jumlah.Sekolah=Sedikit Sekali} => {asap=ADA}
0.488
0.896
1.004
4
{perdagangan.besar=ADA} => {lawan=ADA}
0.471
0.836
1.034
5
{Jasa=ADA} => {lawan=ADA}
0.452
0.819
1.013
6
{Jumlah.Sekolah=Sedikit Sekali} => {lawan=ADA}
0.440
0.808
0.999
7
{Kebakaran=ADA} => {asap=ADA}
0.282
0.895
1.004
8
{Perkebunan=ADA} => {asap=ADA}
0.281
0.873
0.978
9
{Kebakaran=ADA} => {lawan=ADA}
0.254
0.805
0.996
10
{jumlah.kebakaran.2013=Sedikit} => {asap=ADA}
0.227
0.907
1.017
11
{Jumlah.Sekolah=Sedikit} => {asap=ADA}
0.214
0.876
0.983
12
{jumlah.kebakaran.2012=Sedikit} => {asap=ADA}
0.212
0.897
1.005
13
{jumlah.kebakaran.2013=Sedikit} => {lawan=ADA}
0.206
0.823
1.018
14
{jumlah.kebakaran.2011=Sedikit} => {asap=ADA}
0.201
0.919
1.031
15
{jumlah.kebakaran.2012=Sedikit} => {lawan=ADA}
0.193
0.815
1.008
16
{jumlah.kebakaran.2011=Sedikit} => {lawan=ADA}
0.184
0.842
1.041
17
{lokasi=Senapelan} => {asap=ADA}
0.161
0.916
1.027
18
{lokasi=Senapelan} => {lawan=ADA}
0.144
0.819
1.013
19
0.144
0.988
6.875
0.144
0.888
6.175
0.144
0.888
6.175
22
{Jumlah.Sekolah=Banyak} => {lokasi=Tampan} {perdagangan.besar=ADA,jumlah.kebakaran.2011=Sedikit} => {lokasi=Tampan} {perdagangan.besar=ADA,jumlah.kebakaran.2012=Sedikit} => {lokasi=Tampan} {perdagangan.besar=ADA,jumlah.kebakaran.2013=Sedikit} => {lokasi=Tampan}
0.144
0.888
6.175
23
{Jumlah.Sekolah=Banyak} => {asap=ADA}
0.133
0.914
1.025
24
{lokasi=Tampan} => {asap=ADA}
0.131
0.913
1.024
25
{Jumlah.Sekolah=Banyak} => {lawan=ADA}
0.122
0.836
1.034
26
{lokasi=Tampan} => {lawan=ADA}
0.120
0.834
1.032
27
{lokasi=Rumbai} => {asap=ADA}
0.110
0.890
0.998
28
{lokasi=Rumbai} => {lawan=ADA}
0.102
0.826
1.021
20 21
23
Lampiran 2 Source code Python untuk mengambil data tweet import time.datetime from selenium import webdriver from selenium.webdriver.common.keys import Keys #Open session to write outputFile = open("output.csv". "w+") outputFile.write('username;date;time;text;tweetID;placeID\n') #Open webdriver Chrome #Use location to your chromedriver.exe browser = webdriver.Chrome("C:/Program Files/chromedriver.exe #search url browser.get("https://twitter.com/search?f=tweets&vertical=default&q=%20 %23SBMPTN2016%20since%3A2016-05-30%20until%3A2016-0601&src=typd") time.sleep(1) elem = browser.find_element_by_tag_name("body") #Scroll value scroll = 2000 while scroll: elem.send_keys(Keys.PAGE_DOWN) time.sleep(0.2) scroll-=1 #tweet_contents = browser.find_elements_by_css_selector("div > div.content") tweet_contents = browser.find_elements_by_class_name("js-stream-tweet") for tweet in tweet_contents: #Tweet text text=tweet.find_element_by_css_selector("div.js-tweet-text-container >p").text.replace('\n'.' ').encode('ascii'. 'ignore') #Username username = tweet.find_element_by_css_selector("div.stream-item-header > a > span.username.js-action-profile-name > b").text.encode('ascii'. 'ignore') #Date of tweet dateInt = int(tweet.find_element_by_css_selector("div.stream-item-header > small > a > span").get_attribute('data-time')) dateFormat = datetime.datetime.fromtimestamp(dateInt)
24
Lampiran 2 Lanjutan #Place ID if len(tweet.find_elements_by_class_name("Tweet-geo")) > 0: placeID = tweet.find_element_by_css_selector("div.stream-item-header > span > a").get_attribute('data-place-id') else: placeID = '' #Tweet ID tweetID = tweet.get_attribute("data-tweet-id") outputFile.write('%s;%s;%s;%s;%s;%s\n'%(username.dateFormat.strftime(" %Y-%m-%d").dateFormat.strftime("%H:%M"). text. tweetID. placeID)) #%s
25
Lampiran 3 Daftar kata baku yang ditambahkan pada penelitian ini No Kata sebelum normalisasi Kata sesudah normalisasi 1 acau kacau 2 adlh adalah 3 agaknye sepertinya 4 ajh saja 5 akn akan 6 alhandulillah alhamdulillah 7 Allh allah 8 amiin aamiin 9 amin aamiin 10 and dan 11 apakh apakah 12 asaap asap 13 asap asap 14 asapp asap 15 asapriau asap riau 16 at di 17 atass atas 18 brterimakasihlh berterima kasihlah 19 bukak buka 20 canteknya cantiknya 21 ceyamat selamat 22 ciee cie 23 ciiee cie 24 cilaka celaka 25 d di 26 home rumah 27 hutanriau hutan riau 28 indonesianforestfires indonesian forest fires 29 k ke 30 kebakaranhutan kebakaran hutan 31 kebakaranriau kebakaran riau 32 melawanasap melawan asap 33 mnghadapi menghadapi 34 neger negeri 35 prayforriau pray for riau 36 saveriau save riau 37 with dengan
26
Lampiran 4 Daftar kata stopword yang ditambahkan pada penelitian ini 1 pic 2 bro 3 lho 4 nya 5 sih 6 the 7 this 8 pict 9 ya 10 abdul 11 abg 12 akh 13 ase 14 cbs 15 cdf 16 cha 17 cie
27
RIWAYAT HIDUP Penulis dilahirkan di Rangkasbitung pada tanggal 30 Desember 1994. Penulis adalah anak kedua dari Muhammad Ishom Setyawan dan Rita Rosnia. Penulis telah lulus dari SMA Negeri 2 Bogor pada tahun 2012, kemudian melanjutkan pendidikan di perguruan tinggi Institut Pertanian Bogor, Fakultas Matematika dan Ilmu Pengetahuan Alam, Departemen Ilmu Komputer dari tahun 2012 hingga 2016. Pada bulan Juni-Agustus 2015, penulis telah melaksanakan Praktik Kerja Lapang di Direktorat Jenderal Imigrasi Kementerian Hukum dan HAM di Jakarta. Bidang kajian yang dikerjakan selama PKL adalah Aplikasi Buku Tamu Elektronik Direktorat Jenderal Imigrasi dan Tata Naskah Dinas Elektronik Direktorat Sistem dan Teknologi Informasi Keimigrasian.