• Tidak ada hasil yang ditemukan

ASPECT BASED SENTIMENT ANALYSIS PADA REVIEW PRODUK KECANTIKAN MENGGUNAKAN EXTREME GRADIENT BOOSTING SKRIPSI JESSIE GABRIELLA SILALAHI

N/A
N/A
Protected

Academic year: 2022

Membagikan "ASPECT BASED SENTIMENT ANALYSIS PADA REVIEW PRODUK KECANTIKAN MENGGUNAKAN EXTREME GRADIENT BOOSTING SKRIPSI JESSIE GABRIELLA SILALAHI"

Copied!
78
0
0

Teks penuh

(1)

ASPECT BASED SENTIMENT ANALYSIS PADA REVIEW PRODUK KECANTIKAN MENGGUNAKAN

EXTREME GRADIENT BOOSTING

SKRIPSI

JESSIE GABRIELLA SILALAHI 171402100

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2021

(2)

ASPECT BASED SENTIMENT ANALYSIS PADA REVIEW PRODUK KECANTIKAN MENGGUNAKAN

EXTREME GRADIENT BOOSTING

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

JESSIE GABRIELLA SILALAHI 171402100

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2021

(3)

PERSETUJUAN

Judul : ASPECT BASED SENTIMENT ANALYSIS PADA REVIEW

PRODUK KECANTIKAN MENGGUNAKAN EXTREME GRADIENT BOOSTING

Kategori : SKRIPSI

Nama : JESSIE GABRIELLA SILALAHI

Nomor Induk Mahasiswa : 171402100

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dani Gunawan, ST., M.IT. Sarah Purnamawati ST., M.Sc.

NIP 198209152012121002 NIP. 198302262010122003

Diketahui/disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

Romi Fadillah Rahmat, B.Comp.Sc., M.Sc.

NIP. 198603032010121004

(4)

iii PERNYATAAN

ASPECT BASED SENTIMENT ANALYSIS PADA REVIEW PRODUK KECANTIKAN MENGGUNAKAN

EXTREME GRADIENT BOOSTING

SKRIPSI

Saya mengakui bahwa skripsi ini merupakan hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 12 Juli 2021

JESSIE GABRIELLA SILALAHI 171402100

(5)

UCAPAN TERIMA KASIH

Segala hormat, mulia dan berkat kepada Tuhan yang Maha Esa atas segala kasih-Nya sehingga penulis dapat menyelesaikan skripsi yang menjadi ketentuan untuk menerima gelar Sarjana Komputer, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Penulis juga tidak mampu menyelesaikan skripsi ini tanpa bimbingan, doa dan dukungan dari semua pihak.

Adapun dalam kesempatan ini, dengan segala kerendahan hati penulis mengucapkan terimakasih kepada:

1. Keluarga penulis, Orangtua Ayah Abner Johan Silalahi dan Ibu Junnetty Ambarita, Kakak Cynthia Bernadetta Silalahi serta Adik Daniel Steven Silalahi yang selalu mendoakan, memberi perhatian, serta dukungan.

2. Bapak Dr. Muryanto Amin, S.Sos., M.Si selaku Rektor Universitas Sumatera Utara.

3. Ibu Dr. Maya Silvi Lydia, M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera.

4. Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc selaku Ketua Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

5. Ibu Sarah Purnamawati, ST., M.Sc. selaku Sekretaris Program Studi S1 Teknologi Informasi Universitas Sumatera Utara dan selaku Dosen Pembimbing I dan Bapak Dani Gunawan ST., M.T. selaku Dosen Pembimbing II yang telah selalu meluangkan waktu untuk membimbing dan memberikan dan saran yang membangun kepada penulis.

6. Bapak Baihaqi Siregar S.Si., M.Kom selaku Dosen Pembanding I, dan Bapak Indra Aulia, S.TI, M.Kom selaku Dosen Pembanding II yang telah memberi saran guna penyempurnaan skripsi.

7. Dosen Pengajar di Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

8. Staff dan pegawai di Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

9. Sahabat dan teman seperjuangan penulis di perkuliahan Milinda Kirana Sembiring, Lenny Tobing, Arnessa Julia Damanik, Fani Theresa Hutabarat, dan Destri Celcylia Silitonga yang selalu berjuang bersama.

10. Abang terbaik penulis selama masa perkuliahan, Sahat Gebima Sihotang dan Aldo Stepanus Simarmata yang selalu menyemangati dan memotivasi penulis.

11. Teman-teman angkatan 2017 Teknologi Informasi Universitas Sumatera Utara.

(6)

v 12. Semua pihak yang berperan langsung maupun tidak langsung yang tidak dapat ditulis

satu persatu yang telah membantu penulis dalam penyelesaian skripsi ini.

Semoga Tuhan yang Maha Esa selalu memberikan berkat kepada semua pihak yang telah memberikan doa dan dukungan kepada penulis dalam menyelesaikan skripsi ini.

Medan, 12 Juli 2021

JESSIE GABRIELLA SILALAHI

(7)

ABSTRAK

Produk kecantikan atau kosmetik merupakan salah satu bagian yang cukup populer di berbagai kalangan, termasuk pada kalangan wanita. Setiap produk kecantikan atau kosmetik memiliki fungsi yang berbeda untuk menjaga dan merawat kebersihan tubuh. Perkembangan pola hidup yang cukup pesat menyebabkan maraknya brand baru yang hadir menawarkan keunggulan masing-masing produk. Hal ini menyebabkan pengguna kesulitan untuk memilih jenis produk kecantikan yang sesuai dengan kebutuhan mereka. Setiap pengguna berhak untuk memberikan review atau tanggapan mengenai produk yang mereka gunakan. Sehingga dapat menjadi informasi dan pandangan kepada pengguna lain yang ingin menggunakan sebuah produk.

Selain itu, hasil review tanggapan mengenai suatu produk kecantikan juga dapat memberikan informasi kepada pihak perusahaan pembuat produk untuk memperbaiki kualitas produk kecantikan mereka. Review berupa produk yang kecantikan yang diberikan pengguna memiliki jenis sentimen yang beragam seperti positif, negatif atau netral. Namun pada proses identifikasi review produk tersebut, masih perlu dilakukan analisis terhadap sentimen produk berdasarkan aspek produk yang terdapat dalam kalimat review. Analisis sentimen berdasarkan aspek produk dilakukan untuk memberian identifikasi yang lebih jelas dan manfaat yang lebih baik untuk pengembangan pelayanan produk. Untuk itu dibutuhkan suatu pendekatan untuk mengatasi permasalahan analisa sentimen terhadap review produk berdasarkan aspek produk tersebut dengan membangun sistem untuk mengidentifikasi sentimen berdasarkan aspek. Penelitian ini menggunakan 1500 data yang berupa review produk kecantikan pada situs femaledaily.

Tahapan preproses yang dilakukan pda penelitian ini berupa cleaning, case folding, punctual removal, normalization, stopword removal, dan stemming. Penerapan ekstraksi fitur berupa TF-IDF dilakukan untuk proses pembobotan kata menjadi vector dan akan diidentifikasi menggunakan metode Extreme Gradient Boosting. Dengan menerapkan metode evaluasi confussion matrix mendapatkan total rata-rata nilai akurasi berdasarkan empat aspek produk sebesar 90%.

Kata Kunci : analisis sentimen berdasarkan aspek, TF-IDF, Extreme Gradient Boosting, Confussion Matrix.

(8)

vii

ASPECT BASED SENTIMENT ANALYSIS ON BEAUTY REVIEW PRODUCT USING EXTREME

GRADIENT BOOSTING

ABSTRACT

Beauty products or cosmetics is one part that quite popular in various circles, especially for woman. Each beauty or cosmetic product has a different function to maintain and care for cleanliness of the body. The development pattern of life quite rapidly causing widespread new brands that are present to offer the advantages of each product. It causing consumer to choose the best type of beauty product that is accordance with their needs. Each consumer has a right to leave a comment, review or feedback regarding the product that they used. It can give an information and viewpoint to others consumer that want to use a beauty product. Besides that, the results of a review feedback about a beauty product also can provide information to the company that making that beauty products to improve the quality of their beauty product.

Review of beauty product has given by user has kind of sentiment such as positive, negative, and neutral. But in the process of identity the reviews product, the analysis sentiment based on an aspect product are needed. Aspect based sentiment analysis based on an aspect gives an identification more obvious and the benefits well for the development of service products. It takes an approach to overcome the problem of analysis of sentiment toward the reviews product based on an aspect product to establish a system to identify sentiment based on an aspect. This study uses 1500 data of beauty product reviews on femaledaily site. The preprocessing stages carried out of this study were deleting all emoji and other character that not important, changing all words to lowercase, deleting of symbols and punctuation, normalization all the words, and delete all the stopwords. This study also uses a weighting words into vector using TF-IDF and will be identifies using the Extreme Gradient Boosting method. By applying the evaluation method of confussion matrix, produces an average accuracy of 90%.

