p-ISSN : 2460-3562 / e-ISSN : 2620-8989

## Uji Akurasi Klasifikasi Emosi Pada Lirik Lagu Bahasa Indonesia
Mega Noveanto a1 , Helen Sastypratiwi a2 , Hafiz Muhardi a3
a Program Studi Informatika, Fakultas Teknik, Universitas Tanjungpura Jalan Prof. Dr. H. Hadari Nawawi Pontianak, 78124
1 meganoveanto@student.untan.ac.id
2 helensastypratiwi@gmail.com
3 hafizm@informatika.untan.ac.id

## Abstrak
Dengan  banyaknya lagu pada saat  ini, semakin sulit untuk menentukan  emosi  pada lagu oleh manusia, karena permasalahan tersebut maka dibutuhkan suatu model klasifikasi menggunakan text classification. Berdasarkan permasalahan tersebut, maka pada penelitian ini akan mengimplementasikan metode Multi Class Support Vector Machine (SVM) dengan Particle Swarm Optimization (PSO) sebagai tuning hyperparameter dan membandingkan pengaruh dari 3 dataset (perbaris, perbait dan keseluruhan lagu) pada kasus pengklasifikasian emosi lirik lagu. Pada  kasus ini  terdapat  5  emosi  dasar manusia antara lain cinta ( love), senang (happy), marah (anger), takut ( fear),  dan  sedih  (sadness).  Dari  hasil  penelitian  yang  dilakukan,  metode  multi  class  SVM  dan  tuning hyperparameter  PSO  serta  penggunaan  dataset  perbaris  menjadi  model  dengan  nilai  accuracy  terbaik  yaitu sebesar 92,13%. Penggunaan tuning hyperparameter PSO akan lebih berpengaruh jika digunakan pada dataset perbaris,  dengan  melihat  nilai accuracy  yang  meningkat  sebesar  +  3,32%.  Penelitian  ini  juga  berhasil mengimplementasikan  klasifikasi  emosi,  sehingga  dapat  mengklasifikasikan  kelas  emosi  dari  teks  lirik  lagu berbahasa Indonesia.
Kata kunci: Klasifikasi Emosi, Lirik Lagu, Tuning Hyperparameter, Multi Class Support Vector Machine, Particle Swarm Optimization

## Emotion Classification Accuracy Test in Indonesian Song Lyrics

## Abstract
With  so  many  songs  nowadays,  it  is  difficultly  to  determine  emotions  in  songs  by  humans  based  on  these problems  classification  model  using  text  classification  is  needed.  Based  on  these  problems,  this  research  will implement the Multi-Class Support Vector Machine (SVM) method with Particle Swarm Optimization (PSO) as a tuning  hyperparameter  and  compare  the  effects  of  3  datasets  (line,  verse,  and  whole  song)  in  the  case  of classifying emotion  in song lyrics. In  this case, there are five basic human  emotions, including love, happiness, anger, fear, and sadness. Based the results of the research, the multi-class SVM method & PSO hyperparameter tuning  and  the  use  of  line  datasets  became  the  model  with  the  best  accuracy  value  of  92.13%.  PSO hyperparameter  tuning  will  be  more  influential  if  applied  on  a  row  datasets,  by  looking  at  the  accuracy  value increased by + 3.32%. This research has also succeeded to implementating the classification of emotions so it can classify the class of emotions from the text of Indonesian song lyrics.
Keywords: Emotion Classification, Song Lyrics, Hyperparameter Tuning, Multi-Class Support Vector Machine, Particle Swarm Optimization

