SENTIMENT ANALYSIS PADA TEKS BAHASA INDONESIA MENGGUNAKAN SUPPORT VECTOR MACHINE (SVM) DAN K-NEAREST NEIGHBOR (K-NN)
TESIS
SYAHFITRI KARTIKA LIDYA 127038007
PROGRAM STUDI MAGISTER (S-2) TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014
Universitas Sumatera Utara
SENTIMENT ANALYSIS PADA TEKS BAHASA INDONESIA MENGGUNAKAN SUPPORT VECTOR MACHINE (SVM) DAN K-NEAREST NEIGHBOR (K-NN)
TESIS
Diajukan sebagai salah satu syarat untuk memperoleh ijazah Magister (S-2) Teknik Informatika
Syahfitri Kartika Lidya 127038007
PROGRAM STUDI MAGISTER (S-2) TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014
Universitas Sumatera Utara
PERSETUJUAN
Judul Tesis
: SENTIMENT ANALYSIS PADA TEKS BAHASA INDONESIA MENGGUNAKAN SUPPORT VECTOR MACHINE (SVM) DAN K-NEAREST NEIGHBOR (K-NN)
Kategori
: TESIS
Nama Mahasiswa
: SYAHFITRI KARTIKA LIDYA
Nomor Induk Mahasiswa
: 127038007
Program Studi
: MAGISTER (S-2) TEKNIK INFORMATIKA
Fakultas
: ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing
:
Pembimbing 2,
Pembimbing 1,
Dr. Syahril Efendi, S.Si M.IT NIP. 19671110 199602 1 001
Prof. Dr. Opim Salim Sitompul, M.Sc NIP. 19610817 198701 1 001
Diketahui/Disetujui Oleh, Program Studi Magister (S-2) Teknik Informatika, Ketua,
Prof. Dr. Muhammad Zarlis NIP. 19570701 198601 1 003
Universitas Sumatera Utara
PERNYATAAN
SENTIMENT ANALYSIS PADA TEKS BAHASA INDONESIA MENGGUNAKAN SUPPORT VECTOR MACHINE (SVM) DAN K-NEAREST NEIGHBOR (K-NN)
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 21 Agustus 2014
Syahfitri Kartika Lidya 127038007
Universitas Sumatera Utara
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademika Universitas Sumatera Utara, Saya yang bertanda tangan di bawah ini :
Nama
: Syahfitri Kartika Lidya
NIM
: 127038007
Program Studi
: Magister (S-2) Teknik Informatika
Jenis Karya Ilmiah
: Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas Tesis Saya yang berjudul.
SENTIMENT ANALYSIS PADA TEKS BAHASA INDONESIA MENGGUNAKAN SUPPORT VECTOR MACHINE (SVM) DAN K-NEAREST NEIGHBOR (K-NN) Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, menformat, mengelola, dalam bentuk database, merawat, dan mempublikasikan Tesis Saya tanpa meminta izin dari Saya selama tetap mencantumkan nama Saya sebagai penulis dan sebagai pemegang dan atau sebagai pemilik hak cipta.
Demikian Pernyataan ini dibuat dengan sebenarnya.
Medan, 21 Agustus 2014
Syahfitri Kartika Lidya 127038007
Universitas Sumatera Utara
Telah diuji pada Tanggal : 21 Agustus 2014
PANITIA PENGUJI TESIS Ketua
:
Prof. Dr. Opim Salim Sitompul, M.Sc
Anggota
:
1. Dr. Syahril Efendi, S.Si M.IT 2. Prof. Dr. Muhammad Zarlis 3. Dr. Erna Budhiarti Nababan, M.IT 4. Dr. Benny Benyamin Nasution, Dipl. Ing., M. Eng
Universitas Sumatera Utara
RIWAYAT HIDUP
DATA PRIBADI Nama lengkap berikut gelar
: Syahfitri Kartika Lidya, S.TI
Tempat dan Tanggal Lahir
: Medan, 21 April 1991
Alamat Rumah
: Jl. Denai, Jermal IV No. 15
Telepon / HP
: 082167512054
Email
:
[email protected]
DATA PENDIDIKAN SD
: SD Negeri No.091644 Bah Lias
Tamat
: 2000
SMP
: SMP Negeri 1 Bandar
Tamat
: 2006
SMA
: SMA Negeri 3 Medan
Tamat
: 2008
Strata-1
: Teknologi Informasi USU
Tamat
: 2012
Strata-2
: Teknik Informatika USU
Tamat
: 2014
Universitas Sumatera Utara
UCAPAN TERIMA KASIH
Puji syukur saya panjatkan kehadirat Allah SWT, yang telah memberikan rahmat dan hidayah-Nya serta segala sesuatunya dalam hidup, sehingga saya dapat menyelesaikan penyusunan Tesis ini, sebagai syarat untuk memperoleh ijazah Magister Teknik Informatika, Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Dalam pengerjaan Tesis ini penulis banyak sekali mendapatkan dukungan, saran, dan nasehat dari berbagai pihak. Dalam kesempatan ini penulis mengucapkan terima kasih kepada: Bapak Prof. Dr. Opim Salim Sitompul, M.Sc, selaku Dosen Pembimbing I, yang telah bersedia meluangkan waktu dan pikirannya dalam membimbing, memotivasi untuk menyelesaikan Tesis ini. Bapak Dr. Syahril Efendi, S.Si M.IT, selaku Dosen Pembimbing II, yang telah bersedia meluangkan waktu dan pikirannya dalam menyelesaikan Tesis ini, Ucapan terima kasih juga ditujukan kepada Dosen Pembanding Bapak Prof. Dr. Muhammad Zarlis, Ibu Dr. Erna Budhiarti Nababan M.IT, dan Bapak Dr. Benny Benyamin Nasution Dipl. Ing., M. Eng, kemudian ucapan terima kasih untuk Ketua Program Studi Magister Teknik Informatika Bapak Prof. Dr. Muhammad Zarlis dan Sekretaris Program Studi Magister Teknik Informatika Bapak M. Andri Budiman, ST, McompSc, MEM. Serta kepada dosen-dosen Program Studi Magister Teknik Informatika dan pegawai di Program Studi Magister Teknik Informatika, khususnya kak Widya, kak Ines, kak Maya dan bang Ewin yang telah membantu kelancaran proses administrasi. Segala hormat dan terima kasih secara khusus penulis ucapkan kepada ayahanda Yonnes Hasan dan Ibunda Nova Mustika atas motivasi, kasih sayang, dan dukungan baik secara materi maupun do‟a yang tak pernah putus yang diberikan kepada penulis, tak lupa kepada adik-adik tersayang Vayon Rachmat Ramadhan dan Sabilla Afiya, serta tante dan Om tersayang Julia Reveny, Imsyah Satari, Julia Maulina, Imsyahrial yang telah memberi motivasi dan nasehat serta nenek Syahiar tersayang yang selalu mendoakan. Tidak lupa kepada seluruh sahabat penulis Stambuk 2012 Kom A yang selalu berusaha menjadi sahabat terbaik khususnya kak Ananda, bg Johanes, bg bambang, kak Mawadda dan seluruh Stambuk 2012, kemudian orang terdekat yang selalu disayang, yang selalu memberi motivasi dan nasehat khususnya Karina Ayesha, Alfarisi, Karina Andi, Bowo, Ishri, Cahya, Dika, Mauza, Khalil. Penulis berharap bahwa Tesis ini bermanfaat terutama kepada penulis maupun para pembaca. Saya menyadari bahwa Tesis ini perlu saran dan kritik yang bersifat membangun demi kesempurnaan Tesis ini sehingga dapat bermanfaat bagi kita semua. Sekali lagi saya ucapkan terima kasih atas segalanya. Semoga segala kebaikan diberikan balasan yang setimpal oleh Allah SWT. Medan, 21 Agustus 2014
Syahfitri Kartika Lidya 127038007
Universitas Sumatera Utara
ABSTRAK
Analisis Sentimen adalah proses menganalisis, memahami, dan mengklasifikasi pendapat, evaluasi, penilaian, sikap, dan emosi terhadap suatu entitas seperti produk, jasa, organisasi, individu, peristiwa, topik, secara otomatis untuk mendapatkan informasi. Penelitian ini menggunakan teks Bahasa Indonesia yang terdapat di website berupa artikel berita, kemudian metode K-Nearest Neighbor akan mengklasifikasi secara langsung pada data pembelajaran agar dapat menentukan model yang akan dibentuk oleh metode Support Vector Machine untuk menentukan kategori dari data baru yang ingin ditentukan kategori tekstual, yaitu kelas sentimen positif, negatif dan netral. Berdasarkan seluruh hasil pengujian, bahwa pengaruh nilai k pada k-fold cross validation yang terlalu kecil menghasilkan akurasi yang rendah, sedangkan nilai k yang terlalu besar menghasilkan nilai akurasi yang besar, kemudian Pengaruh nilai k pada K-NN terhadap akurasi, jika n memiliki akurasi rendah pada saat nilai k kecil. Hal ini dikarenakan, data yang masuk pada k tetangga terdekat terlalu sedikit dan belum bisa merepresentasikan kelas pada data uji.
Kata kunci : Sentiment Analysis, Support Vector Machine, K-Nearest Neighbor
Universitas Sumatera Utara
SENTIMENT ANALYSIS USING SUPPORT VECTOR MACHINE (SVM) AND K-NEAREST NEIGHBOR (K-NN) ON INDONESIAN TEXT
ABSTRACT
Sentiment analysis is the process of analyzing, understanding, and classifying opinions, evaluation, assessment, attitudes, and emotions to an entity such as products, services, organizations, individuals, events, topics, automatically to obtain the information. This study uses Indonesian text contained in the website in the form of news articles, then the K-Nearest Neighbor method will classify directly to the learning data in order to determine the model that will be established by the Support Vector Machine method for determining the category of the new data to be determined categories of textual, the class of sentiment is positive, negative and neutral. Based on the test results, that influence the value of k in the k-fold cross validation is too small resulting in low accuracy, while too large values of k produce great accuracy value, then the value of k on the Influence of K-NN to accuracy, if n has an accuracy low when the value of k is small. This is because, the incoming data on the k nearest neighbor too little and can not represent a class on test data.
Keyword : Sentiment Analysis, Support Vector Machine, K-Nearest Neighbor
Universitas Sumatera Utara
DAFTAR ISI
Halaman HALAMAN JUDUL PERSETUJUAN PERNYATAAN ORISINALITAS PERSETUJUAN PUBLIKASI PANITIA PENGUJI RIWAYAT HIDUP UCAPAN TERIMA KASIH ABSTRAK ABSTRACT DAFTAR ISI DAFTAR TABEL DAFTAR GAMBAR
i ii iii iv v vi vii viii ix x xii xiii
BAB 1 PENDAHULUAN 1.1. Latar Belakang 1.2. Rumusan Masalah 1.3. Batasan Masalah 1.4. Tujuan Penelitian 1.5. Manfaat Penelitian
1 1 2 2 3 3
BAB 2 LANDASAN TEORI 2.1. Text Mining 2.2. Sentiment Analysis 2.3. Support Vector Machine (SVM) 2.3.1. Konsep Support Vector Machine (SVM) 2.3.2. Klasifikasi Data Linear Separable 2.3.3. Klasifikasi Data Linear Non-Separable 2.3.4. Klasifikasi Data Non-Linear 2.3.5. Metode Kernel 2.3.6. Algoritma SVM untuk Menganalisis Dokumen Web 2.3.7. Karakterisitik Support Vector Machine (SVM) 2.3.8. Kelebihan Support Vector Machine (SVM) 2.3.9. Kelemahan Support Vector Machine (SVM) 2.4. K-Nearest Neighbor (K-NN) 2.4.1. Konsep K-Nearest Neighbor (K-NN) 2.4.2. Algoritma K-NN untuk Menganalisis Dokumen Web 2.4.3. Kelebihan K-Nearest Neighbor (K-NN) 2.4.4. Kelemahan K-Nearest Neighbor (K-NN) 2.5. K-Fold Cross Validation 2.6. Riset Terkait 2.7. Perbedaan dengan Riset yang lain 2.8. Kontribusi Riset
4 4 6 11 11 13 14 14 15 17 18 19 19 20 20 23 23 23 23 25 26 26
Universitas Sumatera Utara
BAB 3 METODOLOGI PENELITIAN 3.1. Identifikasi Masalah 3.2. Proses Analisis Sentimen pada Dokumen 3.3. Pengumpulan Data 3.4. Pre-Processing 3.4.1. Cleaning 3.4.2. Case Folding 3.5. Ekstraksi Fitur 3.5.1. Tokenization 3.5.2. Stopwords Removing 3.5.3. Stemming 3.6. Pembobotan Term 3.7. Pembelajaran dan Analisis 3.7.1. Rancangan Analisis Dokumen dengan K-NN 3.7.2. Rancangan Analisis Dokumen dengan SVM 3.8. Validasi dengan K-Fold Cross Validation
27 27 27 28 29 29 30 30 30 31 32 33 36 36 41 45
BAB 4 HASIL DAN PEMBAHASAN 4.1. Tentang Penelitian 4.2. Implementasi Metode K-NN dan Support Vector Machine 4.2.1. Persiapan Data 4.2.2. Proses Analisis 4.2.3. Antar Muka Sistem 4.3. Hasil dan Pembahasan Percobaan 4.3.1. Hasil dan Pembahasan Percobaan dengan Metode K-NN dan SVM untuk data Berbahasa Indonesia 4.3.2 Pengaruh Pemilihan Nilai K pada K-NN 4.3.3 Akurasi K-Fold Cross Validation
47 47 48 48 48 49 52 52 65 66
BAB 5 KESIMPULAN DAN SARAN 5.1. Kesimpulan 5.2. Saran
69 69 70
DAFTAR PUSTAKA
71
LAMPIRAN
74
Universitas Sumatera Utara
DAFTAR TABEL
Halaman Tabel 2.1. Tabel 2.2. Tabel 2.3. Tabel 2.4. Tabel 3.1. Tabel 3.2. Tabel 3.3. Tabel 3.3. Tabel 4.1. Tabel 4.2. Tabel 4.3. Tabel 4.4. Tabel 4.5. Tabel 4.6. Tabel 4.7. Tabel 4.8. Tabel 4.9. Tabel 4.10. Tabel 4.11. Tabel 4.12. Tabel 4.13. Tabel 4.14.
Daftar Prefiks yang Meluluh Daftar Kemungkinan Perubahan Prefiks Daftar Kombinasi Prefiks dan Sufiks yang Tidak Diperbolehkan Rangkuman Penelitian Sentiment Analysis Sebelumnya Jumlah Frekuensi tiap Term Bobot Term Hitung Perkalian Skalar Hitung Panjang Vektor Spesifikasi Perangkat Keras Kata Positif pada Dokumen Positif Kata Negatif pada Dokumen Positif Kata Positif pada Dokumen Negatif Kata Negatif pada Dokumen Negatif Kata Positif pada Dokumen Netral Kata Negatif pada Dokumen Netral Persentase (%) Analisis Sentimen K-NN Jumlah Dokumen Hasil Analisis Sentimen K-NN Akurasi dan Waktu Proses K-NN dalam Menganalisis Sentimen Persentase (%) Analisis Sentimen SVM Jumlah Dokumen Hasil Analisis Sentimen K-NN Akurasi dan Waktu Proses SVM dalam Menganalisis Sentimen Hasil Rata-rata Semua Fold Cross Validation pada SVM dan K-NN Terhadap Akurasi
9 9 10 25 35 35 39 40 47 53 54 56 56 59 59 61 61 61 62 62 63 67
Universitas Sumatera Utara
DAFTAR GAMBAR
Halaman Gambar 2.1. Gambar 2.2. Gambar 2.3. Gambar 2.4. Gambar 2.5. Gambar 2.6. Gambar 3.1. Gambar 3.2. Gambar 3.3. Gambar 3.4. Gambar 3.5. Gambar 3.6. Gambar 3.7. Gambar 3.8. Gambar 3.9. Gambar 3.10. Gambar 3.11. Gambar 3.12. Gambar 3.13. Gambar 3.14. Gambar 3.15. Gambar 4.1. Gambar 4.2. Gambar 4.3. Gambar 4.4. Gambar 4.5. Gambar 4.6. Gambar 4.7. Gambar 4.8. Gambar 4.9. Gambar 4.10. Gambar 4.11. Gambar 4.12.
Hyperplane (Bidang Pemisah) Transformasi dari vektor input ke feature space Suatu Kernel map mengubah problem yang tidak linier menjadi Linier dalam space baru Ilustrasi Data dipisahkan dalam kasus XOR Delapan titik dalam satu dimensi dan estimasi densitas K-NN dengan k=3 dan k=5 K-NN mengestimasi densitas dua dimensi dengan k=5 Proses Analisis Sentimen Pseudocode Crawling Pseudocode Cleaning Pseudocode Case Folding Pseudocode Tokenization Pseudocode Stopwords Removing Pseudocode Stemming Term Documents Matrix Pseudocode Pembobotan Term Diagram Alir K-NN Pseudocode Analisis Menggunakan K-NN Diagram Alir SVM Pseudocode Analisis Menggunakan SVM Fungsi Pemisah antara Dokumen Relevan dan Tidak Relevan Pseudocode K-Fold Cross Validation Tampilan Beranda Tampilan Sub Menu “Kelola Data” Tampilan Menu “Tambah” Tampilan Sub Menu “Analisis Sentimen” Dokumen Positif Dokumen Negatif Dokumen Netral Jumlah Dokumen Positif, Negatif dan Netral Hasil Analisis Sentimen Akurasi Rata-Rata K-NN dan SVM dalam Menganalisis Sentimen Waktu Rata-Rata K-NN dan SVM Menganalisis Sentimen Pengaruh Nilai k pada K-NN terhadap Akurasi Hasil Pengujian Konfigurasi Niilai k pada K-Fold Cross Validation Berdasarkan Hasil Rata-Rata Akurasi
14 15 16 18 22 22 27 28 29 30 30 31 32 33 34 37 38 42 44 45 46 49 50 50 51 53 54 55 59 59 60 61 63
Universitas Sumatera Utara
Universitas Sumatera Utara