Skripsi
Oleh :
Faqi Syadid
NIM: 11140910000005
Skripsi
Diajukan sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer (S.Kom)
JUDUL
Oleh :
Faqi Syadid
NIM: 11140910000005
i
HALAMAN PERSETUJUAN PEMBIMBING
ii
HALAMAN PENGESAHAN UJIAN
iii
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI
iv
HALAMAN PERNYATAAN ORISINALITAS
v
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Allah SWT, karena atas nikmat dan
rahmat-Nya sehingga penulis dapat menyelesaikan skripsi ini. Penulisan skripsi ini
dilakukan dalam rangka memenuhi salah satu syarat untuk mencapai gelar Sarjana
Komputer Program Studi Teknik Informatika Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta. Dalam proses penyelesaian
skripsi ini tidak luput dari berbagai macam bantuan, dukungan, saran, dan kritik
yang telah penulis terima, oleh karena itu dalam kesempatan ini penulis ingin
mengucapkan terima kasih kepada:
1. Kedua orang tua penulis, Bapak Rusmani Said & Ibu Eni Siti Royani yang
selalu mendoakan dan selalu memberikan segala dukungan kepada penulis
dalam menyelesaikan skripsi ini.
2. Ibu Prof. Dr. Lily Surraya Eka Putri, M.Env.Stud., selaku Dekan Fakultas
Sains dan Teknologi UIN Syarif Hidayatullah Jakarta
3. Ibu Arini, ST. MT., selaku Ketua Program Studi Teknik Informatika, serta
Bapak Feri Fahrianto, M.Sc., selaku Sekretaris Program Studi Teknik
Informatika.
4. Bapak Nashrul Hakiem, S.Si., M.T., Ph.D selaku Dosen Pembimbing I dan
Ibu Siti Ummi Masruroh, M.Sc., selaku Dosen Pembimbing II yang telah
memberikan bimbingan, motivasi, dan arahan kepada penulis sehingga
skripsi ini bisa selesai dengan baik.
5. Seluruh dosen Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta
atas segala ilmu pengetahuan yang diberikan kepada penulis. Beserta seluruh
staff akademik Fakultas Sains dan Teknologi UIN Syarif Hidayatullah
Jakarta.
6. Kepada Risma Ramjani yang selalu menemani dan memberikan memotivasi
dalam penyusunan skripsi.
7. Kepada teman-teman kosan yang sudah membantu dan memberikan
semangat.
vi
8. Kepada seluruh teman-teman Teknik Informatika angkatan 2014 yang telah
memberikan bantuan, motivasi dan do’a kepada penulis agar dapat
menyelesaikan skripsi ini dengan baik.
9. Kepada seluruh teman-teman penerima beasiswa Karya Salemba Empat
(KSE) yang telah memberikan bantuan, motivasi dan do’a kepada penulis
agar dapat menyelesaikan skripsi ini dengan baik.
10. Seluruh pihak yang tidak dapat penulis sebutkan satu persatu yang telah
membantu dalam penyelesaian penulisan skripsi ini.
Akhir kata, penulis menyadari bahwa dalam penyajian skripsi ini masih jauh
dari sempurna. Apabila ada kebenaran dari penulisan skripsi ini maka kebenaran
tersebut datangnya dari Allah SWT, tetapi apabila ada kesalahan dalam penulisan
ini maka kesalahan ini berasal dari penulis. Semoga skripsi ini dapat bermanfaat
dan menambah wawasan serta pengetahuan bagi para pembaca.
Faqi Syadid
11140910000005
vii
Nama : Faqi Syadid
Program Studi : Teknik Informatika
Judul : Analisis Sentimen Komentar Netizen terhadap Calon Presiden
Indonesia 2019 dari Twitter menggunakan Algoritma Term
Frequency-Invers Document Frequency (TF-IDF) dan Metode Multi
Layer Perceptron (MLP) Neural Network
ABSTRAK
ABSTRACT
Implementasi .................................................................................. 6
Tokenisasi..................................................................................... 12
Stemming ...................................................................................... 13
Preprocessing ............................................................................... 35
1
2
calon presiden indonesia 2019. Untuk melakukan hal itu, bisa menggunakan
salah satu fungsi dari text mining, dalam hal ini adalah klasifikasi sentimen.
Ada beberapa penelitian yang sudah pernah dilakukan berkaitan dengan
klasifikasi dan yang sering digunakan untuk metode klasifikasi adalah Naive
Bayes Classifier dan Support Vector Machine (Hadna, Santosa, & Winarno,
2016). Penelitian yang dilakukan oleh (Pang, Lee, Rd, & Jose, 2002) telah
membandingkan algoritma Naive Bayes Classifier, maximum entropy, dan
Support Vector Machine didapatkan hasil yang terbaik adalah Support
Vector Machine (SVM). Support Vector Machine (SVM) memilki
kelebihan bisa diterapkan untuk data yang berdimensi tinggi, tetapi
memiliki kekurangan yaitu sulit digunakan untuk data dengan jumlah yang
besar (Nugroho, Witarto, & Handoko, 2003) .
Penelitian selanjut dilakukan oleh (Moraes, Valiati, & Neto, 2013)
yang melakukan perbandingan Support Vector Machine (SVM) dengan
Artificial Neural Network (ANN) dengan hasil metode klasifikasi terbaik
adalah Artificial Neural Network (ANN). ANN mempunyai kelebihan
dalam hal kemampuan untuk generelisasi, yang bergantung pada seberapa
baik ANN meminimalkan resiko empiris dan dapat diterapkan pada yang
jumlahnya besar (Chandani, 2015). Penulis pada penelitian ini akan
melakukan analisis sentimen pada pengguna twitter terhadap kedua
pasangan calon presiden pada Pilpres Indonesia 2019 menggunakan
kombinasi metode term frequency - invers document frequency (TF-IDF)
dan metode multilayer perceptron neural network. Dengan input berupa
data tweet dalam bahasa indonesia dan output berupa dua jenis sentimen
yaitu positif dan negatif.
Bagi Penulis
Mengaplikasikan ilmu-ilmu akademis yang didapat selama
perkuliahan ke dalam aplikasi Natural Language Processing (NLP)
untuk identifikasi sentimen twitter terkait calon presiden indonesia 2019
dengan menggunakan algoritma Term Frequency - Inverse Document
Frequency (TF-IDF) dan Multi Layer Perceptron (MLP) Neural
Network.
Bagi Universitas
1. Memberikan gambaran terhadap penerapan ilmu pengetahuan yang
telah diterima selama kuliah.
2. Menjadi sumbangan literatur karya ilmiah dalam disiplin ilmu
teknologi khususnya bidang jaringan komputer.
3. Mengukur tingkat kemampuan mahasiswa dalam menerapkan ilmu
akademis maupun non-akademis di lingkungan masyarakat
Bagi Masyarakat
1. Menambah wawasan pembaca mengenai kombinasi algoritma Term
Frequency - Inverse Document Frequency (TF-IDF) dan Multi Layer
Perceptron (MLP) Neural Network dalam melakukan analisis
orientasi sentimen terhadap data twitter
2. Membantu pembaca dalam menerapkan kombinasi algoritma Term
Frequency - Inverse Document Frequency (TF-IDF) dan Multi
Layer Perceptron (MLP) Neural Network dalam aplikasi berbasis
Python.
Analisis Permasalahan
Pada tahap ini dilakukan analisis terhadap studi literatur untuk
mendapatkan pemahaman mengenai metode yang akan digunakan, yaitu
Term Frequency - Inverse Document Frequency (TF-IDF) dan Multi
Implementasi
Pada tahap ini dilakukan implementasi ke dalam bentuk kode
sesuai dengan analisis dan perancangan yang telah dilakukan
sebelumnya.
dan tidak lengkap, arti yang tidak jelas dan tidak standar, dan bahasa yang
berbeda ditambah translasi yang tidak akurat (Sasmita & Falani, 2018).
2.5 Preprocessing
Preprocessing adalah mempersiapkan dokumen teks yang tidak
terstruktur menjadi data terstruktur yang siap digunakan untuk proses
selanjutnya (Ipmawati, Kusrini, & Luthfi, 2017). Tahapan text processing yang
dilakukan, diantaranya adalah:
Cleansing
Cleansing, yaitu proses membersihka tweets dari kata yang tidak
diperlukan untuk mengurangi noise. Kata yang dihilangkan adalah
karakter HTML, katakunci, ikon emosi, hashtag (#), username
(@username), url (http://situs.com), dan email (nama@situs.com)
(Aditya, 2015).
Tokenisasi
Tokenisasi adalah tugas memisahkan deretan kata di dalam
kalimat, paragraf atau halaman menjadi token atau potongan kata tunggal
atau termmed word. Pada saat bersamaan, tokenisasi juga membuang
beberapa karakter tertentu yang dianggap sebagai tanda baca (Susilowati,
Sabariah, & Gozali, 2015).
Case Folding
Case-folding adalah proses penyamaan case dalam sebuah
dokumen.Ini dilakukan untuk mempermudah pencarian (Susilowati et
al., 2015).
Penghilangan Stopword
Stopword didefinisikan sebagai term yang tidak berhubungan
(irrelevant) dengan subyek utama dari database meskipun kata tersebut
sering kali hadir di dalam dokumen. Berikut ini adalah contoh
stopwords dalam bahasa Indonesia: yang, juga, dari, dia, kami, kamu,
aku, saya, ini, itu, atau, dan, tersebut, pada, dengan, adalah, yaitu, ke,
tak, tidak, di, pada, jika, maka, ada, pun, lain, saja, hanya, namun, seperti,
kemudian, dll (Susilowati et al., 2015).
Stemming
Kata-kata yang muncul di dalam dokumen sering mempunyai
banyak varian morfologik. Karena itu, setiap kata yang bukan stop-words
direduksi ke bentuk stemmed word (term) yang cocok. Kata tersebut
distem untuk mendapatkan bentuk akarnya dengan menghilangkan
awalan atau akhiran. Dengan cara ini, diperoleh kelompok kata yang
mempunyai makna serupa tetapi berbeda wujud sintaktis satu dengan
lainnya. Kelompok tersebut dapat direpresentasikan oleh satu kata
tertentu. Sebagai contoh, kata menyebutkan, tersebut, disebut dapat
dikatakan serupa atau satu kelompok dan dapat diwakili oleh satu kata
umum sebut (Susilowati et al., 2015).
2.6 Klasifikasi
Klasifikasi merupakan suatu pekerjaan menilai objek data untuk
memasukannya ke dalam kelas tertentu dari sejumlah kelas yang tersedia.
Dalam klasifikasi ada dua pekerjaan utama yang dilakukan, yaitu (Prasetyo,
2012) :
1. Pembangunan model sebagai prototipe untuk disimpan sebagai
memori.
2. Penggunaan model tersebut untuk melakukan
pengenalan/kladifikasi/prediksi pada suatu objek data lain agar
diketahui di kelas mana objek data tersebut dalam model yang sudah
disimpannya.
prediksi yang dilakukan. Dua kuantitas ini digunakan sebagai metrik kinerja
klasifikasi. Untuk menghitung akurasi digunakan formula :
𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑦𝑎𝑛𝑔 𝑑𝑖𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑠𝑒𝑐𝑎𝑟𝑎 𝑏𝑒𝑛𝑎𝑟 𝑓11 + 𝑓00
Akurasi = =
𝐽𝑢𝑚𝑙𝑎ℎ 𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑦𝑎𝑛𝑔 𝑑𝑖𝑙𝑎𝑘𝑢𝑘𝑎𝑛 𝑓11 +𝑓10 +𝑓01 +𝑓00
5. Linear Regression
6. Neural Network
Unsupervised Learning
Teknik pembelajaran ini tidak melibatkan fase pelatihan
seperti yang terdapat pada supervised learning. Teknik ini
bergantung pada penggunaan algoritma yang mendeteksi semua
pola, seperti associations dan sequences yang muncul dari kriteria
penting yang spesifik dalam data masukan. Pendekatan ini
mengarah pada pembuatan banyak aturan (rules) yang
mengkarakterisasikan penemuan associations, clusters, dan
segments. Aturan-aturan ini kemudian dianalisis untuk menemukan
hal-hal yang penting.
Berikut ini adalah beberapa nama algoritma tipe supervised
learning (Faisal, 2017), yaitu :
1. Association rule
2. K-Mean clustering
N = total dokumen
df = banyak dokumen yang mengandung kata yang dicari.
otak manusia) yang berisi adder dan fungsi aktivasi, sejumlah bobot (sinapsis
dalam otak manusia), sejumlah vektor masukan (dendrit dalam otak
manusia). Fungsi aktivasi yang berguna untuk mengatur keluaran yang
diberikan oleh neuron. Desain ANN secara umum ditunjukkan oleh Gambar
5.1. Pada gambar tersebut, vektor masukan terdiri dari sejumlah nilai (iitur)
yang diberikan sebagai nilai masukan pada ANN, vektor masukan tersebut
ada 3 nilai (x,, x2, x3) sebagai fitur dalam vektor yang akan diproses dalam
ANN, masing-masing nilai masukan melewati sebuah hubungan berbobot w,
kemudian semua nilai digabungkan. Nilai gabungan tersebut kemudian
diproses oleh fungsi aktivasi untuk menghasilkan sinyal y sebagai keluaran.
Fungsi aktivasi menggunakan sebuah nilai ambang batas untuk membatasi
nilai keluaran agar selalu dalam batas nilai yang ditetapkan.
ANN menggunakan fungsi aktivasi yang dipakai untuk membatasi
1
𝑧𝑖 = 𝑓(𝑧_𝑛𝑒𝑡𝑗 ) =
1 + 𝑒 −𝑧_𝑛𝑒𝑡𝑗
6. Hitung semua keluaran jaringan di unit keluaran 𝑦𝑘 (k = 1, 2,...,m).
1
𝑦𝑘 = 𝑓(𝑦𝑛𝑒𝑡 𝑘 ) = = 0,5
1 + 𝑒 −0,0347
7. Hitung faktor δ unit keluaran berdasarkan kesalahan di setiap unit
keluaran 𝑦𝑘 (k = 1, 2,..., m).
𝛿_𝑛𝑒𝑡𝑗 = ∑ 𝛿𝑘 𝑤𝑘𝑗
𝑘=1
2.13 Python
Python adalah bahasa pemograman interpretatif yang dianggap
mudah dipelajari serta berfokus pada keterbacaan kode. Dengan kata lain,
Python dikalim sebagai bahasa pemograman yang memeiliki kode-kode
pemograman yang sangat jelas, lengkap, dan mudah untuk dipahami. Python
Studi Pustaka
Pada tahap pengumpulan data dengan studi pustaka ini
penulis melakukan pengumpulan teori-teori yang berkaitan dengan
penulisan skripsi sebagai bahan untuk melengkapi penelitian ini.
Sumber teori berasal dari buku referensi, hasil penelitian (jurnal dan
skripsi) dan artikel-artikel terkait. Selain itu peneliti juga
mengunjungi beberpa situs-situs yang terkait aplikasi natural
language processing, text mining, preprocessing, python,
algoritma. Term Frequency, Inverse Document Frequency (TF-IDF)
dan Multilayer Perceptron (MLP) Neural Network
Hal yang (Herwijayanti et al., (Saputro, Aristian, & (Al-Batah, Mrayyen, (Jotheeswaran & Penelitian penulis yang
dibandingkan 2018) Tyas, 2018) & Alzaqebah, 2018) Koteeswaran, 2015) sekarang
Topik sentimen Klasifikasi Berita Klasifikasi Lagu Arabic Sentiment Decision Tree Based Analisis Sentimen
yang dianalisis Online dengan Daerah Indonesia Classification using Feature Selection and Calon Presiden
menggunakan Berdasarkan Lirik MLP Network Multilayer Perceptron Indonesia 2019 Dari
Pembobotan TF-IDF Menggunakan Hybrid with Naive for Sentiment Twitter Menggunakan
dan Cosine Similarity Metode TF-IDF Dan Bayes Algorithm Analysis Algoritma Term
Naïve Bayes Frequency-Invers
Document
Frequency (Tf-Idf) Dan
Metode Multilayer
Perceptron Neural
Algoritma yang TF-IDF dan Cosine TF-IDF dan Naïve Multilayer Decision Tree dan Multilayer Perceptron
digunakan Similarity Bayes Perceptron dan Multilayer Perceptron dan TF-IDF
Naïve Bayes
Simpan
Server
Penarikan data di
twitter
tweet menggukan database
3.4 Implementasi
Pada tahap ini dilakukan implementasi sistem sesuai ke dalam
bentuk kode sesuai dengan analisis dan perancangan yang telah dilakukan
sebelumnya. Tahap ini dilakukan agar terwujudnya penelitian yang penulis
lakukan terhadap sistem analisis sistemen calon presiden indonesia 2019.
Bahasa pemrograman yang digunakan adalah dengan menggunakan bahasa
python.
Mulai
Metode Pengumpulan
Data
Data Latih
Data Uji
Cleansing
Tokenisasi
Case Folding
Penghilangan
Stopword
Stemming
Pembobotan Term
TF-IDF
Klasifikasi
Multi Layer
Perceptron
Hasil Analisis
Sentimen dan
Akurasi
Tokenisasi
Hasil Analisis
Sentimen dan Case Folding
Akurasi
5 Penghilangan
Stopword
4 3
Klasifikasi
Pembobotan Term
Multi Layer
TF-IDF
Perceptron Stemming
Pengumpulan Data
Pengumpulan data yang digunakan dalam penelitian ini
merupakan kumpulan data tweet yang di peroleh dengan
menggunakan stream twitter API yang disediakan oleh twitter
dengan menggunakan bahasa pemograman python. Dalam
melakukan stream twitter API dibutuhkan keys dan access token
sebagai autentifikasi dengan cara mendaftarkan program yang akan
dibuat pada aplikasi developer twitter pada situs
https://developer.twitter.com/. Dalam source ini juga dituliskan
kata kunci “#Jokowi”, #Prabowo, @Prabowo dan @Jokowi.
Seluruh tweet yang telah diunduh disimpan kedalam dokumen .csv
untuk dilakun proses selanjutnya. Berikut adalah source code stream
twitter API untuk mendapatkan tweet dengan kata kunci yang tadi
disebutkan.
Langkah pertama dalam tahap ini adalah memasukan keys
dan access token untuk dapat terhubung dengan API Twitter.
Adapun isi dari script tersebut sebagai berikut :
access_token = "401870074-
hDmVvARsnI6gWnJuC9ykvq4y653hv4zvgMAVIbPP"
access_secret =
"HaGprBweldnBhluS5B5oR4lidSzeuMXWRx0UlXVXzabJl"
consumer_key = "SfmswzxcYr43vuHbVmg9Fkleh"
consumer_secret =
"IMUwcE5jqy0ir4tL1VECqjrbgIiaNxnaUo1m19H4wb5rEe5kui"
Source Code 4.1 Filter Data
Setelah mendapatkan hak akses API Twitter, untuk
mendapatkan data tweet dibutuhkan kata kunci y dalam penginputan
keyword (kata kunci) sebagai memfilter data yang sesuai. Berikut
adalah script yang berisi kata kunci yakni #Jokowi, #Prabowo,
@jokowi dan @prabowo.
import tweepy
import csv #Import csv
access_token = "401870074-
hDmVvARsnI6gWnJuC9ykvq4y653hv4zvgMAVIbPP"
access_secret =
"HaGprBweldnBhluS5B5oR4lidSzeuMXWRx0UlXVXzabJl"
consumer_key = "SfmswzxcYr43vuHbVmg9Fkleh"
consumer_secret =
"IMUwcE5jqy0ir4tL1VECqjrbgIiaNxnaUo1m19H4wb5rEe5kui
"
csvWriter.writerow([tweet.created_at,
tweet.text.encode('utf-8')])
print (tweet.created_at, tweet.text)
csvFile.close()
Source Code 4.2 Stream API Twitter
Preprocessing
Preprocessing adalah mempersiapkan dokumen teks yang
tidak terstruktur menjadi data terstruktur yang siap digunakan untuk
proses selanjutnya. Preproccessing terdiri dari lima proses yaitu
cleansing, tokenisasi , case folding, penghilangan stopword, dan
stemming.
1 2
Cleansing Tokenisasi Case Folding
4
Penghilangan
Stemming
Stopword
a. Cleansing
Cleansing dilakukan untuk menghilangkan delimiter koma (,),
titik(.), seluruh tanda baca, angka dalam tweet dan beberapa komponen
khas yang biasa ada di tweet, yakni username (@username), URL, karakter
HTML, dan hashtag(#) karena tidak memiliki pengaruh apapun dalam
proses analisis sentimen, maka komponen – komponen tersebut akan
dihilangkan dengan tujuan untuk mengurangi noise. Adapun contoh
cleansing dari data tweet yang sudah didapat sebagai berikut :
Tabel 4.2 Contoh Cleansing
No. Teks Tweet Hasil Cleansing
1 @jokowi @prabowo \n2 sahabat sejati jokowi prabowo
sahabat sejati jokowi-prabowo ada kalanya saling mendukung
ada kalanya saling mendukung ada kalanya juga saling
ada kalanya juga saling bersaing
bersaing\n#JokowiAmin
2 @prabowo Semoga bapak Semoga bapak terpilih
terpilih memimpin negeri memimpin negeri kami
kami.. balasan terbaik bagi balasan terbaik bagi rakyat
rakyat adalah kepemimpinan adalah kepemimpinan berbasis
berbasis kejujuran... kejujuran
def preprocess(tweet):
def hapus_tanda(tweet):
tanda_baca = set(string.punctuation)
tweet = ''.join(ch for ch in tweet if ch not in
tanda_baca)
return tweet
def hapus_katadouble(s):#look for 2 or more
repetitions of character and replace with the
character itself
class Preproses:
def tokenize(self, tweet):
token = nltk.word_tokenize(tweet)
return token
Source Code 4.4 Tokenisasi
c. Case Folding
d. Penghilangan Stopword
Tahapan Stopword, adalah proses menghapus kata kata yang
dianggap tidak penting dan tidak berpengaruh terhadap proses kategorisasi.
Contohnya adalah kata penghubung seperti ‘dan’, ‘atau’, ‘di’, ‘ke’, dan
seterusnya. Adapun langkah-langkah dalam melakukan stopword adalah
sebagai berikut :
1. Hasil dari tahapan tokenisasi berupa kata per kata akan dijadikan
masukan.
2. Setiap kata akan dibandingkan dengan kata-kata yang ada pada
database stopwords.
3. Apabila kata yang dibandingkan terdapat sama, maka kata tersebut akan
dihapus. Namun jika tidak sama maka kata tersebut tidak dihapus.
Berikut adalah gambar flowchart pada Proses stopwords dibawah ini :
Mulai
kata
bandingkan kata
dengan database
stopwords
Kata = kata
Ya hapus kata
stopwords
Tidak
Kata awal
Selesai
def preprocess(tweet):
factory1 = StopWordRemoverFactory()
stopword = factory1.create_stop_word_remover()
text = stopword.remove(text)
Mulai 1 3
1 3 4
2 4 ADA ? Ya 2
Tidak
Hilangkan derivation
Kata baku semua prefiks(-di, ke-,
se-, te-, be-, me-, atau
pe-) Kata awal
Selesai
Cek kamus
2
Pembobotan TF-IDF
Pada pembobotan term dilakukan proses pemberian nilai
atau bobot terhadap setiap term yang ada pada setiap tweet yang
telah melewati tahap proses pre-processing. Dalam melakukan
pemberian bobot terhadap term ini menggunakan metode TF-IDF.
Pembobotan ini bertujuan untuk memberikan nilai kepada suatu
term yang dimana nilai dari term tersebut akan dijadikan sebagai
input pada proses klasifikasi.
1. Tweet yang sudah melalui tahap preprocessing dan memiliki
label menjadi masukan untuk perhitungan TF-IDF
Tabel 4.7 Tweet dan Label
NO Tweet Label
D1 D2
Amin 1 0 1
Baik 0 1 1
balas 0 1 1
bapak 0 1 1
basis 0 1 1
bersaing 1 0 1
dukung 1 0 1
jokowi 2 0 2
jujur 0 1 1
kala 2 0 2
moga 0 1 1
negeri 0 1 1
pilih 0 1 1
pimpin 0 1 1
prabowo 1 0 1
rakyat 0 1 1
sahabat 1 0 1
saling 1 0 1
Sejati 1 0 1
D1 D2
Amin 1 0 1 0.277
Baik 0 1 1 0.277
balas 0 1 1 0.277
bapak 0 1 1 0.277
basis 0 1 1 0.277
bersaing 1 0 1 0.235
dukung 1 0 1 0.235
jokowi 2 0 2 0.471
jujur 0 1 1 0.277
kala 2 0 2 0.471
moga 0 1 1 0.277
negeri 0 1 1 0.277
pilih 0 1 1 0.554
pimpin 0 1 1 0.554
prabowo 1 0 1 0.235
rakyat 0 1 1 0.277
sahabat 1 0 1 0.471
saling 1 0 1 0.471
Sejati 1 0 1 0.235
4. Menghitung TF-IDF
Tabel 4.10 Menghitung TF-IDF
Kosa Tf Df Idf TF-IDF
Kata
D1 D2 D1 D2
1
𝑦𝑘 = 𝑓(𝑦𝑛𝑒𝑡 𝑘 ) = = 0,517
1 + 𝑒 −0,068
𝛿_𝑛𝑒𝑡𝑗 = ∑ 𝛿𝑘 𝑤𝑘𝑗
𝑘=1
𝛿2 = (−0,125)(−0,04) = 0,005
𝛿3 = (−0,125)(0,04) + (−0,125)(0,05) = 0,0011
𝛿4 = (−0,125)(0,03) + (−0,125)(0,01) = −0,002
1
𝑦𝑘 = 𝑓(𝑦𝑛𝑒𝑡 𝑘 ) = = 0,5
1 + 𝑒 −0,0349
13. Hitung faktor δ unit keluaran berdasarkan kesalahan di
setiap unit keluaran 𝑦𝑘 (k = 1, 2,..., m).
𝛿𝑘 = (𝑡𝑘 − 𝑦𝑘 )𝑓′(𝑦_𝑛𝑒𝑡𝑘 )
= (𝑡𝑘 − 𝑦𝑘 )𝑦𝑘 (1 − 𝑦𝑘 ), 𝑡𝑘 = 𝑡𝑎𝑟𝑔𝑒𝑡
δk merupakan unit kesalahan yang akan dipakai dalam
perubahan bobot layer dibawahnya. Hitung perubahan
bobot 𝑤𝑘𝑗 dengan laju pemahaman α.
∆𝑤𝑘𝑗 = 𝛼𝛿𝑘 𝑍𝑗 , 𝑘 = 1,2 … . , 𝑚; 𝑗 = 0,1 … 𝑝
𝛿_𝑛𝑒𝑡𝑗 = ∑ 𝛿𝑘 𝑤𝑘𝑗
𝑘=1
𝛿1 = (−0,125)(0,05) = −0,006
𝛿2 = (−0,125)(−0,04) = 0,005
𝛿3 = (−0,125)(0,04) + (−0,125)(0,05) = 0,0011
classifier= MLPClassifier(activation='tanh',
batch_size='auto',hidden_layer_sizes=(117,117),lea
rning_rate='constant',
max_iter=300,random_state=None, solver='sgd',
verbose=2)
Tweet
Skenario
Positif Negatif
1 kinerja positif pemerintah antek aseng kriminalisasi
jokowi dalam membangun ulama..saya yang
infrastruktur yang ditujukan mendzolimi atau ada yang
untuk kepentingan masyarakat mendzolimi ke saya ~
Papua... Jokowi
Cuma di era Jokowi anggaran Berbagai isu fitnah...antek
kedaulatan pangan naik asing aseng PKI gak
laku!!! Malah bikin
elektabilitas Jokowi
semakin meroket
2 Percayalah mayoritas rakyat Salah satunya didemo
sudah pintar tahu mana yang karyawan kertas nusantara
kerja bener dan hasilnya benar karena gak bayar gaji dan
THR
Kalo prabowojadi Presiden Timses prabowo bisa gk
lunas deh tunggakan pajaknya. sih bicara program...??
Jangan hanya cuma nyinyir
3 ternyata anda pandai juga Kasihan pak prabowo
menganalisa...mantap kadernya banyak yg suka
nyinyir dan nggak bermutu
cuitannya
tidak pernah berpikir berdiri Prabowo adalah elite gagal
diatas satu golongan saja dalam segala hal lemah
karena Islam adalah rahmat pikir pemuja sistem barat
bagi semesta alam Simak! pro asing pelaku
kejahatan.
Tabel 5.1 Hasil Klasifikasi Sentimen Menggunkan Algoritma TF-IDF dan MLP
d=8 c = 42
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
N P N P N P P P P P P N P P P P P P P P
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
P P N P P P P N P P P N P N N P P N P P
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
450 450 900 100
P N P P P P N P P P N N N N N N N N N N
Skenario
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
3
P N P P P P N P P P N N N N N N N N N N
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
N N N P N N N N N N N N P N N N N N N P
Positif Negatif Hasil Akurasi
Hasil Prediksi Keseluruhan
a = 46 b=7
pada Skenario 3 88%
d=5 c = 42
83
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = × 100 = 83%
100
85
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = × 100 = 85%
100
88
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = × 100 = 88%
100
Keterangan :
Akurasi
89%
88%
87%
86%
85%
84%
83%
82%
81%
80%
Skenario 1 Skenario 2 Skenario 3
Akurasi 83% 85% 88%
Precision
0.92
0.9
0.88
0.86
0.84
0.82
0.8
0.78
0.76
0.74
Skenario 1 Skenario 2 Skenario 3
Precision 0.8 0.84 0.9
Recall
0.875
0.87
0.865
0.86
0.855
0.85
0.845
0.84
Skenario 1 Skenario 2 Skenario 3
Recall 0.85 0.86 0.87
F1 Score
0.89
0.88
0.87
0.86
0.85
0.84
0.83
0.82
0.81
0.8
Skenario 1 Skenario 2 Skenario 3
F1 Score 0.83 0.85 0.88
6.1 Kesimpulan
Berdasarkan pembahasan yang sudah diuraikan pada bab
sebelumnya, maka dapat ditarik kesimpulan bahwa algoritma Term
Frequency - Inverse Document Frequency (TF-IDF) dan netode Multilayer
Perceptron (MLP) Neural Network telah berhasil diimplementasikan
terhadap analisis sentimen twitter dimana sistem dapat memberikan output
berupa nilai sentimen positif dan negatif, dan mendapatkan nilai akurasi
tertinggi sebesar 88% pada skenario 3.
6.2 Saran
Penulis menyadari bahwa aplikasi orientasi sentimen ini masih
memiliki beberapa kekurangan dan keterbatasan. Oleh karena itu, ada
beberapa hal yang perlu dipertimbangkan untuk mengembangkan aplikasi
ini agar lebih baik, diharapkan dalam pengembangan sistem selanjutnya,
sistem ini dapat diaplikasikan pada semua platfrom dan dapat
dikombinasikan menggunakan algoritma klasifikasi lainnya seperti
algoritma K-Nearest Neighbor (K-NN), Support Vector Machine (SVM),
CART ( Classification and Regreesion Trees).