## I. P ENDAHULUAN
Musik dipercaya memiliki kemampuan untuk mengantar dan mengugah emosi, baik dituangkan melalui penjiwaan  terhadap  alur  cerita,  musik  dan  watak  tokoh yang diperankan  untuk  mengekspresikan diri. Oleh sebab itu,  musik  sulit  dipisahkan  dari  emosi  [1].  Selain  musik, terdapat pula lirik lagu yang merupakan bagian terpenting dari  lagu,  karena  didalam  lirik  dapat  menggambarkan emosi  dari  lagu  tersebut.  Lirik  lagu  adalah  penyampaian perasaan  seseorang  secara  tidak  langsung  tehadap  apa yang  didengarnya  [2].  Secara  definisi,  lirik  lagu  dapat
dimasukkan  ke  dalam  jenis  puisi  pada  karya  sastra,  lirik lagu  adalah  susunan  kata  sebuah  nyanyian  atau  karya sastra  yang  berupa  curahan  perasaan  pribadi  oleh  sang penulis lirik [3]. Puisi memiliki 2 aturan, yaitu puisi lama dan puisi baru. Puisi baru atau lebih dikenal dengan  puisi modern  ini  adalah  lawan  dari  puisi  lama.  Jika  pada  puisi lama  terikat  dengan  banyak  aturan,  maka  pada  puisi modern akan lebih bebas, yang berarti tidak terikat banyak aturan  seperti  pada  puisi  lama,  pusi  modern  akan  lebih bebas  dalam  menggunakan  aturan  rima,  baris,  bait,  kata tiap  barisnya  dan  sebagainya.  Puisi  modern  juga  lebih
leluasa  dalam  membangun  imajinasi  yang  ingin disampaikan  oleh  sang  penulis  puisi,  tetapi  tetap memperhatikan etika dan estetika dari sastra puisi [4]. Jika melihat  dari  definisi  dan  strukturnya  maka  lirik  lagu merupakan salah satu bentuk dari puisi baru.
Pada  penelitian  ini  emosi  dasar  manusia  yang  akan menjadi  kelasnya,  adapun  menurut  Shaver  dkk.  [5] terdapat  5  emosi  dasar  manusia  antara  lain  cinta  ( love ), senang  ( happy ),  marah  ( anger ),  takut  ( fear ),  dan  sedih ( sadness ). Untuk penelitian klasifikasi emosi menggunakan  lirik  lagu  menggunakan Support  Vector Machine sudah ada yang melakukannya, seperti penelitian oleh  Abirawa  [6],  dengan  kelas  emosi  (senang,  tenang, marah,  sedih,  dll.)  yang  memiliki  nilai  akurasi  yang terbaik  berada  di  nilai  akurasi  62.50%.  Sebelumnya  juga sudah  terdapat  penelitian  serupa  oleh  Salekhah  [7], dengan judul “Implementasi Metode  Multi  Class  Support Vector Machine untuk Klasifikasi Emosi pada Lirik Lagu Bahasa  Indonesia”  yang  menghasilkan  nilai  akurasi sebesar 36,67% untuk 200 data latih, dan 20% untuk 1000 data latih, dengan data latih yang digunakan adalah bahasa Inggris, sehingga dapat disimpulkan bahwa semakin besar data  latih,  nilai  akurasi  akan  semakin  menurun.  Hal  ini dapat terjadi karena pada penelitian sebelumnya data latih yang  digunakan  dalam  bahasa  Inggris  sehingga  saat diterjemahkan kedalam bahasa Indonesia terjadi kesalahan makna  kosakata,  hal  ini  mengakibatkan  kesalahan  makna yang  disampaikan,  sehingga  terjadi  penurunan  akurasi. Melanjutkan penelitian diatas, pada penelitian oleh Azizah &  Rainarli  [8],  masalah  yang  ditemukan  pada  penelitian sebelumnya  adalah  data  latih  yang  digunakan  berbahasa Inggris,  yang  mengakibatkan  pada  saat  diterjemahkan  ke bahasa  Indonesia  terjadi  kesalahan  makna  kata.  Solusi yang  ditambahkan  adalah  mengganti  data  latih  dengan lirik  lagu  berbahasa  Indonesia  dan  menambahkan  seleksi fitur Information  Gain .  Hasil  pengujian  penelitian  ini membuktikan bahwa penggunaan Support Vector Machine dan  seleksi  fitur Information  Gain dengan  data uji  sebanyak  20  lagu  menunjukkan  nilai  akurasi  sebesar 70%,  dibandingkan  dengan  penggunaan Support  Vector Machin e  tanpa  seleksi  fitur  yang  menunjukkan  nilai akurasi hanya sebesar 55%.
Pada  penelitian  yang  lain  guna  meningkatkan  akurasi, mengacu  penelitian  oleh  Que  dkk.  [9]  penelitian  ini menggunakan  metode Support  Vector  Machine (SVM) dan  penggunaan Particle  Swarm  Optimization (PSO) untuk  mengatur  parameter  SVM  agar  lebih  optimal. Penelitian  ini  membandingkan  metode  SVM  dan  SVM- PSO  tujuannya  adalah  untuk  membandingkan  hasil akurasi sentimen positif dan negatif. Data yang digunakan adalah  1.852  tweet,  yang  dibagi  menjadi  1.130  data training , dan 722 data testing yang menghasilkan akurasi sebesar  95,46%  untuk  metode  SVM  dan  sebesar  96,04% untuk  metode  SVM-PSO,  menunjukkan  peningkatan sebesar 0,58% untuk metode SVM-PSO.
Oleh  karena  itu,  metode  klasifikasi  yang  akan digunakan  adalah Multi  Class SVM.  Awalnya  metode SVM dibangun  untuk  permasalahan  klasifikasi  dua kelas, yang kemudian dikembangkan lagi untuk klasifikasi multi kelas  atau  banyak  kelas.  Dalam  kasus  klasifikasi  multi
kelas, hyperplane yang  dibentuk  akan  menjadi  lebih  dari satu. Salah satu metode pendekatan yang digunakan yaitu One Versus All . Sesuai dengan nama metode pendekatannya, satu lawan semua, metode ini membandingkan  antara  satu  kelas  dengan  semua  kelas lainnya [10].  Dalam penelitian ini, multi class SVM akan menggunakan  pendekatan One  Versus  All ,  karena memiliki  nilai  akurasi  atau  performa  yang  lebih  baik dibandingkan  dengan  pendekatan  lainnya  [11].  Untuk fungsi  kernel  yang  digunakan  adalah  fungsi  kernel  RBF, karena memiliki performansi yang paling baik dibandingkan  kernel  linier  pada  parameter  tertentu maupun kernel polinomial [12].
Penelitian  ini  juga  akan  menggunakan  PSO  sebagai tuning  hyperparameter . Particle  Swarm  Optimization (PSO) dimulai dengan populasi yang terdiri dari sejumlah partikel (menghasilkan calon-calon solusi) yang dihasilkan  secara  acak.  Selanjutnya  dilakukan update posisi  dan  kecepatan  terbang  dari  setiap  partikel  secara iteratif  untuk  menghasilkan  calon-calon  solusi  baru  yang lebih  baik. Particle  Swarm  Optimization (PSO)  akan berhenti  ketika  solusi  terbaik  sudah  ditemukan  atau kondisi  tertentu  telah  tercapai.  Dengan  metode  ini, Particle  Swarm  Optimization (PSO)  akan  mudah diimplementasikan  dengan  hanya  sedikit  pengaturan parameter  [13].  PSO  akan  digunakan  sebagai tuning hyperparameter untuk  mendapatkan hyperparameter gamma dan C terbaik pada SVM [9]. Parameter w, c1, dan c2  yang  akan  digunakan  masing-masing  bernilai 0.9,  0.5, dan  0.3  berdasarkan  Lester  James  V.  Miranda  [14]. Menurut  Piotrowski  dkk.  [15]  jumlah  partikel  yang optimal  bernilai  100,  dengan  iterasi  sebanyak  2  kali sebagai kondisi tercapainya algoritma PSO oleh peneliti.
Akan  tetapi,  performa  metode  ini  akan  menurun  jika dataset  yang digunakan mengalami imbalance data.  Salah satu  teknik  yang  dapat  digunakan  untuk  mengatasi permasalahan imbalance data adalah SMOTE. Teknik  ini berjalan  dengan  membangkitkan  replikasi  dari  data minoritas.  Replikasi  tersebut  dikenal  dengan  data  sintetis ( syntetic data ). Metode SMOTE  berjalan dengan mencari k-nearest  neighbour (yaitu  tetangga  terdekat  dari  data sebanyak k) pada setiap data yang ada di kelas minoritas, setelah  itu  dibuat  data  sintetis  sebanyak  prosentase replikasi yang diinginkan antara data minor dan k-nearest neighbour yang dipilih secara acak [16].
Berdasarkan latar belakang yang telah dipaparkan maka peneliti  akan  mengimplementasikan  metode Multi  Class Support  Vector  Machine (SVM)  dengan Particle  Swarm Optimization (PSO)  sebagai tuning  hyperparameter , kemudian melakukan balancing data menggunakan teknik SMOTE  dan  membandingkan  pengaruh  dari  3 dataset (perbaris,  perbait  dan  keseluruhan  lagu),  pada  kasus pengklasifikasian emosi beradasarkan lirik lagu. Penelitian  ini  juga  akan  mengimpelentasikan  3  model berdasarkan  3  dataset  tersebut  kedalam  aplikasi  generik yang telah dirancang.

