Anda di halaman 1dari 21

PENERAPAN KLASIFIKASI ANALISIS SENTIMEN TWITTER TERHADAP TENAGA KERJA

ASING
Disusun untuk Memenuhi Tugas Metode Penelitian

Disusun Oleh :
RIZKI NARDIANTO
NIM : 180411100069

Dosen Pembimbing
Dr. Meidya Koeshardianto, S.Si., MT.

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS TRUNOJOYO MADURA
2021
BAB I
PENDAHULUAN
LATAR BELAKANG
Bertambahnya pengguna yang mengakses internet membuat sosial media menjadi
sangat populer di masyarakat. Dengan semakin maraknya pengguna media sosial,
masyarakat akan cenderung bersosialisasi dengan cara mengekspresikan opini melalui
sosial media yang ada seperti facebook, twitter, instagram, dan lain sebagainya.
Analisis sentimen menjadi salah satu cara yang dapat mempermudah dalam
mengetahui sebuah tren atau topik yang sedang banyak dibicarakan di masyarakat
melalui media sosial tersebut. Selain digunakan untuk mengetahui sebuah trend yang
sedang berkembang, analisis sentimen dapat digunakan untuk keperluan analisis
kebijakan publik oleh pemerintah. Contohnya pada kebijakan pemerintah dimana
pendapat masyarakat sebagai pemegang kekuasaan tertinggi dalam konstitusi di
Indonesia. Dengan melakukan analisis sentimen akan setiap pendapat yang diberikan
akan dianalisis sebagai salah satu pertimbangan dalam menentukan kebijakan publik.
Analisis sentimen yang dilakukan secara akurat dan terus-menerus akan memberikan
manfaat antara lain dapat mengetahui keinginan masyarakat, meningkatkan pelayanan
masyarakat yang kurang pada sektor tertentu, dan dapat mengetahui beberapa sektor
tertentu yang mengindikasikan pungutan liar dari aduan yang disampaikan oleh
masyarakat.
analisis sentimen merupakan kombinasi dari natural language processing (NLP) dan
teknik data mining (Lee, B. Pang and Lillian, 2008), hal tersebut dapat disebut juga
sebagai opinion mining atau polarity classification. Beberapa riset telah melakukan
serangkaian uji coba mengenai opinion mining. Riset tersebut meliputi pencarian
sebuah tren, prediksi suatu kejadian, maupun klasifikasi sentimen. Klasifikasi sentimen
berfokus pada mengidentifikasi sebuah opini atau pendapat pada sebuah tanggapan.
Analisis sentimen dapat dilakukan dengan menggunakan algoritma supervised, semi-
supervised, atau unsupervised pada machine learning serta pendekatan yang berbasi
kamus. Pada penerapannya penggunaan algoritma unsupervised learning merupakan
proses pengelompokan data yang tidak memiliki label. Sehingga peneliti bebas
menentukan berapa jumlah kelompok yang akan dibuat. Namun unsupervised learning
tidak memiliki outcome yang spesifik layaknya di supervised learning, hal ini
dikarenakan tidak adanya ground truth/ label dasar. Sedangkan algoritma supervised
learning merupakan proses pengelompokan data yang telah memiliki label dan akan
dikelompokkan berdasarkan labelnya. Untuk mendapatkan label tentunya harus
melakukan proses training terlebih dahulu. Namun algoritma supervised learning
dibatasi dalam berbagai arti sehingga tidak dapat menangani beberapa tugas kompleks
dalam pembelajaran mesin. Pembelajaran yang diawasi tidak dapat memberi Anda
informasi yang tidak diketahui dari data pelatihan seperti pembelajaran tanpa
pengawasan. Beberapa riset serta penelitian yang sudah pernah dilakukan yang
berkaitan dengan klasifikasi dan sering digunakan untuk metode klasifikasi adalah
Naive bayes classifier dan support vector machine(Handa, Santosa, & Winarno, 2016).
Penelitian yang dilakukan oleh (Edi Sutoyo & Ahmad Almaarif,2019) telah
membandingkan algoritma Support Vector Machine, K-Nearest Neighbor, Naïve Bayes
Classifier dan Logistic Regression didapatkan hasil algoritma yang terbaik adalah
Support Vector Machine dengan mengungguli 3 algoritma dengan hasil Akurasi,
Precision, Reccall, dan F-measure berturt-turt adalah 97,2%, 96,01%, 99,18%, dan
97,57%. Support Vector Machine (SVM) memiliki kelebihan dimana algoritma ini bisa
diterapkan untuk data yang memiliki dimensi tinggi, namun memiliki kekurangan yaitu
sulit digunakan untuk mengatasi data dengan jumlah yang relatif besar(Nugroho,
Witarto, & Handoko, 2003).
Penelitian berikutnya dilakukan oleh (Bustoni, Hidayatulloh, Ningtyas, Purwaningsih, &
Azahari, 2019) yang melakukan perbandingan Algoritma Support Vector Machine, K-
Nearest Neighbor, Artificial Neural Network (ANN), dan Random Forest dengan hasil
metode SVM dengan kernel Support Vector Classifier (SVC) dan Radial Basis Function
(RBF) dapat mencapai posisi tertinggi dan tercepat diperoleh dengan menggunakan
metode SVM dengan Stochastic Gradient Descent. Namun secara umum, performa
terbaik ditunjukan oleh algoritma Random Forest. Metode Random Forest dengan 100
dan 300 trees dapat mencapai akurasi sebesar 96% dalam waktu 0,45 menit. Random
Forest memiliki kelebihan yaitu dapat mengatasi noise dan missing value serta dapat
mengatasi data dalam jumlah yang besar. Namun Random Forest memiliki kekurangan
pada interpretasi yang sulit dan membutuhkan tuning model yang tepat untuk data.
Penulis pada penelitian ini akan melakukan analisis sentimen pada pengguna twitter
terhadap kebijakan pemerintah yang memasukkan tenaga kerja asing (TKA) asal
Tiongkok ketika wabah COVID-19 masih dalam masa penyebaran yang masif
menggunakan kombinasi dari metode term frequency - inverse document frequency
(TF-IDF) dan algoritma Support Vector Machine, K-Nearest Neighbor, dan Naïve Bayes
Classifier. Dengan inputan data tweet dalam bahasa Indonesia dan output berupa dua
jenis sentimen yaitu sentimen positif dan negatif.
TUJUAN PENELITIAN
Tujuan dari pembuatan tugas akhir ini adalah untuk melakukan klasifikasi sentimen
menggunakan Algoritma Support Vector Machine, K-Nearest Neighbor, dan Naïve
Bayes Classifier pada media sosial Twitter untuk mendapatkan hasil klasifikasi dengan
performa yang lebih baik.
RUMUSAN MASALAH
Rumusan masalah pada penelitian ini adalah:
1. Bagaimana algoritma Support Vector Machine, K-Nearest Neighbor, dan Naïve
Bayes Classifier dapat mengklasifikasikan opini positif, negatif, an netral dari
hasil kumpulan tweet opini dalam bahasa indonesia yang diperoleh?
2. Bagaimana hasil yang diperoleh dari ketika algoritma Support Vector Machine,
K-Nearest Neighbor, dan Naïve Bayes Classifier diimplementasikan dengan
Sistem Analisis Sentimen?
MANFAAT PENELITIAN
Manfaat dari penelitian ini adalah :
1. Mempermudah dalam melakukan analisa kebijakan publik yang diterapkan oleh
pemerintah.
2. Mengetahui cara melakukan klasifikasi sentimen menggunakan metode
Support Vector Machine, K-Nearest Neighbor, dan Naïve Bayes Classifier.
BATASAN MASALAH
Batasan masalah pada penelitian ini adalah :
1. Penulis hanya menggunakan Twitter sebagai sumber data.
2. Proses klasifikasi sentimen dilakukan pada tweet berbahasa Indonesia.
3. Data tweet yang diambil tidak real-time, melainkan hasil pengumpulan dalam
jangka waktu tertentu (tanggal 10 Juli 2021 sampai dengan 15 Juli 2021).
4. Data tweet yang diproses dalam pembuatan model merupakan tweet opini
diperoleh dari hasil anotasi atau pelabelan kelas secara manual.
5. Metode yang digunakan dalam klasifikasi sentimen adalah Algoritma Support
Vector Machine, K-Nearest Neighbor, dan Naïve Bayes Classifier.
6. Hasil dari klasifikasi adalah kelas positif, negatif dan netral.
SISTEMATIKA PENULISAN
BAB I PENDAHULUAN
Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian
yang akan dilakukan, serta metodologi penelitian dan sistematika penulisan
BAB II TINJAUAN PUSTAKA
Bab ini berisi penjelasan tentang teori-teori dan konsep algoritma yang digunakan
dalam penelitian.
BAB III METODOLOGI PEELITIAN
Bab ini berisi penjelasan perangkat-perangkat pendukung penelitian, proses rekayasa
sistem, serta penjadwalan untuk penelitian yang akan berlangsung.
BAB IV HASIL PENEITIAN DAN PEMBAHASAN
Berisi hasil penelitian yang telah dilakukan dan membahas perangkat lunak yang
dibangun serta mengukur tingkat keberhasilannya dalam menjawab permasalahan
yang diangkat.
BAB V KESIMPULAN DAN SARAN
Bagian ini menjelaskan kesimpulan yang merupakan jawaban dari masalah dalam
penelitian, serta berisi saran yang dapat menjadi rujukan untuk penelitian selanjutnya.

