Hak cipta dan penggunaan kembali:
Lisensi ini mengizinkan setiap orang untuk menggubah,
memperbaiki, dan membuat ciptaan turunan bukan untuk
kepentingan komersial, selama anda mencantumkan nama
penulis dan melisensikan ciptaan turunan dengan syarat
yang serupa dengan ciptaan asli.
Copyright and reuse:
This license lets you remix, tweak, and build upon work
non-commercially, as long as you credit the origin creator
and license it on your new creations under the identical
terms.
ANALISIS SENTIMEN MEDIA TWITTER
MENGGUNAKAN LONG SHORT-TERM MEMORY
RECURRENT NEURAL NETWORK
(Studi Kasus: Prediksi Polling Kandidat Presiden Indonesia 2019)
SKRIPSI
Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer (S.Kom.)
Silvin 00000011850
PROGRAM STUDI INFORMATIKA FAKULTAS TEKNIK DAN INFORMATIKA UNIVERSITAS MULTIMEDIA NUSANTARA
TANGERANG 2019
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS
Sebagai sivitas akademik Universitas Multimedia Nusantara, saya yang bertanda tangan di bawah ini:
Nama : Silvin
NIM : 00000011850 Program Studi : Informatika
Fakultas : Teknik dan Informatika Jenis Karya : Program
Demi pengembangan ilmu pengetahuan, menyetujui dan memberikan izin kepada Universitas Multimedia Nusantara hak Bebas Royalti Non-eksklusif (Non-exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul:
Analisis Sentimen Media Twitter Menggunakan Long Short-Term Memory Recurrent Neural Network (Studi Kasus: Prediksi Polling Kandidat Presiden Indonesia 2019)
beserta perangkat yang diperlukan.
Dengan Hak Bebas Royalti Non-eksklusif ini, pihak Universitas Multimedia
Nusantara berhak menyimpan, mengalihmedia atau format-kan, mengelola
dalam bentuk pangkalan data (database), merawat, dan mendistribusi dan menampilkan atau mempublikasikan karya ilmiah saya di internet atau media lain untuk kepentingan akademis, tanpa perlu meminta izin dari saya maupun memberikan royalti kepada saya, selama tetap mencantumkan nama saya sebagai penulis karya ilmiah tersebut.
HALAMAN PERSEMBAHAN / MOTO
“The harder you work for something,
The greater you’ll feel when you achieve it.”
vii
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yang Maha Esa atas berkat dan rahmat penyertaan-Nya sehingga pelaksanaan dan penyelesaian laporan skripsi yang berjudul “Analisis Sentimen Media Twitter Menggunakan Long Short-Term Memory Recurrent Neural Network (Studi Kasus: Prediksi Polling Kandidat Presiden Indonesia 2019)” akhirnya selesai dan dapat diajukan sebagai skripsi.
Pembuatan skripsi ini dapat selesai tepat pada waktunya karena adanya bantuan dan dukungan dari beberapa pihak. Oleh karena itu, penulis mengucapkan syukur dan terima kasih kepada:
1. Tuhan Yang Maha Esa, atas kesehatan yang diberikan untuk melaksanakan kerja magang dan penulisan laporan kerja magang,
2. Dr. Ninok Leksono, selaku Rektor Universitas Multimedia Nusantara 3. Friska Natalia, S.Kom., Ph.D., selaku Dekan Fakultas Teknik dan
Informatika Universitas Multimedia Nusantara,
4. Seng Hansun, S.Si., M.Cs., selaku Ketua Program Studi Infromatika Universitas Multimedia Nusantara,
5. Julio Christian Y., M.Kom., selaku dosen pembimbing I yang telah memberikan pengarahan dan bimbingan dalam menyusun laporan skripsi yang benar,
6. Farica Perdana Putri, S.Kom., M.Sc., selaku dosen pembimbing II yang telah memberikan pengarahan dan bimbingan dalam menyusun laporan skripsi yang benar,
ix
ANALISIS SENTIMEN MEDIA TWITTER
MENGGUNAKAN LONG SHORT-TERM MEMORY
RECURRENT NEURAL NETWORK
(Studi Kasus: Prediksi Polling Kandidat Presiden Indonesia 2019)
ABSTRAK
Indonesia memiliki pengguna media sosial di Twitter dengan urutan ke-tiga di dunia. Konsep penggunaan hashtag pada Twitter mempermudah pengklasifikasian teks karena dapat menunjukkan emosi atau opini pengguna
Twitter. Pada penelitian ini, analisis sentimen dilakukan untuk melihat
kecenderungan opini terhadap kandidat Presiden Indonesia 2019. Pengumpulan data berupa tweets dilakukan menggunakan Twitter Streaming API dengan jumlah berupa 1.786.213 tweets. Pelabelan data terhadap 1.000 tweets dilakukan oleh pakar Bahasa Indonesia. Pra-pemrosesan terhadap data tersebut terdiri atas 4 tahap, yaitu
case folding, noise removal, stopword remover dan tokenization. Penelitian ini
menggunakan algoritma Long Short-Term Memory (LSTM) Recurrent Neural
Network (RNN) untuk melakukan proses klasifikasi sentiment pada tweets. Model
LSTM RNN yang dihasilkan akan dievaluasi menggunakan K-fold cross-validation sehingga menghasilkan nilai F-measure. Implementasi model tersebut akan dilakukan pada 1.785.213 tweets lainnya untuk mendapatkan sentiment scoring dalam tiga klasifikasi, yaitu Jokowi, Prabowo dan Netral. F-measure dari model yang dibuat bernilai 78.65%, yang memprediksi persentase tweets dengan sentimen “Jokowi” sebesar 62.08% dan sentiment “Prabowo” sebesar 37.92%.
Kata kunci: Analisis Sentimen, Long Short-Term Memory, Recurrent Neural
Network, Twitter, Twitter Streaming API
SENTIMENT ANALYSIS ON TWITTER
USING LONG SHORT-TERM MEMORY
RECURRENT NEURAL NETWORK
(Study Case: Polling Prediction 2019 Indonesian Presidential
Candidates)
ABSTRACT
Indonesia has social media users on Twitter ranked number three in the world. The concept of using hashtags on Twitter makes it easy to classify text because it can show emotions or opinions from Twitter users. In this study, sentiment analysis was conducted to see the tendency of opinion towards 2019 Indonesian Presidential candidates. Data collection in the form of tweets was done using the Twitter Streaming API with a total of 1,786,213 tweets. Data labelling for 1,000 tweets was carried out by an Indonesian Language expert. The pre-processing of the data consists of 4 stages, namely case folding, noise removal, stopword remover, and tokenization. This study implements the Long Short-Term Memory (LSTM) Recurrent Neural Network (RNN) algorithm to classifiy sentiments on tweets. The LSTM RNN model generated will be evaluated using K-fold cross-validation so that it produces the F-measure value. The implementation of the model will be carried out for 1,785,213 other tweets to get the sentiment score in three classifications, namely Jokowi, Prabowo and Neutral. The F-measure value of the model is 78.65%, which predicts the percentage of tweets with the “Jokowi” sentiment of 62.08% and “Prabowo” sentiment by 37.92%.
Key word: K-fold cross-validation, Long Short-Term Memory, Recurrent Neural Network, Sentiment Analysis, Twitter, Twitter Streaming API
xi
DAFTAR ISI
LEMBAR PENGESAHAN ... ii
PERNYATAAN TIDAK MELAKUKAN PLAGIAT ... iii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ... iv
HALAMAN PERSEMBAHAN / MOTO ... vi
KATA PENGANTAR ... vii
ABSTRAK ... ix
ABSTRACT ... x
DAFTAR ISI ... xi
DAFTAR GAMBAR ... xii
DAFTAR TABEL ... xiv
DAFTAR RUMUS ... xv
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 4
1.3 Batasan Masalah ... 4
1.4 Tujuan Penelitian ... 4
1.5 Manfaat Penelitian ... 5
1.6 Sistematika Penulisan ... 5
BAB II LANDASAN TEORI ... 7
2.1 Recurrent Neural Network (RNN) ... 7
2.2 Long Short-Term Memory (LSTM) ... 12
2.3 Hyperparameter ... 19
2.4 Word2Vec ... 26
2.5 F-Measure ... 27
2.6 K-Fold Cross-Validation... 29
BAB III METODOLOGI PENELITIAN DAN PERANCANGAN APLIKASI . 31 3.1 Metodologi Penelitian ... 31
3.2 Perancangan Aplikasi ... 32
BAB IV IMPLEMENTASI DAN ANALISIS ... 44
4.1 Spesifikasi Perangkat ... 44
4.2 Implementasi Algoritma ... 44
4.3 Uji Coba ... 51
4.4 Analisis Hasil ... 54
BAB V SIMPULAN DAN SARAN ... 60
5.1 Simpulan ... 60
5.2 Saran ... 60
DAFTAR PUSTAKA ... 61
DAFTAR LAMPIRAN ... 65
DAFTAR GAMBAR
Gambar 2.1 Arsitektur RNN ... 8
Gambar 2.2 Representasi Alternatif Arsitektur RNN ... 8
Gambar 2.3 Arsitektur RNN Berulang (kiri) dan Penjabarannya (kanan) ... 9
Gambar 2.4 Visualisasi Forward Propagation RNN pada Satu Time Step t ... 9
Gambar 2.5 Visualisasi Komputasi pada Forward Propagation RNN ... 10
Gambar 2.6 Fungsi Aktivasi Tanh ... 11
Gambar 2.7 Arsitektur LSTM Berulang (kiri) dan Penjabarannya (kanan)... 13
Gambar 2.8 Aliran Data pada Modul RNN ... 14
Gambar 2.9 Aliran Data pada Modul LSTM ... 14
Gambar 2.10 Legenda Notasi pada Aliran Data Modul LSTM ... 14
Gambar 2.11 Mekanisme Kunci dari LSTM ... 14
Gambar 2.12 Komputasi Gerbang Sigmoid ... 15
Gambar 2.13 Fungsi Aktivasi Sigmoid ... 15
Gambar 2.14 Aliran Data Forget Gate pada Modul LSTM ... 16
Gambar 2.15 Aliran Data Input Gate dan Input Modulation Gate ... 17
Gambar 2.16 Aliran Data Pembaruan Konteks Lama ke Konteks Baru ... 18
Gambar 2.17 Aliran Data Output Gate pada Modul LSTM... 19
Gambar 2.18 Ilustrasi Underfitting dan Overfitting ... 20
Gambar 2.19 Contoh Embedding Layer ... 27
Gambar 2.20 Confusion Matrix ... 28
Gambar 2.21 Ilustrasi 10-Fold Cross-Validation ... 30
Gambar 3.1 Flowchart Utama ... 33
Gambar 3.2 Flowchart Pre-Processing Data ... 35
Gambar 3.3 Flowchart Model LSTM ... 36
Gambar 3.4 Flowchart Training Model LSTM ... 37
Gambar 3.5 Flowchart Evaluasi Model LSTM ... 39
Gambar 3.6 Flowchart Prediksi Data Menggunakan Model LSTM ... 40
Gambar 3.7 Flowchart Proses Konversi Angka hasil_prediksi ... 41
Gambar 3.8 Flowchart Persentase Perbandingan Sentimen ... 42
Gambar 4.1 Pengambilan Data Hasil Pelabelan Pakar ... 45
Gambar 4.2 Pre-processing Berupa Case Folding, Noise Removal dan Stopword Remover ... 45
Gambar 4.3 Pre-processing berupa Tokenization ... 46
Gambar 4.4 Proses One Hot Encoding ... 46
Gambar 4.5 Deklarasi Model LSTM ... 46
Gambar 4.6 Evaluasi Model Menggunakan K-fold Cross-validation ... 47
Gambar 4.7 Deklarasi Training Model LSTM ... 48
Gambar 4.8 Penyimpanan Model LSTM ... 48
Gambar 4.9 Pemuatan Model LSTM ... 48
Gambar 4.10 Proses Prediksi Data ... 49
Gambar 4.11 Penyimpanan Hasil Prediksi... 49
Gambar 4.12 Pengambilan Data Hasil Prediksi ... 49
Gambar 4.13 Proses Konversi Menjadi Sentimen ... 50
xiii
Gambar 4.16 Proses Menghitung Data Sesuai Sentimen ... 50
Gambar 4.17 Perhitungan untuk Persentase Akhir ... 51
Gambar 4.18 Hasil Sebelum Pre-Processing ... 52
Gambar 4.19 Hasil Setelah Case Folding ... 52
Gambar 4.20 Hasil Setelah Noise Removal ... 52
Gambar 4.21 Hasil Setelah Tokenization... 53
Gambar 4.22 Hasil One Hot Encoding ... 53
Gambar 4.23 Grafik Perbandingan Sentimen Batch 1 ... 58
Gambar 4.24 Grafik Perbandingan Sentimen Batch 2 ... 58
Gambar 4.25 Grafik Perbandingan Sentimen Batch 3 ... 58
DAFTAR TABEL
Tabel 4.1 Hasil Hyperparameter Tuning ... 55
Tabel 4.2 Performa F-Measure ... 55
Tabel 4.3 Hasil Prediksi Sentimen ... 56
Tabel 4.4 Hasil Konversi Prediksi Sentimen ... 57
xv
DAFTAR RUMUS
Rumus 2.1 Rumus State st pada Forward Propagation RNN ... 9
Rumus 2.2 Rumus Output ŷt pada Forward Propagation RNN ... 10
Rumus 2.3 Rumus Forget Gate ... 16
Rumus 2.4 Rumus Input Gate ... 17
Rumus 2.5 Rumus Input Modulation Gate ... 17
Rumus 2.6 Rumus Update Context ... 18
Rumus 2.7 Rumus Output Gate ... 18
Rumus 2.8 Rumus Hidden State ... 18
Rumus 2.9 Rumus Precision ... 28
Rumus 2.10 Rumus Recall ... 28
Rumus 2.11 Rumus F-Measure ... 29