## II. M ETODOLOGI
Pada  metode  penelitian  ini  terdapat  sembilan  tahapan yang ditampilkan pada Gambar 1.
Gambar 1 Metode Penelitian

## A. Pengumpulan Data
Untuk  membuat  suatu  model machine  learning diperlukan  data  sebagai  bahan  pembelajaran.  Pada penelitian  ini  peneliti  menggunakan  data  teks  lirik  lagu yang  diambil  dari website https://lirik.kapanlagi.com/. Dataset yang  dikumpulkan  terdiri  dari  3  bentuk,  yaitu dataset perbaris, perbait dan keseluruhan lagu.

## B. Pelabelan Data
Pada  penelitian  ini  pelabelan  data  dilakukan  secara manual dengan 3 sudut pandang, pelabelan dilakukan oleh 3 orang. Pelabelan berdasarkan 5 kelas emosi yaitu happy (senang), anger (marah), fear (takut), sadness (sedih) dan love (cinta).

## C. Preprocessing
Pada penelitian ini terdapat tujuh tahapan preprocessing antara lain :
1) Cleaning: Data  cleaning merupakan  tahapan pertama pada preprocessing penelitian ini. Data cleaning merupakan proses membersihkan data teks dari angka, url dan  karakter-karakter  yang  tidak  memiliki  hubungan dengan informasi pada dokumen, seperti (0- 9,!@#$%&*_+-={}[]:;”’/?<>.). Contoh hasil data cleaning dapat dilihat pada Gambar 2.

## Gambar 2 Cleaning
2) Case  Folding:  Case  folding merupakan  bagian dari preprocessing ,  tujuannya  untuk  mengubah  seluruh huruf  yang  ada  pada  dokumen  menjadi  huruf  kecil ( lowercase ). Contoh case folding seperti pada Gambar 3.

## Gambar 3 Case Folding
3) Normalisasi: Normalisasi  merupakan  proses mengubah kata-kata yang tidak baku menjadi baku sesuai dengan  aturan  penulisan  Kamus  Besar  Bahasa  Indonesia (KBBI).  Contoh  kalimat  hasil  normalisasi  dapat  dilihat pada Gambar 4.

## Gambar 4 Normalisasi
4) Tokenisasi: Pada tahap tokenisasi sebuah kalimat akan  dipisahkan  menjadi  kata-kata  (token),  contoh tokenisasi dapat dilihat pada Gambar 5.

## Gambar 5 Tokenisasi
5) Stopword  Removal: Stopword  adalah  salah  satu metode  yang  paling  sering  digunakan  untuk  menghapus kata  yang  dianggap  tidak  terlalu  penting  untuk  dijadikan kata  kunci  pada  saat  melakukan  klasifikasi  emosi.  Pada penelitian  ini  menggunakan stopword bahasa  Indonesia yang didapatkan dari library nltk untuk filtering terhadap dataframe .  Setiap  kata  yang  terdapat  pada  stopword_list akan dihapus dari dataframe. Contoh hasil stopword dapat dilihat pada Gambar 6.

## Gambar 6 Stopword Removal
6) Stemming: Dalam stemming bahasa  Indonesia umumnya  adalah  menghilangkan  kata  awalan  dan  kata imbuhan,  sehingga  menjadi  suatu  kata  dasar  ( root ).  Jika kata  tersebut  mengandung  awalan  dan  imbuhan  (be-,  di-, ke-,  -ku,  -mu,  atau  -nya)  maka  imbuhan  dan  awalan tersebut  akan  dihilangkan  dan  akan  dikembalikan  sesuai kata  dasarnya.  Contoh  hasil stemming dapat  dilihat  pada Gambar 7.

