• Tidak ada hasil yang ditemukan

IDENTIFIKASI PERNYATAAN MISOGINI BERBAHASA INDONESIA BERDASARKAN KOMENTAR YOUTUBE MENGGUNAKAN GLOVE EMBEDDING DAN RANDOM FOREST CLASSIFIER SKRIPSI

N/A
N/A
Protected

Academic year: 2022

Membagikan "IDENTIFIKASI PERNYATAAN MISOGINI BERBAHASA INDONESIA BERDASARKAN KOMENTAR YOUTUBE MENGGUNAKAN GLOVE EMBEDDING DAN RANDOM FOREST CLASSIFIER SKRIPSI"

Copied!
62
0
0

Teks penuh

(1)

IDENTIFIKASI PERNYATAAN MISOGINI BERBAHASA INDONESIA BERDASARKAN KOMENTAR YOUTUBE MENGGUNAKAN

GLOVE EMBEDDING DAN RANDOM FOREST CLASSIFIER

SKRIPSI

ARNESA JULIA DAMANIK 171402125

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2021

(2)

IDENTIFIKASI PERNYATAAN MISOGINI BERBAHASA INDONESIA BERDASARKAN KOMENTAR YOUTUBE MENGGUNAKAN

GLOVE EMBEDDING DAN RANDOM FOREST CLASSIFIER

SKRIPSI

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

ARNESA JULIA DAMANIK 171402125

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

2021

(3)

Judul : IDENTIFIKASI PERNYATAAN MISOGINI

BERBAHASA INDONESIA BERDASARKAN

KOMENTAR YOUTUBE MENGGUNAKAN

GLOVE EMBEDDING DAN RANDOM FOREST CLASSIFIER

Kategori : SKRIPSI

Nama : ARNESA JULIA DAMANIK

Nomor Induk Mahasiswa : 171402125

Program Studi : TEKNOLOGI INFORMASI

Fakultas : FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dr. Erna Budhiarti Nababan, M.IT. Sarah Purnamawati ST., M.Sc.

NIP. 196210262017042001 NIP. 198302262010122003

Diketahui/disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

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

NIP. 198603032010121004

(4)

iii

PERNYATAAN

IDENTIFIKASI PERNYATAAN MISOGINI BERBAHASA INDONESIA BERDASARKAN KOMENTAR YOUTUBE MENGGUNAKAN

GLOVE EMBEDDING DAN RANDOM FOREST CLASSIFIER

SKRIPSI

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

Medan, 20 Juni 2021

ARNESA JULIA DAMANIK

171402125

(5)

UCAPAN TERIMA KASIH

Puji dan syukur penulis sampaikan kepada Tuhan yang Maha Esa, karena atas kasih dan berkat-Nya penulis dapat menyelesaikan penyusunan skripsi ini yang merupakan salah satu syarat untuk memperoleh gelar Sarjana pada Program Studi S1 Teknologi Informasi, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.

Penulis tidak dapat menyelesaikan penyusunan skripsi ini apabila tidak disertai oleh doa, dukungan, dan semangat dari seluruh pihak yang terlibat dalam masa perkuliahan dan penyusunan skripsi ini sampai selesai. Adapun pada kesempatan ini penulis ingin mengucapkan terimakasih yang sebesar-besarnya kepada:

1. Keluarga penulis, Ayah Ir. Edward Janer Damanik dan Ibu Rosita Herawaty Sumbayak, S.H yang tiada henti memberikan kasih sayang, doa, dukungan, dan semangat kepada penulis hingga saat ini, begitu juga dengan kakak penulis Ruth Melda Damanik, S.Km dan abang ipar penulis Lamhot Gibson Halashon Pane, S.ST, yang juga senantiasa memberikan doa, dukungan, dan semangat kepada penulis.

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

3. Ibu Dr. Maya Silvi Lydia, M.Sc selaku Dekan Fasilkom-TI USU.

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 Dosen Pembimbing I dan juga Ibu Dr. Erna Budhiarti Nababan, M.IT. selaku Dosen Pembimbing II yang telah meluangkan waktu untuk membimbing, memberikan masukan, kritik, dan saran kepada penulis.

6. Bapak Dani Gunawan, ST., MT selaku Dosen Pembanding I, dan Bapak Indra Aulia, S.TI, M.Kom selaku Dosen Pembanding II yang telah memberikan kritik dan saran untuk membantu penyempurnaan skripsi.

7. Seluruh Dosen Program Studi S1 Teknologi Informasi yang telah memberikan

ilmu dan mengajari penulis selama perkuliahan.

(6)

v

8. Staff dan pegawai akademik Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara yang telah membantu penulis memenuhi kelengkapan administrasi dalam menyelesaikan studi.

9. Sahabat dan teman-teman seperjuangan penulis semasa kuliah Lenny Tobing, Grace Sella Ginting, Sophia Nola, Jessie Gabriella Silalahi, dan Fani Theresa yang telah banyak membantu dan sama-sama berjuang juga saling memberikan dukungan, doa, dan semangat di masa perkuliahan sampai selesai penyusunan skripsi ini.

10. Sahabat penulis yang menemani mulai dari masa SMA, Sisilia Desy Ananda Samosir, Mawar Agnes Simanjuntak, S.AB., Popy Naomi Agustina Purba, Saras Maulinita Nainggolan, Teguh Dwijaya Putra Butar-butar, dan Martin Afrizal Harianja, yang telah memberikan dukungan dan semangat kepada penulis hingga penyusunan skripsi selesai.

11. Abangku, Aldo Stepanus Simarmata yang telah banyak sekali membantu dan memberikan motivasi kepada penulis juga memberikan doa, dukungan serta semangat dari semasa kuliah hingga selesai penyusunan skripsi.

12. Kakak dan abang penulis selama masa perkuliahan, Karina Br Tanggang, Grace Siregar, Sahat Gebima Sihotang, Elwin Duha, dan Gebriel Juliendi Sitorus, yang telah memberikan nasehat, motivasi, dan semangat kepada penulis.

13. Teman-teman angkatan 2017 Teknologi Informasi USU yang telah bersama- sama berjuang bersama penulis dari semasa perkuliahan hingga selesai penyusunan skripsi.

14. Kepada senior, junior, dan teman-teman yang lain yang telah memberikan semangat semasa kuliah hingga selesai penyusunan skripsi.

15. Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis tuliskan satu persatu yang telah membantu dalam penyelesaian skripsi ini.

Medan, 20 Juni 2021

Penulis

(7)

ABSTRAK

Di dunia media sosial yang sangat terhubung saat ini, misogini ataupun ungkapan kebencian terhadap perempuan dapat terjadi kapanpun dan di manapun, bahkan dapat dinyatakan di ruang siber atau online, yaitu dalam bentuk komentar, posting, atau tweet pada sosial media. Misogini lazim di semua platform media sosial khususnya pada platform Youtube dan hal ini menjadi isu yang semakin relevan dalam beberapa tahun terakhir dan semakin mengkhawatirkan. Ungkapan ataupun pernyataan tersebut memiliki konsekuensi yang serius bagi kehidupan perempuan dan dapat menimbulkan keresahan dan ketidaknyamanan terhadap perempuan. Namun, masih sulit untuk mengidentifikasi pernyataan misogini tersebut karena jutaan kontribusi yang terus meningkat oleh pengguna di platform media sosial setiap hari, sehingga membutuhkan ketelitian dan waktu yang lama untuk mengidentifikasi pernyataan misogini secara manual. Untuk itu dibutuhkan pendekatan untuk mengatasi permasalahan tersebut dengan membangun sistem untuk mengidentifikasi pernyataan misogini. Penelitian ini bertujuan untuk mengidentifikasi pernyataan misogini berbahasa indonesia berdasarkan komentar Youtube menggunakan Glove Embedding dan Random Forest Classifier.

Penelitian ini menggunakan 600 data yang merupakan komentar-komentar pada akun youtuber perempuan yang ada di Indonesia. Tahapan preproses yang dilakukan pada penelitian ini yaitu penghapusan emoji, pengubahan semua kata menjadi huruf kecil, penghapusan simbol dan tanda baca, normalisasi, penghapusan stopword, serta tokenisasi. Penelitian ini menggunakan word embedding yaitu Glove Embedding untuk mengubah seluruh kata yang ada dalam data menjadi vektor dan akan diidentifikasi menggunakan metode Random Forest Classifier. Metode evaluasi pada penelitian ini menggunakan confussion matrix dan menghasilkan akurasi sebesar 92,5%. Berdasarkan hasil evaluasi yang didapat, maka dapat diambil kesimpulan bahwa algoritma yang digunakan dalam penelitian ini dapat mengidentifikasi pernyataan misogini dengan performa yang baik.