BAB II
TINJAUAN PUSTAKA
Pada bab ini akan membahas teori - teori yang berkaitan dengan permasalahan tugas
akhir.
ARTIFICIAL INTELLIGENCE
Artificial Intelligence dapat diartikan menjadi kecerdasan buatan. Kecerdasan buatan
merupakan ilmu yang mempelajari cara membuat komputer melakukan sesuatu
seperti yang dilakukan manusia. pada awalnya komputer hanya berfungsi sebagai alat
hitung, kemudian seiring dengan perkembangan jaman, maka komputer semakain
brkembang dan menjadi sesuatu yang penting bagi manusia. ). Kecerdasan buatan
berasal dari bahasa inggris “Artificial Intelligence” (AI), yaitu Intelligence yang
merupakan kata sifat yang berarti cerdas, sedangkan artificial artinya buatan.
Kecerdasan buatan yang dimaksud disini merujuk pada mesin yang mampu berpikir,
menimbang tindakan yang akan diambil, dan mampu mengambil keputusan seperti
yang dilakukan oleh manusia (Sutojo, 2011). Lingkup utama dalam kecerdasan buatan
adalah:
1. Sistem Pakar (Expert System).Komputer digunakan sebagai sarana untuk
menyimpan pengetahuan para pakar.
2. Pengenalan Ucapan (Speech Recognition). Melalui pengenalan ucapan
diharapkan manusia dapat berkomunikasi dengan komputer dengan
menggunakan suara.
3. Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai
tutor yang dapat melatih dan mengajar.
4. Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau
objek – objek tampak melalui komputer.
5. Game Playing
6. Robotika dan Sistem Sensor (Robotics dan Sensory Systems).
7. Pengolahan Bahasa Alami (Natural Language Processing). Dengan pengolahan
bahasa alami diharapkan pengguna dapat berkomunikasi dengan komputer
menggunakan bahasa sehari – hari.
NATURAL LANGUAGE PROCESSING
Natural Language Processing (NLP) adalah salah satu cabang dari ilmu Artificial
Intelligence (AI) yang berfokus pada pengolahan bahasa natural. NLP mempelajari dan
mgembangkan bagaimana koputer dapat mengerti, emahami, dan memproses bahasa
alami dalam bentuk teks atau turunan dari kata. Bahasa natural menerapkan bahasa
yang secara umum dipergunakan manusia dalam aktivitas berkomunikasi dan
bersosialisasi dengan aar manusia lainnya. NLP menganalisa bahasa manusia
sedemikian rupa sehingga komputer mampu memahami bahasa alami seperti halnya
manusia (Ghosh et al., 2012). NLP merupakan salah satu bidang antar disiplin yang
menggabungkan beberapa bidang keilmuan antara lain komputasi linguistik, ilmu
komputasi, ilmu kognitif, dan kecerdasan buatan. Pada umumnya NLP banyak
diterapkan dan diaplikasikan di berbagai hal seperti speech recognition, pemahaman
bahasa lisan, sistem dialog, analisis leksikal, mesin penerjemah, knowledge graph,
analisis sentimen, sistem pintar dan peringkasan bahasa alami.
Pada perkembangannya NLP menghasilkan kemungkinan dari suatu interface bahasa
natural menjadi knowledge base dan penterjemahan bahasa natural. Terdapat 3 aspek
utama pada teori pemahaman mengetahui natural language:
1. Syntax: menjelaskan bentuk dari suatu bahasa. syntax biasanya
dispesifikasikan oleh sebuah grammer.
2. Semantics: menjelaskan arti dari kalimat dalam suatu bahasa.
3. Pragmatics: menjelaskan bagaimana pernyataan yang ada berhubungan
dengan dunia. Untuk memahami suatu bahasa, agen harus mempertimbangkan
lebih dari hanya sekedar kalimat. dimana agen juga harus melihat lebih dalam
konteks kalimat, keadaan dunia, tujuan dari speaker dan listener, konvensi
khusus, dan sejenisnya.
4. Morfologi: menjelaskan pengetahuan tentang kata dan bentuknya sehingga
bisa dibedakan antara yang satu dengan yang lainnya.
5. Fonetik: menjelaskan segala hal yang terkait dengan suara yang menghasilkan
kata yang bisa untuk dikenali.
ANALISIS SENTIMEN
Analisis sentimen atau sentiment analysis merupakan teknik atau cara yang digunakan
untuk mengidentifikasi bagaimana sebuah sentimen diekspresikan serta bagaimana
sentimen tersebut bisa dikategorikan sebagai sentimen yang mengandung unsur
positif maupun negatif. Analisis sentimen juga bisa dikatakan sebagai sebuah opinion
mining. Analisis sentimen dapat digunakan dalam berbagai kemungkinan domain, dari
isu kesehatan, sosial dan politik, keuangan, konsumen produk, sampai ke berita
internasional. Nilai dari sentimen analisis dapat dibagi menjadi tiga kelompok utama
yaitu, sentimen positif, sentimen negatif, dan sentimen netral.
Analisis sentimen pada suatu kalimat menggambarkan bagaimana pertimbangan serta
penilaian masyarakat terhadap entitas atau kejadian tertentu(Pang, dkk. 2008).
Dimana Entitas adalah (Liu, 2012) produk, layanan, topik, isu, orang, organisasi, atau
peristiwa yang menjadi objek target pada kalimat sentimen. analisis sentimen juga
bertujuan untuk penilaian terhadap emosi, sikap, pendapat, evaluasi yang disampaikan
oleh seorang pembicara atau penulis terhadap sebuah produk atau terhadap pejabat
publik.
TENAGA KERJA ASING (TKA)
Menurut Boediono pengertian tenaga kerja asing adalah : “Tiap orang bukan warga
negara Indonesia yang mampu melakukan pekerjaan, baik di dalam maupun di luar
hubungan kerja, guna menghasilkan jasa atau barang untuk memenuhi kebutuhan
masyarakat.”
Pengertian Orang Asing Yang dimaksudkan dengan Orang Asing ialah orang bukan
warga negara Republik Indonesia. Ada 2 (dua) golongan orang di Indonesia yaitu :
a. Orang asing pendatang ialah mereka yang mendapatkan izin masuk (admission)
dengan memperoleh hak untuk tinggal di Indonesia dalam waktu tertentu yang
dikenal dengan tenaga asing pemegang visa.
b. Orang asing penetap ialah mereka yang diperbolehkan tinggal tetap di
Indonesia dan diwajibkan memperoleh izin menetap dengan memperoleh Surat
Keterangan Kependudukan (SKK), yang dikenal dengan tenaga asing atau
tenaga asing domestik.
TWITTER
Twitter merupakan sebuah situs jejaring sosial yang memunngkinkan pengggunanya
mengirim dan membaca pesan tweet berupa teks, gambar, ataupun dalam format
video. Twitter hanya memberikan sejumah 280 karakter yang bisa ditulis sebagai status
atau cuitan. Pengguna twitter sendiri bisa dari berbagai macam kalangan yang dapat
berinteraksi dengan teman, keluarga, rekan kerja, hingga orang yang baru dikenal di
aplikasi tersebut.
Twitter bersifat publik, yang berarti semua yag dituliskan atau dibagikan dapat dilihat
oleh semua pengguna lainnya, namun pengguna dari twitter dapat membatasi
pengiriman tweet kepada temannya saja atau lebih dikenal sebagai follower. Berbagai
macam manfaat dapat diperoleh dari tweet diawali dengan event detection (deteksi
kejadian, salah satunya bencana alam), prediksi pemilu, pergerakan pasar saham,
hingga penyebaran penyakit di suatu wilayah. Fitur utama pada twitter yaitu dapat
menuliskan status atau cuitan serta dapat melakukan pengiriman pesan kepada
pengguna lain. Fitur lain dari twitter adalah
1. Following
fitur ini dapat digunakan oleh pengguna untuk saling terhubung dengan
pengguna lain atau sering disebut sebagai pertemanan. setiap unggahan dari
teman pengguna yang telah di follow maka dapat dilihat pada beranda teman
yang telah mengikutinya
2. Direct Message
Direct Message merupakan pesan pribadi di twitter yang mana pengguna dapat
menggunakan fitur ini untuk melakukan percakapan pribadi dengan orang lain
tentang tweet dan komentar lainnya.
3. Retweet
Fitur ini merupakan fitur yang memudahkan pengguna untuk meneruskan atau
menyebarkan tweet pengguna lain sehingga tweet tersebut dapat muncul pada
beranda pribadi pengguna atau teman yang meretweet.
4. Hashtag
Hashtag yang ditulis dengan menggunakan simbol # digunakan untuk
mengindeks kata kunci atau topik pada twitter. salah satu fungsi dari hastag
yaitu mengelompokan pencarian terhadap kata kunci dari tweet.
5. Trending Topic
trending topik merupakan fitur yang menampilkan topi atau hashtag yang
sedang populer atau banyak dibasha oleh pengguna twitter pada waktu
tertentu. adayana fitur ini membuat pengguna mengetahui hal apa yang
sedang viral di kalangan masyarakat.