## Gambar 7 Stemming
7) Rejoin:  Rejoin ,  yaitu  teks  hasil stemming yang masih  dalam  bentuk  token-token  digabungkan  kembali menjadi  kalimat  utuh.  Contoh  hasil rejoin dapat  dilihat pada Gambar 8.
Gambar 8 Rejoin

## D. Pembobotan TF-IDF
Penentuan  nilai  bobot  dengan  menggunakan term frequency  –  inverse  document  frequency (TF-IDF).  TF- IDF  adalah  salah  satu  metode  pembobotan  suatu  kata dengan  dokumen  ( term ). Term merupakan  hasil  dari proses preprocessing .  TF  berfungsi  untuk  menyatakan jumlah  keberadaan term dalam  satu  dokumen,  sedangkan DF  melakukan  perhitungan  berapa  banyak term yang muncul  pada  satu  dokumen  dan  IDF  bertujuan  untuk mengurangi  bobot  dari  term  tersebut  jika  kemunculannya banyak tersebar di seluruh dokumen.

## E. SMOTE
Teknik  SMOTE  digunakan  pada dataset lirik  lagu untuk membuat data sintetis dari kelas minoritas, sehingga jumlah data minoritas akan menjadi seimbang dengan data mayoritas.

## F. Membagi Dataset
Dataset akan dibagi menjadi dua bagian, yaitu training data dan testing  data . Training  data digunakan  untuk melatih  sistem  agar  dapat  mengenali  pola  yang  sedang dicari, sedangkan testing data adalah data yang digunakan untuk menguji hasil pelatihan yang sudah dilakukan. Pada penelitian  ini  pembagian dataset dilakukan  dengan perbandingan training dan test data 9 : 1.

## G. Tuning Hyperparameter PSO
Tuning  Hyperparameter digunakan  untuk  mencari kombinasi parameter yang optimal untuk mesin yang akan dibangun. Tuning  hyperparameter pada  penelitian  ini menggunakan  PSO.  PSO  akan  mengkombinasikan hyperparamater-hyperparameter yang  dimasukkan  dan mencari  kombinasi hyperparameter dengan  nilai  akurasi yang paling tinggi.

## Gambar 9 Particle Swarm Optimization
Pada  Gambar  9  ditampilkan flowchart PSO  yang dibangun  berdasarkan  [9]  dengan  skema  seperti  dibawah ini :
• Inisialisasi kecepatan dan posisi partikel.
• Inisialisasi  nilai fitness Pbest (Personal)  dan Gbest (Global).
• Menghitung nilai fitness partikel ( Candidate ) • Membandingkan nilai fitness candidate dengan nilai Pbest . • Jika  nilai Pbest lebih  kecil,  maka  nilai fitness candidate akan menjadi nilai Pbest yang baru.
• Membandingkan  nilai Pbest dan Gbest .  Jika  nilai Gbest lebih  kecil,  maka  nilai Pbest akan  menjadi nilai Gbest yang baru.
• Update  kecepatan  dan  posisi  partikel  untuk  iterasi selanjutnya.
• Mulai  kembali  dari  langkah  ke-2  hingga  mencapai iterasi maksimum.
Berikut  rumus  dalam  meng-update  kecepatan  dan  posisi partikel:
(1) (2)
Keterangan :
=   kecepatan partikel saat ini
=   posisi partikel saat ini
=   berat inertia
=   koefisien akselerasi
=   bilangan acak dengan rentang 0 hingga 1
=   posisi personal best partikel saat ini =   posisi global best partikel saat ini
Dalam  penelitian  ini,  parameter  w,  c1,  dan  c2  yang akan  digunakan  masing-masing  bernilai  0.9,  0.5,  dan  0.3 berdasarkan Lester  [14]. Menurut  Piotrowski  [15]  jumlah partikel  yang  optimal  bernilai  100,  dengan  iterasi sebanyak  2  kali  sebagai  kondisi  tercapainya  algoritma PSO oleh peneliti.

## H. Pemodelan
SVM  adalah suatu metode klasifikasi  untuk data linear dan  nonlinear.  Teknik  ini  termasuk  dalam  metode klasifikasi  jenis  terpandu  ( supervised )  karena  memiliki target  pembelajaran  yang  harus  terpenuhi.  Klasifikasi dilakukan  dengan  mencari hyperplane atau  garis pembatas  ( decision boundary )  yang  memisahkan  antara satu kelas dengan kelas lainnya. Dalam konsep ini, SVM akan berusaha untuk mencari hyperplane terbaik diantara fungsi  yang  tidak  terbatas  jumlahnya.  Fungsi  yang  tidak terbatas  dalam  pencarian hyperplane di  metode Support Vector  Machine merupakan  sebuah  keuntungan,  dimana pemrosesan pasti akan selalu bisa dilakukan bagaimanapun data yang dimilikinya.
Dalam  penelitian  ini, multi  class SVM  akan menggunakan  pendekatan One  Versus  All .  Untuk  fungsi kernel  yang  digunakan  adalah  fungsi  kernel  RBF  dengan hyperparameter gamma dan  C.  Pemodelan  SVM  pada penelitian  ini  akan  menggunakan  fungsi  dari library sklearn.

