Anda di halaman 1dari 75

ANALISIS SENTIMEN MASYARAKAT TERHADAP VAKSIN

COVID-19 PADA MEDIA SOSIAL TWITTER

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat Matakuliah Skripsi Pada


Program Studi Teknik Informatika Sarjana - S1

Oleh :
Yusuf Ahmad Bahtiar
NIM.1217023

PRORAM STUDI TEKNIK INFORMATIKA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER BANDUNG

(STMIK BANDUNG)

BANDUNG

2021
LEMBAR PENGESAHAN

ANALISIS SENTIMEN MASYARAKAT TERHADAP VAKSIN COVID-19

PADA MEDIA SOSIAL TWITTER

SKRIPSI

Yusuf Ahmad Bahtiar

NIM.1217023

Disetujui Pada Tanggal

........./...................../2021

Menyetujui,

Dosen Pembimbing Ketua Program Studi


Teknik Informatika

Rini Nuraini Sukmana, S.T, M.T Mina Ismu Rahayu, M.T

i
PERNYATAAN KEASLIAN

Dengan ini menyatakan sesungguhnya karya ini merupakan hasil observasi,

wawancara, pemikiran dan pemaparan asli.

Jika terdapat referensi terhadap hasil karya atau pihak lain, baik berupa lisan

maupun tulisan akan penyusun sertakan dengan menyebutan sumbernya secara

jelas dan apabila penyusun melakukan pelanggaran penuisan maka penyusun

bersedia menerima sanksi yang sesuai dengan ketentuan yang berlaku.

Demikian pernyataan ini penyusun buat secara sadar dan sesungguh-sungguhnya.

Atas segala perhatinnya penyusun ucapkan terimakasih.

Penyusun

Yusuf Ahmad Bahtiar

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

salah satu persyaratan dalam menyelesaikan program sarjana dijurusan Teknik

Informatika STMIK BANDUNG.

Pada kesempatan ini, penyusun menyampaikan ucapan terima kasih yang

sebesar-besarnya kepada :

1. Kedua Orang Tua, yang telah memberikan motivasi dan semangat dalam

proses penyusunan laporan Skripsi.

2. Ibu Rini Nuraini Sukmana, selaku pembimbing yang telah memberikan

bimbingan, pemikiran dan wawasan yang jauh dalam mengkaji skripsi

“Analisis Sentimen Masyarakat Terhadap Vaksin Covid-19 Pada Media

Sosial Twitter”

3. Kepada semua pihak yang telah membantu memberikan masukan dan ide-

ide dan saran yang sangat bermanfaat.

Bandung, 21 Juni 2021

Penyusun

Yusuf Ahmad Bahtiar

NIM 1217023

iii
ABSTRAK

Media sosial Twitter sering digunakan dalam mengekspresikan pandangan


masyarakat terhadap kasus-kasus yang sedang terjadi, seperti vaksin Covid-19.
Pada masa pandemi Covid-19, pro-kontrak mewarnai program vaksinasi Covid-19
yang sedang berlangsung di berbagai negara, termasuk Indonesia. Ada yang
bertanggapan positif dan negatif. Pada pemodelan awal sistem, proses
preprocessing menggunakan metode NLP (Natural Language Processing) untuk
mengolah data dari Kaggle. Setelah itu, pemberian nilai bobot pada setiap kata hasil
preprocessing menggunakan leksikon sentimen Indonesia sehingga akan mendapat
skor polaritas untuk menentukan isi tweets memiliki sentimen positif atau negatif.
Akurasi yang didapat menggunakan NLP (Natural Language Processing) dan
leksikon sentimen Indonesia adalah 78%.
Hasil dari pemodelan awal sistem lalu diimplementasikan kedalam Python
Flask untuk membuat back-end dan Vue.js untuk membuat front-end sistem.
Tujuannya supaya user dapat menganalisis sentimen secara fleksibel dengan
menggunakan hashtags dan real-time.

Kata Kunci: Analisis Sentimen, Twitter, Vaksin Covid-19, Natural Language


Processing, Python Flask, Vue.js.

iv
ABSTRACT

Social media Twitter is often used to express people's concerns about


current cases, such as the Covid-19 vaccine. During the Covid-19 pandemic, pro-
contract programs for the Covid-19 vaccination program were underway in
various countries, including Indonesia. There are positive and negative responses.
In the initial system modeling, the preprocessing process uses the NLP (Natural
Language Processing) method to process data from Kaggle. After that, present the
value for each preprocessed word using the Indonesian sentiment lexicon it will get
a polarity score to determine the content of tweets that have positive or negative
sentiments. The accuracy obtained using NLP (Natural Language Processing) and
the Indonesian sentiment lexicon is 78%.
The results of the initial modeling of the system are then implemented into
Python Flask to create the backend and Vue.js to create the frontend system. The
goal is that users can analyze sentiment flexibly using hashtags and in real-time.

Keywords: Sentiment Analysis, Twitter, Covid-19 Vaccine, Natural Language


Processing, Python Flask, Vue.js.

v
DAFTAR ISI

LEMBAR PENGESAHAN ................................................................................... i

PERNYATAAN KEASLIAN ............................................................................... ii

KATA PENGANTAR .......................................................................................... iii

ABSTRAK ............................................................................................................ iv

ABSTRACT ............................................................................................................ v

DAFTAR ISI ......................................................................................................... vi

DAFTAR GAMBAR ............................................................................................. x

DAFTAR TABEL ............................................................................................... xii

DAFTAR SIMBOL ............................................................................................ xiii

BAB I PENDAHULUAN ...................................................................................... 1

1.1 Latar Belakang ......................................................................................... 1

1.2 Rumusan Masalah .................................................................................... 2

1.3 Batasan Masalah ....................................................................................... 3

1.4 Tujuan Penelitian ...................................................................................... 3

1.5 Metodologi Penelitian .............................................................................. 4

1.5.1 Metode Pengumpulan Data ............................................................. 4

1.5.2 Metode Pengembangan Perangkat Lunak ....................................... 4

1.6 Sistematika Penulisan ............................................................................... 6

BAB II LANDASAN TEORI ............................................................................... 8

2.1 Vaksin Covid-19....................................................................................... 8

2.2 Twitter ...................................................................................................... 8

vi
2.3 Analisis Sentimen ..................................................................................... 8

2.4 Natural Language Processing (NLP) ....................................................... 9

2.5 Preprocessing ........................................................................................... 9

2.5.1 Cleaning Text ................................................................................ 10

2.5.2 Case Folding ................................................................................. 10

2.5.3 Tokenizing ..................................................................................... 10

2.5.4 Filtering ......................................................................................... 10

2.5.5 Stemming ....................................................................................... 10

2.6 Python ..................................................................................................... 10

2.6.1 Natural Language Toolkit (NLTK) ............................................... 11

2.6.2 Pandas ........................................................................................... 12

2.6.3 Numpy ............................................................................................ 12

2.6.4 Matplotlib ...................................................................................... 12

2.6.5 Sastrawi ......................................................................................... 13

2.6.6 Tweepy ........................................................................................... 13

2.7 Lexicon based ......................................................................................... 13

2.8 Python Flask ........................................................................................... 14

2.8.1 Flask-Cors ..................................................................................... 14

2.8.2 Flask-SQLAlchemy ....................................................................... 14

2.8.3 PyMySQL ...................................................................................... 14

2.14 Vue.js ...................................................................................................... 15

2.15 MySQL ................................................................................................... 15

2.16 Roadmap Penelitian ................................................................................ 15

vii
BAB III ANALISIS SISTEM ............................................................................. 19

3.1 Deskripsi Sistem ..................................................................................... 19

3.2 Analisis Kebutuhan Sistem .................................................................... 21