TWITTER API
Application Programming Interface (API) merupakan sebuah bahasa dan pesan format
yang digunakan oleh sebuah program aplikasi untuk berkomunikasi dengan sistem
operasi atau program pengendalian lainnya seperti sistem manajemen database
(DBMS) ataupun protokol komunikasi. API merupakan kumpulan dari fungsi-fungsi
untuk menggantikan bahasa yang dipakai dalam system calls dengan menggunakan
bahasa yang lebih terstruktur dan dapat dimengerti dengan mudah oleh programmer.
API diimplementasikan dengan menulis sebuah panggilan fungsi dalam program, yang
mana menyediakan hubungan ke subrutin yang diperlukan untuk dieksekusi. Fungsi
yang dibuat menggunakan API kemudian akan memanggil system calls sesuai dengan
sistem operasinya. Tidak menutup kemungkinan bahwa nama dari system calls sama
dengan nama pada API.
API bekerja dengan cara membantu aplikasi berinteraksi dengan library yang mengikuti
serangkaian aturan yang ditentukan sebelumnya oleh API itu sendiri. Salah satu contoh
dari pemanfaatan API adalah REST (Representational State Transfer) API dari Twitter,
yang mana API tersebut menyediakan akses read dan write data dengan
mengintegrasikan Twitter ke dalam aplikasi kita sendiri. API Twitter terdiri dari 3 (tiga)
bagian yaitu (Arifidin, 2016) :
1. Search API
Search API yang dirancang untuk memudahkan pengguna dalam mengelola
query search pada konten Twitter. Pengguna dapat menggunakannya untuk
mencari tweet berdasarkan keyword khusus atau mencari tweet yang lebih
spesifik berdasarkan username Twitter.
2. Representational State Transfer (REST) API
REST API dapat Mengizinkan developer untuk mengakses inti dari Twitter
seperti timeline, status update, dan informasi. REST API dapat digunakan dalam
membanguns ebuah aplikasi Twitter yang kompleks beserta memerlukan core
dari Twitter.
3. Streaming API
Streaming API digunakan oleh developer untuk keperluan yang lebih intensif
misalnya, melakukan penelitian dan analisis data. Streaming API dapat
menghasilkan aplikasi yang dapat mengetahui statistik dari status update,
followers, dan lain sebagainya.