## I. Evaluasi Model
Pada penelitian ini 10-Fold Cross validation digunakan untuk  melakukan  evaluasi  pada training  dataset pada model  yang  dibangun.  Sedangkan testing  dataset dievaluasi  menggunakan Confusion  Matrix . Confusion matrix pada penelitian ini digunakan sebagai alat ukur dari performa  metode  klasifikasi  yang  digunakan,  dengan mengukur nilai accuracy, precision, recall dan f1-score . Pada 10-Fold  Cross  Validation ,  1  bagian  data  akan menjadi  data  uji  dan  9  bagian  data  lainnya  akan  menjadi data latih. Contohnya jika pada dataset terdapat 1000 data, akan  dibagi  ke  dalam  10- fold . Fold ke-1  akan  menjadi data  uji  sedangkan  sisanya  menjadi  data  latih.  Setelah training tahap  pertama  selesai,  selanjutnya training dilakukan  dengan  menjadikan fold ke-2  sebagai  data  uji dan  9  data  bagian  lainnya  menjadi  data  latih,  seperti  itu selanjutnya hingga fold ke -10. Kemudian  penelitian  ini  menggunakan confusion matrix untuk  mengetahui  performa  dari  setiap  skenario model  yang  diujikan.  Pada confusion  matrix ,  hasil  kelas prediksi  akan  dibandingkan  dengan  kelas  data  yang sebenarnya.  Terdapat  empat  istilah  sangat  penting  untuk memahami semua ukuran evaluasi antara lain seperti True Positives (TP)  adalah  jumlah  tuple  positif  yang  dilabeli dengan benar oleh classifier . True Negatives (TN) jumlah tuple  negatif  yang  dilabeli  dengan  benar  oleh classifier . False  Positives (FP)  adalah  jumlah  tuple  negatif  yang
salah dilabeli oleh classifier . False Negatives (FN) adalah jumlah tuple positif yang salah dilabeli oleh classifier . Terdapat  empat  ukuran  digunakan  untuk  mengevaluasi model klasifikasi, diantaranya adalah: accuracy, precision, recall dan f1-score . Accuracy menyatakan persentase dari jumlah  tuple  dalam  data  uji  yang  diklasifikasikan  dengan benar  oleh classifier ,  kemudian precision adalah  ukuran kepastian,  yaitu  berapa  persentase  tuple  yang  dilabeli sebagai positif adalah benar pada kenyataannya, kemudian recall adalah ukuran kelengkapan, yaitu berapa persentase tuple  positif  yang  dilabeli  sebagai  positif  dan f1-score yaitu harmonic mean dari nilai recall dan precision untuk mengetahui  seberapa  presisi  dan  handalnya  performa model dalam menglasifikasikan kelas.

## J. Arsitektur Sistem
Gambar 10 merupakan arsitektur sistem pada penelitian ini.  Langkah  pertama  pada  penelitian  ini  mengumpulkan data lirik lagu Indonesia yang diambil dari https://lirik.kapanlagi.com/. Dataset lirik  lagu  Indonesia akan melewati tahap Preprocessing terlebih  dahulu untuk membersihkan  data  yang  tidak  relevan.  Karena dataset yang  digunakan  belum  seimbang  antar  kelasnya,  maka digunakan SMOTE untuk menyeimbangkan data. Kemudian dataset yang  sudah  bersih  dan  seimbang menjadi  bahan  pembelajaran  untuk  membuat  model machine  learning ,  dalam  penelitian  ini  akan  menguji akurasi dari enam model machine learning . Hasil keenam model  kemudian  akan  dilakukan  evaluasi  terhadap  data training yang  dibagi  dengan  10- fold  cross  validation dan untuk  data  testing  dilakukan  evaluasi  menggunakan confusion  matrix untuk  mendapatkan  nilai accuracy , precision , recall dan f1 - score . Hasil evaluasi dari keenam model  akan  dibandingkan  untuk  menemukan  model  yang terbaik.
(3)
(4) (5) (6)
Gambar  11  merupakan  arsitektur  sistem  untuk implementasi  aplikasi  generik pada penelitian ini. Setelah didapatkan model  terbaik  dari  3 dataset (perbaris, perbait dan  keseluruhan  lagu)  maka  dari  ketiga  model  tersebut dilakukan dump  model dalam  format  .pkl,  kemudian file dump akan di- hosting ke cloud platform bernama heroku. User dapat  melakukan input teks  lirik  lagu  dengan memilih  terlebih  dahulu  pilihan  input  dalam  bentuk perbaris,  perbait  ataupun  keseluruhan  lagu.  Setelah user melakukan  input  teks  lirik  lagu  maka  aplikasi  generik akan memberikan output berupa klasifikasi  emosi  beserta dengan  nilai  probabilitas  dari  setiap  kelas  emosinya ( anger, happy, love, sadness dan fear ).
Gambar 11 Arsitektur Sistem Aplikasi Generik

## III. H ASIL DAN P EMBAHASAN

## A. Hasil Pelabelan Data
Pada  penelitian  ini  pelabelan  data  dilakukan  secara manual dengan 3 sudut pandang, pelabelan dilakukan oleh 3 orang. Pelabelan berdasarkan 5 kelas emosi yaitu happy (senang), anger (marah), fear (takut), sadness (sedih) dan love (cinta).

