SKRIPSI Analisis Sentimen Game Genshin Impact untuk Mengetahui Reaksi dan Harapan Pemain Menggunakan Support Vector Machine Oleh: Muhammad Refansyach Sugianto 065119226 PROGRAM STUDI ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS PAKUAN BOGOR 2023
Judul Nama NPM HALAMAN PENGESAHAN : Analisis Sentimen Game Genshin Impact untuk Mengetahui Reaksi dan Harapan Pemain Menggunakan Support Vector Machine : Muhammad Refansyach Sugianto : 065119226 Mengesahkan, Pembimbing Pendamping Program Studi Ilmu Komputer FMIPA - UNPAK Pembimbing Utama Program Studi Ilmu Komputer FMIPA - UNPAK Mengetahui, Ketua Program Studi Ilmu Komputer FMIPA - UNPAK Dekan FMIPA - UNPAK i
PERNYATAAN KEASLIAN KARYA TULIS SKRIPSI Dengan ini, saya yang bertanda tangan dibawah ini : Nama NPM Program Studi Fakultas : Muhammad Refansyach Sugianto : 065119226 : Ilmu Komputer : Matematika dan Ilmu Pengetahuan Alam Universitas Pakuan Bogor Menyatakan bahwa sejauh yang saya ketahui, karya tulis ini bukan merupakan karya tulis yang pernah dipublikasikan atau sudah pernah dipakai untuk mendapatkan gelar sarjana di Universitas lain, kecuali pada bagian-bagian dimana sumber informasinya dicantumkan dengan cara referensi yang semestinya. Demikian pernyataan ini saya buat dengan sebenar-benarnya. Apabila kelak ditemukan hari terdapat gugatan, penulis bersedia dikenakan sanksi sesuai dengan peraturan yang berlaku. ii
PERNYATAAN PELIMPAHAN SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA Saya yang bertanda tangan di bawah ini : Nama NPM Judul Skripsi : Muhammad Refansyach Sugianto : 065119226 : Analisis Sentimen Game Genshin Impact untuk Mengetahui Reaksi dan Harapan Pemain Menggunakan Support Vector Machine Dengan ini saya menyatakan bahwa Paten dan Hak Cipta dari produk Skripsi dan Tugas Akhir di atas adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apapun kepada perguruan tinggi manapun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini. Dengan ini saya melimpahkan Paten, hak cipta dari karya tulis saya kepada Universitas Pakuan. iii
RIWAYAT HIDUP Muhammad Refansyach Sugianto, dilahirkan di Bogor pada tanggal 26 Mei 2001 dari pasangan Bapak Sugianto, S.E. dan Ibu Dewi Cahyaningsih sebagai anak kedua dari dua bersaudara. Penulis memulai pendidikan sekolah dasar pada tahun 2006 di SD Negeri 01 Cisarua dan lulus pada tahun 2012. Di tahun 2013 melanjutkan pendidikan ke sekolah menengah pertama di SMP Negeri 01 Cisarua dan lulus pada tahun 2016, lalu pada tahun yang sama melanjutkan pendidikan di SMA Negeri 01 Cisarua dengan jurusan Ilmu Pengetahuan Alam dan lulus pada tahun 2019. Pada tahun yang sama penulis melanjutkan pendidikan di Universitas Pakuan Bogor dengan program studi Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam. Selama menjadi mahasiswa di Universitas Pakuan Bogor, pada bulan Agustus 2022 penulis melaksanakan Praktik Lapang di PT. Triartha Causa Prima. Pada bulan Maret 2023 penulis memulai penelitian tugas akhir dan selesai pada bulan Desember 2023 dengan judul "Analisis Sentimen Game Genshin Impact untuk Mengetahui Reaksi dan Harapan Pemain Menggunakan Support Vector Machine" untuk menuntaskan jenjang perkuliahan dan mendapatkan gelar Sarjana Komputer. iv
RINGKASAN Muhammad Refansyach Sugianto, 2023. Analisis sentimen game genshin impact untuk mengetahui reaksi dan harapan pemain menggunakan support vector machine. Dibawah bimbingan Ibu Arie Qur'ania, M.Kom. dan Bapak Dr. Fajar Delli Wihartiko, S.Si., M.M., M.Kom. Penelitian ini dilatar belakangi oleh game bernama Genshin Impact yang merupakan permainan yang dirilis oleh miHoYo pada September 2020, yang mengusung tema aksi dan petualangan. Game ini diangkat menjadi objek penelitian karena keberhasilan game Genshin Impact sebagai game berbasis mobile yang telah meraup keuntungan sebesar 3,7 miliar dollar hanya dalam waktu 2 tahun saja, menjadikannya game mobile dengan perolehan keuntungan tercepat dan dilansir dari web sensortower Genshin Impact menduduki peringkat ke-3 pada Top Grossing Mobile Games World Wide per September 2022. Dalam komunitas, para pemain saling berinteraksi dan berkomunikasi menggunakan berbagai media sosial untuk membahas dan membagikan pengalaman mereka terkait game dan perkembangannya. Maka menjadi penting untuk mengetahui opini atau tanggapan pemain terutama pada aspek karakter, game, dan event untuk mempertahankan minat bermain pemain, hal ini dapat dilakukan dengan metode analisis sentimen. Analisis sentimen adalah teknik untuk mengetahui nada emosi yang diungkapkan pada suatu teks (Lyman, Cornelia. 2023), seperti positif, negatif, atau netral. Dengan begitu maka dilakukan penelitian analisis sentimen pada komunitas game Genshin impact, untuk mengetahui reaksi dan harapan pemain pada game ini. Analisis sentimen ini akan sangat penting bagi pengembang untuk meningkatkan kualitas dan pengalaman bermain para pemain. Metode yang digunakan pada analisis sentimen ini adalah TF-IDF, dan Support Vector Machine (SVM) untuk melakukan klasifikasi pada data dan menentukan apakah data tersebut termasuk ke dalam kelas positif, netral atau negatif. Pengujian dimulai dari tahap pengumpulan data berupa komentar pada video youtube yang diunggah oleh kanal resmi genshin impact, total video yang digunakan sebanyak 6 buah yang merupakan video promosi versi terbaru game yaitu versi 3.6. Data mentah yang didapat sebanyak 7.953 data pada aspek karakter, 1.273 data pada aspek event, dan 3.407 data pada aspek game. Ada beberapa harapan dan keluhan pemain yang dapat menjadi bahan pertimbangan bagi para pengembang. Pada aspek karakter, pemain mengharapkan karakter baru, Kaveh dan Baizhu, memiliki daya tarik yang lebih kuat. Pada aspek game, pemain menginginkan konten jangka panjang agar mereka tetap termotivasi untuk terus bermain. Pada aspek event, player mengeluhkan bahwa event pada versi ini terkesan sangat panjang sehingga membuat player cepat bosan. Dataset tersebut kemudian akan dilakukan tahap preprocessing untuk dilakukan pembersihan data yang melalui tahapan cleaning, case folding, tokenization, filtering, dan lemmatization, lalu hasilnya akan dilakukan pembobotan menggunakan metode TF-IDF, selanjutnya akan dilakukan pembagian data dengan rasio 80:20 atau 80% data akan digunakan sebagai data latih dan 20% data digunakan sebagai data uji, selanjutnya dataset digunakan pada model Support Vector Machine untuk dilakukan klasifikasi. Model SVM memberikan hasil akurasi sebesar 83% pada aspek karakter dan game dan 69% pada aspek event. Kata kunci : Analisis Sentimen; Genshin Impact; Versi 3.6; SVM; Harapan v
KATA PENGANTAR Puji syukur ke hadirat Allah SWT, karena rahmat dan hidayah-Nya penulis dapat menyelesaikan skripsi ini yang berjudul " Analisis Sentimen Game Genshin Impact untuk Mengetahui Keinginan dan Harapan Pemain Menggunakan Support Vector Machine". Penulisan tugas akhir ini merupakan salah satu syarat memperoleh gelar Sarjana Komputer di Program Studi Ilmu Komputer FMIPA Universitas Pakuan Bogor. Dalam penulisan tugas akhir ini, penulis dengan senang hati ingin mengucapkan terima kasih yang sebesar-besarnya kepada : 1. Arie Qur'ania, M.Kom., selaku Dosen Pembimbing Utama serta Ketua Program Studi Ilmu Komputer FMIPA Universitas Pakuan Bogor yang telah memberikan bimbingan, dorongan moril dan motivasi kepada penulis. Dr. Fajar Delli Wihartiko, S.Si., M.M. M.Kom., selaku Dosen Pembimbing Pendamping yang telah memberikan bimbingan, semangat dan motivasi. 2. 3. Mama dan Papa yang telah memberi pengertian, semangat baik moral maupun materil, serta doa dan kasih sayang kepada anaknya. 4. Duo Musik YOASOBI yang telah menemani penulis dalam pengerjaan laporan ini dengan lagu-lagunya yang selalu dapat memberikan semangat. 5. Teman-teman kelas GH Ilkom Universitas Pakuan angkatan 19 yang telah menemani perjuangan penulis dalam menempuh perkuliahan. 6. Seluruh pihak yang tidak dapat penulis sebutkan satu per satu yang telah memberikan segala dukungan, semangat, bantuan secara langsung maupun tidak langsung. Saran dan kritik yang membangun dalam penulisan tugas akhir ini akan diterima dengan senang hati. Mudah-mudahan Allah SWT akan membalas semua kebaikan kepada semua pihak yang membantu. Akhir kata, semoga laporan ini dapat bermanfaat bagi kita semua. Amin. Bogor, 14 Desember 2023 Muhammad Refansyach Sugianto vi
DAFTAR ISI Halaman HALAMAN PENGESAHAN ... i PERNYATAAN KEASLIAN KARYA TULIS SKRIPSI ... ii PERNYATAAN PELIMPAHAN SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA ... iii RIWAYAT HIDUP ... iv RINGKASAN ... v KATA PENGANTAR ... vi DAFTAR ISI... vii DAFTAR GAMBAR ... ix DAFTAR TABEL ... x DAFTAR LAMPIRAN... xi BAB I PENDAHULUAN ... 1 1.1. Latar Belakang ... 1 1.2. Tujuan ... 2 1.3. Ruang Lingkup ... 2 1.4. Manfaat Penelitian... 3 BAB II... 4 TINJAUAN PUSTAKA ... 4 2.1. Landasan Teori ... 4 2.1.1. Analisis Sentimen... 4 2.1.2. Genshin Impact ... 5 2.1.2 Algoritma Term Frequency-Inverse Document Frequency ... 5 2.1.3 Algoritma Klasifikasi ... 6 2.1.3.1. Algoritma Support Vector Machine ... 6 2.1.3.2. Algoritma Naïve Bayes Classifier... 7 2.1.3.3. Algoritma Decision Tree Classifier ... 7 2.1.3.4. Algoritma Random Forest Classifier ... 7 2.1.3.5. Algoritma Artificial Neural Network ... 8 2.1.3.6. Algoritma Recurrent Neural Network ... 8 2.1.4 Synthetic Minority Oversampling Technique (SMOTE) ... 8 2.1.5 Metode Confusion Matrix ... 8 2.1.6 Receiver Operating Characteristic Area Under the Curve ... 9 2.2. Penelitian Terdahulu ... 10 2.3. Tabel Perbandingan Penelitian ... 11 BAB III ... 14 METODE PENELITIAN ... 14 3.1. Metodologi Penelitian ... 14 3.1.1. Tahap Pemahaman Tentang Bisnis / Tujuan ... 14 3.1.2. Tahap Pemahaman Data ... 14 3.1.3. Tahap Persiapan Data ... 15 3.1.4. Tahap Pemodelan ... 15 3.1.5. Tahap Evaluasi ... 15 3.1.6. Tahap Deployment ... 16 3.2. Waktu dan Tempat Penelitian ... 16 3.3. Alat dan Bahan ... 16 3.3.1. Alat ... 16 vii
3.3.2. Bahan ... 16 BAB IV ... 16 RANCANGAN DAN IMPLEMENTASI ... 17 4.1. Tahap Pemahaman Data ... 17 4.1.1. Proses Pengumpulan Data ... 17 4.2. Tahap Persiapan Data ... 18 4.2.1. Cleaning ... 18 4.2.2. Case Folding ... 18 4.2.3. Tokenization ... 19 4.2.4. Filtering... 19 4.2.5. Lemmatization ... 20 4.3. Tahap Pemodelan ... 20 4.3.1. Pembobotan Term Frequency - Inverse Document Frequency (TF-IDF).. 20 4.3.2. Ekstraksi Fitur ... 20 4.3.3. Mencari Hyperplane ... 21 4.3.4. Perhitungan Matematis pada Persamaan Linear ... 21 4.3.5. Mengklasifikasikan Setiap Sampel Data ke Dalam Kelasnya ... 22 4.3.6. Evaluasi Model pada Data Sampel ... 22 BAB V ... 23 HASIL DAN PEMBAHASAN ... 23 5.1. Hasil ... 23 5.2. Pembahasan ... 24 5.2.1. Mengetahui Reaksi dan Harapan Pemain ... 24 5.2.2. Evaluasi Model Klasifikasi ... 26 BAB VI ... 30 KESIMPULAN DAN SARAN ... 30 1.1. Kesimpulan ... 30 1.2. Saran ... 31 DAFTAR PUSTAKA ... 32 viii
DAFTAR GAMBAR Halaman Gambar 1. Bagaimana Cara Kerja Analisis Sentimen ... 4 Gambar 2. Pendapatan Game Genshin Impact Per September 2022 ... 5 Gambar 3. Confusion Matrix ... 9 Gambar 4. Tahapan Metode CRISP-DM ... 14 Gambar 5. Alur Preprocessing ... 15 Gambar 6. Hasil Kalkulasi VaderSentiment ... 17 Gambar 7. Grafik Polaritas Sentimen... 24 Gambar 8. Hasil Confusion Matrix pada Setiap Aspek Uji ... 27 Gambar 9. Kurva ROC AUC pada 3 Aspek ... 28 Gambar 10. Grafik Perbedaan Akurasi Algoritma Klasifikasi ... 29 ix
DAFTAR TABEL Halaman Tabel 1. Tabel Perbandingan Penelitian ... 12 Tabel 2. Pelabelan pada Dataset Sampel ... 18 Tabel 3. Proses Cleaning ... 18 Tabel 4. Proses Case Folding ... 19 Tabel 5. Proses Tokenization ... 19 Tabel 6. Proses Filtering ... 19 Tabel 7. Proses Lemmatization ... 20 Tabel 8. Ekstraksi Fitur ... 20 Tabel 9. Persamaan Linear untuk Data Latih ... 21 Tabel 10. Persamaan Linear untuk Data Uji ... 21 Tabel 11. Perhitungan Data Uji ... 22 Tabel 12. Komposisi Dataset Siap Digunakan ... 23 Tabel 13. Polaritas Data Latih dan Data Uji Digunakan ... 23 Tabel 14. Word Cloud pada Setiap Aspek Uji ... 24 Tabel 15. Keluhan dan Harapan Pemain pada Aspek Karakter ... 25 Tabel 16. Keluhan dan Harapan Pemain pada Aspek Game... 25 Tabel 17. Keluhan dan Harapan Pemain pada Aspek Event ... 26 Tabel 18. Hasil dari Model SVM dengan SMOTE ... 27 Tabel 19. Perbandingan Model Klasifikasi Machine Learning ... 28 Tabel 20. Perbandingan Model Klasifikasi Deep Learning ... 29 x
DAFTAR LAMPIRAN Halaman Lampiran 1. Validasi Data oleh Pakar Bahasa ... 36 Lampiran 2. Kode Program Scraping Data ... 36 Lampiran 3. Kode Program Labeling Data ... 37 Lampiran 4. Library Digunakan untuk Preprocessing ... 38 Lampiran 5. Kode Program untuk Cleaning Data ... 38 Lampiran 6. Kode Program untuk Case Folding ... 38 Lampiran 7. Kode Program untuk Tokenization ... 38 Lampiran 8. Kode Program untuk Lemmatization ... 38 Lampiran 9. Kode Program untuk Filtering/Stopwords ... 38 Lampiran 10. Kode Program untuk Pembobotan TF-IDF ... 39 Lampiran 11. Kode Program untuk Split Data ... 39 Lampiran 12. Kode Program Oversampling SMOTE... 39 Lampiran 13. Library Digunakan untuk Model Klasifikasi... 39 Lampiran 14. Kode Program Algoritma SVM ... 40 Lampiran 15. Percobaan Model pada Perbandingan Data 70:30 ... 40 Lampiran 16. Percobaan Model pada Perbandingan Data 90:10 ... 40 Lampiran 17. Perbandingan Akurasi SVM pada Perbandingan Rasio Dataset ... 41 Lampiran 18. Polaritas Dataset dengan 5 Kelas ... 41 Lampiran 19. Hasil Analisis Dataset 5 Kelas Menggunakan SVM ... 41 Lampiran 20. Surat Keputusan Tugas Akhir... 42 Lampiran 21. Kartu Bimbingan Mahasiswa ... 43 Lampiran 22. Hasil Cek Plagiasi Turnitin ... 44 xi
BAB I PENDAHULUAN 1.1. Latar Belakang Di zaman dengan teknologi yang sudah sangat maju ini, kehadiran akan internet pun semakin diperlukan oleh orang banyak. Internet sekarang telah menjadi bagian yang tidak bisa dipisahkan dari masyarakat. Salah satu dari bagian internet yang juga popular pada saat ini adalah kehadiran akan media hiburan digital contohnya game online, dimana pemain dapat berinteraksi satu sama lain juga berkompetisi dalam lingkup dunia virtual. Dalam konteks penelitian ini adalah game bernama Genshin Impact. Genshin Impact merupakan permainan yang dirilis oleh miHoYo pada September 2020, yang mengusung tema aksi dan petualangan. Per September 2022, Genshin Impact telah meraup keuntungan sebesar 3,7 miliar US Dollar menjadikannya game berbasis mobile dengan perolehan keuntungan tercepat, membuatnya menjadi fenomena dalam industri game, karena selain dapat meraih keuntungan yang tinggi dalam waktu singkat juga memiliki basis komunitas dan pemain yang sangat aktif dan besar dengan total unduhan sebanyak 126,4 juta kali pada perangkat mobile, desktop, dan konsol. Dalam komunitas, para pemain saling berinteraksi dan berkomunikasi menggunakan berbagai media sosial untuk membahas dan membagikan pengalaman mereka terkait game dan perkembangannya. Maka menjadi penting untuk mengetahui opini atau tanggapan pemain terutama pada aspek karakter, game, dan event untuk mempertahankan minat bermain pemain. Analisis sentimen adalah teknik untuk mengetahui nada emosi yang diungkapkan pada suatu teks (Lyman, Cornelia. 2023), seperti positif, negatif, atau netral. Dalam game Genshin Impact, event dan update yang diberikan oleh pengembang memainkan peran penting dalam mempertahankan minat pemain. Oleh karena itu, perlu dilakukan analisis terhadap sentimen pemain untuk mengetahui minat pemain lebih jauh terutama harapan pada aspek game, karakter, dan event di permainan Genshin Impact ini. Analisis ini akan sangat penting bagi pengembang untuk meningkatkan kualitas dan pengalaman bermain para pemain. Adapun karena alasan melimpahnya data teks sekarang ini, membuat penelitian tentang analisis sentimen menjadi semakin populer dilakukan dengan tujuan untuk mengetahui bagaimana publik berpendapat terhadap suatu topik tertentu, dalam kasus ini adalah game Genshin Impact. Algoritma yang digunakan untuk melakukan Analisis Sentimen ini adalah TF- IDF dan Support Vector Machine. TF-IDF sendiri merupakan algoritma yang mengubah teks menjadi vektor dengan memperhatikan apakah kata yang akan diubah sudah cukup informatif atau tidak (Fahrizain, Affandy. 2021), selanjutnya hasil dari vektor tersebut akan dilakukan klasifikasi data ke dalam kelas positif, netral atau negatif menggunakan algoritma Support Vector Machine. Menurut Statinfer (2019) algoritma Support Vector Machine memiliki kelebihan dalam mengklasifikasikan data pada dataset yang tidak terstruktur, sehingga membuatnya menjadi algoritma machine learning yang sangat cocok untuk penelitian sentimen analisis yang terfokus pada tanggapan pemain pada komunitas. ini Penelitian Analisis Sentimen dengan Support Vector Machine menggunakan penelitian terdahulu sebagai acuan dan referensi dalam pengerjaannya, penelitian terdahulu yang dimaksud adalah penelitian yang dilakukan oleh Panjalu, A. F., Alam, S., & Sulistyo, M. I. (2023) yang melakukan penelitian terhadap ulasan game berjenis MOBA pada Google Play Store, penelitian ini menjelaskan bahwa uji analisis sentimen menggunakan algoritma Support Vector Machine dapat memberikan hasil 1
akhir yang memuaskan, penelitian ini hanya menggunakan 2 kelas sentimen yaitu positif dan negatif dengan total data digunakan sebanyak 19.579. Dari penelitian ini didapat hasil akhir berupa nilai akurasi sebesar 82,64%, precision sebesar 81,24%, recall sebesar 84,30%. Ini menunjukkan bahwa metode SVM sudah cukup efektif dalam mengklasifikasikan sentimen pada ulasan game di Google Play Store. Adapula penelitian lain yang menggunakan metode ini dilakukan oleh Utami, M. A. A. T., Silvianti, P., & Masjkur, M. (2023), penelitian ini dilakukan dengan tujuan untuk mengetahui sentimen pemain pada game mobile legends bang-bang berdasarkan 4 aspek yaitu gameplay, performa, visualisasi dan pemain, metode klasifikasi yang digunakan pun adalah Support Vector Machine dengan kelas sentimen hanya positif dan negatif. Hasil penelitian ini menunjukkan bahwa sentimen cenderung negatif pada aspek gameplay, performa dan pemain tapi dari aspek visualisasi memberikan sentimen yang cenderung positif, hasil akhir yang didapat pada aspek gameplay dan visualisasi memberikan akurasi sekitar 80% sedangkan pada aspek performa dan pemain memberikan akurasi diatas 90%. Lalu penelitian lain oleh Lasamahu, P. F., (2021) dengan judul "Analisis Sentimen Pengguna Game Online Mobile Legends dengan NAÏVE Bayes" penelitian ini mencapai 70% pada akurasinya. Selanjutnya penelitian oleh Kusnadi, R., Yusuf, Y., Andriantony, A., Ardian Yaputra, R., & Caintan, M. (2021) dengan judul "Analisis Sentimen Terhadap Game Genshin Impact Menggunakan BERT" dalam penelitian ini didapat presisi sebesar 86% dan akurasi 74%, terakhir penelitian oleh Farras M., Viny Christanty M., Sutrisno Tri. (2023), dengan judul "Aplikasi Analisis Sentimen Komentar Pengguna Genshin Impact di Play Store" menggunakan metode Naïve Bayes yang mendapati akurasi rata-rata sebesar 80%. Penelitian sebelumnya tentang analisis sentimen pada game Genshin Impact terbatas pada analisis sentimen ulasan pemain di platform tertentu, seperti Google Play Store atau App Store, sehingga belum ada penelitian yang dilakukan pada komunitas Genshin Impact untuk mengetahui sentimen pemain terhadap aspek-aspek permainan. Oleh karena itu, penelitian ini bertujuan untuk melakukan analisis sentimen pada aspek game, event dan karakter di versi terbaru yaitu versi 3.6 dengan menggunakan Support Vector Machine (SVM). 1.2. Tujuan Tujuan dari penelitian ini adalah untuk melakukan analisis sentimen game Genshin Impact untuk mengetahui reaksi dan harapan pemain menggunakan Support Vector Machine. 1.3. Ruang Lingkup Untuk melakukan penelitian secara maksimal dan spesifik maka ditetapkan ruang lingkup yang terbatas sebagai berikut: 1. Data yang diklasifikasikan akan berdasarkan 3 aspek yaitu pada aspek karakter, event, dan pada game secara keseluruhan. 2. Data diambil dari video yang berbeda-beda berdasarkan aspeknya, dan sumber data merupakan komentar video youtube. 3. Dataset untuk aspek karakter diambil pada 4 video dengan total data mentah yang didapat adalah 7.953 data. 4. Dataset untuk aspek event diambil pada 1 video dengan total data mentah yang didapat adalah 1.273 data. 5. Dataset untuk aspek game diambil pada 1 video dengan total data mentah yang didapat adalah 3.407 data. 6. Video-video yang dijadikan sumber data merupakan video yang diunggah oleh 2
kanal resmi Genshin Impact pada perangkat YouTube, dan merupakan video yang mempromosikan karakter, event, dan game pada versi terbaru yaitu 3.6. 7. Data yang diambil memiliki rentang waktu Maret sampai Juni 2023. 8. Data yang akan diolah adalah data Berbahasa Inggris. 9. Jumlah data latih adalah sebanyak 80% dan data uji sebanyak 20% dari total dataset. 10. Data hanya akan dibagi menjadi 3 kelas, yaitu kelas negatif, netral, dan positif. 11. Algoritma yang digunakan untuk melakukan analisis sentimen ini adalah TF-IDF untuk pembobotan dan Support Vector Machine untuk klasifikasi. 12. Penelitian ini menggunakan Bahasa pemrograman Python, dengan bantuan aplikasi Google Colab untuk menjalankan kode. 13. Menggunakan juga algoritma klasifikasi Naïve Bayes, Decision Tree, Random Forest, Artificial Neural Network, dan Recurrent Neural Network sebagai pembanding. 1.4. Manfaat Penelitian Adapun manfaat dari penelitian ini adalah sebagai berikut: 1. Mengetahui hasil dari analisis sentimen pemain Genshin Impact pada aspek karakter, game dan event, serta apa reaksi dan harapan para pemain terhadap versi baru yang akan dirilis. 2. Memberikan informasi berharga untuk para pengembang game Genshin Impact atau pihak terkait lainnya dalam mengetahui atau menyikapi tanggapan dan sentimen pemain dalam konteks ini adalah reaksi dan harapan pada pembaharuan versi dari game berdasarkan pengumuman event dan update dan aspek yang diuji. 3. Penelitian ini dapat menjadi dasar untuk pengembangan penelitian lebih lanjut dalam bidang yang sama atau terkait, seperti penggunaan metode analisis sentimen yang lebih canggih, eksplorasi lebih lanjut terhadap platform media sosial lainnya, atau penerapan hasil penelitian dalam pengambilan keputusan praktis dalam industri game. 3
BAB II TINJAUAN PUSTAKA 2.1. Landasan Teori 2.1.1. Analisis Sentimen Analisis sentimen adalah sebuah metode untuk mengevaluasi opini atau pandangan yang terungkap dalam bentuk tulisan maupun lisan dengan tujuan untuk menentukan apakah opini tersebut memiliki kecenderungan positif, negatif, atau netral. Analisis sentimen adalah proses mengidentifikasi, mengumpulkan, menganalisis, dan menginterpretasikan pandangan, perasaan, atau emosi yang diekspresikan dalam teks untuk memahami sikap atau opini pengguna terhadap suatu subjek, topik, merek, atau lainnya. Proses analisis sentimen meliputi langkah-langkah seperti pengumpulan data, pra-proses teks, klasifikasi sentimen, analisis sentimen, dan interpretasi hasil. Data teks yang telah didapat akan diproses untuk dibersihkan dan diklasifikasikan ke dalam kategori sentimen, seperti positif, negatif, atau netral. Analisis lebih lanjut dapat informasi dari data yang dianalisis, seperti dilakukan untuk mengekstrak mengidentifikasi tema yang sering disebutkan dalam sentimen positif atau negatif. Menurut Anna Potapenko (2022) analisis sentimen dapat digunakan untuk menganalisis data dari media sosial, ulasan pelanggan, dan data lainnya sehingga dapat digunakan untuk membantu perusahaan dalam memahami pola perilaku dan tren. Dengan demikian, hasil dari analisis sentimen tersebut dapat berguna dalam membantu pengambilan keputusan suatu bisnis dan menciptakan strategi pemasaran yang efektif. Pada Gambar 1 berikut tertera infografis yang dilansir dari website Revuze pada artikelnya yang berjudul "Sentiment Analysis for Brand Building" tentang bagaimana analisis sentimen bekerja. Gambar 1. Bagaimana Cara Kerja Analisis Sentimen Menurut Gambar 1, analisis sentimen ini dimulai dari pengumpulan data dalam 4
contohnya adalah melalui blogs, websites, dan aplikasi atau umpan balik dari rumah sakit, lalu kumpulan data tersebut akan dilakukan preprocessing, setelah dilakukan preprocessing data-data tersebut akan diolah menggunakan algoritma tertentu contohnya Naive Bayes atau Scikit-Learn lalu hasilnya akan menjadi modul yang berupa hasil sentimen positif, netral dan negatif. 2.1.2. Genshin Impact Genshin Impact adalah sebuah permainan yang dikembangkan dan diluncurkan oleh MiHoYo yang sekarang menjadi HoYoverse. Game ini telah dirilis pada tanggal 28 September 2020 untuk perangkat Mobile, Dekstop, dan Console. Game ini mengusung tema aksi petualangan juga bermain peran, dan per Desember 2022 game ini telah diunduh sebanyak 126.4 juta kali secara global pada seluruh perangkat. Semenjak perilisannya pada tahun 2020, game ini telah menjadi sorotan pada seluruh sosial media hingga menjadi game paling banyak dibicarakan di Twitter dan game paling banyak dicari di Google pada tahun 2021, lalu Genshin Impact menjadi salah satu game yang paling banyak diunduh di berbagai platform dan memenangkan penghargaan "Game of the Year" pada ajang Game Awards 2021. Pada Gambar 2 ditunjukkan pendapatan game Genshin Impact sejauh ini yang sumbernya diambil pada rangkuman yang dibuat oleh website mobilemarketingreads pada salah satu artikelnya yang berjudul "Genshin Impact Revenue & Usage Statistics (2023)". Gambar 2. Pendapatan Game Genshin Impact Per September 2022 Pada Gambar 2 ditunjukkan game ini per bulan September 2022 telah meraup keuntungan sebesar $3.7 miliar dari hasil penjualan yang ada pada sistem game tersebut, menjadikannya mobile game peringkat ke-3 dengan pendapatan kotor tertinggi di seluruh dunia. 2.1.2 Algoritma Term Frequency-Inverse Document Frequency Menurut Sierra, Delta (2019) algoritma Term Frequency - Inverse Document Frequency (TF-IDF), merupakan metode algoritma yang digunakan untuk perhitungan bobot dari setiap kata yang umum digunakan. Metode TF-IDF digunakan dengan tujuan untuk mengetahui seberapa sering suatu kata muncul pada suatu dokumen. Ada beberapa tahapan beserta persamaan matematis yang diperlukan dalam algoritma TF-IDF, yaitu: 1. Terms Frequency, adalah proses untuk menentukan seberapa sering suatu kata muncul pada satu dokumen, semakin sering kata tersebut muncul semakin besar 5
nilainya. 2. Inverse Document Frequency, tahap ini akan mengukur sebarapa jauh kata tersebut digunakan pada seluruh dokumen dalam koleksi atau dataset. Adapula persamaan untuk menghitung hasil dari IDF, yang akan ditunjukan pada persamaan 1 berikut. 𝑇𝐷 𝐼𝐷𝐹 = log ( ) (1) 𝐷𝐹 Penjelasan: : Total Dokumen : Document Frequency (Banyaknya dokumen yang memiliki kata serupa) 3. Term Frequency-Inverse Document Frequency (TF-IDF), lalu hasil daripada TF dan IDF perlu dikalikan untuk mendapatkan nilai TF-IDF. Persamaan matematis ditunjukkan pada persamaan 2 berikut. TD DF 𝑇𝐹. 𝐼𝐷𝐹 = 𝑇𝐹𝑛𝑜𝑟𝑚𝑎𝑙𝑖𝑧𝑒 ∗ 𝐼𝐷𝐹 (2) 2.1.3 Algoritma Klasifikasi 2.1.3.1. Algoritma Support Vector Machine Menurut Samsudiney (2019) metode Support Vector Machine (SVM) adalah salah satu algoritma supervised learning dalam machine learning yang sering digunakan pada data mining. Kemampuan yang paling menonjol pada algoritma SVM adalah kemampuan untuk mempelajari pola klasifikasi data dengan akurasi dan reproduktifitas yang seimbang, namun banyak juga ditemukan penggunaannya dalam studi kasus regresi dan deteksi nilai outliers, SVM juga dapata digunakan untuk studi kasus klasifikasi dan regresi dengan cara linear maupun non-linear. Dalam pandangan Manish Kumar (2021), SVM adalah suatu algoritma yang digunakan untuk mengklasifikasikan data dengan cara mencari hyperplane terbaik dengan memaksimalkan jarak antar kelas yang dapat memisahkan berbagai data ke dalam kelas-kelas yang berbeda. SVM dapat juga digunakan dalam memecahkan masalah klasifikasi biner dan multi kelas, serta dapat digunakan pada data yang sangat kompleks dan mempunyai banyak fitur. Manish Kumar juga menuturkan bahwa metode SVM ini memiliki keunggulan dalam memilah data yang tidak linear dan memiliki toleransi terhadap data yang berlebihan. Ada beberapa persamaan matematis yang umum digunakan pada metode SVM untuk keperluan analisis sentimen, berikut adalah beberapa formula yang umum digunakan. a. Persamaan Fungsi Tujuan (Objective Function), persamaan ini digunakan untuk mencari hyperplane yang dapat memisahkan data secara optimal. Diasumsikan kedua kelas -1 dan +1 dapat terpisah secara sempurna oleh hyperplane yang memiliki dimensi d, maka formula dapat didefinisikan pada persamaan 3 berikut: 𝑥𝑖. 𝑤 + 𝑏 ≥ +1 𝑓𝑜𝑟 𝑦𝑖 = +1 𝑥𝑖. 𝑤 + 𝑏 ≥ +1 𝑓𝑜𝑟 𝑦𝑖 = −1 (3) Penjalasan: Xi w b yi = Data input = Weight / bobot = bias / intercept = target output (label kelas) b. Persamaan Fungsi Keputusan (Decision Function), digunakan untuk mengklasifikasikan data ke dalam dua kelas berdasarkan posisi hyperplane. Persamaan ini akan menentukan keputusan SVM dalam melabeli nilai positif atau negatif pada setiap data. Formulanya ditunjukan pada persamaan 4 berikut. 6
𝑓(𝑥) = 𝑠𝑖𝑔𝑛(𝑤𝑡𝑥 + 𝑏) (4) Penjelasan: W b Sign x = bobot vektor = bias atau intercept = Signum yang hasilnya sesuai dengan input +1 atau -1 = input data 2.1.3.2. Algoritma Naïve Bayes Classifier Menurut Patel, Kartik (2021) Naïve Bayes adalah sebuah algoritma klasifikasi untuk text mining yang sesuai untuk masalah klasifikasi biner atau multi kelas. Algoritma ini menggunakan teknik supervised untuk melakukan klasifikasi pada objek yang yang diteliti dengan cara menetapkan label kelas ke setiap data. Menurut Haldi. M. W. (2019) kelebihan algoritma Naïve Bayes ini adalah dapat digunakan untuk data berjenis kuantitatif ataupun kualitatif, tidak memerlukan data yang banyak, berkecepatan tinggi dan efisien. Persamaan 5 berikut adalah rumus yang umum digunakan untuk klasifikasi algoritma Naïve Bayes. 𝑃(𝑌|𝑋) = 𝑃(𝑋|𝑌)𝑃(𝑌) 𝑃(𝑋) (5) Penjelasan: X Y P(Y|X) P(Y) P(X|Y) P(X) = data dengan kelas tidak dikenal = kelas spesifik = probabilitas hipotesis Y berdasarkan kondisi X = probabilitas hipotesis Y = probabilitas hipotesis X berdasarkan kondisi Y = probabilitas X 2.1.3.3. Algoritma Decision Tree Classifier Menurut Trivusi (2022) Decision Tree merupakan suatu metode supervised learning yang biasa digunakan pada kasus klasifikasi ataupun regresi, namun paling umum digunakan untuk menyelesaikan kasus klasifikasi. Sesuai dengan namanya, struktur algoritma ini mirip seperti sebuah pohon yang memiliki ranting, daun, juga akar. Simpul akar (internal node) akan mewakili suatu fitur pada dataset, simpul ranting (branch node) akan mewakili aturan untuk mengambil keputusan (decision rule), dan setiap simpul daun (leaf node) akan mewakili hasil output. Dengan alasan tersebut algoritma ini dinamakan pohon keputusan (Decision Tree). Persamaan 6 berikut adalah rumus yang umum digunakan untuk klasifikasi algoritma Decision Tree. 𝑛 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) = ∑ − 𝑝𝑖 . log2 𝑝𝑖 𝑖=1 (6) Penjelasan: S = himpunan kasus n = jumlah partisi S pi = proporsi Si terhadap S 2.1.3.4. Algoritma Random Forest Classifier Menurut Mbaabu, Onesmus (2020) Random Forest adalah sebuah algoritma machine learning dengan metode supervised learning, yang dibuat berdasarkan algoritma Decision Tree. Algoritma ini dapat digunakan untuk menyelesaikan masalah regresi dan klasifikasi. Algoritma ini memanfaatkan ensemble learning, yaitu teknik yang mengkombinasikan berbagai macam metode klasifikasi untuk memberikan solusi untuk masalah yang kompleks. Disebut sebagai Random Forest karena algoritma ini terdiri dari banyak decision tree sekaligus, sehingga dapat 7
dibilang sebagai 'Hutan'. Random Forest menggunakan rumus persamaan decision tree yang dieksekusi dalam jumlah tertentu lalu selanjutnya dilakukan metode voting untuk menentukan hasil akhir. 2.1.3.5. Algoritma Artificial Neural Network Menurut Fajri, Rahmat (2023) Artifical Neural Network (ANN) merupakan suatu algoritma atau model matematis yang pembuatannya terinspirasi dari bagaimana sistem syaraf pada otak manusia bekerja dalam mengolah informasi. ANN biasanya terdiri dari gabungan artificial neuron (neuron buatan) yang tersebar pada beberapa lapisan atau layer, lapisan yang dimaksud adalah lapisan input, hidden dan output. Algoritma ANN ini telah digunakan pada banyak bidang, seperti keuangan, industri, kesehatan, dll. Algoritma ini dapat diterapkan pada kasus klasifikasi gambar, deteksi penyakit, pemantauan kesehatan, Natural Language Processing (NLP), dan prediksi berdasar timeseries. Persamaan yang umum digunakan untuk klasifikasi algoritma Artificial Neural Network adalah sebagai berikut 2.1.3.6. Algoritma Recurrent Neural Network Menurut Trivusi(2022) Recurrent Neural Network (RNN) adalah salah satu algoritma deep learning yang bekerja dengan cara pendekatan berurutan atau sequential. Algoritma RNN ini merupakan turunan dari algoritma Artifical Neural Network. RNN digunakan untuk mengembangkan model yang mampu meniru bagaimana neuron pada otak manusia beraktivitas. Algoritma ini didesain untuk mengenali pola-pola yang berada pada data terurut, seperti teks, ucapan kata, dan data numerik berbentuk time series. Oleh karenanya, RNN lebih sering digunakan untuk menyelesaikan masalah yang berkaitan dengan prediksi. Persamaan yang umum digunakan untuk klasifikasi algoritma Recurrent Neural Network adalah sebagai berikut 2.1.4 Synthetic Minority Oversampling Technique (SMOTE) Menurut Nugraha, Victor (2021) SMOTE adalah sebuah teknik dalam machine learning yang digunakan untuk menduplikasi data yang sama juga membuat sampel baru yang menyerupai data asli dengan tujuan untuk menyeimbangkan jumlah data pada data latih agar tidak terjadi overfitting. Teknik ini digunakan untuk menangani masalah ketidakseimbangan data pada tiap kelasnya. Ketidakseimbangan biasa terjadi saat jumlah sampel dari satu kelas jauh lebih sedikit dibanding sampel pada kelas lain dalam data latih, sehingga model akan lebih condong dalam mengenali data pada kelas mayoritas dan kurang mampu mengenali data di kelas minoritas. Dengan membuat sampel baru yang bersifat sintetis ini, SMOTE dapat membantu dalam mengatasi masalah ketidakseimbangan data pada antar kelasnya dan memperbaiki performa model dalam mengenal kelas minoritas. 2.1.5 Metode Confusion Matrix Menurut Anggraeny, M.S. (2020). Confusion Matrix adalah metode untuk mengetahui performa dari suatu model klasifikasi yang keluarannya dapat berupa 2 kelas atau lebih. Merupakan tabel yang terdiri dari 4 kombinasi berbeda antara nilai prediksi dan nilai aktual. Representasi dari hasil klasifikasi yang terjadi di Confusion Matrix yaitu True Positive, True Negative, False Positive, False Negative. Gambar 3 berikut adalah visualiasasi dari representasi Confusion Matrix, yang gambarnya diambil pada website towardsdatascience pada artikel dengan judul "Understanding 8
Confusion Matrix". Gambar 3. Confusion Matrix Hasil dari Confusion Matrix ini pun akan dapat digunakan untuk mengetahui hasil dari akurasi, recall, precision dan F-1 Score, yang persamaannya akan dijelaskan sebagai berikut. a. Akurasi, menggambarkan sebarapa akurat model melakukan klasifikasi terhadap dataset yang diberikan. Persamaannya ditunjukkan pada persamaan 7 berikut. 𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = (𝑇𝑃+𝑇𝑁) (𝑇𝑃+𝐹𝑃+𝐹𝑁+𝑇𝑁) (7) b. Recall atau Sensitivity, merupakan gambaran keberhasilan model dalam menemukan kembali informasi antar data pada dataset. Persamaannya ditunjukkan pada persamaan 8 berikut. 𝑇𝑃 𝑅𝑒𝑐𝑎𝑙𝑙 = (8) (𝑇𝑃+𝐹𝑁) c. Precision, mengukur seberapa baik suatu model dalam mengidentifikasi hasil positif dengan benar dari semua hasil prediksi positif. Persamaannya ditunjukkan pada persamaan 9 berikut. 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃 (𝑇𝑃+𝐹𝑃) (9) d. F-1 Score, adalah nilai rata-rata harmoni dari recall dan precision, yang digunakan untuk mencari keseimbangan antara recall dan precision. Persamaannya ditunjukkan pada persamaan 10 berikut. 𝐹 − 1 𝑆𝑐𝑜𝑟𝑒 = (2 𝑥 𝑅𝑒𝑐𝑎𝑙𝑙 𝑥 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛) (𝑅𝑒𝑐𝑎𝑙𝑙+𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛) (10) 2.1.6 Receiver Operating Characteristic Area Under the Curve Receiver Operating Characteristic (ROC) merupakan sebuah alat ukur berupa kurva untuk mengevaluasi hasil performa dari suatu model klasifikasi, kurva ini memberikan dua parameter yaitu True Positive Rate yang biasa disebut dengan Recall dan False Positive Rate. Kurva ROC ini akan melakukan plot pada setiap hasil TPR dan FPR yang dimiliki oleh model klasifikasi. Menurut Evidently AI Team (2023) Area under the Curve (AUC) adalah sebuah hasil pengukuran kurva ROC secara menyeluruh dengan hasil pengukuran memiliki rentang 0 hingga 1. Berdasarkan rule of thumb, ada beberapa ketentuan untuk menetapkan makna dari skor AUC, ketentuan tersebut sebagai berikut: - Skor AUC < 0.5 : Skor AUC dibawah 0.5 menunjukkan bahwa performa model dalam melakukan klasifikasi sangatlah buruk. 9
Skor AUC 0.5 - 0.7 : Pada rentang ini menunjukkan bahwa model berada pada area buruk dan cukup baik. Model masihlah kesulitan dalam melakukan prediksi tetapi masih dapat memberikan hasil yang berguna. Skor AUC 0.7 - 0.8 : Model sudah dapat dikatakan memberikan hasil yang baik tapi masih memiliki ruang untuk dilakukan peningkatan. Skor AUC 0.8 - 0.9 : Model sudah memiliki kinerja atau performa yang sangat baik dan sudah dapat dikatakan mampu memprediksi dengan baik pula. : Skor yang sangat tinggi dan hampir sempurna, performa model berada di tingkatan terbaiknya. Skor AUC 0.9 - 1 2.2. Penelitian Terdahulu terdahulu seputar analisis sentimen dan menggunakan metode Support Vector Machine yang digunakan sebagai landasan penelitian saat ini, referensi jurnal penelitian tersebut antara lain: 1. Nama : Panjalu, A. F., Alam, S., & Sulistyo, M. I. Adapun beberapa penelitian Judul : MOBA Game Review Sentiment Analysis Using Support Vector Machine Algorithm Tahun : 2023 Isi : Penelitian ini bertujuan untuk mencari tahu sentimen pada ulasan pengguna di google playstore untuk game dengan jenis MOBA ( Multiplayer Online Battle Arena) menggunakan metode Support Vector Machine. Penelitian ini menggunakan perbandingan data 70:30 dan 2 kelas klasifikasi yaitu positif dan negatif. Penelitian ini mendapatkan hasil akurasi sebesar 82.64%, juga hasil analisis sentimen menggunakan total data sebanyak 19.579 data mendapatkan nilai sentimen positif sebesar 10.017 data dan pada nilai negatif sebesar 9.562 data 2. Nama : Lasamahu, P. F., Judul :Analisis Sentimen Pengguna Game Online Mobile Legends dengan NAÏVE Bayes Tahun : 2021 Isi : Penelitian ini bertujuan untuk mencari tahu dan menganalisis opini atau sentimen publik tentang game mobile legends menggunakan metode naïve bayes. Penelitian ini mendapatkan hasil 70% pada tingkat akurasi, juga hasil analisis sentimen terhadap 200 data uji menunjukan bahwa nilai sentimen negatif sangatlah besar yaitu sebesar 54% dan sentimen positif sebesar 29% lalu 17% sisanya adalah sentimen netral. 3. Nama : Farras, M., Viny, Mawardi, C., & Sutrisno, T. Judul : Aplikasi Analisis Sentimen Komentar Pengguna Genshin Impact Di Play Store Tahun 2023 Isi : Penelitian ini bertujuan untuk mencari tahu sentimen pada ulasan pengguna di google playstore untuk game Genshin Impact menggunakan metode naïve bayes. Penelitian ini menggunakan perbandingan data 80:20 dan 2 kelas klasifikasi yaitu positif dan 10
negatif. Penelitian ini mendapatkan hasil akurasi rata-rata diatas 80% untuk 3 kali percobaan, juga hasil analisis sentimen terhadap data uji mendapatkan nilai sentimen positif sebesar 82.9% dan pada nilai negatif sebesar 17.1%. 4. Nama : Utami, M. A. A. T., Silvianti, P., & Masjkur, M. Judul : Algoritme Support Vector Machine untuk Analisis Sentimen Berbasis Aspek Ulasan Game Online Mobile Legends: Bang-Bang Tahun 2023 Isi : Penelitian ini dilatar belakangi oleh meningkatnya popularitas permainan Mobile Legends: Bang-Bang dan peneliti ingin mengetahui bagaimana sentimen pemain terhadap aspek-aspek yang ada dalam game ini seperti gameplay, player, performa, dan visualisasi. Penelitian ini menghasilkan akurasi pada aspek gameplay sebesar 84%, pada aspek performa sebesar 92%, pada aspek visualisasi sebesar 87% dan pada aspek player sebesar 96%. 5. Nama : Kusnadi, R., Yusuf, Y., dkk. Judul : Analisis Sentimen Terhadap Game Genshin Impact Menggunakan BERT Tahun 2021 Isi : Penelitian ini dilatar belakangi oleh keadaan dunia yang sedang dalam pandemi Covid-19, dan oleh karena itu banyak orang yang mencari pelarian pada internet salah satunya bermain online game Genshin Impact. Game ini sangat popular ketika rilis dan memiliki banyak pemain aktif. Penelitian ini bertujuan untuk mencari tahu sentimen yang terjadi pada ulasan di platform google play store. Penelitian ini menggunakan 12000 data dan menghasilkan nilai presisi sebesar 0.79 untuk negatif, positif 0.77 dan 0.70 untuk netral dan akurasi sebesar 74.5%. 2.3. Tabel Perbandingan Penelitian Pada Tabel 1 berikut disajikan perbedaan antar penelitian yang dijadikan referensi untuk penelitian ini. 11
Tabel 1. Tabel Perbandingan Penelitian No Nama Peneliti, Tahun Judul 1 Panjalu, A. F., Alam, S., & Sulistyo, M. I. 2023 MOBA Game Review Sentiment Analysis Using Support Vector Machine Algorithm 2 Lasamahu, P. F. 2021 Analisis Sentimen Pengguna Game Online Mobile Legends dengan NAÏVE Bayes 3 Farras, M., Viny, Mawardi, C., & Sutrisno, T. 2023 Aplikasi Analisis Sentimen Komentar Pengguna Genshin Impact Di Play Store Sumber Data l a i s o S a i d e M e r o t S y a l P e l g o o G
✓ 12 r o t c e V e n i t r o p p u S h c a M ✓
Jenis Perbandingan Metode Komposisi Data s e y a B e v ï a N T R E B a t a D l a t o T n a k a n u g i D n a g n i d n a b r e P i j U & h i t a L a t a D s a l e K h a l m u J i s a k i f i s a l K
19579 70:30 2 Kelas
200 80:20 3 Kelas
903 80:20 2 Kelas i j U k e p s A
Hasil a d a p i s a r u k A k e p s a 82% 70% 80%
4 5 6 Utami, M. A. A. T., Silvianti, P., & Masjkur, M. 2023 Kusnadi, R., Yusuf, Y., dkk. 2021 M. Sugianto, Refansyach, 2023 Algoritme Support Vector Machine untuk Analisis Sentimen Berbasis Aspek Ulasan Game Online Mobile Legends: Bang-Bang Analisis Sentimen Terhadap Game Genshin Impact Menggunakan BERT Analisis Sentimen Game Genshin Impact untuk Mengetahui Keinginan dan Harapan Pemain Menggunakan Metode Support Vector Machine
2295 80:20 2 Kelas 4 12000 80:20 3 Kelas 12128 80:20 3 Kelas 3
84%, 92%, 87%, 96%
74%
83%, 83%, 69%
BAB III METODE PENELITIAN 3.1. Metodologi Penelitian Penelitian dengan topik analisis sentimen ini dibuat dengan perencanaan yang menggunakan metode Cross-Industry Standard Process for Data Mining (CRISP- DM) yang terdiri dari serangkaian kegiatan yang perlu didalami lebih lanjut, yang ditunjukan pada Gambar 4 berikut yang dilansir dari website datascience-pm pada salah satu artikelnya yang berjudul "What is CRISP-DM?". Gambar 4. Tahapan Metode CRISP-DM Metode CRISP-DM ini adalah sebuah metode atau kerangka kerja yang populer digunakan untuk keperluan data mining atau analitik. Pada Gambar 4 diatas ditunjukkan metode ini terdapat 6 buah proses atau tahapan pada metode ini yaitu: Business Understanding, Data Understanding, Data Preparation, Modeling, Evaluation, dan Deployment. 3.1.1. Tahap Pemahaman Tentang Bisnis / Tujuan Pada tahap ini dilakukan pemahaman tentang apa yang menjadi tujuan akhir daripada penelitian, apa yang ingin dicari dan apa yang ingin dicapai. Tahapan ini terdiri dari melakukan studi literatur, pemahaman secara umum tentang data yang akan didapat dan bagaimana data-data tersebut akan berguna bagi penelitian. 3.1.2. Tahap Pemahaman Data Pada tahap ini dilakukan pengumpulan data yang diperlukan seperti data ulasan, komentar dan sentimen dari pemain game Genshin Impact, lalu dilakukan pemahaman terhadap data tersebut yang akan membantu dalam mengevaluasi kualitas data yang sudah dikumpulkan. Data yang dikumpulkan adalah data komentar para pengguna media sosial Youtube, yang berada pada konten video yang diunggah oleh kanal resmi Genshin Impact. Video youtube yang dimaksud adalah video promosi untuk versi game 3.6 saja. Data yang diambil akan dipisah menjadi 3 aspek yaitu aspek karakter, event, dan game secara keseluruhan. Data yang telah didapat ini akan digunakan sebagai dataset untuk bahan penelitian, yang kemudian akan dibagi menjadi data latih dan data uji. Dataset ini akan disimpan kedalam file berekstensi CSV (Comma Separated Value) agar memudahkan dalam pengolahan data dan proses lainnya. Kemudian dataset 14
tersebut akan diberikan label pada setiap sentimennya untuk mengetahui seberapa banyak polarisasi yang terdapat pada dataset. 3.1.3. Tahap Persiapan Data Pada tahap ini dataset akan dibersihkan dan dipersiapkan untuk analisis lebih lanjut. Data akan diproses menggunakan teknik preprocessing seperti case folding, filtering, tokenization, stopwords removal dan lemmatization untuk membersihkan data, yang alurnya akan ditunjukan pada Gambar 5 berikut. Gambar 5. Alur Preprocessing Penjelasan untuk alur preprocessing pada Gambar 5 adalah sebagai berikut: 1. Tahap cleaning, data mentah yang telah berada di dataset akan dilakukan cleaning yaitu pembersihan dari data-data yang tidak relevan dengan konten, data duplikat atau redundan, juga menghapus simbol, emoji atau angka seperti !@#$%^: atau 1234. 2. Tahap Case Folding, dataset yang telah dibersihkan kemudian akan dilakukan transformasi menjadi huruf kecil pada seluruh data, dengan maksud agar setiap data teks menjadi seragam. 3. Tahap Tokenization, setiap data teks akan dipecah tiap katanya berdasarkan spasi. 4. Tahap filtering, dilakukan pemilihan kata yang paling penting dan relevan lalu membuang kata yang tidak memiliki bobot seperti stopwords. 5. Tahap Lemmatization, mengubah setiap kata yang telah dilakuan tokenisasi menjadi bentuk dasarnya. 3.1.4. Tahap Pemodelan Pada tahap ini dataset yang telah dibersihkan sebelumnya akan dilakukan pembobotan menggunakan proses TF-IDF (Term Frequency-Inverse Document Frequency). Kemudian dataset tersebut akan dibagi menjadi 2 jenis data yaitu data latih dan data uji, dengan perbandingan 80:20 dan dilakukan pula oversampling menggunakan metode SMOTE. Kedua jenis data tersebut akan digunakan untuk eksekusi model klasifikasi, dalam penlitian ini akan digunakan algoritma Support Vector Machine sebagai model klasifikasi. Data latih akan digunakan untuk melatih model SVM agar terbiasa dengan topik yang teliti, sedangkan data uji akan digunakan untuk menguji kemampuan model dalam melakukan klasifikasi sentimen sesuai topik yang diteliti. 3.1.5. Tahap Evaluasi Pada tahap ini akan dilakukan evaluasi pada hasil yang telah didapat dengan tujuan untuk mencari tahu performa model yang telah dibuat seperti akurasi, presisi, dan recall. Pada tahap ini juga akan diketahui apakah hasil evaluasi sesuai dengan tujuan akhir daripada penelitian ini. Algoritma Confusion Matrix akan digunakan untuk melakukan evaluasi model dan menilai seberapa akurat model yang telah dibuat. Algoritma ini akan memberikan hasil eksekusi model yang berupa seberapa banyak data yang telah diprediksi positif yang tepat, dan positif yang salah, juga seberapa banyak data yang telah diprediksi negatif yang tepat, dan negatif yang salah, begitu pula untuk kasus netral untuk mencari tau seberapa banyak netral yang benar dan yang salah. Dari 15
hasil tersebut kemudian dapat diketahui seberapa besar nilai akurasi, presisi, recall, dan F-1 Score yang diperoleh oleh model. Lalu akan dilakukan juga evaluasi menggunakan metode grafik ROC AUC untuk mengetahui seberapa tepat model dapat memprediksi kelas pada data uji. 3.1.6. Tahap Deployment Pada tahapan terakhir ini akan dilakukan pembuatan laporan atau visualisasi untuk memudahkan pemahaman hasil analisis dan dibuat kesimpulan dari penelitian yang telah dilakukan. 3.2. Waktu dan Tempat Penelitian Waktu Penelitian Tempat Penelitian Alamat : 1 Juli 2023 - 30 Agustus 2023 : Laboratorium Ilmu Komputer, Gedung FMIPA 2 Lantai 2, Universitas Pakuan : Jl. Pakuan, RT.02/06, Tegallega, Kec. Bogor Tengah Jawa Barat, 16129. 3.3. Alat dan Bahan 3.3.1. Alat Alat yang dibutuhkan pada penelitian ini berupa perangkat lunak (software) dan perangkat keras (hardware) yaitu : a. Perangkat Lunak (Software) Perangkat lunak yang digunakan adalah : 1. Sistem Operasi Windows 11 64bit 2. Google Chrome 3. Google Colaboratory Notebooks 4. Microsoft Office 2021 b. Perangkat Keras (Hardware) Perangkat keras yang digunakan adalah: 1. Laptop 2. Processor Intel i5-12500H with Intel UHD Graphics 3. RAM 8.00 GB 3.3.2. Bahan Bahan yang diperlukan pada penilitan ini adalah: 1. Jurnal, media cetak, dan internet sebagai penunjang referensi 2. Data pada platform youtube, berupa komentar video youtube yang diunggah oleh kanal resmi Genshin Impact, dengan video yang dimaksud adalah dengan judul sebagai berikut: - - "Aneka Koleksi Genshin Impact - 'Kaveh: Ambisi Seorang Idealis'", "Aneka Koleksi Genshin Impact - 'Baizhu: Pengobatan di Waktu yang Tepat'", "Demo Karakter - "Baizhu: Menyembuhkan Akar Penyakit" | Genshin Impact", "Demo Karakter - "Kaveh: Fondasi Penuh Ketulusan" | Genshin Impact", "Adegan Animasi Event Gebyar Hikmat dan Kebijaksanaan: "Mahkota Kemuliaan" | Genshin Impact", dan "Acara Khusus Versi 3.6 | Genshin Impact"
BAB IV 16
RANCANGAN DAN IMPLEMENTASI 4.1. Tahap Pemahaman Data Tahapan pemahaman data ini dimulai setelah melakukan studi literatur pada materi terkait dan relevan, lalu akan dilakukan pengambilan data melalui teknik scrapping di kolom komentar video youtube untuk mendapatkan data sentimen yang dibutuhkan. Salah satu dari video youtube yang digunakan adalah video pada channel youtube resmi Genshin Impact, yang berjudul "Acara Khusus Versi 3.6 | Genshin Impact", komentar pada video tersebut akan digunakan untuk analisis pada aspek game, hal yang sama akan dilakukan pada video youtube lainnya untuk mendapatkan data pada aspek karakter dan event. 4.1.1. Proses Pengumpulan Data library bernama apigoogleclient yang nantinya library tersebut akan dieksekusi menggunakan Jupyter Notebook, mengambil data yang berupa komentar pada konten video di youtube, dengan bantuan Application Programming Interfaces (API) resmi dari google, dan library googleapiclient akan membantu untuk menghubungkan antara kode dengan video youtube yang menjadi sumber data. Pengumpulan data dilakukan dengan bantuan 4.1.2. Proses Pelabelan Pelabelan dilakukan secara otomatis dengan menggunakan bantuan library bernama "VaderSentiment", yang merupakan sebuah proyek sumber terbuka di Github. library ini akan membaca setiap kata pada data dan menentukan apakah kata tersebut memiliki nada positif, netral, atau negatif. Setiap kata yang berada pada satu data tersebut kemudian akan dikalkulasikan untuk menentukan apakah data sentimen tersebut secara keseluruhan termasuk kelas positif, netral atau negatif berdasarkan skor yang telah ditetapkan. Library VaderSentiment ini akan menghitung nilai positif, netral, dan negatif dari setiap kata pada satu data lalu akan dikalkulasikan untuk dihitung nilai compound nya. Pada Gambar 6 berikut ditunjukkan hasil dari eksekusi kode VaderSentiment pada 10 data sampel yang diambil secara acak dari dataset. Gambar 6. Hasil Kalkulasi VaderSentiment Nilai compound tersebut akan memilah setiap data dan mengelompokannya ke dalam kelas tertentu berdasarkan ketentuan yang telah ditetapkan oleh metode VaderSentiment, dengan ketentuan sebagai berikut: - Sentimen Positif: compound score >= 0.05 - Sentimen Netral: (compound score > -0.05) dan (compound score < 0.05) - Sentimen Negatif: compound score <= -0.05 Dengan ketentuan tersebut maka dapat diketahui bahwa sentimen dari setiap data sampel adalah sebagaimana yang ditunjukkan pada Tabel 2 berikut 17
Tabel 2. Pelabelan pada Dataset Sampel Teks i am joining this community too late, CAUSE LOOK AT THOSE DARSHA EVENT that's so fun.. NO 1 Sentimen Positif 2 Worst version i have seen ... ........ Negatif ..... 9 10 I hope Baizhu is gonna be a really good shield support my Zhongli needs to get retired. Hes old now I WAIT SO SOOOO MUCH FOR BAIZHU AND HIM SKILL IS THIS?! Gosh. Better cancel that! This is so sad Positif Negatif 4.2. Tahap Persiapan Data Dataset yang telah didapat akan dilakukan preprocessing untuk membersihkan data agar model dapat dengan mudah melakukan klasifikasi, hal ini dikarenakan dataset telah terbebas dari simbol, angka dan kata yang tidak diperlukan juga tahap preprocessing akan membuat dataset menjadi terstruktur. Sesuai dengan alur preprocessing yang ditunjukkan pada Gambar 5, terdapat beberapa tahapan pada proses preprocessing seperti cleaning, case folding, tokenization, filtering, dan lemmatization. Tahapan-tahapan tersebut diperlukan agar dataset menjadi lebih rapi, terstruktur dan bersih sehingga model klasifikasi dapat melakukan pembobotan dan perhitungan dengan lebih akurat. Tahapan-tahapan preprocessing tersebut akan dijelaskan sebagai berikut. Tahap preprocessing ini akan menggunakan 10 data sampel yang dipilih dari dataset, untuk menunjukkan bagaimana proses pembersihan dataset berlangsung. 4.2.1. Cleaning Langkah pertama dari preprocessing adalah melakukan cleaning, yaitu proses untuk membersihkan data dari elemen yang tidak diinginkan seperti angka '12345' dan simbol '!@#$%^&', juga dari hal lain seperti link url, tag html, dan lain-lain. Pada Tabel 3 berikut ditunjukkan hasil dari proses cleaning pada sampel data yang telah dilakukan pelabelan sebelumnya. Tabel 3. Proses Cleaning NO Teks Sebelum Cleaning i am joining this community too late, CAUSE LOOK AT THOSE DARSHA EVENT that's so fun.. 2 Worst version i have seen ... 1 ........ I hope Baizhu is gonna be a really good shield support my Zhongli needs to get retired. Hes old now I WAIT SO SOOOO MUCH FOR BAIZHU AND HIM SKILL IS THIS?! Gosh. Better cancel that! This is so sad 9 10 Teks Setelah Cleaning i am joining this community too late CAUSE LOOK AT THOSE DARSHA EVENT thats so fun Worst version i have seen ........ I hope Baizhu is gonna be a really good shield support my Zhongli needs to get retired Hes old now I WAIT SO SOOOO MUCH FOR BAIZHU AND HIM SKILL IS THIS Gosh Better cancel that This is so sad 4.2.2. Case Folding Tahap Case Folding akan mengubah setiap huruf pada seluruh data menjadi 18
huruf kecil dengan maksud agar setiap data menjadi setara dan mengatasi inkonsistensi pada data. Pada Tabel 4 berikut ditunjukkan hasil dari proses case folding pada sampel data yang telah dilakukan cleaning sebelumnya. Tabel 4. Proses Case Folding NO Teks Sebelum Case Folding i am joining this community too late CAUSE LOOK AT THOSE DARSHA EVENT thats so fun 2 Worst version i have seen ... 1 ........ I hope Baizhu is gonna be a really good shield support my Zhongli needs to get retired Hes old now I WAIT SO SOOOO MUCH FOR BAIZHU AND HIM SKILL IS THIS Gosh Better cancel that This is so sad 9 10 Teks Setelah Case Folding i am joining this community too late cause look at those darsha event thats so fun worst version i have seen ........ i hope baizhu is gonna be a really good shield support my zhongli needs to get retired hes old now i wait so soooo much for baizhu and him skill is this gosh better cancel that this is so sad 4.2.3. Tokenization Proses Tokenization akan memecah isi data yang berbentuk kalimat menjadi perkata agar dapat dijadikan sebuah array. Pada Tabel 5 berikut ditunjukkan hasil dari proses Tokenization pada sampel data yang telah dilakukan case folding sebelumnya. Tabel 5. Proses Tokenization NO 1 2 ... 9 10 Teks Sebelum Tokenization i am joining this community too late cause look at those darsha event thats so fun worst version i have seen ........ i hope baizhu is gonna be a really good shield support my zhongli needs to get retired hes old now i wait so soooo much for baizhu and him skill is this gosh better cancel that this is so sad Teks Setelah Tokenization ats,so,fun worst,version,i,have,seen ........ i,hope, et,retired,hes,old,now ,that,this,is,so,sad 4.2.4. Filtering Tahap filtering ini akan menghapus kata-kata yang tidak penting atau kurang berguna tapi sering sekali muncul pada dataset. Tahap ini dikenal juga sebagai stopwords removal. Kata yang kurang berguna ini berdasar pada kamus Bahasa Inggris yang dimiliki oleh library NLTK. Pada Tabel 6 berikut ditunjukkan hasil dari proses Filtering pada sampel data yang telah dilakukan Tokenization sebelumnya. Tabel 6. Proses Filtering NO 1 Teks Sebelum Filtering Teks Setelah Filtering darsha,event,thats,fun 19
2 ... 9 10 ats,so,fun worst,version,i,have,seen ........ i,hope, et,retired,hes,old,now ,that,this,is,so,sad worst,version,seen ........ hope, old better,cancel,sad 4.2.5. Lemmatization Lemmatization adalah proses terakhir pada preprocessing, proses ini akan mengembalikan kata yang memiliki imbuhan menjadi kata dasarnya. Pada Tabel 7 berikut ditunjukkan hasil dari proses Lemmatization pada sampel data yang telah dilakukan Filtering sebelumnya. Tabel 7. Proses Lemmatization NO Teks Sebelum Lemmatization late, cause, joining, community, look, darsha, event, thats, fun worst, version, seen 1 2 ... ........ 9 10 hope, baizhu, gon, na, really, good, shield, support, zhongli, needs, get, retired, hes, old wait, soooo, much, baizhu, skill, gosh, better, cancel, sad Teks Setelah Lemmatization 'join', 'community', 'late', 'cause', 'look', 'darsha', 'event', 'that', 'fun' 'worst', 'version', 'seen' ....... 'hope', 'baizhu', 'gon','na', 'good', 'shield', 'support', 'zhongli', 'need', 'get', 'retire', 'he', 'old' 'wait', 'so', 'baizhu', 'skill', 'gosh', 'better', 'cancel', 'sad' 4.3. Tahap Pemodelan 4.3.1. Pembobotan Term Frequency - Inverse Document Frequency (TF-IDF) Data yang sudah dilakukan preprocessing akan dilakukan pembobotan pada tiap kata menggunakan metode TF-IDF agar data pada dokumen tersebut dapat dianalisis menggunakan algoritma SVM. Selanjutnya perhitungan pembobotan secara manual akan dilakukan kepada seluruh dokumen sampel yang akan digunakan yaitu 10 dokumen. Untuk mencari nilai numerik pada setiap kata(terms) pada setiap dokumen melalui beberapa tahapan yaitu, menghitung seberapa banyak kata tersebut muncul di setiap dokumen, lalu dilanjut dengan menghitung kemunculan kata(terms) tersebut pada seluruh dokumen. 4.3.2. Ekstraksi Fitur Pembobotan yang telah dilakukan dengan TF-IDF kemudian akan diekstrak fiturnya dengan cara mengambil nilai-nilai TF-IDF dari setiap dokumen untuk dilakukan perhitungan lebih lanjut. Data nilai TF-IDF yang diambil akan ditunjukan pada Tabel 8 berikut. Tabel 8. Ekstraksi Fitur D1 0,125 TF-IDF D5 D2 0,333 0,175 0,143 0,064 0,075 0,048 0,044 0,033 D3 D4 D6 D7 D8 D9 D10 0,1 20
0,125 0,125 0,333 0,333 0,25 0,143 0,064 0,1 0,048 0,078 0,058 0,057 0,25 0,143 0,091 0,143 0,048 0,078 0,058 0,143 4.3.3. Mencari Hyperplane Pada tahap ini, pencarian hyperplane terbaik bagi dataset akan dilakukan sesuai metode SVM. Karena fitur yang digunakan hanya 3 saja, maka persamaan matematis untuk pencarian hyperplane pun akan disesuaikan, yang akan ditunjukkan pada persamaan 11 berikut. 𝐹(𝑥) = 𝑆𝑖𝑔𝑛(w1 ∗ x1 + w2 ∗ x2 + w3 ∗ x3 + b) = 0 (11) Penjelasan: : nilai dari fitur yang telah ditentukan sebelumnya X1, X2, X3 : nilai bobot yang akan dicari setelahnya W1, W2, W3 : nilai bias b : nilai signum terdiri dari -1 atau +1, sesuai kelas sentimen sign Dari persamaan 11 diatas, karena persamaan merupakan signum maka dapat dipecah menjadi 2 persamaan baru sesuai dengan kelasnya(sentimen positif dan negatif), yang akan ditunjukan pada persamaan 12 dan 13. 𝐹(𝑥) = w1 ∗ x1 + w2 ∗ x2 + w3 ∗ x3 + b ≥ 1 (12) 𝐹(𝑥) = w1 ∗ x1 + w2 ∗ x2 + w3 ∗ x3 + b ≤ −1 (13) Dengan persamaan tersebut maka didapatkan persamaan linear yang dibutuhkan, yang akan ditunjukan pada Tabel 9 berikut untuk data latih dan Tabel 10 berikut untuk persamaan linear pada data uji. Tabel 9. Persamaan Linear untuk Data Latih Dokumen 1 2 3 4 5 6 7 8 Persamaan Linear 0.125w1 + 0.125w2 + 0.125w3 + b ≥ 1 0.333w1 + 0.333w2 + 0.333w3 + b ≤ -1 0.175w1 + 0.25w2 + 0.25w3 + b ≤ -1 0.143w1 + 0.143w2 + 0.143w3 + b ≥ 1 0.064w1 + 0.064w2 + 0.091w3 + b ≥ 1 0.075w1 + 0.1w2 + 0.143w3 + b ≤ -1 0.048w1 + 0.048w2 + 0.048w3 + b ≤ -1 0.044w1 + 0.078w2 + 0.078w3 + b ≥ 1 Tabel 10. Persamaan Linear untuk Data Uji Dokumen 9 10 Persamaan Linear 0.033w1 + 0.058w2 + 0.058w3 + b ≥ 1 0.1w1 + 0.057w2 + 0.143w3 + b ≤ -1 4.3.4. Perhitungan Matematis pada Persamaan Linear Persamaan linear pada data latih tersebut kemudian dilakukan perhitungan matematis untuk mencari nilai dari setiap w1, w2, w3 juga nilai b (bias). Perhitungan ini dilakukan dengan menggunakan metode eliminasi, sehingga didapatkan nilai parameter sebagai berikut: W3 = -0.255 b = -0.321 W1 W2 = -0.337 = 0.183 Parameter tersebut kemudian digunakan untuk data uji, dan pada Tabel 11 berikut ditunjukkan hasil dari perhitungan menggunakan parameter yang didapat. 21
Tabel 11. Perhitungan Data Uji Dok 9 10 Persamaan Linear (0.033 * -0.255) + (0.058 * -0.321) + (0.058 * -0.337) + 0.183 ≥ 1 Hasil Akhir = 0,136707 (0.1 * -0.255) + (0.057 * -0.321) + (0.143 * -0.337) + 0.183 ≤ -1 Hasil Akhir = 0,091298 4.3.5. Mengklasifikasikan Setiap Sampel Data ke Dalam Kelasnya Nilai prediksi sentimen dicari dan diklasifikasikan pada setiap data dan sesuai dengan label positif atau negatif. Jika nilai prediksi lebih besar dari 0 maka akan diklasifikasikan sebagai sentimen positif dan sebaliknya. Berdasarkan perhitungan pada Tabel 11, maka kedua dokumen pada data uji termasuk kedalam sentimen positif. 4.3.6. Evaluasi Model pada Data Sampel Dengan informasi yang sudah didapat pada data uji yaitu dokumen 9 dan 10 termasuk kedalam sentimen positif, sedangkan pada sentimen aktual yang dilakukan secara manual terlihat jika dokumen 9 memiliki kata-kata positif seperti 'hope' dan 'good', yang mana dengan ini menunjukan bahwa dokumen tersebut memiliki sentimen positif, dan pada dokumen 10 memiliki kata-kata negatif seperti 'cancel' dan 'sad', yang mana dengan ini menunjukan bahwa dokumen tersebut memiliki sentimen negatif. Dengan informasi itu dapat diketahui bahwa sentimen aktual pada dokumen 9 adalah positif sedangkan dokumen 10 adalah negatif. Lalu dapat diketahui pula akurasi pada model ini dengan menggunakan persamaan 7 sebelumnya, dengan 1 begitu maka akurasi dari model yang didapat pada data sampel adalah, akurasi = = 0.5, atau 50%. 22 2
BAB V HASIL DAN PEMBAHASAN 5.1. Hasil Hasil yang diharapkan daripada penelitian ini adalah untuk mengetahui reaksi dan harapan para pemain Genshin Impact tentang versi terbaru yang akan dirilis yaitu versi 3.6 menggunakan metode Support Vector Machine. Penelitian ini akan berfokus untuk mencari tahu hasil prediksi sentimen dengan dataset yang didapat dari 6 video youtube, dan akurasinya untuk setiap aspek yang diujikan yaitu aspek game, karakter, dan event. Untuk membantu mempelajari hasil dari performa model digunakan pula metode Confusion Matrix untuk mengetahui data yang diprediksi secara benar dan benar tapi berada di kelas yang salah juga sebaliknya, dan juga akan ditampilkan grafik ROC AUC untuk memberikan informasi lanjutan dari performa model. ini menggunakan 3 dataset yang masing-masing akan mempresentasikan aspek yang berbeda, setiap dataset sudah dilakukan pelabelan secara otomatis menggunakan library VaderSentiment. Proses preprocessing kemudian akan dilakukan pada setiap dataset tersebut agar data-data di dalamnya menjadi bersih. Kemudian ekstraksi fitur akan dilakukan menggunakan metode TF- IDF. Metode tesebut digunakan untuk mengubah dataset yang berbentuk teks menjadi bentuk vektor sehingga proses kalkulasi komputer dapat dilakukan menggunakan metode Support Vector Machine. Komposisi dari setiap dataset dan polaritasnya akan ditunjukan pada Tabel 12 berikut, dan telah dilakukan juga pengujian terhadap 5 kelas yang ditunjukkan komposisi datanya pada Lampiran 18. Penelitian Tabel 12. Komposisi Dataset Siap Digunakan Polaritas Netral 542 2211 292 Aspek Dataset Total Data Positif 3392 3341 370 Negatif 699 1135 146 Game Karakter Event Setiap dataset tersebut akan dibagi menjadi 2 bagian yaitu data latih dan data uji menggunakan bantuan modul dari sklearn. Dataset akan dibagi dengan rasio 80:20 atau 80% dari keseluruhan data akan menjadi data latih dan 20% sisanya akan menjadi data uji, rasio ini dipilih karena merupakan rasio yang populer digunakan berdasarkan rule of thumb untuk pembagian dataset. Data latih yang telah didapat kemudian akan dilakukan penyeimbangan kelas dengan teknik oversampling yaitu menyeimbangkan setiap kelas ke kelas dengan data paling banyak menggunakan library SMOTE, hal ini dilakukan untuk menangani ketidakseimbangan data pada tiap kelasnya sehingga diharapkan model klasifikasi dapat bekerja dengan lebih baik lagi. Pada Tabel 13 berikut diperlihatkan bagaimana SMOTE mengubah jumlah data latih pada tiap kelasnya. 4633 6687 808 Tabel 13. Polaritas Data Latih dan Data Uji Digunakan Aspek Dataset Game Karakter Event Polaritas Data Latih Data Latih Dengan SMOTE Positif Netral Negatif Positif Netral Negatif 2707 2707 2690 2690 302 302 428 1764 226 571 895 118 2707 2690 302 2707 2690 302 Data Uji 927 1338 243 23
5.2. Pembahasan 5.2.1. Mengetahui Reaksi dan Harapan Pemain Untuk memenuhi tujuan penelitian ini yaitu mengetahui reaksi dan harapan pemain terhadap versi terbaru perlu diketahui polaritas yang terjadi pada setiap aspek, dan dari Tabel 12 tersebut diketahui bahwa sentimen yang terjadi pada setiap aspek dataset cenderung positif. Pada Gambar 7 berikut ditunjukkan persentase sentimen yang terjadi pada setiap aspek. Gambar 7. Grafik Polaritas Sentimen Aspek karakter mendapatkan sentimen positif, netral dan negatif sebesar 50%, 33%, dan 17% secara berurutan. Dan pada aspek game mendapatkan sentimen positif, netral dan negatif sebesar 73%, 12%, 15% secara berurutan, sedangkan pada aspek event mendapatkan sentimen positif, netral dan negatif sebesar 46%, 36%, 18% secara berurutan. Berdasarkan hasil polaritas sentimen ini dapat dikatakan bahwa pemain sudah cukup puas terhadap versi terbaru yang akan datang. Untuk mengetahui harapan pemain, diperlukan pengetahuan tentang kata apa saja yang sering muncul pada setiap aspek. Untuk mengetahui hal tersebut maka metode Word Cloud akan digunakan untuk mengidentifikasi dan menampilkan kata- kata penting atau paling sering muncul dalam bentuk visual. Hasil dari Word cloud ditunjukkan pada Tabel 14 berikut. Tabel 14. Word Cloud pada Setiap Aspek Uji Aspek Uji Positif Isi Sentimen dalam Word Cloud Netral Negatif Karakter 24
Game Event Pada aspek karakter di kelas positif terlihat bahwa kedua karakter baru yaitu Kaveh dan Baizhu yang akan dirilis pada versi terbaru disebut paling banyak, dan pada kelas negatif karakter Baizhu memiliki ukuran font paling besar yang menandakan bahwa ada cukup banyak pemain yang tidak begitu senang dengan karakter ini. Pada Tabel 15 dibawah, ditemukan pada dataset bahwa pemain mengeluhkan karakter ini karena memiliki kemampuan yang kurang begitu berguna bagi tim karena mengharuskan karakter tersebut untuk mendapatkan sebuah barang terlebih dahulu yang mana tidak semua tempat menyediakan hal tersebut, dan pemain sudah menunggu sangat lama untuk rilisnya karakter ini. Sedangkan untuk karakter Kaveh, pemain menyayangkan pilihan pengembang karena membuat karakter tersebut bukan karakter langka. Tabel 15. Keluhan dan Harapan Pemain pada Aspek Karakter No Keluhan dan Harapan Pemain pada Aspek Karakter 1 I WAIT SO SOOOO MUCH FOR BAIZHU... AND HIM SKILL IS THIS?! Gosh.... Better cancel that! This is so sad nah i wanted kaveh to be a 5 star, not a 4 star 2 3 That Baizhus passive is the most useless thing ever. Whats the point of it if you can literally heal your team with his skill 4 The fact that Baizhu doesnt utilize Changsheng at all is extremely disappointing. Why no snake skills? After 2 and a half years in development, he better be amazing. Pada aspek game terutama pada kelas negatif terlihat bahwa kata character dan game adalah kata dengan kemunculan paling banyak, terlihat juga pada kelas negatif terdapat kata "good", hal itu dikarenakan pemain menyebut bahwa game ini adalah game yang bagus tapi memiliki kekurangan pada sisi lain, seperti pada fitur kotak acak, optimasi untuk versi desktop, dan sisi permainannya sendiri yang repetitif. pada Tabel 16 ditemukan pada dataset bahwa pemain mengeluhkan persentase mendapatkan karakter langka yang sangat kecil sehingga banyak pemain yang harus menghabiskan waktu dan sumber daya yang lebih banyak untuk mendapatkan karakter langka yang mereka mau, dan pemain menginginkan konten game yang berjangka panjang sehingga pemain memiliki motivasi untuk terus memainkan permainan ini. Tabel 16. Keluhan dan Harapan Pemain pada Aspek Game No Keluhan dan Harapan Pemain pada Aspek Game 1 A lot of predatory and manipulative mechanics that forces players to spend money, low pull rates excessive time-wasting designs limited materials, sadly being used in other games 25
2 Gacha pull rates are awful, always get the same character, can you please fix the rate system on the gacha, I get tired always get the same character!!! Thanks 3 Great game, sick OST, but there is no real endgame content except spiral 4 abyss Lost motivation for having no endgame. Why is there no skip dialogue option? Dialogue since Inazuma has been a drag to go through I just wish I could just skip pass through it and get actual gameplay other than going from point A to point B and smashing the confirm button during dialogue. Pada aspek event terutama pada kelas negatif terlihat bahwa kaveh, weapon, dan event menjadi kata dengan kemunculan terbanyak. Pada Tabel 17 ditemukan pada dataset bahwa, pemain berharap Kaveh mendapatkan porsi lebih banyak pada versi terbaru ini, yang juga didukung bahwa Kaveh adalah salah satu karakter terbaru yang akan rilis sehingga butuh promosi lebih pada karakter tersebut. Pemain juga mengeluhkan bahwa event pada versi ini terkesan bertele-tele dan sangat panjang sehingga pemain merasa bosan untuk mengikuti event tersebut. Tabel 17. Keluhan dan Harapan Pemain pada Aspek Event No Keluhan dan Harapan Pemain pada Aspek Event 1 If kaveh does not get a hangout event I'm going to cry myself to sleep, cry myself awake cry myself to death. Iam getting tired at puzzle event games. Pls add more combat events its been boring playing genshin now. repetitive commissions that gives you no challenge and childish events and unnecessarily long conversations in quests that make you not want to play the quests anymore. Worst part is i spent so much money on this and now i regret it. I dont play the game for days. 2 3 4 Broken and unresponsive controls both on mobile and pc. Unplayable. Unskippable cut scenes are becoming much longer and meaningless with every event and update 5.2.2. Evaluasi Model Klasifikasi Pembuatan model dilakukan dengan menggunakan bantuan library sklearn, algoritma klasifikasi yang digunakan untuk penelitian ini adalah Support Vector Machine, dan digunakan juga algoritma klasifikasi lain seperti Naïve Bayes, Decision Tree, Random Forest, Artificial Neural Network (ANN) dan Recurrent Neural Network (RNN) sebagai algoritma pembanding dengan SVM. Dataset yang digunakan akan dilakukan penyeimbangan data antar kelas menggunakan metode SMOTE, lalu algoritma klasifikasi tersebut akan mempelajari data latih yang telah diinputkan yang selanjutnya akan memprediksi kelas pada data uji berdasarkan pengetahuan yang ia dapat sebelumnya. Pada penelitian ini model akan dibuat dan dieksekusi sebanyak 3 kali sesuai dengan jumlah aspek yang akan diuji, maka dengan begitu didapatkan hasil dari model tersebut dapat dilihat pada Tabel 18 berikut. Selain itu telah dilakukan juga analisis algoritma SVM menggunakan rasio perbandingan 70:30 dan 90:10 yang hasilnya ditunjukkan pada Lampiran 15 dan 16, juga analisis menggunakan 5 kelas yang ditunjukkan pada Lampiran 19. 26
Tabel 18. Hasil dari Model SVM dengan SMOTE Aspek Uji Karakter Game Event Accuracy 83% 83% 69% Precision 81% 74% 66% Recall 77% 60% 62% F1-Score 79% 64% 62% Pada Tabel 18 terlihat bahwa pada aspek karakter dan game menunjukan tingkat akurasi diatas 80%, dan aspek karakter secara keseluruhan memiliki skor yang lebih baik karena mendapat nilai precision, recall dan F1-Score yang lebih tinggi, hal ini dapat terjadi karena aspek karakter memiliki dataset yang lebih besar dibanding aspek lainnya, sehingga model klasifikasi dapat mempelajari dataset dengan lebih baik. Berbanding terbalik pada aspek event yang mendapat akurasi paling rendah pada skor keseluruhan, hal ini dikarenakan dataset pada aspek event berukuran lebih kecil. Model klasifikasi SVM kemudian akan dievaluasi menggunakan metode confusion matrix untuk mengetahui seberapa akurat model yang telah dilatih dapat memprediksi suatu data, yang hasilnya akan ditunjukkan pada Gambar 8 berikut. Gambar 8. Hasil Confusion Matrix pada Setiap Aspek Uji Hasil dari confusion matrix menunjukan bahwa pada aspek karakter dan game model cenderung memprediksi data ke kelas positif, sedangkan pada aspek event model cenderung memprediksi data ke kelas netral. Model ini juga akan dinilai dengan melihat kurva ROC AUC untuk dipertimbangkan nilainya. Pada Gambar 10 berikut dapat dilihat kurva ROC dan nilai AUC pada masing-masing aspek. 27
Gambar 9. Kurva ROC AUC pada 3 Aspek Kurva ROC AUC menunjukkan bahwa aspek karakter pada kelas positif mendapatkan nilai AUC sebesar 0,94, aspek event pada kelas netral mendapat nilai AUC sebesar 0,81 dan aspek game pada kelas positif mendapatkan nilai AUC sebesar 0,92. Dengan ini diketahui bahwa aspek event memiliki skor keseluruhan yang lebih rendah dibanding aspek lain. Berdasarkan rule of thumb skor AUC yang berada diantara 0.7 ~ 0.8 menandakan bahwa ketiga aspek diketahui sudah memberikan skor AUC yang sangat tinggi, dan model sudah bisa dikatakan dapat memprediksi data dengan sangat baik. Ketiga dataset tersebut juga telah dieksekusi menggunakan model klasifikasi machine learning dengan algoritma lain seperti Naïve Bayes, Decision Tree, Random Forest, yang berfokus pada akurasi modelnya saja. Hasilnya ditunjukkan Tabel 19 berikut. Tabel 19. Perbandingan Model Klasifikasi Machine Learning Aspek Uji Karakter Game Event Akurasi Didapat Pada Model Klasifikasi Naïve Bayes 72% 77% 60% Decision Tree 79% 78% 65% Random Forest 81% 83% 69% Algoritma naïve bayes memberikan akurasi paling tinggi sebesar 77% pada aspek game, dan paling rendah sebesar 60% pada aspek event. Pada decision tree model memberikan akurasi paling tinggi pada aspek karakter sebesar 79% dan paling rendah pada aspek event sebesar 65%. Pada random forest akurasi paling tinggi adalah pada aspek game sebesar 83% dan paling rendah pada aspek event yang hanya 69%. Dengan begitu dapat diketahui algoritma random forest memiliki performa yang hamper mirip dengan support vector machine. 28
Lalu dilakukan juga klasifikasi menggunakan algoritma deep learning seperti artificial neural network dan recurrent neural network, yang juga akan berfokus pada akurasi modelnya saja. Hasilkan ditunjukkan pada Tabel 20 berikut. Tabel 20. Perbandingan Model Klasifikasi Deep Learning Akurasi Didapat Pada Model Klasifikasi Artificial Neural Network (ANN) Recurrent Neural Network (RNN) Accuracy Aspek Uji Validation Acc Accuracy 78% 82% 59% Validation Acc 80% 82% 62% Karakter 99% 99% Game 76% Event 95% 99% 80% Algoritma ANN memberikan akurasi sebesar 99% pada aspek karakter dan game dan 76% pada aspek event, tetapi untuk validasi akurasinya sendiri algoritma ini memberikan akurasi paling tinggi pada aspek game sebesar 82%, dan paling rendah pada aspek event sebesar 59%. Sedangkan pada algoritma RNN, model memberikan akurasi 95% pada aspek karakter dan 99% pada aspek game, pada aspek event hanya memberikan akurasi sebesar 80%, tetapi pada validasi akurasinya algoritma ini memberikan akurasi paling tinggi sebesar 82% pada aspek game dan paling rendah pada aspek event sebesar 62%. Dari kedua algoritma tersebut diketahui bahwa model deep learning dapat mempelajari data latih dengan sangat baik dan memberikan akurasi yang tinggi tetapi kurang dapat mengklasifikasikan data uji dengan baik pula, sehingga terjadi penurunan pada akurasi validasi. Berdasarkan Tabel 18, 19, dan 20 dapat dilakukan perbandingan performa antar algoritma, dan Gambar 10 berikut diperlihatkan perbandingan akurasi yang didapat pada setiap algoritma dengan grafik batang. Gambar 10. Grafik Perbedaan Akurasi Algoritma Klasifikasi SVM masih lebih unggul dalam permasalahan multi-kelas dibanding algoritma lain yang digunakan sebagai pembanding, karena dapat menghasilkan akurasi sedikit lebih baik pada segala aspek dibanding algoritma lainnya. Algoritma Random Forest memberikan performa yang hampir setara dengan algoritma SVM, dan algoritma selanjutnya yang memberikan hasil memuaskan adalah Recurrent Neural Network karena mendapatkan validasi akurasi yang lumayan besar. 29
BAB VI KESIMPULAN DAN SARAN 1.1. Kesimpulan Penelitian analisis sentimen ini berbasis aspek dengan aspek uji yaitu karakter, event, dan game secara keseluruhan pada permainan Genshin Impact pada versi 3.6, penelitian ini bertujuan untuk mengetahui reaksi dan harapan pemain terhadap versi terbaru permainan Genshin Impact yaitu versi 3.6. Dataset yang digunakan diambil pada 6 buah konten video youtube yang diunggah oleh kanal resmi Genshin Impact. Dataset yang digunakan berjumlah 3 buah sesuai dengan jumlah aspek yang diuji dengan data siap digunakan yang berjumlah 4633 data pada aspek game, 6687 data pada aspek karakter, dan 808 data pada aspek event. Jenis dataset adalah multi-kelas sebanyak 3 kelas yaitu positif, netral dan negatif. Library vaderSentiment menunjukkan bahwa ketiga dataset memiliki sentimen positif yang dominan, pada aspek game memiliki sebanyak 3392 data positif, aspek karakter sebanyak 3341 data positif, dan pada aspek event sebanyak 370 data positif. Berkaca pada word cloud yang dibuat, diketahui bahwa terdapat harapan juga keluhan pemain terhadap versi baru yang akan dirilis oleh pengembang. Pada aspek karakter seperti banyak pemain yang mengharapkan karakter baru yaitu Kaveh dan Baizhu untuk memiliki daya tarik yang lebih kuat, pengembang dapat melakukan penyesuaian kemampuan karakter, mempromosikan karakter baru dengan lebih menarik, juga memperbesar kemungkinan mendapatkan karakter langka. Pada aspek game pemain menginginkan konten dengan jangka panjang untuk menjaga motivasi mereka agar dapat terus bermain, pengembang dapat melakukan ekspansi konten seperti penambahan misi baru atau area baru secara teratur. Pada aspek event pemain mengeluhkan bahwa event pada versi ini terkesan bertele-tele dan sangat panjang yang membuat pemain cepat bosan untuk terus mengikuti event tersebut, untuk mengatasi hal tersebut pengembang dapat mempertimbangkan untuk menghadirkan event yang lebih beragam dan memperpendek jangka waktu event atau setidaknya membagi menjadi beberapa fase yang lebih pendek, pengembang juga dapat memperhatikan kualitas hadiah yang diberikan pada event tersebut, karena event dengan hadiah yang lebih menarik dapat memotivasi pemain untuk berpartisipasi secara aktif pada event tersebut. Model klasifikasi dengan algoritma SVM berhasil memberikan akurasi yang cukup tinggi yaitu sebesar 83% pada aspek game dan karakter, sedangkan pada aspek event model memberikan akurasi cukup baik yaitu sebesar 69%, hal ini dapat dimaklumi karena jumlah dataset pada aspek event jauh lebih sedikit sehingga model tidak bisa mempelajari data dengan maksimal. Performa model pun diukur dengan confusion matrix dan nilai AUC. Hasil dari confusion matrix menunjukkan bahwa model pada aspek game dan karakter cenderung memprediksi kelas positif dan pada aspek event cenderung memprediksi kelas netral, dengan nilai AUC pada masing-masing aspek dengan kelas dominan adalah aspek game mendapat nilai AUC 0.92, aspek karakter mendapat nilai AUC 0.94, dan aspek event mendapat nilai AUC 0.81. Telah dilakukan juga perbandingan hasil dengan menggunakan algoritma klasifikasi lain yaitu algoritma Naïve Bayes, Decision Tree, Random Forest, Artificial Neural Network, dan Recurrent Neural Network. Dari 5 algoritma klasifikasi pembanding tersebut, Random Forest mendapatkan akurasi pada aspek karakter sebesar 81%, aspek game sebesar 83%, dan pada aspek event sebesar 69%. Sedangkan Recurrent Neural Network memberikan akurasi validasi pada aspek karakter sebesar 80%, aspek game sebesar 82%, dan pada aspek event sebesar 62%. Dengan demikian Random Forest dan Recurrent Neural Network berhasil memberikan akurasi yang sama baiknya dengan algoritma SVM. 30
1.2. Saran Berdasarkan penelitian yang telah dilakukan, maka terdapat beberapa saran yang dapat diberikan untuk mendapatkan hasil yang lebih baik pada konteks pemodelan seperti hasil akurasi, recall, dan precision, diantaranya sebagai berikut: 1. Diperlukan dataset yang memiliki jumlah data antar kelas yang seimbang atau perbedaan jumlah data yang tidak terlalu jauh agar model dapat mempelajari data dengan maksimal dan tidak terjadi imbalanced data. 2. Diperlukan pengecekan secara berulang pada dataset untuk mengeliminasi data-data yang tidak penting dan tidak relevan dengan konteks, dan pada label untuk memastikan tidak ada data yang dilabeli secara salah, hal ini diperlukan untuk menjaga kualitas data. 3. Menggunakan pembobotan teks selain TF-IDF seperti Word2Vec dan WordEmbeddings agar dapat dibandingkan metode mana yang lebih baik. 4. Penggunaan hyperparameter yang lebih bervariatif pada model klasifikasi untuk mendapatkan hasil yang lebih baik. 5. Melakukan eksekusi model dengan perangkat keras yang lebih mumpuni atau terbarukan agar mendapatkan waktu eksekusi seminimal mungkin dan lebih stabil. 31
DAFTAR PUSTAKA Adminlp2m (2022). "Analisis Sentimen (Sentiment Analysis): Definisi, Tipe dan Cara Kerjanya". . Diakses pada 20 April 2023. Alhari, M. I., Pratiwi, O. N., & Lubis, M. (2022). Sentiment Analysis of The Public Perspective Electric Cars in Indonesia Using Support Vector Machine Algorithm. 2022 International Conference of Science and Information Technology in Smart Administration, 155-160. 2022, ICSINTESA Anggraeny, Matrix". (2020). Diakses pada 20 Juli 2023. M. S. "Confusion Arsi, P., & Waluyo, R. (2021). Analisis Sentimen Wacana Pemindahan Ibu Kota Indonesia Menggunakan Algoritma Support Vector Machine (SVM). 8(1), 147- 156. Cornelia Lyman (2023). "Apa Itu Analisis Sentimen di AI dan Cara Kerjanya?". . Diakses pada 22 April 2023. Craig Chapple (2022). "Genshin Impact Generates $3.7 Billion on Mobile in First Two Years". . Diakses pada 20 April 2023. Dang, N. C., Moreno-García, M. N., & de la Prieta, F. (2020). Sentiment analysis based on deep learning: A comparative study. Electronics (Switzerland), 9(3). Emily Louise, S. (2022). "Sentiment Analysis for Brand Building". . Diakses pada 22 April 2023. Evidently AI Team. (2023). "How to explain the ROC curve and ROC AUC score?". . Diakses pada 8 November 2023. Fahrizain, Affandy (2021). "Bag of Words vs TF-IDF - Penjelasan dan Perbedaannya". . Diakses pada 14 Juli 2023 Fajri, Rahmat (2023). "Neural Network: Algoritma yang Menjadi Inti dari ChatGPT". dari-chatgpt/ . Diakses pada 31 Juli 2023. Farras, M., Viny, Mawardi, C., & Sutrisno, T. (2023). Aplikasi Analisis Sentimen Komentar Pengguna Genshin Impact Di Play Store. Vol. 11 No. 2 (2023): JURNAL INFORMASI. ILMU KOMPUTER DAN SISTEM G. Dharani Devi and Dr. S .Kamalakkannan. (2020). Literature Review on Sentiment Analysis in Social Media: Open Challenges toward Applications. International Journal of Advanced Science and Technology, 29(7), 1462-1471. 32
Haldi, Bayes". Diakses pada 31 Juli 2023. M. W. (2019). "Algoritma Naive Karani, K. P., Shathik, A., & Prasad, K. (2020). A Literature Review on Application of Sentiment Analysis Using Machine Learning Techniques. International Journal of Applied Engineering and Management Letters (IJAEML) A Refereed 2581-7000. Journal International of Srinivas University, 4(2), Ke, Z. (2023). Marketing of games-Take Genshin Impact for example. In BCP Business & Management EMFRM (Vol. 2022). Kusnadi, R., Yusuf, Y., Andriantony, A., Ardian Yaputra, R., & Caintan, M. (2021). Analisis Sentimen Terhadap Game Genshin Impact Menggunakan BERT. Rabit : Informasi Univrab, 6(2), 122-129. Jurnal Teknologi Dan Sistem LASAMAHU, P. F. (2021). Analisis Sentimen Pengguna Game Online Mobile Legends dengan NAÏVE Bayes. Skripsi. Tidak Diterbitkan. Fakultas Teknologi Informasi. Universitas Kristen Satya Wacana: Salatiga. Mbaabu, Onesmus (2020). "Introduction to Random Forest in Machine Learning". machine-learning/ . Diakses pada 31 Juli 2023. Narkhede, Matrix". Diakses pada 20 Juli 2023. Sarang (2018). "Understanding Confusion Nick Hotz (2023). "What is CRISP-DM ?". dm-2/ . Diakses pada 21 April 2023. Nugraha, Victor (2021). "Menghadapi Imblanced Target Variable dengan SMOTE". Diakses pada 31 Juli 2023. Panjalu, A. F., Alam, S., & Sulistyo, M. I. (2023). MOBA Game Review Sentiment Analysis Using Support Vector Machine Algorithm. JIKO (Jurnal Informatika Dan Komputer), 6(2). Patel, Kartik (2021). "What Is Naïve Bayes Classification and How Is It Used for Enterprise . Diakses pada 31 Juli 2023. Analysis?". Rodríguez-Ibánez, M., Casánez-Ventura, A., Castejón-Mateos, F., & Cuenca-Jiménez, P. M. (2023). A review on sentiment analysis from social media platforms. In Expert Ltd. Applications Systems with (Vol. 223). Elsevier Samsudiney (2019). "Penjelasan Sederhana tentang Apa itu SVM?". 149fec72bd02 . Diakses pada 20 April 2023. 33 .
Sarno, R., Fatihah, C., & Faisal, E. (2020). Aspect Based Sentiment Analysis: A Systematic Literature Review. In Journal of Applied Intelligent System (Vol. 5, Issue 1). Sierra, Delta (2019). "Algoritma TF-IDF". idf-633e17d10a80. Diakses pada 19 Juli 2023 Sophie Blake (2023). "Genshin Impact Revenue and Usage Statistics (2023)". 2020/ . Diakses pada 20 April 2023. Statinfer (2019). "204.6.8 SVM : Advantages Disadvantages and Applications". . Diakses pada 8 November 2023. Tan, J. Y., & Chow, A. S. K. (2021). Sentiment Analysis on Game Reviews: A Comparative Study of Machine Learning Approaches. Conference Proceedings: International Conference on Digital Transformation and Applications (ICDXA 2021), 209-216. Tan, J. Y., Chow, A. S. K., & Tan, C. W. (2022). A Comparative Study of Machine Learning Algorithms for Sentiment Analysis of Game Reviews. The Journal of The Institution of Engineers, Malaysia, 82(3). Trivusi (2022). "Decision Tree: Pengertian, Cara Kerja, Kelebihan, dan Kekurangannya". tree.html . Diakses pada 31 Juli 2023. Trivusi (2022). "Recurrent Neural Network (RNN): Pengertian, Cara Kerja, dan . Penerapannya". Diakses pada 31 Juli 2023. Utami, M. A. A. T., Silvianti, P., & Masjkur, M. (2023). Algoritme Support Vector Machine untuk Analisis Sentimen Berbasis Aspek Ulasan Game Online Mobile Legends: Bang-Bang. Xplore: Journal of Statistics, 12(1), 63-77. 34
Lampiran 1. Validasi Data oleh Pakar Bahasa Pada Lampiran 1 ditunjukkan data sample yang telah divalidasi oleh pakar bahasa untuk memastikan keakuratan pemberian label kelas yang dilakukan secara otomatis oleh sistem. Validator telah menilai setiap data dan menyatakan setiap kalimat pada data sudah sesuai dengan labelnya. Lampiran 2. Kode Program Scraping Data def video_comments(video_id): replies = [] youtube = build('youtube', 'v3', developerKey=api_key) video_response = videoId=video_id).execute() while video_response: for item in video_response['items']: published = user = comment = replies.append([published, user, comment]) replycount = if replycount>0: for reply in item['replies']['comments']: 36
published = reply['snippet']['publishedAt'] user = repl = reply['snippet']['textDisplay'] replies.append([published, user, repl]) if 'nextPageToken' in video_response: video_response = part = 'snippet,replies', pageToken = video_response['nextPageToken'], videoId = video_id ).execute() else: break return replies api_key = 'API-KEY video_id = "ygb4k8FIGJQ" comments = video_comments(video_id) df = pd.DataFrame(comments, columns=['publishedAt', 'authorDisplayName', 'textDisplay']) df.to_csv('spreadsheet.csv', index=False) df.to_excel('spreadsheet.xlsx', index=False) Pada Lampiran 2 ditunjukkan source code untuk melakukan scrapping komentar pada perangkat YouTube, source code ini menggunakan Application Programming Interface (API) resmi YouTube untuk mengambil setiap komentarnya. Lampiran 3. Kode Program Labeling Data !pip install vaderSentiment import pandas as pd import numpy as np import nltk nltk.download('vader_lexicon') from nltk.sentiment import SentimentIntensityAnalyzer df = pd.read_csv('10sample.csv', encoding='UTF-8-sig') df.head(15) def labeling(sentences): analyzer = SentimentIntensityAnalyzer() data = [] for sentence in sentences: vs = data.append(vs) return data df['scores'] = labeling(df['text']) df['neg_score'] = [score['neg'] for score in df['scores']] df['pos_score'] = [score['pos'] for score in df['scores']] df['neu_score'] = [score['neu'] for score in df['scores']] df['compound_score'] = [score['compound'] for score in df['scores']] def get_sentiment_3category(score): if score > 3: return 'positive' elif score == 3: return 'neutral' else: return 'negative' df['sentiment'] = index=False) Pada Lampiran 3 ditunjukkan Source Code untuk melakukkan labeling secara otomatis menggunakan library VaderSentiment. Program akan menilai setiap kata berdasar kamus bahasa inggris yang dimiliki oleh NLTK lalu diberikan label sesuai dengan ketentuan yang telah ditetapkan. 37
Lampiran 4. Library Digunakan untuk Preprocessing !pip install emoji import nltk import string import re from nltk.tokenize import word_tokenize from nltk.stem import WordNetLemmatizer import emoji nltk.download('wordnet') nltk.download('punkt') Pada Lampiran 4 ditunjukkan library-library yang akan digunakan dalam proses preprocessing, seperti NLTK, String, re, dan emoji. Lampiran 5. Kode Program untuk Cleaning Data def cleaning(text): text = re.sub(r"[^\w\s]", '', text) return text df['clean'] = "@[\w]*") #Hapus Mention pattern = df['clean'] = '') df['clean'] = '') df['clean'] = df['clean'].apply(lambda s: emoji.replace_emoji(s, '')) #Hapus Emoji df['clean'] = '') #Hapus simbol df['clean'] = df['clean'].apply(cleaning) Pada Lampiran 5 ditunjukkan source code untuk melakukan Cleaning pada data, proses cleaning ini meliputi penghapusan angka, simbol, link url, mention, emoji, dan tag html. Lampiran 6. Kode Program untuk Case Folding df['clean'] = df['clean'].str.lower() #meratakan huruf jadi lowercase df_check = df[['text', 'clean']] Pada Lampiran 6 ditunjukkan source code untuk melakukan Case Folding pada data, kode ini akan membuat setiap huruf pada data menjadi huruf kecil dengan tujuan agar seluruh dataset menjadi setara. Lampiran 7. Kode Program untuk Tokenization df['clean'] = #Tokenisasi df_check = df[['text', 'clean']] Pada Lampiran 7 ditunjukkan source code untuk melakukan Tokenization, kode ini akan memecah setiap kata pada kalimat, agar model klasifikasi dapat lebih mudah dalam melakukan prediksi kelas. Lampiran 8. Kode Program untuk Lemmatization lemmatizer = nltk.wordnet.WordNetLemmatizer() df['clean'] = df['clean'] = df['clean'].apply(str) df['clean'] = df['clean'].apply(lambda x: ' for token in nltk.word_tokenize(x)])) #Lemmatizer df_check = df[['text', 'clean']] Pada Lampiran 8 ditunjukkan source code untuk melakukan Lemmatization, kode ini akan mengembalikan kata yang memiliki imbuhan menjadi kata dasarnya. Lampiran 9. Kode Program untuk Filtering/Stopwords nltk.download('stopwords') from nltk.corpus import stopwords def stopword_removal(text): filtering = stopwords.words('english') x = [] data = [] 38
def myFunc(x): if x in filtering: return False else: return True fit = filter(myFunc, text) for x in fit: data.append(x) return data df['clean'] = code untuk melakukan filtering/stopwords removal, proses ini akan menghapus kata-kata yang tidak berbobot terhadap konteks tetapi sering sekali muncul, seperti the, am, is, are, dll. Pada Lampiran 9 ditunjukkan source Lampiran 10. Kode Program untuk Pembobotan TF-IDF data_clean = data_clean.astype({'sentiment' : 'category'}) data_clean = data_clean.astype({'clean' : 'string'}) from import CountVectorizer from import TfidfVectorizer tf = TfidfVectorizer() text_tf = text_tf Pada Lampiran 10 ditunjukkan source code untuk melakukan pembobotan TF-IDF, kode tersebut akan mengubah setiap data yang berupa teks menjadi bentuk numerik vektor agar dapat diproses oleh model. Lampiran 11. Kode Program untuk Split Data from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(text_tf, data_clean['sentiment'], test_size = 0.3, random_state = 42) print('X_train = ', X_train.shape) print('y_train = ',y_train.shape) print('X_test = ', X_test.shape) print('y_test = ',y_test.shape) Pada Lampiran 11 ditunjukkan source code untuk melakukan pembagian data, pada lampiran tersebut pembagian yang terjadi adalah 20% untuk data tes, yang menjadikannya data latih yang digunakan sebanyak 80% dari total dataset. Lampiran 12. Kode Program Oversampling SMOTE print("Before OverSampling, Counts of label 'Negative': {} ".format(sum(y_train == 'negative'))) print("Before OverSampling, Counts of label 'neutral': {} ".format(sum(y_train == 'neutral'))) print("Before OverSampling, Counts of label 'Positive': {} ".format(sum(y_train == 'positive'))) from imblearn.over_sampling import SMOTE sm = SMOTE(random_state = 2) X_train_res, y_train_res = sm.fit_resample(X_train, y_train.ravel()) print("\nAfter Oversampling, the shape of train_X: {}".format(X_train_res.shape)) print("After Oversampling, the shape of train_y: {}".format(y_train_res.shape)) print("\nAfter OverSampling, Counts of label 'Negative': {} ".format(sum(y_train_res == 'negative'))) print("After OverSampling, Counts of label 'neutral': {} ".format(sum(y_train_res == 'neutral'))) print("After OverSampling, Counts of label 'Positive': {} ".format(sum(y_train_res == 'positive'))) Pada Lampiran 12 ditunjukkan source code untuk melakukan OverSampling SMOTE, hal ini diperlukan karena dataset yang digunakan terlalu condong kepada kelas positif sehingga metode ini digunakan untuk mencegah terjadinya overfitting. Lampiran 13. Library Digunakan untuk Model Klasifikasi from sklearn import svm from sklearn.svm import SVC from sklearn.naive_bayes import MultinomialNB from sklearn import tree from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score, precision_score, recall_score,f1_score 39
from sklearn.metrics import classification_report from sklearn.metrics import confusion_matrix from sklearn.model_selection import cross_val_score Pada Lampiran 13 ditunjukkan library-library apa saja yang diperlukan untuk melakukan klasifikasi, pada proses ini digunakan library SKLearn untuk memanggil modul algoritma klasifikasi dan untuk melakukan evaluasi hasil model. Lampiran 14. Kode Program Algoritma SVM clf_res = svm.SVC(kernel='rbf', C=3, gamma=0.5).fit(X_train_res, y_train_res) predicted_res = clf_res.predict(X_test) print('SVM Accuracy: ', print('SVM Precision: ', average='macro')) print('SVM Recall: ', average='macro')) print('SVM F1 Score: ', f1_score(y_test,predicted_res, average='macro')) print(f'confusion matrix: \n{confusion_matrix(y_test, predicted_res)}') print('===================================================') predicted_res, zero_division=0)) Pada Lampiran 14 ditunjukkan source code model SVM yang digunakan untuk melakukan klasifikasi dengan hyperparameter yang dipilih adalah kernel RBF, nilai konstanta adalah 3, dan nilai gamma adalah 0,5. Lampiran 15. Percobaan Model pada Perbandingan Data 70:30 Aspek Uji Karakter Game Event Accuracy 82% 80% 66% Precision 80% 72% 62% Recall 76% 58% 59% F1-Score 77% 62% 59% Pada Lampiran 15 ditunjukkan percobaan model pada perbandingan data latih dan data uji sebesar 70:30. Terlihat bahwa akurasi pada aspek uji karakter dan game berada di atas 80% sedangkan pada event hanya 66% saja. Ini menunjukkan bahwa dengan menggunakan rasio perbandingan data 70:30 memberikan performa yang lebih rendah dalam melakukan analisis sentimen. Lampiran 16. Percobaan Model pada Perbandingan Data 90:10 Aspek Uji Karakter Game Event Accuracy 82% 84% 70% Precision 79% 74% 67% Recall 77% 61% 63% F1-Score 77% 65% 62% Pada Lampiran 16 ditunjukkan percobaan model pada perbandingan data latih dan data uji sebesar 90:10. Terlihat bahwa akurasi karakter dan game masihlah berada diatas 80%, sedangkan pada aspek event mengalami peningkatan menjadi 70%. Ini menunjukkan bahwa perbandingan data 90:10 memberikan performa yang baik pada model dalam mempelajari data dan memprediksi data baru. 40
Lampiran 17. Perbandingan Akurasi SVM pada Perbandingan Rasio Dataset Pada Lampiran 17 ditunjukkan perbandingan akurasi SVM pada perbandingan data latih & uji. Walau terlihat bahwa rasio perbandingan 90:10 lebih tinggi tetapi hal tersebut tidak memberikan hasil yang berbeda jauh dengan rasio perbandingan 80:20, sehingga pada titik ini tidak ada manfaat lebih lanjut yang akan didapat jika menaikkan rasio perbandingan dataset melebihi 80:20. Lampiran 18. Polaritas Dataset dengan 5 Kelas Aspek Dataset Game Karakter Event Total Data 4633 6687 808 Positif 2924 2550 462 Hampir Positif 491 826 135 Polaritas Netral 508 2143 323 Hampir Negatif 338 615 90 Negatif 372 553 127 Pada Lampiran 18 ditunjukkan polaritas dataset jika menggunakan 5 kelas, dengan 2 kelas tambahan adalah hampir positif dan hampir negatif. Terlihat bahwa kelas positif masih mendominasi setiap aspek dataset. Lampiran 19. Hasil Analisis Dataset 5 Kelas Menggunakan SVM Aspek Uji Karakter Game Event Accuracy 72% 74% 58% Precision 62% 60% 52% Recall 56% 47% 44% F1-Score 58% 51% 45% Pada Lampiran 19 ditunjukkan hasil analisis model SVM pada dataset dengan 5 kelas dengan rasio data latih dan uji adalah 80:20, disini terlihat bahwa skor akurasi, presisi, recall, dan F1-Score pada ketiga aspek uji secara keseluruhan menjadi turun dibandingkan saat model mengeksekusi dataset dengan 3 kelas. Hal ini terjadi karena kompleksitas dataset meningkat sehingga menjadi lebih sulit bagi model untuk melakukan prediksi dengan akurat, terlebih lagi ketika beberapa kelas tidak memiliki perbedaan yang sangat signifikan seperti kelas positif dan hampir positif, juga kelas negatif dan hampir negatif. 41
Lampiran 20. Surat Keputusan Tugas Akhir 42
Lampiran 21. Kartu Bimbingan Mahasiswa 43
Lampiran 22. Hasil Cek Plagiasi Turnitin 44