Anda di halaman 1dari 56

KLASIFIKASI EMOSI PADA LIRIK LAGU MENGGUNAKAN

METODE PRATICLE SWARM OPTIMIZATION DAN SUPPORT


VECTOR MECHINE

CLASSIFICATION OF EMOTIONS IN SONG LYRICS


USING PRATICLE SWARM OPTIMIZATION METHODS
AND SUPPORT VECTOR MECHINE

TUGAS AKHIR

Disusun sebagai syarat mata kuliah Tugas Akhir

Program Studi S1 Teknik Elektro

Disusun oleh:

WAHYUDI HERMANTO

1103174095

FAKULTAS TEKNIK ELEKTRO


UNIVERSITAS TELKOM

BANDUNG

2021
LEMBAR PENGESAHAN

TUGAS AKHIR

KLASIFIKASI EMOSI PADA LIRIK LAGU MENGGUNAKAN


METODE PRATICLE SWARM OPTIMIZATION DAN SUPPORT
VECTOR MECHINE

CLASSIFICATION OF EMOTIONS IN SONG LYRICS


USING PRATICLE SWARM OPTIMIZATION METHODS
AND SUPPORT VECTOR MECHINE

Telah disetujui dan disahkan sebagai Buku Tugas Akhir

Program Studi Teknik Elektro

Fakultas Teknik Elektro

Universitas Telkom

Disusun oleh:

WAHYUDI HERMANTO

1103174095

Bandung, tanggal (nama) bulan tahun

Pembimbing I Pembimbing II

Budhi Irawan, S.Si., M.T Casi Setianingsih, S.T., M.T.


NIP. 08740064 NIP. 19890019
UNIVERSITAS TELKOM No. Dokumen

JL. Telekomunikasi No. 1 Ters. Buah No. Revisi


Batu Bandung 40257

FORMULIR LEMBAR Berlaku efektif


ORISINALIRAS

LEMBAR PERNYATAAN ORISINALITAS

NAMA : WAHYUDI HERMANTO


NIM :1103174098
ALAMAT : Sapta Taruna PU, B1 NO4 Bojongsoang
No. Tlp/HP 081221503954
E-mail : wahyudihermanto@gmail.com

Menyatakan bahwa Tugas Akhir ini merupakan karya orisinil saya


sendiri, dengan judul:

KLASIFIKASI DATA POLITIK PADA MEDIA SOSIAL


DENGAN ALGORITMA SUPPORT VECTOR MACHINE

CLASSIFICATION OF POLITICAL DATA IN SOCIAL


MEDIA USING SUPPORT VECTOR MACHINE

Atas pernyataan tersebut, saya siap menanggung resiko ataupun sanksi


yang diberikan kepada saya apabila ditemukan adanya pelanggaran
kejujuran akademik dan etika keilmuan maupun bukti yang menunjukan
ketidakaslian karya ini dikemudian hari.

Bandung, 26 Januari 2021

Wahyudi Hermanto

1103174095

iii
ABSTRAK

Lagu adalah suatu kesatuan musik yang terdiri dari susunan nada
dan terdapat lirik didalamnya. Lirik adalah syair kata-kata yang disuarakan
mengiringi melodi. Pada lirik lagu berperan dalam membangun emosi.
Emosi pada lagi menjelaskan makna emosional yang melekat pada sebuah
klib lagu.
Penelitian ini diawali dengan pengumpulan dataset berupa lirik lagu
di website www.kapanlagi.com sebagai penyedia lirik lagu. Kemudian
dilakukan preprocessing data yang terdiri dari transform cases, tokenizing,
stop removal, dan stemming. Setelah itu dilakukan proses part of speecs
(POS) tagging untuk memberikan label pada kata di dalam teks sesuai
dengan kelas kata secara otomatis. Proses memberikan label pada kata
apakah itu kata kerja, kata sifat, atau keterangan. Untuk dapat menentukan
emosional pada lirik lagu sesuai dengan apa yang kita dengarkan, maka
dibutuhkan metode yang tepat dalam melakukan klasifikasi teks.
Dalam penelitian Fatimah Wulandini yang berjudul “Text
Classification Using Support Vector Machine for Webmining Based Spatio
Temporal Analysis of the Spread of Tropical Diseases” bahwa metode
SVM menunjukkan hasil paling baik pada kasus klasifikasi informasi teks
Bahasa Indonesia dibandingkan dengan metode Naive Bayes classifier, k-
Nearest Neighbor classifier, dan C4.5 Decision Tree dengan akurasi sebesar
92,5%.

Kata Kunci: Tuliskan dua sampai enam kata kunci yang berkaitan dengan
masalah yang dibahas.

iv
ABSTRACT

A song is a musical entity consisting of a tone arrangement and there are


lyrics in it. Lyrics are lyrics of words voiced accompanying the melody. In
the lyrics of the song plays a role in building emotions. Emotions again
explain the emotional meaning inherent in a song.
This research was started by collecting datasets in the form of song lyrics
on www.kapanlagi.com website as a provider of song lyrics. Then
preprocessing data consisting of transform cases, tokenizing, stop removal,
and stemming. After that, the part of speecs (POS) tagging process is done
to label the word in the text according to the word class automatically. The
process of labeling a word whether it's a verb, adjective, or description. To
be able to determine the emotional lyrics of the song according to what we
listen to, it takes the right method of classifying the text.
In Fatimah Wulandini's study entitled "Text Classification Using Support
Vector Machine for Webmining Based Spatio Temporal Analysis of the
Spread of Tropical Diseases" that SVM method showed the best results in
the case of classification of Indonesian text information compared to Naive
Bayes classifier, k-Nearest Neighbor classifier, and C4.5 Decision Tree
method with 92.5% accuracy.

Keywords: Write down two to six keywords related to the issue discussed.

v
KATA PENGANTAR

Assalamu’alaikum Wr. Wb.

Puji dan syukur penulis panjatkan kepada Allah SWT, karena berkat
rahmatNya, penulis dapat menyelesaikan Tugas Akhir yang berjudul
“Klasifikasi Data Politik pada Media Sosisal Dengan Algoritma Support
Vector Machine”. Tugas Akhir ini disusun dengan tujuan untuk
melengkapi syarat kelulusan di program studi S1 Teknik Komputer,
Fakultas Teknik Elektro, Universitas Telkom.

Penulis mengucapkan terimakasih kepada semua pihak yang telah


membantu dalam proses pelaksanaan serta penyusunan Tugas Akhir ini.
Penulis juga menyadari bahwa Tugas Akhir ini masih jauh dari kata
kesempurnaan, Oleh karena itu kritik dan saran yang membangun dari
pembaca sangat diharapkan.

Demikian Tugas Akhir ini disusun, penulis berharap Tugas Akhir


ini dapat berguna bagi seluruh Civitas Universitas Telkom pada
khususnya dan umum bagi pihak pembaca.

Wassalamu’alaikum Wr. Wb.

Bandung, 2 Februari 2021

Penulis

vi
UCAPAN TERIMA KASIH

Atas segala do’a, bimbingan dan dukungan yang telah


diberikan kepada penulis, penulis mengucapkan terima kasih
kepada:

1. Allah S.W.T yang telah melimpahkan Rahmat dan


Karunia-Nya sehingga penulis dapat menyelesaikan tugas
akhir ini dari awal hingga selesai. Penulis juga
berterimakasih kepada Nabi Muhammad S.A.W atas
segala perjuangan yang telah beliau lakukan hingga
akhir hayatnya.
2. Kepada kedua orang tua, abang, kakak, yang se1ama ini
telah memberikan doa tanpa henti, selalu memberikan
dukungan penuh, memberikan kepercayaan yang sangat
besar dan selalu mendengarkan keluh kesah ditengah
kesibukan.
3 Kepada Dosen Wali, bapak Budhi Irawan S.Si., M.T.
terima kasih atas sega1a ilmu dan bimbingan yang
diberikan.

4. Kepada Pembimbing I, bapak Budhi Irawan, S.Si., M.T


atas segala dukungan, bimbingan dan kemudahan yang
diberikan. Terimakasih sudah meluangkan waktu untuk
membimbing penulis dari awal hingga selesai.

5. Kepada Pembimbing II sekaligus Pembina Lab i-Smile,


ibu Casi Setianingsih, S.Si., M.T yang selama ini selalu
memberikan arahan dan dukungan. Terima kasih sudah
meluangkan waktu untuk membimbing penulis dari awal
hingga selesai.
6. Kepada Ibu Sariah dari Balai Bahasa Jawa Barat.
Terimakasih atas bantuannya sehingga penulis dapat
menyelesaikan penelitian tugas akhir ini.
7. Seluruh dosen Program Studi S1 Teknik Komputer yang
telah memberikan ilmu yang bermanfaat se1ama
vii
perkuliahan ini.
8. Rekan Tugas Akhir penulis Raisha Gerry Samhari
Ramadhan yang selalu membantu di saat-saat sulit dalam
mengerjakan tugas akhir. Sukses buat kedepannya.

9. Terima kasih kepada keluarga TK-41-06 telah menjadi