ANALISIS SENTIMEN TWITTER


Pada dasarnya sentimen analisis merupakan tahapan klasifikasi. Namun pada tahapan
klasifikasi sentimen analisis pada Twitter (Tidak teratur atau terstruktur) memiliki
tingkat kesulitan lebih dibandingkan dengan klasifikasi dari dokumen yang terstruktur.
Dalam kasus analisis sentimen Twitter yang merupakan gambaran dari kalimat, tahap
pertama (Liu, 2012) yaitu mengklasifikasikan apakah kalimat mengungkapkan
pendapat atau tidak. kemudian pada langkah kedua mengklasifikasikan kalimat-kalimat
pendapat tersebut menjadi kelas positif atau kelas negatif.
Menurut (Barbosa, dkk. 2010 dikutip Liu,2012) terdapat beberapa fitur yang dapat
digunakan yaitu, retweets, hashtags, link, kata-kata huruf, emoticon, tanda seru dan
tanda tanya. Ada beberapa hal yang menjadi alasan Twittr digunakan sebagai analisis
sentimen :
1. Twitter adalah microblogging yang digunakan oleh orang-orang yang berbeda
untuk mengungkapkan pendapat mereka tentang suatu topik tertentu yang
berbeda, sehingga merupakan sumber yang baik untuk menemukan suatu
pendapat dari orang lain.
2. Twitter memuat berbagai macam pesan teks (tweets) setiap harinya dalam
jumlah yang besar.
3. Pengguna Twitter bervariasi dari berbagai kalangan. Oleh karena itu, dapat
menemukan pesan teks pengguna dari berbagai sosial dan kepentingan
kelompok.
TEXT MINING
Text mining dapat didefinisikan sebagai proses penggalian informasi dan pengetahuan
baru yang bermakna dari teks yang tidak terstruktur. Penambangan teks adalah variasi
dari bidang lain yang disebut penambangan data. Sementara data mining bekerja pada
data terstruktur, text mining dapat menangani data yang tidak terstruktur atau semi
terstruktur seperti pertanyaan penilaian. Menurut Feldman & Sanger (2007:95) Text
mining didefinisikan sebagai suatu proses peambangan informasi dar text yang
dilakukan oleh komputer untuk mendapatkan sesuatu yang baru, sesuatu yang belum
pernah diketahui sebelumnya atau bahkan menemukan kembali informasi tersirat
yang berasal dari informasi yang secara otomatis di ekstrak dari berbagai sumber data
text yang berbeda-beda.
tahapan-tahapan dalam text mining secara umum dalam text preprocessing dan
feature selection (Feldman & Sanger 2007, Berry & Kogan 2010). Penjelasan dari
tahapan tersebut adalah sebagai berikut:
1. Text Preprocessing
Dalam melakukan text mining, teks dari dokumen yang digunakan harus
dipersiapkan terlebih dahulu, setelah itu baru dapat digunakan untuk proses
utama pada text mining. Proses mempersiapkan data teks dokumen atau
dataset mentah disebut disebut juga sebagai proses text preprocessing. Text
preprocessing berfungsi untuk mengubah data text yang tidak terstruktur atau
sembarang menjadi suatu data yang terstruktur. Secara umum proses yang
dilakukan dalam tahapan preprocessing adalah :
1. Case Folding
Case folding merupakan proses perubahan teks dar huruf besar menjadi
huruf kecil dan menghilangkan seluruh tanda baca pada suatu kalimat.
Dalam penulisan tweet sering ditemukan perbedaan bentuk huruf.
tahapan case folding ini akan mengubah bentuk huruf menjadi huruf
kecil atau disebut sebagai penyeragaman bentuk huruf.
Tabel 2.1 Contoh proses case folding