3.2.1 Pipeline .......................................................................................... 21

3.2.2 Dataset ........................................................................................... 21

3.2.2 Penggunaan Library Python .......................................................... 21

3.3 Analisis Teori ......................................................................................... 23

3.4 Analisis Kasus ........................................................................................ 25

3.5 Analisis Fungsionalitas........................................................................... 29

3.6 Analisis Pengguna .................................................................................. 30

3.7 Evaluasi Sistem ...................................................................................... 30

BAB IV PERANCANGAN SISTEM................................................................. 31

4.1 Metedo Perancangan .............................................................................. 31

4.2 Perancangan Prosedural ......................................................................... 31

4.2.1 UML (Unified Modeling Language). ............................................ 31

4.2.2 Use Case ........................................................................................ 31

4.2.3 Class Diagram ............................................................................... 32

4.2.4 Sequence Diagram ........................................................................ 33

4.2.5 Activity Diagram ........................................................................... 34

4.3 Perancangan Basis Data ......................................................................... 37

4.3.1 Struktur Tabel ................................................................................ 37

4.3 Perancangan Antarmuka (Interfaces) ..................................................... 38

4.4.1 Halawan Home .............................................................................. 38

viii
4.4.2 Halaman New Hashtags ................................................................ 38

4.4.3 Halaman List Hashtags ................................................................. 39

4.4.4 Halaman View Dashboard Analisis Sentimen .............................. 39

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM ................................ 40

5.1 Implementasi .......................................................................................... 40

5.1.1 Spesifikasi Kebutuhan Perangkat Keras (Hardware).................... 40

5.1.2 Spesifikasi Kebutuhan Perangkat Lunak (Software) ..................... 41

5.1.3 Hasil Pemodelan Sistem ............................................................... 42

5.1.4 Interface Sistem ............................................................................. 44

5.2 Pengujian ................................................................................................ 46

BAB VI PENUTUP ............................................................................................. 48

6.1 Kesimpulan ............................................................................................. 48

6.2 Saran ....................................................................................................... 48

ix
DAFTAR GAMBAR

Gambar 1.1 Metode Extreme Programming ........................................................... 5

Gambar 3.1 Deskripsi Pemodelan Sistem ............................................................. 19

Gambar 3.2 Deskripsi Backend dan Frontend Sistem .......................................... 20

Gambar 4.1 Use Case Diagram ............................................................................ 32

Gambar 4.2 Class Diagram................................................................................... 32

Gambar 4.3 Sequence Diagram Hashtags ............................................................ 33

Gambar 4.4 Sequence Diagram Tweets ................................................................ 34

Gambar 4.5 Activity Diagram Hashtags ............................................................... 35

Gambar 4.6 Activity Diagram Tweets ................................................................... 36

Gambar 4.5 Home ................................................................................................. 38

Gambar 4.6 New Hashtag ..................................................................................... 38

Gambar 4.7 List Hashtag ...................................................................................... 39

Gambar 4.8 View Dashboard Analisis Sentimen.................................................. 39

Gambar 5.1 Pie Chart Polaritas Sentimen Vaksin Covid-19 ................................ 42

Gambar 5.2 Tweets Vaksin Covid-19 Positif Teratas ........................................... 42

Gambar 5.3 Tweets Vaksin Covid-19 Negatif Teratas.......................................... 42

Gambar 5.4 Wordcloud Tweets Vaksin Covid-19................................................. 43

Gambar 5.5 Wordcloud Tweets Vaksin Covid-19 Positif dan Negatif ................. 43

x
Gambar 5.6 Confusion Matrix Dari Pemodelan Sistem ........................................ 43

Gambar 5.1 Tampilan Halaman Home.................................................................. 44

Gambar 5.2 Tampilan Halaman Hashtag.............................................................. 44

Gambar 5.3 Tampilan Halaman New Hashtag ..................................................... 44

Gambar 5.4 Tampilan Halaman Tweet.................................................................. 45

Gambar 5.5 Tampilan Halaman Dashboard ......................................................... 46

xi
DAFTAR TABEL

Tabel 2.1 Tabel Jurnal Penelitian ...........................................................................17

Tabel 3.1 Cleaning .................................................................................................23

Tabel 3.2 Case Folding ..........................................................................................24

Tabel 3.3 Tokenizing ..............................................................................................24

Tabel 3.4 Filtering .................................................................................................24

Tabel 3.5 Stemming ................................................................................................25

Tabel 3.6 Contoh Kasus Tweets ............................................................................25

Tabel 3.7 Proses Cleaning .....................................................................................26

Tabel 3.8 Proses Case Folding ..............................................................................26

Tabel 3.9 Proses Tokenazing ..................................................................................27

Tabel 3.10 Proses Filtering ....................................................................................27

Tabel 3.11 Proses Stemming ..................................................................................27

Tabel 3.11 Pemberian Bobot Leksikon Sentimen Indonesia .................................28

Tabel 3.12 Hasil Analisis Sentimen .......................................................................29

Tabel 4.1 Tabel Hashtag ........................................................................................37

Tabel 4.2 Tabel Tweet ...........................................................................................37

Tabel 5.1 Pengujian Black Box ..............................................................................47

xii
DAFTAR SIMBOL

1. Simbol Use Case Diagram

Simbol Pengertian Keterangan


Actor Menspesifikasikan himpuan
peran yang pengguna mainkan
ketika berinteraksi dengan use
case.
Include
Menspesifikasikan bahwa use
case sumber secara eksplisit.
Association Apa yang menghubungkan
antara objek satu dengan objek
lainnya.
Use Case Deskripsi dari urutan aksi-aksi
yang ditampilkan sistem yang
menghasilkan suatu hasil yang
terukur bagi suatu aktor

2. Simbol Class Diagram

Simbol Pengertian Keterangan


Class Himpunan dari objek-objek yang
berbagi atribut serta operasi yang
sama.
Association Apa yang menghubungkan
antara objek satu dengan objek
lainnya

3. Simbol Squence Diagram

Simbol Pengertian Keterangan


LifeLine Objek entity, antarmuka yang
saling berinteraksi.

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

4. Simbol Activity Diagram

Simbol Pengertian Keterangan


Action State dari sistem yang
mencerminkan eksekusi dari
suatu aksi
Initial Pseudo State Bagaimana objek dibentuk atau
diawali
Final State Bagaimana objek dibentuk dan
dihancurkan
Association Apa yang menghubungkan
antara objek satu dengan objek
lainnya.
Decision Menunjukan pilihan yang akan
dikerjakan atau keputusan yang
harus dibuat dalam proses
pengolahan data

xiv
BAB I

PENDAHULUAN

1.1 Latar Belakang

Media sosial merupakan sebuah media yang berbentuk aplikasi dan

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,

Instagram, Youtube dan lainnya.

Twitter atau microblogging banyak digunakan oleh masyarakat dalam

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

mengekstrak sebuah informasi berupa sikap seseorang terhadap isu-isu atau

kejadian dengan mengelompokkan polaritas dari sebuah teks.

Pengelompokkan tersebut dilakukan untuk melihat apakah tweets tersebut

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

diimplementasikan dalam pemrograman Python Flask dan Vue.js.

1
Kemudian dilakukan proses preprocessing dengan metode Natural

Language Processing untuk mengolah tweets supaya mendapatkan hasil yang

optimal. Setelah itu menggunakan leksikon sentimen Indonesia untuk mendapatkan

polaritas sentimen. Oleh karena itu, pada penelitian ini akan melakukan analisis

sentimen pandangan masyarakat mengenai isu vaksin Covid-19 kedalam sentimen

positif atau negatif.

Penelitian ini diharapkan dapat mengetahui sentimen masyarakat Indonesia