## B. Hasil Preprocessing
Hasil  seluruh  proses preprocessing pada dataset ditampilkan  dalam  bentuk  tabel  yang  dapat  dilihat  pada tabel  I.  Berikut  merupakan  sampel  kalimat  yang  diambil dari dataset.
TABEL I H ASIL P REPROCESSING Tahap
Preprocessing Teks Lirik Tanpa Preprocessing Senyumanmu slalu menghiasi mimpiku... Data Cleaning Senyumanmu slalu menghiasi mimpiku Case Folding senyumanmu slalu menghiasi mimpiku Normalisasi senyumanmu selalu menghiasi mimpiku Tokenisasi [’senyumanmu’,’selalu’,’menghiasi’,’mimpiku’] Stopword Removal [’senyumanmu’,’menghiasi’,’mimpiku’] Stemming [’senyum’,’hias’,’mimpi’] Rejoin Senyum hias mimpi

## C. Hasil Pembobotan TF-IDF
Pada  penelitian  ini  menggunakan  pembobotan  TF-IDF untuk  melakukan  vektorisasi.  Vektorisasi  adalah  proses mengubah  data  teks  menjadi  data  numerik,  dimana nilainya  berupa  angka  kemunculan  kata  dalam  dokumen. Pembobotan  ini  diperlukan  karena  komputer  hanya mengerti dan memproses data numerik.

## Gambar 12 Hasil TF-IDF

## D. Tuning Hyperparameter
Model  dari  setiap  bentuk dataset (perbaris,  perbait dan  keseluruhan  lagu)  menghasilkan  nilai  dari tuning hyperparameter yang berbeda. Hasil tuning hyperparameter dapat dilihat Pada Tabel III.
TABEL II H ASIL P REPROCESSING
Dataset Tuning Hyperparameter PSO gamma C Perbaris 2.5916517 3.16802062 Perbait 1.29886922 7.84779504 Keseluruhan Lagu 0.74795474 4.52582129

## E. Evaluasi
Pada  penelitian  ini  terdapat  6  Skenario  yang  dapat dilihat pada Tabel III
TABEL III S KENARIO Skenario Model Dataset 1 SVM Perbaris 2 SVM-PSO Perbaris 3 SVM Perbait 4 SVM-PSO Perbait 5 SVM Keseluruhan Lagu
6 SVM-PSO Keseluruhan Lagu TABEL IV
H ASIL E VALUASI T RAINING DAN T ESTING Tolak Ukur Skenario Hasil Evaluasi Perubahan Training Testing Accuracy 1 (SVM Perbaris) 88,53 % 88,81 % + 0,28 % 2 (SVM-PSO Perbaris) 91,70 % 92,13 % + 0,43 % 3 (SVM Perbait) 83,97 % 89,19 % + 5,22 %
Tolak Ukur Skenario Hasil Evaluasi Perubahan Training Testing 4 (SVM-PSO Perbait) 85,35 % 91,35 % + 6 % 5 (SVM Keseluruhan Lagu) 78,21 % 84,00 % + 5,79 % 6 (SVM-PSO Keseluruhan Lagu) 80,00 % 82,67 %
+ 2,67 %
Precision 1 (SVM Perbaris) 88,59 % 88,86 % + 0,27 % 2 (SVM-PSO Perbaris) 91,84 % 92,27 % + 0,43 % 3 (SVM Perbait) 84,15 % 89,39 % + 5,24 % 4 (SVM-PSO Perbait) 85,73% 91,44 % + 5,71 % 5 (SVM Keseluruhan Lagu) 77,96 % 84,29 % + 6,33 % 6 (SVM-PSO Keseluruhan Lagu) 80,54 % 82,36 %
+ 1,82 %
Recall
1 (SVM Perbaris) 88,53 % 88,80 % + 0,27 % 2 (SVM-PSO Perbaris) 91,70 % 92,13 % + 0,43 % 3 (SVM Perbait) 83,98 % 89,19 % + 5,21 % 4 (SVM-PSO Perbait) 85,35 % 91,35 % + 6 % 5 (SVM Keseluruhan Lagu) 78,22 % 84,00 % + 5,78 % 6 (SVM-PSO Keseluruhan Lagu) 80,03 % 82,67 % + 2,64 %
F1-Score
1 (SVM Perbaris) 88,48 % 88,78 % + 0,3 % 2 (SVM-PSO Perbaris) 91,73 % 92,16 % + 0,43 % 3 (SVM Perbait) 83,85 % 89,07 % + 5,22 % 4 (SVM-PSO Perbait) 85,38 % 91,27 % + 5,89 % 5 (SVM Keseluruhan Lagu) 77,40 % 83,98 % + 6,58 % 6 (SVM-PSO Keseluruhan Lagu) 79,79 % 82,43 % + 2,64 %
Hasil evaluasi data training dan testing dari skenario 1 - 6 ditampilkan dalam Tabel IV diatas, yang mana evaluasi data training didapatkan dari 10- fold cross validation dan evaluasi  data  testing  didapatkan  dari confusion  matrix . Terdapat  pula  tabel  perubahan  yang  menampilkan  jarak atau gap perbedaan  dari  nilai training terhadap  nilai testing .  Jika  performa training lebih  tinggi  dibandingkan performa  testing,  maka  akan  diberi  tanda  negatif  (-). Sebaliknya  jika  nilai testing lebih  tinggi  dibandingkan nilai training maka  akan  diberi  tanda  positif  (+). Berdasarkan  hasil  tersebut  terdapat  beberapa  hal  yang diperoleh antara lain :
• Pada  skenario  5  (SVM  Keseluruhan  lagu) merupakan  model  yang  memiliki  perubahan  paling signifikan  dengan range nilai  +  5,78%  hingga  + 6,58%. Performa model saat  diujikan terhadap data testing meningkat signifikan, dibandingkan performa model saat diujikan terhadap data training . • Skenario  1  hingga  4  ( dataset perbaris  dan  perbait) saat  diujikan  terhadap  data testing menunjukkan kenaikan nilai accuracy, setelah menerapkan tuning hyperparameter PSO,  sedangkan  pada  skenario  5 dan 6 ( dataset keseluruhan lagu) setelah menerapkan tuning hyperparameter PSO mengalami  penurunan accuracy dengan  gap penurunan  sebesar  -1,33%.  Hasil  ini  menunjukkan penerapan tuning  hyperparameter PSO  akan  lebih efektif  jika  digunakan  pada  dataset  perbaris  dan perbait  sedangkan  kurang  efektif  jika  digunakan pada dataset keseluruhan lagu.
• Skenario  2  (SVM-PSO  Perbaris)  merupakan skenario  dengan  performa  terbaik  karena  memiliki nilai  performa  tertinggi  secara  keseluruhan.  Nilai accuracy training sebesar  91,70%  dan testing sebesar  92,13%.  Pada  nilai precison training sebesar  91,84%  dan testing sebesar  92,27%.  Nilai recall training sebesar  91,70%  dan testing sebesar 92,13%.  Nilai accuracy training sebesar  91,73% dan testing sebesar 92,16%.
• Untuk dataset perbaris,  skenario  2  (SVM  -  PSO) merupakan  skenario  dengan  performa  tertinggi, kemudian  untuk dataset perbait  (SVM  -  PSO), skenario  4  merupakan  skenario  dengan  performa tertinggi,  dan  terakhir  untuk dataset keseluruhan lagu, skenario 5 (SVM) merupakan skenario dengan performa tertinggi.
• Jika melihat perubahan nilai performa  dari evaluasi data training terhadap  evaluasi  data testing yang disajikan  pada  tabel  4.3,  maka  perubahan  paling signifikan  terjadi  pada dataset perbait  dan dataset keseluruhan  lagu.  Pada dataset perbait, range perubahan  nilai  performa  yang  dihasilkan  berkisar +5,21%  hingga  +6%.  Kemudian  pada dataset keseluruhan  lagu, range perubahan  nilai  performa yang  dihasilkan  berkisar  +1,82%  hingga  +6,58%. Sedangkan  pada  dataset  perbaris, range perubahan nilai  performa  yang  dihasilkan  hanya  berkisar +0,27% hingga +0,43%.