Keywords : aspect based sentiment analysis, TF-IDF, extreme gradient boosting, confussion matrix

(9)

DAFTAR ISI

PERSETUJUAN ii

PERNYATAAN iii

UCAPAN TERIMA KASIH iv

ABSTRAK vi

ABSTRACT vii

DAFTAR ISI viii

DAFTAR TABEL x

DAFTAR GAMBAR xii

BAB 1 PENDAHULUAN 1

1.1. Latar Belakang 1

1.2. Rumusan Masalah 3

1.3. Tujuan Penelitian 3

1.4. Batasan Masalah 3

1.5. Manfaat Penelitian 3

1.6. Metodologi Penelitian 4

1.7. Sistematika Penulisan 5

BAB 2 LANDASAN TEORI 6

2.1. Text Processing 6

2.2. Sentiment Analysis 6

2.3. Aspect Based Sentiment Analysis 7

2.4. TF-IDF (Term Frequency-Inverse Document Frequency) 7

2.5. Extreme Gradient Boostig (XGBoost) 8

2.6. Penelitian Terdahulu 11

2.7. Perbedaan Penelitian 15

(10)

ix

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 16

3.1. Dataset 16

3.2. Arsitektur Umum 17

3.2.1. Input 18

3.2.2. Text Preprocessing 18

3.2.2.1. Cleaning 18

3.2.2.2. Case Folding 19

3.2.2.3. Punctual Removal 19

3.2.2.4. Normalization 20

3.2.2.5. Stopword Removal 21

3.2.2.6. Stemming 21

3.2.3. TF-IDF (Term Frequency-Inverse Document Frequency) 22 3.2.4. Extreme Gradient Boosting (XGBoost) 25

3.3. Perancangan Sistem 29

3.3.1. Rancangan Tampilan Beranda 30

3.3.2. Rancangan Tampilan Training 30

3.3.3. Rancangan Tampilan Testing 31

3.4. Metode Evaluasi 31

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 34

4.1. Implementasi Sistem 34

4.1.1. Spesifikasi Perangkat Lunak dan Perangkat Keras 34

4.1.2. Implementasi Perancangan Antarmuka 34

4.2. Implementasi Model 39

4.2.1. Implementasi Model Extreme Gradient Boosting 39

4.3. Pengujian Sistem 42

4.4. Evaluasi Model 52

BAB 5 KESIMPULAN DAN SARAN 61

5.1. Kesimpulan 61

5.2. Saran 61

DAFTAR PUSTAKA 62

(11)

DAFTAR TABEL

Tabel 2.1. Penelitian Terdahulu 13

Tabel 3.1. Pengelompokan Data 16

Tabel 3.2. Contoh Kalimat Review 18

Tabel 3.3. Tahapan Cleaning 19

Tabel 3.4. Tahapan Case Folding 19

Tabel 3.5. Tahapan Punctual Removal 20

Tabel 3.6. Tahapan Normalization 20

Tabel 3.7. Tahapan Stopword Removal 21

Tabel 3.8. Tahapan Stemming 21

Tabel 3.9. Kemunculan Term Pada Dokumen 22

Tabel 3.10. Skor DF 23

Tabel 3.11. Skor IDF 24

Tabel 3.12. Skor TF-IDF 24

Tabel 3.13. Data Membangun Pohon XGBoost 25

Tabel 3.14. Perhitungan Error ke-1 26

Tabel 3.15. Perhitungan Error ke-2 26

Tabel 3.16. Perhitunagn Error ke-3 27

Tabel 3.17. Penerapan Confussion Matrix 32

Tabel 4.1. Implementasi XGBoost 39

Tabel 4.2. Hasil Pengujian Sistem 51

Tabel 4.3. Keterangan Sentimen Negative Aspek Harga Confussion Matrix 54 Tabel 4.4. Keterangan Sentimen Netral Aspek Harga Confussion Matrix 54 Tabel 4.5. Keterangan Sentimen Positive Aspek Harga Confussion Matrix 54 Tabel 4.6. Keterangan Sentimen Negative Aspek Kemasan Confussion Matrix 54 Tabel 4.7. Keterangan Sentimen Netral Aspek Kemasan Confussion Matrix 55 Tabel 4.8. Keterangan Sentimen Positive Aspek Kemasan Confussion Matrix 55 Tabel 4.9. Keterangan Sentimen Negative Aspek Kualitas Confussion Matrix 55 Tabel 4.10. Keterangan Sentimen Netral Aspek Kualitas Confussion Matrix 55 Tabel 4.11. Keterangan Sentimen Positive Aspek Kualitas Confussion Matrix 55

(12)

xi Tabel 4.12. Keterangan Sentimen Negative Aspek Aroma Confussion Matrix 56

Tabel 4.13. Keterangan Sentimen Netral Aspek Aroma Confussion Matrix 56 Tabel 4.14. Keterangan Sentimen Positive Aspek Aroma Confussion Matrix 56

(13)

DAFTAR GAMBAR

Gambar 2.1. Contoh data mentah femaledaily review 6

Gambar 2.2. Bagan algoritma XGBoost 8

Gambar 2.3. Proses Boosting 10

Gambar 3.1. Arsitektur Umum 17

Gambar 3.2. Node pohon XGBoost ke-1 26

Gambar 3.3. Node pohon XGBoost ke-2 27

Gambar 3.4. Node pohon XGBoost ke-3 27

Gambar 3.5. Perhitungan nilai similiarity dan gain 28 Gambar 3.6. Perhitungan nilai similiarity dan gain pada split 28

Gambar 3.7. Perhitungan proses pemangkasan 29

Gambar 3.8. Perhitungan proses output 29

Gambar 3.9. Rancangan tampilan Beranda 30

Gambar 3.10. Rancangan tampilan Training 30

Gambar 3.11. Rancangan tampilan Testing 31

Gambar 4.1. Tampilan Beranda 35

Gambar 4.2. Tampilan training sebelum proses dijalankan 35 Gambar 4.3. Tampilan training setelah proses dijalankan 36 Gambar 4.4. Tampilan testing sebelum proses dijalankan 36 Gambar 4.5. Tampilan testing setelah proses dijalankan 37

Gambar 4.6. Hasil Evaluasi Aspek Harga 37

Gambar 4.7. Hasil Evaluasi Aspek Kemasan 38

Gambar 4.8. Hasil Evaluasi Aspek Kualitas 38

Gambar 4.9. Hasil Evaluasi Aspek Aroma 38

Gambar 4.10. Node pohon XGBoost 42

Gambar 4.11. Pengujian 300 Data Aspek Harga 42

Gambar 4.12. Pengujian 300 Data Aspek Kemasan 43

Gambar 4.13. Pengujian 300 Data Aspek Kualitas 43

Gambar 4.14. Pengujian 300 Data Aspek Aroma 43

(14)

xiii

Gambar 4.15. Pengujian 500 Data Aspek Harga 44

Gambar 4.16. Pengujian 500 Data Aspek Kemasan 44

Gambar 4.17. Pengujian 500 Data Aspek Kualitas 44

Gambar 4.18. Pengujian 500 Data Aspek Aroma 45

Gambar 4.19. Pengujian 800 Data Aspek Harga 45

Gambar 4.20. Pengujian 800 Data Aspek Kemasan 46

Gambar 4.21. Pengujian 800 Data Aspek Kualitas 46

Gambar 4.22. Pengujian 800 Data Aspek Aroma 46

Gambar 4.23. Pengujian 1000 Data Aspek Harga 47

Gambar 4.24. Pengujian 1000 Data Aspek Kemasan 47

Gambar 4.25. Pengujian 1000 Data Aspek Kualitas 47

Gambar 4.26. Pengujian 1000 Data Aspek Aroma 48

Gambar 4.27. Pengujian 1200 Data Aspek Harga 48

Gambar 4.28. Pengujian 1200 Data Aspek Kemasan 49

Gambar 4.29. Pengujian 1200 Data Aspek Kualitas 49

Gambar 4.30. Pengujian 1200 Data Aspek Aroma 49

Gambar 4.31. Pengujian 1500 Data Aspek Harga 50

Gambar 4.32. Pengujian 1500 Data Aspek Kemasan 50

Gambar 4.33. Pengujian 1500 Data Aspek Kualitas 50

Gambar 4.34. Pengujian 1500 Data Aspek Aroma 51

Gambar 4.35. Confussion Matrix Aspek Harga 52

Gambar 4.36. Confussion Matrix Aspek Kemasan 53

Gambar 4.37. Confussion Matrix Aspek Kualitas 53

Gambar 4.38. Confussion Matrix Aspek Aroma 53

