• Tidak ada hasil yang ditemukan

ANALISIS SENTIMEN MENGGUNAKAN ALGORITMA NAÏVE BAYES DENGAN SELEKSI FITUR PARTICLE SWARM OPTIMIZATION (PSO) DAN GENETIC ALGORITHM (GA) TESIS.

N/A
N/A
Protected

Academic year: 2022

Membagikan "ANALISIS SENTIMEN MENGGUNAKAN ALGORITMA NAÏVE BAYES DENGAN SELEKSI FITUR PARTICLE SWARM OPTIMIZATION (PSO) DAN GENETIC ALGORITHM (GA) TESIS."

Copied!
81
0
0

Teks penuh

(1)

TESIS

Oleh :

ABI RAFDI 187038055

SEKOLAH PASCASARJANA UNIVERSITAS SUMATERA UTARA

MEDAN

2021

(2)

ii

ANALISIS SENTIMEN MENGGUNAKAN ALGORITMA NAÏVE BAYES DENGAN SELEKSI FITUR PARTICLE SWARM

OPTIMIZATION (PSO) DAN GENETIC ALGORITHM (GA)

TESIS

Diajukan sebagai salah satu syarat untuk memperoleh gelar Magister dalam Program Studi Teknik Informatika pada

Sekolah Pascasarjana Universitas Sumatera Utara

Oleh :

ABI RAFDI 187038055

SEKOLAH PASCASARJANA UNIVERSITAS SUMATERA UTARA

MEDAN

2021

(3)

iii

OPTIMIZATION (PSO) DAN GENETIC ALGORITHM (GA)

Nama : Abi Rafdi

Nomor Pokok : 187038055

Program Studi : Magister (S-2) Teknik Informatika (TI)

Menyetujui:

Komisi Pembimbing,

Prof. Dr. Herman Mawengkang Dr. Syahril Efendi, S.Si, M.IT Ketua Anggota

(4)

iv Tanggal Lulus:

Telah diuji pada

Tanggal : 06 Januari 2022

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Herman Mawengkang Anggota : 1.Dr. Syahril Efendi, S.Si, M.IT

2. Prof. Drs. Mahyuddin K.M Nasution, M.IT 3. Dr. Sawaluddin, M.IT

(5)

v ABSTRAK

Seiring dengan berkembangnya kemajuan teknologi, pada saat ini masyarakat dapat mengkritik atau mengungkapkan pendapat melalui media sosial.

Salah satu media sosial yang populer adalah twitter. Twitter dapat menjadi sumber informasi dan komunikasi dalam menangkap sebuah berita. Dengan postingan yang begitu banyak tentu sulit membedakan berita tersebut baik atau tidak maka untuk mengatasi permasalahan ini diperlukan sebuah analisis sentimen. Analisis sentiment berfungsi untuk menentukan pendapat yang dinyatakan. algoritma klasifikasi dalam penyelesaian ini menggunakan algoritma Naïve bayes. Akan tetapi Naive Bayes sangat sensitif terhadap fitur yang besar. Maka dalam penelitiaan ini dilakukan seleksi fitur guna meningkatkan akurasi naïve bayes.

Seleksi fitur yang digunakan adalah Particle Swarm Optimization dan Genetic Algorthm. Hasil yang diperoleh pada penelitian ini menggunakan seleksi fitur Particle Swarm Optimization mampu meningkatkan akurasi sebesar 17.24%

sedangkan Genetic Algorthm mampu meningkatkan 11.52%.

Kata Kunci: Analisis sentimen, Naïve Bayes, Seleksi Fitur, Particle Swarm Optimization, Genetic Algorthm.

(6)

vi

Sentiment Analysis Using Naive Bayes Algorithm with Feature Selection Particle Swarm Optimization (PSO) and Genetic

Algorithm ABSTRACT

Along with the development of technological advances, at this time people can criticize or express opinions through social media. One of the popular social media is twitter. Twitter can be a source of information and communication in capturing news. With so many posts, it is certainly difficult to distinguish whether the news is good or not, so to overcome this problem, a sentiment analysis serves to determine the opinion expressed. The classification algorithm in this solution uses the naïve bayes algorithm. However naïve bayes is very sensitive to large features. So in this study feature selection was carried out to oncrease the accuracy of naïve bayes.

Selection features used are Particle Swarm Optimization and genetic algorithm.

The result obtained in this study using Particle Swarm Optimization feauture selection wew able to oncrease accuracy by 17.24 % while genetic algorithm was able to increase 11.52%.

Keywords: Sentiment Analysis, Naive Bayes Feature Selection Particle Swarm Optimization, Genetic Algorithm

(7)

vii

rahmat dan hidayah-Nya kepada penulis tak lupa sholawat serta salam kepada baginda nabi Muhammad shalallahu alaihi wassalam. sehingga diberi kesempatan mengerjakan dan menyelesaikan penelitian tesis ini. Pada kesempatan yang baik ini, penulis ingin mengucapkan banyak terima kasih kepada :

1. Bapak Dr. Muryanto Amin, S.Sos., M.Si. sebagai Rektor Universitas Sumatera Utara.

2. Ibu Dr. Maya Silvi Lydia, M.Sc. sebagai Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Eng Ade Candra ST., M.Kom. sebagai Ketua Program Studi S-2 Teknik Informatika Universitas Sumatera Utara.

4. Bapak Prof. Dr. Herman Mawengkang. sebagai Dosen Pembimbing I yang telah memberikan masukan dan juga saran dalam penulisan dan penelitian tesis ini.

5. Bapak Dr. Syahril Efendi, S.Si, M.IT. sebagai Dosen Pembimbing II yang telah memberikan bimbingan, masukan dan dukungan kepada penulis.

6. Bapak Prof. Drs. Mahyuddin K. M. Nasution, M. IT sebagai Dosen Penguji I yang telah memberikan bimbingan kepada penulis.

7. Bapak Dr. Sawaluddin, M.IT. sebagai Dosen Penguji II yang telah memberikan bimbingan kepada penulis.

8. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi USU, terkhususnya di Program Studi S-2 Teknik Informatika.

9. Buya Alm. Khairul Shaleh dan Umi Indriaty sebagai orang tua penulis, untuk setiap doa, semangat dan motivasi yang diberikan selama penulis menyelesaikan tesis ini.

10. Buat seluruh keluarga penulis kak dara, bang ali, kak rina, opan, bang momo, kak july, bang rian dan yumi atas semangat dan motivasi yang diberikan.

11. Buat kak nisa, bu titin, bu lusi, alm pak syaiful, abang alvin dan FASILKOM TI Basket ball yang telah memberikan waktu, semangat dan ilmunya dalam proses menyelesaikan tesis ini.

12. Seluruh rekan-rekan mahasiswa Magister Teknik Informatika Kom C 2018.

13. Seluruh pihak yang terlibat langsung dan tidak langsung dalam penulisan tesis ini.

Semoga Allah memberi rahmatnya kepada semua pihak yang telah memberikan bantuan, semangat, dukungan dan perhatian kepada penulis dalam menyelesaikan tesis ini. Semoga penelitian ini bermanfaat bagi penulis, pendidikan, masyarakat, agama dan negara.

Medan, 06 Januari 2022 Penulis,

Abi Rafdi

(8)

viii DAFTAR ISI

Halaman

PERSETUJUAN ……….. iii

PANITIA PENGUJI TESIS ……… iv

ABSTRAK ……….. v

ABSTRACT ……….. vi

KATA PENGANTAR ………. vii

DAFTAR ISI ………... ix

DAFTAR TABEL ………... x

DAFTAR GAMBAR ……….. xi

DAFTAR LAMPIRAN ………... xiii

PERNYATAAN ……….. xiv

PERSETUJUAN PUBLIKASI ……… xv

RIWAYAT HIDUP ……… xvi

BAB I. PENDAHULUAN ………. 1

1.1 Latar Belakang ……… 1

1.2 Rumusan Masalah ……….. 3

1.3 Tujuan Penelitian ……… 3

1.4 Batasan Penelitian ……….. 4

1.5 Manfaat Penelitian ………. 4

BAB II. LANDASAN TEORI ……… 5

2.1 Analisis... 5

2.2 Sentiment Analysis dan Text Mining... 5

2.3 Text Prepocessing ... 6

2.4 Twitter ... 9

2.5 Glosarium Twitter ... 10

2.6 Streaming API ... 10

2.7 Data Mining ... 11

2.8 Klasifikasi ... 17

2.9 Naïve Bayes ... 18

2.10 Particle Swarm Optimization (PSO) ... 20

2.11 Genetic Algorthm (GA) ... 23

2.12 Metode Pengumpulan Data ... 24

2.13 Observasi ... 24