Kata Kunci : identifikasi misogini, glove embedding, random forest classifier,

confussion matrix

(8)

vii

IDENTIFICATION OF INDONESIAN MISOGYNY STATEMENT BASED ON YOUTUBE’S COMMENT USING

GLOVE EMBEDDING AND RANDOM FOREST CLASSIFIER

ABSTRACT

In today's highly connected social media world, misogyny or expressions of hatred against women can occur anytime and anywhere, even in cyberspace or online, namely in the form of comments, posts, or tweets on social media. Misogyny is prevalent on all platforms social media especially on the Youtube platform and this has become an increasingly relevant issue in recent years and becoming increasingly worrying. These expressions or statements have serious consequences for women's lives and can cause anxiety and discomfort to women. However, it is still difficult to identify such misogyny statements because of the millions of contributions that continue to increase by users on platforms social media every day, so it takes a lot of precision and time to identify misogyny statements manually. For this reason, an approach is needed to overcome these problems by building a system to identify misogyny statements. This study aims to identify misogyny statements in Indonesian based on Youtube’s comments using Glove Embedding and Random Forest Classifier. This study uses 600 data which are comments on female youtuber account in Indonesia. The preprocessing stages carried out in this study were emoji deletion, changing all words to lowercase, deletion of symbols and punctuation, normalization, deletion of stopwords, and tokenization. This study uses word embedding, namely Glove Embedding to convert all the words in the data into vectors and will be identified using the method Random Forest Classifier. The evaluation method in this study uses a confussion matrix and produces an accuracy of 92.5%. Based on the evaluation, it can be concluded that the algorithm used in this study can identify misogyny statements with good performance.

Keywords : misogyny identification, glove embedding, random forest classifier,

confussion matrix

(9)

DAFTAR ISI

Hal.

PERSETUJUAN ii

PERNYATAAN iii

UCAPAN TERIMA KASIH iv

ABSTRAK vi

ABSTRACT vii

DAFTAR ISI viii

DAFTAR TABEL x

DAFTAR GAMBAR xi

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. Pernyataan Misogini 6

2.2. Youtube API 6

2.3. Text Preprocessing 7

2.4. Word Embedding 7

2.5. Random Forest Classifier 8

2.6. Classification and Regression Tree (CART) 11

2.7. Penelitian Terdahulu 12

2.8. Perbedaan Penelitian 15

(10)

ix

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 16

3.1. Arsitektur Umum 16

3.2. Data yang Digunakan 17

3.3. Preprocessing 18

3.3.1. Cleaning 19

3.3.2. Case Folding 19

3.3.3. Punctuation Removal 20

3.3.4. Normalization 21

3.3.5. Stopword Removal 22

3.3.6. Stemming 23

3.3.7. Tokenization 24

3.4. Word Embedding 25

3.5. Random Forest Classifier 27

3.6. Metode Evaluasi 29

3.7. Perancangan Sistem 30

3.7.1. Rancangan Tampilan Beranda 30

3.7.2. Rancangan Tampilan Training 31

3.7.3. Rancangan Tampilan Testing 32

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 33

4.1. Implementasi Sistem 33

4.1.1. Spesifikasi Perangkat Keras dan Perangkat Lunak 33 4.1.2. Implementasi Perancangan Tampilan Antarmuka 33

4.2. Implementasi Model 37

4.2.1. Menentukan Nilai Vektor Kata dengan Glove Embedding 37 4.2.2. Implementasi Model Random Forest Classifier 39

4.3. Hasil Pengujian Sistem 41

4.4. Evaluasi Model 43

BAB 5 KESIMPULAN DAN SARAN 46

5.1. Kesimpulan 46

5.2. Saran 46

DAFTAR PUSTAKA 47

(11)

DAFTAR TABEL

Hal

Tabel 2.1. Penelitian Terdahulu 13

Tabel 3.1. Dataset Komentar Youtube 17

Tabel 3.2. Pembagian Dataset 18

Tabel 3.3. Penerapan proses cleaning 19

Tabel 3.4. Penerapan proses case folding 20

Tabel 3.5. Penerapan proses punctuation removal 20

Tabel 3.6. Penerapan proses normalization 22

Tabel 3.7. Penerapan proses stopword removal 23

Tabel 3.8. Penerapan proses stemming 24

Tabel 3.9. Penerapan proses tokenization 24

Tabel 3.10. Penerapan confussion matrix 29

Tabel 4.1. Performansi Hyperparameters Tuning 40

Tabel 4.2. Hasil Pengujian Sistem 41

Tabel 4.3 Keterangan Pernyataan Non Misogini Confussion Matrix 44 Tabel 4.4. Keterangan Pernyataan Misogini Confussion Matrix 44

Tabel 4.5. Hasil Evaluasi 45

(12)

xi

DAFTAR GAMBAR

Hal.

Gambar 2.1. Contoh Komentar Misogini 6

Gambar 2.2. Dataset 9

Gambar 2.3. Dataset acak untuk membangun tree ke-1 9

Gambar 2.4. Dataset acak untuk membangun tree ke-2 9

Gambar 2.5. Dataset acak untuk membangun tree ke- 3 9

Gambar 2.6. Struktur Algoritma Random Forest Classifier 10 Gambar 2.7. Cara Kerja Algoritma Random Forest Classifier 11

Gambar 3.1. Arsitektur Umum 16

Gambar 3.2. Vektor dari kata β€˜jahat’ 26

Gambar 3.3. Contoh Data Input 27

Gambar 3.4. Arsitektur Random Forest Classifier 28

Gambar 3.5. Tampilan Beranda 30

Gambar 3.6. Tampilan Training 31

Gambar 3.7. Tampilan Testing 32

Gambar 4.1. Tampilan Beranda (Halaman Utama) 34

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

Gambar 4.6. Hasil Evaluasi 36

Gambar 4.7. Tampilan footer 37

Gambar 4.8. Vektor dari kata β€˜perempuan’ 38

Gambar 4.9. Kamus kata dengan nilai rata-rata vektor 39

Gambar 4.10. Evaluasi Confussion Matrix 43

(13)

BAB 1 PENDAHULUAN

1.1. Latar Belakang

Media sosial telah menjadi sarana komunikasi yang dibutuhkan dan berpengaruh karena mudah diakses dan memberikan banyak kebebasan kepada pengguna. Dalam beberapa tahun terakhir, bahasa kebencian dan khususnya fenomena kebencian terhadap wanita meningkat secara eksponensial di platform media sosial seperti Facebook, Twitter, Youtube, dan platform media sosial lainnya (Samghabadi et al, 2020). Hal ini tentunya menjadi masalah sosial yang relevan dan perlu dicermati. Misogini, yang merupakan salah satu bentuk diskriminasi terhadap wanita, dapat didefinisikan sebagai ekspresi atau prasangka kebencian terhadap perempuan, baik dari laki-laki maupun sesama perempuan, dan baik secara verbal ataupun tidak, dapat diwujudkan secara linguistik dalam berbagai cara, termasuk pengucilan sosial, diskriminasi jenis kelamin, permusuhan, androsentrisme, patriarki, hak istimewa laki-laki, meremehkan perempuan, fitnah perempuan, pencabutan hak perempuan, kekerasan dan pelecehan seksual yang dilakukan terhadap perempuan (Favara, 2018).

Berdasarkan Catatan Tahunan (CATAHU) yang dilaporkan oleh Komisi Nasional Anti Kekerasan Terhadap Perempuan (KOMNAS PEREMPUAN) pada tahun 2021, angka kasus kekerasan dan pelecehan yang dilakukan terhadap perempuan secara siber (ruang online/daring) mengalami peningkatan yaitu pada tahun 2019 ada 241 kasus meningkat menjadi 940 kasus di tahun 2020. Lembaga Layanan melaporkan hal yang sama yaitu terdapat 126 kasus di tahun 2019, naik menjadi 510 kasus pada tahun 2020.

Meningkatnya angka kasus kekerasan dan pelecehan yang dilakukan terhadap perempuan secara online/siber ini sepatutnya menjadi hal serius yang harus diperhatikan semua pihak.

Sangat penting untuk mengidentifikasi pernyataan misogini di jejaring sosial untuk melindungi pengguna online dari serangan yang bersifat misogini tersebut, tetapi proses ini tentunya memakan waktu yang cukup lama untuk melakukannya secara manual.