(15)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Produk kecantikan atau kosmetik ialah salah satu bagian yang cukup populer di kalangan wanita. Umumnya, wanita menggunakan produk kecantikan atau kosmetik untuk menjaga kebersihan tubuh, merawat tubuh, bahkan untuk mempercantik tubuh (Iswari et al, 2013). Hal ini menyebabkan penggunaan produk kecantikan menjadi bagian dari pola hidup. Dengan berkembangnya pola hidup, maka perkembangan brand produk kecantikan juga bertambah.

Dari pertambahan brand produk kecantikan tersebut, menyebabkan jumlah pengguna terhadap produk kecantikan juga akan bertambah. Maraknya brand yang menawarkan keunggulan suatu produk menyebabkan konsumen sulit untuk menentukan produk kecantikan yang sesuai dengan kebutuhan.

Salah satu usaha yang boleh dilakukan untuk mengurangi kesulitan konsumen ketika menentukan produk kecantikan ialah membaca review tentang produk tersebut. Review produk merupakan tanggapan, opini, atau ulasan seseorang mengenai suatu produk. Umumnya, review suatu produk kecantikan dapat memuat beberapa aspek yang dapat dievaluasi, seperti harga, kemasan, kualitas dan aroma produk. Evaluasi terhadap review tersebut dapat berguna sebagai pandangan dan bahan pertimbangan untuk konsumen ketika memilih produk yang ingin dibeli.

Namun, banyaknya review, jumlah pengguna dan rating mengenai suatu produk belum memberikan identifikasi kejelasan yang baik mengenai suatu produk. Penelitian mengenai analisis sentimen masih dilakukan dengan pengujian menggunakan keseluruhan data, sehingga untuk pemrosesannya masih mencakup keseluruhan (Faris, 2020).

Suatu bidang penelitian yang melakukan kajian terhadap pendapat, sikap, sentimen, opini, evaluasi dan emosi individu berdasarkan teks, terhadap satu entitas seperti jasa dan produk dikenal dengan sentimen analisis (Liu, 2012). Analisis sentimen berdasarkan aspek memiliki manfaat yang lebih jelas dan lebih baik dalam proses analisa sentimen. Pada bidang produk dan jasa, penerapan aspect based sentiment analysis dalam pengolahan analisis review

(16)

2 aspek produk dari pengguna dapat memberikan hasil yang lebih baik dan mengidentifikasi pengembangan pelayanan produk. Penggunaan suatu produk yang semakin banyak, menyebabkan review tentang produk juga bertambah banyak, dan data akan terus bertambah.

Dengan bertambahnya data tersebut akan membutuhkan waktu komputasi yang tinggi dalam proses pengolahannya. Ekstrasi fitur merupakan salah satu penyelesaian yang boleh dilakukan dalam mengendalikan proses komputasi yang tinggi. Dalam proses pengolahan, dibutuhkan sebuah metode yang dilatih untuk menganalisa sentimen yang akan diuji.

Penelitian terkait sudah pernah dilakukan oleh pihak sebelumnya dengan menerapkan metode yang beragam, diantaranya penelitian oleh Nasa Zata Dina et al. (2020) melakukan penelitian berjudul Aspect Based Sentiment Analysis of Employee’s Review Experience. Pada penelitian ini, dataset yang digunakan berupa ulasan pengalaman pekerja dari situs Glassdoor.

Penelitian ini menggunakan POS Tagging dan TF. Nilai precision terbaik yang didapat pada penelitian ini adalah sebesar 86,67% pada ulasan perusahaan Google pada aspek company benefit.

Mhd Theo Ari Bangsa et al. (2020) melakukan penelitian Aspect-Based Sentiment Analysis of Online Marketplace Reviews Using Convolutional Neural Network. Penelitian ini dilakukan untuk mengklasifikasi sentimen bahasa Indonesia berbasis aspek terhadap ulasan pada toko online bukalapak.com, dengan menerapkan metode CNN dan Word2Vec. Hasil akurasi pengujian yang didapat pada penelitian ini adalah sebesar 85,54%.

Pada penelitian ini, penulis menggunakan algoritma Extreme Gradient Boosting (XGBoost) dalam proses klasifikasi sentimen berdasarkan aspek. Metode XGBoost merupakan salah satu metode yang mampu menghasilkan nilai akurasi yang cukup baik dalam bidang klasifikasi terbukti pada penelitian yang berjudul Sentiment Analysis for e-payment Service Providers Using Evolution Extreme Gradient Boosting oleh D. A. Al-Qudah et al. (2020) dengan akurasi sebesar 82,8%.

Berdasarkan latar belakang diatas, maka penulis mengajukan penelitian yang berjudul

“ASPECT BASED SENTIMENT ANALYSIS PADA REVIEW PRODUK KECANTIKAN MENGGUNAKAN EXTREME GRADIENT BOOSTING”.

(17)

1.2 Rumusan Masalah

Untuk meningkatkan kualitas produk kecantikan, perusahaan perlu menganalisa opini dari pengguna. Dalam proses analisa tersebut, perusahaan akan mengekstrak informasi dalam jumlah yang banyak serta membutuhkan waktu komputasi yang cukup tinggi. Sehingga dibutuhkan pendekatan analisis dalam proses analisa opini pengguna yang mengolah data dalam jumlah yang banyak.

1.3 Tujuan Penelitian

Dilakukannya penelitian ini dengan tujuan untuk menganalisa implementasi algoritma Extreme Gradient Boosting dalam mengklasifikasi sentiment terhadap aspek pada review produk kecantikan.

1.4 Batasan Masalah

Yang menjadi batasan pemasalahan pada penelitian ini ialah:

1. Data menggunakan bahasa Indonesia.

2. Penentuan sentimen berdasarkan kata dan tidak dari emoji.

3. Aspek yang diuji meliputi harga, kemasan, kualitas, dan aroma.

1.5 Manfaat Penelitian

Manfaat dari penelitian ini yaitu :

1. Mempelajari implementasi kinerja metode ekstraksi fitur TF-IDF dan algoritma Extreme Gradient Boosting pada aspect based sentiment analysis untuk review produk.

2. Sebagai informasi kepada pihak perusahaan guna meningkatkan produk kecantikan mereka berdasarkan review pengguna.

(18)

4

1.6 Metodologi Penelitian

Tahapan dalam proses penelitian diuraikan sebagai berikut:

1.6.1. Studi Literatur

Penulis mengkaji filosofi dan pemahaman yang berinterkoneksi dengan penelitian.

Pemahaman tersebut dikumpulkan melalui bahan refrensi, literatur, penelitian sudah pernah dilakukan sebelumnya dan sejumlah sumber lain yang berkaitan dalam penelitian ini.

1.6.2. Analisis Permasalahan

Penulis menganalisa teori-teori yang sudah dikumpulkan sebelumnya dan mengkaji pemahaman metode yang diterapkan untuk mengatasi permasalahan pada penelitian ini.

1.6.3. Perancangan

Penulis melakukan rancangan arsitektur umum, mengumpulkan data, dan merancang tampilan antarmuka sistem.

1.6.4. Implementasi

Penulis menerapkan rancangan yang telah ditetapkan untuk membangun sitem.

1.6.5. Pengujian

Penulis akan melakukan proses uji performa pada implementasi tersebut untuk memastikan sistem yang dibangun berjalan dengan baik.

1.6.6. Penyusunan Laporan

Penulis akan melengkapi dokumentasi laporan dari penelitian yang dilakukan dalam bentuk skripsi.

(19)

1.7. Sistematika Penulisan

Sistematika penulisan yang dilakukan dalam penelitian ini diuraikan menjadi sejumlah bagian utama yakni:

Bab 1: Pendahuluan

Bab pendahuluan menguraikan penjelesan latar belakang judul penelitian “Aspect Based Sentiment Analysis Pada Review Produk Kecantikan Menggunakan Extreme Gradient Boosting”, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian dan sistematika penulisan.

Bab 2: Landasan Teori

Bab landasan teori menguraikan konsep terkait yang diterapkan dalam proses pemahaman masalah yang akan dikaji pada penelitian ini serta kosep teori yang berhubungan dengan klasifikasi sentiment, metode XGBoost dan ekstraksi fitur,

Bab 3: Analisis dan Perancangan Sistem

Pada bab ini didapat informasi berupa analisis proses arsitektur umum, penerapan metode XGBoost, klasifikasi sentiment, dan rancangan sistem yang dibuat.

Bab 4: Implementasi dan Pengujian Sistem

Penjelasan pada bagian implementasi dan pengujian sistem didapat informasi berupa penerapan analisis dan perancangan sistem yang disusun pada Bab 3 dan pemaparan uji sistem yang telah disusun.

Bab 5: Kesimpulan dan Saran

Pada bab ini didapat informasi berupa kesimpulan dari bahasan penelitian yang dilakukan dan saran untuk penelitian yang akan dilakukan berikutnya.

(20)

BAB 2

LANDASAN TEORI

2.1. Text Preprocessing