2.14 Confussion Matrix ... 24

2.15 Penelitiaan Terkait ... 26

BAB III. METODOLOGI PENELITIAN ………. 26

3.1 Jenis Data ... 26

3.2 Data Yang Digunakan ... 26

3.3 Data Twitter ... 26

3.4 Data Stopword ... 28

3.5 Data Kata Dasar ... 28

3.6 Rancangan Penelitiaan ... 29

(9)

ix

3.10 Normalisasi Kata ... 32

3.11 Preprocessing ... 34

3.12 Penentuan Kelas Record ... 34

3.13 Pembagiaan Data ... 35

3.14 Process Document ... 35

3.15 Pemilihan Fitur ... 37

3.16 K-Fold Cross Validation ... 38

3.17 Desain Sistem ... 38

3.18 Jadwal Kegiatan ... 40

BAB IV.HASIL DAN PEMBAHASAN ... 42

4.1 Hasil ... 42

4.2 Proses Pengujian ... 42

4.2.1 Proses Pengujian Naïve Bayes ... 47

4.2.2 Proses Pengujian Naïve Bayes Dengan PSO ... 49

4.2.3 Proses Pengujian Naïve Bayes Dengan GA ... 51

4.3 Analisa Akurasi (Accuracy) ... 53

BAB V. PEMBAHASAN ... 55

5.1 Kesimpulan ... 55

BAB VI.PEMBAHASAN ... 56

6.1 Kesimpulan ... 56

6.2 Saran ... 56

DAFTAR PUSTAKA ………. 58

(10)

x DAFTAR TABLE

No. Judul Halaman

2.1 Rumus Confusion Matrix ... 25

2.2 Penelitiaan Terkait ... 26

3.1 Crawling Data Twitter ... 28

3.2 Data Stopword ... 29

3.3 Data Kata Dasar ... 29

3.4 Bahasa Gaul ... 34

3.5 Kata Singkatan... 34

3.6 Jadwal Pelaksanaan Kegiatan ... 41

4.1 Akurasi Ukuran Populasi ... 46

4.2 Akurasi Algoritma Naïve Bayes ... 48

4.3 Akurasi Algoritma Naïve Bayes dengan PSO ... 50

4.4 Akurasi Algoritma Naïve Bayes dengan GA ... 52

4.5 Akurasi Pengujian ... 54

(11)

xi

2.3 Tokenazing ... 7

2.4 Filtering ... 7

2.5 Stemming ... 9

2.6 Proses Knowledge Discovery in Databases ... 13

2.7 Classification (Decision Tree) ... 14

2.8 Clustering ... 15

2.9 Product Association ... 15

2.10 Time Series ... 16

2.11 Web Navigation Sequence ... 17

2.12 Alur Kerja Particle Swarm Optimization ... 22

2.13 Genetic Cycle Algorthm ... 23

3.7 Flowchart Rancangan Penelitiaan ... 30

3.8 Proses Crawling ... 31

3.9 Hasil Crawling ... 31

3.10 Hasil Remove Duplicate ... 32

3.11 Prepocessing ... 35

3.12 Penentuan Kelas Atribut ... 35

3.13 Process Document ... 37

3.14 Pengujian dengan feature selection PARTICLE Swarm Optimization (PSO) ... 38

3.15 Penerapan Algoritma Naïve Bayes ... 39

4.6 Proses Pengujian Utama ... 43

(12)

xii

4.7 Desain pengujian penentuan nilai Population Size ... 45

4.8 Pengujian nilai Population Size ... 45

4.9 Confusion Matrix Ukuran Populasi ... 46

4.10 Kurva ROC Matrix Ukuran Populasi ... 47

4.11 Desain Pengujian Metode Naïve Bayes ... 48

4.12 Desain Pengujian Metode Naïve Bayes dengan PSO... 49

4.13 Confusion Matrix Accuracy PSO ... 50

4.14 Kurva ROC Matrix PSO ... 51

4.15 Desain Pengujian Metode Naïve Bayes dengan GA ... 52

4.16 Confusion Matrix Accuracy GA ... 53

4.17 Kurva ROC Matrix GA ... 53

4.18 Grafik Perbandingan Uji... 55

(13)

xiii

1. Listing Program ……….. 62

(14)

xiv

(15)

xv DATA PRIBADI

Nama Lengkap : Abi Rafdi S.Pd

Tempat dan Tanggal Lahir : Medan, 30 Desember 1995 Alamat Rumah : Jl. Marelan V LK 16, Medan

Telp/HP : 085271567884

Email : abirafdikoto30@gmail.com

DATA PENDIDIKAN

SD : SD 066040 TAMAT: 2007

SLTP : SMP Al-Hikmah TAMAT: 2010

SLTA : SMK Pancabudi Medan TAMAT: 2013

S1 : PTIK IAIN Bukittinggi TAMAT: 2017

S2 : Teknik Informatika USU TAMAT: 2022

(16)

1 BAB I

PENDAHULUAN 1.1 Latar Belakang

Menurut Kementerian Komunikasi dan Informatika (Kemenkominfo)

“mengungkapkan jumlah pengguna internet di Indonesia saat ini mencapai 63 juta. Dari jumlah tersebut 95% menggunakan Internet untuk mengakses media sosial. Hal ini menyebabkan banyak postingan media sosial setiap harinya dengan berbagai variasi yang berbeda-beda. Dengan postingan yang begitu banyak tentu sulit untuk mengetahui pendapat atau opini dari setiap pengguna media sosial. Hal tersebut dapat diatasi dengan melakukan penyaringan atau pengambilan entitas tertentu dalam sebuah pesan atau postingan yang disebut sebagai ekstraksi informasi.

Ekstraksi informasi adalah teknik pengumpulan informasi dari kumpulan dokumen yang tidak terstruktur menjadi terstruktur. maka perlu ditetapkan informasi target sebagai informasi terstruktur yang akan di ekstrak. Selain itu dari data tersebut dimungkinkan memperoleh informasi tentang opini pengguna media sosial perihal topik tertentu. Agar semua data opini dapat bermanfaat, maka pengolahan data dapat dilakukan dengan menggunakan analisis sentimen. Analisis sentimen adalah bidang studi yang menganalisis penilaian emosional, sikap dan perasaan terhadap entitas dan aspek yang diungkapkan secara tertulis (Nugroho, 2018).

Berikut Beberapa penelitian terkait analisis sentimen telah dipublikasikan oleh para peneliti. (Vinodhini & Chandrasekaran, 2012) telah mengembangkan sistem yang mampu mengidentifikasi dan mengklasifikasikan sentimen publik untuk memprediksi daya tarik

(17)

pemasaran produk. Studi lain yang dilakukan oleh (Sinaga, et al. 2017) tentang penggunaan analisis sentimen untuk menentukan peringkat popularitas tempat wisata. (Yaqu, et al. 2017) Analysis of Emotions for Politics yang menganalisis sifat dan karakteristik wacana politik yang terjadi di Twitter saat pemilihan presiden AS pada 11 November 2016.

Klasifikasi adalah metode pengambilan data yang digunakan untuk memprediksi suatu nilai atau sekumpulan data. Klasifikasi dapat digunakan untuk menggambarkan data atau memprediksi data di masa yang akan datang.

Tantangan terbesar dalam penelitian klasifikasi adalah masalah ketidakseimbangan kelas, dan salah satu solusi yang diusulkan adalah seleksi fitur. (Pant & Srivastava, 2015).

Seleksi fitur atau feature selection merupakan salah satu faktor terpenting yang dapat mempengaruhi tingkat keakuratan klasifikasi. Seleksi fitur atau pemilihan fitur merupakan proses optimasi untuk mereduksi sekelompok besar atribut dari asalnya menjadi sekumpulan atribut yang relatif kecil yang penting untuk meningkatkan akurasi secara cepat dan efisien (Cahyono, 2017).

Dengan pemilihan fitur yang tepat pengklasifikasi dapat berfungsi secara efektif dan lebih efisien dengan meminimalkan jumlah data yang akan dianalisis (R. Moraes et al. 2013). (Samuel et al. 2018) dalam penelitiannya membandingkan metode K-Nearest Neighbor dan SVM dengan analisis sentimen. Algoritma Support Vector Machine (SVM) memberikan performa terbaik.

(18)

3

(Nia et al. 2018). Dalam penelitiaanya melakukan klasifikasi sentimental artikel menggunakan algoritma Naïve Bayes dan Support Vector Machine dengan Particle Swarm Optimization. Algoritma Naïve Bayes dengan Particle Swarm Optimization menghasilkan akurasi terbaik dengan nilai 9200 n AUC 05.50%. Penelitian lain dilakukan (Risa Wati, 2015) yang melakukan analisis sentimen terhadap rating layanan penerbangan lighting menggunakan Naive Bayes dengan Genetic Algorithm pada feature selection menghasilkan nilai Genetic Algorithm sebesar 89.50%.