Karenanya, diperlukan pendekatan yang dapat mengotomatiskan proses identifikasi

tersebut.

(14)

2

Sebelumnya banyak penelitian yang telah dilakukan, diantaranya Misogyny Detection and Classification in English Tweets: The Experience of the ITT Team (Cardiff et al, 2018). Penelitian ini melakukan deteksi dan klasifikasi pernyataan misogini pada english tweets dari Twitter. Deteksi tersebut dibagi menjadi dua bagian yaitu identifikasi misogini (memisahkan tweets misogini dari non-misogini) dan klasifikasi target (mendefinisikan tweet misogini yang menyinggung orang tertentu (aktif) dan tweet yang menghina sekelompok orang (pasif)). Pada penelitian ini digunakan Term Frequency–Inverse Document Frequency (TF-IDF) sebagai metode untuk pembobotan kata, selanjutnya pada setiap bagian akan diklasifikasi menggunakan Logistic Regression (LR), Support Vector Machines (SVM), Naive Bayes and Logistic Regression (NB+LR), dan perpaduan dari keseluruhan metode tersebut. Hasil penelitian tersebut menyatakan perpaduan dari keseluruhan metode tersebut menghasilkan akurasi yang tertinggi yaitu sebesar 78 % pada identifikasi misogini dan 76 % pada klasifikasi target. Penelitian lainnya yaitu berjudul Online Hate Speech against Women: Automatic Identification of Misogyny and Sexism on Twitter (Frenda et al, 2019). Penelitian ini mengidentifikasi dua bagian yaitu pernyatan misogini dan pernyataan seksisme pada data english tweets yang diperoleh dari Twitter. Identifikasi pada penelitian ini menggunakan metode ekstraksi fitur Bag and Sequences of Words, Characters n-grams, dan Lexicons kemudian dilanjutkan dengan TF-IDF sebagai pembobotan katanya, lalu diklasifikasi menggunakan Support Vector Machines (SVM) classifier dengan akurasi sebesar 89%. Penelitian lainnya yaitu Aggression and Misogyny Detection using BERT : A Multi-task Approach (Samghabadi et al, 2020). Pada penelitan ini mendeteksi dua bagian, yaitu deteksi pernyataan penyerangan dan deteksi pernyataan misogini di dalam tiga bahasa yaitu bahasa inggris, bahasa hindi, dan bahasa bengali. Penelitian ini menggunakan metode Bidirectional Encoder Representations Transformers (BERT) dengan akurasi 85%.

Pada penelitian ini, penulis menggunakan algoritma Random Forest Classifier

untuk mengidentifikasi pernyataan misogini. Algoritma ini merupakan pengembangan

dari algoritma Classification and Regression Tree (CART) dimana sering digunakan

dan mampu menghasilkan tingkat akurasi yang tinggi dalam bidang text classification

terbukti pada penelitian A Semantics Aware Random Forest for Text Classification

(Islam et al, 2019) dengan akurasi sebesar 83%.

(15)

Berdasarkan latar belakang di atas, maka penulis mengajukan penelitian yang berjudul β€œIDENTIFIKASI PERNYATAAN MISOGINI BERBAHASA INDONESIA

BERDASARKAN KOMENTAR YOUTUBE MENGGUNAKAN GLOVE

EMBEDDING DAN RANDOM FOREST CLASSIFIER”.

1.2. Rumusan Masalah

Maraknya pernyataan ataupun komentar yang bersifat misogini pada sosial media menimbulkan ketidaknyamanan dan keresahan yang besar bagi perempuan khususnya pada sosial media Youtube. Banyak dampak yang dapat diakibatkan oleh pernyataan misogini tersebut, yaitu selain mengakibatkan rasa tidak nyaman, juga dapat menyebabkan perasaan tersinggung, merasa tidak adil, merasa direndahkan martabatnya, dan mungkin dapat menyebabkan masalah kesehatan dan keselamatan.

Mengidentifikasi pernyataan misogini membutuhkan waktu yang lama dan ketelitian apabila melakukannya dengan cara manual.

1.3. Tujuan Penelitian

Tujuan dari penelitian ini adalah mengidentifikasi pernyataan misogini berbahasa Indonesia berdasarkan komentar Youtube menggunakan Glove Embedding dan Random Forest Classifier.

1.4. Batasan Masalah

Batasan masalah dalam penelitian ini adalah sebagai berikut:

1. Data yang akan dipakai berupa teks di dalam file dokumen berekstensi .csv 2. Identifikasi pernyataan dilakukan terhadap kata, tidak terhadap angka, gambar

ataupun emoji.

3. Data merupakan komentar hasil crawling dari platform Youtube.

1.5. Manfaat Penelitian Manfaat penelitian antara lain :

1. Mempelajari kinerja GloVe Embedding dan algoritma Random Forest Classifier

pada identifikasi pernyataan misogini berbahasa Indonesia berdasarkan

komentar Youtube.

(16)

4

2. Sebagai tindakan preventif untuk membuat platform Youtube terbebas dari komentar misogini.

1.6. Metode Penelitian

Tahapan - tahapan yang akan dilakukan dalam penelitian ini adalah sebagai berikut:

1.6.1. Studi Literatur

Studi literatur merupakan sebuah tahap untuk mengumpulkan beberapa referensi yaitu berupa jurnal, buku, artikel, dan sumber bacaan lainnya mengenai text processing, word embedding, metode Random Forest Classifier, dan pernyataan yang bersifat misogini.

1.6.2. Analisis Permasalahan

Setelah tahap studi literatur, selanjutnya adalah tahap analisis permasalahan.

Analisis permasalahan dilakukan dengan tujuan untuk memahami tentang konsep dari metode yang digunakan yaitu metode Random Forest Classifier beserta faktor-faktor yang dapat digunakan untuk menyelesaikan permasalahan pada penelitian ini.

1.6.3. Perancangan

Setelah melalui tahap analisis permasalahan, selanjutnya yaitu tahap perancangan. Pada tahap ini, perancangan akan dilakukan berdasarkan studi literatur dan analisis permasalahan yang telah dilakukan sebelumnya. Pada tahap perancangan ini akan dilakukan perancangan arsitektur yang akan dipakai di dalam sistem, dataset yang akan dipakai di dalam sistem, dan desain antarmuka sistem.

1.6.4. Implementasi

Setelah tahap perancangan, maka selanjutnya akan dilakukan tahap implementasi. Pada tahap ini, dilakukan implementasi yaitu tahap untuk menerapkan hasil rancangan yang sebelumnya telah dilakukan untuk membangun sistem.

1.6.5. Pengujian

Setelah melalui tahap implementasi, maka akan dilakukan pengujian performa

pada hasil implementasi tersebut dari metode yang digunakan yaitu Random

Forest Classifier.

(17)

1.6.6. Penyusunan Laporan

Setelah tahap pengujian, maka akan dilakukan penyusunan laporan. Sesuai dengan namanya, maka pada tahap ini akan dilakukan penyusunan laporan dari keseluruhan penelitian yang telah dilakukan sebelumnya.

1.7. Sistematika Penulisan

Sistematika penulisan di dalam penelitian ini terdiri dari lima bagian yang akan diuraikan sebagai berikut:

Bab 1: Pendahuluan

Pada bab ini akan diuraikan pembukaan masalah yaitu yang berisi latar belakang, rumusan masalah, tujuan penelitan, batasan masalah, manfaat penelitian, metodologi penelitan dan sistematika penulisan.

Bab 2: Landasan Teori

Pada bab ini akan diuraikan dasar - dasar teori yang dibutuhkan dan menjadi penunjang untuk memahami permasalahan yang ada pada penelitian ini. Pada bab ini juga akan diuraikan tentang metode yang digunakan seperti cara kerja Random Forest Classifier, apa saja yang termasuk pernyataan misogini, dan yang lainnya. Selain itu pada bab ini juga diuraikan penelitian-penelitian yang telah dilakukan sebelumnya yang dijadikan sebagai rujukan ataupun referensi untuk melaksanakan penelitian ini.

Bab 3: Analisis dan Perancangan Sistem

Pada bab ini akan diuraikan tentang analisis dan perancangan sistem menggunakan metode Random Forest Classifier untuk mengidentifikasi pernyataan misogini berbahasa Indonesia berdasarkan komentar Youtube. Pada bab ini juga akan diuraikan urutan untuk menyelesaikan masalah yang ada dalam penelitian ini. Bab ini juga membahas tentang arsitektur umum dari sistem yang dibangun.