Teks input PPKM tapi... TKA cina tetap masuk dengan alasan
sudah dikarantina.

Teks output ppkm tapi tka cina tetap masuk dengan alasan sudah
dikarantina

2. Tokenization
Pada tahap tokenization dilakukan pemotongan string inputan
berdasarkan setiap kata yang menyusunya. Tokenisasi memecah
sekelompok karakter dalam sebuah teks menjadi unit kata, yang
digunakan untuk membedakan karakter tertentu yang dapat diperlukan
sebagai pemisah kata atau tidak. Sebagai contoh, enter, tabulasi, spasi
dianggap sebagai pemisah kata.
Tabel 2.2 Contoh proses tokenizing

Teks Input ppkm tapi tka cina tetap masuk dengan alasan
sudah dikarantina

Teks Output ppkm, tapi, tka, cina, tetap, masuk, dengan, alasan,
sudah, dikarantina

3. Filtering
Filtering adalah proses pemilihan kata-kata yang penting dari hasil
tokenisasi. Filtering dilakukan dengan menggunakan algoritma
penghapusan stopword. Penghentian atau stoplist removal adalah
proses menghilangkan kata-kata yang tidak banyak berkontribusi pada
isi dokumen. Stopword removal digunakan untuk menghapus kata-kata
yang sering muncul dan bersifat umum, kurang relevan dengan teks.
Membuang kata-kata yang sering muncul tetapi tidak akan berpengaruh
pada ekstraksi sentiment.
Gambar 2.3 Contoh proses filtering

Teks input ppkm, tapi, tka, cina, tetap, masuk, dengan,


alasan, sudah, dikarantina

Teks output ppkm, tka, cina, masuk, alasan, dikarantina

4. Stemming
Stemming merupakan proses pemetaan dan penguraian bentuk suatu
kata ke dalam bentuk kata dasarnya. Fungsi dari stemming yaitu
menghilangkan variasi morfologi yang melekat pada satu kata dengan
menghilangkan imbuhan pada kata tersebut agar dapat memperoleh
kata yang benar sesuai morfologi yang benar secara struktur. Secara
singkatnya, proses mengubah kata yang berimbuhan menjadi kata dasar
dengan menerapkan kaidah bahasa yang benar untuk menghilangkan
imbuhannya. Stemming selain digunakan untuk mengurangi jumlah
dokumen yang berbeda index, Teknik ini juga digunakan untuk
mengelompokkan kata lain yang memiliki kesamaan kata dan
arti/akarnya tetapi memiliki bentuk yang berbeda karena mendapatkan
afiks yang berbeda. Ketika sebuah kata dasar dari istilah tersebut telah
diketahui sehingga dapat diketahui juga intensitas kemunculan term
pada setiap dokumen melalui proses pengindeksan. Pengindeksan
dilakukan disebabkan suatu dokumen tidak dapat dikenali secara
langsung oleh suatu sistem temu kembali informasi (IRS). Oleh karena
itu maka dokumen terlebih dahulu harus dipetakan menjadi
representasi dengan menggunakan teks di dalamnya.
Gambar 2.4 Contoh proses stemming

Teks Input ppkm, tka, cina, masuk, alasan, dikarantina

Teks Output ppkm, tka, cina, masuk, alasan, karantina

2. Feature Selection
Dalam tahapan feature extraction, metode TF-IDF sering digunakan. Metode
Term Frequency-Inverse Document Frequency (TF-IDF) adalah metode untuk
menghitung bobot setiap kata. TF-IDF merupakan suatu metode pemberian
bobot istilah pada suatu kata dalam dokumen. Metode ini sering digunakan
sebagai faktor pembobotan dalam pencarian informasi dan penambangan teks
(teks mining). Nilai dari TF-IDF meningkat secara proporsional berdasarkan
jumlah atau jumlah kata yang muncul pada dokumen, akan tetapi diimbangi
dengan frekuensi data dalam korpus. Variasi skema pembobotan TF-IDF sering
digunakan oleh mesin pencarian sebagai alat utama dalam penilaian dan
peningkatan relevansi dokumen untuk pengguna. Metode ini merupakan salah
satu jenis skema pembobotan term yang populer saat ini karena dianggap
paling efisien, mudah dan memiliki hasil yang akurat. Metode ini menghitung TF
dan nilai IDF untuk setiap token (word) pada setiap dokumen dalam korpus
menggunakan persamaan berikut:
● Term Frequency (TF)
Dalam hal frekuensi istilah tf(t,d) cara paling sederhana adalah dengan
menggunakan frekuensi mentah dalam dokumen, yaitu beberapa kali
istilah t tersebut muncul dalam dokumen d. Jika frekuensi mentah
dilambangkan t sebagai f(t,d), maka skema tf sederhananya adalah
tf(t,d) = f(t,d). TF dapat diformulasikan menjadi :
● Inverse document frequency (IDF)
Frekuensi Dokumen Terbalik/ Inverse document frequency (IDF)
merupakan ukuran apakah sebuah istilah itu umum atau jarang di
semua dokumen. Ini diperoleh dengan membagi jumlah dokumen
dalam korpus dengan jumlah dokumen berisi istilah dan kemudian
mengambil logaritma dari hasil bagi. Factor IDF dari kata-t diberikan
menggunakan persamaan berikut:

● Term frequency-inverse document frequency (TF-IDF)


Frekuensi kemunculan kata-kata dalam dokumen tertentu menunjukan
betapa pentingnya kata itu pada dokumen. Frekuensi dokumen yang
berisikan kata tersebut menunjukan seberapa umum kata tersebut.
Kata bobotnya lebih besar jika sering muncul dalam sebuah dokumen
dan lebih kecil jika muncul di banyak dokumen. Maka TF-IDF dapat
diformulasikan menjadi :

K-nearest neighbor
Algoritma K-nearest neighbor (k-NN atau KNN) merupakan metode klasifikasi data
yang bekerja relatif lebih sederhana dibandingkan dengan metode klasifikasi data
lainnya. Algoritma ini mencoba untuk mengklasifikasikan data baru yang kelasnya tidak
diketahui dengan memilih jumlah dari data yang paling dengan dengan data baru
tersebut. Kelas terbanyak dari nomor data terdekat dipilih sebagai kelas prediksi untuk
data baru. Sama dengan teknik pengelompokan pada K-Means, yaitu
mengelompokkan data baru berdasarkan jarak data baru ke beberapa data/tetangga
terdekat. Pada umumnya penentuan angka ganjil untuk menghindari penampilan
jumlah jarak yang sama dalam proses klasifikasi. Langkah pertama, sebelum mencari
data jarak ke tetangga adalah untuk menentukan nilai. Kemudian, untuk menentukan
jarak antara dua titik yaitu, titik pada data latih dan titik pada data uji, rumus Euclidean
digunakan. Berikut ini adalah Euclidean jarak yang digunakan dalam algoritma KNN:
KNN merupakan jenis learning yang berbasis instance, atau pembelajaran malas (lazy
learning) dimana fungsi ini hanya pendekatan lokal dan semua perhitungan
ditangguhkan sampai klasifikasi. Metode klasifikasi KNN memiliki beberapa tahapan,
yang pertama adalah nilai yang merupakan jumlah tetangga terdekat yang akan
menentukan query baru milik kelas mana yang ditentukan. Pada tahapan kedua,
tetangga terdekat dicari dengan menghitung jarak antara titik query dari titik
pelatihan. Tahap ketiga, setelah mengetahui jarak dari setiap titik pelatihan ke titik
query, kemudian lihat nilai terkecil. Tahap keempat mengambil yang terkecil nilai
kemudian melihat kelas. Kelas yang terbanyak muncul adalah kelas dari query baru.

Support vector machine (SVM)


Support vector machine (SVM) adalah klasifer yang sekarang banyak digunakan untuk
berbagai tujuan klasifikasi. Selain digunakan untuk klasifikasi, SVM juga digunakan
untuk regresi. SVM sendiri merupakan pengklasifikasi biner yang membagi data
menjadi dua kelas dengan hyperplane seperti yang digunakan pada Gambar 2.
Hyperplane ini berada tepat di tengah dua kelas dengan jarak ke titik data terdekat
untuk setiap kelas. Disebut sebagai margin, dan titik data yang berada tepat pada jarak
dari hyperplane disebut sebagai vektor pendukung. SVM Hyperplane dapat dinyatakan
dengan persamaan berikut :
W.x+b=0
Dimana w adalah normal dari hyperplane, dan b / ||w|| adalah jarak daro hyperplane
ke awal.

Gambar 2.1. Representasi dari metode SVM


Naïve Bayes classifier (NBC)
Naïve Bayes adalah metode pembelajaran mesin yang menggunakan perhitungan
probabilitas yang berakar pada teorema Bayes. Naïve Bayes didasarkan pada teorema
Bayes yang digunakan untuk menghitung probabilitas setiap kelas dengan asumsi
bahwa kelas satu adalah independent (tidak saling tergantung). Definisi lain adalah
naïve Bayes merupakan metode untuk memprediksi peluang masa depan berdasarkan
pengalaman sebelumnya. Naïve Bayes memiliki tingkat akurasi yang lebih tinggi dan
kecepatan bila diterapkan ke database yang bernilai besar. Bentuk umum teorema
Bayes adalah sebagai berikut:

Dimana :
X : Data dengan kelas yang tidak diketahui
H : Hipotesis data X adalah data kelas tertentu
P(H|X) : Probabilitas hipotesis berdasarkan kondisi (probabilitas posterior)
P(H) : Probabilitas hipotesis (probabilitas sebelumnya)
P(X|H) : Probabilitas berdasarkan kondisi pada hipotesis
P(X) : Peluang

Naïve Bayes adalah penyederhanaan dari metode Bayes. Teorema Bayes


disederhanakan menjadi :