secara general terhadap pengadaan vaksin Covid-19. Berdasarkan uraian diatas

maka dilakukan penelitian dengan judul “ANALISIS SENTIMEN

MASYARAKAT TERHADAP VAKSIN COVID-19 PADA MEDIA SOSIAL

TWITTER”.

1.2 Rumusan Masalah

Berdasarkan latar belakang masalah diatas, maka dapat dirumuskan

beberapa permasalahan yaitu :

1. Bagaimana cara analisis sentimen masyarakat terhadap vaksin Covid-19

pada media sosial Twitter di Indonesia menggunakan Natural Language

Processing dan leksikon sentiment Indonesia ?

2. Berapa akurasi dari analisis sentimen masyarakat terhadap vaksin

Covid-19 pada media sosial Twitter di Indonesia menggunakan Natural

Language Processing dan leksikon sentimen Indonesia ?

3. Bagaimana cara implementasi analisis sentimen dari pemodelan sistem

menggunakan Python Flask (backend) dan Vue.js (frontend) ?

2
1.3 Batasan Masalah

Supaya pembahasan masalah yang dilakukan tidak menyimpang dari pokok

permasalahan, maka perlu dibuat suatu batasan masalah, yaitu :

1. Dataset dari kaggle dalam format .csv sebagai pemodelan sistem.

2. Crawling tweets menggunakan Twitter API.

3. Data tweets hanya berbahasa Indonesia.

4. Hasil analisis sentimen menjadi 2, yaitu positif atau negatif.

5. Bahasa pemrograman yang digunakan adalah Python 3.6.8.

6. Python Flask untuk membangun backend sistem.

7. Vue.js untuk membangun frontend sistem.

8. MySQL untuk menyimpan data.

1.4 Tujuan Penelitian

Tujuan yang hendak dicapai dalam penelitian ini adalah analisis sentimen

pada Twitter tentang vaksin Covid-19 yang diharapkan :

1. Menggunakan metode Natural Language Processing dan leksikon

sentiment Indonesia untuk mengelompokkan sentimen masyarakat pada

media sosial Twitter tentang vaksin Covid-19 ke dalam kelas positif dan

negatif.

2. Mengetahui akurasi dari penerapan Natural Language Processing dan

leksikon sentiment Indonesia dalam analisis sentimen masyarakat

terhadap vaksin Covid-19 pada media sosial Twitter di Indonesia.

3. Implementasi analisis sentimen dari pemodelan sistem menggunakan

Python Flask (backend) dan Vue.js (frontend).

3
1.5 Metodologi Penelitian

Metodelogi penelitian yang digunakan adalah metodelogi berorientasi objek

(OOP) dengan metode sebagai berikut :

1.5.1 Metode Pengumpulan Data

1. Penelitian Kepustakaan

Pada tahap ini, dilakukan pengumpulan berbagai referensi dan

sumber-sumber ilmu seperti jurnal, artikel, buku, makalah,

paper, situs-situs internet dan seterusnya mengenai analisis

sentiment, Natural Language Processing, leksikon sentimen

Indonesia, Python Flask, Vue.js dan lain-lain.

2. Pengumpulan Data

Dataset dari komunitas online kaggle tentang vaskin Covid-19

di Indonesia dalam bentuk format .csv dan crawling tweets

menggunakan Twitter API.

1.5.2 Metode Pengembangan Perangkat Lunak

Pada tahap ini metode pengembangan perangkat lunak yang

digunakan dalam pembangunan sistem ini adalah metode Extreme

Programming yang memiliki tahapan sebagai berikut :

4
Gambar 1 Metode Extreme Programming

1. Planning (Perencanaan)

Tahapan ini merupakan langkah awal dalam pembangunan sistem

dimana dalam tahapan ini dilakukan beberapa kegiatan perencanaan

yaitu, identifikasi permasalahan, menganalisa kebutuhan sampai dengan

analisis hasil.

2. Design (Pemodelan)

Tahapan berikutnya adalah perancangan dimana pada tahapan ini

dilakukan kegiatan pemodelan yang dimulai dari pemodelan sistem,

pemodelan arsitektur sampai dengan pemodelan basis data.

3. Coding (Pengkodean)

Tahapan ini merupakan kegiatan penerapan model yang sudah dibuat

dengan menggunakan bahasa pemrograman python 3.6.

4. Testing (Pengujian)

Pada tahap ini, dilakukan pengujian terhadap sistem dan percobaan

terhadap sistem sesuai dengan kebutuhan yang ditentukan sebelumnya

serta memastikan program yang dibuat berjalan seperti yang diharapkan.

5
1.6 Sistimatika Penulisan

Uraian singkat mengenai struktur penulisan pada masing-masing bab adalah

sebagai berikut :

BAB I PENDAHULUAN

Bab ini berisi tentang latar belakang masalah, rumusan masalah,

batasan masalah, tujuan penulisan, metode pengumpulan data dan

sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi tentang teori berisi uraian data sekunder yang diperoleh

dari pustaka yang berkaitan dengan pengertian Natural Language

Processing dan aplikasi yang akan dibangun beserta jurnal yang terkait

dengan penelitian.

BAB III ANALISIS SISTEM

Bab ini berisi tentang analisis dokumen, analisis prosedur, analisis

kebutuhan sistem, analisis pengguna dan analisis fungsional system

BAB IV PERANCANGAN SISTEM

Bab ini berisi tentang Implementasi dan pembahasan aplikasi yang telah

dibangun. Meliputi pembahasan perancangan sistem, kebutuhan

antarmuka pemakai serta spesifikasi kebutuhan perangkat lunak.

6
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi tentang rekomendasi dalam mendukung implementasi

sistem yang meliputi, rencana pengujian aplikasi, kebutuhan hardware,

kebutuhan software, kebutuhan personal pemakai dan sosialisasi atau

pelatihan aplikasi.

BAB IV KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan dan saran-saran dari pembuatan

laporan tugas akhir atau skripsi.

7
BAB II

LANDASAN TEORI

2.1 Vaksin Covid-19

Vaksin Covid-19 adalah suatu antigen atau benda asing yang dimasukkan

ke dalam tubuh untuk meningkatkan terhadap virus Covid-19. Tujuannya untuk

mencegah atau menghindari resiko munculnya gejala yang berat saat terserang

virus Covid-19.

2.2 Twitter

Twitter adalah layanan jejaring sosial dan microblog daring yang

memungkinkan penggunanya untuk mengirim dan membaca pesan berbasis teks

hingga 140 karakter, yang dikenal dengan sebutan kicauan (tweet). Twitter

didirikan pada bulan Maret 2006 oleh Jack Dorsey, dan situs jejaring sosialnya

diluncurkan pada bulan Juli.

Sejak diluncurkan, Twitter telah menjadi salah satu dari sepuluh situs yang.

paling sering dikunjungi di internet, dan dijuluki dengan pesan singkat dari internet.

Di Twitter, penguna tak terdaftar hanya bisa membaca kicauan, sedangkan

pengguna terdaftar bisa menulis kicauan melalui antarmuka situs web, pesan

singkat (SMS) atau melalui berbagai aplikasi untuk perangkat seluler. [1]

2.3 Analisis Sentimen

Analisis sentimen merupakan merupakan kajian tentang cara

menyelesaikan dan memecahkan masalah dari berdasarkan opini masyarakat, sikap,

serta emosi suatu entitas, dimana entitas tersebut dapat mewakili individu. [2]

8
Analisis sentimen atau opinion mining merupakan proses memahami,

mengekstrak serta mengolah data tekstual secara otomatis untuk mendapatkan

informasi yang terkandung dalam suatu kalimat opini. Dilakukannya analisis

sentimen ini bertujuan untuk melihat pendapat atau kecenderungan opini terhadap