Bab 4: Implementasi dan Pengujian Sistem

Pada bab ini akan diuraikan tentang penerapan ataupun implementasi dari rancangan yang telah dibuat sebelumnya. Pada bab ini akan diuraikan tentang bagaimana hasil akhir dari sistem yang telah dirancang pada bab sebelumnya, dan akan dilakukan evaluasi pada sistem yang telah dibuat.

Bab 5: Kesimpulan dan Saran

Bab ini merupakan bab terakhir yang berisi kesimpulan dari keseluruhan pengerjaan

penelitian yang telah diuraikan pada bab-bab sebelumnya serta saran yang diajukan oleh

penulis agar penelitian yang dilakukan selanjutnya dapat dikembangkan.

(18)

BAB 2

LANDASAN TEORI

2.1. Pernyataan Misogini

Misogini adalah salah satu bentuk diskriminasi terhadap wanita. Pernyataan misogini adalah pernyataan yang diungkapkan sebagai ekspresi atau prasangka kebencian terhadap perempuan, baik disampaikan dari laki-laki maupun sesama perempuan, dan baik secara verbal ataupun tidak, dapat diwujudkan secara linguistik dalam berbagai cara. Adapun pernyataan misogini adalah pernyataan yang diungkapkan yang termasuk pengucilan sosial, diskriminasi jenis kelamin, permusuhan, androsentrisme, patriarki, hak istimewa laki-laki, meremehkan perempuan, fitnah perempuan, pencabutan hak perempuan, kekerasan dan pelecehan seksual yang dilakukan terhadap perempuan (Pamungkas et al, 2020). Contoh komentar yang bersifat misogini pada platform Youtube dapat dilihat pada Gambar 2.1.

Gambar 2.1. Contoh Komentar Misogini

2.2. Youtube API

Youtube adalah perusahan besar yang memberikan layanan kepada masyarakat berupa video streaming. Layanan yang diberikan berupa video musik, tutorial, olahraga, movie, dan yang lainnya. Dengan mengakses platform youtube, pengguna sudah dapat menonton dan mengakses video yang mereka inginkan dimanapun dan kapanpun tanpa batasan waktu. Youtube juga memiliki Application Programming Interface (API), sehingga video yang ada pada platform tersebut dapat diintegrasikan ke site yang lain.

Youtube API memungkinkan pengguna untuk menggunakan fungsionalitas

yang umum yang terdapat pada Youtube. YouTube API merupakan fungsi-fungsi yang

dikumpulkan dan disediakan oleh developer Youtube sehingga konten-konten video,

komentar, channels, captions, dan fungsionalitas lainnya memungkinkan untuk dapat

(19)

diintegrasikan atau di export ke aplikasi perangkat lunak, situs web, ataupun perangkat lainnya (Aisyah et al, 2015).

2.3. Text Preprocessing

Text Preprocessing merupakan proses untuk menyeleksi data agar data yang akan dipakai dan diolah dalam penelitian menjadi lebih terstruktur dan dapat memudahkan penelitian. Tahap ini dilakukan guna untuk membersihkan data yang awalnya merupakan hasil crawling dan belum diolah sehingga diubah menjadi data yang lebih teratur dan lebih dimengerti oleh mesin dengan tujuan untuk mendapatkan performa yang lebih baik dalam proses identifikasi. Text preprocessing perlu dilakukan dengan tujuan untuk mengurangi karakter-karakter yang tidak memiliki makna dimana karakter-karakter tersebut dapat mengurangi kinerja dari algoritma yang digunakan.

Adapun proses yang terjadi dalam text preprocessing antara lain cleaning, case folding, punctuation removal, normalization, stopword removal, stemming dan tokenization.

2.4. Word Embedding

Word embedding merupakan sebuah metode untuk mengkonversi serangkaian kata yang berupa karakter alphanumeric ke dalam bentuk vektor atau array yang berisi angka atau bilangan. Representasi kata dalam bentuk angka merupakan fungsi dari word embedding. Word embedding mengubah setiap kata dalam data menjadi dense vector, di mana vektor tersebut merupakah hasil representasi kata yang diproyeksi di dalam ruang vektor. Teks ataupun kata-kata yang berada di sekitarnya akan mempelajari posisi dari suatu kata. Selain itu, word embedding ini juga dapat mengartikan makna yang bersifat sintatik maupun semantik dari suatu kata.

Salah satu jenis word embedding adalah GloVe (Global Vector). Pada Glove

embedding terjadi penggabungan informasi co-occurrence kata agar hubungan

semantik yang terjadi diantara setiap kata dalam data dapat diperoleh. GloVe embedding

menggunakan metode yang bersifat global yaitu matrix factorization. Matriks ini adalah

matriks yang mewakili setiap kata yang ada dalam data. GloVe embedding mempelajari

hubungan setiap kata yang ada dalam data dengan cara menghitung seberapa sering kata

(20)

8

tersebut muncul bersama dengan kata-kata yang lain dalam sebuah dataset yang diberikan (Nurdin et al, 2020).

2.5. Random Forest Classifier

Random Forest Classifier merupakan algoritma pembelajaran mesin yang bersifat supervised learning berdasarkan ensemble learning. Ensemble learning adalah suatu metode yang menggabungkan beberapa metode yang sama atau berbeda untuk menghasilkan model yang baik. Random Forest Classifier menggabungkan beberapa metode yang sama yaitu decision tree. Gabungan beberapa decision tree membuat algoritma random forest classifier menjadi lebih baik. Algoritma Random Forest Classifier menciptakan sebuah hutan (forest) dengan sejumlah pohon yang ada di dalamnya (tree). Hutan akan semakin bagus apabila semakin tinggi jumlah pohon yang ada di dalamnya (Polamuri, 2017).

Random Forest Classifier dirancang untuk mengatasi kelemahan decision tree.

Algoritma decision tree adalah metode yang mudah untuk dimengerti dan diterapkan, tetapi dalam kasusnya, sering sekali satu decision tree tidak cukup untuk menghasilkan model yang efektif. Satu decision tree rentan terhadap noise, tetapi kumpulan dari beberapa decision tree mengurangi efek noise sehingga memberikan hasil yang lebih akurat (Patel, 2017). Semakin banyak decision tree yang dibuat maka akan semakin baik pula model yang dihasilkan.

Random Forest Classifier menggunakan gini impurity untuk melakukan perhitungan dalam membangun tree (Haristu, 2019). Random Forest Classifier membuat decision tree secara acak berdasarkan training set. Hasil dari masing – masing decision tree akan dikumpulkan dan ditentukan hasil akhirnya berdasarkan voting.

Gambar 2.2 adalah sebuah contoh dataset yang akan diklasifikasi menggunakan

Random Forest Classifier. Dataset tersebut kemudian akan dibagi secara random (acak)

menjadi tiga bagian data yang akan ditunjukkan pada Gambar 2.3, 2.4, dan 2.5. Tree

akan dibangun dari tiga bagian data yang telah dibagi tersebut. Dari setiap tree akan

dihasilkan suatu keputusan untuk menghasilkan keputusan terbaik berdasarkan majority

voting.

(21)

Gambar 2.2. Dataset (Haristu, 2019)

Gambar 2.3. Dataset acak untuk membangun tree ke- 1 (Haristu, 2019)

Gambar 2.4. Dataset acak untuk membangun tree ke- 2 (Haristu, 2019)

Gambar 2.5. Dataset acak untuk membangun tree ke- 3 (Haristu, 2019) f01 f02 f03 f04 f05 t0

f11 f12 f13 f14 f15 t1 f21 f22 f23 f24 f25 t2 : : : : : : : : : : : : fm1 fm2 fm3 fm4 fm5 tm

f11 f12 f13 f14 f15 t1 f61 f62 f63 f64 f65 t6 f81 f82 f83 f84 f85 t8 : : : : : : : : : : : : fm1 fm2 fm3 fm4 fm5 tm

f21 f22 f23 f24 f25 t2 f41 f42 f43 f44 f45 t4 f71 f72 f73 f74 f75 t7 : : : : : : : : : : : : fm1 fm2 fm3 fm4 fm5 tm

f31 f32 f33 f34 f35 t3 f51 f52 f53 f54 f55 t5 f81 f82 f83 f84 f85 t8 : : : : : : : : : : : : fm1 fm2 fm3 fm4 fm5 tm

(22)

10

Gambaran random forest classifier terdapat pada Gambar 2.6.

Gambar 2.6. Struktur algoritma Random Forest Classifier (Sharma, 2020)

