Anda di halaman 1dari 57

IMPLEMENTASI NAIVE BAYES DENGAN MENGGUNAKAN

METODE LAPLACE SMOOTHING

SKRIPSI

OLEH:

Yusril Adek Rizky

NPM: 170403010001

UNIVERSITAS PGRI KANJURUHAN MALANG


FAKULTAS SAINS DAN TEKNOLOGI PROGRAM
STUDI TEKNIK INFORMATIKA
2023
IMPLEMENTASI NAIVE BAYES DENGAN MENGGUNAKAN

METODE LAPLACE SMOOTHING

SKRIPSI

Diajukan kepada

Universitas PGRI Kanjuruhan Malang

untuk memenuhi salah satu persyaratan

dalam melaksanakan program Sarjana Komputer

Oleh :

Yusril Adek Rizky

170403010001

UNIVERSITAS PGRI KANJURUHAN MALANG

FAKULTAS SAINS DAN TEKNOLOGI PROGRAM

STUDI TEKNIK INFORMATIKA

2023

i
LEMBAR PERSETUJUAN PEMBIMBING SKRIPSI

Skripsi oleh Yusril Adek Rizky ini


Telah diperiksa dan disetujui untuk diujii

Malang, 00 Juli 2023


Pembimbing I

Abdul Aziz S.Kom., M.Kom.


NIK. 291601375

Malang, 00 Juli 2023


Pembimbing II

Wahyudi Harianto, S.Kom., M.Si.


NIK.291501358

i
LEMBAR PENGESAHAN SKRIPSI

Skripsi oleh Yusril Adek Rizky ini


Telah dipertahankan di depan dewan penguji
Pada tanggal 00 Juli 2023

Komisi Sidang
Ketua Sidang / Pembimbing

Abdul Aziz S.Kom., M.Kom

Dewan Penguji
Penguji I

Ahmad Zaini, S.kom., M.T.

Penguji II

Heri Santoso, S.Kom., M.Kom.

Mengetahui, Mengesahkan,
Ketua Program Studi Teknik Informatika Dekan Fakultas Sains Dan Teknologi

Moh. Ahsan, S.Kom., M.T. Dr. I Ketut Suastika, M.Si.

ii
LEMBAR PERTANGGUNGJAWABAN

Yang bertanggungjawab di bawah ini saya:

Nama : Yusril Adek Rizky

NPM : 170403010001

Program Studi : Teknik Informatika

Fakultas : Sains dan Teknologi

Menyatakan dengan sesungguhnya, bahwa:

1. Skripsi ini adalah benar-benar hasil dari karya saya sendiri secara mandiri dan

bukan merupakan hasil dari plagiasi (jiplakan) atas karya orang lain.

Apabila dikemudian hari terbukti atau dapat dibuktikan bahwa skripsi ini hasil

dari plagiasi, saya akan bersedia untuk menanggung segala konsekuensi hokum

yang berlaku.

iii
HALAMAN PERSEMBAHAN

Dengan penuh syukur, saya mengucapkan terima kasih kepada Tuhan

Yang Maha Esa atas rahmat-Nya dalam menyelesaikan skripsi ini. Saya juga

ingin mengungkapkan rasa terima kasih kepada semua yang telah memberikan

dukungan selama penelitian ini berlangsung. Terima kasih kepada:

1. Allah SWT yang telah melimpahkan rahmat dan hidayah-Nya selama

penelitian ini berlangsung.

2. Nabi Muhammad SAW yang memberikan pencerahan dan teladan dalam

kehidupan.

3. Kedua orang tua saya yang tanpa henti memberikan dukungan. Rasa

terima kasih ini tak akan pernah cukup untuk membalas segala budi baik

mereka.

4. Seluruh dosen Program Studi Teknik Informatika, khususnya Bapak

Abdul Aziz,S.Kom.,M.Kom. sebagai dosen pembimbing I dan Bapak

Wahyudi Harianto,S.Kom.,M.Si. dosen pembimbing II, yang telah

memberikan arahan, bimbingan, dan masukan berharga dalam penelitian

ini.

5. Teman-teman di grup WhatsApp, sudut meja kantin, tempat nongkrong,

yang ada saat suka dan duka.

6. Teman-teman seangkatan 2017 yang senantiasa saling mendukung.

iv
7. Universitas PGRI Kanjuruhan Malang, lembaga pendidikan yang

memberikan banyak kenangan berharga, tantangan, dan kegembiraan

dalam perjalanan studi saya.

v
ABSTRAK

Rizky, Yusril Adek. 2023. Implementasi Teknik Smoothing dalam Analisis


Sentimen Menggunakan Metode Naive Bayes.
Pembimbing : (I) Abdul Aziz S.Kom., M.Kom. (II) Wahyudi Harianto, S.Kom.,

M.Si.

Kata Kunci : analisis sentimen, metode Naive Bayes, teknik smoothing, Laplace

smoothing,. akurasi klasifikasi, probabilitas nol, data training, data testing.

Algoritma Naïve Bayes memiliki kelebihan karena kesederhanaannya dan tingkat

akurasi yang relatif tinggi dibandingkan dengan metode lainnya. Namun, Naïve

Bayes juga memiliki kekurangan, seperti asumsi independensi antara atribut yang

dapat mengurangi akurasi dan masalah probabilitas nol ("Zero Frequency"). Salah

satu cara untuk mengatasi kekurangan metode Naïve Bayes adalah dengan

menggunakan metode Laplace Smoothing. Metode ini membantu mengurangi

dampak probabilitas nol dan hasil akurasi dapat ditingkatkan.Dalam penelitian ini,

proses klasifikasi dibagi menjadi tiga skenario dengan perbandingan pengujian

yang berbeda, yaitu 95% dan 5%, 80% dan 20%, serta 75% dan 25% data testing

dan data uji .Hasil pengujian menunjukkan bahwa metode Naive Bayes

mendapatkan nilai akurasi tertinggi sebesar 0,49, sedangkan Naive Bayes dengan

metode Laplace Smoothing menghasilkan nilai akurasi tertinggi sebesar 0,69.

Dengan demikian, dapat disimpulkan bahwa penggunaan Laplace Smoothing

pada Naive Bayes dapat meningkatkan nilai akurasi dalam klasifikasi data

vi
KATA PENGANTAR

Puji syukur penulis panjatkan ke hadirat Allah SWT yang telah

melimpahkan rahmat, hidayah, dan karunia-Nya sehingga penulis dapat

menyelesaikan penyusunan skripsi ini dengan judul " IMPLEMENTASI

NAIVE BAYES DENGAN MENGGUNAKAN METODE LAPLACE

SMOOTHING "

Penulis menyadari bahwa penyelesaian skripsi ini tidak terlepas dari

bantuan, dukungan, dan dorongan dari berbagai pihak. Oleh karena itu,

penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:

1. Dr. Sudi Dul Aji, M.Si., selaku Rektor Universitas PGRI Kanjuruhan

Malang.

2. Dr. I Ketut Suastika, M.Si., selaku Dekan Fakultas Sains dan Teknologi

Universitas PGRI Kanjuruhan Malang.

3. Moh. Ahsan, S.Kom., M.T., selaku Kepala Program Studi Teknik

Informatika Universitas PGRI Kanjuruhan Malang.

4. Abdul Aziz, S.Kom., M.Kom., sebagai dosen pembimbing I yang dengan

sepenuh hati memberikan waktu dan usahanya untuk memberikan arahan

dan petunjuk dalam penyusunan skripsi ini.

5. Wahyudi Harianto, S.Kom., M.Si., sebagai dosen pembimbing II, yang

telah memberikan arahan, bimbingan, dan masukan berharga dalam skripsi

ini.
6. Segenap dosen, staf, asisten praktikum, dan laboran sains dan teknologi

Universitas PGRI Kanjuruhan Malang yang telah memberikan ilmu

pengetahuan dan kemudahan bagi penulis selama menjalankan kegiatan

belajar.

7. Kedua orang tua penulis yang sangat dicintai dan seluruh keluarga besar

yang selalu memberikan dukungan dan motivasi yang tak terhingga.

8. Teman-teman seangkatan 2017 di Program Studi Teknik Informatika,

yang senantiasa memberikan dukungan dan semangat kepada penulis