Berdasarkan uraian di atas, peneliti termotivasi untuk menggunakan Particle Swarm Optimization (PSO) dan Genetic Algorthm (GA) dalam seleksi fitur untuk meningkatkan akurasi algoritma Naïve Bayes. Diharapkan Hasil pemilihan fitur dalam penelitiaan ini mampu meningkatkan akurasi Naïve Bayes.

1.2 Rumusan masalah

Tingkat akurasi yang dihasilkan metode Naive Bayes relatif rendah dengan fitur yang besar. Oleh karena itu diperlukan suatu pendekatan yang dapat mengatasi permasalahan tersebut.

1.3 Tujuan Penelitiaan

Tujuan dari penelitian ini adalah untuk mengetahui sejauh mana akurasi algoritma Naive Bayes mampu ditingkatkan dengan seleksi fitur Particle Swarm Optimization (PSO) dan Genetic Algorithm (GA).

(19)

1.4 Batasan Masalah

Agar penelitian ini tidak terlalu luas cakupannya dan tetap pada tujuan utamanya, peneliti menerapkan beberapa batasan masalah. Batasan masalah tersebut antara lain:

a. Penelitian hanya menganalisis akurasi dari algoritma Naïve Bayes b. Seleksi fitur menggunakan Particle Swarm Optimization (PSO) dan

Genetic Algorithm (GA)

c. Keakuratan Naive Bayes dievaluasi dari hasil perhitungan sebelum dan sesudah menggunakan Particle Swarm Optimization (PSO) dan Genetic Algorithm (GA)

d. Data yang digunakan dalam penelitian ini adalah data dari analis Twitter dengan kata pencarian Vaccine sebanyak 1000 record.

1.5 Manfaat Penelitiaan

Manfaat yang diharapkan dari penelitian ini adalah sebagai berikut:

a. Particle Swarm Optimization (PSO) dan Genetic Algorithm (GA) yang digunakan dalam seleksi fitur dapat membantu meningkatkan akurasi Naive Bayes

b. Kontribusi dalam bidang klasifikasi data khususnya penggunaaan algoritma Naïve Bayes.

(20)

5 BAB II

LANDASAN TEORI

2.1 Analisis

Analisis merupakan aktivitas yang memuat sejumlah kegiatan seperti mengurai, membedah, memilah dan mengelompokkan data menurut kriteria tertentu (Makinudin, 2006). Analisis adalah teknik pemecahan masalah yang memecah sistem menjadi komponen-komponen untuk mempelajari seberapa baik komponen-komponen tersebut bekerja dan berinteraksi untuk mencapai tujuannya (Whitten, 2007).

2.2 Sentiment Analysis dan Text Mining

Sentiment Analysis adalah pengelompokkan polaritas dari teks yang ada dalam sebuah dokumen atau kalimat untuk menentukan pendapat yang dikemukakakan dalam dokumen atau kalimat bersifat positif, negatif atau netral. Lebih lanjut sentiment analysis dapat menyatakan emosional sedih, gembira, atau marah (Liu, 2012).

Text mining merupakan suatu proses menggali informasi dimana seorang user berinteraksi dengan sekumpulan dokumen menggunakan tools analysis yang merupakan komponen-komponen dalam data mining yang salah satunya adalah kategorisasi. Text mining dapat memberikan solusi dari permasalahan seperti pemrosesan, pengorganisasian atau pengelompokkan unstructured text dalam jumlah besar. Text mining juga berperan dalam memberikan solusi, mengadopsi dan mengembangkan banyak Teknik dari bidang lain, seperti Data mining, Information Retrieval, Statistic, Mathematics, Machine

(21)

Learning, Linguistic, Natural Languange Processing (NLP), dan Visualization (Feldman et al. 2007).

2.3 Text Preprocessing

Proses text preprocessing merupakan implementasi dari text mining untuk mengolah teks yang tidak terstruktur menjadi teks yang lebih terstruktur atau dengan kata lain mempersiapkan teks tersebut agar dapat ditransformasikan menjadi lebih terstruktur. Ada empat tahap preprocessing teks yang meliputi Case Folding, Tokenazing, filtering dan stemming.

1) Case folding

Tahap case folding adalah tahap untuk mengubah seluruh teks dalam dokumen menjadi huruf kecil semua (lowercase). Sebagai contoh teks

“PARIWISATA” “Pariwisata” “Pariwisata” atau “pariwisata” masih diberikan hasil temu kembali yang sama yaitu “pariwisata”. Dalam hal ini tahap folding, hanya huruf 'a sampai 'z yang diterima, sedangkan karakter selain huruf dihilangkan dan dianggap sebagai pembatas (Triawati, 2009).

2) Tokenazing

Tokenazing atau tokenisasi adalah proses pemenggalan kalimat menjadi token atau potongan kata–kata. Dengan dilakukan pemotongan akan memudahkan pada proses stopword dan stemming, karena dua proses tersebut akan mencocokan kata per kata dengan root atau kata dasar (Manning et al. 2009).

(22)

7

Teks Input Hasil Tokenazing

Gambar 2.1 Tokenazing

3) Filtering

Langkah filtering adalah langkah yang mengekstrak kata-kata penting dari hasil token. Dimungkinkan untuk menggunakan algoritma stoplist (menghapus kata-kata yang kurang penting) atau daftar kata (menyimpan kata-kata penting). Stop list adalah kata nondeskriptif yang dapat dihilangkan dalam pendekatan of-words (Manning et al. 2009).

Hasil Token Hasil Filter

Gambar 2.2 Filtering

Kata-kata seperti "dari" "yang" "ke" dan "me" adalah beberapa contoh kata frekuensi tinggi yang dapat ditemukan di hampir semua

(23)

dokumen (dikenal sebagai kata berhenti). Menghapus stopword ini dapat mengurangi ukuran indeks dan waktu pemrosesan. Namun terkadang berhenti tidak selalu meningkatkan nilai residu. Konstruksi daftar stop word yang tidak baik (dikenal sebagai stop word list) dapat memperburuk kinerja sistem informasi dan Tidak ada kesimpulan tegas bahwa penggunaan Stop akan selalu meningkatkan nilai residu karena dalam beberapa penelitian hasil yang diperoleh cenderung bervariasi (Manning et al. 2009).

4) Stemming

Pembuatan indeks dilakukan karena suatu dokumen tidak dapat dikenali langsung oleh suatu sistem temu kembali informasi atau Information Retrieval System (IRS). Oleh karena itu, dokumen tersebut terlebih dahulu perlu dipetakan ke dalam suatu representasi dengan menggunakan teks yang bberada di dalamnya. Teknik stemming diperlukan selain untuk memperkecil jumlah indeks yang berbeda dari suatu dokumen, juga untuk melakukan pengelompokan kata-kata lain 12 yang memiliki kata dasar dan arti yang berupa namun memiliki bentuk atau form yang berbeda karena mendapatkan imbuhan yang berbeda.

Pengindeksan dilakukan karena suatu dokumen tidak dapat diidentifikasi secara langsung oleh sistem temu kemali informasi dan (IRS). Oleh karena itu, dokumen tersebut terlebih dahulu perlu dipetakan ke dalam suatu representasi dengan menggunakan teks yang bberada di dalamnya. Teknik stemming diperlukan selain untuk memperkecil jumlah indeks yang berbeda dari suatu dokumen, juga untuk melakukan

(24)

9

pengelompokan kata-kata lain yang memiliki kata dasar dan arti yang berupa namun memiliki bentuk atau form yang berbeda karena mendapatkan imbuhan yang berbeda.

Hasil Token Hasil Filter

Gambar 2.3 Stemming

Sebagai contoh kata bersama, kebersamaan, menyamai, akan distem ke root wordnya yaitu “sama”. Namun, seperti halnya stopping, kinerja stemming juga bervariasi dan sering tergantung pada domain bahasa yang digunakan. Proses stemming pada teks berbahasa Indonesia berbeda dengan stemming pada teks berbahasa Inggris. Pada teks berbahasa Inggris, proses yang diperlukan hanya proses menghilangkan sufiks.

Sedangkan pada teks berbahasa Indonesia semua kata imbuhan baik itu sufiks dan prefiks juga dihilangkan (Manning et al. 2009).

2.4 Twitter

Twitter merupakan sosial media masif yang berubah menjadi situs berbagi informasi dan berkomunikasi secara cepat. Kecepatan dan kemudahan Twitter dalam hal publikasi, membuat Twitter menjadi sebuah medium pilihan bagi pengguna untuk berkomunikasi setiap hari. Twitter merupakan salah satu media yang masuk dalam kategori micrologging yang memungkinkan pulik untuk berkomentar atau berpartisipasi.

