ANALISIS SENTIMEN BERDASARKAN KALIMAT BERBAHASA INDONESIA PADA KOLOM KOMENTAR INSTAGRAM
MENGGUNAKAN ALGORITMA HARN
TUGAS AKHIR
Fitriah Febriani 1132001014
PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS BAKRIE JAKARTA
ANALISIS SENTIMEN BERDASARKAN KALIMAT BERBAHASA INDONESIA PADA KOLOM KOMENTAR INSTAGRAM
MENGGUNAKAN ALGORITMA HARN
TUGAS AKHIR
Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
Fitriah Febriani 1132001014
PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS BAKRIE JAKARTA
i HALAMAN PERNYATAAN ORISINALITAS
Tugas akhir ini adalah hasil karya saya sendiri, dan semua sumber baik yang dikutip maupun dirujuk telah
saya nyatakan benar.
Nama : Fitriah Febriani
NIM : 1132001014
Tanda Tangan :
ii HALAMAN PENGESAHAN
Tugas Akhir ini diajukan oleh:
Nama : Fitriah Febriani
NIM : 1132001014
Program Studi : Informatika
Fakultas : Teknik dan Ilmu Komputer
Judul Skripsi : Analisis Sentimen Berdasarkan Kalimat Berbahasa Indonesia pada Kolom Komentar Instagram Menggunakan Algoritma HARN Telah berhasil dipertahankan dihadapan Dewan Penguji dan diterima sebagai bagian persyaratan yang diperlukan untuk memperoleh gelar Sarjana Komputer pada Program Studi Infomatika Fakultas Teknik dan Ilmu Komputer, Universitas Bakrie.
DEWAN PENGUJI
Pembimbing : Guson P. Kuntarto, S.T., M.Sc. (...) Penguji : Prof. Dr. Hoga Saragih, S.T., M.T. (...) Penguji : Dr. Siti Rohajawati, S.Kom, M.Kom. (...) Ditetapkan di : Jakarta
iii UNGKAPAN TERIMA KASIH
Alhamdulillaahirabbil’aalamiin, puji dan syukur kehadirat Allah SWT karena berkat segala rahmat dan karunia-Nya Tugas Akhir yang berjudul “Analisis Sentimen Berdasarkan Kalimat Berbahasa Indonesia pada Kolom Komentar Instagram Menggunakan Algoritma HARN” dapat diselesaikan. Shalawat serta salam tak lupa pula peneliti hanturkan kepada Nabi Besar Muhammad SAW yang telah membimbing umatnya ke masa yang terang benderang penuh dengan cahaya iman.
Penyusunan Tugas Akhir ini tidak lepas dari berbagai kesulitan dan hambatan dari awal hingga akhir penyusunan. Penulis menyampaikan terima kasih yang sebesar-besarnya kepada dosen pembimbing Bapak Guson P. Kuntarto, S.T.,M.Sc. yang telah meluangkan waktu serta mengerahkan tenaga dan pikiran untuk membantu proses pengerjaan dan penyusunan Tugas Akhir ini. Penulis juga menyampaikan terima kasih kepada Universitas Bakrie yang telah memberikan fasilitas, beasiswa, dan dukungan yang memadai selama masa perkuliahan. Begitu banyak pihak yang turut membantu dan memberikan dukungan, masukan, nasihat serta doa selama penyusunan Tugas Akhir ini. Oleh karena itu, dengan segala hormat dan kerendahan hati, penulis ingin mengungkapkan rasa terima kasih kepada:
1. Orang tua dan keluarga yang telah banyak memberi doa, dukungan, nasihat, masukan, motivasi, dan semangat, serta selalu menjadi pengingat selama ini.
2. Bapak Prof. Dr. Hoga Saragih, S.T., M.T., selaku dosen penguji yang memberikan saran dan perbaikan dalam penelitian ini.
3. Ibu Dr. Siti Rohajawati, S.Kom., M.Kom., selaku dosen penguji yang memberikan saran dan perbaikan dalam penelitian ini.
4. Bapak Berkah I. Santoso, S.T., M.T.I., selaku dosen pembahas yang telah memberikan saran dan perbaikan dalam penelitian ini.
5. Teman-teman Informatika 2013: Amelia Fahmi, Bagus Aryo Pamungkas, Dede Mohammad Salim, Febbie Ramadhini, Fadillah Indra, Fildzah Adra Arifah, Gusti Maulana Arif, Iman Nurmansyah, Jimmy, Lilyani Barrung, Millah Fatimah, Muhammad Khalish Ramadhansyah, Ridho Gilang Fiesta, Rizky Novriyedi Putra, Yusuf Arwadi.
iv 6. Alumni Universitas Bakrie: Andi Dewi Fatmawati dan Andi Dewi Fatmarani yang sudah sangat membantu memberikan motivasi, semangat, dan berbagi ilmu selama penyusunan Tugas Akhir.
7. Teman-teman Universitas Bakrie Angkatan 2013 yang tidak bisa disebutkan satu per satu yang telah memberikan semangat selama penyusunan Tugas Akhir ini.
8. Adik-adik Informatika 2014 yang telah memberikan doa dan, dukungan, dan semangat selama masa perkuliahan dan penyusunan Tugas Akhir. 9. Seluruh pihak Program Studi Informatika yang telah memberikan ilmu dan
pembelajaran serta pengalaman yang sangat bermanfaat bagi peneliti selama perkuliahan.
10. Seluruh pihak Universitas Bakrie yang terlibat langsung maupun tidak yang telah memberikan pengalaman, bantuan, motivasi, dan fasilitas yang sangat membantu dan berharga bagi penulis.
Semoga Allah SWT membalas kebaikan dan memberikan keberkahan kepada kita. Semoga Tugas Akhir ini dapat memberikan manfaat dan berguna bagi berbagai kalangan bidang pendidikan, khususnya pada bidang Informatika.
Jakarta, 13 September 2017
v HALAMAN PERNYATAAN PERSUTUJUAN PUBLIKASI
Sebagai civitas akademik Universitas Bakrie, saya yang bertanda tangan di bawah ini:
Nama : Fitriah Febriani
NIM : 1132001014
Program Studi : Informatika
Fakultas : Teknik dan Ilmu Komputer Jenis Tugas Akhir : Implementasi Algoritma
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Bakrie Hak Bebas Royalti Noneksklusif (Non-exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul:
Analisis Sentimen Berdasarkan Kalimat Berbahasa Indonesia pada Kolom Komentar Instagram Menggunakan Algoritma HARN
Dengan Hak Bebas Royalti Noneksklusif ini Universitas Bakrie berhak menyimpan, mengalihmedia/formatkan, mengelola dalam bentuk pngkalan data (database), merawat, dan mempublikasikan tugas akhir saya selama tetap mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta untuk kepentingan akademis.
Demikian pernyataan ini saya buat dengan sebenarnya. Dibuat di : Jakarta
Pada tanggal : 13 September 2017 Yang menyatakan
vi ANALISIS SENTIMEN BERDASARKAN KALIMAT BERBAHASA
INDONESIA PADA KOLOM KOMENTAR INSTAGRAM MENGGUNAKAN ALGORITMA HARN
Fitriah Febriani
ABSTRAK
Instagram telah menyita perhatian orang-orang untuk membagikan foto, komentar, dan opini terhadap suatu produk atau acara. Pada saat ini, banyak perusahaan yang menggunakan Instagram sebagai platform digital untuk mengumpulkan informasi tentang produk yang mereka tawarkan dan berikan secara online sehingga pembelajaran tentang analisis sentimen telah menarik para peneliti untuk mengembangkan beberapa metodologi terhadap hal tersebut. Terdapat dua cara melakukan analisis sentimen yaitu dengan machine learning dan lexicon (kamus). Algoritma HARN diklasifikasikan ke dalam analisis sentimen berbasis lexicon dengan memanfaatkan Noun-Verb (NV) Dictionary. Polaritas suatu kalimat, ditentukan berdasarkan skor yang diberikan pada kata kerja dan kata sifat yang ada pada NV Dictionary. Implementasi algoritma HARN dapat dilakukan dengan tahapan yaitu Part-of-Speech (POS) tagging, menentukan polaritas menggunakan NV Dictionary jika terdapat kata benda pada suatu kalimat, dan menentukan polaritas menggunakan SentiWordNet jika tidak ada kata benda pada suatu kalimat atau kata benda pada kalimat tersebut tidak ada pada NV Dictionary. Penggunaan SentiWordNet pada algoritma HARN dapat diganti dengan metode lain, sehingga pada penelitian ini dilakukan uji coba dengan mengganti Penelitian ini berfokus pada pengimplementasian algoritma HARN dan mengevaluasi performa yang dihasilkan. Data yang diuji merupakan komentar Instagram sebanyak 300 data (150 komentar positif dan 150 komentar negatif). Selain mengimplementasikan algoritma HARN, dilakukan juga uji coba dengan mengganti SentiWordNet pada algoritma HARN menjadi VADER, selain itu juga dilakukan modifikasi pada NV Dictionary dengan menambahkan kata keterangan di dalamnya. Setelah mengimplementasikan metode-metode tersebut, dilakukan perbangingan terhadap performa yang dihasilkan. Hasil dari perbandingan tersebut adalah performa terbaik dihasilkan oleh Algoritma HARN yang telah dimodifikasi dengan menambahkan kata keterangan pada NV Dictionary dengan nilai F-measure sebesar 83%. Hal ini membuktikan bahwa algoritma HARN memiliki performa yang bagus dalam melakukan analisis sentimen berbahasa Indonesia.
Kata Kunci : Algoritma HARN, Analisis Sentimen, Polaritas, Noun-Verb (NV) Dictionary, SentiWordNet, Part-of-Speech (POS) Tagging, VADER
vii SENTIMENT ANALYSIS FOR INDONESIAN SENTENCES IN
INSTAGRAM COMMENTS USING HARN ALGORITHM Fitriah Febriani
ABSTRACT
Instagram has drawn people attention to use and share their photos, comments, and opinion toward products or events. Recently, many major companies use Instagram as a digital platform to gain information about their appereances and products online. Study about sentiment analysis has attract researcher to develop methodologies. Machine learning and lexicon-based sentiment analysis have been introduced to answer the phenomenon of sentiment analysis. HARN algorithm can be classified into lexicon-based approach that employe Noun-Verb (NV) Dictionary. Polarity of the sentence is calculated by using scores that are given by verb and noun. In implementing HARN algorithm, it is required to conduct steps: Part-of-Speech (POS) Tagging, then determine the polarity of the sentence using NV Dictionary if there are noun in the sentence, and using SentiWordNet if there are not noun in the sentence or noun in the sentence is not exist in NV Dictionary. This research focus on implementing HARN algorithm and evaluating its performance by measuring the precision, recall, and f-measure. The experiment use 300 Instagram comments (150 positive comments and 150 negative comments) as datasets. Beside implementing the HARN algortihm, this research also made some modifications by using VADER as replacement of SentiWordNet in HARN algorithm and modifiy HARN algorithm by adding adverb in NV Dictionary. After implementing each method, the performance is compared. The result shows that the best performance is given by HARN algorithm with modification by adding adverb in NV Dictionary. The f-measure of this algorithm is 83%, and it means that this algorithm is have better performace to do sentiment analysis for Indonesian sentences.
Keywords : HARN Algorithm, Sentimen Analysis, Polarity, Noun-Verb (NV) Dictionary, SentiWordNet, Part-of-Speech (POS) Tagging, VADER
ii DAFTAR ISI
HALAMAN PERNYATAAN ORISINALITAS ... i
HALAMAN PENGESAHAN ... ii
UNGKAPAN TERIMA KASIH ... iii
HALAMAN PERNYATAAN PERSUTUJUAN PUBLIKASI ... v
ABSTRAK ... vi
ABSTRACT ... vii
DAFTAR ISI ... ii
DAFTAR GAMBAR ... v
DAFTAR TABEL ... vii
DAFTAR RUMUS ... viii
DAFTAR LAMPIRAN ... ix
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 4
1.3 Ruang Lingkup Penelitian ... 4
1.4 Tujuan dan Manfaat Penelitian ... 5
1.4.1 Tujuan Penelitian ... 5
1.4.2 Manfaat Penelitian ... 5
1.5 Sistematika Penulisan ... 5
BAB II TINJAUAN PUSTAKA ... 7
2.1 Penelitian Terkait ... 7
2.2 Analisis Sentimen ... 11
2.2.1 Pengertian Analisis Sentimen ... 11
2.2.2 Tahapan Analisis Sentimen ... 11
2.2.3 Klasifikasi Analisis Sentimen ... 12
iii
2.4 Algoritma HARN ... 15
2.4.1 Part-of-Speech (POS) Tagging ... 16
2.4.2 Noun-Verb (NV) Dictionary ... 17
2.4.3 SentiWordNet ... 17
2.4.4 VADER (Valence Aware Dictionary for sEntiment Reasoning) .... 18
BAB III METODOLOGI PENELITIAN... 19
3.1 Studi Literatur ... 20
3.2 Merumuskan Tujuan Penelitian ... 21
3.3 Pengumpulan Data ... 21
3.4 Normalisasi Kalimat ... 21
3.6 Pembuatan Noun-Verb (NV) Dictionary... 24
3.7 Menentukan Polaritas ... 25
3.7.1 Menentukan Polaritas Menggunakan NV Dictionary ... 25
3.7.2 Menentukan Polaritas Menggunakan SentiWordNet ... 26
3.7.3 Menentukan Polaritas Menggunakan VADER ... 27
3.7.4 Menentukan Polaritas Hanya Menggunakan SentiWordNet ... 27
3.7.5 Menentukan Polaritas Menggunakan NV Dictionary ditambah Kata Keterangan ... 28
3.8 Pengukuran Performa ... 28
BAB IV IMPLEMENTASI DAN PEMBAHASAN ... 30
4.1 Desain Alur Sistem ... 30
4.2 Pengumpulan Data ... 35
4.2 Normalisasi Kalimat ... 37
4.3 Implementasi Algoritma HARN... 45
4.3.1 Menemukan Struktur Kalimat ... 46
4.3.2 Membuat NV (Noun-Verb) Dictionary ... 47
iv 4.4 Hasil Implementasi ... 54 BAB V PENUTUP ... 59 5.1 Simpulan ... 59 5.2 Saran ... 60 DAFTAR PUSTAKA ... 61 Lampiran ... 65
v DAFTAR GAMBAR
Gambar 2.1 Tahapan Analisis Sentimen (Medhat, Hassan, & Korashy, 2014) .... 12
Gambar 2.2 Pendekatan analisis sentimen (Collomb, Costea, Joyeux, Hasan, & Brunie)... 12
Gambar 2.3 Klasifikasi analisis sentimen berdasarkan teknik yang digunakan (Medhat, Hassan, & Korashy, 2014) ... 13
Gambar 2.4 Alur Analisis Sentimen Lexicon-Based (Nurfalah, Adiwijaya, & Suryani, 2017) ... 14
Gambar 2.5 Contoh fragmen pada SentiWordNet (Saggion & Funk, 2010) ... 18
Gambar 3.1 Tahapan Implementasi Algoritma HARN dan Beberapa Modifikasi 19 Gambar 3.2 Contoh tagset kata dasar bahasa Indonesia ... 24
Gambar 4.1 Flowchart Analisis Sentimen SentiWordNet ... 31
Gambar 4.2 Flowchart Analisis Sentimen Algoritma HARN ... 32
Gambar 4.3 Flowchart Analisis Sentimen NV Dictionary dan kata keterangan... 33
Gambar 4.4 Analisis Sentimen NV Dictionary dan VADER ... 34
Gambar 4.5 Contoh data pada file komentar positif dan komentar negatif ... 35
Gambar 4.6 Dataset yang dipakai pada penelitian ... 35
Gambar 4.7 Proses penghilangan username, hashtag dan URL ... 37
Gambar 4.8 Hasil penghilangan username, hashtag, dan URL ... 38
Gambar 4.9 Script normalisasi huruf berulang ... 38
Gambar 4.10 Hasil normalisasi huruf berulang ... 39
Gambar 4.11 Script normalisasi kata singkatan ... 40
Gambar 4.12 Hasil normalisasi singkatan ... 41
Gambar 4.13 Script normalisasi kata baku ... 42
Gambar 4.14 Hasil normalisasi kata baku... 43
Gambar 4.15 Script proses stemming ... 43
Gambar 4.16 Hasil proses stemming ... 44
Gambar 4.17 Contoh list stopword ... 44
Gambar 4.18 Script stopword removal ... 45
Gambar 4.19 Hasil proses stopword removal ... 45
Gambar 4.20 Script POS Tagging ... 46
Gambar 4.21 Contoh isi dari NV Dictionary ... 48
vi
Gambar 4.23 Script pengukuran skor sentimen menggunakan NV Dictionary .... 51
Gambar 4.24 Script pemberian ID SentiWordNet ... 52
Gambar 4.25 Penghitungan skor sentimen SentiWordNet ... 53
Gambar 4.26 Penentuan polaritas menggunakan VADER ... 54
vii DAFTAR TABEL
Tabel 2.1 Penelitian Terkait Analisis Sentimen Lexicon-based ... 10
Tabel 4.1 Confusion Matrix Analisis Sentimen SentiWordNet ... 54
Tabel 4.2 Confusion Matrix Analisis Sentimen NV dan VADER... 55
Tabel 4.3 Confusion Matrix Analsis Sentimen Algoritma HARN ... 55
viii DAFTAR RUMUS
Rumus (1) Skor Sentimen NV Dictionary
Rumus (2) Skor Negasi Kalimat
Rumus (3) Skor Kata Rata-rata SentiWordNet
Rumus (4) Skor Sentimen SentiWordNet
Rumus (5) Precision
Rumus (6) Recall
ix DAFTAR LAMPIRAN
Lampiran 1. Dataset ‘komentar positif.txt’ Lampiran 2. Dataset ‘komentar negatif.txt’ Lampiran 3. Dataset ‘kata singkatan.txt’ Lampiran 4. Dataset ‘kata baku.txt’
Lampiran 5. Dataset ‘tb_tagged_katadasar.txt’
Lampiran 6. Daftar Kata Imbuhan pada Proses Stopword Removal Lampiran 7. Isi NV Dictionary
Lampiran 8. Hasil Penghilangan username, hashtag, dan URL Lampiran 9. Hasil Normalisasi Huruf Berulang
Lampiran 10. Hasil Normalisasi Singkatan Lampiran 11. Hasil Normalisasi Kata Baku Lampiran 12. Hasil Normalisasi Kata Dasar Lampiran 13. Hasil Normalisasi Kata Imbuhan Lampiran 14. Hasil Analisis Sentimen SentiWordNet
Lampiran 15. Hasil Analisis Sentimen NV Dictionary dan VADER Lampiran 16. Hasil Analisis Sentimen Algoritma HARN
Lampiran 17. Hasil Analisis Sentimen Algoritma HARN Modifikasi Lampiran 18. Source Code Penghilangan username, hashtag, URL Lampiran 19. Source Code Normalisasi Huruf Berulang
Lampiran 20. Source Code Normalisasi Singkatan Lampiran 21. Source Code Normalisasi Kata Baku Lampiran 22. Source Code Stemming
Lampiran 23. Source Code Stopword Removal Lampiran 24. Source Code Sentimen SentiWordNet
Lampiran 25. Source Code Sentimen NV Dictionary dan VADER Lampiran 26. Source Code Sentimen Algoritma HARN