teman-teman terbaik penulis selama perkuliahan dan
terima kasih telah membantu penulis selama perkuliahan
dan terimakasih telah membantu penulis. Terimakasih
banyak sukses selalu buat kalian.
12. Terima kasih kepada keluarga Security Laboratory yang
telah mengisi hari-hari penulis selama semester 7 ini.
13. Terima kasih kepada keluarga Laboratorium Teknik
Komputer, terimakasih atas ilmu, pengalaman dan
kerjasamanya. Sukses selalu untuk kalian.
14. Terimakasih kepada warga Baghdat dan warga
i11(aileven) dan yang selama ini membantu dan
menemani penulis saat mengerjakan tugas akhir.
15. Terimakasih bebeb aku Fauzia Khairina yang selalu
memberikan support saat mengerjakan tugas akhir

viii
DAFTAR ISI

LEMBAR PENGESAHAN

ABSTRAK DAFTAR ISIDAFTAR GAMBAR

DAFTAR TABEL BAB I PENDAHULUAN


1.1 Latar Belakang Masalah
1.2 Rumusan Masalah 10
1.3 Tujuan dan Masalah 11
1.4 Batasan Masalah 11
1.5 Metode Penelitian 12
1.6 Jadwal Pelaksanaan 12

BAB I TINJAUAN PUSTAKA


2.1 Penggunaan Bahasa Indonesia yang Baik dan Benar
2.2 Penulisan 15
2.2.1 Kertas .......................................................................................................................... 15
2.2.2 Pengetikan.................................................................................................................... 15
2.2.3 Penomoran Halaman..................................................................................................... 15
2.2.4 Ketentuan Halaman Sampul......................................................................................... 16
2.3 Ketentuan Penggunaan Gambar, Tabel dan Persamaan 16
2.3.1 Penyisipan Gambar ..................................................................................................... 16
2.3.2 Penyisipan Tabel ......................................................................................................... 17
2.3.3 Penulisan Rumus atau Persamaan ............................................................................... 18
2.4 Penulisan Kutipan format IEEE 18
2.4.1 Kutipan Langsung ....................................................................................................... 18
2.4.2 Kutipan Tidak Langsung ............................................................................................. 19
2.5 Penggunaan Referensi
2.7 Format Penulisan Daftar Sumber Pustaka 27
2.7.1 Buku ............................................................................................................................ 27
2.7.2 Artikel dari proceeding (seminar, workshop) ............................................................. 28
2.7.3 Sumber online (seperti wikipedia) .............................................................................. 28

ix
BAB III PERANCANGAN SISTEM
3.1 Desain Sistem3.1.1 Diagram Blok ........................................................................................ 29
3.1.2 Fungsi dan Fitur........................................................................................................... 29
3.2 Desain Perangkat Keras 29
3.2.1 Spesifikasi Komponen ................................................................................................. 29
3.3 Desain Perangkat Lunak 29
3.2.1 Spesifikasi Sub Sistem ................................................................................................. 29

BAB IV HASIL PERCOBAAN DAN ANALISIS


4.1 Hasil Percobaan4.1.1 Pengujian Parameter A....................................................................... 30
4.1.2 Pengujian Parameter B................................................................................................. 30
4.2 Hasil Percobaan4.2.1 Analisis Hubungan Parameter A terhadap Tujuan A......................... 30
4.2.2 Analisis Hubungan Parameter B terhadap Tujuan A................................................... 30
4.2.3 Analisis Hubungan Parameter A terhadap Tujuan B ................................................... 30
4.2.4 Analisis Hubungan Parameter A terhadap Tujuan B................................................... 30

BAB V KESIMPULAN DAN SARAN


5.1 Kesimpulan5.2..................................................................................................................Saran

DAFTAR PUSTAKA

LAMPIRAN

FORM PEMERIKSAAN TUGAS AKHIR

DAFTAR GAMBAR
Gambar 2.1 Desain rangkaian elektronik

x
DAFTAR TABEL
Tabel 1.1 Contoh Jadwal dan Milestone Tabel 1.1 Hubungan Antara Input dan Output

xi
6
BAB I
PENDAHULUAN

1.1. Latar Belakang Masalah

Setiap orang pernah merasakan emosi. Emosi adalah sebuah perasaan


seseorang terhadap lingkungan atau keadaan yang mempengaruhi tingkah laku.
Emosi dapat ditunjukan seperti merasa senang terhadap suatu keadaan, marah
pada seseorang, ataupun takut terhapat suatu kejadia. Emosi bersifat subyektif dan
temporer yang disebabkan oleh stimulus dari lingkungan atau orang sekitar. Salah
satu lingkungan yang dapat merangsang emosi seseorang adalah melalui lagu
yang didengarkan. Lagu sudah menjadi salah satu bagian dari kesenangan
manusia yang mendengarkannya. Seni nada atau suara dalam urutan, kombinasi
dan hubungan temporal yang biasanya diiringi dengan alat musik. Suatu nada itu
nantinya akan membentuk suatu irama dan lirik berupa syair atau kata-kata yang
mengiringi irama tersebut. Lirik lagu sendiri merupakan salah satu bagian dalam
sebuah lagu yang berperan sebagai pembangun emosi. Pemilihan kata-kata yang
tepat diperlukan untuk membangun emosi. Lirik pada lagu menunjukan suasana
hati orang yang menciptakannya. Dalam mengekspresikan emosinya, pencipta
lagu Menyusun kata-kata untuk dijadikan lirik lagu. Mereka mencoba
menggunakan emosi selain untuk mendapatkan metadata konvensional seperti
(marah, senang, sedih, tenang, takut, dll).

Pada penelitian ini dibuat sebuah system yang mampu mengkategorikan lirik
lagu berdasarkan topik lagu sebagai data penelitian. Secara garis besar, penelitian
ini terdiri dari beberapa tahapan agar mencapai hasil output yang diinginkan yaitu
prepocessing data, ektrasi fitur menggunakan Genetic Alg, klasifikasi
menggunakan metode Support Vector Mechine, pembobotan WIDF dan pengujian
sistem. Support Vector Mechine (SVM) merupakan metode klasifikasi yang
berakar dai teori pembelajaran statistik yang hasilnya sangat menjanjikan untuk
memberikan hasil yang lebih baik dari metode yang lain. Selain itu, SVM juga
bekerja dengan baik pada set data dengan dimensi yang tinggi, seperti teks. Dalam
penelitian Fatimah Wulandini yang berjudul “Text Classification Using Support
Vector Machine for

6
7

Webmining Based Spatio Temporal Analysis of the Spread of Tropical Diseases”


bahwa metode SVM menunjukkan hasil paling baik pada kasus klasifikasi
informasi teks Bahasa Indonesia dibandingkan dengan metode Naive Bayes
classifier, k-Nearest Neighbor classifier, dan C4.5 Decision Tree dengan akurasi
sebesar 92,5%. Berdasarkan permasalahan di atas maka Tugas Akhir ini akan
menginplementasikan suatu sistem klasifikasi dengan metode Support Vector
Mechine dengan pemilihan fitur Particle Swarm Optimization. Dengan metode
tersebut diharapkan dapat menentukan klasifikasi emosi apakah sesuai dengan
lirik lagu dan mendapatkan akurasi yang tinggi.

1.2. Rumusan Masalah

Rumusan masalah dalam karya ilmiah tugas akhir Klasifikasi Emosi


Berdasarkan Lirik Lagu Menggunakan Metode Support Vector Mechine dan
Pembobotan WIDF adalah sebagai berikut:

i. Bagaimana cara merancang sistem yang dapat mengklasifikasikan


emosi pada lirik lagu dengan otomatis?
ii. Bagaimana menentukan kelas topik pada lirik lagu dengan menggunakan
metode Support Vector Mechine dan pembobotan Particle Swarm
Optimization?

1.3. Tujuan dan Manfaat

Berdasarkan perumusan masalah, maka tujuan dari penelitian ini adalah:


1. Merancang sebuah sistem yang nantinya bermanfaat untuk menentukan
emosional pada lirik lagu
2. Merancang sistem untuk menentukan topik pada dokumen lirik lagu
dengan menggunakan metode Support Vector Mechine dan Support Vector
Mechine.
8

1.4. Batasan Masalah

Adapun batasan masalah terdapat pada penelitian ini yang tujuannya untuk
menghindari meluasnya materi pembahasan. Batasan masalah pada penelitian ini
sebagai berikut:

1. Lirik lagu yang dijadikan dataset merupakan lirik berbahasa Indonesia


2. Bahasa pemograman yang akan digunakan adalah Python
3. Kelas topik yang digunakan pada sistem ini yaitu cinta, marah,
senang, dan sedih
4. Metode Klasifikasi yang digunakan adalah Support Vector Mechine
kernel rbf
5. Pembobotan yang digunakan adalah WIDF (Weighted Inverse
Document Frequency)
6. Seleksi fitur yang digunakan adalah PSO (Particle Swarm
Optimization)

1.5. Metode Penelitian

Metodologi penelitian yang digunakan dalam penyelesaian masalah pada


penelitian ini yaitu:

1. Identifikasi Masalah
Pada tahap awal dalam penelitian dilakukan identifikasi masalah
mengenai kategorisasi lagu di berbagai website sebagai penyedia lagu dan
aplikasi penyedia musik lainnya.

2. Studi Literatur
Pada tahap ini dilakukan literatur mengenai metode klasifikasi teks
Support Vector Mechine, pembobotan WIDF dan cara melakukan
Prepocessing data.

3. Pengumpulan Data
9