(25)

2.5 Glosarium Twitter

Glosarium Twitter berisi kosakata dan istilah yang sering digunakan untuk membahas fitur dan aspek dari Twitter. Berikut ini merupakan kosakata pada Twitter berdasarkan Support (Twitter, n.d.):

1. pertama. @. Simbol @ digunakan untuk merujuk ke nama pengguna dalam Tweet: "Halo @twitter!" Orang lain akan menggunakan nama pengguna @ untuk menyebut Nama di Tweet dan mengirim Pesan Langsung atau tautan ke profil Nama.

2. Nama pengguna @. dikenali di Twitter dengan nama pengguna yang selalu diawali dengan simbol @. Misalnya Bantuan Twitter adalah

@TwitterHelp.

3. #hashtag. Hash tag adalah kata atau frasa yang dimulai langsung dengan simbol #. Saat mengeklik atau mengetuk tagar akan dilihat Tweet lain dengan kata pencariaan atau topik yang sama.

4. Geolokasi. Dengan menamahkan lokasi ke Tweet (geo atau geolokasi) pengguna yang melihat Tweet akan mengetahui di mana berada saat Nama mempostingnya.

5. Stemp time Tanggal dan waktu Tweet dikirim ke Twitter. Stemp time Tweet muncul sebagai teks waktu di setiap tampilan detail Tweet.

2.6 Streaming API

Streaming API merupakan fitur pada Twitter yang membantu developer untuk melakukan akses secara langsung ke dalam stream global Twitter dengan latency yang rendah, sehingga memudahkan developer untuk melakukan pengambilan data. Beberapa tipe endpoint dalam Streaming API berdasarkan Support Twitter (Twitter, n.d.):

(26)

11

1. Public Streams. Menyediakan streams yang berasal dari data publik yang bergabung dengan Twitter. Jenis endpoint ini berguna untuk mencari user tertentu, mencari topik, dan melakukan data mining.

2. User Streams. Single-user streams yang menyediakan seluruh data yang berkesesuaian dengan seluruh informasi mengenai urus pilihan.

3. Site Streams. Streams untuk melakukan penelitiaan data yang dikhususkan untuk mecari seluruh informasi pada banyak user.

Endpoint ini mengharuskan developer untuk melakukan koneksi ke Twitter dengan otentikasi banyak user.

2.7 Data Mining

Data mining adalah istilah yang digunakan untuk menggambarkan penemuan pengetahuan dalam database. Data mining adalah proses yang menggunakan teknik statistik matematika dan pembelajaran mesin untuk mengekstrak dan mengidentifikasi informasi yang berguna dan pengetahuan terkait dari database besar.

Data mining adalah istilah yang digunakan untuk menggambarkan penemuan pengetahuan dalam database. Data mining adalah proses yang menggunakan teknik statistik matematika dan pembelajaran mesin untuk mengekstrak dan mengidentifikasi informasi yang berguna dan pengetahuan terkait dari database besar. (Turban, 2005).

Data mining adalah serangkaian proses yang bertujuan untuk menemukan nilai tambah dari suatu kumpulan data berupa pengetahuan yang tidak diketahui secara manual dan dengan analisis otomatis dari data yang besar atau kompleks dengan tujuan untuk menemukan pola atau tren penting

(27)

yang sering tidak diketahui keberadaan mereka. Atau serangkaian proses untuk menemukan nilai tambah secara manual berupa pengetahuan yang tidak diketahui dari kumpulan data. Data mining juga dikenal sebagai penemuan pengetahuan dalam database (KDD). KDD adalah aktivitas yang melibatkan pengumpulan dan penggunaan data historis untuk menemukan pola-pola atau hubungan dalam kumpulan data yang besar.

Data mining merupakan bagian integral dari penemuan pengetahuan dalam database (KDD). Seluruh proses mengubah data mentah menjadi informasi yang berguna diilustrasikan pada gambar. Data mining adalah istilah yang digunakan untuk menggambarkan penemuan pengetahuan dalam database. Data mining adalah proses yang menggunakan teknik statistik matematika dan pembelajaran mesin untuk mengekstrak dan mengidentifikasi informasi yang berguna dan pengetahuan terkait dari database besar. (Turban, 2005).

Data mining adalah serangkaian proses yang bertujuan untuk menemukan nilai tambah dari suatu kumpulan data berupa pengetahuan yang tidak diketahui secara manual dan dengan analisis otomatis dari data yang besar atau kompleks dengan tujuan untuk menemukan pola atau tren penting yang sering tidak diketahui. keberadaan mereka. Atau serangkaian proses untuk menemukan nilai tambah secara manual berupa pengetahuan yang tidak diketahui dari kumpulan data.

Data mining juga dikenal sebagai penemuan pengetahuan dalam database (KDD). KDD adalah aktivitas yang meliatkan pengumpulan dan penggunaan

(28)

13

data historis untuk menemukan pola pola atau hubungan dalam kumpulan data yang besar.

Data mining merupakan bagian integral dari penemuan pengetahuan dalam database (KDD). Seluruh proses mengubah data mentah menjadi informasi yang berguna diilustrasikan pada gambar.

Gambar 2.4 Proses Knowledge Discovery in Databases A. Tehnik Data mining

Teknik data mining digunakan untuk memeriksa database besar untuk pola baru dan berguna. Ini adalah fungsi dari ekstraksi informasi secara umum menurut (Maclennan, Z. Tang., & Crivat, 2008) :

1. Classification

Fungsi dari Classification adalah untuk klasifikasi paling umum sebagai fungsi dari data mining. Proses bisnis menghasilkan analisis, manajemen risiko, dan ditujukan untuk mengklasifikasikan suatu target kelas ke dalam kategori yang dipilih. Klasifikasi merupakan proses menemukan model (fungsi) yang menjelaskan dan membedakan antara kelas atau konsep, dengan tujuan agar model yang dihasilkan dapat digunakan untuk memprediksi kelas atau atribut dengan label kelas yang tidak diketahui. Model turunan didasarkan pada analisis data pelatihan (yaitu atribut data dengan label kelas

Data Preprocessing

Data

Mining Postprocessing

Feature Selection Dimensionality Reduction Normalization

Data Subseting Input

Data Information

Filtering Patterns Visualization Pattern Interpretation

(29)

yang diketahui). Model turunan dapat direpresentasikan dalam berbagai bentuk seperti aturan klasifikasi IFTHEN, pohon keputusan, rumus matematika atau jaringan saraf tiruan.

Gambar 2.5 Classification (Decision Tree) Sumber : (MacLennan, Z. Tang., & Crivat, B. 2008)

2. Clustering

Clustering adalah metode pengambilan data tanpa pengawasan dan merupakan metode untuk menemukan dan mengelompokkan data dengan karakteristik yang sama antara satu bagian data dengan bagian lainnya (Ong, 2013). Fungsi dari clustering adalah untuk menemukan kelompok record dalam suatu segmen berdasarkan kemiripan.

Gambar 2.6 Clustering

Sumber : (MacLennan, Z. Tang., & Crivat, B. 2008)

Model

Tree 1 Tree 2 Tree 3

Intermediate mode

Intermediate mode

Leat mode Leat mode

Cluster 1

Cluster 2

Cluster 3

Age Income

(30)

15

3. Association

Association digunakan untuk mendefinisikan perilaku peristiwa atau proses tertentu di mana asosiasi terjadi perperistiwa. Fungsi dari union tersebut ada untuk mencari hubungan antar record atau sekumpulan item berdasarkan jumlah entri yang muncul dan aturan asosiasi yang ada.

Gambar 2.7 Product Association

Sumber : (MacLennan, Z. Tang., & Crivat, B. 2008)

Aturan asosiasi ini menjelaskan seberapa sering suatu produk dibeli bersama.

Dalam aturan asosiasi X => Y, X disebut premis dan Y disebut konsekuensi.

4. Regressions

Tujuannya adalah menemukan pola untuk menentukan nilai numerik atau mencari prediksi dari suatu pola yang ada. contoh, regresi di mana hasilnya adalah berfungsi untuk menentukan output berdasarkan nilai-nilai masukan.

Nilai numerik yang paling populer adalah teknik yang digunakan untuk regresi linier dan regresi logistik.

5. Forecasting

Fungsi forecast adalah untuk meramalkan cuaca yang akan datang berdasarkan trend yang terjadi pada cuaca seelumnya.

Milk

Cheese

Coke

Juice

Pepsi Wine

Beer Cake

Donut

Beef

(31)

Gambar 2.8 Time Series