suatu masalah ataupun objek oleh seseorang, apa memiliki kecenderungan positif,

negatif, atau netral [3].

2.4 Natural Language Processing (NLP)

Natural Language Processing (NLP) adalah bidang ilmu komputer dan

kecerdasan buatan (AI) yang bersangkutan dengan interaksi antara komputer dan

bahasa manusia (alami), khususnya cara memprogram komputer untuk memproses

dan menganalisis sejumlah besar data bahasa alami. Natural Language Processing

juga merupakan model untuk mempelajari kemampuan bahasa dan aplikasi bahasa.

Kerangka kerja komputer (algoritma) dibangun untuk implementasikan

model bahasa yang disempurnakan, dievaluasi, dan akhirnya digunakan untuk

mendesain berbagai sistem praktis. Cabangnya adalah Automatic Speech

Recognition (ASR), Named Entity Recognition (NER), Optical Character

Recognition (OCR), sentiment analysis dan sebagainya. [4]

2.5 Preprocessing

Preprocessing merupakan proses untuk menyeleksi data yang akan diproses

agar dapat menghasilkan data yang baik dan sudah terstruktur. Tahapan

preprocessing dalam Natural Language Processing diantaranya sebagai berikut :

9
2.5.1 Cleaning Text

Cleaning text merupakan proses untuk membersihkan tweets dari