Data berupa teks memiliki derau dan perlu dilakukan filtrasi pada saat pengolahan data sehingga lebih mudah dan terstruktur untuk pencapaian akurasi yang lebih baik. Penggunaan teknik preprocessing yang tepat, dapat membantu suatu model Machine Learning memiliki kualitas yang lebih baik (Kannan et al., 2015). Pada tahap ini, data yang diolah dipersiapkan untuk menghasilkan clean words yang akan digunakan untuk tahap proses selanjutnya.

Penerapan proses tahap text processing di penelitian ini terdiri dari cleaning, case folding, punctual removal, normalization, stopword removal, dan stemming. Penggunaan data bersumber dari situs Female Daily dan diperoleh dengan proses crawling. Pada Gambar 2.1 merupakan contoh data mentah pada sistus Female Daily.

Gambar 2.1. Contoh data mentah femaledaily review 2.2. Sentiment Analysis

Sentimen analisis adalah suatu metode yang digunakan untuk menganalisa suatu pernyataan, opini, dan sentimen yang mendasari perasaan dan bersumber dari dalam teks (Liu, 2012).

Sentimen analisis merupakan proses pengolahan teks yang berupa kalimat atau paragraph seperti pendapat atau guna menghasilkan nilai sentimen. Nilai tersebut dapat ditentukan dengan menganalisa setiap kalimat, dan kemudian mengelompokkan kedalam jenis positif, negatif, dan netral.

Polaritas positif (1), digunakan untuk melambangkan sentimen yang bersifat positif seperti pernyataan yang mengarah kebahagiaan dan persetujuan. Polaritas negatif (-1) digunakan untuk melambangkan sentimen yang bersifat negatif seperti pernyataan yang mengarah penolakan, amarah, dan kecewa. Polaritas netral (0) digunakan untuk

(21)

melambangkan sentimen yang tidak menujukkan sentimen positif atau sentimen negatif (Ridi Ferdiana et al. 2019)

Dalam bidang penelitian seperti Natural Language Processing (NLP), Text Mining, serta Data Mining, implementasi sentimen analisis berguna untuk bagian produk dan jasa guna melakukan evaluasi dan meningkatkan mutu produk dan jasa melalui opini dan pendapat dari pengguna (King, 2011).

2.3. Aspect Based Sentiment Analysis

ABSA (Aspect Based Sentiment Analysis) ialah metode pengolahan analisa yang lanjutan dari bidang dari sentimen analisis. Sentimen analisis merupakan proses pengolahan data teks untuk menghasilkan nilai sentimen tersebut. Namun pada sentimen analisis, pengolahan data yang digunakan masih menggunakan secara keseluruhan. Tujuan dari ABSA ini adalah untuk menganalisis sejumlah teks dan menentukan sentimen pada setiap aspek yang berbeda. Selain itu, ABSA juga digunakan untuk memkasimalkan performa analisis sentimen. Aspect Based Sentiment Analysis (ABSA) dapat menganalisis teks yang tidak terstruktur. Kemudian teks tersebut dipecah menjadi beberapa bagian aspek dan dilakukan alokasi masing-masing tingkatan sentimen menjadi kelompok sentimen positive, negative, dan netral (Pontiki et al, 2016).

Menurut Liu (2012) analisis sentimen berdasarkan aspek dilakukan karena lebih memfokuskan pada hal yang lebih rinci. Pada analisis sentimen berdasarkan aspek, opini akan di analisa dan kemudian membagi kelompok kalimat tersebut dengan nilai sentimen positif, negatif, netral dan target dari opini itu. Target ini digunakan dalam proses analisa kalimat yang terdapat dalam sebuah kalimat. Misalkan terdapat dalam sebuah kalimat review “produk ini bagus dan ampuh banget di kulit aku, namun baunya sedikit menyengat dan aneh. untuk harga juga ini mahal”. Dari contoh kalimat review tersebut, disimpulkan bahwa kualitas produk itu bagus dan ampuh sehingga digolongkan menjadi positif, namun ketika dianalisa lebih rinci terdapat kalimat yang memiliki nilai negative karena pada aroma itu bau dan harga juga mahal.

Hal tersebut ialah menjadi hal yang diperhatikan pada analisis sentimen berdasarkan aspek untuk sebuah produk.

2.4. TF-IDF (Term Frequency – Inverse Document Frequency)

TF-IDF ialah salah satu teknik pembobotan kata yang digunakan dalam mencerminkan relevan kata muncul dalam sebuah dokumen. Nilai bobot yang terdapat di dalam sebuah kata dapat

(22)

8 ditentukan dengan menggunakan kata unik dalam dokumen. Untuk menghitung kemunculan kata di dalam dokumen dapat menggunakan TF. Skor tersebut dihasilkan dari jumlah term i yang muncul dalam dokumen j terhadap jumlah seluruh term pada dokumen j dan ditunjukkan pada persamaan 2.1. Nilai TF akan semakin besar ketika nilai kata yang muncul pada dokumen banyak.

tf(ij)= 𝑓𝑑 (𝑖)

𝑓𝑑(𝑗) (2.1)

Sedangkan IDF dapat digunakan untuk menghitung seringnya kata muncul didalam kumpulan seluruh dokumen. Proses pencarian kata unik akan terhambat ketika didalam sebuah dokumen terdapat kata yang dominan muncul. Sehingga untuk mendapat skor idf ditunjukkan pada persamaan 2.1. Dan untuk mendapat skor tf-idf ditunjukkan pada persamaan 2.2. Pada nilai IDF, nilai akan semakin besar ketika kata yang muncul pada dokumen sedikit.

idf (t, D) = log 𝑁

𝑑𝑓(𝑡)+1 (2.2)

tftdft = tft x idft (2.3)

Berdasarkan persamaan 2.2 dan 2.3, idft ialah nilai inverse document frequency term t, dan D ialah sejumlah keseluruhan dokumen, df(t) ialah sejumlah dokumen yang ditemukan term t.

2.5.Extreme Gradient Boosting (XGBoost)

Extreme Gradient Boosting atau XGBoost merupakan salah satu jenis metode ensemble berdasarkan gradient boosting tree, sehingga menghasilkan performa kerja yang lebih cepat dan scalable karena mampu mengatasi masalah klasifikasi dan regresi (Chen et al, 2016).

Rancangan pembangunan dari metode ini dilakukan dengan penggabungan kinerja boosting dan gradient boosting machine (Friedman, 2001). Pada Gambar 2.2 merupakan bagan algoritma XGBoost.

Gambar 2.2. Bagan Algortima XGBoost (Mo et al., 2019)

(23)

Metode XGBoost berproses dengan menerapkan setiap predictor atau prediksi secara sekuensial dan mengubah menjadi model berdasarkan nilai residual error yang terjadi pada model sebelumnya untuk meningkatkan kinerja proses klasifikasi (Schapire et al, 1998).

Persamaan yang digunakan untuk mendapatkan nilai prediksi awal atau h0 (x)dan nilai residual error (Ŷ) dari model pertama dengan menerapkan persamaan 2.4 dan 2.5 berikut.

h0 (x) = mean (Y) (2.4)

Ŷ = Y - h0 (x) (2.5)

Setelah proses pembangun model pertama dibangun, dilanjutkan dengan membangun model kedua dengan menerapkan nilai residual error yang dihasilkan dari model pertama untuk memperoleh nilai prediksi kedua. Kemudian pada proses pembangunan model ketiga akan menerapkan nilai residual error yang dihasilkan dari model pertama dan kedua untuk memperoleh nilai prediksi ketiga. Dari hasil prediksi tersebut akan dilakukan perhitungan nilai prediksi dari model sebelumnya dan diuraikan pada persamaan 2.6

Ŷi(t)= ∑𝑡𝑘=1𝑓k(xi) (2.6)

Dengan keterangan sebagai berikut:

Ŷi(t) = merupakan nilai prediksi

fk(xi) = merupakan model baru yang akan dibangun.

t = merupakan jumlah total model dari keseluruhan model pohon

Dan selanjutnya dengan menggunakan gradient boosting, nilai error dapat diperkecil pada saat model baru dibuat (Annisa et al, 2017). Model yang belajar akan membentuk garis vertikal dan horizontal untuk proses klasifikasi, sehingga akan menghasilkan hasil yang baik. Pada Gambar 2.3 merupakan gambar ilustrasi proses boosting.

(24)

10

Gambar 2.3. Proses Boosting (Sumber: datacamp.com)

Cara kerja yang dilakukan metode Extreme Gradient Boosting (Dayananda, 2020) pada saat proses klasifikasi yakni:

1. Lakukan input data.

2. Langkah berikutnya adalah memprediksi dengan menghitung nilai residual pada seluruh titik dari nilai prediksi sebelumnya.

3. Pada langkah ketiga ini, akan dilakukan perbandingan berdasarkan letak pohon. Pada saat pohon ke-i sudah dibangun dan belum mencapai pohon ke-m, maka pohon ke-m akan dilatih, namun ketika pohon ke-i sudah mencapai pohon ke-m maka prediksi akhir akan dilakukan.