Sumber : (MacLennan, Z. Tang., & Crivat, B. 2008)

6. Sequence analysis

Analisis urutan akan digunakan untuk menemukan pola dalam urutan kejadian yang disebut urutan. Fungsi analisis urutan adalah untuk menemukan pola dalam urutan urutan kejadian.

Gambar 2.9 Web Navigation Sequence Sumber : (MacLennan, Z. Tang., & B. Crivat, 2008)

7. Deviation Analysis

Analisis deviasi digunakan untuk menemukan kejadian langka di mana perilaku sangat berbeda dari biasanya. Fungsi dari gap analysis adalah untuk mencari kejadian langka yang sangat berbeda dengan keadaan normal (unusual event).

Home

Page Weather

News Sport

Business Science

0.3 0.2

0.4 0.2

0.2 0.3

0.2

0.1 0.1

(32)

17

2.5 Klasifikasi

Klasifikasi merupakan pengidentifikasian sekumpulan kategori yang termasuk dalam observasi baru, berdasarkan serangkaian pelatihan data yang berisi pengamatan yang kategori keanggotaannya diketahui dalam machine learning dan statistic. Misalnya, memasukkan email ke dalam kelas

”spam” atau “non-spam” atau memberikan diagnosis kepada pasien tertentu seperti yang dijelaskan oleh karakteristik yang diamati pasien (jenis kelamin, tekanan darah, gejala tertentu yang terdektesi atau tidak dan lain-lain).

Klasifikasi merupakan salah satu teknik machine learning yang bersifat supervised learning (pembelajaran terbimbing). Klasifikasi merupakan salah satu tugas pembelajaran yang paling umum terjadi dalam praktek komputasi.

Secara umum, label kelas tidak dapat ditetapkan secara numerik ataupun secara beberapa nilai lainnya (Novakovic, 2017).

2.6 Naïve Bayes

Naïve Bayes merupakan algoritma probabilistik yang digunakan untuk memprediksi suatu keadaan (Rini, et al. 2016). Algoritma ini memanfaatkan teori peluang yang dikemukakakan oleh ilmuwan Inggris, Thomas Bayes.

Cara kerja metode ini yaitu dengan memprediksi peluang terjadinya kejadian di masa depan berdasarkan data yang ada sebelumnya. Naïve Bayes adalah konsep probabilitas yang bisa digunakan untuk penentuan kelompok kelas dokumen teks dan dapat mengolah data dalam jumlah besar dengan hasil akurasi yang tinggi (Rossi, et al. 2017). Tingkat performa dari sistem klasifikasi yang dibuat menggunakan Naïve Bayes bergantung pada data yang dimiliki dan data yang dipilih sebagai data latih. Jika data yang dipilih sebagai

(33)

data latih bisa mewakili semua atau sebagian besar data yang dimiliki, maka sistem klasifikasi yang dibuat mempunyai performa yang bagus. Begitu pun sebaliknya, ketika sistem klasifikasi yang dibuat mempunyai performa yang bagus, maka sistem tersebut bisa digunakan untuk melakukan klasifikasi terhadap data yang lebih banyak.

Dalam mengklasifikasikan dokumen teks, ada beberapa proses yang harus dilakukan yaitu:

1. Mencari nilai peluang dari setiap kategori dokumen.

2. Mencari nilai peluang kemunculan dari masing-masing kata pada masing- masing kategori dokumen.

3. Menentukan kategori dokumen uji berdasarkan perhitungan dari proses pertama dan kedua.

Algoritma Naïve Bayes memberi nilai target kepada data baru menggunakan nilai 𝑉𝑚𝑎𝑝 , yaitu nilai kemungkinan tertinggi dari seluruh anggota himpunan set domain V. Setiap data tweet direpresentasikan dengan pasangan atribut “𝑥1, 𝑥2, 𝑥3 … . . 𝑥𝑛“dimana 𝑥1 adalah kata pertama, 𝑥2 adalah kata kedua, 𝑥3 adalah kata ketiga dan seterusnya. Sedangkan V adalah himpunan kategori sentiment. Pada saat klasifikasi, algoritma akan mencari probabilitas tertinggi dari semua kategori yang diujikan (𝑉𝑚𝑎𝑝), dimana persamaanya adalah sebagai berikut (Dewi & Supriyanto, 2012).

(34)

19

2.7 Particle Swarm Optimization (PSO)

Particle Swarm Optimization (PSO) adalah metode EC yang terinspirasi oleh predator burung, diusulkan oleh Kennedy dan Eberhart pada tahun 1995.

Tujuan utamanya adalah untuk menemukan solusi optimal melalui kolaborasi, dan berbagi informasi antar individu dalam kelompok. Dalam PSO, solusinya abstrak sebagai partikel tanpa massa atau volume dan meluas dalam ruang berdimensi N. Posisi partikel I dinyatakan sebagai vektor berdimensi N xi = (x1, x2, .. , xN), dan kecepatannya adalah vektor vi = (v1, v2,…., vN). Setiap partikel mengetahui posisi terbaik yang ditemukan sejauh ini (pbest) dan posisi terbaik (gbest) yang ditemukan oleh swarm sejauh ini

(35)

gbest juga merupakan nilai terbaik untuk pbest(s). Penelitiaan partikel merupakan solusi optimal untuk menggunakan informasi dari pbest dan gbest (Bai et al. 2018).

Particle Swarm Optimization adalah cabang dari algoritma evolusioner yang menggunakan sekumpulan partikel yang mempertahankan distribusi probabilitas untuk menemukan solusi optimal. PSO didasarkan pada perilaku komunitas burung atau ikan. Jika kawanan tidak memiliki alpha untuk membimbing mereka mencari makanan, mereka akan berkeliaran mencari makanan. Algoritma ini didasarkan pada perilaku sosial hewan. Tindakan individu dan pengaruh orang lain menciptakan perilaku sosial. Pada algoritma PSO ini, penelitiaan solusi dilakukan melalui himpunan yang terdiri dari beberapa partikel. Suatu populasi dibangkitkan secara acak dengan nilai awal dan maksimum dengan nilai signifikan terkecil. Setiap partikel mewakili lokasi dan lokasi masalah yang bersangkutan. Setiap partikel mencari solusi optimal dengan menyetel kerja partikel terbaik. Cari area yang luas untuk menjelajahi berbagai jalur di ruang penelitiaan. Pada setiap iterasi, setiap solusi, yang diwakili oleh posisi partikel, dievaluasi kinerjanya dengan menghitung respons dan memasukkannya ke dalam fungsi pencocokan.

Setiap partikel dianggap sebagai titik dalam dimensi tertentu, diperlakukan sebagai titik sampai batas tertentu, posisi partikel dalam ruang penelitiaan, posisi X, Berikut ini adalah persamaan yang menggambarkan posisi dan kecepatan:

𝑋𝑖(𝑡) = 𝑥𝑖1(𝑡), 𝑥𝑖2(𝑡), 𝑥𝑖3(𝑡), … , 𝑥𝑖𝑁(𝑡) (1)

𝑽𝒊(𝒕) = 𝒗𝒊𝟏(𝒕), 𝒗𝒊𝟐(𝒕), 𝒗𝒊𝟑(𝒕), … , 𝒗𝒊𝑵(𝒕) (2)

(36)

21

Dimana X adalah posisi partikel, V adalah kecepatan partikel. i dan t adalah indeks partikel dan t-iterasi dalam dimensi ruang-N. Berikut ini adalah model matematis yang menjelaskan mekanisme peningkatan kesehatan partikel.

𝑽𝒊(𝒕) = 𝒘𝑽𝒊(𝒕 − 𝟏) + 𝒄𝟏𝒓𝟏(𝑿𝒊𝑳𝑿𝒊(𝒕 − 𝟏)) + 𝒄𝟐𝒓𝟐(𝑿𝑮− 𝑿𝒊(𝒕 − 𝟏)) (3)

𝑿𝒊(𝒕) = 𝑽𝒊(𝒕) + 𝑿𝒊(𝒕 − 𝟏) (4)

𝑋𝑖𝐿= ,, ...., mewakili lokal terbaik dari partikel ke-i. Sementara = ,, ..., mewakili seluruh kawanan terbaik di dunia. dan merupakan konstanta yang bernilai positif yang biasa disebut faktor bbelajar. dan merupakan bilangan acak positif antara 0 dan 1. adalah parameter inersia. Persamaan (2.20) digunakan untuk mendapatkan kecepatan partikel baru. Hal ini didasarkan pada laju sebelumnya, jarak antara posisi saat ini dan posisi lokal terbaik, dan garis bujur saat ini dari pekerjaan global terbaik. Kemudian partikel terbang sesuai dengan persamaan.