Cara kerja algoritma Random Forest Classifier adalah sebagai berikut:

1. Mengambil sebuah sampel data Di dimana data diambil secara acak (random) dari dataset D.

2. Menggunakan dataset Di untuk membangun pohon keputusan atau tree ke i (i = 1,2,...k). Dalam membangun tree, digunakan metodologi Classification and Regression Tree (CART) yaitu gini impurity untuk menentukan setiap node pada tree.

3. Mengulangi langkah 1 dan 2 sebanyak k.

4. Menggunakan data testing untuk memprediksi output dari hasil klasifikasi tersebut, dan menghasilkan sebuah keputusan.

5. Menghitung suara hasil voting untuk setiap target yang diprediksi pada setiap tree. Setiap pohon keputusan bisa saja menghasilkan hasil prediksi yang sama ataupun berbeda.

6. Target kelas yang paling banyak terprediksi akan menjadi hasil akhir dari

algoritma Random Forest Classifier.

(23)

Struktur dan cara kerja Random Forest Classifier dapat dilihat pada Gambar 2.7.

Gambar 2.7. Cara kerja algoritma Random Forest Classifier (Navlani, 2018)

2.6. Classification and Regression Tree (CART)

Untuk membangun suatu pohon keputusan dalam algoritma Random Forest Classifier digunakan metodologi Classification and Regression Tree (CART) (Han, 2012).

Dalama metodologi ini digunakan gini impurity untuk menjadi tolak ukur dalam memilih atribut yang akan dipakai pada setiap node dalam tree. Misalkan N adalah node yang digunakan sebagai pemisahan setiap kelas dengan menggunakan atribut dari dataset D. Atribut yang merupakan hasil gini impurity dan yang memperoleh nilai tertinggi akan dipakai selanjutnya sebagai pemisahan node N. Untuk mendapatkan nilai gini impurity dapat dihitung menggunakan persamaan 2.1.

𝐺 = βˆ‘

𝐢𝑖=1

𝑝 (𝑖) βˆ— (1 βˆ’ 𝑝 (𝑖)) ...(2.1) Keterangan:

C = jumlah kelas

p (i) = probabilitas terambilnya elemen kelas ke i secara acak

(24)

12

2.7.Penelitian Terdahulu

Beberapa penelitian telah dilakukan sebelumnya mengenai identifikasi pernyataan yang bersifat misogini pada suatu platform sosial media dan implementasi tentang metode Random Forest Classifier. Cardiff et al. (2018) dalam penelitiannya yang berjudul Misogyny Detection and Classification in English Tweets: The Experience of the ITT Team. Penelitian ini melakukan deteksi dan klasifikasi pernyataan misogini pada english tweets dari Twitter. Deteksi tersebut dibagi menjadi dua bagian yaitu identifikasi misogini (memisahkan tweets misogini dari non-misogini) dan klasifikasi target (mendefinisikan tweet misogini yang menyinggung orang tertentu (aktif) dan tweet yang menghina sekelompok orang (pasif)). Pada penelitian ini digunakan Term Frequency–Inverse Document Frequency (TF-IDF) sebagai metode untuk pembobotan katanya, selanjutnya pada setiap bagian akan diklasifikasi menggunakan Logistic Regression (LR), Support Vector Machines (SVM), Naive Bayes dan Logistic Regression (NB+LR), dan perpaduan dari seluruh metode tersebut. Penelitian tersebut menyatakan perpaduan metode menghasilkan akurasi tertinggi yaitu 78% dan 76%.

Penelitian lainnya dilakukan oleh Frenda et al. (2019) yang berjudul Online Hate Speech against Women: Automatic Identification of Misogyny and Sexism on Twitter. Penelitian ini mengidentifikasi dua bagian yaitu pernyatan misogini dan pernyataan seksisme pada data yang berupa english tweets yang diperoleh dari Twitter.

Identifikasi pada penelitian ini menggunakan metode Bag and Sequences of Words, Characters n-grams, dan Lexicons kemudian dilanjutkan dengan TF-IDF sebagai pembobotan katanya, lalu diklasifikasi menggunakan Support Vector Machines (SVM) classifier dan menghasilkan akurasi sebesar 89%.

Selanjutnya, penelitian oleh Samghabadi et al. (2020) yang berjudul Aggression and Misogyny Detection using BERT : A Multi-task Approach. Pada penelitan ini, deteksi dibagi menjadi dua bagian, yaitu deteksi pernyataan penyerangan dan deteksi pernyataan misogini di dalam tiga bahasa yaitu bahasa inggris, bahasa hindi, dan bahasa bengali. Penelitian ini menggunakan metode Bidirectional Encoder Representations Transformers (BERT) dan menghasilkan akurasi sebesar 85%.

Penelitian lain dilakukan oleh Eke et al. (2020) yang berjudul The Significance

of Global Vectors Representation in Sarcasm Analysis. Penelitian ini bertujuan untuk

melakukan deteksi pernyataan yang bersifat sarkasme. Adapun data yang dipakai pada

(25)

penelitian ini adalah english tweets yang diambil dari Twitter menggunakan Twitter API. Data diambil dengan menggunakan hashtag #sarcasm dan #sarcastic. Penelitian ini menggunakan Global Vector (GloVE) sebagai word embedding, dan menggunakan tiga metode, yaitu Support Vector Machines (SVM), Random Forest (RF), dan Decision Tree (DT). Didapatkan bahwa metode Random Forest dengan GloVe Embedding sebagai word embeddingnya unggul dan menghasilkan akurasi sebesar 75%.

Penelitian lainnya dilakukan oleh Islam et al. (2019) yang berjudul A Semantics Aware Random Forest for Text Classification. Pada penelitian ini peneliti melakukan klasifikasi teks pada sentimen analisis. Sentimen analisis akan dibagi menjadi dua bagian, yaitu sentimen positif dan sentimen negatif. Di dalam penelitian ini peneliti menggunakan metode Random Forest untuk mengklasifikasi sentimen tersebut ke dalam sentimen positif dan negatif, dan menghasilkan akurasi sebesar 83%. Rincian singkat penelitian yang telah dilakukan sebelumnya dapat dilihat pada Tabel 2.1.

Tabel 2.1. Penelitian Terdahulu

No Peneliti Metode Judul Keterangan

1 Cardiff et al.

(2018)

TF-IDF, Logistic Regression, Support Vector Machines, Naive Bayes and Logistic Regression (NB+LR)

Misogyny Detection and Classification in English Tweets: The Experience of the ITT Team

Melakukan klasifikasi

pernyataan misogini

menjadi dua kelas

menggunakan TF-IDF

sebagai pembobotan

kata, dilanjutkan

dengan metode

Logistic Regression,

Support Vector

Machines, dan Naive

Bayes dan Logistic

Regression (NB+LR)

yang menghasilkan

akurasi tertinggi yaitu

78% dan 76%.

(26)

14

Tabel 2.1. Penelitian Terdahulu (lanjutan)

No Peneliti Metode Judul Keterangan

2 Frenda et al.

(2019)

Bag and

Sequences of Words,

Characters n-grams, Lexicons, TF-IDF, Support Vector Machines

Online Hate Speech against Women:

Automatic

Identification of Misogyny and Sexism on Twitter

Mengidentifikasi pernyataan misogini

dan seksisme

menggunakan Bag and Sequences of Words, n-grams, Lexicons, dan TF- IDF, dilanjutkan metode SVM dan menghasilkan akurasi 89%.

3 Samghabadi et al.

(2020)

Bidirectional Encoder

Representations Transformers

Aggression and Misogyny Detection using BERT : A Multi- task Approach

Mendeteksi

pernyataan misogini dan penyerangan menggunakan metode Bidirectional Encoder Representations Transformers dan menghasilkan akurasi sebesar 85%.

4 Eke et al.

(2020)

GloVe Embedding, Support Vector Machines, Random Forest, Decision Tree

The Significance of Global Vectors Representation in Sarcasm Analysis

Mendeteksi

pernyataan sarkasme menggunakan GloVe Embedding dan metode Support Vector Machines, Random Forest, Decision Tree.

Random Forest

menghasilkan akurasi

tertinggi yaitu 75%.

(27)

Tabel 2.1. Penelitian Terdahulu (lanjutan)

No Peneliti Metode Judul Keterangan

5 Islam et al.

(2019)

Random Forest

A Semantics Aware Random Forest for Text Classification

Melakukan klasifikasi pada analisis sentimen menjadi dua kelas menggunakan Random Forest dengan akurasi 83%.

2.8. Perbedaan Penelitian

