17
BAB III
METODE PENELITIAN
Pada bab ini akan dijelaskan mengenai penelitian yang akan dilakukan. Bab ini terdiri dari metode, alur penelitian, bagan penelitian, dan penjelasan penelitian. Metode dalam penelitian ini terdiri dari crawling data, preprocessing data, term frequency – inverse document frequency, penggunaan particle swarm optimization sebagai fitur seleksi, klasifikasi menggunakan naïve bayes classifier, confussion matrix, dan skenario pengujian.
Gambar 3.1 Alur Penelitian Start
Crawling Data
Naïve Bayes
Preprocessing
Particle Swarm Optimization
Naïve Bayes
Analisa Hasil
End TF-IDF
18 3.1 Crawling Data
3.1.1 Pembagian Data
Setelah mendapatkan sejumlah data yang didapatkan dari proses crawling data menggunakan python. Dilakukan pembagian menjadi dua kategori yaitu, data latih dan data uji. Dalam hal ini dilakukan pembagian berdasarkan persentase jumlah data tersebut. Data ini dibagi sesuai dengan scenario pengujian yang akan dilakukan pada proses klasifikasi. Semua data yang telah didapatkan akan dibagi menjadi beberapa persentase berbeda dalam setiap pengujiannya dan akan dijelaskan pada scenario pengujian. Hal ini dilakukan untuk mengetahui tingkat keberhasilan dalam akurasi dari akhir klasifikasi yang akan dilakukan.
3.2 Software 1. Python
2. Jupyter Notebook 3.3 Preprocessing
Pada proses ini terdapat beberapa tahap, dalam proses preprocessing ini terdapat library yang digunakan yaitu, library sastrawi. Proses preprocessing yang sesuai dengan data set berupa teks sebagai berikut :
1. Melakukan proses case folding yaitu, dengan merubah huruf kapital menjadi huruf kecil pada seitpa kata yang terdapat di sebuah dokumen.
2. Melakukan proses stopwords dan punctuational removal. Dengan menghapus kata pada tweet yang tidak terdapat di dalam daftar stopwords.
3. Melakukan proses tokenizing untuk memcah sebuah tweet menjadi satuan kata per kata.
4. Melakukan proses stemming untuk menghilangkan kata imbuhan dengan tujuan mendapatkan kata dasar.
19
Hasil yang didapat dari proses preprocessing ini berupa data yang telah siap untuk diolah pada proses selanjutnya. Tahap preprocessing ini membuat data yang tidak baik atau belum siap diolah menjad data yang diap diolah.
3.4 Term Frequency – Inverse Document Frequency
Setelah mendapatkan data hasil dari proses preprocessing, data tersebut siap untuk diolah pada proses ini. Proses ini semua kata yang terdapat dalam data tersebut akan diproses sehingga setiap kata memiliki nilai bobotnya tersendiri.
Setelah proses ini dilakukan maka kumpulan dokumen telah siap untuk dilakukan data training untuk proses selanjutnya. Berikut merupakan sedikit penjelasan mengenai alur dari proses ini :
1. Meyiapkan data hasil proses preprocessing.
2. Melakukan term frequency (TF) pada setiap kata yang ada didalam dokumen. Term frequency yang dilakukan ini jenis binary term frequency yaitu dengan memberikan nilai 1 jika ada dan 0 jika tidak ada. Perhitungan nilai TF ini menggunakan persamaan (1).
3. Setelah melakuakan pembobotan, tahap selanjutnya menghitung nilai dari inverse document frequency (IDF). Tahap ini akan menunjukkan hubungan ketersediaan sebuah term di dalam keseluruhan dokumen. Menghitung nilai dari IDF menggunakan persamaan (2).
4. Tahap selanjutnya melakukan perhitungan dari nilai TF – IDF dengan menggunakan persamaan (3).
5. Output data setelah melalui proses TF – IDF.
Hasil dari proses yang dilakukan pada tahap term frequency – inverse document frequency (TF – IDF) merupakan data yang telah memiliki term atau bobot pada setiap kata yang berada didalam dokumen tersebut. Untuk selanjutnya diproses pada tahap feature selection menggunakan algoritma particle swarm optimization.
20 3.5 Particle Swarm Optimization
Untuk memulai algoritma particle swarm optimization, diharuskan untuk membangkitkan kecepatan awal dan posisi awal dari partikel. Berikut penjelasan mengenai alur proses algoritma particle swarm optimization :
1. Melakukan inisialisasi posisi awal dari partikel secara acak atau random.
Dengan kecepatan awal semua partikel 0 (nol).
2. Mengevaluasi nilai fitness awal berdasarkan nilai terendah dari setiap partikel.
3. Mencari nilai terbaru dari gbest (global best) dan pbest (local best).
4. Memperbaharui nilai kecepatan dengan persamaan (5).
5. Memperbaharui nilai posisi dengan persamaan (6).
6. Nilai fitness dibandingkan dengan gbest. Jika nilai gbest lebih baik dari nilai fitness maka nilai gbest yang di update menjadi nilai fitness terbaru untuk semua partikel.
7. Cek apakah solusi yang terakhir sudah konvergen atau belum. Jika posisi semua partikel menuju ke satu nilai yang sama, maka bisa disebut konvergen. Jika belum maka wajib melakukan iterasi kembali sampai semua posisi partikel menuju ke satu nilai yang sama.
8. Proses akan terhenti dengan sendiri jika telah mencapai nilai stopping criteria.
9. Output data setelah proses particle swarm optimization.
Hasil yang didapatkan dari proses yang dilakukan pada tahap particle swarm optimization ini berupa data yang setiap term telah dioptimasi bobotnya. Jadi terdapat beberapa term yang akan mengalami perubahan pada bobotnya Ketika melalui proses pada tahap ini. Semua term yang telah di optimasi akan langusng diproses pada tahap klasifikasi menggunakan metode naïve bayes classifier.
3.6 Naïve Bayes Classifier
Naïve bayes classifier adalah Teknik klasifikasi secara statistic dengan memprediksi suatu data terprediksi ke dalam kelas tertentu[27]. Berikut penjelasan
21
mengenai alur proses yang akan dilakukan pada proses klasifikasi dengan metode naïve bayes ini :
1. Mendapatkan data hasil dari proses feature selection.
2. Menghitung probabilitas dari 𝑣𝑗 pada data training dengan persamaan (8) dimana 𝑣𝑗 merupakan kategori sentiment, yaitu 𝑣1 = 𝑝𝑜𝑠𝑖𝑡𝑖𝑓, dan 𝑣2 = 𝑛𝑒𝑔𝑎𝑡𝑖𝑓.
3. Model probabilitas naïve bayes disimpan dan digunakan pada tahap data testing.
4. Menghitung nilai probabilitas tertinggi dari kategori sentimen yang diujikan dengan persamaan (6).
Hasil yang didapatkan dari proses klasifikasi menggunakan metode naïve bayes classifier adalah berupa nilai probabilitas dari proses tersebut. Nilai probabilitas ini yang akan digunakan untuk mengetahui hasil dari analisis sentimen mengenai penyelenggaraan pilkada serentak tahun 2020.
3.7 Evaluasi
Setelah mendapatkan hasil dari proses klasifikasi yang telah dilakukan sebelum masuk ke proses evaluasi. Akan dilakukan pengujian secara intrinstik dengan menghitung nilai dari accuracy, precision, recall, dan f – measure.
Tabel 1 Confussion Matrix
Class Positif Negatif
Positif True Positif (TP) False Negatif (FN) Negatif False Positif (FP) True Negatif (TN) 3.7.1 Accuracy
Nilai accuracy didapatkan dari jumlah proporsi prediksi benar.
Berikut rumus untuk perhitungannya : 𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃+𝑇𝑁
𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁 (10)
22 3.7.2 Precision
Precision merupakan proporsi dari jumlah dokumen teks yang relevan terkendali diantara semua teks yang terpilih oleh sistem.
Berikut rumus perhitungan dari precision : 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃
𝑇𝑃+𝐹𝑃 (11)
3.7.3 Recall
Recall adalah proporsi jumlah dokumen teks yang relevan terkendali diantara semua dokumen teks relevan yang terdapat pada koleksi. Berikut rumus perhitungan dari recall :
𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃
𝑇𝑃+𝐹𝑁 (12)
3.7.4 F – Measure
F – measure adalah salah satu perhitungan evaluasi dalam informasi yang mengkombinasi nilai recall dan nilai precision.
Berikut rumus dari perhitungan nilai f – measure.
𝑓 − 𝑚𝑒𝑎𝑠𝑢𝑟𝑒 = 2 × 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ×𝑟𝑒𝑐𝑎𝑙𝑙
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑟𝑒𝑐𝑎𝑙𝑙 (13) 3.8 Skenario Pengujian
Pada proses pengujian terdapat dua proses klasifikasi. Pertama klasifikasi dengan metode naïve bayes classifier dan proses kedua menggunakan metode naïve bayes classifier berbasis particle swarm optimization.
Skenario pertama terdapat pengujian menggunakan metode naïve bayes dengan pembagian data uji sebesar 40% dan data latih sebesar 60%. Skenario kedua terdapat scenario pengujian dengan pembagian data uji sebesar 70% dan data latih sebesar 30%.
Selain kedua proses klasifikasi tersebut terdapat scenario pengujian yang terdiri empat scenario pengujian dengan metode naïve bayes classifier berbasis particle swarm optimization.
Skenario pengujian ketiga menggunakan iterasi pada proses particle swarm optimization sebanyak 50 kali dengan pembagian data uji sebesar 30% dan data latih
23
sebesar 70% pada saat proses klasifikasi menggunakan metode naïve bayes classifier. Pada skenario pengujian keempat menggunakan iterasi sebanyak 80 kali pada proses particle swarm optimization dengan pembagian data uji sebesar 40%
dan data latih sebesar 60% untuk proses klasifikasi dengan metode naïve bayes classifier. Pada skenario pengujian kelima menggunakan iterasi sebanyak 100 kali pada proses particle swarm optimization dengan pembagian data uji sebanyak 50%
dan data latih sebanyak 50% untuk proses klasifikasi dengan metode naïve bayes classifier. Pada skenario keenam menggunakan iterasi sebanyak 120 kali pada saat proses particle swarm optimization dengan pembagian data uji sebanyak 60% dan data latih sebanyak 40% untuk proses klasifikasi dengan metode naïve bayes classifier. Pada skenario ketujuh menggunakan iterasi sebanyak 150 kali pada saat proses particle swarm optimization dengan pembagian data uji sebanyak 70% dan data latih sebanyak 30% untuk proses klasifikasi dengan metode naïve bayes classifier. Pada skenario kedelapan menggunakan iterasi sebanyak 180 kali pada saat proses particle swarm optimization dengan pembagian data uji sebanyak 80%
dan data latih sebanyak 20% untuk proses klasifikasi dengan metode naïve bayes classifier. Pada skenario yang terakhir yaitu skenario kesembilan menggunakan iterasi sebanyak 200 kali pada saat proses particle swarm optimization dengan pembagian data uji sebanyak 90% dan data latih sebanyak 10% untuk proses klasifikasi dengan metode naïve bayes classifier.
Semua proses klasifikasi pada skenario pengujian penelitian ini menggunakan nilai k – folds sebesar 10.