Pada tahap ini dilakukan pengumpulan data lirik lagu berbahasa


Indonesia dari berbagai website yang nantinya akan diberikan label emosi
secara manual pada dataset penelitian.

4. Analisis Kebutuhan dan Perancangan Sistem


Pada tahap ini dilakukan analisis kebutuhan untuk merancangan
sistem yang digunakan pada penelitian.

5. Implementasi Sistem
Pada tahap implementasi sistem, dilakukan pembangunan sistem
dengan menggunakan data yang dilakukan prepocessing data, pembobotan
WIDF, dan klasifikasi metode Support Vector Mechine. Selanjutnya
dilakukan analisis terhadap hasil performansi tersebut serta menarik
kesimpulan dari hasil penelitian.

6. Penyusunan Laporan
Tahap terakhir pada penelitian ini adalah pembuatan laporan hasil
penelitian kedalam bentuk buku beserta dengan dokumentasi yang
diperlukan.

1.6. Jadwal Pelaksanaan

Tabel 1.1 Contoh Jadwal dan Milestone.

Bulan
Novemb Mei
NO Kegiatan Desembe januari Februari Maret April
er
r
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Mencari
1
Referen
si
Perancangan
2 Sistem
3 Implementasi
Pengujian
4
10

dan
analisis
Pembuatan
5 buku TA
6 Sidang TA
BAB II
TINJAUAN PUSTAKA

2.1. Emosi

Sejak lahir manusia dibekali dalam merasakan berbagai macam emosi.


Bayi yang baru lahir mempunyai keterbatasan dalam merasakan emosi. Seiring
berjalannya waktu kemampuan dalam mengendalikan emosi dapat berkembang
melalui pengalaman berinteraksi dengan seseorang dan interaksi dengan orang
pada lingkungan sekitar. Ketika anak masuk usia dua tahun, anak dapat
mengekspresikan emosi seperti marah, senang, sedih, dan cemburu.

Emosi dijelaskan secara berbeda oleh psikolog, namun semua sepakat


bahwa emosi adalah bentuk kompleks dari sebuah organisme, yang menyebabkan
perubahan fisik seperti denyut nadi, produksi kelenjar, perubahan raut wajah, dan
sebagainya. Dari sudut mental, emosi dapat dilihat dari bentuk Bahagia atau
cemas, yang ditandai adanya perasaan yang kuat, biasanya adanya dorongan
kepada tingkah laku. Kemunculan emosi pada sesorang dapat dikenali dalamn
bentuk raut wajah, tingkah laku dan nada suara. Ekspresi timbul secara spontan
dan sulit untuk ditutupi atau dikontrol. Oleh karena itu pengendalian emosi sangat
penting bagi setiap orang, khususnya untuk mereduksi ketegangan yang timbul
akibat emosi yang memuncak.[1]

Terciptanya emosi berpengaruh pada kualitas kegiatan yang dilakukan


manusia seperti belajar. Emosi yang positif dapat mempercepat dan
mempermudah proses belajar agar mendapatkan hasil yang lebih baik.
Sebaliknya, emosi negatif dapat menghambat proses belajar bahkan hingga
memberhentikan proses belajar manusia. Emosi negatif hanya akan menambahkan
beban pada pikiran seseorang saat bekerja, sedangkan emosi positif membantu
pikiran seseorang dengan munculnya ide-ide baru. Oleh karena itu, emosi positif
perlu diciptakan untuk memulai pekerjaan yang baik.[2]

5
Beberapa tokoh memodelkan emosi kedalam bentuk dimensi. Ada 2 model
emosi yang ditentukan oleh dimensi yaitu model emosi Russel dan model emosi
Thayer.

Gambar 2.1 Model emosi Russel [3]

Empat kuadran melambangkan empat jenis emosi. Kuadran pertama mewakili


emosi bahagia dan emosi gembira, dan kuadran kedua mewakili emosi gelisah dan
emosi marah, dan kuadran ketiga mewakili emosi sedih dan emosi tertekan, dan
kuadran keempat mewakili emosi santai dan emosi tenang.[3]

Gambar 2.2 Model emosi Thayer [3]

Model emosi Thayer Seperti yang ditunjukkan di atas, sumbu energi


mencerminkan orang-orang vitalitas secara fisiologis, dari kerang hingga
kekuatan. Sumbu stres mencerminkan proses orang dari bahagia menjadi cemas

6
dalam psikologi. Ini membagi emosi musik menjadi empat kategori: kegembiraan,
kecemasan, kepuasan dan depresi. Di satu sisi, model klasifikasi emosi ini
memiliki beberapa kekurangan. Ini memampatkan emosi kompleks manusia ke
model dimensi, dan dengan demikian akan menyebabkan hilangnya informasi
musik sampai tingkat tertentu. Di sisi lain, masih ada beberapa keuntungan
darinya. Pertama, model ini lebih cocok untuk pengenalan emosi karena
karakteristik emosinya. Kedua, model menggunakan ide dimensi untuk
mendeskripsikan emosi musik, dan mudah untuk menetapkannya.

2.2. Text Mining

Text mining menurut Feldman, R. dan Sanger, J., merupakan sebuah


proses pengetahuan intensif dimana bekerja dengan dokumen dengan
menggunakan beberapa alat analisis. Text mining juga dapat mengekstrak
informasi yang berguna dari sumber data untuk identifikasi dan eksplorasi dari
suatu pola menarik.[4]

Tahapan proses text mining dibagi menjadi 4 tahap utama, masukan awal
dari proses adalah berupa suatu data teks dan akan menghasilkan keluaran berupa
pola sebagai hasil tafsiran.[5]

Gambar 2.3. Mengilustrasikan hyperplanes

7
2.2.1. Text Processing

Pada tahapan text processing karakter yang bersambung harus


dipecah-pecah. Hal ini dapat dilakukan dalam beberapa tingkatan yang
berbeda. Suatu dokumen dapat dipecah menjadi bab, sub-bab, paragraf,
kalimat, kata dan bahkan suku kata atau fonem. Pada tahapan text
processing salah satu contohnya adalah parsing/tokenizing. Fitur ini
terdiri dari tipe kapitSlisasi, keberadaan digit, tanda baca, karakter spesial
dan lain sebagainya. [6]

2.2.2. Feature Selection


Pada tahapan seleksi fitur (feature selection) bertujuan untuk
mengurangi dimensi dari suatu kumpulan teks. Dengan kata lain,
menghapus kata-kata yang dianggap tidak penting atau tidak
menggambarkan isi dokumen berdasarkan frekuens-i kemunculan kata
tersebut.[6]

Suatu dataset biasanya terdiri dari berbagai objek dan fitur data,
Fitur adalah pemetaan dari objek ke sekumpulan nilai yang
mendeskripsikan karakteristik objek, dan jumlah fitur mewakili dimensi
dataset. Seleksi fitur dilakukan untuk memilih fitur relevan berukuran
minimal dari sekumpulan besar fitur asli untuk tujuan membangun model
yang kuat, akurat dan cepat.

2.2.3. Pattern Discovery


Tahapan penemuan pola adalah tahap terpenting dari keseluruhan
proses text mining. Merupakan penemuan pola atau pengetahuan dari
keseluruhan teks.[6]

2.3. Prepocessing

Dalam penelitian ini diterapkan text processing untuk data yang akan
digunakan dalam penentuan emosi pada lirik lagu. Dimana data yang kita proses

8
akan kita ambil informasi yang terkandung didalamnya guna memudahkan kita
dalam mengelola data.[6] Berikut ini beberapa tahapan dalam prepocessing data:

2.3.1. Transform Cases


Dengan menggunakan Transform Cases secara otomatis semua
huruf pada teks akan diubah menjadi huruf kecil semua atau menjadi huruf
kapital semua. [7]

2.3.2. Tokenizing
Tokenisasi terkadang juga disebut sebagai ekstraksi yang merupakan
proses mengubah aliran teks menjadi kata-kata unit tunggal. Proses
pemotongan kalimat menjadi beberapa potongan kata atau karakter yang
disebut dengan istilah token. [7]

2.3.3. Stopward Removal


Tahapan ini adalah proses pengambilan kata-kata penting dan
pembuangan kata-kata yang dianggap tidak penting. Contoh stopward pada
kamus adalah “ke”, “di”, “dari”, “dan” dan sebagainya. [7]

2.3.4. Stemming
Stemming merupakan suatu proses transformasi kata-kata yang
terdapat dalam suatu dokumen ke kata-kata akarnya dengan aturan-aturan
tertentu, atau dapat dianggap sebagai pembuangan imbuhan kata. [7]

9
6

2.4. Pembobotan Kata (Term Weighting)

Proses pembobotan kata ini dilakukan untuk mendapatkan nilai dari kata
(term). Pembobotan yang akan digunakan pada Tugas Akhir ini adalah WIDF
(Weighted Inverse Document Frequency), merupakan pengembangan dari
pembobotan TF-IDF. WIDF menjumlahkan semua term frequency dari kumpulan
teks, dengan kata lain WIDF merupakan bentuk normalisasi dari kumpulan teks.
Pembobotan WIDF juga dapat menghitung semua koleksi dokumen. Berikut
persamaan WIDF dirumuskan pada persamaan berikut ini.[8]

TF (d , j)
WIDF ( d , j )= (2.1)
∑ i∈ D TF (i, j)