Ada beberapa hal yang membedakan penelitian ini dengan semua penelitian terdahulu.

Yang pertama yaitu metode yang digunakan didalam penelitian. Belum ada penelitian

yang mengidentifikasi pernyataan misogini berbahasa indonesia berdasarkan komentar

Youtube menggunakan Glove embedding dan metode Random Forest Classifier. Selain

itu pada semua penelitian terdahulu melakukan deteksi, klasifikasi, ataupun identifikasi

pernyataan misogini pada bahasa inggris, belum ada penelitian yang melakukannya

dalam bahasa indonesia. Hal lain yang membedakannya adalah dalam penelitian ini

penulis menggunakan Glove Embedding sebagai word embedding, dimana pada

penelitian terdahulu rata-rata menggunakan TF-IDF, Bag and Sequences of Words,

Characters n-grams, dan Lexicons sebagai pembobotan katanya.

(28)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1. Arsitektur Umum

Pada penelitian ini akan dilakukan beberapa tahapan yaitu: mengumpulkan data, data yang dikumpulkan akan disimpan dalam format .csv (Comma-Separated Values) dan akan digunakan sebagai input dalam perancangan sistem. Data yang telah dikumpulkan tersebut selanjutnya akan melalui tahap preprocessing yang terdiri dari cleaning, case folding, punctuation removal, normalization, stopword removal, stemming dan tokenization. Kemudian data akan melalui proses word embedding untuk mengubah semua kata yang ada dalam data menjadi vector. Selanjutnya data akan ditraining, dan menghasilkan suatu model yang akan dipakai untuk proses testing. Untuk lebih mudah memahaminya, proses akan diuraikan pada arsitektur umum pada Gambar 3.1.

Gambar 3.1. Arsitektur Umum

(29)

3.2. Data yang Digunakan

Data yang digunakan dalam penelitian ini adalah file berformat .csv yang berisi komentar-komentar hasil crawling dari platform Youtube menggunakan Youtube API (Application Programming Interface). Komentar-komentar yang di crawling didapatkan dari beberapa akun Youtube channel youtuber-youtuber perempuan yang ada di Indonesia, sehingga data yang diperoleh dapat dipastikan berbahasa indonesia dan ditujukan untuk perempuan. Total keseluruhan data hasil crawling berjumlah 600 data.

Di dalam data terdapat komentar dan kelas yaitu untuk menentukan pernyataan tersebut misogini atau non-misogini, dimana untuk setiap pernyataan misogini akan diberi kelas 1 dan setiap pernyataan non-misogini akan diberi kelas 0. Dalam penentuan kelas tersebut peneliti (human rater) dibantu oleh seorang ahli bahasa bernama Reza Pahlevi Ginting, S.S., M.Pd. untuk melakukan labelling dan memvalidasi data yang ada berdasarkan acuan yang telah dituliskan pada landasan teori di bab sebelumnya. Data ini akan menjadi acuan untuk sistem agar dapat dilatih.

Tabel 3.1. menunjukkan data komentar hasil crawling dari platform Youtube menggunakan Youtube API.

Tabel 3.1. Dataset Komentar Youtube

No Comment Class

1 Kak coba sekali gak pakek bh πŸ˜€πŸ™‚πŸ€— 1

2 ni perempuan bijak banget dan cantik banget ya😘😘😘😘 0 3 Emangnya kenapa kak? Gak suka ya? Kalo gitu biar aku aja

yang nyolekin anu mu 1

4 Ka Tatum aku suka banget sama warna kuku kakak, buat salah

fokus❀️❀️ 0

. . .

. . .

.

.

.

591 duh montok banget dada nya kak, pengen colek dehhhπŸ˜€πŸ‘ 1

592 Good mama...suka sm mamanya...cantik dan awet muda😘😍 0

(30)

18

Tabel 3.1. Dataset Komentar Youtube (lanjutan)

No Comment Class

593 Kakak ini orang indonesia apa luar negri 0

594 Kegedean tete nyaaa KIMII onichann aku ga sanggup😭 1 595 Mama kakak orang sunda?<br />Terus kakak agamanya apa? 0

596 Kak kimi coba sekalian pepek nya liatin️️ 1

597 Doakan saya gaes agar suatu hari nanti dapat ngisap tetek Kimi

Hime 1

598 Su Yan Lebih Cantik saking cantiknya Aku Sampe Bayangin

terus, pantatnya aduh ampun banget deh 1

599 Kimi hime aku punya tantangan nih buat kamu, bisa gak?? 0 600 Campuran Arab indo mah pasti cantik banget kaya bidadari :) 0

Dataset hasil crawling akan dibagi menjadi data training dan data testing. Dataset akan dibagi sebesar 80 persen untuk data yang akan menjadi data training dan 20 persen untuk data yang akan menjadi data testing. Pembagian jumlah dataset tersebut ditunjukkan pada Tabel 3.2.

Tabel 3.2. Pembagian Dataset

Data Training Data Testing

Misogini Non-Misogini Misogini Non-Misogini

240 240 60 60

3.3. Preprocessing

Pada tahap ini, data akan diproses dan akan dilakukan beberapa tahapan untuk

menghasilkan data yang baik sehingga mudah dipelajari oleh mesin dan dapat

menghasilkan akurasi yang baik pula. Adapun tahapan pre-processing yaitu cleaning,

case folding, punctuation removal, normalization, stopword removal, stemming, dan

tokenization.

(31)

3.3.1. Cleaning

Proses ini merupakan proses yang pertama dilakukan pada tahap pre-processing guna untuk membersihkan data agar meminimalisir kegagalan pada proses identifikasi di dalam penelitian ini. Pada proses ini, data yang mengalami duplikasi akan dihilangkan, attribute dan missing value yang ada pada data juga akan dihilangkan. Misalnya pada data komentar hasil crawling dari Youtube umumnya banyak terdapat emoji atau angka yang tidak diperlukan dan dapat mempengaruhi makna yang ada dalam data. Penerapan proses cleaning dapat dilihat pada pseudocode berikut ini dan hasilnya dapat dilihat pada Tabel 3.3.

function cleaning_preprocessing(parameter komentar):

komentar = re.sub(β€˜nilai karakter yang dihilangkan’)

komentar = re.sub(β€œangka dan spasi berlebihan”,””, komentar)

return komentar

Tabel 3.3. Penerapan Proses Cleaning

Sebelum Proses Cleaning Setelah Proses Cleaning MUNAFIK bgt si hana !!! πŸ˜‚πŸ˜‚ padahal

sekota bogor sdh tauu aslinya dulu dia kaya apa πŸ˜‚ perempuan yang hanya tauu JUAL DIRI!!! Sampah....

MUNAFIK bgt si hana !!! padahal sekota bogor sdh tauu aslinya dulu dia kaya apa perempuan yang hanya tauu JUAL DIRI!!! Sampah....

3.3.2. Case Folding

Proses ini mempunyai tujuan untuk mengubah semua huruf pada kata yang ada dalam data menjadi huruf kecil. Proses ini bertujuan untuk membuat karakter menjadi lebih sederhana, sehingga karakter yang tidak diinginkan menjadi lebih mudah untuk dihapus karena huruf kecil dan huruf besar memiliki bentuk yang berbeda pada text processing.

Contoh penerapan case folding dapat dilihat pada pseudocode berikut dan hasilnya

terdapat pada Tabel 3.4.

(32)

20

function CaseFolding_preprocessing(parameter komentar):

komentar = komentar.lower()

return komentar

Tabel 3.4. Penerapan Proses Case Folding

Sebelum Proses Case Folding Setelah Proses Case Folding MUNAFIK bgt si hana !!! padahal sekota

bogor sdh tauu aslinya dulu dia kaya apa perempuan yang hanya tauu JUAL DIRI!!! Sampah....

munafik bgt si hana !!! padahal sekota bogor sdh tauu aslinya dulu dia kaya apa perempuan yang hanya tauu jual diri!!!

sampah....

3.3.3. Punctuation removal

Proses ini mempunyai tujuan untuk menghapus semua tanda baca ataupun simbol yang ada pada data dengan tujuan untuk membersihkan data yang akan diproses, membuat data menjadi karakter yang lebih sederhana sehingga karakter yang tidak diinginkan tidak akan ikut diproses. Contoh penerapan proses punctuation removal ini dapat dilihat pada pseudocode berikut dan hasilnya terdapat pada Tabel 3.5.

function PunctuationRemoval_preprocessing(parameter komentar):

komentar = re.sub(β€˜nilai karakter yang dihilangkan’) return komentar