data yang tidak diperlukan seperti mention (@), hashtags (#), RT, link

(www), dan number (0-9).

2.5.2 Case Folding

Case folding merupakan proses perubahan semua huruf pada

dokumen tweet menjadi huruf kecil (lowercase). Hanya huruf a sampai z

yang diproses, karakter selain huruf itu akan dibiarkan. [5]

2.5.3 Tokenizing

Tokenizing Pada tahap ini, kalimat dipotong atau dipecah

berdasarkan tiap kata yang menyusunnya. [5]

2.5.4 Filtering

Filtering merupakan tahap pembuangan kata-kata yang dianggap

tidak penting. Langkah ini dilakukan supaya perhitungan lebih berfokus

pada kata-kata yang jauh lebih penting. [5]

2.5.5 Stemming

Stemming adalah tahap mencari root (bentuk dasar) dari tiap kata.

Pada tahap ini, dilakukan proses pengembalian berbagai bentukan kata ke

dalam suatu reprsentasi yang sama. [5]

10
2.6 Python

Python adalah bahasa pemrograman model skrip (scripting language) yang

berorientasi obyek. Python dapat digunakan untuk berbagai keperluan

pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem

operasi. Python merupakan bahasa pemrograman yang freeware atau perangkat

bebas dalam arti sebenarnya, tidak ada batasan dalam penyalinannya atau

mendistribusikannya. Lengkap dengan source codenya, debugger dan profiler,

antarmuka yang terkandung di dalamnya untuk pelayanan antarmuka, fungsi

sistem, GUI (antarmuka pengguna grafis), dan basis datanya [6]

Adaapun library python yang digunakan pada penelitian ini sebagai berikut :

2.6.1 Natural Language Toolkit (NLTK)

Natural Language Toolkit (NLTK) adalah rangkaian perpustakaan

dan program untuk simbolis Natural Language Processing (NLP) dan

statistik untuk bahasa Inggris yang ditulis dengan bahasa pemrograman

Python. NLTK dikembangkan oleh Steven Bird dan Edward Loper di

Departemen Ilmu Komputer dan Informasi di University of Pennsylvania.

NLTK termasuk grafis demonstrasi dan disertai dengan sebuah buku yang

menjelaskan konsep-konsep yang mendasarinya di balik tugas natural

language yang didukung oleh toolkit.

NLTK dimaksudkan untuk mendukung penelitian dan pengajaran di

NLP atau bidang yang terkait erat, termasuk linguistik empiris, ilmu

kognitif, kecerdasan buatan (AI), pencarian informasi, dan machine

learning. NLTK telah berhasil digunakan sebagai alat pengajaran, sebagai

11
alat belajar individu, dan sebagai platform untuk membuat prototipe dan

membangun sistem penelitian. NLTK mendukung klasifikasi, tokenization,

stemming, tagging, parsing, dan fungsi penalaran semantik. [4]

2.6.2 Pandas

Pandas dapat mengolah suatu data dan mengolahnya seperti join,

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

punya fitur seperti SQL.

2.6.3 Numpy

Numpy adalah paket dasar Python guna keperluan komputasi

saintifik. Pada dasarnya adalah library untuk bahasa pemrograman Python

yang mendukung perhitungan operasi array multi dimensi dan matriks

beserta dengan kumpulan fungsi matematika tingkat tinggi. [7]

2.6.4 Matplotlib

Matplotlib membantu untuk memvisualisasikan data dengan lebih

indah dan rapi. Ada plot untuk menampilkan data secara 2D atau 3D.

Matplotlib pun terintegrasi dengan Python Notebook atau Jupyter.

Matplotlib adalah library paling banyak digunakan oleh data science untuk

menyajikan datanya ke dalam visual yang lebih baik.

12
2.6.5 Sastrawi

Sastrawi adalah library sederhana yang memungkinkan untuk

mereduksi kata-kata infleksi dalam Bahasa Indonesia ke bentuk dasarnya

(stem). Terlepas dari kesederhanaannya, library ini dirancang berkualitas

tinggi dan didokumentasikan dengan baik. [8]

2.6.6 Tweepy

Tweepy adalah sebuah paket atau library bahasa pemrograman

python, yang memungkinkan kita untuk melakukan interaksi dengan API

yang telah disediakan oleh Twitter dengan mudah. Tweepy mendukung

akses ke Twitter Basic Authentication dan OAuth. OAuth membutuhkan

consumer key, consumer secret, access token, access token secret yang

didapatkan secara gratis dengan mendaftar di situs https://dev.twitter.com.

Setelah mendaftar maka buatlah aplikasi pada

https://apps.twitter.com setelah membuat aplikasi maka akan mendapatklan

kunci-kunci tersebut. Keempat kunci tersebut akan digunakan sebagai

pengidentifikasi user dan disarankan untuk menjaga kerahasaiaan kunci,

[13]

2.7 Lexicon based

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

sebagai sumber Bahasa atau leksikal. [9]

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

digunakan untuk pemberian bobot polaritas hasil preprocessing sehingga didapat

sentimen positif dan negatif.

2.8 Python Flask

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

Flask Cors merupakan ekstensi flask untuk menangani Cross Origin

Resource Sharing (CORS), sehingga membuat AJAX menjadi mungkin.

2.8.2 Flask-SQLAlchemy

Flask-SQLAlchemy adalah ekstensi untuk Flask yang

menambahkan dukungan untuk SQLAlchemy ke aplikasi. Tujuannya untuk

menyederhanakan penggunaan SQLAlchemy dengan Flask yang

membuatnya lebih mudah untuk menyelesaikan tugas-tugas umum.

2.8.3 PyMySQL

PyMySQL merupakan sebuah antarmuka untuk menghubungkan ke

server database MySQL dari Python.

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

sangat berpendirian. [11]

2.10 MySQL

MySQL adalah sebuah implementasi dari sistem manajemen basis data

relasional yang mempunyai kompatibel dengan berbagai sistem operasi. MySQL

adalah DBMS yang open source dengan dua bentuk lisensi, yaitu Free Software

(perangkat lunak bebas) dan Shareware (perangkat lunak berpemilik yang

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]

2.11 Roadmap Penelitian

Roadmap Penelitian merupakan suatu rancangan, atau rencana, gagasan

tujuan, dan cara pencapaian tujuan dari suatu bidang atau suatu hal yang ingin

dikembangkan untuk masa depan. Roadmap disusun berdasarkan pengetahuan dan

pengalaman sejumlah orang. Roadmap dirumuskan untuk suatu penelitian yang

direncanakan atau yang ingin dilakukan oleh seseorang secara individu atau secara

berkelompok oleh suatu instansi atau lembaga.

15
Dalam penelitian, roadmap dibuat untuk memberi arah terhadap penelitian

yang dilakukan demi pencapaian tujuan penelitian secara maksimal baik secara

kualitatif maupun kuantitatif.

a. “DETEKSI EMOSI MEDIA SOSIAL MENGGUNAKAN

PENDEKATAN LEKSIKON DAN NATURAL LANGUAGE

PROCESSING” Oleh Arif Nur Rohman, Ema Utami, dan Suwanto

Raharjo.

b. “COMPARISON OF SENTIMENT ANALYSIS FROM LARGE

TWITTER DATASETS BY NAÏVE BAYES AND NATURAL

LANGUAGE PROCESSING METHODS” Oleh Bong-Hyun Back dan Il-

Kyu Ha.

c. “APLIKASI SENTIMENT ANALYS DATA MINING PADA

TWITTER DENGAN METODE NAIVE BAYES TERHADAP

PRODUK INDOMIE” Oleh Sugianto, Liza Safitri, dan Titania Pricillia.

d. “ANALISIS SENTIMEN PADA ULASAN PEMBELIAN PRODUK

DI MARKETPLACE SHOPEE MENGGUNAKAN PENDEKATAN

NATURAL LANGUAGE PROCESSING” Oleh Elik Hari Muktafin,

Kusrini, dan Emha Taufiq Luthfi.

e. “NATURAL LANGUAGE PROCESSING UNTUK ANALISIS

SENTIMEN PRESIDEN JOKOWI MENGGUNAKAN MULTI

LAYER PERCEPTRON” Oleh Nico Munasatya dan Sendi Novianto.

16
Tabel Jurnal Penelitian 2.1

No Judul (Tahun) Penulis Masalah Metode Hasil Resume


1 Aplikasi Sugianto, Analisis Naïve Bayes Data diambil
Sentiment Liza Safitri, Sentimen di Twitter
Analys Data Titania komsumen menggunakan
Mining Pada Pricillia produk Tweepy dan
Twitter indomie pada mengolah
Dengan media social data menggunakan
Metode Naive Twitter metode Naïve
Bayes Bayes yang
Terhadap diimplementasi
Produk kedalam Python
Indomie dan Natural
(2018) [13] Language Toolkit

.
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

Pembelian Produk di Marketplace Shopee Menggunakan Pendekatan Natural

Language Processing”, hal ini menjadi referensi yang paling tepat dan bisa

dijadikan langkah untuk perancangan sistem, maka akan dilakukan pemodelan

sistem untuk analisis sentimen menggunakan Natural Language Processing dan

leksikon sentimen Indonesia.

18
BAB III

ANALISIS SISTEM

3.1 Deskripsi Sistem

Analisis sentimen masyarakat terhadap vaksin Covid-19 pada media sosial

Twitter metode Natural Language Processing dan leksikon sentimen Indonesia

merupakan pemodelan sistem yang akan dibangun pada bahasa pemrograman

python. Adapun gambaran umum pemodelan sistem pada penelitian ini sebagai

berikut :

Gambar 3.1 Deskripsi Pemodelan Sistem

Pemodelan sistem seperti yang dapat dilihat pada gambar 3.1 bahwa,

komunitas online di Kaggel.com dapat menjadi sumber untuk mendapatkan dataset

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,

case folding, tokenizing, filtering, dan stemming.

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

polaritas dari teks preprocessing sehingga mendapatlan hasil analisis sentimen

positif dan negatif. Terakhir membuat model pipeline sebagai bag of words dan

kemudian digunakan untuk melatih classifier pada backend sistem. Adapun

gambaran umum backend dan frontend sistem pada penelitian ini sebagai berikut :

Gambar 3.2 Deskripsi Backend dan Frontend Sistem

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

digunakan oleh user untuk analisis sentimen pada suatu website.

20
3.2 Analisis Kebutuhan Sistem

Analisis kebutuhan sistem dalam penelitian ini menjelaskan hal yang harus

ada pada sistem sehingga dapat mencapai tujuan utamanya.

3.2.1 Pipeline

Pipeline adalah cara yang mudah untuk menggunakan model untuk

inferensi. Pipeline adalah objek yang mengabstraksi sebagian besar kode

kompleks dari library, menawarkan API sederhana yang didedikasikan

untuk beberapa tugas, termasuk Named Entity Recognition, Masked

Language Modeling, Sentiment Analysis, Feature Extraction and Question

Answering.

3.2.2 Dataset

Dataset tweets pada penelitian ini diambil dari komunitas online

Kaggle.com tentang vaksin corona berbahasa Indonesia pada bulan januari

sampai dengan maret 2021 dalam bentuk file .csv dengan jumlah data

10.058 tweets.

3.2.3 Penggunaan Library Python

JupyterLab digunakan untuk membangun pemodelan sistem pada

penelitian ini, adapun library python yang digunkan sebagai berikut :

1. Pandas

Berfungsi untuk memuat dataset menjadi data frame atau

tabel/data tabular dengan array dua dimensi yaitu baris dan

kolom.

21
2. NLTK

Berfungsi untuk string processing yaitu membuat tokenisasi atau

pemisahan string/teks menjadi daftar token dan accessing

corpora yaitu hapus stopwords dalam teks atau mengambil kata

penting dalam teks.

3. Sastrawi

Berfungsi untuk stemming atau mentransofrmasikan kata

menjadi kata dasarnya (root) dalam Bahasa Indonesia dengan

menghilangkan semua imbuhan kata meliputi awalan kata,

sisipin kata, dan akhiran kata.

4. Matplotlib

Berfungsi untuk memvisualisasikan analisis sentimen secara 2D

maupun 3D didalam Python dan menghasilkan gambar

berkualitas dalam berbagai format.

5. Wordcloud

Berfungsi untuk menampilkan teks hasil preprocessing secara

visual meliputi kata yang sering muncul, kata positif terbanyak,

dan kata negatif terbanyak.

6. Sklearn

Berfungsi untuk membangun model pembelajaran mesin

meliputi split data menjadi train dan test, membuat confusion

matrix, melihat accuracy score, dan menggunakan pipeline.

22
7. Pickle

Berfungsi untuk menyimpan data hasil analisis sentimen ke

dalam file model pipeline yang akan digunkan untuk membantu

klasifikasi backend sistem.

3.3 Analisis Teori

Analisis sentimen adalah proses dalam memahami dan mengelompokkan

emosi (positif dan negatif) yang terdapat dalam tulisan menggunakan teknik

analisis teks. Dalam implementasi analisis sentimen pada penelitian ini

menggunakan media sosial Twitter sebagai tempat untuk mengetahui tanggapan

masyarakat tentang vaksin Covid-19 di Indonesia dengan menerapkan Natural

Language Processing dan leksikon sentiment Indonesia. Cara kerja dari Natural

Language Processing mengolah data tweets yang tidak struktural menjadi data

tweets yang struktural melalui proses preprocessing meliputi cleaning, case

folding, tokenizing, filtering, dan stemming. Adapun penjelasan dari masing-masing

tahapan tersebut antara lain :

1. Cleaning merupakan tahap membersihkan tweets dari data yang tidak perlu

seperti mentions, hashtags, RT, Link, dan number seperti pada tabel 3.1

berikut :

Tabel 3.1 Cleaning


Sebelum Sesudah
#vaksin #corona Ayo dukung Ayo dukung program vaksinasi
program vaksinasi corona, supaya corona supaya warga bebas dari
warga bebas dari virus corona. virus corona
https://t.co/zI3OIVyQvZ

23
2. Case Folding merupakan tahap mengubah semua huruf yang terdapat pada

tweets menjadi huruf kecil (lower case). Hanya huruf “a-z” yang dapat

diterima seperti pada tabel 3.2 berikut :

Tabel 3.2 Case Folding

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

menyusunnya. Secara garis besar memecah sekumpulan karakter dalam

suatu teks ke dalam satuan kata seperti pada tabel 3.3 berikut :

Tabel 3.3 Tokenizing

Sebelum Sesudah
ayo dukung program vaksinasi [‘ayo’,’dukung’,’program’,
corona supaya warga bebas dari ’vaksinasi’,corona’,’supaya’,
virus corona ‘warga’,’bebas’,’dari’,
’virus’,’corona’]

4. Filtering adalah tahap mengambil kata-kata yang dianggap penting. Pada

penelitian ini menggunakan stopword Bahasa Indonesia yang didapatkan

dari library NLTK untuk filtering terhadap Dataframe seperti pada tabel 3.4

berikut :

Tabel 3.4 Filtering

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 :

Tabel 3.5 Stemming

Sebelum Sesudah
Program Program
Vaksinasi Vaksin
Corona Corona

3.4 Analisis Kasus

Pada bagian ini akan dibuatkan sebuah ilustrasi untuk menunjukkan cara

kerja metode Natural Language Processing dan leksikon sentimen Indonesia

dengan menggunakan contoh kasus tweets seperti pada tabel 3.6 sebagai berikut :

Tabel 3.6 Contoh Kasus Tweets

No Nama Teks Sentimen


vaksin untuk kita sehat #indonesia
1 Ba***********to ?
https://t.co/URgujrcKUn
Sistem satu data mendukung Vaksinasi di
Indonesia #Vaksin #Covid19
2 In*********ah ?
#CoronaVirus #Kesehatan
https://t.co/gqyLHMdhOh
Perbarui pola hidup baru #anda . masa
#virus akan segera berakhir.\n\nAkan
3 M**a ?
datang masa normal
https://t.co/fp65wM0xAA

Pada tahap pertama akan dilakukan preprocessing tweets meliputi cleaning,

case folding, tokenizing, filtering, dan stemming.

25
1. Proses Cleaning

Tabel 3.7 Proses Cleaning

No Sebelum Cleaning Sesudah Cleaning


1 vaksin untuk kita sehat #indonesia vaksin untuk kita
https://t.co/URgujrcKUn sehat
2 Sistem satu data mendukung Vaksinasi di Sistem satu data
Indonesia #Vaksin #Covid19 mendukung Vaksinasi
#CoronaVirus #Kesehatan di Indonesia
https://t.co/gqyLHMdhOh
3 Perbarui pola hidup baru #anda . masa Perbarui pola hidup
#virus akan segera berakhir. Akan datang baru masa Akan
masa normal https://t.co/fp65wM0xAA segera berakhir Akan
datang masa normal

Pada tabel 3.7 terlihat bahwa link seperti https://t.co/URgujrcKUn,

https://t.co/gqyLHMdhOh, dan https://t.co/fp65wM0xAA dihapus.

Selanjutnya hashtags seperti #Vaksin #Covid19 #CoronaVirus #Kesehatan

#virus juga dihapus.

2. Proses Case Folding

Tabel 3.8 Proses Case Folding

No Sebelum Case Folding Sesudah Case Folding


1 vaksin untuk kita sehat vaksin untuk kita sehat
2 Sistem satu data mendukung sistem satu data mendukung
Vaksinasi di Indonesia vaksinasi di indonesia
3 Perbarui pola hidup baru masa perbarui pola hidup baru masa
Akan segera berakhir Akan akan segera berakhir akan
datang masa normal datang masa normal

Pada tabel 3.8 terlihat bahwa huruf besar (uppercase) berubah

menjadi kecil (lowercase) seperti “Sistem” jadi “sistem” atau “Perbarui”

jadi “perbarui”.

26
3. Proses Tokenizing

Tabel 3.9 Proses Tokenazing

No Sebelum Tokenizing Sesudah Tokenizing


1 vaksin untuk kita sehat [“vaksin”, ”untuk”, “kita” “sehat”]
2 sistem satu data [“sistem”, “satu”, “data”,
mendukung vaksinasi di “mendukung”, “vaksinasi”, “di”,
indonesia “Indonesia”]
3 perbarui pola hidup baru [“perbarui”, “pola”, “hidup”, “baru”,
masa akan segera berakhir “masa”, “akan”, “segera”, “berakhir”,
akan datang masa normal “akan”, “datang” “masa”, “normal”]

Pada tabel 3.9 terlihat bahwa string/teks menjadi daftar token seperti

“vaksin untuk kita sehat” menjadi [“vaksin”, ”untuk”, “kita” “sehat”].

4. Proses Filterinng

Tabel 3.10 Proses Filtering

No Sebelum Filterinng Sesudah Filterinng


1 [“vaksin”, ”untuk”, “kita” “sehat”] [“vaksin”, “sehat”]
2 [“sistem”, “satu”, “data”, [“sistem”, “data”,
“mendukung”, “vaksinasi”, “di”, “mendukung”,
“Indonesia”] “vaksinasi”, “Indonesia”]
3 [“perbarui”, “pola”, “hidup”, “baru”, [“perbarui”, “pola”,
“masa”, “akan”, “segera”, “berakhir”, “hidup”, “masa”, “akhir”,
“akan”, “datang” “masa”, “normal”] “datang”, “normal”]

Pada tabel 3.10 terlihat bahwa kata seperti “untuk”, “di”, atau “kita”

dihapus karena dianggap kurang penting.

5. Proses Stemming

Tabel 3.11 Proses Stemming

No Sebelum Stemming Sesudah Stemming


1 [“vaksin”, “sehat”] [“vaksin”, “sehat”]
2 [“sistem”, “data”, “mendukung”, [“sistem”, “data”, “dukung”,
“vaksinasi”, “Indonesia”] “vaksin”, “Indonesia”]

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)