Keterangan:
∑TF = Jumlah term pada semua dokumen

Gambar 2.4 Contoh perhitungan kemunculan term


Dilihat pada persamaan terdapat frekuensi tx dan ty terhadap d1 sampai d5
nilainya berbeda-beda. Metode WIDF menghitung nilai term frekuensi. Contoh,
1/df(t) dari gambar 2.1 diatas menjadi
1
1+ 1+ 1+ 1+1
Untuk semua teks. Kemudian anghka “1” diganti dengan frekuensi dari masing-
masing term, menjadi
50
1+ 50+3+2+4
Pada kasus d2, factor ini disebut dengan WIDF. WIDF dapat membedakan
masing-masing teks d…d5.
7

Gambar 2.5 Proses WIDF

Gambar 2.5 menjelaskan tentang proses perhitungan Weighted Inverse Doucment


Frequency(WIDF).

2.5. Part of Speech Tagger (POS) Tagging

Part -of -speech (POS) tagger adalah memberikan label pada kata di
dalam teks sesuai dengan kelas kata secara otomatis. Proses memberikan label
pada kata apakah itu kata kerja, kata sifat, atau keterangan. [9]
8

Part of speech tagging (POS tagging) memiliki peran penting dalam


berbagai bidang pemrosesan bahasa alami (NLP) termasuk terjemahan mesin. Ini
didefinisikan sebagai proses pemberian label pada setiap kata dalam kalimat yang
menunjukkan status kata tersebut dalam beberapa sistem untuk mengkategorikan
kata-kata dalam bahasa tersebut menurut sifat morfologis dan sintaksisnya. Data
yang diberi tag dapat digunakan untuk sistem terjemahan mesin berbasis aturan
yang meningkatkan akurasi. [10]

Tabel 2.1 Label POS-Tagging

Label Keterangan

Bilangan kardinal
CD (cardinal numerals)
Konjungsi koordinasi
CC (coordinate conjunction)

Bilangan urutan
OD (ordinal number)

Preposisi
IN (prepositions)

Kata serapan/kata asing


FW (foreign words)

Kata sifat
JJ (adjectives)

Negasi
NEG (negations)
Kata kerja bantu/modal
MD (modal or auxiliaries verbs)

Kata benda umum, tidak spesifik


NN (common nouns)
Pengolahan kata benda secara umum
PR (common pronouns)

Kata ganti orang


PRP (personal pronouns)
9

Kata kerja
VB (verbs)

Simbol
SYM (symbols)
Kata sambung/penghubung
SC (subordinate conjunction)

Keterangan waktu
RB (adverbs)

2.6. Particle Swarm Optimization (PSO)

Swarm Optimization (PSO) adalah teknik optimasi stokastik berbasis


populasi yang terinspirasi oleh kawanan burung dan kawanan ikan, awalnya
dirancang dan diperkenalkan oleh Kennedy dan Eberhart (1995), dan berbasis
iteratif / generasi. Alur algoritma PSO dimulai dengan sekumpulan partikel
dengan solusi potensial untuk masalah yang sedang diselidiki dan kecepatan yang
diinisialisasi secara acak dalam ruang pencarian. Setiap iterasi melakukan
pencarian posisi optimum dengan memperbarui kecepatan dan posisi partikel.
Demikian pula, pada setiap iterasi, nilai fitness untuk setiap posisi partikel
ditentukan dengan menggunakan fungsi fitness. Kecepatan setiap partikel
diperbarui dengan dua posisi optimal, posisi individu yang optimal dan posisi
keseluruhan yang optimal. Tempat pribadi terbaik, pbest, adalah tempat terbaik
yang pernah dikunjungi county, dan gbest adalah tempat terbaik kawanan itu sejak
awal[11]. Kecepatan dan posisi partikel diperbarui sebagai berikut:

Vi + 1 = w ∗ vi + c1 ∗ r1 ∗ (pbesti−xi) + c2 ∗ r2 ∗ (gbesti − xi) (1) xi+1 =


xi + vi+1

Keterangan:
i =1, 2, ..., N
w = Berat inersia menentukan sejauh mana kecepatan arus
partikel i
v = Nilai kecepatan partikel i
10

r1 dan r2 = Bilangan acak [1,0]


c1 dan c2 = Koefisien percepatan

2.7. Support Vector Mechine (SVM)

Support Vector Mechine merupakan algoritma klasfikasi dimana vector


yang diinputkan menggunakan ruang hipotesis berupa fungsi-fungsi linier dalam
sebuah ruang fitur (feature space) berdimensi tinggi. [12]

Konsep kerja dari algortima Support Vector Mechine (SVM) adalah


dengan cara mendefinisikan batas yang disebut dengan hyperplane yang terletak
antara dua kelas yang berbeda dengan ketentuan jarak maksimal dari data yang
terdekat [13]. Hyperplane dengan nilai yang terbaik berfungsi untuk mendapatkan
suatu batasasan maksimal antar kelas pada input space yang diperoleh dengan
cara mengukur dari margin hyperplane serta mencari titik maksimalnya. Margin
merupakan jarak yang terletak di antara hyperplane dengan titik terdekat dari
masing-masing kelas. Titik terdekat ini yang disebut dengan support vector. [14]

Untuk menentukan Hyperplane terbaik dapat ditentukan dengan ketentuan


rumus sebagai berikut:

n n
1
Max L D = ∑ ai— ∑ j=1 ai a j y i y j x i x j (2.2)
i=1 2 i

Atau

n n
1
Min L D =
2 ∑ ai a j y i y j xi x j— ∑ ai (2.3)
j=1 i=1

Dengan syarat:

∑ α i y i=0 , α i ≥ 0 (2.4)
i=0
11

dengan {𝑥i , … , 𝑥n} adalah dataset input, dan 𝑦i ∈ {+1, -1} adalah label kelas
dari data 𝑥i. Dengan hasil tersebut akan terdapat nilai untuk setiap data
training. Data training yang memiliki nilai adalah support vector sedangkan
sisanya memiliki nilai 𝛼i = 0.

Setelah solusi dari permasalahan quadratic programming ditemukan (nilai αi),


setelah itu kelas dari data pengujian dapat ditentukan berdasarkan nilai dari
suatu fungsi keputusan:

ns
F ( x d ¿=∑ α i y i x i x d +b (2.5)
i=0

Dimana:
𝑥i = support vector

𝑛𝑠 = jumlah support vector

𝑥d = data yang diklasifikasikan

Pada umumnya Support Vector Machine hanya dapat melakukan proses


klasifikasi data ke dalam dua kelas (klasifikasi biner). SVM secara umum
memiliki 4 kernel, yaitu:

a. Linear Kernel

𝐾 (𝑥i, 𝑥j) = 𝑥iT𝑥j (2.6)

b. Polynomial Kernel dengan derajat d

𝐾 (𝑥i, 𝑥j) = exp (𝛶𝑥iT𝑥j + 1) d, 𝛶 > 0 (2.7)

c. Radial Basis Function Kernel

𝐾 (𝑥i, 𝑥j) = exp (−𝛶ǁ𝑥i − 𝑥jǁ )2, 𝛶 > 0 (2.8)

d. Sigmoid Kernel

𝐾 (𝑥i, 𝑥j) = tanh (𝛶𝑥iT𝑥j + 𝑟) (2.9)


12
BAB III
PERANCANGAN SISTEM

3.1. Desain Sistem

Sistem yang akan dibangun pada tugas akhir adalah sistem yang mampu
mendeteksi kelas emosi pada lirik lagu. Lirik lagu yang akan digunakan pada
tugas akhir ini adalah bahasa Indonesia. Kelas yang akan dideteksi oleh sistem ini
adalah sedih, bahagia, cinta, dan marah. Alur kerja sistem ini sebagai berikut:
pengumpulan dataset berupa teks, prepocessing, POS-Tagging, pembobotan kata,
seleksi fitur dan klasifikasi menggunakan algoritma support vector mechine.

Gambar 3.1 Gambaran umum sistem

Gambar 3.1 adalah menunjukan bagaimana sistem bekerja dimulai dari


pengumpulan data sampai mendapatkan suatu kesimpulan berupa hasil klasifikasi.
Berikut adalah beberapaproses yang terjaid pada gambar 3.1:

13
1. Pengumpulan Data: Proses ini merupakan pengumpulan data berupa lirik
lagu dan nanti akan disatukan dalam file CSV.

2. Preprocessing: Pada tahapan ini akan dilakukan proses mengubah huruf


besar menjadi huruff kecil, tokenizing, stopward removal, dan stemming.

3. Ekstaraksi fitur: Pada tahapan ini dilakukan ekstraksi fitur menggunakan


algoritma WIDF dan akan diberikan bobot nilai pada setiap kata.

4. Seleksi fitur: Pada tahapan ini dilakukan seleksi fitur menggunakan


algortima particle swarm optimization berguna untuk memilih fitur-fitur
yang relevan dan meningkatkan efektifitas dan efesiensi kinerja dari
algoritma klasifikasi.

5. Klasifikasi: Data yang telah diberikan bobot nilai akan diklasifikasikan


menggunakan algoritma support vector mechine.

6. Kesimpulan klasifikasi: Data yang telah diklasifikasikan kemudian akan


dikelompokan sesuai dengan sub kelasnya.

3.2. Analisis Kebutuhan Sistem Software dan Hardware

Pada tugas akhir ini data yang digunakan akan dianalisis oleh beberapa
kebutuhan alat pendukung seperti software, hardware, brainware.

3.2.1. Software
Perangkat lunak yang akan digunakan dalam perancangan sistem
program menggunakan perangkat lunak dengan spesifikasi sebagai
berikut:

1. Sistem Operasi
2. Bahasa Pemograman
3. Sastrawi Module
4. Sklearn Module
5. Pandas Module

3.2.2. Hardware
Perangkay keras yang digunakan dalam membangun sistem ini adalah:

1. Komputer
2. Processor AMD A10-9600P Radeon R5

14
3. Memory RAM 8GB DDR4

3.2.3. Brainware
Untuk pengguna yang dibutuhkan harus memiliki kemampuan
sebagai berikut:

1. Dapat menggunakan komputer dengan baik

2. Dapat berinteraksi dengan browser jenis apapun

3.3. Perancangan Sistem


Pada tugas akhir ini akan menggunakan bahasa python untuk melakukan
proses penentuan genre pada lirik lagu. Dibawah ini adalah tahap-tahap
perancangan pada tugas akhir ini :

15
Gambar 3.2 Perancangan Sistem

Pada gambar 3.2 merupakan gambaran sistem di tugas akhir ini. Dimulai
dari pengambilan data lirik lagu di berbagai website berupa lirik berbahasa
Indonesia. Data lirik lagu nantinya dilakukan pelabelan emosi secara manual.
Pelabelan kata dilakukan dengan mencocokan kata-kata pada lirik lagu dengan
rules yang berisi kata-kata mengandung emosi. Rules yang dibuat akan divalidasi
oleh Balai Bahasa nantinya. Tujuan validasi data adalah untuk mengecek kinerja
pada sistem. Tahap selanjutnya dilakukan prepocessing data untuk mendapatkan
data bersih. Kemudian ektraksi fitur menggunakan particle swarm optimization,
selanjutnya POS-Tagging, pembobotan WIDF, dan tahap terakhir adalah
klasifikasi menggunakan algoritma support vector mechine.

3.4. Pengambilan Data

Pengambilan data lirik lagu akan diambil di website


https://lirik.kapanlagi.com/, dan https://liriklaguindonesia.net/.

3.5. Preprocessing

Preprocessing adalah tahapan pembersihan data berupa teks lirik lagu


berbahasa Indonesia. Tujuan dari preprocessing data adalah membersihkan data
lirik lagu untuk mengurangi teks yang tidak ada makna agar sistem bisa
mengklasifikasian emosi pada lirik lagu. Tahapan dalam proses preprocessing
sebagai berikut:

16
Gambar 3.3 Tahapan Preprocessing

Pada gambar 3.3 di atas merupakan proses preprocessing dimulai dari lirik lagu
mentah yang kemudian dilakukan proses transform cases, tokenizing, stopward
removal, dan stemming. Berikut penjelasan detail dari tahapan preprocessing:

3.5.1. Transform Cases


Dengan menggunakan Transform Cases secara otomatis semua huruf
pada teks akan diubah menjadi huruf kecil semua atau menjadi huruf kapital
semua.

Tabel 3.1 Proses Transform Cases

Input Output
Jika masih ada Cinta di hatimu Maka jika masih ada cinta di hatimu maka
maafkanlah Segala kesalahan Cintailah maafkanlah segala kesalahan cintailah

3.5.2. cinta cinta

Stemming
Stemming merupakan suatu proses transformasi kata-kata yang terdapat
dalam suatu dokumen ke kata-kata akarnya dengan aturan-aturan tertentu, atau

17
dapat dianggap sebagai pembuangan imbuhan kata, atau dianggap sebagai
pembuangan imbuhan kata.

Tabel 3.2 Proses Stemming

Input Output
jika masih ada cinta di hatimu maka jika masih ada cinta di hati maka maaf
maafkanlah segala kesalahan cintailah segala salah cinta cinta
cinta

3.5.3. Stop Removal


Stopword Removal yaitu menghilangkan kata pada dokumen lirik lagu
yang dianggap tidak memiliki arti atau tidak mengandung kata emosi atau juga
tidak memperkuat kata emosi. Pembuangan kata dilakukan dengan proses
mencocokkan kata pada kamus stopword removal. Berikut contoh kata – kata
yang ada pada kamus Stopword Removal:
Tabel 3.3 Contoh Kamus Stop Removal

Pada Untuk Di Dan Dll

Guna Dsb Dst Saja Ya

Saat Juga Anda Dia Ke

Tabel 3.4 Contoh proses Stop Removal

Input Output

jika masih ada cinta di hati maka maaf Cinta hati maaf salah cinta cinta
segala salah cinta cinta

3.5.4. Tokenizing
Proses tokenizing dilakukan untuk memecahkan dokumen lirik lagu
menjadi term berdasarkan spasi. Masukan pada tahapan ini adalah hasil keluaran
dari proses Stop Removal.

18
Tabel 3.5 Contoh hasil tokenizing

Input Output

Cinta hati maaf salah cinta cinta [‘cinta’,’hati’,’maaf’,’salah’,’cinta’,’cinta’]

3.6. POS-Tagging

Tahapan selanjutnya adalah POS-Tagging. Pada tugas akhir ini akan


dilakukan proses POS-Tagging dengan memanfaatkan alat yang sudah ada. POS-
Tagging merupakan proses pemberian penanda POS atau kelas sintatik pada tiap
kata. Tahapan POS-Tagging akan dilakukan pelabelan kelas sebuah kata pada
suatu kalimat lirik lagu yang sudah dilakukan proses preprocessing.

Gambar 3.4 POS-Tagging

Pada gambar 3.4 merupakan proses POS-Tagging juga bisa memproses


untuk kata yang bersifat ambigu karena terdapat beberapa kalimat yang memiliki
kata yang maknanya dapat berubah dalam konteks pemakaiannya.

19
Setelah dilakukan tahapan preprocessing maka didapatkan kalimat: Cinta hati
maaf salah cinta cinta. Jika dilakukan proses POS-Tagging maka hasilnya sebagai
berikut:

Tabel 3.6 Hasil POS-Tagging

Input Output

Cinta hati maaf salah cinta cinta CintaNN hatiNN maafNN salahJJ cintaNN
cintaNN

3.7. Ekstraksi Fitur

Ekstraksi fitur merupakan tahapan untuk memberikan bobot nilai pada setiap
kata. Pada penelitian ini akan menggunakan ekstraksi fitur yang bernama
Weighted Inverse Document Frequency (WIDF). WIDF adalah sebuah metode
pembobotan kata yang dikembangkan dari algoritma sebelumnya yaitu TF-IDF.
Untuk perhitungan WIDF akan menggunakan rumus sebagai berikut:

TF (d , j)
WIDF ( d , j )= (1)
∑ i∈ D TF (i, j)

N
IDF = log ( ¿ (2)
df

Dimana:

D : Dokumen ke-D
t : Kata ke-t dari kata kunci
W : Bobot dukumen ke-d terhadap kata ke-t
tf : Banyak kata yang dicari pada sebuah dokumen
IDF : Inversed Document Frequency
N : Jumlah dokumen
df : Banyak dokumen yag mengandung term

Tabel 3.7 Contoh Dokumen

Dokumen Lirik Label

20
D1 Risau hati cinta sayang pernah letih hati cinta sayang segenap milik Cinta
rasa hati kamu sayang

D2 Engkau sayang hati aku cinta segenap hati diri aku sayang ka Cinta

D3 Rasa marah diri aku pernah sengaja temu kamu kesal Marah

D4 Engkau senang riang pagi cerah matahari sinar Senan


g

D5 Aku sedih hati niat ubah aku sayang rasa hati aku kesal kamu Sedih

Pada tabel 3.7 merupakan kumpulan dokumen yang sudah melalui tahap
preprocessing yang akan dilakukan pembobotan kata. Nilai label D1, D2 bernilai
cinta, D3 bernilai marah, D4 bernilai senang, dan D5 bernilai sedih. Tahapan
pertama pada metode WIDF adalah melihat banyak tingkat kemunculan sebuah
kata atau term frequency dari sebuah dokumen. Misal nya kata “cinta” muncul 3
kali, berarti tf=3, diketahui kata “cinta” muncul pada dokumen 1 dan dokumen 2.
Dibawah ini contoh perhitungan WIDF pada kata “cinta” pada dokumen 1.

Tf =3; df =3; N=5

5
IDF = log ( ) = 0.221
3

TF (d , j) N
WIDF (d, j) = x log ( ¿
∑ i∈ DTF (i , j) df

2 5
= x log ( ¿
3 3

= 0.666 x 0.221

= 0.117

Bobot nilai kata “cinta” yang terdapat pada dokumen sebesar 0.117

Tabel 3.8 Perhitungan WIDF

TF (d, t) WIDF TF (d, t)/TF (i, t) WIDF


Term

21
D1 D2 D3 D4 D5 TF (i, t) D1 D2 D3 D4 D5 rata-
rata

risau 1 0 0 0 0 1 1 0 0 0 0 0.2

sayang 3 2 0 0 1 6 0.5 0.333 0 0 0.166 0.1998

kamu 1 0 1 0 1 3 0.333 0 0.333 0 0.333 0.333

segenap 1 0 0 0 0 1 1 0 0 0 0 0.2

rasa 1 0 1 0 1 3 0.333 0 0.333 0 0.333 0.1998

cinta 2 1 0 0 0 3 0.666 0.333 0 0 0 0.1998

pernah 1 0 1 0 0 2 0.5 0 0.5 0 0 0.2

Letih 1 0 0 0 0 1 1 0 0 0 0 0.2

engkau 0 1 0 1 0 2 0 0.5 0 0.5 0 0.2

segenap 0 1 0 0 0 1 0 1 0 0 0 0.2

hati 3 2 0 0 2 7 0.428 0.285 0 0 0.285 0.1996

marah 0 0 1 0 0 1 0 0 1 0 0 0.2

temu 0 0 1 0 0 1 0 0 1 0 0 0.2

kesal 0 0 1 0 1 2 0 0 0.5 0 0.5 0.2

senang 0 0 0 1 0 1 0 0 0 1 0 0.2

riang 0 0 0 1 0 1 0 0 0 1 0 0.2

diri 0 1 1 0 0 2 0 0.5 0.5 0 0 0.5

pagi 0 0 0 1 0 1 0 0 0 1 0 0.2

cerah 0 0 0 1 0 1 0 0 0 1 0 0.2

matahari 0 0 0 1 0 1 0 0 0 1 0 0.2

sinar 0 0 0 1 0 1 0 0 0 1 0 0.2

Sedih 0 0 0 0 1 1 0 0 0 0 1 0.2

niat 0 0 0 0 1 1 0 0 0 0 1 0.2

Ubah 0 0 0 0 1 1 0 0 0 0 1 0.2

aku 0 2 1 0 3 6 0 0.333 0.166 0 0.5 0.1998

22
Pada tabel 3.7 adalah contoh perhitungan dari masing-masing nilai Term
Frequency dengan menggunakan weighted inverse document frequency. Hasil
perhitungan diatas akan dilanjutkan ke tahap selanjutnya, yaitu seleksi fitur
Particle Swarm Optimiaation (PSO).

3.8. Seleksi Fitur Particle Swarm Optimization (PSO)

Pada tahapan seleksi fitur menggunakan algoritma particle swarm


optimization (PSO) akan menggunakan data dari perhitungan pembobotan kata
weighted inverse document frequency (WIDF) dari tabel 3.8. Untuk
menyelesaikan perhitungan menggunakan algoritma particle swarm optimization
(PSO) adalah sebagai berikut:

1. Langkah pertama adalah mengambil kata yang sering muncul pada


dokumen.

Dokumen Sayang Rasa Cinta Pernah Engkau Hati Kesal Aku Kamu Diri

D1 3 1 2 1 0 3 0 0 1 0

D2 2 0 1 0 1 2 0 2 0 1

D3 0 1 0 1 0 0 1 1 1 1

D4 0 0 0 0 1 0 0 0 0 0

D5 1 1 0 0 0 2 1 3 1 0

2. Tahap selanjutnya adalah menentukan bilangan random dengan matriks M


x N, dimana M=adalah jumlah fitur sebanyak 10 fitur, dan N=adalah
jumlah partikel sebanyak 5 partikel. Isi dari matriks M x N adalah
sejumlah bilangan random.
 Menghasilkan bilangan random (rand1 dan rand2) dengan
menggunakan excel untuk setiap kata.
 Bilangan rand2 dijadikan sebagai nilai velocity/tabel kecepatan
partikel.

Berikut adalah tabel rand1 dan rand2:

23
Rand1

D1 0.851817 0.419849 0.674591 0.453053 0.261212 0.541030 0.63626 0.779552 0.435668 0.735804
2

D2 0.307884 0.046671 0.540133 0.318570 0.296779 0.455301 0.17078 0.625266 0.071253 0.978474
9

D3 0.530648 0.310560 0.982164 0.032825 0.670619 0.497056 0.90068 0.850672 0.072287 0.888749
0

D4 0.922563 0.038463 0.124931 0.086096 0.817123 0.709020 0.93614 0.179014 0.965722 0.795999
5

D5 0.210983 0.602281 0.128415 0.219374 0.986041 0.538204 0.25252 0.213796 0.150568 0.332741
3

Rand2

D1 0,044128 0,681492 0,762756 0,420675 0,702969 0,954077 0,00421 0,881778 0,219903 0,232311
0

D2 0,048480 0,175605 0,543190 0,718340 0,532314 0,576123 0,07962 0,420558 0,133733 0,527382
3

D3 0,157691 0,191455 0,742241 0,536101 0,314857 0,170011 0,21766 0,694169 0,383993 0,628764
8

D4 0,481894 0,811133 0,074723 0,607568 0,485581 0,450398 0,43313 0,090290 0,523910 0,997819
2

D5 0,787759 0,413800 0,873331 0,363873 0,286276 0,983903 0,23096 0,236172 0,698908 0,702645
2

3. Tahapan selamjutnya yaitu mencari nilai sigmoid menggunakan tabel


rand2 dengan menggunaka persamaan sebagai berikut:
1
S (vpd)¿ − v pd
(1+e )

24
Sigmoid

D1 0.511030 0.664072 0.681952 0.603645 0.668849 0.721934 0.50105 0.707191 0.55455 0.557818
2

D2 0.512118 0.543789 0.632554 0.672241 0.630023 0.640175 0.51989 0.603617 0.533384 0.628872
5

D3 0.59341 0.547718 0.677486 0.630905 0.578070 0.542401 0.55420 0.729911 0.594836 0.652209
3

D4 0.618195 0.692351 0.518672 0.647386 0.619065 0.610734 0.60662 0.522557 0.628062 0.730630
1

D5 0.687350 0.601999 0.705438 0.589978 0.571084 0.727882 0.55748 0.558770 0.667946 0.668774
5

4. Selanjutnya membandingkan nilai sigmoid dengan nilai rand1. Apabila


nilai rand1 lebih kecil dibandingkan nilai sigmoid maka nilai sigmoid akan
dipilih atau diberi nilai 1, jika nilai rand1 besar dari sigmoid maka tidak
dipilih atau diberi nilai 0.

Dokumen Sayang Rasa Cinta Pernah Engkau Hati Kesal Aku Kamu Diri

D1 0 1 1 1 1 1 0 0 1 0

D2 1 1 1 1 1 1 1 0 1 0

D3 1 1 0 1 0 1 0 0 1 0

D4 0 1 1 1 0 0 0 1 0 0

D5 1 0 1 1 0 1 1 1 1 1

5. Tahapan selanjutnya mencari nilai pBest pada setiap dokumen


menggunakan rumus F(x) = 10*(x1-1)2 + 20* (x2-2)2+30*(x3-3)2.

25
F(D1) = 10*(0-1)2+ 20*(1-2)2+ 30*(1-3)2+ 40*(1-4)2+ 50*(1-5)2+ 60*(1-6)2+
70*(0-7)2+ 80*(0-8)2+ 90*(1-9)2+ 100*(0-10)2=28.650

F(D2) = 10*(1-1)2+ 20*(1-2)2+ 30*(1-3)2+ 40*(1-4)2+ 50*(1-5)2+ 60*(1-6)2+


70*(1-7)2+ 80*(0-8)2+ 90*(1-9)2+ 100*(1-10)2=24.300

F(D3) = 10*(1-1)2+ 20*(1-2)2+ 30*(0-3)2+ 40*(1-4)2+ 50*(0-5)2+ 60*(1-6)2+


70*(0-7)2+ 80*(0-8)2+ 90*(1-9)2+ 100*(0-10)2=27.710

F(D4) = 10*(0-1)2+ 20*(1-2)2+ 30*(1-3)2+ 40*(1-4)2+ 50*(0-5)2+ 60*(0-6)2+


70*(0-7)2+ 80*(1-8)2+ 90*(0-9)2+ 100*(0-10)2=28.560

F(D5) = 10*(1-1)2+ 20*(0-2)2+ 30*(1-3)2+ 40*(1-4)2+ 50*(0-5)2+ 60*(1-6)2+


70*(1-7)2+ 80*(1-8)2+ 90*(1-9)2+ 100*(1-10)2=23.610

Pada perhitungan diatas untuk mencari nilai Pbest maka dapat disimpulkan
bahwa nilai Pbest terbaik terletak pada dokumen 1(D1) sebesar 28.650.

26
BAB IV
HASIL DAN ANALISIS

4.1. Implementasi

Dari beberapa proses yang telah dilakukan sebelumnya, selanjutnya dilakukan


proses pengujian menggunakan data lirik lagu yang telah dibagi menjadi beberapa
dataset. Berikut pengujian yang akan dilakukan:

1. Dataset diatur menjadi lima ukuran yang dijadikan sebagai data uji yaitu:
50%, 40%, 45%, 30%, dan 20%. Hal ini dilakukan untuk mengetahui
komposisi akurasi paling baik untuk digunakan pada model.
2. Mencari parameter terbaik untuk mempengaruhi nilai akurasi
3. Menganalisis pengujian sistem

Gambar 4.1 Contoh dataset

Pada gambar 4.1 merupakan contoh dari dataset sebanyak 48 lirik lagu
yang akan digunakan sebagai input pertama kali saat menjalankan program.
Setelah mengumpulkan seluruh dataset, yang dilakukan selanjutnya adalah
tahapan preprocessing, agar mendapatkan pola teks yang sama atau bersih. Untuk
spesifikasi data latih yang digunakan pada pengujian dapat dilihat pada tabel di
bawah ini:

Tabel 4. 1 Spesifikasi Data Latih

Jumlah
Label Emosi
Lirik Lagu

Cinta 12

Marah 12

Senang 12

27
Sedih 12

Tabel 4.1 merupakan kumpulan lirik lagu yang telah dibagi menjadi 4
label yaitu: cinta, marah, senang, sedih yang masing mempunyai lirik lagu
sebanyak 12.

Gambar 4.3 Tampilan Web

Gambar 4.3 merupakan tampilan web yang menampilkan akurasi dari


setiap prediksi yang didapatkan oleh program.

4.2 Dataset
Pada pengerjaan tugas akhir ini dataset yang digunakan adalah kumpulan
lirik lagu bahasa Indonesia diperoleh dari website kapanlagi.com. Dataset yang
akan digunakan dibagi menjadi data uji dengan ukuran yaitu: 50%, 40%, 30%,
20%, dan 10% yang diambil dari data latih sebanyak 48 lirik lagu. Data uji yang
sudah didapatkan akan dilakukan proses preprocessing. Pada tahap preprocessing
dilakukan case folding, stemming, stopword removal, dan tokenizing.

Tahapan selanjutnya adalah preprocessing, dimana dataset akan melalui


proses case folding, stemming, stopword removal, dan tokenizing. Hasil dari
preprocessing berupa data lirik lagu yang sudah bersih dan memiliki pola yang
sama.

28
Gambar 4.2 Dataset yang sudah dilakukan preprocessing

Gambar 4.2 merupakan hasil proses Preprocessing dataset yang dilakukan


oleh program. Label-label yang berada pada akhir setiap kata adalah label POS –
Tagging yang disesuaikan setiap kata nya dengan yang sudah di tentukan pada
tabel 2.1 pada bab 2.

4.2 Implementasi WIDF


Setelah dilakukan proses preprocessing, dataset kemudian masuk ke
dalam proses pembobotan kata dengan metode pembobotan kata WIDF dan TF-
IDF. Seletah proses pembobotan kata selesai dataset akan langsung digunakan
untuk proses klasifikasi SVM.

Pengujian ini dilakukan dengan membuat beragam model klasifikasi dan deteksi
berdasarkan berdasarkan parameter-parameter diatas. Tujuannya adalah mencari
nilai akurasi tertinggi dari masing-masing pengujia parameter diatas sehingga
sistem dapat bekerja secara optimal.

4.3 Implementasi Support Vector Machine (SVM)


Implementasi algoritma SVM dilakukan dengan menggunakan library
SVC dan kernel rbf. Hasil dari implementasi SVM dapat dilihat pada lampiran.

4.4 Implementasi Particle Swarm Optimization (PSO)


Implemetasi seleksi fitur PSO library pyswarm. Hasil dari implementasi
PSO dapat dilihat pada lampiran.

4.5 Tujuan Pengujian


Tujuan dari pengujian sistem ini adalah untuk melihat apakah sistem yang dibuat
sudah berjalan dengan layak dalam bentuk desktop dengan melakukan pengujian
fitur yang terdapat pada sistem. Pengujian sistem menggunakan model yang telah

29
dilatih menggunakan dataset yang telah dibuat. Pada perancangan tugas akhir ini,
terdapat dua skenario pengujian, yaitu:

1. Kinerja sistem untuk mengetahui fungsi tiap program


2. Pengaruh parameter terhadap akurasi

Akurasi merupakan salah satu parameter yang dapat digunakan dalam menguji
apakah suatu model dapat bekerja optimal atau tidak. Akurasi dapat menentukan
apakah sistem dapat mengklasifikasikan lirik lagu apakah sesuai label atau tidak.
Untuk mendapatkan akurasi yang optimal, maka dibutuhkan parameter optimal
yang sangat mempengaruhi akurasi. Berikut adalah parameter – parameter yang
mempengaruhi akurasi pada model yang dibuat:

1. Jumlah data uji


2. Nilai kernel, gamma, dan C
3. Nilai iterasi, c1, c2, dan weight

4.6 Skenario Pengujian

4.6.1 Pengujian Black Box


Pengujian pertama yang dilakukan adalah pengujian black box pada
fungsi tiap fitur pada program dengan cara dijalankannya program.

Tabel 4.2 Skenario Pengujian

Jenis
Menu Skenario Pengujian
Pengujian
Menyatukan data lirik lagu dalam
Input Data Black Box
bentuk file “.csv”
Menampilkan hasil preprocessing sesuai
Preprocessing Black Box
dengan data uji yang diinput.
Menampilkan data hasil POS-Tagging
POS-Tagging Black Box
yang sudah diberi label POS.
Menghitung bobot nilai dari setiap kata
WIDF dalam list-list data yang sudah diberi Black Box
label pada proses sebelumnya.
Menampilkan hasil klasifikasi cinta,
SVM marah, senang, atau sedih dan akurasi Black Box
dari dataset.
Menampilkan akurasi, presisi, score,
SVM+PSO Black Box
dan grafik.

4.6.2. Pengujian preprocessing


Terdapat beberapa tahapan preprocessing yaitu: case folding &
stemming, stopword removal, dan tokenizing. Berikut tabel pengujian
preprocessing:

30
Tabel 4.3 Pengujian preprocessing

Kasus dan Hasil Pengujian


1. Case Folding & Stemming
Input:
DataTrain.csv (Berisi lirik lagu)
Input data
Output:
Disimpan kedalam file Hasil Stemming.csv
Setelah diberikan masukan file yang berbentuk “.csv” yang berisi
teks lirik lagu. Kemudian diproses pada tahap case folding dengan
Hasil yang
mengubah semua huruf pada teks menjadi seluruhnya huruf kecil
diharapkan
agar semua teks memiliki pola yang sama. Kemudian hasil dari
proses ini ditampilkan dan disimpan pada file output.
Hasil dari tahap ini tersimpan otomatis pada file yang sudah
Hasil ditentukan dalam bentuk list pada file output. File output tidak dapat
diubah oleh pengguna.
Kesimpulan Sesuai
2. Stopword Removal
Input:
Hasil Stemming.csv (Secara otomatis)
StopWordRemoverFactory.py (Berupa kamus stopword yang sudah
Input data
disediakan dan diinput secara otomatis)
Output:
Disimpan kedalam file-Stopword.txt
Program akan mengenal file Hasil Stemming.csv, kemudian ditahap
ini akan menghilangkan atau menghapus secara otomatis kata-kata
Hasil yang
yang dianggap tidak berpengaruh dalam label emosi cinta, marah,
diharapkan
senang, dan sedih. Kemudian proses ini secara otomatis akan
tersimpan pada file output yang sudah ditentukan.
Hasil dari tahap stopword removal ini akan pada file output dalam
Hasil bentuk list kalimat. File penyimpanan output tidak dapat diubah
oleh pengguna.
Kesimpulan Sesuai
3. Tokenizing
Input:
file-Stopword.txt (Secara otomatis)
Input data
Output:
Disimpan pada file-prepro.txt
Setelah hasil dari proses stopword removal dibaca pada program,
pada proses ini akan memotong setiap kalimat menjadi beberapa
potongan kata yang dibatasi oleh petik (‘ ‘) serta koma ( , ) yang
Hasil yang
disebut dengan istilah token. Setiap Token dalam sebuah kalimat
diharapkan
akan diawali dengan kurung siku buka ( [ ) dan ditutup dengan
kurung siku tutup ( ] ). Output dari proses ini kemudian disimpan
pada file penyimpanan yang sudah ditentukan.
Hasil hasil dari proses ini ditampilkan dalam bentuk list sesuai inputan
yang diberikan dan kemudian disimpan kedalam file output “.csv”

31
Kasus dan Hasil Pengujian
yang sudah ditentunkan sebelumnya.
Kesimpulan Sesuai

4.6.3 Pengujian POS-Tagging

Pengujian POS-Tagging merupakan tahapan pengecekan label Subjek,


Predikat, Objek pada kalimat yang sudah melewati tahap preprocessing
sebelumnya. Berikut tabel pengujian blackbox Pos-Tagging:

Tabel 4.4 Pengujian POS-Tagging

Kasus dan Hasil Pengujian


Input:
Data hasil preprocessing (Secara otomatis)
indonesian_ngram_pos_tag. pickle(Sudah disediakan dan secara
Input Data
otomatis)
Output:
Hasil POSTag.csv
Setelah data awal melalui tahap preprocessing kemudian
dilakukan proses Pos-Tagging dimana setiap kata pada list
kalimat diberi label subjek, predikat, objek dan lain-lain dalam
bentuk inisialnya saja sesuai dengan makna dari kata-kata yang
Hasil Yang
terdapat pada list kalimat tersebut. Selanjutnya hasil dari proses
Diharapkan
ini akan di tampilkan dan diberikan keterangan dari setiap inisial
yang sudah ditentukan kemudian disimpan otomatis pada file
penyimpanan yang sudah ditentukan dalam bentuk list-list
perkalimat.
Hasil dari proses ini di tampilkan dan diberikan keterangan dari
setiap inisial yang sudah ditentukan kemudian disimpan otomatis
Hasil
pada file penyimpanan yang sudah ditentukan dalam bentuk list-
list kalimat.
Kesimpulan Sesuai

4.6.4 Pengujian WIDF


Tabel 4.5 Pengujian WIDF

Kasus dan Hasil Pengujian


Input:
Data hasil proses POS-Tagging (secara otomatis)
Input Data
Output:
File penyimpanan yang sudah ditentukan

32
Setelah data melalui tahap POS-Tagging, Selanjutnya pada
proses ini akan dihitung menggunakan WIDF yang akan
Hasil yang
memperhitungkan frekuensi dari suatu term yang muncul pada
diharapkan
suatu dokumen untuk menormalisasikan frekuensi term tersebut
terhadap keseluruhan dokumen.
Hasil dari proses ini di tampilkan dalam bentuk nilai bobot dari
kata-kata yang terdapat pada setiap list kalimat yang sudah
Hasil diinputkan sebelumnya kemudian disimpan otomatis pada file
penyimpanan yang sudah ditentukan dalam bentuk list-list
kalimat.
Kesimpulan Sesuai

4.6.5 Pengujian POS-Tagging


Tabel 4.6 POS-Tagging

Kasus dan Hasil Pengujian


Input:
Data hasil proses POS-Tagging (secara otomatis)
Input Data
Output:
File penyimpanan yang sudah ditentukan
Setelah hasil WIDF sudah memiliki nilai bobot, selanjutnya akan
Hasil yang
ditampilkan hasil klasifikasi dan akurasi dari data uji yang sudah
diharapkan
dibagi dari data latih
Hasil dari proses ini akan menampilkan hasil klasifikasi emosi
Hasil yaitu cinta, marah, senang, dan sedih. Selain itu proses ini akan
menampilkan akurasi
Kesimpulan Sesuai

4.6.6 Pengujian Partisi Data Dengan Algoritma SVM


Pada pengujian kinerja sistem dengan pertisi data, data akan dibagi
menjadi data uji dan data latih. Data uji adalah data yang diproses untuk menguji
algoritma yang digunakan. Sedangkan data latih adalah data yang digunakan
untuk mengetahui performa algoritma dalam melakukan klasifikasi. Berikut tabel
pembagian untuk pengujian partisi data:

Tabel 4.8 Skenario uji partisi data

Pengujian Data Latih Data Uji


(%) (%)
1 50 50%
2 60 40%
3 70 30%
4 80 20%

33
5 90 10%

Untuk hasil pengujian partisi data ditampilkan dalam bentuk confusion


matrix, sehingga dari pengujian ini didapatkan nilai Preission, Recall, F1 Score
dan Accuracy. Precision adalah tingkat ketepatan antara informasi yang diminta
oleh pengguna dengan jawaban yang diberikan oleh sistem. Recall merupakan
tingkat keberhasilan sistem dalam menemukan kembali sebuah informasi.
Sedangkan F1 Score adalah perpaduan antara precision dan recall yang optimal,
yang didapatkan dengan menggabungkan dua metriks tersebut. Accuracy adalah
tingkat kedekatan antara nilai prediksi dengan nilai actual.

Untuk pengujian SVM nilai banyak data latih, nilai C, gamma akan di input
dengan nilai sebagai berikut: banyak data latih (50%, 40%, 30%, 20%, dan 10%),
nilai C (1, 10, 100, 1000), dan nilai gamma (1e-3, ie-4). Hasil yang ditampilkan
dari pengujian partisi data tersebut adalah:

Tabel 4.9 Confussion matrix partisi data

Nilai C Data Latih Data Uji Akurasi

10 50% 50% 78%


60% 40% 79%
70% 30% 73%
80% 20% 71.58%
90% 10% 71.26
Pengujian 2
100 50% 50% 70%
60% 40% 72%
70% 30% 70%
80% 20% 71%
90% 10% 71.33%
Pengujian 3
1000 50% 50% 76%
60% 40% 74.25%
70% 30% 72.83%
80% 20% 74.625%
90% 10% 73%
Pengujian 4

34
10000 50% 50% 76%
60% 40% 73%
70% 30% 73.11%
80% 20% 74.83%
90% 10% 77.86%

35
BAB V
SIMPULAN DAN SARAN

5.1. Simpulan

Bab ini memuat elaborasi dan rincian simpulan yang kemudian menjadi
bagian abstraks. Simpulan ditarik dari hasil analisis secara komprehensif atas
eksperimen yang telah dilakukan dan dinyatakan dalam bentuk narasi satu dua
paragraf. Dalam Simpulan menggambarkan tingkat ketercapaian atas Tujuan
Tugas Akhir yang telah dinyatakan dalam Bab 1.

5.2. Saran

Di dalam Saran, untuk pengembangan penelitian sebelumnya, pembuatan


sistem disarankan untuk lebih xxx, sehingga tujuan dapat lebih tercapai.
Alasannya :

1. Harus lebih mengidentifikasi masalah


2. Harus menyesuaikan dengan teknologi yang ada
3. Kelemahan-kelemahan yang terjadi

36
DAFTAR PUSTAKA

[1] N. Zhong, Y. Li, and S. T. Wu, “Effective pattern discovery for text
mining,” IEEE Trans. Knowl. Data Eng., vol. 24, no. 1, pp. 30–44, 2012,
doi: 10.1109/TKDE.2010.211.
[2] Y. Lu, M. Liang, Z. Ye, and L. Cao, “Improved particle swarm
optimization algorithm and its application in text feature selection,” Appl.
Soft Comput. J., vol. 35, pp. 629–636, 2015, doi:
10.1016/j.asoc.2015.07.005.
[3] P. J. Antony, S. P. Mohan, and K. P. Soman, “SVM based part of speech
tagger for Malayalam,” ITC 2010 - 2010 Int. Conf. Recent Trends
Information, Telecommun. Comput., pp. 339–341, 2010, doi:
10.1109/ITC.2010.86.
[4] Y. An, S. Sun, and S. Wang, “Naive Bayes classifiers for music emotion
classification based on lyrics,” Proc. - 16th IEEE/ACIS Int. Conf. Comput.
Inf. Sci. ICIS 2017, no. 1, pp. 635–638, 2017, doi:
10.1109/ICIS.2017.7960070.
[5] S. Herrero-Lopez, Multiclass support vector machine, no. 2. NVIDIA
Corporation and Wen-mei W. Hwu, 2011.
[6] D. N. Armianti, Indriati, and S. Adinugroho, “Klasifikasi Emosi Lagu
Berdasarkan Lirik pada Teks Berbahasa Indonesia Menggunakan K-
Nearest Neighbor dengan Pembobotan WIDF,” J. Nas. Teknol. dan Ilmu
Komput., vol. 3, no. 10, pp. 10161–10167, 2019.
[7] A. Indranandita, B. Susanto, and A. Rahmat, “Sistem Klasifikasi Dan
Pencarian Jurnal Dengan Menggunakan Metode Naive Bayes Dan Vector
Space Model,” J. Inform., vol. 4, no. 2, 2011, doi: 10.21460/inf.2008.42.48.
[8] X. Bai, X. Gao, and B. Xue, “Particle Swarm Optimization Based Two-
Stage Feature Selection in Text Mining,” 2018 IEEE Congress on
Evolutionary Computation, CEC 2018 - Proceedings, 2018. .
[9] A. D. Rowe and J. Fitness, “Understanding the role of negative emotions in
adult learning and achievement: A social functional perspective,” Behav.
Sci. (Basel)., vol. 8, no. 2, 2018, doi: 10.3390/bs8020027.
[10] M. Kamayani, “Perkembangan Part-of-Speech Tagger Bahasa Indonesia,”
J. Linguist. Komputasional, vol. 2, no. 2, p. 34, 2019, doi:
10.26418/jlk.v2i2.20.
[11] B. M. Zahran and G. Kanaan, “Text Feature Selection using Particle
Swarm Optimization Algorithm,” World Appl. Sci. JournalSpecial Issue
Comput. IT, vol. 7, pp. 69–74, 2009.
[12] A. D. P. Wardhani, I. Slamet, and Sugiyanto, “Analisis Sentimen
Penggunaan Kotak Suara Kardus Menggunakan Svm Linearly Separable
Data,” Semin. Nas. Penelit. Pendidik. Mat. 2019, pp. 167–174, 2019.
[13] X. D. Lin, H. Peng, and B. Liu, “Support vector machines for text
categorization in Chinese question classification,” Proc. - 2006
IEEE/WIC/ACM Int. Conf. Web Intell. (WI 2006 Main Conf. Proceedings),
WI’06, pp. 334–337, 2006, doi: 10.1109/WI.2006.163.
[14] S. Deng and H. Peng, “Document classification based on support vector
machine using a concept vector model,” Proc. - 2006 IEEE/WIC/ACM Int.
Conf. Web Intell. (WI 2006 Main Conf. Proceedings), WI’06, no. 1, pp.
473–476, 2006, doi: 10.1109/WI.2006.65.
LAMPIRAN

Lampiran dapat berisi kode sumber, tabel-tabel yang diperlukan dalam


penelitian tapi kurang relevan untuk dimasukkan dalam bab-bab dalam Tugas
Akhir.

Anda mungkin juga menyukai