4. Langkah berikutnya adalah dengan menghitung nilai similiarity diuraikan pada persamaan 2.7 dan nilai gain yang diuraikan pada persamaan 2.8 pada seluruh pohon untuk menemukan pohon yang split.

Similiarity Score = ( ∑Ŷ𝑖)

2

∑[𝑃𝑟𝑒𝑣𝑖𝑜𝑢𝑠 𝑓𝑖(𝑥).(1−𝑃𝑟𝑒𝑣𝑖𝑠𝑖𝑜𝑠 𝑓𝑖(𝑥)]+𝜆 (2.7) Dengan keterangan sebagai berikut:

∑Ŷ𝑖 = nilai residual

𝑃𝑟𝑒𝑣𝑖𝑜𝑢𝑠 𝑓𝑖(𝑥) = nilai probabilitas pada saat f(i)

𝜆 = nilai parameter untuk pemangkasan node (0)

𝐺𝑎𝑖𝑛 = (𝐿𝑒𝑓𝑡similiarity + 𝑅𝑖𝑔ℎ𝑡similiarity) – Rootsimiliarity (2.8) Dengan keterangan sebagai berikut:

𝐿𝑒𝑓𝑡similiarity = nilai similiarity pada node sebelah kiri

(25)

𝑅𝑖𝑔ℎ𝑡similiarity = nilai similiarity pada node sebelah kanan

𝑅𝑜𝑜𝑡similiarity = nilai similiarity pada akar node

5. Apabila node memiliki nilai gain yang maksimal, maka split akan dilakukan kembali.

6. Berikutnya adalah dengan melakukan pruning atau pemangkasan yang bertujuan untuk memperkecil ukuran node serta menghilangkan bagian node yang memiliki performa yang kecil dan pemrosesan.

7. Menghitung nilai output untuk semua leaf dengan tujuan mendapatkan pohon terakhir dari model ke-m yang diuraikan pada persamaan 2.9.

Output Value = ( ∑Ŷ𝑖)

∑[𝑃𝑟𝑒𝑣𝑖𝑜𝑢𝑠 𝑓𝑖(𝑥).(1−𝑃𝑟𝑒𝑣𝑖𝑠𝑖𝑜𝑠 𝑓𝑖(𝑥)]+𝜆 (2.9)

Dengan keterangan sebagai berikut:

∑Ŷ𝑖 = nilai residual

𝑃𝑟𝑒𝑣𝑖𝑜𝑢𝑠 𝑓𝑖(𝑥) = nilai probabilitas pada saat f(i)

𝜆 = nilai parameter untuk pemangkasan node (0) 8. Menghtiung prediksi dari model ke-m.

9. Pada langkah terakhir, proses perulangan dilakukan kembali pada langkah ketiga untuk dilakukan prediksi akhir.

2.6.Penelitian Terdahulu

Beberapa penelitian terkait dengan bermacam model yang telah dilakukan pihak sebelumnya, yakni penelitian oleh Malik et al. (2019) melakukan penelitian Comparation Analysis of Ensemble Technique With Boosting (XGBoost) and Bagging (Random Forest) for Classify Splice Junction DNA Sequence Category. Dalam penelitiannya, melakukan perbandingan metode ensamble yaitu Extreme Gradient Boosting dan Random Forest pada klasifikasi rangkaian DNA. Hasil terbaik didapat menunjukkan 96,24% pada penerapan metode Extreme Gradient Boosting

Jun Sheng et al. (2019) melakukan penelitian Sentiment Analysis of Chinese Product Reviews using Gated Recurrent Unit. Penelitian ini bertujuan untuk menganalisis sentimen pengguna dengan menggunakan bahasa cina pada suatu platform e-commerce Cina, dan mengklasifikasikan sentimen tersebut dengan menggunakan Gated Recurrent Unit. Pengujian dataset dipisah menjadi dua bagian kelompok yakni positif dan negatif. Bagian pertama dengan

(26)

12 membagi data uji seimbang (50:50) menunjukkan akurasi sebesar 87,66%, sedangkan hasil pada data uji tidak seimbang (18:82) menunjukkan akurasi sebesar 87,9%.

D. A. Al-Qudah et al. (2020) melakukan penelitian dengan judul Sentiment Analysis for e- payment Service Providers Using Evolution Extreme Gradient Boosting Penelitian ini bertujuan untuk mengklasifikasikan sentiment masyarakat terhadap penyedia layana pembayarna elektronik. Penelitian ini menerapkan metode ekstrasi fitur TF-IDF. Dan untuk metode klasifikasi sentimen, melakukan perbandingan metode XGBoost, J84, Naïve Bayes, dan KNN untuk mengkategorikan sentimen ke positif, negatif dan netral. Hasil akurasi terbaik yang didapat adalah dengan penerapan metode XGBoost sebesar 82,8%.

Nasa Zata Dina et al. (2020) melakukan penelitian berjudul Aspect Based Sentiment Analysis of Employee’s Review Experience. Pada penelitian ini, dataset yang digunakan berupa ulasan pengalaman pekerja dari situs Glassdoor. Penelitian ini menggunakan POS Tagging dan TF. Nilai precision terbaik dalam penelitian ini terdapat pada ulasan perusahaan Google sebesar 86,67% pada aspek company benefit. Sedangkan nilai recall terbaik terdapat pada ulasan perusahaan Google yaitu sebesar 95,8% pada aspek culture value.

Mhd. Theo Ari Bangsa et al. (2020) melakukan penelitian Aspect-Based Sentiment Analysis of Online Marketplace Reviews Using Convolutional Neural Network. Penelitian ini dilakukan untuk mengklasifikasi sentimen bahasa Indonesia berdasarkan aspek dari ulasan bukalapak.com, dengan menerapkan metode CNN dan Word2Vec. Hasil akurasi pengujian yang didapat pada penelitian ini adalah sebesar 85.54%.

Penelitian berjudul Klasifikasi Sentimen Masyarakat Terhadap Kinejra KPK Menggunakan Algoritma Multinomial Naïve Bayes (Novalina, 2020). Penelitian ini dilakukan untuk mengklasifikasikan sentimen kinerja KPK, dengan menggunakan multinomial naïve bayes dan TF-IDF pada pembobotan kata. Hasil akurasi yang didapat adalah 85.64%

(27)

Rincian singkat penelitain yang telah dilakukan ditampilkan dalam Tabel 2.1 Tabel 2.1 Penelitian terdahulu

No Peneliti Metode Judul Keterangan

1. Malik et al.

(2019)

Extreme Gradient Boositng dan Random Forest

Comparation Analysis of Ensemble Technique With Boosting (XGBoost) and Bagging (Random Forest) for

Classify Splice Junction DNA Sequence Category

Peneliti melakukan perbandingan metode antara XGBoost dan Random Forest dalam proses klasifikasi rangkaian DNA. Hasil terbaik yang didapat untuk klasifiksi adalah sebesar 96,24%

pada penerapan metode XGBoost

2. Jun Sheng et al. (2019)

Gated Recurrent Unit

Sentiment Analysis of Chinese Product Reviews using Gated Recurrent Unit

Menganalisis sentimen pengguna pada platform e-commerce Cina dengan menggunakan bahasa cina, dan pengklasifikasi

sentimen tersebut menggunakan GRU. Pengujian dataset dibagi menjadi 2 bagian yaitu seimbang dan tidak seimbang. Hasil

akurasi dengan data uji seimbang (50:50) sebesar 87,66%,

sedangkan akurasi dengan data uji tidak seimbang (18:82) sebesar 87,9%.

(28)

14

Tabel 2.1. Penelitian Terdahulu (Lanjutan)

No Peneliti Metode Judul Keterangan

3. D. A. Al- Qudah et al.

(2020)

XGBoost Sentiment Analysis for e- payment Service Providers Using Evolution Extreme Gradient Boosting

Penelitian ini dilakukan untuk menganalisis sentiment

pengguna terhadap penyediaan layanan pembayaran elektronik.

Dengan menerapkan beberapa metode seperti XGBoost, J84, Naïve Bayes, dan KNN, didapat hasil akurasi terbaik dengan penerapan metode XGBoost sebesar 82,8%.

4. Nasa Zata Dina et al.

(2020)

POS Tagging dan TF

Aspect Based Sentiment Analysis of Employee’s Review Experience

Pada penelitian ini, dataset yang digunakan bersumber pada situs Glassdoor berupa ulasan

pengalaman pekerja.

Menerapkan metode POS Tagging dan TF, menghasilkan nilai precision terbaik sebesar 86,67% untuk aspek company benefit. Dan sebesar 95,8% nilai recall terbaik yang didapat untuk aspek culture value.

5. Mhd. Theo Ari Bangsa et al. (2020)

Convolutional Neural

Network dan Word2Vec

Aspect-Based Sentiment

Analysis of Online Marketplace Reviews Using Convolutional Neural Network

Penelitian ini bertujuan untuk mengklasifikasikan sentimen bahasa Indonesia berdasrkan aspek dari ulasan bukalapak.com dengan menggunakan metode CNN dan Word2Vec. Hasil akurasi yang didapat adalah sebesar 85,54%.

(29)

Tabel 2.1. Penelitian Terdahulu (lanjutan)

No Peneliti Metode Judul Keterangan

6. Novalina, 2020

TF-IDF dan Multinomial Naïve Bayes

Klasifikasi sentimen masyarakat

terhadap kinerja KPK dengan Multinomial Naïve Bayes

Peneliti melakukan klasifikasi sentimen masyarakat terhadap

kinerja KPK dengan

menggunakan multinomial naïve bayes dan TF-IDF pada pembobotan kata. Hasil akurasi yang didapat adalah 85.64%

2.7.Perbedaan Penelitian

Ada sejumlah hal yang membedakan penelitian ini dengan sejumlah penelitian yang sudah diuraikan. Pada penelitian sebelumnya beberapa peneliti masih hanya melakukan penelitian pada sentiment analysis. Selain itu, sejumlah peneliti yang telah meneliti analisis sentimen berdasarkan aspek, belum terdapat yang melakukan penelitian terhadap hasil review produk kecantikan berdasarkan empat aspek seperti harga, kemasan, kualitas dan aroma suatu produk. Sehingga pada penelitan ini, peneliti melakukan penelitian analisis sentimen berdasarkan aspek terhadap produk kecantikan dengan menerapkan metode Extreme Gradient Boosting.

(30)

16

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1.Dataset

Penggunaan data di penelitian ini merupakan kumpulan review produk kecantikan yang sudah melewati proses crawling yang bersumber dari situs female daily, dan akan disimpan dalam format .csv. Review untuk produk kecantikan tersebut didapat dari beberapa kategori produk seperti sun protection, serum, toner, scrub, perfume dan lip product dengan menggunakan bahasa Indonesia. Jumlah data dari hasil crawling produk adalah 1500 data. Lalu data tersebut dibagi menjadi data latih dan data uji dengan rasio 0,8:0,2. Sehingga sejumlah 1200 ialah data latih, dan 300 data uji. Data latih dilakukan pemberian nilai label secara manual oleh penulis menjadi tiga kelompok sentiment yakni review dengan sentiment positive, negative, dan netral.

Dalam menentukan label sebuah kalimat, harus dilakukan validasi data dengan melibatkan pandangan dari berbagai pihak (William et al, 2020). Sehinga label data telah divalidasi dengan cara membagi data review kedalam 10 file excel, dan disetiap masing-masing file terdapat sejumlah 150 data. Penulis kemudian mengirimkan data tersebut kepada 30 orang responden, yang dikelompokkan menjadi 3 orang dan untuk setiap kelompok responden melakukan evaluasi terhadap data yang berbeda. Latar belakang dari responden ialah pengguna yang umumnya paham, peduli dan antusias terhadap produk kecantikan dan berjenis kelamin perempuan dengan intensitas usia 18-21 tahun. Sehingga dapat diperoleh keseluruhan jumlah data seperti tabel 3.1.

Pengelompokkan data dapat dilihat pada Tabel 3.1 berikut:

Tabel 3.1. Pengelompokkan Data

Dataset Aspek Positive Negative Netral

Harga 392 331 477

Kemasan 330 252 618

(31)

Tabel 3.1. Lanjutan Pengelompokkan Data

Dataset

Aspek Positive Negative Netral

Kualitas 512 273 415

Aroma 418 260 522

3.2.Arsitektur Umum

Terdapat beberapa tahapan pemrosesan yang diterapkan dalam penelitian ini. Tahapan-tahapan tersebut yakni mengumpulkan data yang diterapkan pada proses training dan testing. Langkah berikutnya yaitu Pre-processing yakni proses Cleaning, Case Folding, Punctual Removal, Normalization, Stopword Removal, dan Stemming. Kemudian data tersebut akan melalui proses pembobotan kata dengan menggunakan tf-idf. Kemudian, data akan dilatih dan menghasilkan suatu model yang akan digunakan pada proses uji. Arsitektur umum yang menggambarkan metode penelitian terlihat pada Gambar 3.1

Gambar 3.1. Arsitektur Umum

(32)

18

3.2.1 Input

Input pada penelitian ini berupa data review produk kecantikan dan terdiri dari enam kategori produk kecantikan seperti sun protection, serum, toner, scrub, perfume dan lip product. Data berupa kumpulan review sudah dipisah berdasarkan kategori secara manual ke 3 bagian yakni positif, negatif, dan netral. Setiap review yang dinyatakan positif (1) adalah ketika menyatakan sentimen berdasarkan pernyataan bahagia dan persetujuan. Review yang dinyatakan negative (-1) ketika menyatakan pernyataan kecewa, amarah dan penolakan. Dan untuk review yang dinyatakan netral (0) adalah ketika aspek yang bersangkutan tidak terdapat didalam kalimat review. Data tersebut akan menjadi acuan untuk sistem dapat dilatih. Contoh kalimat review diuraikan pada tabl 3.2 berikut.

Tabel 3.2. Contoh Kalimat Review

Kalimat Kelompok Aspek

Harga Kemasan Kualitas Aroma 1. aku tidak suka karena di wajah aku ini iritasi

dan kering banget. untuk harga ini cukup terjangkau

1 0 -1 0

2. produk terbaik yang aku punya karena cocok dan ampuh banget di wajah aku yang kering.

tapi ini bau dan aneh. dia terbuat dari kaca sehingga gampang pecah

0 -1 1 -1

3. Aku suka banget sama kemasannya karena dia praktis dan kokoh. Untuk isi segini mahal ini menurut aku dia juga tenang di wajah, dan untuk aroma ini harum

-1 1 0 1

3.2.2 Text Processing

Pada tahap ini data sudah ada akan di proses pada tahapan preprocessing, yaitu;

3.2.2.1 Cleaning

Cleaning merupakan tahap awal yang dilakukan. Cleaning befungsi membersihkan data dari term yang tidak diperlukan yang dapat mempengaruhi makna kata. Pada penelitian ini, proses cleaning dilakukan untuk menghilangkan emoji dan beberapa entitas karakter seperti spasi,

(33)

petik ganda, dan karaker yang tidak dibutuhkan sehingga dapat mengurangi derau dari data yang akan digunakan. Contoh tahap cleaning ditunjukkan tabel 3.3.

Tabel 3.3. Tahapan Cleaning

Review sebelum diproses Review setelah Proses Cleaning SUMPAH YA PRODUK INI BIKIN

SEDIH BANGET!!!! BURUK BANGET!!!

😭&nbsp pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu

harganya mahal kan jadi kecewa banget. ga akan repurchase lg.

SUMPAH YA PRODUK INI BIKIN SEDIH BANGET!!!! BURUK BANGET!!!

pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu harganya mahal kan jadi kecewa banget. ga akan repurchase lg.

3.2.2.2 Case Folding

Proses ini merupakan tahap yang berfungsi untuk melakukan penyeragaman seluruh huruf kapital pada kalimat review menjadi huruf kecil (lowercase). Penyeragaman karakter pada tahap ini mempermudah untuk menghapus karakter yang tidak dibutuhkan untuk proses berikutnya. Penerapan proses case folding ditunjukkan tabel 3.4.

Tabel 3.4. Tahapan Case Folding

Review sebelum Proses Case Folding Review setelah Proses Case Folding SUMPAH YA PRODUK INI BIKIN SEDIH

BANGET!!!! BURUK BANGET!!! pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu harganya mahal kan jadi kecewa banget. ga akan repurchase lg.

sumpah ya produk ini bikin sedih banget!!!!

buruk banget!!! pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu harganya mahal kan jadi kecewa banget. ga akan repurchase lg.

3.2.2.3 Punctual Removal

Punctual Removal dilakukan untuk menghilangkan semua tanda baca dan angka yang terdapat pada review kalimat sehingga menjadi karakter yang lebih sederhana untuk diproses pada tahap berikutnya. Contoh tahap punctual removal ditunjukkan pada tabel 3.5.

(34)

20

Tabel 3.5. Tahapan Punctual Removal

Review sebelum Proses Punctual Removal Review setelah Proses Punctual Removal sumpah ya produk ini bikin sedih banget!!!!

buruk banget!!! pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu harganya mahal kan jadi kecewa banget. ga akan repurchase lg.

sumpah ya produk ini bikin sedih banget buruk banget pas pake bikin muka jd ungu padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu bikin muka ungu udah gitu harganya mahal kan jadi kecewa banget ga akan repurchase lg

3.2.2.4 Normalization

Normalization merupakan proses yang dilakukan untuk menormalisasi kata dalam data. Tahap ini dilakukan untuk memperbaiki penulisan kata seperti singkatan dan typo sehingga kata yang dihasilkan menjadi terstruktur. Struktur kalimat dan kosakata, merupakan hal yang mendasar pada proses normalization. Hasil yang lebih baik akan diperoleh ketika variasi kata dalam kalimat lebih spesifik dan dalam jumlah yang sedikit. Pada penelitian ini, penulis menggunakan sebuah dictionary yang telah disediakan sebelumnya dan penulis juga menyusun dictionary yang baru sehingga pemrosesan pada tahap normalisasi akan lebih baik. Proses yang dilakukan pada tahap ini dengan melakukan penormalan kata singkatan seperti “bikin” menjadi “buat”,

“pake” menjadi “pakai”, “jd” menjadi “jadi”, “bener” menjadi “benar”, “matte” menjadi

“kering”, “gt” menjadi “begitu”, “ku” menjadi “aku”, “yg” menjadi “yang”, “udah” menjadi

“sudah”, “ga” menjadi “tidak”, “repurchase” menjadi “beli lagi”, “lg” menjadi “lagi”, serta kata-kata typo lain yang tidak sesuai dengan bahasa Indonesia. Contoh tahap normalization ditunjukkan pada tabel 3.6.

Tabel 3.6. Tahapan Normalization

Review sebelum Proses Normalization Review setelah Proses Normalization sumpah ya produk ini bikin sedih banget

buruk banget pas pake bikin muka jd ungu padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu bikin muka ungu udah gitu harganya mahal kan jadi kecewa banget ga akan repurchase lg

sumpah ya produk ini buat sedih banget buruk banget pas pakai buat muka jadi ungu padahal ini benar benar buat kering begitu di muka aku yang super berminyak ini tapi sayang nya itu buat muka ungu sudah begitu harganya mahal kan jadi kecewa banget tidak akan beli lagi lagi

(35)

3.2.2.5 Stopword Removal

Stopword Removal ialah proses yang dilakukan untuk menghilangkan kata-kata yang sering muncul dan tidak berguna serta kata hubung lainnya tidak bermakna. Tahap ini dilakukan untuk menghilangkan kalimat menjadi kalimat yang lebih sederhana. Pada penelitian ini penulis menggunakan library NLTK (Natural Language Tool Kit) dalam proses stopword removal.

Adapun contoh kata yang akan dihapus seperti “ya”, “ini”, “buat”, “padahal”, “benar”, “di”,

“aku”, “yang”, “tapi”, “nya”, “itu”, “sudah”, “begitu”, “kan”, “jadi”, “akan”, “beli”. Contoh tahap stopword removal ditunjukkan pada tabel 3.7.

Tabel 3.7. Tahapan Stopword Removal

Review sebelum diproses Review setelah dilakuaStopword Removal sumpah ya produk ini buat sedih banget

buruk banget pas pakai buat muka jadi ungu padahal ini benar benar buat kering begitu di muka aku yang super berminyak ini tapi sayang nya itu buat muka ungu sudah begitu harganya mahal kan jadi kecewa banget tidak akan beli lagi lagi

sumpah produk sedih banget buruk banget pas pakai muka ungu kering muka super berminyak sayang muka ungu harganya mahal kecewa banget tidak beli

3.2.2.6 Stemming

Stemming dilakukan untuk menghilangkan imbuhan kata yang ada dalam kalimat review menjadi kata dasar. Penghilangan imbuhan kata ditujukan dalam pemudahan menemukan kata yang muncul agar sesuai makna. Pada penelitian ini, stemming dilakukan menggunakan library Sastrawi, namun pada pemrosesannya penggunaan library Sastrawi membutuh waktu yang cukup tinggi dalam prosesnya. Contoh tahap stemming ditampilkan pada tabel 3.8 berikut

Tabel 3.8. Tahapan Stemming

Review sebelum Stemming Review setelah Proses Stemming sumpah produk sedih banget buruk banget

pas pakai muka ungu kering muka super berminyak sayang muka ungu harganya mahal kecewa banget tidak beli

sumpah produk sedih banget buruk banget pas pakai muka ungu kering muka super minyak sayang muka ungu harga mahal kecewa banget tidak beli

(36)

22

3.2.3. TF-IDF (term frequency-inverse document frequency)

TF-IDF ialah salah satu teknik pembobotan kata yang digunakan untuk mencerminkan a relevan kata muncul dalam sebuah dokumen. Nilai bobot yang terdapat didalam sebuah kata dapat ditentukan dengan menggunakan kata unik dalam dokumen agar dapat diproses menjadi model yang akan digunakan pada klasifikasi Extreme Gradient Boosting. Nilai TF akan semakin besar ketika nilai kata yang muncul pada dokumen banyak. Pada nilai IDF, nilai akan semakin besar ketika kata yang muncul pada dokumen sedikit.

Nilai parameter pada jumlah dokumen dapat dijadikan sebagai nilai minimal pembobotan kata yang muncul. Nilai tersebut berupa min_df = 1 dan ngram_range = (1,1).

Nilai akurasi akan lebih baik jika dalam penentuan nilai bobot dilakukan penentuan parameter (G.A. Dalaorao, et al 2019). Pada penelitian ini penerapan TF-IDF dilakukan dengan memanfaatkan n = 1 (unigram). N-gram merupakan teknik ekstraksi fitur TF-IDF yang menghasilkan n kata menjadi satu bagian dengan cara memisahkan kata dalam kalimat. Contoh penerapan teknik unigram TF-DF adalah mengubah kata “aroma produk harum” menjadi [‘aroma’, ‘produk’, ‘harum’]. Contoh penerapaan untuk menghitung skor TF, DF, dan IDF berdasarkan 2 dokumen review berikut ditampilkan pada tabel 3.9, tabel 3.10, dan tabel 3.11.

Dokumen 1 : harga murah banget. namun menurut aku aroma ini bau dan menyengat banget Dokumen 2 : produk ini harga murah. ini cair banget. dan aroma harum

Tabel 3.9. Kemunculan Term pada Dokumen term D1 D2 Skor TF harga 1 1 2/13 = 0.15 murah 1 1 2/13 = 0.15 banget 1 0 1/13 = 0.07 namun 1 0 1/13 = 0.07 menurut 1 0 1/13 = 0.07

aku 1 0 1/13 = 0.07

aroma 1 1 2/13 = 0.15

ini 1 2 3/13 = 0.23

bau 1 0 1/13 = 0.07

(37)

Tabel 3.9. Lanjutan Kemunculan Term pada Dokumen

dan 1 1 2/13 = 0.15

menyengat 1 0 1/13 = 0.07 banget 1 1 2/13 = 0.15 produk 1 0 1/13 = 0.07 cair 0 1 1/13 = 0.07 harum 0 1 1/13 = 0.07

Pada nilai df, didapat dari jumlah dokumen letak term muncul, ditunjukkan tabel 3.10.

Tabel 3.10. Skor DF term D1 D2 Skor DF

harga 1 1 2

murah 1 1 2

banget 1 0 1

namun 1 0 1

menurut 1 0 1

aku 1 0 1

aroma 1 1 2

ini 1 2 3

bau 1 0 1

dan 1 1 2

menyengat 1 0 1

banget 1 1 2

produk 1 0 1

cair 0 1 1

harum 0 1 1

(38)

24 Dengan menerapkan persamaan 2.2, dapat dilakukan untuk menghitung nilai idf, ditunjukkan tabel 3.11.

Tabel 3.11. Skor IDF term Skor DF Skor IDF

Harga 2 Log ( 2

2+1) = 0.18

murah 2 Log ( 2

2+1) = 0.18

banget 1 Log ( 2

1+1) = 0

namun 1 Log ( 2

1+1) = 0

menurut 1 Log ( 2

1+1) = 0

aku 1 Log ( 2

1+1) = 0

aroma 2 Log ( 2

2+1) = 0.18

ini 3 Log ( 2

3+1) = 0.30

bau 1 Log ( 2

1+1) = 0

dan 2 Log ( 2

2+1) = 0.18

menyengat 1 Log ( 2

1+1) = 0

banget 2 Log ( 2

2+1) = 0.18

produk 1 Log ( 2

1+1) = 0

Dengan menerapkan persamaan 2.3 untuk menghitung nilai tf-idf, ditunjukkan tabel 3.12.

Tabel 3.12. Nilai TF-IDF

term Skor TF Skor IDF Skor TF-IDF

namun 0.07 0 0

menurut 0.07 0 0

aku 0.0.7 0 0

aroma 0.15 0.18 0.027

ini 0.23 0.30 0.069

bau 0.07 0 0

(39)

Tabel 3.12. Lanjutan Nilai TF-IDF

term Skor TF Skor IDF Skor TF-IDF

dan 0.15 0.18 0.027

menyengat 0.07 0 0

banget 0.15 0.18 0.027

produk 0.07 0 0

cair 0.07 0 0

harum 0.07 0 0

3.2.4. Extreme Gradient Boosting (XGBoost)

Extreme Gradient Boosting ialah metode yang dipalikasikan pada penelitian ini. Metode ini berupa metode ensamble berdasarkan gradient boosting. Nilai error dapat diperkecil pada saat model baru dibuat. Model yang belajar akan membentuk garis vertikal dan horizontal untuk proses klasifikasi, sehingga akan menghasilkan hasil yang baik. Pada metode ini, ukuran depth dan jumlah pohon merupakan hal yang penting untuk mengurangi loss function yang digunakan sebagai nilai kualitas struktur pohon. Apabila nilai semakin kecil, maka model yang dihasilkan juga semakin baik. Sehingga perlu dilakukan pemangkasan atau pruning untuk setiap pohon yang memiliki performa kurang baik.

Adapun penerapan yang dilakukan dalam membangun pohon pada metode Extreme Gradient Boosting:

Data yang sudah melewati proses preprocessing akan memasuki tahap pengklasifikasian menggunakan XGBoost dan data tersebut diinisialisasi menjadi data [X,Y] seperti yang diuraikan pada tabel 3.13 merupakan contoh data yang berikan:

Tabel 3.13. Data Membangun Pohon XGBoost

X Y

3 0

9 1

15 1

18 0

(40)

26 1. Lakukan prediksi awal. Pada penelitian ini nilai parameter base_score atau prediksi

awal f0(x) adalah 0.5.

2. Lakukan proses perhitungan untuk mencari nilai error atau residuals. Hasil proses perhitungan ditunjukkan tabel 3.14

Tabel 3.14. Perhitungan Error ke-1 X Y f0(x) Ŷ = y-f0(x)

3 0 0.5 -0.5

9 1 0.5 0.5

15 1 0.5 0.5

18 0 0.5 -0.5

3. Pada model latih, untuk mencegah split, pohon yang dibangun dibagi menjadi beberapa bagian, ditampilkan diGambar 3.2. Cara perhitungan ditampilkan digambar 3.2 didapat pada perhitungan tabel 3.14.

Gambar 3.2. Contoh Membangun Pohon XGBoost ke-1

Proses pada bagian kedua ditampilkan diGambar 3.3, dan proses perhitungan ditunjukkan tabel 3.15.

Tabel 3.15. Perhitungan Error ke-2

X Y Fo(x) Ŷ

3 0 0.5 -0.5

9 1 0.5 0.5

15 1 0.5 0.5

18 0 0.5 -0.5

(41)

Gambar 3.3. Contoh Membangun Pohon XGBoost ke-2

Proses pada bagian ketiga seperti pada Gambar 3.4, dan proses perhitungan diuraikan dalam tabel 3.16

Tabel 3.16. Perhitungan Error ke-3

X Y Fo(x) Ŷ

3 0 0.5 -0.5

9 1 0.5 0.5

15 1 0.5 0.5

18 0 0.5 -0.5

Gambar 3.4. Contoh Membangun Pohon XGBoost ke-3

4. Langkah berikutnya adalah menentukan batasan nilai root dengan menghitung nilai rata-rata antara 2 titik split dengan menerapkan persamaan 2.7 dan persamaan 2.8.

Proses perhitungan ditunjukkan di Gambar 3.5

(42)

28

Gambar 3.5. Perhitungan nilai similiarity dan gain

5. Lakukan pemisahan untuk pohon yang memiliki nilai gain maksimal dan akan dilakukan split yang ditunjukkan di Gambar 3.6

Gambar 3.6. Contoh Perhitungan nilai similiarity dan gain pada saat split

6. Dilanjutkan dengan melakukan pemangkasan untuk memperkecil ukuran pohon.

Berdasarkan gambar 3.6 dapat disimpulkan internal root x<4 menjadi konstruksi pohon karena memiliki nilai gain yang maksimal. Proses pemangkasan ditunjukkan pada gambar 3.7

(43)

Gambar 3.7. Contoh Proes Pemangkasan

7. Lakukan perhitungan untuk mencari nilai output untuk mendapatkan model pohon dengan menggunakan persamaan 2.9. Proses perhitungan output ditampilkan diGambar 3.8.

Gambar 3.8. Perhitungan Output

8. Lakukan kembali perulangan pada langkah ketiga untuk mendapatkan hasil terbaik pada pohon XGBoost.

3.3. Perancangan Sistem

Dalam penelitian ini sistem dibuat berbasis one-page web sebagai media antarmuka sistem dengan pengguna yang bertujuan untuk mempermuudah pengguna dalam menjalankan sistem.

Rancangan sistem pada penelitian terdari dari tiga halaman bagian, diantara halaman beranda, halaman training dan halaman testing. Adapun penjelasan rancangan untuk setiap bagian yang diterapkan pada sistem adalah sebagai berikut.

(44)

30 3.3.1 Rancangan Tampilan Beranda

Gambar 3.9 Rancangan Tampilan Beranda Dengan keterangan sebagai berikut:

1. Button A berfungsi menampilkan halaman beranda 2. Button B berfungsi menampilkan halaman training 3. Button C berfungsi menampilkan halaman testing

4. Button D berfungsi untuk mengarahkan ke halaman proses training 3.3.2 Rancangan Tampilan Training

Gambar 3.10 Rancangan Tampilan Training

(45)

Dengan keterangan sebagai berikut:

1. Button A berfungsi sebagai input file data training 2. Button B berfungsi untuk memulai proses training

3. Button C berfungsi untuk menampilkan hasil proses training yaitu berupa review sebelum dan sesudah tahap preprocessing diikuti nilai kategori sentimen setiap aspek yang sudah ditentukan

3.3.3. Rancangan Tampilan Testing

Gambar 3.11 Rancangan Tampilan Testing Dengan keterangan sebagai berikut:

1. Button A berfungsi untuk input file pada saat proses testing 2. Button B berfungsi untuk memulai proses testing

3. Button C berfungsi untuk manampilkan hasil proses testing yaitu berupa review kalimat sebelum dan sesudah tahap preprocessing, dan nilai kategori sentimen berdasarkan aspek sebelum dan sesudah diuji.

3.4. Metode Evaluasi

Untuk mengidentifikasi hasil pemrosesan sebuah model yang sudah dilatih perlu dilakukan evaluasi. Dalam penelitian ini, metode evaluasi yang diterapkan yaitu metode confussion matrix. Evaluasi yang digunakan dalam metode ini dapat ditentukan dengan berbagai cara seperti precision, recall, F-1Score, dan accuracy. Penerapan metode evaluasi confussion matrix ditunjukkan tabel 3.17 berikut:

(46)

32

Tabel 3.17. Penerapan Confussion Matrix

Label Secara Manual

Positive Negative Neutral

Hasil Identifikasi

Positive (1)

(TP) True Positve

(FP) False Positive

(FP) False Positive Negative

(-1)

(FN) False Negative

(TN) True Negative

(FN) False Negative Neutral

(0)

(FNet) False Netral

(FNet) False Netral

(TNet) True Netral

Dengan keterangan sebagai berikut:

- True Positive (TP) : representasi kelas aktual berlabel positif yang diprediksi kalimat positif.

- False Positive (FP) : representasi kelas aktual berlabel negatif yang diprediksi kalimat positif

- True Negative (TN): representasi kelas aktual berlabel negatif yang diprediksi kalimat negatif

- False Negative (FN): representasi kelas aktual berlabel positif yang diprediksi kalimat negatif

- True Netral (TNet): representasi kelas aktual berlabel netral yang diprediksi kalimat netral

- False Netral (FNet) : representasi kelas aktual berlabel netral yang diprediksi bukan kalimat netral.

Untuk menghitung nilai precission, recall, F1-score, dan accuracy pada metode evaluasi confussion matrix yang digunakan, ditunjukan dipersamaan 3.1, 3.2, 3.3, dan 3.4 berikut:

Precision = 𝑇𝑃

𝑇𝑃+𝐹𝑃 x 100 % (3.1)

Recall = 𝑇𝑃

𝑇𝑃+𝐹𝑁 x 100 % (3.2)

F1 – score = 2 𝑥 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 𝑥 𝑅𝑒𝑐𝑎𝑙𝑙

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑅𝑒𝑐𝑎𝑙𝑙 x 100 % (3.3)

(47)

Accuracy = 𝑇𝑃+𝑇𝑁+𝑇𝑁𝑡

𝑇𝑃+𝑇𝑁+𝑇𝑁𝑡+𝐹𝑁+𝐹𝑁𝑡+𝐹𝑃 x 100 % (3.4)

Gambar

Tabel 2.1. Penelitian Terdahulu (Lanjutan)
Tabel 2.1. Penelitian Terdahulu (lanjutan)
Gambar 3.1. Arsitektur Umum
Tabel 3.2. Contoh Kalimat Review
+7

Referensi

Dokumen terkait