dalam menyelesaikan skripsi ini.

9. Serta kepada semua pihak yang telah memberikan dukungan, doa, dan

bantuan yang tidak dapat disebutkan satu per satu, sehingga penelitian

skripsi ini dapat berhasil dan berjalan lancar.

Penulis dengan rendah hati menerima saran, kritik, dan masukan untuk

pengembangan penelitian ini di masa depan. Skripsi ini diharapkan dapat

memberikan sumbangsih bermanfaat dalam pengembangan desain antarmuka

website, inspirasi, dan manfaat bagi pembaca yang tertarik dalam bidang studi

yang sama. Terima kasih kepada semua yang telah membantu dalam

penyelesaian skripsi ini.

Malang, 00 Juli 2023

Peneliti
Yusril Adek Rizky

DAFTAR ISI

LEMBAR PERSETUJUAN PEMBIMBING SKRIPSI..........................................ii

LEMBAR PENGESAHAN SKRIPSI....................................................................iii

LEMBAR PERTANGGUNGJAWABAN.............................................................iv

HALAMAN PERSEMBAHAN..............................................................................v

ABSTRAK.............................................................................................................vii

KATA PENGANTAR.............................................................................................1

DAFTAR ISI............................................................................................................3

BAB I PENDAHULUAN........................................................................................4

1.1 Latar Belakang...............................................................................................4

1.2 Rumusan Masalah..........................................................................................6

1.3 Batasan Masalah.............................................................................................6

1.4 Tujuan.............................................................................................................6

1.5 Manfaat...........................................................................................................7

BAB II KAJIAN PUSTAKA...................................................................................8

2.1 Penelitian Terkait...........................................................................................8


2.2 Text Minning................................................................................................10

2.3 Text Processing............................................................................................11

2.4 Term Weighting...........................................................................................14

2.5 Naive Bayes..................................................................................................16

2.6 Naive Bayes Laplace....................................................................................17

2.7 Confusion Matrix.........................................................................................18

BAB III METODE PENELITIAN........................................................................20

3.1 Rancnagan Penelitian...................................................................................20

3.2 Pengumpulan Data.......................................................................................20

3.3 Seleksi dan pelabelan data............................................................................21

3.4 Preprocessing................................................................................................21

1. Case Folding...............................................................................................22

2. Tokenizing..................................................................................................22

3. Stopword Removal......................................................................................23

4. Stemming....................................................................................................23

3.5 Term Weighting...........................................................................................23

3.6 Naive Bayes..................................................................................................23

3.7 Naive Bayes Laplace Smoothing.................................................................24

3.8 Evaluasi Hasil...............................................................................................24

BAB IV HASIL ANALISIS..................................................................................25


4.1 Pengumpulan Data.......................................................................................25

4.2 Seleksi dan pelabelan data............................................................................26

4.3 Tahap Preprocessing.....................................................................................26

4.4 Term Weighting...........................................................................................29

4.5 Naive Bayes..................................................................................................33

4.6 Naive Bayes Laplace....................................................................................37

4.7 Evaluasi Hasil...............................................................................................39

BAB V PEMBAHASAN.......................................................................................42

BAB VI PENUTUP...............................................................................................44

6.1 Kesimpulan...................................................................................................44

6.2 Saran.............................................................................................................44
DAFTAR GAMBAR

Gambar 3. 1 Rancangan Penelitian........................................................................30

Gambar 3. 2 Tahap Preprocessing.........................................................................32

Gambar 4. 1Hasil label data positif dan negatif.....................................................36


DAFTAR TABEL

Tabel 2. 1Jurnal Penelitian Terkait........................................................................19

Tabel 2. 2 contoh case floding...............................................................................23

Tabel 2. 3contoh tokenizing...................................................................................23

Tabel 2. 4 contoh Filtering.....................................................................................24

Tabel 2. 5contoh stemming....................................................................................25

Tabel 2. 6 Confusion Matrix..................................................................................29


BAB I

PENDAHULUAN

I.1 Latar Belakang

Klasifikasi merupakan proses menganalisa suatu data dalam bentuk besar seperti

komentar youtube. Dalam proses klasifikasi akan dilakukan ekstraks pada

informasi yang relevan pada teks dan menganalisis sebagian atau keseluruhan

teks yang tidak terstruktur. Klasifikasi teks juga akan mengolah teks dengan

menggunakan aturan tertentu


(Indah Listiowarni Eka Rahayu Setyaningsih, 2018)
. .Klasifikasi teks adalah model pengolahan data yang tidak terstruktur dan

sulit untuk menangani, sehingga diperlukan proses text mining. Diharapkan

melalui proses text mining, informasi yang ada dapat dikeluarkan secara jelas di

dalam teks tersebut dan dapat dipergunakan dalam proses analisis


(Ashyaksa Herdianto, 2020)
. Oleh karena itu text mining akan sangat mempermudah untuk

melakukan analisis sentiment.

Untuk melakukan penelitian analisis sentiment, diperlukan suatu

algoritma agar bias mendapat hasil akurasi yang maksimal. Salah satu algoritma

yang sering digunakan untuk melakukan sentiment analisis adalah algoritma

Naïve Bayes. Naïve Bayes merupakan teknik pembelajaran algoritma data

mining yang memanfaatkan metode probabilitas dan statistik. Naïve Bayes

dalam melakukan klasifikasi terdapat dua proses penting yaitu learning (training)

dan testing. Naive Bayes bekerja sangat baik dibanding dengan model classifier
(Ruhyana, 2019) yang berjudul
lainnya. Hal ini dibuktikan pada jurnal Nanang

1
“Analisis sentiment terhadap penerapansistem ganjil/genap pada twitter dengan

metode Naïve bayes” , mengatakan bahwa Naïve Bayes memiliki tingkat

akurasi yg lebih tinggi.

Dimana algoritma Naïve Bayes memiliki kelebihan yaitu lebih sederhana

dan memiliki tingkat akurasi yang lebih tinggi dibandingkan dengan metode

yang lain. Algoritma Naïve Bayes yang sederhana dan kecepatannya yang tinggi

dalam proses pelatihan dan klasifikasi membuat metode ini menjadi menarik
(Hakimi Fajar, 2018)
untuk digunakan sebagai metode dalam klasifikasi . Namun

Naïve bayes juga memiliki kekurangan seperti independence antar atribut

membuat akurasinya berkurang dan probabilitasnya tidak berlaku jika nilainya


(Olive et al., 2020)
nol “Zero Frequency” . Kekurangan dari metode Naïve Bayes

dapat diatasi dengan menggunakan metode Smoothing. Sehingga, probabilitas

nol bias diminimalisir dan bisa mendapatkan hasil akurasi yang lebih tinggi
(Indah Listiowarni Eka Rahayu Setyaningsih, 2018)

Adapun penelitian sebelumnya yang pernah dilakukan oleh


(Affandi et al., 2022)
yang membahas tentang “Klasifikasi Pola Asuh Orang Tua Terhadap

Anak Usia Dini”. Penelitian ini menggunakan 30 data yang sudah memiliki label

dan hasilnya akan dibandingkan. Dalam penelitian ini metode naïve bayes

dengan menggunakan laplace smoothing mendapat nilai akurasi sebesar 93%,

sedangkan metode naïve bayes tanpa menggunakan laplace smoothing mendapat

nilai akurasi 76%.

Berdasarkan tinjauan Pustaka yang dilakukan, bahwasannya pengguna


metode Naïve Bayes dengan menggunakan teknik laplace smoothing untuk

klasifikasi teks mendapat tingkat akurasi yang tinggi. Penelitian ini bertujuan

untuk membuktikan bahwa dengan menggunakan teknik laplace smoothing,

tigkat akurasi dari metode naïve bayes bisa lebih maksimal . Dalam penelitian ini

data akan diambil dari komentar salah satu chanel youtube yaitu Detectiv Aldo

yang membahas tentang Metaverse. Berdasarkan uraian diatas, dibuatlah

laporan akhir yang berjudul “IMPLEMENTASI NAIVE BAYES DENGAN

MENGGUNAKAN METODE LAPLACE SMOTHING"

I.2 Rumusan Masalah

Rumusan masalah dari penelitian ini yaitu:

Bagaimana kinerja Laplace smoothing dalam mengurangi tingkat zero frequency

dalam metode naïve bayes untuk pengolahan data sentimen dari komentar

youtube.

I.3 Batasan Masalah

Adapun yang menjadi Batasan masalah dalam penelitian ini, yaitu:

1. Komentar yang diambil hanya berupa text

2. Komentar yang diambil hanya berupa sentiment positif dan

negatif

3. Bahasa pemrograman yang digunakan phyton

I.4 Tujuan

Tujuan dari penelitian ini yaitu :

Penggunaan teknik Laplace Smoothing untuk mengurangi nilai zero


frequency dalam metode Naïve Bayes dan mendapatkan hasil tingkat akurasi

yang lebih tinggi.

I.5 Manfaat

Adapun manfaat dari penelitian ini, yaitu :

1. Mengetahui cara mengatasi kekurangan dari metode naïve

bayes dengan teknik Laplae Smoothing.

2. Mendapatkan nilai akurasi yang lebih maksimal dengan teknin

Laplace Smoothing.

3. Menjadi bahan referensi untuk penelitian selanjutnya.


BAB II

KAJIAN PUSTAKA

II.1 Penelitian Terkait

Untuk mendukung penelitian yang dijalankan, digunakan jurnal terdahulu

sebagai bahan referensi dalam penelitian ini.

Tabel 2. 1Jurnal Penelitian Terkait

No. Judul Metde Hasil Penelitian

1. Sistem Informasi Naive data komentar yang terkumpul


Evaluasi Perkuliahan Bayes adalah 342.Setelah
dengan Sentimen mengelompokkan komentar
Analisis berdasarkan subyek, terdapat 31
Menggunakan Naïve komentar untuk subyek Human and
Bayes dan Smoothing Computer Interaction (HCI). Pada
Laplace komentar data ini
kemudiandilakukan pembersihan
data, transformasi data, pengolahan
teks dan pelabelan. Kemudian
mengklasifikasikan komentar
menggunakan Naïve Bayes dengan
Smoothing Laplace. Hasil akurasi
diperoleh akurasi hingga 80%.
2. KLASIFIKASI Naive hasil perhitungan klasifikasi
KELAYAKAN Bayes menggunakan metode naïve bayes
PENERIMA dengan laplace smoothing pada 56
BANTUAN data training dan 24 data uji
PROGRAM didapatkan hasil pengujian evaluasi
KELUARGA performa dengan menggunakan
HARAPAN (PKH) confusion matrix dengan nilai
MENGGUNAKA Accurasi 95,83%, error 4,17%,
METODE Sensitivitas 100,00%, dan
WEIGHTED NAÏVE Spensifitas 94,12%.
BAYES DENGAN
LAPLACE
SMOOTHING
3. Analisis Kinerja Naive Laplace smoothing memiliki rata-
Smoothing pada Naive Bayes rata nilai Fmeasure tertinggi
Bayes untuk mengalahkan TS dan dirichlet
Pengkategorian Soal smoothing dalam hal mengenali
Ujian data soal ujian baru yang belum
terlabeli/dikenali sebelumnya,

5
dalam hal ini metode laplace
smoothing dapat meningkatkan
nilai rata-rata F-mesure pada naive
bayessian-chi square tanpa
smoothing hingga 39,601.
4. Comparison of Naive Naive Hasil penelitian menunjukkan
Bayes Smoothing Bayes bahwa Laplace smoothing lebih
Methods for Twitter unggul dibandingkan Dirichlet
Sentiment Analysis smoothing dan Absolute
Discounting dengan nilai rata- rata
mikro F1-Score 0,7234 dan rata-
rata makro F1-Score 0,7182.
5. SISTEM Naive Peningkatan akurasi untuk
KLASIFIKASI Bayes algoritma Naïve Bayes Classifier
FEEDBACK dilakukan dengan menggunakan
PELANGGAN DAN teknik Laplacian Smoothing. Hasil
REKOMENDASI penelitian menunjukkan bahwa
SOLUSIATAS proses klasifikasi dengan algoritma
KELUHAN DI UPT Naïve Bayes Classifier untuk proses
PUSKOM UNS pelatihan memiliki tingkat akurasi
DENGAN terendah 86.67% dengan data
ALGORITMA pelatihan sebanyak 30 mentions dan
NAÏVE BAYES tingkat akurasi tertinggi 100%
CLASSIFIER dengan data pelatihan sebanyak 20
mentions.
6. KLASIFIKASI POLA Naive Hasil pengujian dilakukan dengan
ASUH ORANG TUA Bayes cara 30 data sample acak yang
TERHADAP ANAK sudah memiliki label dan hasilnya
USIA DINI dibandingkan dengan hasil aplikasi.
Dalam penelitian ini metode naïve
bayes dengan laplace smoothing
menghasilkan akurasi sebesar 93
% sedangkan metode naïve bayes
menghasilkan akurasi sebesar 76%.
7. Perbandingan Metode Naive hasil uji coba dapat ditunjukkan
Probabilistik Naive Bayes bahwa metode Naïve Bayesian
Bayesian Classifier Classifier dengan penambahan
dan Jaringan Syaraf Laplacian Smoothing memiliki
Tiruan Learning tingkat akurasi pengujian paling
Vector Quantization tinggi, yaitu secara berturut- turut
dalam Kasus 88%, 92.4%, 92.8% dan 92.4%
Klasifikasi Penyakit dibandingkan dengan Naïve
Kandungan Bayesian Classifier tanpa Laplacian
Smoothing (32%; 67.8%,79%;
89.6%) dan Learning Vector
Quantization (82.4%; 88.8%;
89.4%; 95.2%)
8. Implementasi Naïve Naive Nilai perhitungan accuracy dan
Bayessian dengan Bayes error rate pada 720 data training
Laplacian Smoothing dengan pengambilan 5 kali jumlah
untuk Peminatan dan data testing yang berbeda
Lintas Minat Siswa menggunakan naive bayessian dan
SMAN 5 Pamekasan laplacian smoothing, didapat nilai
accuracy : 92,11% dan nilai error
rate : 7,02%
9. ANALISIS Naive Dari hasil implementasi diperoleh
SENTIMEN TWEET Bayes akurasi 77,45% untuk term
BERBAHASA frequency dengan laplace
INDONESIA DI smoothing dan akurasi 75,86%
TWITTER untuk TF-IDF pada test set yang
dianotasikan menggunakan
emoticon. Hasil akurasi dengan test
set yang dianotasikan secara manual
diperoleh nilai 70,68% untuk term
frequency dengan laplace
smoothing dan 71,26% untuk TF-
IDF.
10. Klasifikasi Status Naive Penelitian ini menerapkan metode
Kesehatan Penerimaan Bayes Naïve Bayes dengan menggunakan
Calon Karyawan metode laplace smoothing untuk
Mengunakan Metode mengetahui status kesehatan calon
Naïve Bayes karyawan. Sampel yang digunakan
sebanyak 56 data hasil medical
check-up dengan aspek yang
diperiksa antara lain tinggi badan,
berat badan, tensi darah
(sistolik/diastolik), mata, dan
riwayat penyakit kronis. Akurasi
yang diperoleh pada penelitian ini
sebesar 89%.

II.2 Text Minning

Text Minning merupakan cara atau metode untuk mencari informasi dari

sebuah data yang masih berantakan atau tidak rapih. Cara mencari yang

bekerja dengan mencari data-data penting dan menghilangkan yang tidak

penting. Cara kerja metode ini yaitu melakukan ekstraksi dan eksplorasi
(Nurwahyuni, 2019)
berdasarkan pola-pola tertentu. . Menurut penambangan

teks dilakukan apabila ditemui masalah yang berkaitan dengan

pengelompokkan, klastering, ekstrasi, dan eksplorasi terhadap informasi.


Pada suatu kasus, sulit untuk menganalisis sentimen apabila data komentar

ini banyak Peran yang ada di dalam metode ini adalah memproses data dan

mengidentfikasi akumulasi opini yang ada. Proses kerja text mining pada

dasarnya hampir sama dengan data minig. Menurut


(Garbian Nugroho et al., 2016)
pola yang digunakan untuk proses berbeda karena untuk text mining