Tabel 3.5. Penerapan Proses Punctuation Removal

Sebelum Proses Punctuation Removal Setelah Proses Punctuation Removal munafik bgt si hana !!! padahal sekota

bogor sdh tauu aslinya dulu dia kaya apa perempuan yang hanya tauu jual diri!!!

sampah....

munafik bgt si hana padahal sekota bogor

sdh tauu aslinya dulu dia kaya apa

perempuan yang hanya tauu jual diri

sampah

(33)

3.3.4. Normalization

Proses ini memiliki tujuan untuk menormalisasi setiap kata yang terdapat dalam data.

Setiap kata yang ada dalam data yang merupakan singkatan dan typo akan diperbaiki dan dinormalisasi menjadi kata yang terstruktur sehingga dapat diproses. Proses akan menjadi lebih mudah apabila struktur kalimat lebih spesifik. Pada penelitian ini penulis menggunakan dictionary yang telah disediakan sebelumnya. Proses ini dilakukan dengan cara menormalisasikan kata - kata singkatan seperti β€œbgt” menjadi β€œbanget”,

β€œsdh” menjadi β€œsudah”, β€œsi” menjadi β€œsih”, β€œtauu” menjadi β€œtahu” dan kata - kata typo yang tidak sesuai dalam bahasa indonesia. Tetapi dictionary yang dipakai dalam proses normalization ini memiliki kekurangan yaitu terdapat beberapa kata yang tidak ternormalisasi dengan baik akibat singkatan dan typo yang berlebihan. Contoh penerapan proses normalization ini dapat dilihat pada pseudocode berikut dan hasilnya dapat dilihat pada Tabel 3.6.

#inisiasi fungsi

function normalize_text(text, standard_word, nonstandard_word):

#memasukkan kata-kata pada data ke variable text = text.split(" ")

for i in range(len(text)):

#memeriksa apakah kata merupakan kata yang tidak normal if text[i] in nonstandard_word:

#memeriksa index pada kata yang tidak normal index = nonstandard_word.index(text[i]) #mengganti kata menjadi kata yang normal text[i] = standard_word[index]

return text

(34)

22

Tabel 3.6. Penerapan Proses Normalization

Sebelum Proses Normalization Setelah Proses Normalization munafik bgt si hana padahal sekota bogor

sdh tauu aslinya dulu dia kaya apa perempuan yang hanya tauu jual diri sampah

munafik banget sih hana padahal sekota bogor sudah tahu aslinya dulu dia kaya apa perempuan yang hanya tahu jual diri sampah

3.3.5. Stopword Removal

Proses ini mempunyai tujuan untuk menghapus stopword yaitu kata yang sering muncul dan biasanya dapat diabaikan tetapi tidak mengubah arti kalimat. Tahap ini dilakukan dengan tujuan untuk membuat kalimat menjadi lebih sederhana, agar dapat mempercepat proses training tanpa mengubah arti dari kalimat tersebut. Kata hubung yang terdapat dalam data tidak akan mempengaruhi arti dari kalimat yang ada. Kata hubung dalam bahasa indonesia hanya memperjelas konteks yang hanya dipahami oleh manusia, tetapi mesin tidak dapat memahaminya. Pada penelitian ini penulis menggunakan library NLTK (Natural Language Tool Kit) untuk proses stopword removal, dimana stopword yang akan dihapus yaitu kata hubung, subjek seperti β€œaku”,

β€œdia”, β€œkami”, dan setiap kata yang mengandung makna negatif seperti β€œtidak” juga akan dihapus. Contoh penerapan proses stopword removal ini dapat dilihat pada pseudocode berikut dan hasilnya dapat dilihat pada Tabel 3.7.

import nltk

from nltk.corpus import stopwords

function StopwordRemoval_preprocessing(parameter komentar):

for word in komentar:

liststopword = set(stopwords.word(β€˜lang))

return komentar

(35)

Tabel 3.7. Penerapan Proses Stopword Removal

Sebelum Proses Stopword Removal Setelah Proses Stopword Removal munafik banget sih hana padahal

sekota bogor sudah tahu aslinya dulu dia kaya apa perempuan yang hanya tahu jual diri sampah

munafik banget hana sekota bogor sudah tahu aslinya dulu kaya apa perempuan tahu jual diri sampah

3.3.6. Stemming

Proses ini memiliki tujuan untuk menemukan kata dasar dengan menghilangkan imbuhan dalam kata tersebut. Adapun tujuan dari pengurangan imbuhan tersebut adalah untuk memaksimalkan proses dan kinerja dari algoritma yang digunakan untuk menemukan kata yang muncul sesuai dengan maknanya. Adapun contoh imbuhan yang akan dihilangkan antara lain Inflection Suffixes (β€œ-nya”,”ku”,”mu”,”-kah”), imbuhan awalan (β€œbe”,”ke”,”di”), dan imbuhan turunan (β€œkan”,”-i”,”-an”). Setiap penggunaan imbuhan yang terdapat dalam data akan dihapus guna untuk mendapatkan variasi kata dasar yang akurat tanpa harus menghilangkan makna pada kata tersebut. Penulis menggunakan library Sastrawi untuk melakukan proses stemming dalam penelitian ini tetapi proses stemming cukup memakan waktu yang sedikit lama. Contoh penerapan proses stemming ini dapat dilihat pada pseudocode berikut dan hasilnya dapat dilihat pada Tabel 3.8.

import Sastrawi

from Sastrawi.Stemmer.StemmerFactory import StemmerFactory function stemming_preprocessing (Parameter komentar):

ps = PorterStemmer()

for word in komentar : word = ps.stem(word)

return komentar

(36)

24

Tabel 3.8. Penerapan Proses Stemming

Sebelum Proses Stemming Setelah Proses Stemming munafik banget hana sekota bogor sudah

tahu aslinya dulu kaya apa perempuan tahu jual diri sampah

munafik banget hana kota bogor sudah tahu asli dulu kaya apa perempuan tahu jual diri sampah

3.3.7. Tokenization

Proses ini memiliki tujuan untuk melakukan pemotongan rangkaian karakter yang ada di dalam dokumen menjadi beberapa bagian yang disebut dengan token. Token dapat berupa kata, frasa, atau bahkan seluruh kalimat individual. Dalam penelitian ini, pemotongan akan dilakukan berdasarkan kata. Kata yang telah melalui proses pemotongan atau pemisahan akan menjadi input untuk proses yang selanjutnya. Contoh penerapan proses tokenization dapat dilihat pada pseudocode berikut dan hasilnya terdapat pada Tabel 3.9.

function tokenization_preprocessing(parameter komentar):

komentar = word_tokenize(komentar)

return komentar

Tabel 3.9. Penerapan Proses Tokenization

Sebelum Proses Tokenization Setelah Proses Tokenization

munafik banget hana kota bogor sudah tahu asli dulu kaya apa perempuan tahu jual diri sampah

β€œmunafik”,”banget”,”hana”,”kota”,”bo gor”,”sudah”,”tahu”

β€œasli”,”dulu”,”kaya”,”apa”,

β€œperempuan”,”tahu”,”jual”,”diri”

β€œsampah”

(37)

3.4. Word Embedding

Word embedding merupakan sebuah metode untuk mengkonversi serangkaian kata yang berupa karakter alphanumeric ke dalam bentuk vektor atau array yang berisi angka atau bilangan. Penelitian ini menggunakan Glove embedding sebagai word embedding.

GloVe embedding sebagai word embedding mempelajari hubungan setiap kata yang ada dalam data dengan cara menghitung seberapa sering kata tersebut muncul bersama dengan kata-kata yang lain dalam sebuah dataset yang diberikan (Nurdin et al, 2020). Kata-kata yang telah menjadi vektor akan dijadikan sebagai feature extraction.

Glove embedding dibangun oleh Pennington et al. (2014) dengan menghitung kemungkinan co-occurence suatu kata terhadap kata yang lain pada seluruh corpus.

Model GloVe embedding yang telah dibangun oleh Pennington et al. (2014) tidak dapat digunakan dalam penelitian ini karena model yang dibangun dalam bahasa inggris, sedangkan penelitian ini mengidentifikasi kata berbahasa indonesia. Untuk itu, peneliti membangun model Glove embedding dalam bahasa Indonesia menggunakan corpus Wikipedia Indonesia. Wikipedia Indonesia menyediakan corpus yang berisi artikel Wikipedia berbahasa Indonesia. Jumlah kata yang didapat dari corpus Wikipedia Indonesia adalah sebanyak 555.139.395 token.