Aturan Bayes digunakan untuk menghitung posterior dan probabilitas dari data
sebelumnya. Hasil akhirnya akan memberi prior dan posterior informasi untuk
menghasilkan probabilitas menggunakan Bayes.
Cross-Validation (CV)
Cross-validation adalah metode statistic yang dapat digunakan untuk mengevaluasi
kinerja dari model atau algoritma damiana data dipisahkan menjadi dua subset yaitu
data proses pembelajaran dan validasi/evaluasi data. Model atau algoritma dilatih
dengan data pelatihan dan divalidasi dengan pengujian data. Salah satu metode
validasi silang yang populer adalah 10-Fold Cross-Validation. Dalam Teknik ini,
kumpulan data dibagi menjadi 10-bagian angka dari partisi acak. Kemudian sejumlah
percobaan 10 kali dilakukan, dimana setiap percobaan menggunakan data 10-partisi
data sebagai data uji dan memanfaatkan partisi yang tersisa sebagai data latih.
Confusion matrix
Confusion matrix adalah table yang digunakan untuk menggambarkan kinerja model
klasifikasi pada pengujian dataset yang labels sebenarnya diketahui. Ini memungkinkan
identifikasi confusion antar kelas dengan mudah, misalnya, satu kelas umum salah
diberi label sebagaimana yang lain. Jumlah prediksi benar dan salah diringkas dengan
nilai-nilai yang dihitung dan dipecahkan oleh masing-masing kelas. Confusion matriks
menunjukan caranya dimana confusion klasifikasi menentukan kelasnya dalam
membuat prediksi. Ini memberikan detail informasi tidak hanya tentang kesalahan
yang dibuat oleh pengklasifikasi tetap yang lebih penting adalah jenis kesalahan yang
dibuat.

Confusion matrix memvisualisasikan keakuratan pengklasifikasi dengan


membandingkan aktual dan prediksi kelas. Pengklasifikasi biner memprediksi semua
contoh data dari dataset uji sebagai positif atau negative. Klasifikasi ini menghasilkan
empat hasil yaitu tru positif (TP), false positif (FP), true negative (TN), false negative
(FN). TP menghasilkan nilai prediksi yang diprediksi dengan benar sebagai positif
actual; FP menghasilkan nilai prediksi yang salah memprediksi positif benar.
Contohnya, nilai negatif diprediksi sebagai positif. Sengankan FN menghasilkan nilai
positif tetapi prediksi negative dan TN menghasilkan nilai yang tepat diprediksi sebagai
negative actual. Gambar 3.3. berikut menjelaskan 4 (empat) klasifikasi confusion
matrix. Dari metrik confusion, matrik pengukuran dapat dibuat untuk mendapatkan
nilai akurasi, presisi, recall, dan F-measure.

Gambar 3.3 Confusion matrix


BAB III
METODOLOGI PENELITIAN
Dalam penelitian ini bertujuan untuk menganalisis performa dari Naïve Bayes classifier,
neural network, support vector machine, dan K-nearest neighbors pada klasifikasi
dalam menentukan positif dan negative sentiment twitter tentang tenaga kerja asing
yang masuk ke Indonesia saat wabah covid-19 masih dalam keadaan massif. Dalam
penelitian ini menggunakan tweet dari Twitter sebagai sumber untuk mendapatkan
dataset. Gambar 1 mengilustrasikan kerangka analisis sentimen yang diusulkan oleh
peneliti.

Gambar 3.1. Diagram blok analisis sentimen


Pada kerangka yang diusulkan terdiri dari 3 (tiga) fase utama yaitu pre-processing,
model learning, dan model validasi. Fase preprocessing terkait dengan proses
norma;isai dataset ke dalam format vector, yang akan menjadikan inputan untuk
algoritma klasifikasi yang memiliki enam langkah antara lain, pengumpulan dan
pelabelan data (data collecting and labeling), pembersihan data (data cleaning),
tokenization, stemming, filtering, dan ekstraksi fitur (feature extraction). Tahap model
pembelajaran dilanjutkan dengan melakukan pembelajaran (learning) menggunakan
masing-masing algoritma Naïve Bayes, Support vector machine, K-nearest neighbor.
Langkah terakhir adalah model validasi, mengevaluasi kinerja masing-masing algoritma
menggunakan 3 (tiga) metrik evaluasi dan menentukan algoritma mana yang memiliki
kinerja terbaik.
3.1. Data Collecting dan Labeling
Pengumpulan data dan labeling merupakan tahapan dimana peneliti memperoleh data
dan melabeli sesuai dengan kelas yang telah ditentukan. Dimana data ini nanti akan
diproses sebagai data latih pada pemrosesan menggunakan algoritma-algoritma yang
telah dipilih oleh peneliti. Dalam penelitian ini data twitter yang dikumpulkan adalah
tweet pengguna keterkaitan masuknya tenaga kerja asing (TKA) asal tiongkok. Data ini
diperoleh dari tanggal 10 Juli 2021 sampai dengan 15 Juli 2021. Jangkauan tersebut
dipilih karena kicauan terkait tenaga kerja asing asal tiongkok sempat meredup terkena
hashtag trending baru yang selalu berubah setiap hari. Proses pengumpulan data
tweet dilakukan dengan memanfaatkan fasilitas aplikasi interface (API) yang disediakan
oleh twitter.
3.2. Preprocessing
preprocessing dilakukan untuk menghindari data yang tidak sempurna, gangguan pada
data, dan data yang tidak konsisten (Hemalatha et al. 2012). Langkah-langkah dari
tahapan preprocessing dalam penelitian ini yaitu case folding, tokenizer, filtering,
stemming. Gambar 3.2 mengilustrasikan proses preprocessing.

Gambar 3.2. Diagram blok preprocessing