seperti “mendukung” menjadi “dukung” atau “perbarui” menjadi “baru”.

Selanjutnya akan dilakukan proses pemberian bobot tiap katanya pada hasil

preprocessing menggunakan leksikon sentimen Indonesia. Setelah semua kata yang

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.

Tabel 3.11 Pemberian Bobot Leksikon Sentimen Indonesia

No Teks Hasil Processing Nilai Skor Polaritas


vaksin 2
1 6
sehat 4
sistem -4
data 3
2 dukung 4 10
vaksin 2
Indonesia 5
baru 4
pola 4
hidup 4
3 masa -2 9
akhir -5
datang 1
normal 3

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

No Nama Teks Sentimen


vaksin untuk kita sehat #indonesia
1 Ba***********to positif
https://t.co/URgujrcKUn
Sistem satu data mendukung Vaksinasi di
Indonesia #Vaksin #Covid19
2 In*********ah positif
#CoronaVirus #Kesehatan
https://t.co/gqyLHMdhOh
Perbarui pola hidup baru #anda . masa
#virus akan segera berakhir.\n\nAkan
3 M**a positif
datang masa normal
https://t.co/fp65wM0xAA

3.5 Analisis Fungsionalitas

Berikut proses-proses yang akan disediakan oleh bagian frontend sistem

adalah sebagai berikut :

1. New Hashtag yaitu membuat hashtag baru yang akan disimpan dalam

database.

2. Update Hashtag yaitu mengedit hashtag yang ada didalam database.

3. Delete Hashtag yaitu menghapus hashtag yang ada didalam database.

4. Fetch Data yaitu crawling data tweets pada Twitter berdasarkan

hashtags.