fungisnya mencari kata-kata yang bersifat alami dan tidak berstruktur

sementara data mining digunakan untuk data base yang sudah rapih dan

berstruktur. Tujuan adanya text mining adalah mencari informasi dari data-

data yang bersifat implisit atau tersirat sehingga hasilnya dapat dimanfaatkan

sebagai bahan 14 pertimbangan pengguna. Dalam skala yang lebih luas, text

mining menjadi proses mempermudah pengguna untuk berinteraksi dengan

dokumen dalam kumpulan katakata berisi informasi yang ada.

II.3 Text Processing

Proses komputerisasi akan berjalan dengan baik apabila data yang ada

terususn rapih. Text mining mencari informasi dari data-data yang

strukturnya tidak beraturan atau berantakan. Dengan demikian, agar menjadi

nilai munerik dari data mining, perlu digunakan proses merubah bentuk agar

datanya tersusun dengan rapih. Sesuai dengan kebutuhan.


(Puspita & Widodo, 2021)
menyebut ini sebagai proses preprocessing. Setelah data sudah tersusun

dengan rapih, maka ini menjadi sumber data dan nilai numerik yang bisa

diproses lebih lanjut . berikut adalah beberapa proses yang bisa dilakukan:

1. Case Floding

Case Folding menjadi cara pertama dari preprocessing dalam suatu


dokumen untuk mempermudah pencarian. Selain itu, tahap ini berfungsi

untuk mengkonversi teks-teks yang ada di dalam dokumen menjadi bentuk

standar yang sudah dibangun. Pada tahapan ini adalah proses merubah

semua huruf yang ada dalam dokumen menjadi huruf keciI (lower case).

Sehingga nantinya hanya huruf alphabet dari 'a' hingga 'z' yang diterima.

Untuk karakter seIain huruf dihiIangkan serta dinggap sebagai delimeter.

Tabel 2. 2 contoh case floding

Sebelum Sesudah

Padahal sebagus apapun dunia virtual, padahal sebagus apapun dunia virtual
Gak ada yang bisa ngalahin dunia gak ada yang bias ngalahin dunia nyata
nyata

2. Tokenizing

Tonenizing merupakan tahap pemotongan string input berdasarkan tiap

kata yang menyusunnya. Kemudian untuk menghapus karaker adalah

dengan penghapusan karakter white space yang dianggap untuk

memisahkan kata, dimana karakter ini seperti spasi, tabulasi, dan enter.

Namun karakter petik tunggl (‘), titik (.), semi kolom (;), titik dua (:) atau

lainnya dapat memiliki peran yang cukup banyak dalam peran pemisah.

Tabel 2. 3contoh tokenizing

Tokenizig
[‘padahal’, ’sebagus’, ‘apapun’, ‘dunia’, ‘virtual’, ‘gak’, ‘ada’, ‘yang’, ‘bias’,
‘ngalahin’, ‘dunia’, ‘nyata’]

3. Filtering

Tahapan filtering adalah tahap mengambil kata-kata penting dari

hasiltoken. Bisa menggunakan algoritma stoplist (membuang kata kurang


penting) atau wordlist (menyimpan kata penting). Stoplist/stopword

adalah kata-kata yang tidak deskriptif yang dapat dibuang dalam

pendekatan bag-of-words.

Tabel 2. 4 contoh Filtering

Sebelum Sesudah

padahal sebagus apapun dunia virtual Sebagus apapun dunia virtual gak bisa
gak ada yang bisa ngalahin dunia nyata ngalahin dunia nyata

Kata-kata seperti “dari”, “yang”, “di”, dan “ke” adalah beberapa

contoh kata-kata yang berfrekuensi tinggi dan dapat ditemukan hampir

dalam setiap dokumen (disebut sebagai stopword ). Penghilangan stopword

ini dapat mengurangi ukuran index dan waktu pemrosesan. Namun

terkadang stopping tidak selalu meningkatkan nilai retrieval. Pembangunan

daftar stopword (disebut stoplist) yang kurang hati-hati dapat memperburuk

kinerja sistem Information Retrieval (IR). Belum ada suatu kesimpulan

pasti bahwa penggunaan stopping akan selalu meningkatkan nilai retrieval,

karena pada beberapa penelitian, hasil yang didapatkan cenderung

bervariasi.

4. Stemming

Pembuatan indeks dilakukan karena dokumen tidak dapat dikenali oleh

suatu system temu kembali informasi atau Information Retrieval System

(IRS). Oleh karena itu, dokumen tersebut terlebih dahulu perlu dipetakan ke

dalam suatu representasi dengan menggunakan teks didalamnya. Teknik

stemming diperlukan untuk mengelompokkan kata-kata lain yang memiliki


kata dasar dan arti serupa namun memiliki bentuk atau form yang berbeda

karena mendapat imbuhan yang berbeda.

Tabel 2. 5contoh stemming

Sebelum Sesudah

padahal sebagus apapun dunia bagus apa dunia virtual gak bisa
virtual gak ada yang bisa ngalahin kalah dunia nyata
dunia nyata
.

Sebagai contoh kata bersama, kebersamaan, menyamai, akan distem ke root

word- nya 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. Pada kasus ini menggunakan kamus dari Liu’s word list.

II.4 Term Weighting

Term weighting atau pembobotan kata adalah proses pembobotan pada kata.

Pembobotan dasar dilakukan dengan menghitung frekuensi term dalam

dokumen. Menurut definisinya, term frequency adalah tanda atau pemberi

petunjuk sesering apa istilah berada di dalam dokumen. Nilai kesesuaian

akan semakin besar apabila istilah atau term mengalami kemunculan sesering

mungkin. Ada pula faktor yang menentukan pemberian bobot kepada istilah

yang jarang sekali muncul di dalam suatu dokumen atau koleksi. Selain itu,

kata yang jarang muncul akan dianggap sebagai kata yang tidak biasa atau
uncommon words dan kata yang sering muncul di dalam dokumen

sebaliknya tidak akan dianggap istimewa. Ini juga ditentukan dengan

kebalikan frekuensi kata yang ada di dalam dokumen. Selanjutnya, ada

proses normalisasi dimana kata yang berada dalam bentuk bervariasi akan

dijadikan sebagai kata dasar meskipun memang kata tersebut memiliki


(Hakimi Fajar, 2018)
imbuhan yang sama. mengatakan bahwa dengan

adanya normalisasi, maka proses pemberian bobot akan semakin lebih

mudah. Dalam pemberian bobot kata, istilah yang dipakai adalah term weight
(Ruhyana, 2019)
. Pemberian bobot ini biasnaya dilakukan kepada pembagian

kata, frasa, dan juga kalimat yang memang pantas diberikan bobot.

Selanjutnya, dibuat index agar istilah-istilah tersebut mudah untuk

ditemukan. Terdapat beberapa syarat untuk menentukan pembobotan:

1. Term Frequency (TF), menjadi faktor untuk penentuan bobot

berdasarkanfrekuensi atau jumlah kata di dalam dokuemn. Semakin

banyak jumlah di dalam dokumen, semakin besar pula bobot yang

diberikan

2. Inverse Document Frequency (IDF), merupakan proses untuk

mengurangiistilah yang banyak ditemukan didalam sebuah dokumen

karena terlalu mendominasi dan tidak memiliki nilai yang tinggi.

Sebaliknya, istilah yang tidak umum atau jarang harus dipertimbangkan

sehingga dapat diberi bobot. Kata yang tidak sering muncul di dalam

dokumen harus dianggap lebih penting dari kata lainnya yang sudah
(Hakimi Fajar, 2018)
sering muncul di dalam dokumen . Faktor akan
menimbang mengenai frekuensi kebalikan yang disebut sebagai Invese

DocumentFrequency.

Rumus pembobotan Salton (1983) adalah sebagai berikut :

TF ( t k , d j ) =f (t k , d j ) (2.1)

n
IDFt =log ⁡( ) (2.2)
df t

TFIDF t ,d =TF t ,d x IDFt (2.3)

Keterangan :

t = suatu kata

d = suatu dokumen

k = kemuculan term

j = jumlah kata dalam dokumen

TFt,d = frekuensi term t pada dokumen d

IDFt = pendistribusian term t pada seluruh dokumen