## F. Implementasi Aplikasi Generik
Aplikasi  generik  yang dibangun mengimplementasikan 3  model  terbaik  berdasarkan  3 dataset (perbaris,  perbait dan  keseluruhan  lagu)  Untuk dataset perbaris,  skenario  2 (SVM  -  PSO)  merupakan  skenario  dengan  performa terbaik, kemudian untuk dataset perbait, skenario 4 (SVM - PSO) merupakan skenario dengan performa terbaik, dan terakhir untuk dataset keseluruhan lagu, skenario 5 (SVM) merupakan  skenario  dengan  performa  terbaik.  Detail model terbaik dapat dilihat pada Tabel V.
TABEL V
M ODEL T ERBAIK B EDASARKAN 3 D ATASET
Skenario Terbaik Dataset Gamma C 2 (SVM-PSO) Perbaris 2.5916517 3.16802062 4 (SVM-PSO) Perbait 1.29886922 7.84779504 5 (SVM) Keseluruhan Lagu Default Default
Aplikasi  yang  dibangun  berbasis web dengan  fitur klasifikasi  dan  user  dapat  mengisi  teks  kedalam  kolom input . Setelah mengisi teks dan menekan tombol “mulai”, maka hasil output akan berupa klasifikasi kelas emosi dari teks  yang  dimasukkan  serta  menampilkan  probabilitas prediksinya.  Tampilan  dari  aplikasi  generik  dapat  dilihat pada Gambar 21.

## Gambar 13 Tampilan Aplikasi