5. View Dashboard yaitu untuk melihat hasil analisis sentimen dengan

tampilan dashboard.

6. View Tweet yaitu untuk melihat tweets hasil analisis sentimen.

29
3.6 Analisis Pengguna

Pengguna adalah pihak-pihak tertentu untuk kepentingan evaluasi seperti

tim medis atau pemerintah terhadap perlu tidaknya dilakukan edukasi atau

penyuluhan terkait vaksin Covid-19.

3.7 Evaluasi Sistem

Penerapan Natural Language Processing dan leksikon sentimen Indonesia

sebagai pemodelan sistem dan diimplementasikan pada Python Flask dan Vue.js

dapat digunakan untuk menentukan tanggapan masyarakat di media sosial Twitter

terhadap vaksin Covid-19, dimana menghasilkan sentimen positif dan negatif.

30
BAB IV

PERANCANGAN SISTEM

4.1 Metode Perancangan

Setelah dilakukan tahap analisis, tahap selanjutnya adalah tahap

perancangan sistem. Perancangan sistem merupakan suatu proses atau perencanaan

sebuah sistem yang akan dibangun dan merupakan tahap lanjutan dari analisis

sistem, dimana pada perancangan sistem digambarkan rancangan sistem yang akan

dibangun sebelum dilakukan pengkodean suatu bahasa pemrograman. Metode

perancangan yang digunakan dalam pembuatan analisis sentimen pada media sosial

Twitter tentang vaskin corona dengan Natural Language Processing ini

menggunakan UML (Unified Modeling Language).

4.2 Perancangan Prosedural

Perancangan ini akan memberikan gambaran mengenai proses – proses dan

aliran data apa saja yang akan terlibat dalam sistem yang akan dibangun.

4.2.1 UML (Unified Modeling Language).

UML (Unified Modeling Language) adalah sekumpulan diagram

yang digunakan untuk melakukan abstraksi terhadap sebuah sistem atau

perangkat lunak berbasis objek. UML dapat digunakan untuk

mempermudah pengembangan aplikasi yang berkelanjutan.

4.2.2 Use Case Diagram

Use Case Diagram menggambarkan fungsionalitas yang diharapkan

dari sebuah sistem. Sebuah use case mereprensentasikan interaksi antara

31
aktor dengan sistem. Berikut merupakan use case diagram yang telah

dirancang pada gambar 4.1 sebagai berikut :

Gambar 4.1 Use Case Diagram

4.2.3 Class Diagram

Class Diagram menggambarkan struktur sistem dari segi

pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem.

Berikut merupakan class diagram yang telah dirancang pada gambar 4.2

sebagai berikut :

Gambar 4.2 Class Diagram

32
4.2.4 Sequence Diagram

Sequence Diagram menggambarkan kelakuan objek pada use case

dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan

dan diterima antar objek. Berikut merupakan sequence diagram yang telah

dirancang pada gambar 4.3 dan gambar 4.4 sebagai berikut :

Gambar 4.3 Sequence Diagram Hashtags

33
Gambar 4.4 Sequence Diagram Tweets

4.2.5 Activity Diagram

Activity Diagram menggambarkan workflow (aliran kerja) atau aktivitas

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

data yang dibutuhkan untuk mendukung berbagai rancangan system

4.3.1 Struktur Tabel

Perancangan struktur tabel ditujukan untuk menentukan nama filed,

tipe field dan size yang akan dibuat. Berikut rancangan struktur tabel

Analisis Sentimen menggunakan Natural Language Processing dengan

Python Flash dan Vue.

a. Tabel hashtag

Nama tabel : hashtag

Primary key : id

Jumlah field : 2

Tabel 4.1 Tabel Hashtag


No Nama field Tipe data Size Keterangan
1 id int 11 Primary key
2 hashtag text -

b. Tabel tweet

Nama tabel : tweet

Primary key : id

Jumlah field : 6

Tabel 4.2 Tabel Tweet

No Nama field Tipe data Size Keterangan


1 id int 11 Primary key
2 search_val text -
3 created_at datetime -
4 user_name text

37
5 text text -
6 classification_re int 1
sult

4.4 Perancangan Antarmuka (Interfaces)

Perancangan antar muka dibuat untuk mengambarkan interaksi pengguna

dengan komputer. Berikut perancangan antar muka Natural Language Processing

dengan Python Flash dan Vue.

4.4.1. Halawan Home

Gambar 4.5 Home

4.4.2. Halaman New Hashtags

Gambar 4.6 New Hashtag

38
4.4.3. Halaman List Hashtags

Gambar 4.7 List Hashtag

4.4.4. Halaman View Dashboard Analisis Sentimen

Gambar 4.8 View Dashboard Analisis Sentimen

39
BAB V

IMPLEMENTASI DAN PENGUJIAN SISTEM

5.1 Implementasi Sistem

Implementasi sistem merupakan tahapan yang dilakukan setelah analisis

dan perancangan dari pemodelan sistem menggunakan Natural Language

Processing dan leksikon sentimen Indonesia. Dari implementasi sistem ini akan

dihasilkan sebuah aplikasi yang dibuat melalui kode-kode pemrograman sehingga

dapat digunakan sesuai dengan tujuan dari permasalahan yang akan diselesaikan

dalam penelitian ini yaitu analisis sentimen masyarakat terhadap vaksin Covid-19

pada media sosial Twitter.

5.1.1 Spesifikasi Kebutuhan Perangkat Keras (Hardware)

Spesifikasi kebutuhan perangkat keras yang digunakan dalam

pengimplementasian sistem aplikasi analisis sentimen masyarakat terhadap

vaksin Covid-19 pada media sosial Twitter adalah sebagai berikut :

1. Processor AMD A10-9600P RADEON R5, 10 COMPUTE CORES

4C+6G (4 CPUs), ~2.4GHz.

2. Memory 8192MB RAM

3. Hard Disk 1 TB.

4. Koneksi Internet.

5. Monitor, Keyboard, dan Mouse.

40
Spesifikasi kebutuhan perangkat keras yang digunakan akan

mempengaruhi output yang dihasilkan melalui proses pengujian sistem.

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

masyarakat terhadap vaksin Covid-19 pada media sosial Twitter.

5.1.2 Spesifikasi Kebutuhan Perangkat Lunak (Software)

Spesifikasi kebutuhan perangkat lunak yang digunakan dalam

pengimplementasian sistem aplikasi analisis sentimen masyarakat terhadap

vaksin Covid-19 pada media sosial Twitter adalah sebagai berikut :

1. Windows 10 Pro 64-bit.

2. Python 3.6.8.

3. Library : Pandas, Numpy, Matplotlib, Sklearn, NLTK, Sastrawi.

4. JupyterLab.

5. Python Flask.

6. Vue js.

7. MySQL.

Pada bagian ini akan dijelaskan bagaimana rancangan tampilan ini

diaplikasikan. Di bawah ini adalah hasil dari pemodelan sistem

menggunakan Jupyter Lab dan interface yang nantinya akan digunakan oleh

pengguna menggunakan Python Flask dan Vue.js.

41
5.1.3 Hasil Pemodelan Sistem

a. Pie Chart Polaritas Sentimen Vaksin Covid-19

Gambar 5.1 Pie Chart Polaritas Sentimen Vaksin Corona

b. Tweets Vaksin Covid-19 Positif Teratas

Gambar 5.2 Tweets Vaksin Covid-19 Positif Teratas

c. Tweets Vaksin Covid-19 Negatif Teratas

Gambar 5.3 Tweets Vaksin Covid-19 Negatif Teratas

42
d. Wordcloud Tweets Vaksin Covid-19

Gambar 5.4 Wordcloud Tweets Vaksin Covid-19

e. Wordcloud Tweets Vaksin Covid-19 Positif dan Negatif