Gambar 2.10 Alur kerja Particle Swarm Optimization

(37)

2.8 Genetic Algorithm (GA)

Genetic Algorithm (GA) atau Genetic Algorithm adalah algortima heuristic utama yang meniru teori evolusi Darwin yaitu adalah Algoritma Evolusi yang menemukan solusi optimal dalam proses seleksi alami dan crossover. Algortima genetika secara acak menghasilkan individu awal untuk membentuk populasi awal. Setiap individu terdiri dari variable gen yang mewakili solusi untuk masalah yang di berikan dan dikodekan oleh kromosom. Tergantung pada masalah pengoptimalan spesifik , berbeda dengan metode pengkodean di terapkan. Genetic Algorithm juga merupakan algortima stochastic yang kuat berdasarkan prinsip-prinsip seleksi alam dan natural genetic yang cukup diterapkan dalam masalah machine learning dan optimasi. Untuk menggunakan genetic algorithm, solusi permasalahan direpresentasikan sebagai kromosom. Terdapat beberapa aspek penting dalam penggunaan genetic algorithm, di antaranya adalah.

1. definisi fungsi fitness

2. definisi dan implementasi refresentasi genetic 3. definisi dan implementasi operasi genetik.

Berikut gambar sirkulasi dari Genetic Algorithm.

Gambar 2.11 Genetic Cycle Algorithm

(38)

23

2.9 Metode Pengumpulan Data

Pengumpulan data adalah pengumpulan yang dilakukan untuk memperoleh informasi yang diperlukan untuk mencapai tujuan penelitian.

Tujuan dinyatakan sebagai hipotesis yang merupakan jawaban sementara atas pertanyaan penelitian. Pengumpulan data dapat berupa laporan tentang sifat keadaan kegiatan dan lain-lain. Pengumpulan data dilakukan untuk memperoleh informasi yang diperlukan untuk mencapai tujuan penelitian (Sugiyono, 2012).

2.10 Observasi

Observasi adalah cara mengumpulkan data dengan mengamati kegiatan yang sedang berlangsung. Observasi dapat dilakukan dengan atau tanpa partisipasi (Sudaryono, 2015). Observasi atau Observant adalah cara lain untuk mendapatkan atau menggali data. Observasi dapat dilakukan dengan mendatangi lokasi responden atau subjek penelitian kemudian melihat atau meneliti perilaku mereka (Djiwandono & Istiarto, 2015).

2.11 Confusion Matrix

Confusion Matrix adalah sebuah metode yang biasa digunakan untuk perhitungan akurasi, recall, precision dan error rate. Dimana, precision mengevaluasi kemampuan sistem untuk menemukan peringkat yang paling relevan, dan didefinisikan sebagai persentase dokumen yang di retrieve dan benar-benar relevan terhadap query. Recall mengevaluasi kemampuan sistem untuk menemukan semua item yang relevan dari koleksi dokumen dan didefinisikan sebagai persentase dokumen yang relevan terhadap query.

Accuracy merupakan perbandingan kasus yang diidentifikasi benar dengan jumlah seluruh kasus dan error rate merupakan kasus yang diidentifikasi

(39)

salah dengan jumlah seluruh kasus (Ferdinandus, 2015). Rumus untuk confusion matrix dapat dilihat pada tabel dibawah ini:

Tabel 2. 1 Rumus Confusion Matrix

Keterangan:

1. TP (True Positive) = Jumlah prediksi yang benar dari data yang relevan.

2. FP (False Positive) = Jumlah prediksi yang salah dari data yang tidak relevan.

3. FN (False Negative) = Jumlah prediksi yang salah dari data yang tidak relevan.

4. TN (True Negative) = Jumlah prediksi yang benar dari data yang relevan.

Dalam penelitian ini, penulis menggunakan multiclass confusion matrix 2x2 dikarenakan output sentiment dari penelitian ini ada 2 sentiment, yaitu positif dan negatif.

(40)

25

2.12 Penelitiaan Terkait

Tabel 2.2 Penelitiaan Terkait

No. Judul Penelitian Nama Peneliti dan

Tahun Hasil Penelitian

1. Sentiment Analysis Menggunakan Naïve

bayes Classifier (NBC)Pada Tweet

Tentang Zakat

Adhyaksa Herdhianto (2020)

Naïve Bayesian Classifier dengan seleksi fitur Term Frequency sebesar (74%).

Sedangkan hasil presisi dengan algoritma Naïve Bayesian Classifier (79.3%)

2. Implementasi Metode Klasifikasi Naïve Bayes

dalam Memprediksi Besarnya Penggunaan Listrik Rumah Tangga

Alfa Saleh, (2015) Akurasi prediksi sebesar 78,33% dan 14,29%.

3. Perbandingan Metode Probabilistik Naive Bayesian Classifier dan

Jaringan Syaraf Tiruan Learning Vector Quantization dalam

Kasus Klasifikasi Penyakit Kandungan

Aditya Nugraha, (2013) Akurasi pengujian Naïve bayes dengan Laplacian Smoothing dengan akurasi 88%, 92.4%, 92.8% dan 92.4%

4. Analisis Sentimen Untuk Pemeringkatan

Popularitas Situs Belanja Online Di

Indonesia Menggunakan Metode

Naive Bayes (Studi Kasus Data Sekunder)

Firrari Kusuma Wardani (2019)

Akurasi Dengan uji validitas metode NBC menggunakan 10- fold cross validation didapatkan akurasi untuk Lazada 96,5%, Bukalapak 93,9% dan Blibli.com 90,3%

5. Analisis sentimen pada twitter mengenai pelayanan Go-jek menggunakan metode Naïve Bayes Classifier

Eva Lian Woro Ningrum (2018)

Hasil metode evaluasi menggunakan 10-fold cross validation dan hasil evaluasi yangi diperoleh nilai precision 80%, score 80%, dan accuracy 82%.

(41)

26 Pada bab ini, metode penelitian yang digunakan dibagi menjadi dua bagian, yaitu metode pengumpulan data dan metode simulasi dengan didukung adanya kerangka berfikir pada akhir bab ini. Penjelasan lebih lengkap dalam bab ini adalah sebagai berikut:

3.1 Jenis Data

Dalam penelitian ini penulis menggunakan penelitian kualitatif, data yang di peroleh nantinya berupa kata-kata. Kata-kata tersebut diperoleh dari proses crawling API Seacrh Twitter yang nantinya akan di proses untuk mengetahui sentiment yang terdapat di dalamnya.

3.2 Data Yang Digunakan

Pada penelitian ini menggunakan 3 macam data yaitu data tweet, data kata stopword dan dasar.

3.3 Data Twitter

Data tweet yang digunakan pada penelitian in yaitu tweet yang berasal dari twitter tentang cuitan hastag, tweet, dan re-tweet dari masyarakat dengan kata pencariaan Vaccine. Tweet yang di peroleh dapat berupa pendapat positif dan negatif dari pengguna media sosial. Data Tweet didapat dengan cara melakukan penarikan atau crawling dengan memanfaatkan API Search Twitter dengan mengetikan keyword yang berhubungan dengan kata pencariaan yang dicari. Kemudian data yang sudah terkumpul tersebut nantinya akan dibagi menjadi 2 bagian, yaitu data training dan data testing

(42)

27

yang berfungsi untuk menguji keakuratan system dalam mengklasifikasikan teks. Berikut contoh tabel data yang telah di lakukan crawling pada twitter.

Tabel 3.1 Crawling Data Twitter

No. Username Tweet

1. @ TruthWestCan1

Benang Sensor Twitter Dari Pengusaha Yang Menyesal Mengambil Vaksin Setelah Efek Samping Yang Serius ...

2. @ tweettruth2me Saya tidak akan mengolok-olok orang yang menggunakan vaksin karena mereka percaya itu akan melindungi mereka. Itu satu-satunya alasan…

3. @ dannydct Sekarang Nama mengerti mengapa saya bukan salah satu alat untuk terburu-buru mendapatkan vaksin yang baru ditemukan kemarin. Bukan siapa-siapa…

4. @ snowstormsandy Saya mendapatkan vaksin pada bulan Januari dan terkena Covid pada bulan September. Saya bisa pergi ke mana saja dan menunjukkan bukti ajaib saya tentang vaksinasi dan tidak ada yang lebih bijaksana.

Faktanya adalah vaksin tidak bekerja dan jika Nama takut di rumah

5. @ santiagomayer_ Bukankah pantas bahwa kita memiliki orang-orang yang meninggalkan pekerjaan mereka karena mereka menolak untuk mendapatkan vaksin yang menyelamatkan jiwa pada saat yang sama…

6. @ SlabbedHeroes Jarang seseorang mendapatkannya dari vaksin flu.