ft,d = jumlah term t yang ada pada dokumen d

N = jumlah dokumen

dft = jumlah dokumen yang mengandung term t

II.5 Naive Bayes

Naïve Bayes merupakan teknik pembelajaran algoritma datamining yang

memanfaatkan metode probabilitas dan statistik. Naïve Bayes dalam


melakukan klasifikasi terdapat dua proses penting yaitu learning (training)

dan testing.

Naive Bayes bekerja sangat baik dibanding dengan model classifier lainnya.
(Hinde et al., 2009)
Hal ini dibuktikan pada jurnal yang berjudul “Naive

Bayes vs. decision trees vs. neural networks in the classification of training

web pages.”, mengatakan bahwa Naïve Bayes memiliki tingkat akurasi yg

lebih baik dibanding model classifier lainnya.

Proses klasifikasi Naïve Bayes Classifier terhadap dokumen yaitu dengan

mempresentasikan setiap dokumen dengan atribut “X1,X2,X3, …., Xn”

yangmempunyai makna bahwa X1 untuk kata pertama, X2 adalah kata

kedua, dan seterusnya. Untuk himpunan kategori komentar dipresentasikan

dengan V. Saatmelakukan proses klasifikasi dokumen, Naïve Bayes Classifier

akan mencari nilaiprobabilitas tertinggi dari :

P ( X| H ) . P( H )
P(H ∨X )= (2.4)
P( X )

Keterangan :

X : data sampel dengan kelas (label) yang tidak diketahui

H : Hipotesis bahwa data X merupakan suatu kelas spesifik

P(H|X) : Probabilitas hiptesis H berdasarkan kondisi X

P(H) : probabilitas hipotesis H

P(X) : peluang data sampel yang diamati

P(H|X) : probabilitas X berdasarkan kondisi pada hipotesis A.


II.6 Naive Bayes Laplace

Smhooting merupakan metode yang digunakan untuk menghindari hasil

klasifikasi yang bernilai 0 karena data testing tidak ditemukan pada data

training. Laplace smoothing merupakan metode smoothing paling sederhana

karena hanya menambahkan angka 1, tapi metode Laplace Smooting

memiliki performa yang cukup bagus dibandingkan dengan metode

smoothing yang lain. Rumus Laplace smoothing seperti berikut :

P ( X| H ) . P ( H ) +1
P(H ∨X )= (2.5)
P ( X )+¿ V ∨¿ ¿

Dengan |V| merupakan jumlah kata unik pada semua kelas

II.7 Confusion Matrix

Confusion Matrix adalah suatu metode yang digunakan untuk

menghitung akurasi, recall, precision, dan eror rate. Yaitu, precision

menevaluasi kemampuan system dalam menentukan peringkat yang paling

relevan, dan didefinisikan sebagai presentase dokumen yang sangat relevan

terhadap query. Recall menevaluasi kemampuan system untuk menemukan

item yang relevan dari dokumen dan didefinisikan sebagai presentase

dokumen yangrelevan terhadap query. Accuracy adalah perbandingan kasus

yang benar dengan jumlah seluruh kasus dan error rate merupakan kasus
(Riska Aryanti, 2019)
yang salah dengan selruh kasus .
Tabel 2. 6 Confusion Matrix

Dokumen Nilai
Sebenarnya

Relevant Non Relevant

Retrieved True Positive (TP) False Positive (FP)

Non Retrieved False Negative True Negative (TN)


(FN)

Keterangan:

1. TP (True Positive) = jumlah data bernilai positif yang

diprediksi benar sebagai positif.

2. FP (False Positive) = jumlah data bernilai negatif yang

diprediksi benar sebagai negatif.

3. FN (False Negative) = jumlah data bernilai negatif yang

diprediksi salah sebagai positif.

4. TN (True Negative) = jumlah data bernilai positif yang

diprediksi salah sebagai negatif.

Rumus Precission :

TP
pre= (2.6)
FP+ TP

Rumus akurasi :

TN +TP
acc = (2.7)
FN + FP+TN +TP

Rumus recall :
TP
rec= (2.8)
FN +TP
BAB III

METODE PENELITIAN

III.1 Rancnagan Penelitian

Rancangan penelitian dilakukan supaya proses penelitian dapat

dilakukan secara sistematis agar dapat tercapai tujuan yang diinginkan.

Berikut tahapan penelitian dilakukan :

Gambar 3. 1 Rancangan Penelitian

III.2 Pengumpulan Data

Proses pengumpulan data pada penelitian ini bertujuan untuk

18
mendapatkan informasi dan fakta terkait yang akan diuji. Setelah data sudah

terkumpul akan mulai diproses dan dianalisis menggunakan metode Naïve

Bayes. Data yang digunakan dalam penelitian ini adalah komentar dari video

youtube Detective Aldo yang berjudul “METAVERSE BAKAL BIKIN

BUMI MAIN NGERI?”. Dalam pengambilan data dilakukan dengan teknin

scrapping, yaitu pengambilan data komentar youtube yang dilakkan dengan

pemrograman bahasa python.

III.3 Seleksi dan pelabelan data

Tahap ini adalah tahap dengan melakukan seleksi terhadap data yang

akan digunakan. Data yang tersedia diseleksi untuk menentukan data yang

akan disimpan untuk digunakan pada tahap selanjutnya serta penghapusan

data yang mengalami duplikat dan data yang tidak diperlukan. Data yang

sudah didapat kemudian diuraimenjadi kalimat. Kemudian dilakukan tahap

pelabelan dengan kategori positif dan negatif.

III.4 Preprocessing

Tahapan yang bertujan untuk membersihkan kata-kata yang tidak perlu

atau tidak memiliki makna, tahap ini dilakukan berdasarkan kondisi dari data

yang sudah diperoleh sebelumnya


Gambar 3. 2 Tahap Preprocessing

Berdasarkan Gambar 3.1 menggambarkan tentang analisis proses. Pada tahap

processing akan menjelaskan langkah awal terhadap teks bagaimana teks tersebut

dapat dipersiapkan menjadi data yang diproses pada tahap lebih lanjut. Pada tahap

preprocessing ada 6 tahap yang harus berurutan yaitu :

1. Case Folding

Merubah kata menjadi format yang sama yaitu diubah menjadi huruf kecil.

Oleh karena itu, diperlukan proses case folding supaya bisa meratakan

menjadi huruf kecil.

2. Tokenizing

Sekumpulan Kalimat akan dipecah menjadi token kemudian akan

dihilangkan karakter seperti tanda baca, pemisah kata, karakterspesial