## IV. K ESIMPULAN
Berdasarkan  analisis  hasil  yang  telah  dilakukan terhadap keempat model, maka dapat  disimpulkan  bahwa penelitian  yang  telah  dilakukan  menunjukkan  bahwa penelitian  ini  berhasil  mengimplementasikan  klasifikasi emosi,  sehingga  dapat  mengklasifikasikan  kelas  emosi dari  teks  lirik  lagu  berbahasa  Indonesia  dalam  bentuk perbaris, perbait dan keseluruhan lagu.
Kemudian  penggunaan tuning  hyperparameter PSO dapat disimpulkan lebih berpengaruh jika digunakan pada dataset perbaris  (skenario  2),  dengan  melihat  nilai accuracy yang  meningkat  sebesar  +  3,32%  setelah dilakukan tuning  hyperparameter .  Sedangkan  pada dataset perbait  nilai accuracy hanya meningkat  sebesar  + 2,16%.  Terakhir,  pada dataset keseluruhan  lagu menerapkan tuning  hyperparameter justru  menurunkan nilai accuracy sebesar – 1,33%.
Selain  itu, dataset perbait  cenderung  mengalami penurunan performa setelah dilakukan tuning hyperparameter (skenario  6)  dapat  terjadi  karena  jumlah partikel  dan  iterasi  pada  PSO  yang  ditetapkan  terlalu sedikit (penelitian ini menggunakan 100 partikel dengan 2 iterasi),  sehingga  ketika tuning  hyperparameter sedang dijalankan, justru dipaksa berhenti karena kondisi partikel dan  iterasi  yang  sudah  terpenuhi,  tanpa  memperdulikan apakah  kombinasi hyperparameter yang  paling  optimal sudah ditemukan atau belum. Hal inilah yang
mengakibatkan  penurunan  performa  ketika  ditambahkan PSO pada penelitian ini.
Terakhir,  berdasarkan  hasil  pengujian  pada  setiap model,  skenario  2  (SVM-PSO  Perbaris)  memang memberikan  performa  model  paling  baik  dengan  nilai accuracy sebesar  92,13%.  Namun jika melihat  perubahan nilai  performa  dari  evaluasi  data training terhadap evaluasi  data testing yang  disajikan  pada  tabel  4.3,  maka perubahan  paling  signifikan  justru  terjadi  pada dataset perbait dan dataset keseluruhan lagu. Hal ini dapat terjadi karena isi  atau value dari dataset perbait dan keseluruhan lagu  jumlah  kalimatnya  lebih  banyak  daripada dataset perbaris.  Sehingga  secara  kualitas  akan  lebih  baik  jika menggunakan dataset perbait atau keseluruhan lagu.
D AFTAR P USTAKA
[1] Lailatul  Izzah,  “Pengaruh  Mendengarkan  MusikTerhadap Mood  Belajar  Pada  Mahasiswa  Manajemen  Dakwah  UIN Suska Riau,” Nathiqiyyah , vol. 03, no. 01, 2020. [2] F.  S.  Sinaga,  Indriati,  and  B.  Rahayudi,  “Klasifikasi  Emosi Lirik  Lagu  menggunakan  Improved  K-Nearest  Neighbor dengan Seleksi Fitur dan BM25,” J. Pengemb. Teknol. Inf. dan Ilmu Komput. , vol. 8, no. 3, pp. 5697–5702, 2019.
[3] Z.  Pentury,  “Nilai  Motivasi  Dalam  Lirik  Lagu  Pop  Indonesia (Kajian  Semantik),” Arbitrer,  J.  Pendidik.  Bhs.  dan  Sastra Indones. , vol. 2, no. 3, pp. 381–394, 2020.
[4] Sulkifli and Marwati, “Kemampuan Menulis Puisi Siswa Kelas Viii Smp Negeri Satu Atap 3 Langgikima Kabupaten Konawe Utara,” J. Bastra , vol. 1, no. 1, pp. 1–22, 2016. [5] P. R. Shaver, U. Murdaya, and R. C. Fraley, “Structure of the Indonesian emotion lexicon,” pp. 201–224, 2001. [6] I. D. Abirawa, A. B. Osmond, and C. Setianingsih, “Klasifikasi
Emosi Pada Lirik Lagu Menggunakan Metode Support Vector Machine,” E-proceeding  Eng. ,  vol.  5,  no.  3,  pp.  6203–6209, 2018.
[7] C.  I.  Salekhah,  “Implementasi  Metode  Multi  Class  Support
Vector  Machine  Untuk  Klasifikasi  Emosi  Pada  Lirik  Lagu Bahasa Indonesia,” 2016.
[8] E.  N.  Azizah  and  E.  Rainarli,  “Support  Vector  Machine  Dan
Information  Gain  Untuk  Klasifikasi  Emosi  Pada  Lirik  Lagu,”
2019.
[9] V.  K.  S.  Que,  A.  Iriani,  and  H.  D.  Purnomo,  “Analisis Sentimen  Transportasi  Online  Menggunakan  Support  Vector Machine Berbasis  Particle  Swarm Optimization,” J.  Nas.  Tek. Elektro dan Teknol. Inf. , vol. 9, no. 2, pp. 162–170, 2020, doi: 10.22146/jnteti.v9i2.102.
[10] D.  Suyanto, Data  mining  untuk  klasifikasi  dan  klasterisasi data , Edisi Revi. Bandung: Informatika Bandung, 2019.
[11] D.  Alita,  Y.  Fernando,  and  H.  Sulistiani,  “Implementasi Algoritma  Multiclass  Svm  Pada  Opini  Publik  Berbahasa Indonesia Di Twitter,” J. Tekno Kompak , vol. 14, no. 2, p. 86, 2020, doi: 10.33365/jtk.v14i2.792.
[12] E.  E.  Pratama  and  B.  R.  Trilaksono,  “Klasifikasi  Topik Keluhan  Pelanggan Berdasarkan  Tweet  dengan  Menggunakan Penggabungan Feature Hasil,” J. Edukasi dan Penelit. Inform. , vol. 1, no. 2, pp. 53–59, 2015.
[13] S.  A.  Saputra,  D.  Rosiyadi,  W.  Gata,  and  S.  M.  Husain, “Analisis Sentimen E-Wallet Pada Google Play Menggunakan
Algoritma Naive Bayes Berbasis Particle Swarm Optimization,” J.  RESTI  (Rekayasa  Sist.  dan  Teknol. Informasi) , vol. 3, no. 3, pp. 377–382, 2019.
[14] Lester James V. Miranda,  “PySwarms Documentation,” 2017. https://pyswarms.readthedocs.io/en/latest/api/pyswarms.single. html (accessed Mar. 11, 2022).
[15] A.  P.  Piotrowski,  J.  J.  Napiorkowski,  and  A.  E.  Piotrowska, “Population size in Particle Swarm Optimization,” Swarm Evol. Comput. , vol. 58, p. 100718, 2020, doi: 10.1016/j.swevo.2020.100718.
[16] R. Siringoringo, “Klasifikasi  Data  Tidak  Seimbang Menggunakan Algoritma SMOTE dan k-Nearest Neighbor,” J. ISD , vol. 3, no. 1, pp. 44–49, 2018.