Angka-angka kembali untuk flu ...

7. @ KrispyKrunch17 Dengan mekanisme apa menurut Nama vaksin akan berkontribusi terhadap kanker?

8. @jacobcabe BREAKING: Ratusan ribu tentara AS belum memenuhi mnamat vaksin ??

9. @KristenRemaro bahkan untuk anak muda? Vaksin ini lebih berbahaya bagi orang berusia 25 tahun. Lihatlah angka-angka itu. Saya mengambil

10. @ RonFilipkowski Saya bbiasanya tidak melaporkan berita asing, tapi ini menarik. Di Italia, setelah bentrokan kekerasan di Roma kemarin atas vaksin

(43)

3.4 Data Stopword

Data awal stopword di peroleh dari github.com. Dimana datanya berjumlah 758 kata dan disimpan di dalam databases. Daftar kata stopword ini digunakan ketika proses stopword removal dalam text mining. Berikut contoh kata stopword (Nugroho, 2018)

Tabel 3. 2 Data Stopword

Id_kata_dasar Kata_dasar

1 Ada

2 Adalah

3 Adanya

4 Adapun

5 Agak

3.5 Data Kata Dasar

Data kata dasar di peroleh dari https://github.com/nolimitid/nolimit-kamus, dimana data kata dasar berjumlah 28526 kata kemudian data kata dasar tersebut disimpan dalam databases. Kata dasar ini digunakan dalam proses stemming (Nugroho, 2018).

Tabel 3.3 Data Kata Dasar

Id_kata_dasar Kata_dasar

1 Ada

2 Adalah

3 Adanya

(44)

29

4 Adapun

5 Agak

3.6 Rancangan Penelitiaan]

Gambar 3.1. Flowchart Rancangan Penelitian

3.7 Pengumpulan Data

Pengumpulan data dilakukan dengan cara crawling menggunakan software Rapid Miner. Data yang dikumpulkan adalah data teks bahasa Indonesia dan

(45)

bahasa Inggris yang diambil dari kata pencariaan Vaccine. Tweet yang diambil berisi komentar, pada kata pencariaan yang dicari. Proses penarikan dengan software Rapid Miner dapat dilihat pada gambar dibawah ini :

Penelitian ini akan melalui beberapa proses, alur urutan proses dalam penelitian ini akan dijelaskan dalam metode penelitian ini, metode penelitian ini dapat dilihat seperti pada gambar dibawah ini :

Gambar 3. 2. Proses Crawling Menggunakan R Studio

(46)

31

Gambar 3. 3. Hasil Crawling Menggunakan R Studio 3.8 Remove Duplicate

Proses ini bertujuan untuk memilih komentar tweet yang berulang.

Dikarenakan pada aplikasi twitter terdapat fitur retweet yang efeknya sebagai kutipan berulang dengan topik dan konten yang sama. Hal ini menyebabkan banyaknya dimensi yang harus diproses pada saat pembentukan model dan mengakibatkan lamanya waktu pemrosesan data.

(47)

Gambar 3. 4. Hasil Remove Duplicate Menggunakan Rapid Miner

3.9 Cleansing

Tahapan cleansing pada penelitian ini adalah untuk menghapus kata, karakter dan symbol yang tidak di perlukan dalam proses penelitian , yaitu antara lain sebagai berikut:

1. Karakter HTML (, dll) 2. Ikon emosi (:0, , dll) 3. Hastag (#)

4. Usernama (@username) 5. Url (http://website.com) 6. Email (nama@website.com)

7. Tnama baca atau punctuation (“,”,”.”,”?”,dll) 8. Retweet (RT)

9. Angka

(48)

33

3.10 Normalisasi Kata

Mengganti kata yang tidak baku kata yang tidak baku merupakan kata yang tidak terdapat pada kamus besar Bahasa Indonesia (KBBI), adapun kata yang tidak baku yang akan di rubah pada penelitian ini antara lain :

1. Bahasa Gaul (slang word) Normalisasi Bahasa gaul pada penelitian ini dengan menentukan kata yang tidak baku pada dokumen, kemudian diperiksa keberadaanya dengan mencari kata yang dimaksud pada situs web KBBI https://kbbi.kemdikbud.co.id/. jika kata tersebut tidak ditemukan maka kata tersebut bukanlah kata baku, adapun aturan lain normalisasi kata sesuai pada penelitian Buntoro di kutip oleh Hasanudin.

Seperti pada tabel berikut :

Tabel 3.4 Tabel Bahasa Gaul

2. Kata Singkatan

Kata singakatan merupakan adalah kata yang penulisannya dengan mengurangi jumlah karakter yang terdapat pada kata tersebut,

Tidak Normal/Gaul Normal

Akhiran -ny ada

Akhiran -nk adalah

Akhiran -x adanya

Akhiran -z adapun

Akhiran -dh agak

Kata berulang :mudah2an Kata Berulang :mudahmudahan

Ejaan : oe Ejaan : u

Ejaan : dj Ejaan : j

(49)

namun tidak bertujuan untuk mengubah makna kata tersebut, cara penulisan yang tidak sesuai dengan aturan penulisan pada Bahasa Indonesia, maka perlu diganti dengan penulisan yang benar, agar kata-kata tersebut dapat dikenali pada proses selanjutnya.

Tabel 3.5 Tabel Kata Singkatan

3.11 Prepocessing

Pengolahan awal atau preprocessing merupakan proses untuk mendapatkan data yang bersih agar dapat dilakukan proses selanjutnya, proses ini dilakukan secara manual pada tahapan ini yang dilakukan adalah sebagai berikut :

Kata Singkatan Normal

dg dengan

bs bisa

dr dari

yg yang

ga enggak

bgt Banget

(50)

35

Gambar 3. 5. Prepocessing

3.12 Penentuan Kelas Record

Pengolahan awal atau preprocessing merupakan proses untuk mendapatkan data yang bersih agar dapat dilakukan proses selanjutnya, proses ini dilakukan secara manual pada tahapan ini yang dilakukan adalah sebagai berikut :

Gambar 3.6. Penentuan Kelas Attribut 3.13 Pembagiaan Data

Pembagian data bertujuan untuk memperoleh data latih (training) dan data uji (testing) yang nantinya akan digunakan proses pengujian dengan

(51)

menggunakan Tools RapidMiner. Data yang di gunakan berjumlah 1000 record yang di peroleh dari kata pencariaan Vaccine . Kemudian data tersebut dibagi menjadi 80% sebagai data latih (training) dan 20% sebagai data uji (testing).

3.14 Process Document

Preprocessing pada tahap ini dilakukan dengan menggunakan tool Rapidminer, dimana proses menggunakan beberapa rangkaian operator sub proses dalam process document from data pada rangkaiannya. Preprocessing dengan menggunakan RapidMiner ini diterapkan pada data training maupun data testing. Adapun komponen yang digunakan adalah Transform Cases, Tokenize, Filter Tokens (by Length), Filter Stopwords, Stemming. Rangkaian operator tersebut dapat dilihat pada gambar di bawah ini : Keterangan urutan tahapan pada proses ini diatas adalah sebagai berikut:

1. Transform Cases

Tahapan transform cases pada penelitian ini adalah untuk mengubah atau menyeragamakan semua bentuk huruf menjadi huruf kecil semua (lowercases), karena pada komentar twitter memiliki bentuk huruf yang tidak seragam.

2. Tokenization

Pada proses ini, semua kata yang ada didalam tiap dokumen dipisahkan dan dihilangkan tnama bacanya, serta dihilangkan jika terdapat simbol atau apapun yang bukan huruf.

(52)

37

3. Filter Tokens (by Length)

Pada proses ini, bertujuan untuk menghilangkan atau menghapus kata berdasarkan Panjang karakter yang di tentukan, pada penelitian ini minimum Panjang karakter yang digunakan adalah empat karakter pada setiap kata. Parameter yang digunakan ada dalam proses ini adalah min chars = 3 dan max chars = 25

4. Filter Stopwords

Pada tahap ini, kata-kata yang tidak relevan akan dihapus, kata-kata yang tidak mempunyai makna tersendiri jika dipisahkan dengan kata yang lain dan tidak terikat dengan kata sifat yang berhubungan dengan sentiment.

5. Stemming

Stemming merupakan suatu proses penelitiaan kata dasar dengan menghilangkan imbuhan. Dalam proses ini kata-kata akan dikelompokkan ke dalam beberapa kelompok yang mempunyai kata dasar sama.

Gambar 3. 7. Process Document

3.15 Pemilihan Fitur

Pada penelitian ini pemilihan fitur yang akan digunakan adalah Particle Swarm Optimization (PSO) dan Algorima Genetich (GA), cara yang

(53)

dilakukan yaitu dengan menambahkan salah satu pemilihaan fitur pada subprocess.

Gambar 3.8 Pengujian dengan feature selection Particle Swarm Optimization (PSO)

K-Fold Cross Validation termasuk juga suatu teknik validasi untuk membagi data ke dalam k bagian dan selanjutnya masing-masing bagian tersebut masuk dalam proses klasifikasi. dimana dengan menggunakan K-Fold Cross Validation dilakukan testing sebanyak 10k. Tiap testing tersebut menggunakan satu data testing dan k-1 bagian akan menjadi data training, kemudian data testing itu akan ditukarkan dengan satu buah data training sehingga untuk tiap testing akan diperoleh data testing yang berbeda-beda.

3.16 Penerapan Algoritma

Algortima yang akan di pakai dalam penelitian ini yaitu Naïve Bayes. Metode Naïve Bayes merupakan metode yang sangat sederhana yang digunakan untuk menghitung performa klasifikasi.

(54)

39

Gambar 3.10 Penerapan Algortima Naïve Bayes

3.17 K-fold Cross Validation

K-Fold Cross Validation termasuk juga suatu teknik validasi untuk membagi data ke dalam k bagian dan selanjutnya masing-masing bagian tersebut masuk dalam proses klasifikasi. Dimana dengan memakai K-Fold Cross Validation akan dilakukan testing sebanyak k. Tiap testing tersebut menggunakan satu data testing dan k-1 bagian akan menjadi data training, kemudian data testing itu akan ditukarkan dengan satu buah data training sehingga untuk tiap testing akan diperoleh data testing yang berbeda-beda.

3.18 Desain Sistem

Pada penelitian ini, keperluan hardware dan software sebagai bagian dari proses desain sistem meliputi:

a. Perangkat Keras (Hardware) 1. Laptop Acer E1-431

2. Processor Intel ® ™ i5-3210M RADEON™ CPU @ 2.50Ghz (4 CPUs),~2.5 GHz

3. RAM 8.00 GB (7.84 GB Usable) 4. Harddisk 500 GB

5. Monitor dengan resolusi 14” diagonal HD SVA Bright View WLED-backlit 1366 x 768 pixel (64 bit)

6. Mouse dan keyboard

(55)

b. Perangkat Lunak (Software) 1. Sistem Operasi Windows 10

Sistem Operasi Windows 10 merupakan sistem operasi komputer pribadi yang dikembangkan oleh Microsoft sebagai bagian dari keluarga sistem operasi Windows NT untuk computer pribadi, termasuk komputer rumah, bisnis, laptop, dan lain sebagainya. Windows 10 merupakan sistem dasar yang mendukung pada setiap proses penelitian ini.

2. R Studio

Adalah software pemograman R yang umum digunakan developer.

R Studio merupakan user friendly interface yang terdiri dari console R script editor, R environment, dan graphical output. R Studio juga memungkinkan dengan otomasi dalam pembuatan seperti word dan pdf dengan menggunakan package yang tersedia.

3. RapidMiner

RapidMiner merupakan software untuk pengelolaan data mining. RapidMiner melakukan pekerjaan text mining berkisar dengan analisis teks, mengekstrak pola-pola dari data set yang bbesar dan mengkombinasikannya dengan metode statistika, kecerdasan buatan, dan database.

(56)

41

3.19 Jadwal Kegiatan

Tabel 3.6 Jadwal Pelaksanaan Kegiatan

NO Kegiatan

Bulan / Tahun

08/2021 11/2021 12/2021 01/2022

1 Pengajuan Proposal

2 Kolokium

3 Analisa Data 4 Seminar hasil 5 Ujian Tesis

(57)

42 4.1 Hasil

Hasil dan Pembahasan pada bab ini menjelaskan tentang penggunaan Analisis Sentimen Menggunakan Algoritma Naïve Bayes Dengan Seleksi Fitur Particle Swarm Optimization (PSO) dan Genetic Algorithm. Data set yang digunakan pada penelitian ini yaitu data tweet yang berasal dari twitter tentang kata pencariaan Vaccine. data yang di peroleh nantinya adalah berupa kata-kata. Kata-kata tersebut diperoleh dari proses crawling API Seacrh Twitter. Penelitiaan ini dilakukan untuk mengetahui perbaandingan dari kedua model seleksi fitur yang digunakan antara algoritma Particle Swarm Optimization (PSO) Dan Genetic Algorithm. Dari kedua model tersebut diharapkan mampu meningkatkan nilai akurasi yang lebih baik.

4.2 Proses Pengujian

Pengujian dilakukan mengikuti skenario yang telah ditentukan, yaitu metode klasifikasi naive Bayes dengan seleksi fitur dan Particle Swarm Optimization dan Genetic Algorithm. Skenario pengujian dilakukan sebanyak tiga kali, masing-masing menggunakan validasi silang. Pengujian pertama dilakukan dengan menggunakan algoritma naive Bayes tanpa seleksi fitur. Pengujian kedua dilakukan dengan menggunakan algoritma naive Bayes dengan seleksi fitur Particle Swarm Optimization. Pengujian terakhir dilakukan dengan menggunakan algoritma naive Bayes dengan seleksi fitur Genetic Algorithm.

Proses pengujian ini menggunakan RapidMiner dengan merangkai beberapa

(58)

43

operator proses yang sesuai yaitu read excel, select attributes, nominal to text, process document form data, cross validation dan apply model serta feature selection. Gambar utama beberapa proses eksperimen dapat dilihat pada gambar dibawah ini :

Gambar 4.1 Proses Pengujian Utama Keterangan gambar :

Operator read excel digunakan untuk membaca data training, read excel (2) digunakan untuk membaca data testing, select attributes digunakan operator ini memilih subset Record dari ExampleSet dan menghapus Record lainnya, nominal to text digunakan untuk mengubah jenis record nominal yang dipilih untuk teks. Ini juga memetakan semua nilai record ini ke nilai string yang sesuai, process document from data digunakan untuk proses preprocessing, feature selection digunakan untuk meningkat kinerja dari algoritma yang di gunakan dalam pengujian, kemudian cross validation digunakan untuk

(59)

memberikan pelatihan serta penerapan algoritma dan perhitungan performa data testing dan apply model untuk menerapkan model klasifikasi.

Operator process document from data, feature selection dan cross validation masih memiliki beberapa sub proses didalamnya yang memiliki peran masing-masing, yang telah di jelaskan pada sub bab preprocessing.

Proses selanjutnya melakukan observasi atau pengujian terhadap nilai Population Size sebagai indikator eksperimen untuk penggunaan feature selection terhadap algoritma Naïve Bayes. Berdasarkan penelitian sebelumnya bahwa nilai Population Size sangat membantu untuk meningkatkan kinerja feature selection. Proses penentuan nilai Population Size menggunakan pengujian terhadap feature selection Particle Swarm Optimization dengan algoritma Naïve Bayes. Nantinya nilai akurasi tertinggi akan di gunakan dalam pengujian menggunakan cross validation. Proses pengujian dapat dilihat pada gambar di bawah ini :

Gambar 4.2 Desain pengujian penentuan nilai Population Size

Referensi

Dokumen terkait

laporan akhir ini yang berjudul “ Swarm Robot Dalam Mendeteksi Gas Dengan Metode Algoritma Particle Swarm Optimization (PSO)” Shalawat beserta salam semoga selalu tercurah

Tujuan dari penelitian ini yaitu membuktikan performa atau peningkatan akurasi Particle Swarm Optimization pada metode Naive Bayes untuk klasifikasi review positif dan

Hasil Pengujian algoritma Naive Bayes Classifier menggunakan seleksi fitur Chi Squared Statistic berbasis forward selection memiliki nilai akurasi yang lebih tinggi

Model yang diusulkan dalam penelitian ini adalah fitur seleksi Particle Swarm Optimization dengan Algoritma C4.5 model ini mengolah dataset dan mengukur tingkat akurasi

Hasil dari uji coba menggunakan optimasi Particle Swarm Optimization pada algoritma Naive Bayes diperoleh beberapa atribut-atribut yang berpengaruh terhadap bobot

Pada penelitian ini penulis memilih 2 (dua) model fitur seleksi untuk meningkatkan hasil akurasi penelitian, yaitu Particle Swarm Optimization (PSO) dan Genetic

Pada penelitian ini penulis memilih 2 (dua) model fitur seleksi untuk meningkatkan hasil akurasi penelitian, yaitu Particle Swarm Optimization (PSO) dan Genetic

"ALGORITMA KLASIFIKASI NAIVE BAYES BERBASIS PARTICLE SWARM OPTIMIZATION UNTUK PREDIKSI PENYAKIT TUBERCULOSIS TB", Swabumi, 2020