KLASIFIKASI ENTERTAINER BERDASARKAN TWEET MENGGUNAKAN METODE SCORING BERBASIS LEXICON BASED TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Disusun Oleh : Hilal Pratama 201010370311196 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2015
KATA PENGANTAR Puji dan syukur penulis panjatkan kehadirat Allah SWT atas limpahan rahmat serta karunia-nya sehingga penulis dapat menyelesaikan tugas akhir dengan baik dan lancar. Judul dari tugas akhir ini adalah : KLASIFIKASI ENTERTAINER BERDASARKAN TWEET MENGGUNAKAN METODE SCORING BERBASIS LEXICON BASED. Penulisan laporan tugas akhir ini bertujuan sebagai persyaratan guna memperoleh gelar sarjana komputer dan syarat kelulusan bagi mahasiswa Teknik Informatika Universitas Muhammadiyah Malang. Di dalam tulisan ini disajikan pokok-pokok bahasan yang meliputi pendahuluan, dasar teori, perancangan sistem, pengujian, analisa sistem dan kesimpulan. Pada dasarnya penulis menyadari bahwa dalam tugas akhir ini masih banyak kekurangan dan keterbatasan. Oleh karena itu penulis mengharapkan saran yang dapat membangun agar tulisan ini bermanfaat bagi perkembangan ilmu pengetahuan kedepan. Malang, 06 Januari 2015 Penulis viii
DAFTAR ISI HALAMAN JUDUL LEMBAR PERSETUJUAN... LEMBAR PENGESAHAN... LEMBAR PERNYATAAN... ABSTRAK... ABSTRACT... LEMBAR PERSEMBAHAN... KATA PENGANTAR... DAFTAR ISI... DAFTAR GAMBAR... DAFTAR TABEL... i ii iii iv v vi viii ix xii xiv BAB I PENDAHULUAN 1.1. Latar Belakang... 1 1.2. Rumusan Masalah... 2 1.3. Tujuan... 2 1.4. Batasan Masalah... 2 1.5. Metode Penelitian... 3 1.6. Sistematika Penulisan... 4 BAB II LANDASAN TEORI 2.1 Twitter dan Twitter API... 5 2.2 Sentiment Analysis... 6 2.3 Lexicon... 7 2.4 Text Mining... 7 BAB III ANALISA DAN PERANCANGAN SISTEM 3.1 Analisa Sistem... 9 3.2 Analisa Data... 10 3.3 Software dan Hardware yang Digunakan... 11 ix
3.4 Desain Arsitektur Sistem... 11 3.4.1 Crawling... 12 3.4.2 Proses Membangun Lexicon... 13 3.4.2 Preprocessing... 14 3.5 Rancang Klasifikasi... 15 3.5.1 Klasifikasi Tweet Menggunakan Metode Lexicon Based... 15 3.5.2 Klasifikasi Entertainer Berdasarkan Score... 16 3.5.3 Perangkingan Entertainer... 17 3.6 Perancangan Sistem... 17 3.6.1 Use case... 17 3.6.2 Activity Diagram... 19 3.7.2.1 Activity Diagram Klasifikasi Tweet... 20 3.7.2.2 Activity Diagram Klasifikasi Entertainer... 21 3.7 Rancang Desain Interface Sistem... 22 3.7.1 Rancang Interface Menu Utama... 22 3.7.2 Rancang Interface Menu Crawling... 23 3.7.3 Rancang Interface Menu Bangun Lexicon... 23 3.7.4 Rancang Interface Menu Data Klasifikasi... 24 BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Impelementasi Software dan Hardware... 25 4.2 Implementasi Sistem... 25 4.2.1 Registrasi Twitter Developer... 26 4.2.2 Proses Crawling Tweet... 27 4.2.3 Proses Membangun Lexicon... 30 4.2.4 Proses Klasifikasi Tweet... 30 4.2.5 Proses Klasfikasi Entertainer... 36 4.2.6 Proses Perangkingan... 37 4.2.7 Proses Tampil Grafik Score... 39 4.2.8 Proses Koneksi... 39 4.2.9 Struktur Database... 40 x
4.3 Pengujian Sistem... 40 4.3.1 Pengujian Fungsionalitas... 40 4.3.1.1 Interface Menu Utama... 41 4.3.1.2 Interface Menu Crawling... 41 4.3.1.1 Interface Bangun Lexicon... 42 4.3.1.2 Interface Menu Data Klasifikasi... 43 4.3.2. Pengujian Keberhasilan Klasifikasi Tweet... 45 BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan... 57 5.2 Saran... 58 DAFTAR PUSTAKA... 59 LAMPIRAN xi
DAFTAR GAMBAR Gambar 3.1 Desain Arsitektur Sistem... 12 Gambar 3.2 Use case Diagram... 17 Gambar 3.3 Activity Diagram Klasifikasi Tweet... 20 Gambar 3.4 Activity Diagram Klasifikasi Entertainer... 21 Gambar 3.5 Rancangan Interface Menu Utama... 22 Gambar 3.6 Rancangan Interface Menu Crawling... 23 Gambar 3.7 Rancangan Interface Menu Bangun Lexicon... 23 Gambar 3.8 Rancangan Interface Menu Data Klasifikasi... 24 Gambar 4.1 Halaman Create An Application pada dev.twitter... 26 Gambar 4.2 Halaman Application Settings pada dev.twitter... 27 Gambar 4.3 Library yang Digunakan Dalam Sistem... 28 Gambar 4.4 Key dan Token Dimasukkan ke Dalam Source Sode... 28 Gambar 4.5 Source Code Crawling Tweet... 29 Gambar 4.6 Merubah File Hasil Crawling ke Dalam Database... 29 Gambar 4.7 Menghapus Alamat URL... 30 Gambar 4.8 Input Kata Sentiment ke Dalam Lexicon... 30 Gambar 4.9 Case Folding... 31 Gambar 4.10 Cleansing... 31 Gambar 4.11 Tokenizing... 31 Gambar 4.12 Replacement... 32 Gambar 4.13 Stopword Removal... 32 Gambar 4.14 Cek Kata pada Lexicon Positif... 33 Gambar 4.15 Menghitung Jumlah Kemunculan Nilai Kata Sentiment Positif. 34 Gambar 4.16 Cek Kata pada Lexicon Negatif... 35 Gambar 4.17 Menghitung Jumlah Kemunculan Nilai Kata Sentiment Negatif. 35 Gambar 4.18 Klasifikasi Tweet... 36 Gambar 4.19 Hitung Score... 36 Gambar 4.20 Hitung Selisih Score... 37 Gambar 4.21 Klasifikasi Entertainer... 37 Gambar 4.22 Menampilkan Rangking Positif... 38 xii
Gambar 4.23 Menampilkan Rangking Negatif... 38 Gambar 4.24 Menampilkan Grafik Score... 39 Gambar 4.25 Koneksi Database... 39 Gambar 4.26 Struktur Database... 40 Gambar 4.27 Hasil Interface Menu Utama... 41 Gambar 4.28 Hasil Interface Menu Crawling... 42 Gambar 4.29 Hasil Interface Bangun Lexicon... 42 Gambar 4.30 Hasil Interface Menu Data Klasfikasi... 43 Gambar 4.31 Grafik Rangking Positif... 44 Gambar 4.32 Grafik Rangking Negatif... 45 Gambar 4.33 Grafik Score... 45 xiii
DAFTAR TABEL Tabel 3.1 Skenario Klasifikasi Entertainer... 18 Tabel 3.2 Skenario Klasifikasi Tweet... 19 Tabel 4.1 Implementasi Software... 25 Tabel 4.2 Implementasi Hardware... 25 Tabel 4.3 Fungsionalitas Menu Utama... 41 Tabel 4.4 Fungsionalitas Menu Crawling... 42 Tabel 4.5 Fungsionalitas Bangun Lexicon... 43 Tabel 4.6 Fungsionalitas Menu Data Klasifikasi... 43 Tabel 4.7 Presentase Jumlah Lexicon... 46 Tabel 4.8 Hasil Klasifikasi Tweet... 46 Tabel 4.9 Confusion Matrix... 50 Tabel 4.10 Hasil Klasifikasi Tweet Tanpa Preprocessing... 52 xiv
DAFTAR PUSTAKA [1] Anonim. Media Sosial. http://id.wikipedia.org/wiki/media_sosial. (diakses tanggal 19 Desember 2014) [2] Putranggalih,Verly,Benartha dan Wahyu Suadi.2011. Implementasi Fitur Fitur Social Network Berbasis Dekstop Client Dengan Menggunakan Twitter Dan Facebook API. Fakultas Teknologi Informasi. Institut Teknologi Sepuluh Nopember. [3] Liu, Bing.2012.Sentiment Analysis and Opinion Mining: Morgan Claypool Publisher. [4] Sarawasti,Sumartini, Ni Wayan.2011. Text Mining Dengan Metode Naïve Bayes Classifier Dan Support Vector Machines Untuk Sentiment Analysis.Program Pascasarjana.Universitas Udayana.Denpasar. [5] Anonim. http://digilib.tes.telkomuniversity.ac.id/.(diakses tanggal 17 Desember 2014 ). [6] Anonim. Code Examples. http://twitter4j.org/en/code-examples.html. (diakses tanggal 30 November 2014). [7] Anonim. Using advanced search. https://support.twitter.com/articles/71577- how-to-use-advanced-twittersearch. (diakses tanggal 30 November 2014). [8] Anonim. Main. http://twitter4j.org/en/index.html. (diakses tanggal 30 November 2014). 59
[9] Anonim. How to retrieve more than 100 results using Twitter4j. http://stackoverflow.com/questions/18800610/how-to-retrieve-more-than- 100-results- using-twitter4j. (diakses tanggal 31 November 2014). [10] Indrajani dan Martin.2004. Pemrograman Berorientasi Objek dengan JAVA:Penerbit PT ELex Media Komputindo. [11] Sugiri dan Haris Saputro.2008.Pengelolaan Database MySQL dengan PhpMyAdmin.Baturaja:GRAHA ILMU. [12] Radityasari,Sakti,Nina.2013. Implementasi Algoritma Naïve Bayes Untuk Klasifikasi Opini Pada Jejaring Sosial Twitter. Universitas Muhammadiyah Malang. [13] Suharto,Yaqin,Suharto. 2014. Opinion Mining Terhadap Elektibilitas Calon Presiden Indonesia pada Media Sosial Twitter dengan Metode Berbasis Lexicon dan Algoritma Naïve Bayes Classifier. Universitas Muhammadiyah Malang. [14] Churriyah, Billadil, Mudliatul. 2014. DETEKSI DAERAH RAWAN KECELAKAAN LALU LINTAS BERDASARKAN TWEET MENGGUNAKAN NAMED ENTITY RECOGNITION (NER). Universitas Muhammadiyah Malang. 60