dan emoji. [,.:;!?'`0-9]


3. Stopword Removal

Kata yang tidak ada pengaruhnya pada proses perolehan informasi akan

dihapus dan kata yang tidak penting atau tidak berbobot akan dibuang.

4. Stemming

Stemming adalah tahap mengubah sebuah kata ke dalam bentuk kata

dasarnya dengan menghapus kata imbuhan di depan maupun imbuhan di

belakang kata.

III.5 Term Weighting

Dengan menggunakan TF/IDF, akan dilakukan pengukuran pembobotan

suatu kata, yang akan menentukan klasifikasi uji data selanjutnya. Berikut

langkah-langkah dalam proses pembobotan kata menggunakan TF-IDF:

1. Hitung kata yang muncul(TF) di semua dokumen.

2. Hitung nilai IDF dengan rumus IDF

3. Kemudian lakukan proses TF-IDF dimana nilai IDF dimasukkan

pada kolom dengannilai 1 pada dokumen.

4. Selanjutnya, hitung bobot setiap kata dalam dokumen.

5. Hasil yang ditentukan akan digunakan sebagai acuan untuk

mencari panjang vektor, sebelum dihitung menggunakan jarak

pada Confusion Matrix.

III.6 Naive Bayes

Metode naïve bayes merupakan metode yang digunakan untuk

mengkasifikasikan data komentar untuk memperoleh sentimen analisis. Untuk


melakukan klasifikasi sentimen akan menggunakan data hasil proses

preproceesing sampai dengan pembobotan kata dengan tf-idf . Setelah data

berhasil ditraining kemudian akan dilakukan pengujian menggunakan data test

untuk menguji hasil ketepatan klasifikasi yang dilakukan.

III.7 Naive Bayes Laplace Smoothing

Smoothing dilakukan untuk mengurangi nilai zero frequency. Teknik

pengerjaan Laplacian Smoothing adalah dengan menambah nilai 1 pada

setiap perhitungan data yang terdapat di training set. Penambahan ini tidak

akan membuat perbedaan nilai yang signifikan pada estimasi probalitasnya,

sehingga dapat menghindari nilai probabilitas 0.

III.8 Evaluasi Hasil

Evaluasi hasil dilakukan untuk mengetahui kinerja model. Evaluasi hasil

dilakukan dengan cara melihat tingkat akurasi metode melalui confusion matrix

dan tabel akurasi serta presisi untuk tiap model. Setelah data test diujikan terhadap

data training, maka akan menghasilkan daftar kelas-kelas dari data test, sebut sata

prediksi kelas. Kemudian prediksi kelas dibandingkan dengan kelas yang

sebenarnya dari data test yang disembunyikan sebelumnya. Sehingga dapat dilihat

dan dihitung nilai accuration, precision, dan recall.


BAB IV

HASIL ANALISIS

IV.1 Pengumpulan Data

Pengumpulan data dalam penelitian ini menggunakan teknik scrapping.

Dengan data yang diambil berupa teks komentar dari video YouTube dari

chanel Detective Aldo yang berjudul “METAVERSE BAKAL BIKIN BUMI

MAIN NGERI?”. Dalam scrapping ini berhasil mendapatkan 1534 data.

Tabel 4. 1 Contoh data hasil dari proses scrapping

Dajjal ini bro,

Gua lebih percaya pikiran gua sendiri bahwa suatu hari bumi akan rusak krn
perang nuklir dan bumi kehilangan pengetahuan tentang teknologi serta
teknologi hilang dari bumi...
Peradaban kembali ke awal dan orang-orang kembali berperang dengan pedang
dan panah...,

Ngeriii…

Kalau gue sih kurang setuju . Semua hal didunia ini ada hal baik dan buruk
dampak baik/buruk itu pasti ada bang . Jadi hadapi aja . Kuatkan jiwa. Jangan
sampai setress .,

gk lah, metaverse cuman hiburan doang. yg hakiki gk akan ngerubah. contohnya


makan, berak, tidur.,
Bang, Klo semua org pada asik maen metaverse, gua takut mereka lupa klo
dajjal udeh dateng dpn rumah.
Menurut saya sih bakal beli juga vr tapi aku simpen sih bang karena bang aldo
sama bang roblox dah bilang, jadi buat jaga jaga kalau ada masalahnya aku
tunggu selesai biar nanti gak khawatir lagi, tapi nih bang, kan covid dikit lagi
dah selesai, trus itu buat apa? , itu lah yang aku Khawatirkan bang

23
IV.2 Seleksi dan pelabelan data

Pelabelan data dilakukan secara manual dengan memberikan 2 jenis label

yaitu positif dan nefatif.

Tabel 4. 2 Contoh hasil dari seleksi dan pelabelan data

Data Label
ga baik buat mata berlama2 pakai Negatif
layar deket mata
Teknologi itu cuma alat, kalo di pake Positif
utk kebaikan akan jd baik, kalo dipake
utk kejahatan akan jd jahat. Tgt siapa
yg menguasai dan menggunakannya
gimana

gk lah, metaverse cuman hiburan Positif


doang. yg hakiki gk akan ngerubah.
contohnya makan, berak, tidur.,
Ya kan lebih banyak manfaat nya drpd Positif
kerugian metaverse.

Gambar 4. 1Hasil label data positif dan negatif

IV.3 Tahap Preprocessing

Tahap preprocessing bertujuan untuk mengolah data mentah yang

sudah didapatkan dari proses scrapping. Berikut ada langkah-langkah dalam

tahap preproessing :
Case floding, bertujuan untuk mengubah semua karakter menjadi huruf kecil,
berikut adalah contoh hasil dari case floding

Tabel 4. 3 Contoh hasil dari case floding

Sebelum Sesudah

Kalau gue sih kurang setuju . kalau gue sih kurang setuju .
Semua hal didunia ini ada hal baik semua hal didunia ini ada hal baik
dan buruk dampak baik/buruk itu dan buruk dampak baik/buruk itu
pasti ada bang . Jadi hadapi aja . pasti ada bang . jadi hadapi aja .
Kuatkan jiwa. Jangan sampai kuatkan jiwa. jangan sampai
setress ., setress .,
Bang, Klo semua org pada asik bang, klo semua org pada asik
maen metaverse, gua takut mereka maen metaverse, gua takut mereka
lupa klo dajjal udeh dateng dpn lupa klo dajjal udeh dateng dpn
rumah. rumah.
gk lah, metaverse cuman hiburan gk lah, metaverse cuman hiburan
doang. yg hakiki gk akan doang. yg hakiki gk akan
ngerubah. contohnya makan, ngerubah. contohnya makan,
berak, tidur., berak, tidur.,
Padahal sebagus apapun dunia virtual, padahal sebagus apapun dunia
Gak ada yang bisa ngalahin dunia virtual gak ada yang bias ngalahin
nyata dunia nyata

Tabel 4. 4 Source Code Case Folding

def casefolding (text):


text = text.lower()
text = text.strip(" ")
text = re.sub(r' [?|$|.|!2_:")(-+,]', ' ', text)
return text

1. Tokenizing , bertujuan untuk mengubah kalimat menjadi potongan

kata agar dapat diolah ke langkah selanjutnya

Tabel 4. 5 Contoh hasil Tokenizing

‘bang’, ‘klo’, ‘semua’, ‘org’, ‘pada’, ‘asik’, ‘maen’, ’metaverse’, ‘gua’,


‘takut’, ‘mereka’, ‘lupa’, ‘klo’, ‘dajjal’, ‘udeh’, ‘dateng’, ‘dpn’, ‘rumah’
Tabel 4. 6 Source Code Tokenizing

text_clean = []
for word in text_tokens:
if (word not in stopwords_indonesia and #remove
stopwords
word not in emoticons and #remove emoticons
word not in string.punctuation): #remove
punctuation atau tanda baca
text_clean.append(word)
stem_word = stemmer.stem(word) #stemming word

2. Stopword removal, bertujuan untuk mnghapus kata yang tidak

memiliki makna atau bobot

Tabel 4. 7 Contoh hasil Stopword removal

Sebelum Sesudah

padahal sebagus apapun dunia Sebagus apapun dunia virtual gak


virtual gak ada yang bias ngalahin bisa ngalahin dunia nyata
dunia nyata

Tabel 4. 8 Source Code Stopword removal

stopwords_indonesia = stopwords.words('indonesian')
factory = StemmerFactory()
stemmer = factory.create_stemmer()
emoticons_happy = set([':-)', ':)', ';)',’])
emoticons_sad = set([ ':L', ':-/', '>:/'])
emoticons_sad = set(['haha', 'hahaha', 'hahahaha'])
emoticons = emoticons_happy.union(emoticons_sad)

3. Stemming, pengubahan setiap teks menjadi kata dasar

Tabel 4. 9 Contoh hasil dari proses Stemming

Sebelum Sesudah

sebagus apapun dunia virtual gak bagus apa dunia virtual gak bisa
bisa ngalahin dunia nyata kalah dunia nyata

.
Tabel 4. 10 Source Code Stemming

text_clean.append(word)
stem_word = stemmer.stem(word)

IV.4 Term Weighting

Pada tahap ini dilakukan pembobotan dari suatu data. Kata yang

didapatkan adalah kata dari hasil preprocessing. Pada tabel menghitung

jumlah kata yang muncul dari setiap dokumen, sehingga dapat memberi nilai

sesuai kondisi kemunculan suatu kata. Sebelum mencari TF-IDF, perlu

mencari nilai TF,DF dan IDF.

Tabel 4. 11 hasil pembobotan kata TF, DF dan IDF

TF

No Term df Idf

D1 D2 D3

1 Bill 1 1 2,8810

2 Gates 1 1 2,8810

3 Sindir 1 1 2,8810

4 Nft 1 1 2,8810

5 Duit 1 1 2,8810

6 Ditambang 1 1 2,8810

7 Orang 1 1 1 3 2,5800

8 bodoh 1 1 2,8810

Pada tabel 4.11 diatas, sebagai contoh nilai TF adalah angka kemunculan

term dan bernilai 1. Term “bill” hanya muncul dalam D2, maka jumlah term
yang muncul akan dibagi jumlah kata dalam D2.

¿ ft , d
TF=0 , 5+0 , 5
max ⁡( ft , d)

¿ 1
TF=0 , 5+0 , 5
7

=0,5714

Kemudian menghitung nilai DF dengan cntoh term“bill” total

kemunculannya sebanyak satu kali dalam D2. Maka nilai DF dalam term

“bill” adalah 1.setelah nilai TF dan DF telah diketahui, kemudian menghitung

nilai IDF

N
idf ( t , d )=log ⁡( ) (4.1)
df ( t ) +1

1521
idf ( t , d )=log ⁡( ) (4.2)
1+1

Hasil dari idf dari term “bill” yaitu =2,8810

Sebagai cntoh nilai IDF didapatkan dari total kemunuclan dari suatu term.

Contohnya kata “bill” muncul sebanyak satu kali, maka jumlah total data akan

dibagi dengan keunculan term seperti perhitungan 4.2.

Setelah mengetahui nilai TF, DF dan IDF langkah selanjutnya dalah

menghitung bobot dari nilai TF-IDF.

TFIDF t ,d =TF t ,d x IDFt


TFIDF t ,d =0,5714 x 2,8810= 1,6462

Diatas merupakan contoh perhitungan TF-IDF. Dimana diambil contoh

dari nilai TF dan IDF dari term “bill”. Dan hasilnya bobot dari term “bill”

menghasilkan nilai 1,6462.

Hasil bobot data tersebut akan digunakan untuk menghitung nilai

probabilitas dalam tahap selanjutnya.

Tabel 4. 12 Contoh pembobotan TF-IDF D2

TF-IDF W

No Term D1 D2 D3 D2

1 Bill 0,527 1,6462

2 Gates 0,527 1,6462

3 Sindir 0,527 1,6462

4 Nft 0,527 1,6462

5 Duit 0,527 1,6462

6 Ditamb 0,527 1,6462

ang

7 Orang 0,812 0,638 0,708 1,8380

8 bodoh 0,527 1,6462


Tabel 4. 13 Contoh pembobotan TF-IDF D1

TF-IDF W

No Term D1

D1 D2 D3

1 Bill 0,527

2 Gates 0,527

3 Sindir 0,527

4 Nft 0,527

5 Duit 0,527

6 Ditamba 0,527

ng

7 Orang 0,812 0,638 0,708 1,4924

8 bodoh 0,527

Tabel 4. 14 Contoh pembobotan TF-IDF D3

TF-IDF W

No Term D3
D1 D2 D3
1 Bill 0,527

2 Gates 0,527
3 Sindir 0,527

4 Nft 0,527

5 Duit 0,527

6 Ditamba 0,527

ng

7 Orang 0,812 0,638 0,708 1,301

8 bodoh 0,527

Tabel 4. 15 Source Code TF-IDF

data_clean.head()
tf = TfidfVectorizer(analyzer='word', min_df=0)
tfidf_matrix =
tf.fit_transform(data_clean['text_clean'])
print ("TF : \n", tfidf_matrix)
terms = tf.get_feature_names_out()
print ("TERMS: \n", terms)
data_clean = pd.DataFrame(tfidf_matrix.T.todense(),
index=terms)
data_clean

IV.5 Naive Bayes

Naive bayes memperhitungkan frekuensi setiap term yang muncul dalam

suatu dokumen. Contoh pada perhitungan berikut yaitu data yang ada pada

tabel 4.12. D2 memiliki kelas positif, D1 dan D3 adalah kelas negatif. Dari

kata TF-IDF sebelumnya , didapatkan nilai keseluruhan W untuk kelas positif

adalah W(+) = 13,3614, jumlah keseluruhan W pada kelas negatif adalah W(-)
= 2,7934, dan jumlah keseluruhan idf pada seluruh kelas adalah B = 22,747

Tabel 4. 16Bobot kelas Positif dan Negatif

Term Poitif(c1) Negatif(c2)

Bill 1,6462 0

Gates 1,6462 0

Sindir 1,6462 0

Nft 1,6462 0

Duit 1,6462 0

Ditambang 1,6462 0

Orang 1,8380 2,7934

bodoh 1,6462 0

Dari tabel bobot , selanjutnya mengitung nilai probabilitas dengan rumus

Nci
P(ci)= adalah sebagai berikut :
N

1
P ( c 1 ) = =¿0,333
3

2
P ( c 2 )= =0,666
3
Keterangan :

P ( ci ) = probabilitas kelas

Nci = jumlah kelas c pada seluruh dokumen

N = jumlah seluruh dokumen

Kemudian menghitung nilai positif dan negatif dari suatu kata dengan

Wct
rumus P= ( w|c ) = ,
¿¿

berikut adalah cntoh perhitungannya dari kata bill:

1,6462
bill ( c 1 ) = =0,45590
13,3614 +22,747

0
bill ( c 2 ) = =0
2,7934 +22,747

Keterangan :

Wct = W dari term t di kategri c

∑ wϵVWct = jumlah total W dari keseluruhan term yang berada di kategori c

B = nilai idf seluruh dokumen

Tabel 4. 17 hasil bobot kelas positif dan negatif

P(w|c) Positif Negatif

Bill 0,45590 0

Gates 0,45590 0

Sindir 0,45590 0

Nft 0,45590 0

Duit 0,45590 0

Ditambang 0,45590 0

Orang 0,05090 0,10937


Bodoh 0,45590 0

Kemudian menghitung Vmap psitif dan negatif pada kalimat data

testing untuk mendapatkan validasi apakah kalimat itu bernilai positif atau

negatif

Sebagai contoh pada kalimat “ bill gates sindir”

Vmap(c1) = P(bill)*P(gates)*P(sindir)*P(C)

= 0,45590*0,45590*0,45590*0,333

=0,03155

Vmap(c2) = P(bill)*P(gates)*P(sindir)*P(C)

=0 *0*0*0,666

=0

Dalam kalimat “bill gates sindir” bernilai kalimat positif karena nilai positif lebih

besar daripada nilai negatif.

Setelah itu dapat dinilai validasinya dengan cara mencocokan label

sbenarnya dan label setelah proses klasifikasi. Jika sama,label sebenarnya Positif

dan label setelah klasifikasi juga Positif maka bisa dinilai valid. Dan jika labelnya

berbeda, label sebenarnya Positif dan label setelah klasifikasi Negatif maka dinilai

tidak valid.

Tabel 4. 18 Hasil validitas Naive Bayes

Label
Data Komentar Validitas
ke Sebenarnya Klasifikasi
570 komen, dosen, semua Positif Positif Valid
1108 kayanya, kali, liat, pidato, Negatif Negatif Valid
habibie, berhasil, rubah, nilai,
tukar, dollar, cuman,
president, indonesia, gitu,
bayangin, ekonomi, indonesia,
udah, runtuh, kerusuhan,
dimana, kaya, miskin, banget,
perdebatan, habibie, sengit,
banget, videonya, internet
1483 Bikin, mental, org, jd, gk, Positif Positif Valid
stabil, krn, sdh, terbuai, dg,
keindahan, hidup, di, vr
1184 Apakah, ini, yang, disebut, Positif Negatif Tidak valid
dengan, mugen, tsukuyomi,
secara, reall, Cuma, beda,
versi
... ... ... ... ...

Tabel 4. 19 Source Code dari percobaan pertama dengan Naïve Bayes

X_train, X_test, y_train, y_test =


train_test_split(tfidf_matrix, data['LABEL'],
test_size=0.05, random_state = 42)
for index, output in enumerate(class_type):
subset = X_train[np.equal(y, output)]
likelihood[index, :] = (np.sum(subset, axis = 0))
/ (np.sum(subset) + feature_nums)

IV.6 Naive Bayes Laplace

Disini Naive Bayes mengambil nilai bobot suatu kata dari TF,IDF dan TF-IDF.

Rumus perhitungannya hampir sama seperti Naive Bayes. Tapi yang membedakan

adalah menambah nilai 1 dalam pembobotan kelas positif dan negatif agar

menghindari probabilitas nol. Naive Bayes memakai rumus

Wct +1
P= ( w|c ) = ,
¿¿

berikut adalah cntoh perhitungannya dari kata bill:


1,6462+ 1
bill ( c 1 ) = =0,0732
13,3614 +22,747

0+1
bill ( c 2 ) = =0,0391
2,7934 +22,747

Nilai bobot probalitas yang dipakai diambil dari tabel 4.16

Tabel 4. 20 hasil bobot kelas positif dan negatif

P(w|c) Positif Negatif

Bill 0,0732 0,0391

Gates 0,0732 0,0391

Sindir 0,0732 0,0391

Nft 0,0732 0,0391

Duit 0,0732 0,0391

Ditambang 0,0732 0,0391

Orang 0,0785 0,1485

Bodoh 0,0732 0,0391

Kemudian menghitung Vmap psitif dan negatif pada kalimat data

testing untuk mendapatkan validasi apakah kalimat itu bernilai positif atau

negatif

Sebagai contoh pada kalimat “ bill gates sindir”

Vmap(c1) = P(bill)*P(gates)*P(sindir)*P(C)

= 0,0732*0,0732*0,0732*0,333
=0,0001306

Vmap(c1) = P(bill)*P(gates)*P(sindir)*P(C)

=0,0391*0,0391*0,0391*0,666

=0,0000398

Tabel 4. 21 Hasil Validitas Naive Bayes Laplace

Label
Data Komentar Validitas
ke Sebenarnya Klasifikasi
570 keren, yg, komen, dosen, Positif Positif Valid
semua
1108 Perbedaan, sikaya, simiskin, Negatif Negatif Valid
jelas, banget, waktu, itu
1483 Dunia, metaverse, itu, adl, Positif Positif Valid
negri, khayalan, dongeng,
doank
1184 Entah, laah, yaah, apakah, ini, Negatif Negatif Valid
yang, disebut, dengan, mugen,
tsukuyomi, secara, reall,
Cuma, beda, versi
... ... ... ... ...

train_test_split(tfidf_matrix, data['LABEL'], X_train,


X_test, y_train, y_test = train_test_split(tfidf_matrix,
data['LABEL'], test_size=0.05, random_state = 42)
y = le.fit_transform(y_train)
for index, output in enumerate(class_type):
subset = X_train[np.equal(y, output)]
likelihood[index, :] = (np.sum(subset, axis = 0)
+ 1) / (np.sum(subset) + feature_nums)

IV.7 Evaluasi Hasil

Dalam evaluasi hasil akan diketahui bepara hasil akurasi, presisi dan recall

yang didapatkan pada masing-masing data uji dan data latih. Ketika dataset
hanya memiliki dua kelas maka salah satu akan dianggap positif dan yang lain

sebagai negatif. Dala confusion matrix ini dalam hasil positif akan menjadi

True Positif dan False Negatif, sedangkan dalam hasil negatif akan menjadi

True Negatif dan False Negatif. Seperti pada tabel 4.22 dan 4.23

Tabel 4. 22 Confusion Matrix Naive Bayes

Data Confusion Matrix Akurasi Presisi Recall


TP FP FN TN
75% 35 0 42 0 0,45 0,45 1,00
80% 144 0 161 0 0,47 0,47 1,00
95% 187 0 194 0 0,49 0.49 1,00

Tabel 4. 23 Confusion Matrix Naive Bayes Laplace

Data Confusion Matrix Akurasi Presisi Recall


TP FP FN TN
75% 20 15 12 30 0,64 0,57 0,62
80% 87 57 44 117 0,66 0,60 0,64
95% 119 68 50 144 0,69 0,63 0,70

Pada tabel 4.22 meupakan hasil dari metode Naive Bayes dan pada tabel 4.23

merupakan hasil dari metode Naive Bayeas Laplace. Nilai akurasi, presisi dan

recall didapatkan dari nilai TP, FP ,FN dan TN memalui rumus :

Akurasi :
TN +TP
acc =
FN + FP+TN +TP

0+35 35
acc = = =0 , 45
42+ 0+0+35 77

Presisi :

TP
pre=
FN +TP

35 35
pre= = =0 , 45
42+35 77

Recall :

TP
rec=
FP+TP

35 35
rec= = =1
0+35 35

Diatas merupakan contoh perhitungan akurasi, presisi dan recall yang didapatkan

dari data set 75% pada tabel 4.22, dengan hasil akurasi 0,45, hasil presisi 0,45 dan

hasil recall 1.
BAB V

PEMBAHASAN

Penerapan metode Naive Bayes Laplace pada penelitian ini digunakan

sebagai perbandingan untuk menguji keberhasilan untuk mengurangi nilai

zero frequecy dalam metode naive bayes agar mendapatkan hasil akurasi yang

lebih tinggi dalam melakukan pengolahan data komentar dari YouTube.

Confusion Metrix digunakan sebagai pengujian akurasi pada penelitian ini.

Pada proses klasifikasi Naive Bayes dan Naive Bayes Laplace dalam

penelitian ini dibagi menjadi tiga tahap. Pengujian dilakukan menggunakan

data testing dan data training dengan presentase yang berbeda yaitu (95% dan

5%), (80% dan 20%), dan (75% dan 25%). Berdasarkan pengujian data

training dan data testing pada metode Naive Bayes dan Naive Bayes Laplace

menghasilkan nilai :

Naive Bayes

1. Data training 95% dan data testing 5% menghasilkan precision

0.49, recall 1.00 dan akurasinya sebesar 0,49%.

2. Data training 80% dan data testing 20% menghasilkan precision

0.47, recall 1.00 dan akurasinya sebesar 0,47%

3. Data training 75% dan data testing 25% menghasilkan precision

0.45, recall 1.00 dan akurasinya sebesar 0,45%

Naive Bayes Laplace

1. Data training 95% dan data testing 5% menghasilkan precision

0,63, recall 0,70 dan akurasinya sebesar 0,69%

40
2. Data training 80% dan data testing 20% menghasilkan precision

0,60, recall 0.64 dan akurasinya sebesar 0,66%

3. Data training 75% dan data testing 25% menghasilkan precision

0,57, recall 0.62 dan akurasinya sebesar 0,64%

Gambar 5. 1 Hasil Presisi, Recall dan akurasi

Seperti yang dilhat pada gambar 5.1, hasil dari tiap pengujian dari tiap data

training dan data testing menghasilkan akurasi yang berbeda. Nilai akurasi

tertinggi pada metode Naive bayes yaitu 0,49 dengan pengujian menggunakan

data training 95% dan data testing 5%. Sedangkan dalam metde Naive Bayes

Laplace mendapatkan nilai akurasi tertinggi sebesar 0,69 dengan data training

95% dan data testing 5%. Berdasarkan gambar tersebut, akurasi semakin

tinggi jika menggunakan data testing yang sedikit.


BAB VI

PENUTUP

VI.1 Kesimpulan

Pada proses klasifikasi Naive Bayes dan Naive Bayes Laplace dibagi

menjadi data training dan data testing dengan 3 kali pengujian menggunakan

(95% data training dan 5% data testing), (80% data training dan 20% data

testing), (75% data training dan 25% data testing).

Berdasarkan hasil pengujian ini, dapat disimpulkan bahwa :

1. Hasil pengujian pada masing-masing data training dan data testing

dengan presentasi yang berbeda akan memberikan hasil akurasi

yang berbeda

2. Semakin banyak data training, maka nilai akurasi yang

didapatakan akan semaking tinggi

3. Hasil pengujian dari metode Naive Bayes didapatkan nilai akurasi

tertinggi sebesar 0,49 dan Naive Bayes Laplace mendapatkan nilai

akurasi tertinggi sebesar 0,69. Maka dapat disimpulkan bahwa

Naive Bayes Laplace dapat meningkatkan nilai akurasi.

VI.2 Saran

Untuk penelitian selanjutnya disarankan untuk menggunakan metode

Smoothing yang lain seperti, Witten-Bell Smoothing, Additive Smoothing,

Lidstone Smoothing dan sebagainya. Agar mengetahui teknik Smoothing yang

lebih otimal serta kelebihannya.

42

Anda mungkin juga menyukai