Gambar 5.5 Wordcloud Tweets Vaksin Covid-19 Positif dan


Negatif

f. Confusion Matrix dari Pemodelan Sistem

Gambar 5.6 Confusion Matrix Dari Pemodelan Sistem

43
5.1.4 Interface Sistem

a. Halaman Home

Gambar 5.7 Halaman Home

b. Halaman Hashtag

Gambar 5.8 Halaman Hashtag

c. Halaman New Hashtag

Gambar 5.9 Halaman New Hashtag

44
d. Halaman Tweet

Gambar 5.10 Halaman Tweet

45
e. Halaman Dashboard

Gambar 5.11 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

box pada frontend.

46
Tabel 5.1 Pengujian Black Box

Kelas Uji Yang diuji Output Status


Berhasil
Tambah hashtag menambah
hashtag
Berhasil
Hashtag Edit hashtag OK
mengedit hashtag
Berhasil
Hapus hashtag menghapus
hashtag
Berhasil
Crawling tweets
Fetch Data crawling tweets OK
sesuai hashtag
sesuai hashtag
Berhasil melihat
Melihat halaman
halaman
View Dashboard dashboard OK
dashbboard
analisis sentimen
analisis sentimen
Berhasil melihat
Melihat tweets
View Tweet tweets analisis OK
analisis sentimen
sentimen

47
BAB VI

PENUTUP

6.1 Kesimpulan

Analisis sentimen masyarakat dengan pemodelan sistem Natural Language

Processing dan leksikon sentimen Indonesia yang di implementasikan pada Python

Flask dan Vue.js terhadap vaksin Covid-19 di Twitter. Berikut kesimpulan yang

didapat dari proses analisis, perancangan, dan implementasi sistem.

1. Hasil analisis sentimen masyarakat terhadap vaksin Covid-19 pada media

sosial Twitter dari pemodelan sistem menggunakan Natural Language

Processing dan leksikon sentimen Indonesia di bulan januari sampai dengan

maret dengan total tweets 3757 adalah 2314 (61,6%) positif dan 1443

(38,4%) negatif.

2. Hasil analisis sentimen pada pemodelan sistem menggunakan confusion

matrix mendapat skor akurasi sebesar 0.7845744680851063 atau 78%,

3. Implementasi sistem dari pemodelan sistem menggunakan Python Flask

(backend) dan Vue.js (frontend) berjalan dengan baik dan lebih fleksibel

karena bisa analisis sentimen berdasarkan hashtags tertentu.

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 :

1. Melakukan normalisasi kata pada pemodelan sistem (merubah kata menjadi

kata baku) tweets/teks pada proses preprocessing.

48
2. Menggunakan TD-IDF (pembobotan kata) atau algoritma dalam penentuan

analisis sentimen untuk dapat skor akurasi lebih dari 78%.

3. Dapat menampilkan inputan jumlah tweets untuk fetch data pada bagian

frontend.

4. Dapat menampilkan tweets sebelum dan sesudah preprocessing pada bagian

frontend.

5. Klasifikasi sentimen ke dalam kelas positif, negatif dan netral.

49
DAFTAR PUSTAKA

[1] F. Ratnawati, “Implementasi Algoritma Naive Bayes Terhadap Analisis

Sentimen Opini Film Pada Twitter,” INOVTEK Polbeng - Seri Inform., vol.

3, no. 1, 2018, doi: 10.35314/isi.v3i1.335.

[2] W. Medhat, A. Hassan, and H. Korashy, “Sentiment analysis algorithms and

applications: A survey,” Ain Shams Eng. J., vol. 5, no. 4, 2014, doi:

10.1016/j.asej.2014.04.011.

[3] I. Rozi, S. Pramono, and E. Dahlan, “Implementasi Opinion Mining

(Analisis Sentimen) Untuk Ekstraksi Data Opini Publik Pada Perguruan

Tinggi,” J. EECCIS, vol. 6, no. 1, 2012.

[4] J. Yao, “Automated Sentiment Analysis of Text Data with NLTK,” in

Journal of Physics: Conference Series, 2019, vol. 1187, no. 5, doi:

10.1088/1742-6596/1187/5/052020.

[5] A. Deviyanto and M. D. R. Wahyudi, “PENERAPAN ANALISIS

SENTIMEN PADA PENGGUNA TWITTER MENGGUNAKAN

METODE K-NEAREST NEIGHBOR,” JISKA (Jurnal Inform. Sunan

Kalijaga), vol. 3, no. 1, 2018, doi: 10.14421/jiska.2018.31-01.

[6] T. R. Perkasa, H. Widyantara, and P. Susanto, “Rancang Bangun Pendeteksi

Gerak Menggunakan Metode Image Substraction Pada Single Board

Computer (SBC),” J. Control Netw. Syst., vol. 3, no. 2, 2014.


[7] T. T. Saputro, “Belajar Numpy dengan Anaconda : Memulai Menjalankan

Program - Subrutin,” 2 February 2019, 2019. https://subrutin.com/belajar-

numpy-dengan-anaconda-memulai-menjalankan-program/. Diakses pada 10

Juni 2021 pukul 18.30 WIB.

[8] H. A. Robbani, “Sastrawi,” MIT, 2016. .

[9] A. C. Najib, A. Irsyad, G. A. Qandi, and N. A. Rakhmawati, “Perbandingan

Metode Lexicon-based dan SVM untuk Analisis Sentimen Berbasis Ontologi

pada Kampanye Pilpres Indonesia Tahun 2019 di Twitter,” Fountain

Informatics J., vol. 4, no. 2, 2019, doi: 10.21111/fij.v4i2.3573.

[10] N. Chauhan, M. Singh, A. Verma, A. Parasher, and G. Budhiraja,

“Implementation of database using python flask framework,” Int. J. Eng.

Comput. Sci., vol. 8, no. 12, 2019, doi: 10.18535/ijecs/v8i12.4390.

[11] P. So, “Vue.js,” in Decoupled Drupal in Practice, 2018.

[12] Yasin, “Pengertian MySQL, Fungsi, dan Cara Kerjanya (Lengkap),”

Niagahoster Blog. 2019.

[13] S. Sugianto, L. Safitri, and T. Pricillia, “APLIKASI SENTIMENT ANALYS

DATA MINING PADA TWITTER DENGAN METODE NAIVE BAYES

TERHADAP PRODUK INDOMIE”, JURTIK STMIK Bandung, vol. 7, no.

1, pp. 87–93, Jun. 2018.

[14] B. H. Back and I. K. Ha, “Comparison of sentiment analysis from large

twitter datasets by naive bayes and natural language processing methods,” J.

Inf. Commun. Converg. Eng., vol. 17, no. 4, 2019, doi:

10.6109/jicce.2019.17.4.239.
[15] A. N. Rohman, E. Utami, and S. Raharjo, “Deteksi Kondisi Emosi pada

Media Sosial Menggunakan Pendekatan Leksikon dan Natural Language

Processing,” Eksplora Inform., vol. 9, no. 1, 2019, doi:

10.30864/eksplora.v9i1.277.

[16] E. H. Muktafin, K. Kusrini, and E. T. Luthfi, “Analisis Sentimen pada Ulasan

Pembelian Produk di Marketplace Shopee Menggunakan Pendekatan

Natural Language Processing,” J. Eksplora Inform., vol. 10, no. 1, 2020, doi:

10.30864/eksplora.v10i1.390.

[17] N. Munasatya and S. Novianto, “Natural Language Processing untuk

Sentimen Analisis Presiden Jokowi Menggunakan Multi Layer Perceptron,”

Techno.Com, vol. 19, no. 3, 2020, doi: 10.33633/tc.v19i3.3630.

Anda mungkin juga menyukai