SKRIPSI
Oleh :
Yusuf Ahmad Bahtiar
NIM.1217023
(STMIK BANDUNG)
BANDUNG
2021
LEMBAR PENGESAHAN
SKRIPSI
NIM.1217023
........./...................../2021
Menyetujui,
i
PERNYATAAN KEASLIAN
Jika terdapat referensi terhadap hasil karya atau pihak lain, baik berupa lisan
Penyusun
NIM 1217023
ii
KATA PENGANTAR
Puji syukur kepada Allah SWT atas rahmat dan karunia-Nya sehingga
penyusun dapat menyelesaikan skripsi ini. Skripsi ini disusun untuk memenuhi
sebesar-besarnya kepada :
1. Kedua Orang Tua, yang telah memberikan motivasi dan semangat dalam
Sosial Twitter”
3. Kepada semua pihak yang telah membantu memberikan masukan dan ide-
Penyusun
NIM 1217023
iii
ABSTRAK
iv
ABSTRACT
v
DAFTAR ISI
ABSTRAK ............................................................................................................ iv
ABSTRACT ............................................................................................................ v
vi
2.3 Analisis Sentimen ..................................................................................... 8
vii
BAB III ANALISIS SISTEM ............................................................................. 19
viii
4.4.2 Halaman New Hashtags ................................................................ 38
ix
DAFTAR GAMBAR
Gambar 5.5 Wordcloud Tweets Vaksin Covid-19 Positif dan Negatif ................. 43
x
Gambar 5.6 Confusion Matrix Dari Pemodelan Sistem ........................................ 43
xi
DAFTAR TABEL
xii
DAFTAR SIMBOL
xiii
Message Spesifikasi dari komunikasi antar
objek yang memuat informasi-
informasi tentang aktifitas yang
terjadi
Message Spesifikasi dari komunikasi antar
objek yang memuat informasi-
informasi tentang aktifitas yang
terjadi
xiv
BAB I
PENDAHULUAN
digunakan sebagai sarana untuk memperoleh informasi serta dapat juga digunakan
untuk mengungkapkan rasa perasaan, sikap maupun tindakan terhadap suatu topik
informasi tersebut dalam berbentuk bahasa yang tertulis. Di era saat ini media sosial
memiliki peranan yang sangat penting sebagai sumber pencetak berbagai informasi.
Media sosial saat ini terdiri menjadi beberapa platform seperti Twitter, Facebook,
mengeluarkan opini terhadap suatu yang trending topik di sosial media, dalam satu
hari saja tweets yang dihasilkan sangat banyak sehingga dapat dimamfaatkan untuk
melakukan analisis sentimen. Analisis sentimen merupakan salah satu teknik untuk
bersifat positif atau negatif. Salah satu isu yang masih ramai dibahas oleh
masyarakat Indonesia dan sempat menjadi trending topik di twitter yaitu mengenai
vaksin Covid-19. Data tweets diambil dari website kaggle sebagai pemodelan
analisis sentimen dan crawling data tweets menggunakan Twitter API untuk
1
Kemudian dilakukan proses preprocessing dengan metode Natural
polaritas sentimen. Oleh karena itu, pada penelitian ini akan melakukan analisis
TWITTER”.
2
1.3 Batasan Masalah
Tujuan yang hendak dicapai dalam penelitian ini adalah analisis sentimen
media sosial Twitter tentang vaksin Covid-19 ke dalam kelas positif dan
negatif.
3
1.5 Metodologi Penelitian
1. Penelitian Kepustakaan
2. Pengumpulan Data
4
Gambar 1 Metode Extreme Programming
1. Planning (Perencanaan)
analisis hasil.
2. Design (Pemodelan)
3. Coding (Pengkodean)
4. Testing (Pengujian)
5
1.6 Sistimatika Penulisan
sebagai berikut :
BAB I PENDAHULUAN
sistematika penulisan.
Bab ini berisi tentang teori berisi uraian data sekunder yang diperoleh
Processing dan aplikasi yang akan dibangun beserta jurnal yang terkait
dengan penelitian.
Bab ini berisi tentang Implementasi dan pembahasan aplikasi yang telah
6
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM
pelatihan aplikasi.
7
BAB II
LANDASAN TEORI
Vaksin Covid-19 adalah suatu antigen atau benda asing yang dimasukkan
mencegah atau menghindari resiko munculnya gejala yang berat saat terserang
virus Covid-19.
2.2 Twitter
hingga 140 karakter, yang dikenal dengan sebutan kicauan (tweet). Twitter
didirikan pada bulan Maret 2006 oleh Jack Dorsey, dan situs jejaring sosialnya
Sejak diluncurkan, Twitter telah menjadi salah satu dari sepuluh situs yang.
paling sering dikunjungi di internet, dan dijuluki dengan pesan singkat dari internet.
pengguna terdaftar bisa menulis kicauan melalui antarmuka situs web, pesan
singkat (SMS) atau melalui berbagai aplikasi untuk perangkat seluler. [1]
serta emosi suatu entitas, dimana entitas tersebut dapat mewakili individu. [2]
8
Analisis sentimen atau opinion mining merupakan proses memahami,
sentimen ini bertujuan untuk melihat pendapat atau kecenderungan opini terhadap
suatu masalah ataupun objek oleh seseorang, apa memiliki kecenderungan positif,
kecerdasan buatan (AI) yang bersangkutan dengan interaksi antara komputer dan
dan menganalisis sejumlah besar data bahasa alami. Natural Language Processing
juga merupakan model untuk mempelajari kemampuan bahasa dan aplikasi bahasa.
2.5 Preprocessing
agar dapat menghasilkan data yang baik dan sudah terstruktur. Tahapan
9
2.5.1 Cleaning Text
data yang tidak diperlukan seperti mention (@), hashtags (#), RT, link
2.5.3 Tokenizing
2.5.4 Filtering
2.5.5 Stemming
Stemming adalah tahap mencari root (bentuk dasar) dari tiap kata.
10
2.6 Python
bebas dalam arti sebenarnya, tidak ada batasan dalam penyalinannya atau
Adaapun library python yang digunakan pada penelitian ini sebagai berikut :
NLTK termasuk grafis demonstrasi dan disertai dengan sebuah buku yang
NLP atau bidang yang terkait erat, termasuk linguistik empiris, ilmu
11
alat belajar individu, dan sebagai platform untuk membuat prototipe dan
2.6.2 Pandas
distinct, group by, agregasi, dan teknik seperti pada SQL. Pandas juga dapat
membaca file dari berbagai format seperti .txt, .csv, .tsv, dan lainnya.
Anggap saja Pandas adalah spreadsheet namun tidak memiliki GUI dan
2.6.3 Numpy
2.6.4 Matplotlib
indah dan rapi. Ada plot untuk menampilkan data secara 2D atau 3D.
Matplotlib adalah library paling banyak digunakan oleh data science untuk
12
2.6.5 Sastrawi
2.6.6 Tweepy
consumer key, consumer secret, access token, access token secret yang
[13]
Lexicon based adalah metode ilmiah yang sering digunakan dalam suatu
penelitian analisis sentimen. Cara kerja metode ini adalah dengan menggunakan
sebuah kamus kata atau korpus yang dilengkapi dengan bobot pada setiap katanya
13
Pada penelitian ini menggunakan leksikon sentimen Indonesia untuk
evaluasi daftar kata analisis sentimen bahasa indonesia terdiri dari 3.609 kata positif
dan 6.609 kata negatif dengan bobot mulai dari -5 hingga +5. Pada penelitian ini
Python Flask adalah kerangka kerja web yang ditulis dengan python. Python
Flask dapat diklasifikasikan ke dalam kerangka mikro karena tidak memerlukan alat
atau libraries tertentu dan database bawaan. Tidak memiliki abstraksi basis data
lapisan, namun ekstensi dukungan flask yang dapat menambah fitur aplikasi. [10]
Adaapun library python flask yang digunakan pada penelitian ini sebagai berikut :
2.8.1 Flask-Cors
2.8.2 Flask-SQLAlchemy
2.8.3 PyMySQL
14
2.9 Vue.js
Vue.js adalah salah satu proyek JavaScript yang paling dibanggakan dalam
beberapa tahun terakhir karena fleksibilitas dan adopsinya oleh komunitas seperti
Laravel. Visinya berfokus pertama dan terutama pada cita-cita adopsi tambahan,
dimana Vue.js dapat digunakan sebagai library dan hanya sebagai penghias
antarmuka pengguna atau sebagai kerangka kerja penuh untuk arsitektur yang
2.10 MySQL
adalah DBMS yang open source dengan dua bentuk lisensi, yaitu Free Software
penggunaannya terbatas). Jadi MySQL adalah database server yang gratis dengan
lisensi GNU General Public License (GPL) sehingga dapat Anda pakai untuk
keperluan pribadi atau komersil tanpa harus membayar lisensi yang ada. [12]
tujuan, dan cara pencapaian tujuan dari suatu bidang atau suatu hal yang ingin
direncanakan atau yang ingin dilakukan oleh seseorang secara individu atau secara
15
Dalam penelitian, roadmap dibuat untuk memberi arah terhadap penelitian
yang dilakukan demi pencapaian tujuan penelitian secara maksimal baik secara
Raharjo.
Kyu Ha.
16
Tabel Jurnal Penelitian 2.1
.
2 Comparison Bong-Hyun Perbandingan Naïve Bayes Keakuratan pola
of Sentiment Back dan Il- dalam dua dan Natural analisis sentimen
Analysis from Kyu Ha metode untuk Language oleh Machine
Large Twitter analisis Processing Learning
Datasets sentimen dari menggunakan
by Naïve Twitter Naïve Bayes adalah
Bayes and 63,50%, sedangkan
Natural Natural Language
Language Processing adalah
Processing 72,28%.
Methods
(2019) [14]
3 Deteksi Arif Nur Deteksi Leksikon dan NLP dengan
Emosi Media Rohman, emosi pada Natural leksikon yang telah
Sosial Ema Utami, teks update Language dibuat untuk
Menggunakan dan Suwanto status dari Processing mengetahui label
Pendekatan Raharjo. Facebook emosi dari suatu
Leksikon dan update status.
Natural Update status dapat
Language terdeteksi label
Processing emosinya dan
(2019) [15] 61,53% diantaranya
akurat
17
4 Analisis Elik Hari Meneliti Natural Pada proses
Sentimen Muktafin, produk yang Language preprocessing NLP
pada Ulasan Kusrini, dan dijual di Processing penerapan word
Pembelian Emha Taufiq marketplace normalizer,
Produk di Luthfi Shopee. stemming, dan
Marketplace stopword removal
Shopee terbukti dapat
Menggunakan menghasilkan nilai
Pendekatan akurasi menjadi
Natural 76,92%, presisi
Language 80,00%, dan recall
Processing 74,07%,
(2020) [16]
5 Natural Nico Tentang Natural NLP untuk
Language Munasatya Presiden Language mengolah tweets
Processing dan Sendi Jokowi Processing dan klasifikasi
untuk Analisis Novianto Widodo dan Multi menggunakan
Sentimen Layer model Multi-layer
Presiden Perceptron perceptron. Untuk
Jokowi Model selection
Menggunakan memakai model
Multi Layer Monte Carlo cross-
Perceptron validation. Hasil
(2020) [17] pengujian ini yang
didapatkan nilai
akurasi hingga
93,26 %.
Dari referensi jurnal diatas yang berjudul “Analisis Sentimen pada Ulasan
Language Processing”, hal ini menjadi referensi yang paling tepat dan bisa
18
BAB III
ANALISIS SISTEM
python. Adapun gambaran umum pemodelan sistem pada penelitian ini sebagai
berikut :
Pemodelan sistem seperti yang dapat dilihat pada gambar 3.1 bahwa,
tweets tentang vaksin corona di Indonesia dalam bentuk file .csv. Dataset yang
diambil masih berupa data yang semistruktural dan belum ada labelisasi. Kemudian
data tersebut akan dilakukan proses preprocessing yang meliputi tahapan cleaning,
19
Setelah melalui proses preprocessing, data yang telah terstruktur kemudian
diberikan bobot polaritas tiap katanya menggunkan leksikon positif dan negatif
sentimen Indonesia. Setelah itu data dapat dikelompokan berdasarkan hasil hitung
positif dan negatif. Terakhir membuat model pipeline sebagai bag of words dan
gambaran umum backend dan frontend sistem pada penelitian ini sebagai berikut :
Pada gambar 3.2 terlihat bahwa proses backend menggunakan Python Flask
untuk server REST yang melayani API dan service ke frontend, jadi output yang
data dalam bentuk JSON. Tujuan backend ini adalah untuk mengelola database,
crawling tweets pada Twitter, dan memproses tugas klasifikasi dengan bantuan
model pipeline hasil dari pemodelan sistem. Pada bagian frontend menggunakan
Vue.js untuk membuat lapisan tampilan yang interaktif sehingga sangat mudah
20
3.2 Analisis Kebutuhan Sistem
Analisis kebutuhan sistem dalam penelitian ini menjelaskan hal yang harus
3.2.1 Pipeline
Answering.
3.2.2 Dataset
sampai dengan maret 2021 dalam bentuk file .csv dengan jumlah data
10.058 tweets.
1. Pandas
kolom.
21
2. NLTK
3. Sastrawi
4. Matplotlib
5. Wordcloud
6. Sklearn
22
7. Pickle
emosi (positif dan negatif) yang terdapat dalam tulisan menggunakan teknik
Language Processing dan leksikon sentiment Indonesia. Cara kerja dari Natural
Language Processing mengolah data tweets yang tidak struktural menjadi data
1. Cleaning merupakan tahap membersihkan tweets dari data yang tidak perlu
seperti mentions, hashtags, RT, Link, dan number seperti pada tabel 3.1
berikut :
23
2. Case Folding merupakan tahap mengubah semua huruf yang terdapat pada
tweets menjadi huruf kecil (lower case). Hanya huruf “a-z” yang dapat
Sebelum Sesudah
Ayo dukung program vaksinasi ayo dukung program vaksinasi
corona supaya warga bebas dari corona supaya warga bebas dari
virus corona virus corona
3. Tokenizing adalah tahap pemotongan string input berdasarkar tiap kata yang
suatu teks ke dalam satuan kata seperti pada tabel 3.3 berikut :
Sebelum Sesudah
ayo dukung program vaksinasi [‘ayo’,’dukung’,’program’,
corona supaya warga bebas dari ’vaksinasi’,corona’,’supaya’,
virus corona ‘warga’,’bebas’,’dari’,
’virus’,’corona’]
dari library NLTK untuk filtering terhadap Dataframe seperti pada tabel 3.4
berikut :
Sebelum Sesudah
ayo dukung program vaksinasi [’dukung’,’program’,’vaksinasi’,’
corona supaya warga bebas dari corona’,‘warga’,’bebas’,
virus corona ’virus’,’corona’]
24
5. Stemming adalah tahap untuk mengembalikan kata kebentuk dasarnya. Pada
penelitian ini memakai library Sastrawi, contohnya seperti pada tabel 3.5
berikut :
Sebelum Sesudah
Program Program
Vaksinasi Vaksin
Corona Corona
Pada bagian ini akan dibuatkan sebuah ilustrasi untuk menunjukkan cara
dengan menggunakan contoh kasus tweets seperti pada tabel 3.6 sebagai berikut :
25
1. Proses Cleaning
jadi “perbarui”.
26
3. Proses Tokenizing
Pada tabel 3.9 terlihat bahwa string/teks menjadi daftar token seperti
4. Proses Filterinng
Pada tabel 3.10 terlihat bahwa kata seperti “untuk”, “di”, atau “kita”
5. Proses Stemming
27
3 [“perbarui”, “pola”, “hidup”, [“baru”, “pola”, “hidup”,
“masa”, “akhir”, “datang”, “masa”, “akhir”, “datang”,
“normal”] “normal”]
Pada tabel 3.11 terlihat bahwa kata menjadi kata dasar (root)
Selanjutnya akan dilakukan proses pemberian bobot tiap katanya pada hasil
diberi bobot dijumlahkan dan jika hasil yang didapat >= 0 maka positif, jika hasil
yang didapat < 0 maka negatif. Seperti pada tabel 3.11 dalam pemberian bobot nilai
tiap katanya.
Pada tabel 3.11 skor polaritas yang didapat semua bernilai lebih dari 0
maka nilai yang didapat adalah positif. Berikut hasil analisis sentimen pada tabel
3.12.
28
Tabel 3.12 Hasil Analisis Sentimen
1. New Hashtag yaitu membuat hashtag baru yang akan disimpan dalam
database.
hashtags.
tampilan dashboard.
29
3.6 Analisis Pengguna
tim medis atau pemerintah terhadap perlu tidaknya dilakukan edukasi atau
sebagai pemodelan sistem dan diimplementasikan pada Python Flask dan Vue.js
30
BAB IV
PERANCANGAN SISTEM
sebuah sistem yang akan dibangun dan merupakan tahap lanjutan dari analisis
sistem, dimana pada perancangan sistem digambarkan rancangan sistem yang akan
perancangan yang digunakan dalam pembuatan analisis sentimen pada media sosial
aliran data apa saja yang akan terlibat dalam sistem yang akan dibangun.
31
aktor dengan sistem. Berikut merupakan use case diagram yang telah
Berikut merupakan class diagram yang telah dirancang pada gambar 4.2
sebagai berikut :
32
4.2.4 Sequence Diagram
dan diterima antar objek. Berikut merupakan sequence diagram yang telah
33
Gambar 4.4 Sequence Diagram Tweets
dari sebuah sistem atau proses bisnis. Berikut merupakan activity diagram
yang telah dirancang pada gambar 4.5 dan gambar 4.6 sebagai berikut :
34
Gambar 4.5 Activity Diagram Hashtags
35
Gambar 4.6 Activity Diagram Tweets
36
4.3 Perancangan Basis Data
Perancangan basis data adalah proses untuk menentukan isi dan pengaturan
tipe field dan size yang akan dibuat. Berikut rancangan struktur tabel
a. Tabel hashtag
Primary key : id
Jumlah field : 2
b. Tabel tweet
Primary key : id
Jumlah field : 6
37
5 text text -
6 classification_re int 1
sult
38
4.4.3. Halaman List Hashtags
39
BAB V
Processing dan leksikon sentimen Indonesia. Dari implementasi sistem ini akan
dapat digunakan sesuai dengan tujuan dari permasalahan yang akan diselesaikan
dalam penelitian ini yaitu analisis sentimen masyarakat terhadap vaksin Covid-19
4. Koneksi Internet.
40
Spesifikasi kebutuhan perangkat keras yang digunakan akan
Spesifikasi perangkat keras yang tinggi dapat memproses output lebih cepat
dari pada spesifikasi kebutuhan perangkat keras yang lebih rendah pada saat
pengujian sistem. Hal ini juga berpengaruh pada aplikasi analisis sentimen
2. Python 3.6.8.
4. JupyterLab.
5. Python Flask.
6. Vue js.
7. MySQL.
menggunakan Jupyter Lab dan interface yang nantinya akan digunakan oleh
41
5.1.3 Hasil Pemodelan Sistem
42
d. Wordcloud Tweets Vaksin Covid-19
43
5.1.4 Interface Sistem
a. Halaman Home
b. Halaman Hashtag
44
d. Halaman Tweet
45
e. Halaman Dashboard
5.2 Pengujian
Pengujian yang digunakan untuk menguji sistem yang baru adalah metode
pengujian black box. Pengujian black box berfokus pada persyaratan fungsional
perangkat lunak. Berikut ini tabel yang menggambarkan metode pengujian black
46
Tabel 5.1 Pengujian Black Box
47
BAB VI
PENUTUP
6.1 Kesimpulan
Flask dan Vue.js terhadap vaksin Covid-19 di Twitter. Berikut kesimpulan yang
maret dengan total tweets 3757 adalah 2314 (61,6%) positif dan 1443
(38,4%) negatif.
(backend) dan Vue.js (frontend) berjalan dengan baik dan lebih fleksibel
6.2 Saran
Saran-saran yang diberikan agar sistem yang telah dibangun dapat berfungsi
dengan baik, supaya bisa dikembangkan dengan lebih baik lagi sebagai berikut :
48
2. Menggunakan TD-IDF (pembobotan kata) atau algoritma dalam penentuan
3. Dapat menampilkan inputan jumlah tweets untuk fetch data pada bagian
frontend.
frontend.
49
DAFTAR PUSTAKA
Sentimen Opini Film Pada Twitter,” INOVTEK Polbeng - Seri Inform., vol.
applications: A survey,” Ain Shams Eng. J., vol. 5, no. 4, 2014, doi:
10.1016/j.asej.2014.04.011.
10.1088/1742-6596/1187/5/052020.
10.6109/jicce.2019.17.4.239.
[15] A. N. Rohman, E. Utami, and S. Raharjo, “Deteksi Kondisi Emosi pada
10.30864/eksplora.v9i1.277.
Natural Language Processing,” J. Eksplora Inform., vol. 10, no. 1, 2020, doi:
10.30864/eksplora.v10i1.390.