3.2.1. Case Folding
Case folding merupakan tahapan dimana huruf akan diubah menjadi lowercase atau
huruf kecil dan juga menghilangkan tanda baca serta angka, dalam hal ini hanya
meggunakan huruf antara a sampai dengan z.
3.2.2. Tokenization
Pada tahap tokenization dilakukan pemotongan string inputan berdasarkan setiap kata
yang menyusunya. Tokenisasi memecah sekelompok karakter dalam sebuah teks
menjadi unit kata, yang digunakan untuk membedakan karakter tertentu yang dapat
diperlukan sebagai pemisah kata atau tidak. Sebagai contoh, enter, tabulasi, spasi
dianggap sebagai pemisah kata.
3.2.3. Filtering
Filtering adalah proses pemilihan kata-kata yang penting dari hasil tokenisasi. Filtering
dilakukan dengan menggunakan algoritma penghapusan stopword. Penghentian atau
stoplist removal adalah proses menghilangkan kata-kata yang tidak banyak
berkontribusi pada isi dokumen. Stopword removal digunakan untuk menghapus kata-
kata yang sering muncul dan bersifat umum, kurang relevan dengan teks. Membuang
kata-kata yang sering muncul tetapi tidak akan berpengaruh pada ekstraksi sentiment.
3.2.4. Stemming
Proses setelah filtering adalah proses stemming. Proses stemming merupakan proses
pencarian kata dasar terhadap sebuah kata yang telah dilakukan proses filtering. Pada
proses ini kata akan diubah menjadi kata dasar sehingga kata yang memiliki imbuhan
depan atau imbuhan belakang akan dihapus dan disesuaikan kata dasarnya
3.3. Feature Extraction
3.3.1. Fitur Kemunculan (Term Frequency)
Pembobotan kata dalam penelitian ini menggunakan perhitungan term frequency (TF).
Perhitungan dalam pembobotan ini akan digunakan sebagai data pada penerapan
untuk menentukan topik twitter dan penentuan hasil sentimen. Proses pembobotan
kata dengan perhitungan term frequency diawali dengan mengambil kata di database
yang telah dilakukan preprocessing. Setelah didapatkan kata maka akan dihitung
jumlah kemunculan atau frekuensi kata pada tiap tweet. Perhitungan term atau kata
menggunakan kata hasil preprocessing dan menghasilkan bobot masing-masing kata.
3.4 Model Learning
Setelah dilakukan pembobotan pada tahapan feature extraction maka akan dilakukan
learning dengan menggunak bebrapa algoritma yaitu Support vector machine (SVM),
K-nearest neighbor (KNN), Naïve Bayes classifier (NBC). Gambar 3.3 menunjukan
diagram blok model learning.
Gambar 3.3. Diagram Blok model learning
3.4.1. Support vector machine (SVM)
SVM merupakan suatu teknik untuk melakukan prediksi, baik prediksi dalam kasus
regresi maupun klasifikasi. Teknik SVM digunakan untuk mendapat suatu fungsi
pemisah yang disebut sebagai hyperplane yang optimal untuk memisahkan observasi
yang memiliki nilai variabel target yang berbeda. Hyperplane ini dapat berupa line
pada two dimension dan dapat berupa flat plane pada multiple dimension.
3.4.2. K-nearest neighbor (KNN)
KNN merupakan algoritma supervised learning dimanahasil instance yang baru
diklasifikasikan berdasarkan mayoritas dari kategori k-tetangga terdekat. Tujuan dari
algoritma knn adalah mengklasifikasikan objek baru berdasarkan atribut dan sampel-
sampel dari training data.
3.4.3. Naïve Bayes classifier (NBC)
Naïve Bayes Classifier merupakan sebuah metode klasifikasi yang berakar pada
teorema Bayes. Algoritma ini mengasumsikan bahwa atribut obyek adalah
independen. Probabilitas yang terlibat dalam memproduksi perkiraan akhir dihitung
sebagai jumlah frekuensi dari ” master ” tabel keputusan.
3.3. Model Validation
Model validasi atau model validation merupakan tahap dimana akan dilakukan validasi
menggunakan dua validato yaitu cross-validation dan confusion matrix. Gambar 3.4
Mengilustrasikan model validation.
Gambar 3.4. Diagram blok model validation
3.3.1. Cross-Validation (CV)
Cross-validation (CV) merupakan sebuah metode statistika yang digunakan untuk
mengevaluasi dari kinerja model atau algoritma dimana data dipisahkan menjadi dua
subset yaitu data proses pembelajaran dan data validasi atau evaluasi. Model atau bisa
disebut sebagai algoritma dilatih oleh subset pembelajaran dan divalidasi oleh subset
validasi. 10 fold CV adalah salah satu K fold CV yang direkomendasikan untuk
pemilihan model terbaik karena cenderung memberikan estimasi akurasi yang kurang
bias dibandingkan dengan CV biasa, leave-one-out CV dan bootstrap.
3.3.2. Confusion matrix
Confusion Matrix adalah pengukuran performa untuk masalah klasifikasi machine
learning dimana keluaran dapat berupa dua kelas atau lebih. Confusion Matrix adalah
tabel dengan 4 kombinasi berbeda dari nilai prediksi dan nilai aktual, dimana kempat
istilah tersebut addaah True Positif, True Negatif, False Positif, dan False Negatif yang
merupakan representasi hasil dari proses klasifikasi.
3.4. Skenario Pengujian
Sebuah pengujian dalam pembuatan sistem analisis perlu dilakukan. Pengujian dalam
hal ini digunakan untuk mengetahui tingkat akurasi dari perhitungan dengan metode
support vector machine, KNN, dan naïve bayes. Skenario pengujian pada penelitian ini
menggunakan perhitungan cross-validation dan matriks confusion. Skenario pengujian
dalam penentuan analisis sentimen untuk mendapatkan nilai accuracy. Nilai accuracy
merupakan tingkat kedekatan antara nilai prediksi dengan nilai aktual (Dataq, 2013).

Anda mungkin juga menyukai