Pennington et al. (2014) telah menyediakan library dalam bahasa C yang

memiliki format bash untuk membangun model GloVe dengan corpus Wikipedia

Indonesia. Library diperoleh dari https://github.com/stanfordnlp/GloVe yang

selanjutnya akan digunakan untuk melatih 555.139.395 token. Hasil model yang

diperoleh setelah dilatih menghasilkan 377.364 kosa kata dengan vektor berukuran 300

dimensi. Gambar 3.2 menunjukkan nilai vektor dari kata β€˜jahat’.

(38)

26

Gambar 3.2. Vektor dari kata β€˜jahat’

Penerapan glove embedding dapat dilihat pada pseudocode berikut:

#membangun corpus kosakata dengan nilai rata rata vector dari glove embedding

#inisialisasi variabel kosakata dengan tipe data dictionary kosakata = {}

#buka file glove.txt

with open('glove.txt', 'r') as file:

#menelusuri isi file

for i, line in enumerate(file):

l = line.split(' ') #deteksi kosa kata if l[0].isalpha():

#memasukkan nilai vector ke variable v v = [float(i) for i in l[1:]]

#membangun kosakata dengan kata sebagai key dan nilai rata-rata vector sebagai value

kosakata[l[0]] = mean(v)

(39)

3.5. Random Forest Classifier

Random Forest Classifier menawarkan indikator pemilihan fitur yang baik. Pada penelitian ini, penulis menggunakan algoritma Random Forest Classifier dengan menginstall library Scikit-learn. Scikit-learn menyediakan variabel tambahan dengan model, yang menunjukkan kepentingan relatif atau kontribusi setiap fitur dalam prediksi dan secara otomatis menghitung skor relevansi setiap fitur dalam training. Pada umumnya, Random Forest Classifier dilakukan dengan cara bagging dimana proses tersebut terletak pada proses split. Pada Random Forest Classifier, split membuat beberapa variabel prediktor yang terambil secara acak terlibat dalam proses split tersebut.

Cara kerja algoritma Random Forest Classifier adalah sebagai berikut:

1. Menggunakan n data sampel yang telah terambil secara acak dari dataset yang telah ada dengan menggunakan teknik bagging dengan pengembalian (replacement). Input berupa sequence matriks dengan panjang 54, sesuai dengan batas maksimal kata. Contoh input ditunjukkan pada Gambar 3.3.

Gambar 3.3. Contoh Data Input

2. Selanjutnya melakukan penentuan jumlah variabel prediktor yang akan diambil secara acak guna untuk menentukan split saat membentuk pohon keputusan. Jumlah variabel prediktor yang diambil secara acak dapat dihitung menggunakan rumus logβ‚‚(𝑀 + 1) (Breiman, 2001) atau bisa juga dihitung menggunakan rumus βˆšπ‘ (Genuer et al., 2009) dimana M dan p adalah jumlah variabel prediktor.

3. Membentuk pohon keputusan dengan melakukan perhitungan gini impurity

dimana node terbaik akan dipilih berdasarkan variabel-variabel prediktor

yang diambil secara acak pada proses sebelumnya.

(40)

28

4. Melakukan prediksi pada data training.

5. Mengulangi langkah 1 sampai dengan langkah 4 hingga K kali replikasi.

6. Selanjutnya melakukan majority voting pada setiap hasil prediksi yang telah dihasilkan dari K kali replikasi dalam proses pembentukan pohon keputusan.

7. Mencari perhitungan ketepatan output dari data training.

8. Mencari perhitungan ketepatan output dari data testing.

9. Melakukan perulangan pada langkah 1 sampai langkah 8 dengan melakukan percobaan pada kombinasi jumlah pohon (K) dengan nilai yang berbeda, yaitu sebesar 10, 30, 50, dan seterusnya.

10. Memilih dan menentukan kombinasi jumlah pohon yang mempunyai akurasi paling tinggi.

Arsitektur Random Forest Classifier akan ditunjukkan pada Gambar 3.4 dan penerapan algoritma Random Forest Classifier dapat dilihat pada pseudocode di bawah ini.

Gambar 3.4. Arsitektur Random Forest Classifier import sklearn

from sklearn.ensemble import RandomForestClassifier

clf = RandomForestClassifier(parameter RandomForestClassifier) clf.fit(X_train,Y_train)

y_pred = clf.predict(X_test)

(41)

Untuk visualisasi, digunakan kombinasi library matplotlib dan seaborn. Karena seaborn dibangun di atas matplotlib, library tersebut menawarkan sejumlah tema yang disesuaikan dan menyediakan jenis plot tambahan. Matplotlib adalah superset dari seaborn. Kedua library tersebut menghasilkan visualisasi yang baik.

3.6. Metode Evaluasi

Performansi suatu model identifikasi dapat dievaluasi dengan perhitungan beragam cara seperti akurasi, precision, recall, dan F1-Score. Akurasi merupakan rasio prediksi yang sesuai dengan aktual baik yang kelasnya positif atau negatif. Precision merupakan rasio perbandingan antara kelas yang diprediksi benar positif dengan seluruh kelas hasil yang diprediksi positif. Recall adalah rasio perbandingan antara kelas yang diprediksi benar positif dengan seluruh data yang memiliki kelas aktual positif. F1- Score adalah rata- rata perhitungan precision dan recall. Penelitian ini menggunaakan perhitungan akurasi, precision, recall, dan F1-Score untuk evaluasi sistem yang dibangun.

Penerapan confussion matrix dapat dilihat pada Tabel 3.10.

Tabel 3.10. Penerapan Confussion Matrix

Aktual Positif (1) Aktual Negatif (0)

Prediksi Positif (1) TP

(True Positive)

FP (False Positive)

Prediksi Negatif (0) TN

(True Negative)

FN (False Negative)

Persamaan yang digunakan untuk melakukan evaluasi dijabarkan dalam Persamaan 3.1, 3.2, 3.3, 3.4 seperti di bawah ini :

π‘ƒπ‘Ÿπ‘’π‘π‘–π‘ π‘–π‘œπ‘› =

π‘‡π‘Ÿπ‘’π‘’ π‘ƒπ‘œπ‘ π‘–π‘‘π‘–π‘£π‘’

π‘‡π‘Ÿπ‘’π‘’ π‘ƒπ‘œπ‘ π‘–π‘‘π‘–π‘£π‘’+πΉπ‘Žπ‘™π‘ π‘’ π‘ƒπ‘œπ‘ π‘–π‘‘π‘–π‘£π‘’

π‘₯ 100%...(3.1) π‘…π‘’π‘π‘Žπ‘™π‘™ =

π‘‡π‘Ÿπ‘’π‘’ π‘ƒπ‘œπ‘ π‘–π‘‘π‘–π‘£π‘’

π‘‡π‘Ÿπ‘’π‘’ π‘ƒπ‘œπ‘ π‘–π‘‘π‘–π‘£π‘’+πΉπ‘Žπ‘™π‘ π‘’ π‘π‘’π‘”π‘Žπ‘‘π‘–π‘£π‘’

π‘₯ 100%...(3.2) 𝐹1 βˆ’ π‘ π‘π‘œπ‘Ÿπ‘’ =

2 π‘₯ π‘ƒπ‘Ÿπ‘’π‘π‘–π‘ π‘–π‘œπ‘› π‘₯ π‘…π‘’π‘π‘Žπ‘™π‘™

π‘ƒπ‘Ÿπ‘’π‘π‘–π‘ π‘–π‘œπ‘›+π‘…π‘’π‘π‘Žπ‘™π‘™

π‘₯ 100%...(3.3) π΄π‘π‘π‘’π‘Ÿπ‘Žπ‘π‘¦ =

π‘‡π‘Ÿπ‘’π‘’ π‘ƒπ‘œπ‘ π‘–π‘‘π‘–π‘£π‘’+π‘‡π‘Ÿπ‘’π‘’ π‘π‘’π‘”π‘Žπ‘‘π‘–π‘£π‘’

π‘‡π‘œπ‘‘π‘Žπ‘™ π·π‘Žπ‘‘π‘Ž

π‘₯ 100%...(3.4)

Gambar

Gambar 2.6. Struktur algoritma Random Forest Classifier (Sharma, 2020)
Gambar 2.7. Cara kerja algoritma Random Forest Classifier (Navlani, 2018)
Tabel 2.1. Penelitian Terdahulu
Tabel 2.1. Penelitian Terdahulu (lanjutan)
+7

Referensi

Dokumen terkait