108
PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES UNTUK STUDI DATA “WISCONSIN DIAGNOSIS BREAST CANCER” SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika Disusun oleh : Paulus Dian Wicaksana 115314068 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

Embed Size (px)

Citation preview

Page 1: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

PERBANDINGAN ALGORITMA K-NEAREST

NEIGHBORS DAN NAIVE BAYES UNTUK STUDI

DATA “WISCONSIN DIAGNOSIS BREAST CANCER”

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Disusun oleh :

Paulus Dian Wicaksana

115314068

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

A COMPARISON ALGORITHM BETWEEN K-NEAREST

NEIGHBORS AND NAIVE BAYES FOR DATA STUDY

"WISCONSIN DIAGNOSIS BREAST CANCER"

A THESIS

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Komputer Degree

In Informatics Engineering

By :

Paulus Dian Wicaksana

115314068

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTEMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

HALAMAN PERSETUJUAN

TUGASAKHIR

PERBANDINGAI{ AI,GORITMA K-NEAREST NEIGIIBOR DAII NAIYEBAYES UNTUK STT]DI DATA "WISCONSIN DIAGNOSIS BREAST

\,ombor.xolB

Pembimbing,

rAlo, 'Qq'w*0fr mf*"* \ B,rTus

s.r.,Nr.r. I ,"*S,,ogvnros$t /t

Ifi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

HALAMAN PENGESAIIAN

SKRIPSI

TUGASAKHIR

PERBANDINGAN ALGORITMA K.NEAREST NEIGIIBOR DAN NAI\'EBAYES UNTUK STUDI DATA "WISCONSIN DIAGNOSIS BREAST

CANCER''Studi Data : Wisconsin Diagnosis Breast Cancer

Yang Dipersiapkan dan Disusun Oleh :

Paulus Dian Wicaksana

11s314068

Tclah dipertahankan di depan Panitia Penguji

Pada tanggat '!7'lJovembac rot5Dan dinyatakan memenuhi syarat

Susunan Panitia Penguji

Nama Lengkap

Ketua

Sekretaris

Anggota

: Eko Hari Parmadi, S.Si., M.Kom.

: Sri Hartati Wijono, S.Si., M.Kom.

: Albertus Agung lladhiatma, S.T,, M.T.

uogauara,.?7..

,l

Tanda Tangan

akultas Sains dan Teknologi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

iii

HALAMAN PERSEMBAHAN

I don’t judge and I don’t hate

Skripsi ini saya persembahkan kepada:

Yesus Kristus

Almarhum Bapak, Ibu, Kakakku dan Adikku

Semua Sanak Keluarga

Keluarga Rohani

Teman – teman tercinta

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

vi

ABSTRAK

PERBANDINGAN ALGORITMA K-NEAREST NEIGHBOR DAN NAÏVE

BAYES UNTUK STUDI DATA “WISCONSIN DIAGNOSIS BREAST CANCER”

Dalam mengklasifikasi data teks, terdapat beberapa algoritma klasifikasi yang

dapat digunakan, antara lain algoritma Naïve Bayes dan K-Nearest Neighbor. Algoritma

Naïve Bayes dan K-Nearest Neighbor adalah dua algoritma yang memiliki tingkat

akurasi yang tinggi dalam mengklasifikasikan data teks. Tingkat akurasi yang terbaik di

antara kedua algoritma ini dapat diketahui dengan cara melakukan perbandingan.

Perbandingan algoritma dapat dilakukan dengan cara membandingkan tingkat akurasi

dari algoritma yang dibandingkan. Perbandingan algoritma bertujuan untuk

mendapatkan algoritma yang dianggap paling baik pada proses klasifikasi suatu

permasalahan. Maka, diharapkan dengan adanya penelitian dalam perbandingan

algoritma Naïve Bayes dan K-Nearest Neighbor, dapat diketahui algoritma yang paling

baik dalam pengklasifikasian data teks wisconsin diagnosis breast cancer.

Kata Kunci : Perbandingan Algoritma, K-Nearest Neighbor, Naïve Bayes

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

vii

ABSTRACT

COMPARISON OF K-NEAREST NEIGHBOR AND NAIVE BAYES ALGORITHM

FOR DATA STUDY "WISCONSIN DIAGNOSIS BREAST CANCER"

In Classification text data, there are several classification algorithms that

can be used, there are Naïve Bayes algorithm and K-Nearest Neighbor algorithm.

Naïve Bayes algorithm and K-Nearest Neighbor algorithm are two algorithm that have

high accuracy in classification text data. The highest accuracy between them can be

discovered by comparing the both algorithm. Comparison of the algorithm can be done

by comparing accuracy of the algorithm. Comparison algorithm aims to obtain an

algorithm that is the best for classification process of a problems. Thus, in this research

of comparison algorithm K-Nearest Neighbor and Naïve Bayes, it can be seen that a

best classification algorithm for classification text wisconsin diagnosis breast cancer

data.

Key Word: Algorithm Comparison, K-Nearest Neighbor, Naïve Bayes

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

ix

DAFTAR ISI

HALAMAN PERSETUJUAN.......................................................................................... i

HALAMAN PENGESAHAN.......................................................................................... ii

HALAMAN PERSEMBAHAN.......................................................................................iii

PERNYATAAN KEASLIAN KARYA...........................................................................iv

LEMBAR PERNYATAAN PERSETUJUAN..................................................................v

ABSTRAK ......................................................................................................................vi

ABSTRACT................................................................................................................... vii

KATA PENGANTAR ...................................................................................................viii

DAFTAR ISI .................................................................................................................. ix

DAFTAR TABEL .......................................................................................................... xi

DAFTAR GAMBAR .....................................................................................................xii

BAB I PENDAHULUAN ................................................................................................1

1.1. Latar Belakang Masalah.................................................................................1

1.2. Rumusan Masalah ..........................................................................................3

1.3. Tujuan Penelitian ...........................................................................................3

1.4 Manfaat Penelitian...........................................................................................3

1.5. Batasan Masalah ............................................................................................3

1.6. Sistematika Penyajian.....................................................................................4

BAB II LANDASAN TEORI ..........................................................................................5

2.1. Penelitian Terdahulu yang Relevan................................................................5

2.2. Kajian Teori….. .............................................................................................6

2.2.1. Penambangan Data …………………………….........................................6

2.2.2. Naive Bayes Classifier.................................................................................7

2.2.3. K-Nearest Neighbor…...............................................................................12

2.2.4. K-Fold Cross Validation ...........................................................................16

2.2.5. Pengukuran Akurasi Klasifikasi ...............................................................16

2.2.6. Kanker Payudara........................................................................................17

2.2.7. Metode Hashing.........................................................................................21

2.2.8. WEKA (Waikato Environment for Knowledge Analysis)…………........23

BAB lll PERANCANGAN SISTEM .............................................................................25

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

x

3.1. Sumber Data ................................................................................................25

3.2. Analisis Pengolahan Data.............................................................................26

3.3. Perancangan Umum Sistem..........................................................................28

3.4. Perancangan Umum Algoritma....................................................................29

3.5. Desain Antarmuka Sistem ...........................................................................30

BAB IV IMPLEMENTASI SISTEM .............................................................................33

4.1. Implementasi Antarmuka Pemakai (User Interface)....................................33

4.2. Pemrosesan Input .........................................................................................36

4.3. Implementasi Algoritma pada Sistem...........................................................40

BAB V ANALISIS HASIL ............................................................................................52

5.1. Analisis Proses Penambangan Data .............................................................52

5.2. Analisa Hasil……………………… ............................................................71

5.3. Kelebihan dan Kekurangan Sistem ..............................................................75

BAB VI PENUTUP ........................................................................................................77

6.1. Kesimpulan ..................................................................................................77

6.2. Saran ............................................................................................................77

DAFTAR PUSTAKA .....................................................................................................78

LAMPIRAN I .................................................................................................................79

LAMPIRAN II ................................................................................................................81

LAMPIRAN III ..............................................................................................................83

LAMPIRAN IV ..............................................................................................................84

LAMPIRAN V ...............................................................................................................89

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

xi

DAFTAR TABEL

Tabel 2.1. Data buys_computer………........................................................................... 8

Tabel 2.2. Tabel data teks buys_computer........................................................................9

Tabel 2.3. Tabel probabilitas yes data teks buys_computer.......................................... .10

Tabel 2.4. Tabel probabilitas no data teks buys_computer.............................................10

Tabel 2.5. Tabel data buys_computer…......................................................................... 13

Tabel 2.6. Data Numerik buys computer....................................................................... 14

Tabel 2.7. Data testing KNN.......................................................................................... 15

Tabel 3.1. Data Atribut Wisconsin Diagnosis Breast Cancer........................................25

Tabel 3.2. Jumlah Data Hasil Pembersihan................................................................... 27

Tabel 3.3. Deskripsi use case …..…….......................................................................... 28

Tabel 5.1. Tabel akurasi sistem dan weka..................................................................... 70

Tabel 5.2. Tabel perhitungan jumlah operasi dasar algoritma K-Nearest Neighbor......74

Tabel 5.3. perhitungan jumlah operasi dasar algoritma Naïve Bayes............................ 74

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

xii

DAFTAR GAMBAR

Gambar 2.1. Tahapan Dalam KDD (Han & Kamber, 2006) ......................................... 6

Gambar 2.2. Ilustrasi 3-fold Cross Validation………………..........................................16

Gambar 2.3. Confusion Matrix untuk matrix 2×2 (Tan, Steinbach, & Kumar, 2006).. 17

Gambar 2.4. Perbedaan sel normal dengan sel kanker (Weaver, 2002)……............... 18

Gambar 2.5. Struktur kode hash……….........…….. ................................................... 22

Gambar 3.1. Diagram use case ………….…………………....................................... 28

Gambar 3.2. Desain Halaman Utama……………….................................................... 30

Gambar 3.3. Gambar saat menu bar go to ditekan…………........................................ 31

Gambar 3.4. Desain Halaman Bantuan……………………........................................ 31

Gambar 3.5. Desain Halaman Klasifikasi……………….. .......................................... 31

Gambar 4.1 Tampilan Halaman Beranda...................................................................... 33

Gambar 4.2. Tampilan saat menu ditekan..................................................................... 34

Gambar 4.3. Tampilan Halaman Bantuan..................................................................... 34

Gambar 4.4. Tampilan halaman hitung perbandingan ................................................. 35

Gambar 4.5. Tampilan open file ................................................................................... 36

Gambar 5.1. Screenshot KNN dengan 3-fold cross validation dengan menggunakan

sistem........................................................................................................ 52

Gambar 5.2. Screenshot KNN dengan 3-fold cross validation dengan menggunakan

program weka. ......................................................................................... 53

Gambar 5.3. Screenshot KNN dengan 5-fold cross validation dengan menggunakan

sistem........................................................................................................ 54

Gambar 5.4. Screenshot KNN dengan 5-fold cross validation dengan menggunakan

program weka........................................................................................... 55

Gambar 5.5. Screenshot KNN dengan 10-fold cross validation dengan menggunakan

sistem........................................................................................................ 56

Gambar 5.6. Screenshot KNN dengan 10-fold cross validation dengan menggunakan

program weka........................................................................................... 57

Gambar 5.7. Screenshot KNN dengan 15-fold cross validation dengan menggunakan

sistem....................................................................................................... 58

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

xiii

Gambar 5.8. Screenshot KNN dengan 5-fold cross validation dengan menggunakan

program weka. ....................................................................................... 59

Gambar 5.9. Screenshot KNN dengan 20-fold cross validation dengan menggunakan

sistem.......................................................................................................60

Gambar 5.10.Screenshot KNN dengan 20-fold cross validation dengan menggunakan

program weka..........................................................................................61

Gambar 5.11. Screenshot Naive bayes dengan 3-fold cross validation dengan

menggunakan sistem...........................................................................62

Gambar 5.12. Screenshot Naive bayes dengan 3-fold cross validation dengan

menggunakan program weka............................................................. 63

Gambar 5.13. Screenshot Naive bayes dengan 5-fold cross validation dengan

menggunakan sistem.......................................................................... 64

Gambar 5.14. Screenshot Naive bayes dengan 5-fold cross validation dengan

menggunakan program weka............................................................. 65

Gambar 5.15. Screenshot Naive bayes dengan 10-fold cross validation dengan

menggunakan sistem.......................................................................... 66

Gambar 5.16. Screenshot Naive bayes dengan 10-fold cross validation dengan

menggunakan program weka. ........................................................... 66

Gambar 5.17. Screenshot Naive bayes dengan 15-fold cross validation dengan

menggunakan sistem.......................................................................... 67

Gambar 5.18. Screenshot Naive bayes dengan 15-fold cross validation dengan

menggunakan program weka............................................................. 68

Gambar 5.19. Screenshot Naive bayes dengan 20-fold cross validation dengan

menggunakan sistem.......................................................................... 69

Gambar 5.20. Screenshot Naive bayes dengan 20-fold cross validation dengan

menggunakan program weka............................................................. 70

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

1

BAB I

PENDAHULUAN

Dalam bab pendahuluan ini, akan dikaji dalam enam hal, yaitu (1) latar belakang

masalah, (2) rumusan masalah, (3) tujuan penelitian, (4) manfaat penelitian, (5) batasan

masalah, dan (6) sistematika penyajian. Keenam hal tersebut akan dibahas satu per satu

dalam subbab yang ada di bawah ini.

1.1 Latar Belakang Masalah

Penambangan Data adalah proses pengumpulan informasi penting dari sejumlah

data besar yang tersimpan di basis data, gudang data, atau tempat penyimpanan lainnya

(Han & Kamber, 2006).Perkembangan penambangan data tidak terlepas dari kemajuan

teknologi informasi yang memungkinkan data dalam jumlah yang besar terakumulasi.

Seiring dengan semakin dibutuhkannya penambangan data muncul beberapa algoritma

klasifikasi untuk memproses data dalam jumlah besar.

Klasifikasi adalah proses pembelajaran secara terbimbing (supervised learning).

Klasifikasi digunakan untuk memprediksi kelas dari objek yang kelasnya belum

diketahui (Raviya & Gajjar, 2013). Metode klasifikasi yang umum digunakan antara

lainDecision Tree, K-Nearest Neighbor, Naïve Bayes, neural network dan support

vector machines (Sahu dkk, 2011).Maka dari itu penulis tertarik untuk membandingkan

beberapa metode klasifikasi. Perbandingan metode klasifikasi dilakukan untuk

menentukan jenis klasifikasi yang paling cocok digunakan dengan data yang berbentuk

informasi teks.

Sebagai tahap awal dalam penelitian, penulis melakukan pengamatan awal

terhadap beberapa jurnal ilmiah diantaranya berupa penelitian oleh Adel Aloraini (2012)

berjudul „Different Machine Learning Algorithms for Breast Cancer Diagnosis‟.

Penelitian tersebut mencoba membandingkan lima algoritma yaitu, (1) Bayesian

Network, (2) Naive Bayes, (3) J48, (4) ADTree, dan (5) Multilayer Neural Network.

Dari pengamatan itu peneliti tertarik mengangkat kembali ide penelitian, tetapi penulis

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

2

akan membandingkan dua algoritma lain yaitu (1) Naive Bayes dan (2) K-Nearest

Neighbor.

Perbandingan algoritma adalah membandingkan dua algoritma yang bertujuan

untuk mengetahui algoritma mana yang paling baik diantara kedua algoritma yang

dibandingkan.

Adapun dipilihnya algoritma Naïve Bayes dan K-Nearest Neighbors sebagai

algoritma pengklasifikasian teks yang dibandingkan karena tingkat akurasi dari kedua

algoritma ini dalam pengklasifikasian dokumen teks relatif tinggi. Hal ini dibuktikan

melalui jurnal penelitian yang dilakukan oleh Dedy Santoso, Dian Eka Ratnawati, dan

Indriati (2015) berjudul „Perbandingan Kinerja Metode Naive Bayes, K-Nearest

Neighbor, dan Metode Gabungan K-Means dan LVQ dalam Pengkategorian Buku

Komputer Berbahasa Indonesia Berdasarkan Judul dan Sinopsis‟. Pada hasil penelitian

tersebut menunjukkan bahwa rata-rata akurasi metode KNN mencapai 96% dan metode

Naive Bayes mencapai 98%.

Klasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas

dan Teorema Bayesian dengan asumsi bahwa setiap variabel X bersifat bebas

(independence). Klasifikasi KNN merupakan metode klasifikasi yang menentukan label

(class) dari suatu objek baru berdasarkan class yang mayoritas dari kneighbor dalam

training set.

Algoritma K-Nearest Neighbor dan Naïve Bayes Classifier masing – masing

memiliki kelebihan dan kekurangan. Oleh karena itu, pada penelitian ini penulis akan

melakukan perbandingan antara kedua algoritma tersebut untuk memperoleh algoritma

yang paling maksimal dalam klasifikasi terhadap data wisconsin breast cancer. Adapun

parameter pembanding kedua algoritma adalah tingkat akurasi system, dan waktu proses

kedua algoritma.

Oleh karena itu penulis mengembangkan sebuah penelitian dengan judul

„Perbandingan Algoritma K-Nearest Neighbors dan Naive Bayes untuk Studi Data

Wisconsin Breast Cancer Data‟.

Adapun dua alasan pemilihan data adalah (1) karena data ini yang paling relevan

dengan penelitian yang hendak dilakukan penulis dimana data ini nilai attributnya

berupa angka sehingga dapat dilakukan proses perhitungan klasifikasi, dan (2) penulis

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

3

merasa data ini memadai dan sesuai dengan penelitian karena mempunyai jumlah data

yang cukup banyak sehingga bisa mendapatkan hasil klasifikasi yang baik.

1.2 Rumusan Masalah

Rumusan masalah dibuat agar penelitian menjadi lebih terarah. Berdasarkan

uraian latar belakang diatas, peneliti merumuskan rumusan masalah ”Sejauh mana

perbedaan akurasi algoritma naive bayes dan KNN dalam mengklasifikasikan data

wisconsin breast cancer?”.

1.3 Tujuan Penelitian

Tujuan penelitian ini adalah mendapatkan hasil perbandingan dari kedua

algoritma berupa tingkat akurasi, dan waktu proses, serta menentukan algoritma mana

yang memiliki algoritma yang lebih baik dan lebih baik.

1.4 Manfaat Penelitian

Penelitian ini diharapkan dapat memberikan manfaat bagi mahasiswa dan

penelitian lain.

(1) Bagi Mahasiswa

Penelitian dapat membantu menambah wawasan dan memperluas pengetahuan

tentang algoritma, khususnya ketiga algoritma yang dipakai di tugas akhir ini.

(2) Bagi Penelitian Lain

Penelitian ini sebagai bentuk sumbangan terhadap penelitian lainnya agar dapat

mengembangkan penelitian lebih lanjut berkaitan dengan masalah perbandingan

algoritma.

1.5 Batasan Masalah

Batasan masalah pada skripsi ini yaitu penulis memfokuskan untuk

menggunakan kedua algoritma, yaitu (1) Naive Bayes dan (2) K-nearest Neighbors dan

melihat tingkat akurasinya, serta data yang dipakai adalah data wisconsin breast cancer.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

4

1.6 Sistematika Penyajian

Penelitian ini terdiri dari lima bab:

BAB I PENDAHULUAN

Bab ini berisi tentang latar belakang masalah, rumusan masalah, tujuan

masalah, tujuan penelitian, manfaat penelitian, batasan masalah, dan sistematika

penyajian.

BAB II LANDASAN TEORI

Bab ini berisi tentang penelitian terdahulu yang relevan dan kajian teori

yang dipakai untuk menunjang penelitian.

BAB III PERANCANGAN SISTEM

Bab ini berisi tentang perancangan sistem yang akan dibangun. Bab ini

membahas tentang sumber data, analisis pengolahan data, dan desain antarmuka

sistem.

BAB IV IMPLEMENTASI SISTEM

Bab ini membahas hasil tentang implementasi sistem yang telah

dirancang pada bab iii.

BAB V ANALISIS HASIL

Bab ini berisi tentang analisis sistem yang telah dibangun pada bab iv.

BAB VI PENUTUP

Bab ini berisi tentang kesimpulan dan saran dari penelitian yang telah

dilakukan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

5

BAB II

LANDASAN TEORI

Dalam bab landasan teori ini akan dikaji dua hal, yaitu (1) penelitian terdahulu

yang relevan dan (2) kajian teori. Kedua hal tersebut akan dibahas satu per satu dalam

subbab yang ada di bawah ini.

2.1 Penelitian Terdahulu yang Relevan

Penelitian tentang perbandingan algoritma memang beberapa kali telah

dilakukan. Kajian terhadap penelitian-penelitian tersebut sangat beragam sesuai dengan

permasalahan yang diamati oleh peneliti lain. Hal yang menjadi keberagaman penelitian

mengenai perbandingan algoritma adalah mengenai algoritma yang digunakan dan

sumber data yang dianalisis.

Penelitian mengenai perbandingan algoritma pernah dilakukan oleh Adel

Aloraini (2012) dalam jurnal berjudul „Different Machine Learning Algorithms for

Breast Cancer Diagnosis‟. Adapun yang menjadi objek penelitian adalah data wisconsin

breast cancer. Penelitian tersebut mencoba membandingkan kelima algoritma yaitu, (1)

Bayesian Network, (2) Naive Bayes, (3) J48, (4) ADTree, dan (5) Multilayer Neural

Network. Berikut ini adalah hasil penelitian yang dilakukan oleh Adel Aloraini.

(1) Membuktikan bahwa kecerdasan buatan dapat membantu pakar dalam

mendeteksi penyakit kanker payudara.

(2) Bayesian Network dan Naive Bayes adalah algoritma yang berbeda.

(3) Bayesian Network adalah algoritma yang terbaik dibandingkan keempat

algoritma lainnya.

Renaldo Malau (2015) dalam skripsinya yang berjudul Perbandingan Akurasi

Algoritma Naive Bayes Classifier dan Algoritma Bayesian Belief Network dalam

mengklasifikasikan mahasiswa Universitas Sanata Dharma Program Studi Teknik

Informatika menemukan bahwa akurasi kedua algoritma itu setelah diuji menggunakan

metode 5-fold cross validation, Naive Bayes Classifier sebanyak 49,0909%, dan

Bayesian Belief Network sebanyak 52,7273%, dan membuktikan bahwa metode

Bayesian Belief Network lebih akurat dibandingkan Naive Bayes Classifier.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

6

Cahyo Darujati (2010) dalam jurnalnya berjudul Perbandingan Klasifikasi

Dokumen Teks menggunakan Metode Naïve Bayes dengan K-Nearest Neigtbor

menemukan bahwa Naïve Bayes kinerjanya lebih baik dari K-Nearest Neighbordalam

pengklasifikasian dokumen teks.

Meskipun penelitian tentang perbandingan algoritma pernah dilakukan,

penelitian tersebut masih layak dilakukan. Masih banyak algoritma yang perlu

dibandingkan untuk mengetahui algoritma mana yang paling akurat.

Oleh karena itu, penulis akan membandingkan algoritma yang berbeda dari

penelitian-penelitian sebelumnya yaitu (1) Naive Bayes dan (2) K-nearest Neighbor.

2.2 Kajian Teori

2.2.1 Penambangan Data

Penambangan Data adalah proses pengumpulan informasi penting dari sejumlah

data besar yang tersimpan di basis data, gudang data, atau tempat penyimpanan lainnya

(Han & Kamber, 2006). Penambangan data merupakan proses yang tidak dapat

dipisahkan dengan Knowledge Discovery in Database (KDD), karena penambangan

data adalah salah satu tahap dalam proses KDD seperti yang ditunjukkan oleh gambar

2.1.

Gambar 2.1 Tahapan Dalam KDD (Han & Kamber, 2006)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

7

Menurut Han dan Kamber (2006), tahapan-tahapan dalam proses KDD adalah

sebagai berikut:

1. Pembersihan data (Data Cleaning)

Pembersihan data merupakan proses untuk menghilangkan data yang

mengandung noise, atau data yang tidak konsisten.

2. Integritas data (Data Integration)

Pada tahap ini akan dilakukan penggabungan data yang berasal dari berbagai

sumber.

3. Seleksi data (Data Selection)

Pada tahap ini akan dilakukan pemilihan data yang relevan dari database.

4. Transformasi data (Data Transformation)

Pada tahap ini data akan ditransformasikan kedalam format yang sesuai

untuk diproses dalam penambangan data.

5. Penambangan data (Data Mining)

Penambangan data merupakan proses penting dimana metode akan

disistemkan untuk mengekstrak pola data.

6. Evaluasi pola (Pattern Evaluation)

Pada tahap ini, pola/model yang dihasilkan dari teknik data mining akan

mengidentifikasi pola-pola yang menarik berdasarkan ukuran tertentu

7. Presentasi pengetahuan (Knowledge Presentation)

Pada tahap ini akan dilakukan teknik visualisasi yang digunakan untuk

menampilkan pengetahuan hasil proses mining kepada pengguna.

2.2.2 Naive Bayes Classifier

Metode NBC menempuh dua tahap dalam proses klasifikasi teks, yaitu tahap

pelatihan dan tahap klasifikasi. Pada tahap pelatihan dilakukan proses analisis terhadap

sampel dokumen berupa pemilihan vocabulary, yaitu kata yang mungkin muncul dalam

koleksi dokumen sampel yang sedapat mungkin dapat menjadi representasi dokumen.

Selanjutnya adalah penentuan probabilitas prior bagi tiap kategori berdasarkan sampel

dokumen.Pada tahap klasifikasi ditentukan nilai kategori dari suatu dokumen

berdasarkan term yang muncul dalam dokumen yang diklasifikasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

8

Untuk menghitung nilai kelas yang akan dibandingkan (ya atau tidak), dilakukan

perhitungan probabilitas P(Vj):

P(Vj)= |docj|

|Contoh|

Dimana docj adalah banyaknya dokumen yang memiliki kategori j dalam

pelatihan, sedangkan Contoh banyaknya dokumen dalam contoh yang digunakan untuk

pelatihan. Untuk nilai P(Wk|Vj) , yaitu probabilitas kata wk dalam kategori j ditentukan

dengan :

P(Wk|Vj)= Nk+1

N+|vocabulary|

Dimana nk adalah frekuensi munculnya kata wk dalam dokumen yang ber

kategori vj ditambah 1, hal ini berfungsi untuk menghindari angka 0 dalam data atau

biasa disebut Laplace Smoothing, sedangkan nilai n adalah banyaknya seluruh kata

dalam dokumen berkategori vj, dan vocabulary adalah banyaknya kata dalam contoh

pelatihan.

Contoh Naïve Bayesian

Berikut contoh kasus yang akan diselesaikan dengan metode Naïve Bayes

Classifier:

Tabel 2.1 Data buys computer

RID Age Income Student Credit_Rating Class

1. 29 High No Fair No

2. 29 High No Excelent No

3. 31..40 High No Fair Yes

4. 41 Medium No Fair Yes

5. 41 Low Yes Fair Yes

6. 41 Low Yes Excelent No

7. 31..40 Low Yes Excelent Yes

8. 29 Medium No Fair No

9. 29 Low Yes Fair Yes

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

9

10. 41 Medium Yes Fair Yes

11. 29 Medium Yes Excelent Yes

12. 31..40 Medium No Excelent Yes

13. 31..40 High Yes Fair Yes

14. 41 Medium No Excelent No

Berdasarkan data pada tabel 2.1., model Naïve Bayes Classifier adalah sebagai

berikut:

1. Tentukan P(yes) sebagai probabilitas orang yang membeli komputer dan

P(no) sebagai probabilitas orang yang tidak membeli komputer dengan

rumus sebagai berikut:

P(yes/no) = |doc j|

|Contoh|

Dimana doc j adalah banyaknya dokumen yang memiliki kategori j dalam

pelatihan, sedangkan Contoh banyaknya dokumen dalam contoh yang digunakan untuk

pelatihan.

Berikut perhitungannya :

a. Tabel data

Tabel 2.2 Tabel data teks buys_computer

No Age<

=30

Age

31..40

Age>

40

Income

= low

Income=

medium

Income=

high

Student

=yes

Studen

t=no

Credit_

Rating=

fair

Credit_

Rating=

excelent

Class

1. 1 0 0 0 0 1 0 1 1 0 No

2. 1 0 0 0 0 1 0 1 0 1 No

3. 0 1 0 0 0 1 0 1 1 0 Yes

4. 0 0 1 0 1 0 0 1 1 0 Yes

5. 0 0 1 1 0 0 1 0 1 0 Yes

6. 0 0 1 1 0 0 1 0 0 1 No

7. 0 1 0 1 0 0 1 0 0 1 Yes

8. 1 0 0 0 1 0 0 1 1 0 No

9. 1 0 0 1 0 0 1 0 1 0 Yes

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

10

10. 0 0 1 0 1 0 1 0 1 0 Yes

11. 1 0 0 0 1 0 1 0 0 1 Yes

12. 0 1 0 0 1 0 0 1 0 1 Yes

13. 0 1 0 0 0 1 1 0 1 0 Yes

14. 0 0 1 0 1 0 0 1 0 1 No

b. Tabel P(yes)

Tabel 2.3 Tabel probabilitas yes data teks buys_computer

No Age<

=30

Age

31..40

Age>

40

Income

= low

Income=

medium

Income=

high

Student

=yes

Studen

t=no

Credit_

Rating=

fair

Credit_

Rating=

excelent

Class

3. 0 1 0 0 0 1 0 1 1 0 Yes

4. 0 0 1 0 1 0 0 1 1 0 Yes

5. 0 0 1 1 0 0 1 0 1 0 Yes

7. 0 1 0 1 0 0 1 0 0 1 Yes

9. 1 0 0 1 0 0 1 0 1 0 Yes

10. 0 0 1 0 1 0 1 0 1 0 Yes

12. 0 1 0 0 1 0 0 1 0 1 Yes

13. 0 1 0 0 0 1 1 0 1 0 Yes

P(Y=Yes)=9/14=0.64

c. Tabel P(No)

Tabel 2.4 Tabel probabilitas no data teks buys_computer

No Age<

=30

Age

31..40

Age>

40

Income

= low

Income=

medium

Income=

high

Student

=yes

Studen

t=no

Credit_

Rating=

fair

Credit_

Rating=

excelent

Class

1. 1 0 0 0 0 1 0 1 1 0 No

2. 1 0 0 0 0 1 0 1 0 1 No

6. 0 0 1 1 0 0 1 0 0 1 No

8. 1 0 0 0 1 0 0 1 1 0 No

14. 0 0 1 0 1 0 0 1 0 1 No

P(Y=No)=5/14=0.36

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

11

1. Kemudian tentukan P(Wk|Yes) dan P(Wk|No) yaitu probabilitas kata wk

dalam kategori yes atau no ditentukan dengan :

P(Wk|Yes)=Nk+1

N+|Vocabulary|

Dimana nk adalah frekuensi munculnya kata wk dalam dokumen yang ber

kategori yes atau no, sedangkan nilai n adalah banyaknya seluruh kata dalam dokumen

berkategori yes atau no, dan vocabulary adalah banyaknya kata dalam contoh pelatihan.

a. Probabilitas kelas Age (W1)

P(W1=<30|Yes)=(2+1)/(36+10)=0.06

P(W1=<30|No)=(3+1) /(20+10)=0.13

P(W1=31..40|Yes)=(4+1)/(36+10)=0.10

P(W1=31..40|No)=(0+1)/(20+10)=0.03

P(W1=>40|Yes)=(3+1)/(36+10)=0.08

P(W1=>40|No)=(2+1)/(20+10)=0.1

b. Probabilitas kelas Income (W2)

P(W2=low|Yes)=(3+1)/(36+10)=0.08

P(W2=low|No)=(1+1)/(20+10)=0.06

P(W2=medium|Yes)=(4+1)/(36+10)=0.10

P(W2=medium|No)=(2+1)/(20+10)=0.1

P(W2=high|Yes)=(2+1)/(36+10)=0.06

P(W2=high|No)=(2+1)/(20+10)=0.1

c. Probabilitas kelas Student (W3)

P(W3=yes|Yes)=(6+1)/(36+10)=0.17

P(W3=yes|No)=(1+1)/(20+10)=0.06

P(W3=no|Yes)=(3+1)/(36+10)=0.08

P(W3=no|No)=(4+1)/(20+10)=0.16

d. Probabilitas kelas Credit_Rating (W4)

P(W4=fair|Yes)=(6+1)/(36+10)=0.15

P(W4=fair|No)=(2+1)/(20+10)=0.1

P(W4=excelent|Yes)=(3+1)/(36+10)=0.08

P(W4=excelent|No)=(3+1)/(20+10)=0.13

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

12

1. Terakhir mencari nilai probabilitas data test.

Misalkan diketahui umur 29 tahun, berpenghasilan tinggi (high), Bukan

pelajar, dan peringkat rating (credit_rating) fair, maka perhitungan probabilitas untuk

menentukan apakah dia membeli komputer atau tidak adalah:

P(X|Y=yes) =

P(Yes)*(E1=<30|Yes)*P(E2=high|Yes)*P(E3=No|Yes)*P(E4=fair|Yes)

= 0.64*0.06*0.06*0.08*0.15 = 3.61 * 10-5

P(X|Y=no) = P(E1=<30|No)*P(E2=high|No)*P(E3=No|No)*P(E4=fair|No)

= 0.36*0.13*0.1*0.16*0.1 = 7.93 * 10-5

Setelah didapatkan hasil likelihood maka hasil tersebut dibagi dengan total

hasil likelihood supaya mendapatkan nilai probabilitas, maka:

P(X|Y=yes) = 3.61 * 10-5

/(3.61 * 10-5

+7.93 * 10-5

)=0.31

P(X|Y=no)=7.93 * 10-5

/(3.61 * 10-5

+7.93 * 10-5

)=0.69

Berdasarkan hasil perhitungan tersebut, probabilitas tidak (0,69) lebih besar jika

dibandingkan dengan probabilitas ya (0,31), sehingga dapat disimpulkan bahwa untuk

kasus ini orang yang berumur 29 tahun, berpenghasilan tinggi, bukan pelajar, dan

memiliki credit rating fair masuk dalam kelas orang yang tidak membeli computer.

2.2.3 K-Nearest Neighbor

K-Nearest Neighbor (KNN) termasuk kelompok instance-based learning.

Algoritma ini juga merupakan salah satu teknik lazy learning. KNN dilakukan dengan

mencari kelompok k objek dalam data training yang paling dekat (mirip) dengan objek

pada data baru atau data testing . Algoritma K-Nearest Neighbor adalah sebuah metode

untuk melakukan klasifikasi terhadap objek berdasarkan data pembelajaran yang

jaraknya paling dekat dengan objek tersebut. Nearest Neighbor adalah pendekatan

untuk mencari kasus dengan menghitung kedekatan antara kasus baru dan kasus lama

yaitu berdasarkan pada pencocokan bobot dari sejumlah fitur yang ada. Untuk

mendefinisikan jarak antara dua titik yaitu titik pada data training (x) dan titik pada data

testing (y) maka digunakan rumus Euclidean, seperti yang ditunjukkan pada persamaan

(1)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

13

.................(1)

Dengan D adalah jarak antara titik pada data training x dan titik data testing y

yangakan diklasifikasi, dimana x=x1,x2,…,xi dan y=y1,y2,…,yi dan I

merepresentasikan nilai atribut serta n merupakan dimensi atribut.

Pada fase training, algoritma ini hanya melakukan penyimpanan vektor-vektor

fitur dan klasifikasi data training sample. Pada fase klasifikasi, fitur-fitur yang sama

dihitung untuk testing data (yang klasifikasinya tidak diketahui). Jarak dari vektor baru

yang ini terhadap seluruh vektor training sample dihitung dan sejumlah k buah yang

paling dekat diambil.

Langkah-langkah untuk menghitung metode Algoritma K-Nearest Neighbor:

a. Menentukan Parameter K (Jumlah tetangga paling dekat).

b. Menghitung kuadrat jarak Euclid (queri instance) masing-masing objek

terhadap datasampel yang diberikan.

c. Kemudian mengurutkan objek-objek tersebut ke dalam kelompok yang

mempunyai jarak Euclid terkecil.

d. Mengumpulkan kategori Y (Klasifikasi Nearest Neighbor).

e. Dengan menggunakan kategori Nearest Neighbor yang paling mayoritas

maka dapatdiprediksi nilai queri instance yang telah dihitung.

Contoh K-Nearest Neighbor

Berikut contoh kasus yang akan diselesaikan dengan metode K-Nearest

Neighbor:

Tabel 2.5 Tabel data buys_computer

RID Age Income Student Credit_Rating Class

1. 29 High No Fair No

2. 29 High No Excelent No

3. 31..40 High No Fair Yes

4. 41 Medium No Fair Yes

5. 41 Low Yes Fair Yes

6. 41 Low Yes Excelent No

7. 31..40 Low Yes Excelent Yes

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

14

8. 29 Medium No Fair No

9. 29 Low Yes Fair Yes

10. 41 Medium Yes Fair Yes

11. 29 Medium Yes Excelent Yes

12. 31..40 Medium No Excelent Yes

13. 31..40 High Yes Fair Yes

14. 41 Medium No Excelent No

Vektornya adalah sebagai berikut:

Tabel 2.6 Data Numerik buys computer

Age Income Student Credit_Rating Class

1 3 2 1 No

1 3 2 2 No

2 3 2 1 Yes

3 2 2 1 Yes

3 1 1 1 Yes

3 1 1 2 No

2 1 1 2 Yes

1 2 2 1 No

1 1 1 1 Yes

3 2 1 1 Yes

1 2 1 2 Yes

2 2 2 2 Yes

2 3 1 1 Yes

3 2 2 2 No

1. Menghitung Euclidean Distance

Misalkan kita memiliki dua buah titik, titik A dan titik B yang masing masing

dapat dipresentasikan dalam bentuk vektor sebagai berikut:

A = Titik representasi dari data yang kita training.

B= Titik representasi dari data yang kita testing.

A = [a1 a2 a3 …. an] T

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

15

B = [b1 b2 b3 …. bn] T

Maka jarak Euclid antara kedua titik tersebut dapat dicari dengan rumus:

D2 = (a1-b1)

2 + (a2-b2)

2 + (a3-b3)

2 + ….. + (an-bn)

2

atau

D= √ (a1-b1)2 + (a2-b2)

2 + (a3-b3)

2 + ….. + (an-bn)

2

Misalkan diketahui umur 29 tahun, berpenghasilan tinggi (high), Bukan pelajar,

dan peringkat rating (credit_rating) fair, maka perhitungan probabilitas untuk

menentukan apakah dia membeli komputer atau tidak jika ditentukan memiliki 1 jarak

terdekat (k) adalah:

Vektor data testing:

Tabel 2.7 Data testing KNN

Age Income Student Credit_Rating

1 3 2 1

Membandingkan dengan rumus Euclidean Distance:

D1(x,y)=√(1-1) 2

+(3-3) 2

+(2-2) 2

+(1-1) 2

=0

D2(x,y)=√ (1-1) 2

+(3-3) 2

+(2-2) 2

+(1-2) 2

=1

D3(x,y)=√ (1-2) 2

+(3-3) 2

+(2-2) 2

+(1-1) 2

=1

D4(x,y)=√ (1-3) 2

+(3-2) 2

+(2-2) 2

+(1-1) 2

=2,23

D5(x,y)=√ (1-3) 2

+(3-1) 2

+(2-1) 2

+(1-1) 2

=3

D6(x,y)=√ (1-3) 2

+(3-1) 2

+(2-1) 2

+(1-2) 2

=3,16

D7(x,y)=√ (1-1) 2

+(3-2) 2

+(2-2) 2

+(1-1) 2

=2,64

D8(x,y)=√ (1-2) 2

+(3-1) 2

+(2-1) 2

+(1-2) 2

=1

D9(x,y)=√ (1-1) 2

+(3-1) 2

+(2-1) 2

+(1-1) 2

=2,23

D10(x,y)=√ (1-3) 2

+(3-2) 2

+(2-1) 2

+(1-1) 2

=2,44

D11(x,y)=√ (1-1) 2

+(3-2) 2

+(2-1) 2

+(1-2) 2

=1,73

D12(x,y)=√ (1-2) 2

+(3-2) 2

+(2-2) 2

+(1-2) 2

=1,73

D13(x,y)=√ (1-2) 2

+(3-3) 2

+(2-1) 2

+(1-1) 2

=1,41

D14(x,y)=√ (1-3) 2

+(3-2) 2

+(2-2) 2

+(1-2) 2

=2,44

Kemudian setelah itu dibandingkan jaraknya, dan setelah dibandingkan dicari 1

jarak paling dekat. Berdasarkan hasil perhitungan tersebut D1 adalah jarak yang paling

dekat (0), sehingga dapat disimpulkan bahwa dapat disimpulkan bahwa untuk kasus ini

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

16

orang yang berumur 29 tahun, berpenghasilan tinggi, bukan pelajar, dan memiliki credit

rating fair masuk dalam kelas orang yang tidak membeli computer.

2.2.4 K-Fold Cross Validation

Pada penelitian ini metode yang digunakan untuk menguji pola klasifikasi

adalah metode k-fold cross validation. Dalam k-fold cross validation, data dibagi

menjadi k bagian, D1, D2,..Dk, dan masing-masing D memiliki jumlah data yang sama.

Kemudian lakukan proses perulangan sebanyak k, dimana dalam setiap perulangan ke-i,

Di akan dijadikan data testing, dan sisanya akan digunakan sebagai data training.

Sebagai contoh, misalkan akan dilakukan metode cross validation dengan

menggunakan 3 fold. Pertama pilih salah satu fold menjadi data testing, kemudian

gunakan fold sisanya sebagai data training. Hal ini dilakukan berulang untuk semua

kombinasi data training-testing.Untuk mengilustrasikan metode ini, perhatikan Gambar

2.9.

Gambar 2.2 Ilustrasi 3-fold Cross Validation

2.2.5 Pengukuran Akurasi Klasifikasi

Keakuratan hasil klasifikasi dapat diukur dengan menggunakan confusion

matrix. Confusion matrix adalah media yang berguna untuk menganalisis seberapa baik

classifier dapat mengenali tupel dari kelas yang berbeda (Tan, Steinbach, & Kumar,

2006). Misalkan terdapat dua kelas, maka akan diistilahkan menjadi tupel positif dan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

17

tupel negatif. True positive mengacu pada tupel positif yang diberi label dengan tepat

oleh classifier, sementara true negatif adalah tupel negatif yang diberi label dengan

tepat oleh classifier.False positive adalah tupel negatif yang diberi label dengan tidak

tepat. Demikian pula, false negative adalah tupel positif yang diberi label dengan tidak

tepat.Istilah-istilah ini berguna ketika menganalisis kemampuan classifier dan diringkas

dalam Gambar 2.10.

Gambar 2.3 Confusion Matrix untuk matrix 2×2 (Tan, Steinbach, & Kumar, 2006)

Misalkan terdapat confusion matrix 2×2 seperti pada Gambar 2.10, maka rumus

yang akan digunakan untuk menghitung akurasi adalah sebagai berikut:

Rumus 2.6 diatas dapat juga didefinisikan seperti pada rumus berikut:

2.2.6 Kanker Payudara

2.2.6.1 Definisi Kanker Payudara

Kanker payudara muncul sebagai akibat sel-sel yang abnormal terbentuk pada

payudara dengan kecepatan tidak terkontrol dan tidak beraturan. Sel tersebut merupakan

hasil mutasi gen dengan perubahan bentuk, ukuran maupun fungsinya (Lippman, 1998).

Lebih dari 70% penderita kanker payudara ditemukan sudah dalam stadium lanjut

(Moningkey, 2000).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

18

Gambar 2.4 Perbedaan sel normal dengan sel kanker (Weaver, 2002)

2.2.6.2 Epidemiologi

Di Indonesia setiap tahunnya diperkirakan terdapat 100 penderita kanker baru

setiap 100.000 penduduk seiring peningkatan angka harapan hidup, sosial ekonomi serta

perubahan pola penyakit (Tjindarbumi, 2000). Kasus baru kanker payudara pada wanita

di Amerika Serikat tahun 2005 adalah 211.240 dengan kematian 40.410, di Indonesia

terdapat 114.649 penderita (National CancerInstitute, 2005). Di RSUP. Dr. Sardjito

Yogyakarta pasien kanker payudara yang dirawat ada 252 orang pada tahun 2005. Pada

tahun 2006 di Amerika Serikat, kasus kanker payudara (wanita saja) menempati urutan

pertama (32%) dan penyebab kematian kedua setelah kanker paru (Anonim, 2007).

2.2.6.3 Etiologi

Penyebab kanker payudara belum diketahui secara pasti. Faktor risiko yang

sangat berpengaruh terhadap timbulnya kanker payudara antara lain genetik, faktor

endokrin, dan faktor lingkungan.

a. Faktor Endokrin

Faktor endokrin akan mempengaruhi insidensi pada kanker payudara,

diantaranya adalah total durasi lamanya menstruasi, early menarche (menstruasi di

umur dini), nulliparity (wanita yang tidak memiliki anak) dan melahirkan anak pertama

di umur >30 tahun akan meningkatkan risiko lama hidup pada perkembangan kanker

payudara (Dipiro, 2003).

b. Faktor Genetik

Sekitar 5-10% kanker payudara terjadi akibat adanya kelainan genetik yang

diturunkan anggota keluarga. Hal ini akan meningkatkan risiko timbulnya kanker tipe

tertentu misalnya sindroma Li-Fraumeni, mutasi pada kromosom 1q, 3p, 13q, 17p

menimbulkan kanker payudara pada umur lebih muda. Lebih dari 50- 85% wanita

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

19

dengan mutasi gen BRCA-1 atau BRCA-2 akan terkena kanker payudara (Anonim,

2003b).

c. Faktor Lingkungan

Makanan, nutrisi, dan terpapar senyawa radioaktif dapat memicutimbulnya

kanker payudara (Anonim, 2003b).

2.6.3.4. Patofisiologi

Identifikasi subtipe histopatologi kanker payudara penting karena ada

hubungannya dengan aspek klinik yaitu prediksi metastasis, terapi dan prognosis.

a. Dasar klasifikasi subtipe histopatologi kanker payudara yang sering

digunakanadalah WHO tahun 1981. Menurut WHO subtipe histopatologi

kankerpayudara ada 2 macam yaitu :

1). carcinoma noninvasive

Carcinoma noninvasive artinya sel yang membahayakan mengikatkelenjar lain

pada lobus, dengan tidak ada bukti penetrasi pada sel tumormenyambung dengan dasar

membran di sekitar 2 tipe pada struktur yangdikelilingi jaringan fibrous. Umumnya

kanker payudara adalahadenocarcinoma yang berasal dari sel epitel pada pembuluh atau

kelenjar.Ada dua bentuk pada carcinoma noninvasive yaitu ductal carcinoma insitudan

lobular carcinoma insitu.

2). carcinoma invasif

Carcinoma invasif adalah sel yang rusaknya melewati dasar membrandi

sekeliling struktur payudara, dimana sel tersebut muncul dan menyebar disekeliling

jaringan. Ukuran carcinoma bermacam-macam, kurang dari10mm dan kedalaman lebih

dari 80mm, namun yang sering dijumpai yaknikedalaman 20-30mm. Secara klinis akan

terlihat kuat dan jelas serta kulitnampak bersisik dengan punting susu tertarik ke dalam

(Underwood, 2001).

b. Anatomi payudara

Payudara manusia berbentuk kerucut tetapi sering kali berukuran tidaksama.

Payudara memanjang dari tulang rusuk kedua atau ketiga sampai tulang rusuk keenam

atau ketujuh, dari tepi sentral ke garis aksilaris anterior. “Ekor”payudara memanjang

sampai ke aksila dan cenderung lebih tebal ketimbang daerah payudara lainnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

20

Payudara normal mengandung jaringan kelenjar, duktus,jaringan otot penyokong,

lemak, pembuluh darah, saraf, dan pembuluh limfe(Guiliano, 2001).

2.6.3.5. Tanda dan Gejala Klinis

Berupa benjolan pada payudara, eksema punting susu atau pendarahan pada

punting susu, tetapi umumnya berupa benjolan yang tidak nyeri. Benjolan itumula-mula

kecil, makin lama makin besar lalu melekat pada kulit dan menimbulkan perubahan

kulit payudara atau punting susu.Kulit atau punting susu akan tertarik ke dalam

(retraksi), berwarna merah kecoklatan sampai menjadi udema hingga kulit kelihatan

seperti kulit jeruk,mengkerut dan timbul ulkus. Ulkus tersebut makin lama akan

semakin membesardan akhirnya akan menghancurkan seluruh payudara dengan bau

yang busuk danmenjadi mudah berdarah (Anonim, 2000a).

2.6.3.6. Diagnosis

Secara umum diagnosis kanker payudara dibedakan menjadi 2 yaitu skrining

dan diagnostik. Yang termasuk skrining antara lain :

a. pemeriksaan payudara sendiri (SADARI) yang dilakukan setahun

sekalisetelah umur 20 tahun,

b. pemeriksaan payudara oleh dokter yang dimulai pada umur 20 tahun, setiap

3tahun sekali pada umur 20-39 tahun dan setiap tahun sekali setelah umur 40tahun,

c. mammografi skrining yang dilakukan pada pasien tanpa gejala

untukmendeteksi adanya kanker payudara yang samar (Ramli, 2000).

Yang termasuk diagnostik (Ramli, 2000) :

a. anamnesa meliputi tanda, gejala dan faktor risiko,

b. pemeriksaan fisik meliputi keadaan umum, dan tanda metastasis

Salah satu alternatif tes skrining kanker payudara adalah Fine Breast Needle

Cytologi (FNA). FNA biasa dilakukan untuk mendeteksi kesalahan pertumbuhan sel

yang terdapat pada payudara dan juga mengkonfirmasi yang bukan merupakan

kesalahan pertumbuhan sel dari hasil mammografi skrining. FNA dilakukan dengan

jarum yang sangat kecil untuk mendapatkan sample darah dari payudara.Sample dari

biopsi nantinya akan dikirim ke ahli patologi untuk dianalisa dan dikonfirmasi hasil

diagnosanya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

21

2.2.7 Metode Hashing atau Hashmap

Map adalah salah satu bentuk struktur data. Hashmap adalah struktur data map

yang di berikan kemampuan hashing. hashing adalah salah satu metode pemberian nilai

pada string, yang biasanya di pakai untuk pembandingan kesamaan atau kedekatan dari

satu string ke string yang lain. Pada proses pencarian pada hashmap yaitu pertama

membuat nilai hash pada string yang di cari kemudian membandingkan nilai hash

tersebut dengan nilai hash pada semua string yang ada di hashmap atau di struktur data.

Hashing/Hashmap merupakan metode untuk menyimpan dan mengambil catatan

dari database. Hal ini memungkinkan kita untuk melakukan penyisipan, menghapus,

dan mencari catatan berdasarkan nilai kunci pencarian.Hashing/Hashmap adalah

metode pencari pilihan karena sangat efisien ketika diterapkan dengan benar. Bahkan,

system hash yang diprogram dengan benar biasanya melihat hanya satu atau dua catatan

untuk setiap pencarian, insert, atau menghapus operasi. Waktu pencarian data melalui

hashing jauh lebih effisien dari pada pencarian data biner pada array yang diurutkan

dari n catatan dengan waktu O (log n), atau pencarian data dengan binary tree yang

mana memiliki waktu O(log n). Namun pada kenyataannya hashing sulit untuk

diterapkan dengan benar (Nurhaerty,2008).

Hasing/Hashmap adalah teknik untuk melakukan penambahan, penghapusan,

dan pencarian dengan rata – rata waktu konstan.Selain itu hashing juga dikenal dengan

sebutan hash table. Hash tables adalah array dengan sel-sel yang ukurannya telah

ditentukan dan dapat berisi data atau key yang berkesesuaian dengan data. Selain itu

Hash tables merupakan struktur data yang sering digunakan untuk

mengimplementasikan ADT (Abstract Data Type) pada sebuah Dictionary, yaitu ADT

(Abstract Data Type) yang hanya mengizinkan pencarian, penyisipan, dan penghapusan

elemen-elemen yang ada di dalamnya. (Ruli dkk, 2008.).

Hash Table merupakan solusi elegan untuk menyelesaikan masalah pencarian.

Hash Table, seperti HashMap, menyimpan pasangan kunci/nilai. Jika kita mengetahui

kuncinya, maka kita bisa mencari nilainya di dalam tabel. Jika tabel hash digunakan

untuk mengimplementasikan set, maka semua nilainya berisi null. Kita masih harus

mencari kuncinya di dalam tabel. Pada hakekatnya hash table merupakan solusi yang

sangat effisien dalam mengatasi masalah pencarian pada sebuah data. Hal ini

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

22

dikarenakan table hash seperti halnya hashmap menyimpan setiap pasangan kunci atau

nilai dari setiap data. Jika diketahui sebuah kuncinya maka bukan hal yang mustahil lagi

untuk mencari atau mengetahui nilai dari data tersebut. Namun lain halnya jika hash

table diimplementasikan pada system set data maka untuk mencari sebuah nilai kita

harus mencari kunci di dalam table hash padahal semua nilai yang berada dalam tabel

berisi null (Anonim. 2012).

Dalam tabel hash yang digunakan pada Java, setiap lokasi array sebetulnya

adalah suatu list berantai yang berisi pasangan kunci/nilai (atau mungkin juga list

kosong). Jika dua item memiliki kode hash yang sama, maka kedua item tersebut akan

ada pada list yang sama. Strukturnya bisa digambarkan sebagai berikut:

Gambar 2.5 Struktur kode hash

Pada gambar 2.5., hanya ada satu item dengan kode hash 0, tidak ada item

dengan kode hash 1, dua item dengan kode hash 2, dan seterusnya. Pada tabel hash

yang dirancang dengan benar, hampir semua list berantai berisi nol atau satu elemen

saja, dengan rata-rata panjang list kurang dari 1. Meskipun kode hash dari suatu kunci

mungkin tidak membawa kita langsung pada kunci yang kita mau, akan tetapi tidak

akan lebih dari satu atau dua item yang harus kita cari sebelum kita sampai pada item

yang kita inginkan (Anonim. 2012).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

23

2.2.8 WEKA (Waikato Environment for Knowledge Analysis)

WEKA (Waikato Environment for Knowledge Analysis) adalah suatu perangkat

lunak pembelajaran mesin yang populer ditulis dengan Java, yang dikembangkan di

Universitas Waikato di Selandia Baru. WEKA adalah perangkat lunak gratis yang

tersedia di bawah GNU General Public License. WEKA menyediakan penggunaan

teknik klasifikasi menggunakan pohon keputusan dengan algoritma J48. Teknik

klasifikasi dan algoritma yang digunakan di WEKA disebut classifier.

2.2.8.1 Cara menggunakan WEKA

Cara termudah untuk menggunakan WEKA adalah melalui interface pengguna

grafis yang disebut Explorer. Hal ini memberikan akses ke semua fasilitas dengan

menggunakan pilihan menu dan pengisian formulir. Sebagai contoh, dataset dapat

dibaca dengan cepat dari file ARFF (atau spreadsheet) menggunakan Interface

Explorer. Kelemahan mendasar dari Interface Explorer adalah bahwa Explorer

memegang semuanya dalam memori utama. Ketika dataset dibuka, maka semua data set

tersebut masuk ke dalam memori utama. Ini berarti bahwa Explorer hanya dapat

diterapkan untuk masalah kecil sampai menengah. Namun, WEKA berisi beberapa

algoritma tambahan yang dapat digunakan untuk memproses dataset yang sangat besar.

Interface Knowledge Flow memungkinkan merancang konfigurasi untuk

pengolahan data secara streaming. Interface Knowledge Flow memungkinkan untuk

menarik kotak yang mewakili algoritma pembelajaran dan sumber data di sekitar layar

dan bergabung bersama-sama ke dalam konfigurasi yang diinginkan oleh user. Hal ini

memungkinkan untuk menentukan aliran data dengan menghubungkan komponen yang

mewakili sumber data, alat preprocessing, algoritma pembelajaran (learning

algorithms), metode evaluasi, dan modul visualisasi. Jika filter dan algoritma

pembelajaran (learning algorithms) mampu, maka data akan dimuat dan diproses secara

bertahap.

Interface yang ketiga adalah Experimenter, dirancang untuk membantu

menjawab pertanyaan praktis dasar ketika menerapkan teknik klasifikasi dan regresi

yaitu berupa metode dan nilai parameter karya terbaik yang sesuai untuk masalah yang

diberikan. Biasanya tidak ada cara untuk menjawab pertanyaan ini secara Apriori. Hal

ini dapat dilakukan secara interaktif dengan menggunakan interface explorer. Namun,

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

24

interface eksperimenter memungkinkan untuk mengotomatisasi proses dengan

membuatnya mudah untuk menjalankan pengklasifikasi dan filter dengan pengaturan

parameter yang berbeda pada korpus dataset, untuk mengumpulkan statistik kinerja, dan

melakukan tes signifikansi. Pengguna advanced dapat menggunakan eksperimenter

untuk mendistribusikan beban komputasi di beberapa mesin menggunakan Java Remote

Method Invocation (RMI).

Dibalik interface ini terletak interaktif fungsionalitas dasar dari WEKA. Ini

dapat diakses dalam bentuk mentah dengan memasukkan perintah tekstual, yang

memberikan akses ke semua fitur dari sistem. Ketika WEKA dijalankan, harus dipilih di

antara empat interface pengguna yang berbeda: Explorer, Aliran Pengetahuan

(Knowledge Flow), eksperimenter, dan command-line interface. Kebanyakan orang

memilih Explorer.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

25

BAB III

PERANCANGAN SISTEM

Dalam bab metodologi penelitian ini akan dikaji tiga hal, yaitu (1) sumber data,

(2) analisis pengolahan data, (3) desain antarmuka sistem. Ketiga hal tersebut akan

dibahas satu per satu dalam subbab yang ada di bawah ini.

3.1 Sumber Data

Dalam penelitian ini, obyek yang digunakan adalah data Wisconsin Breast

Cancer Database dari Dr.William H.Woldberg (1989-1991), University of Wisconsin

Hospitals, Madison, USA. Data berjumlah 699, dengan atribut sebanyak 11 termasuk

atribut kelas. Didalam file tersebut berisi data satu pasien dengan rincian sebagai

berikut:

Tabel 3.1 Data Atribut Wisconsin Diagnosis Breast Cancer

No Nama Atribut Keterangan Nilai

1. ID Nomor kode sampel Nomor Id

2. Ketebalan Clump Atribut ini menentukan apakah sel

berlayer atau tidak karena sel tumor

jinak (benign celss) cenderung

hanya mempunyai satu layer

(monolayer) sedangkan sel ganas

cenderung mempunyai banyak

layer (multilayer).

1-10

3. Keseragaman ukuran

sel

Atribut ini menentukan konsistensi

ukuran sel.

1-10

4. Keseragaman bentuk

sel

Atribut ini menentukan kesamaan

bentuk sel.

1-10

5. Adhesi Marginal Atribut ini menentukan apakah sel-

sel bersama sama atau tidak karena

sel ganas cenderung kehilangan

kemampuan ini.

1-10

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

26

6. Ukuran sel tunggal

epitel

Atribut ini menentukan apakah

ephitelial cell cenderung membesar

atau tidak.

1-10

7. Bare Nuclei Atribut ini menentukan apakah sel

dikelilingi sitoplasma (sisa sel) atau

tidak.

1-10

8. Bland Kromatin Atribut ini menentukan tingkat

tekstur dari sel kromatin.

1-10

9. Nukleous Normal Atribut ini menentukan bentuk dari

nucleoli.

1-10

10. Mitosis Atribut ini menentukan seberapa

banyak sel kanker membagi,

membelah atau memperbanyak

dirinya.

1-10

11. Kelas Atribut ini menentukan

kelas apakah tumor yang diderita

jinak atau parah.

2 untuk Benign

dan 4 untuk

Malignant.

3.2 Analisis Pengolahan Data

Sebelum data diolah menggunakan sistem, dilakukan pemrosesan data awal

terlebih dahulu sesuai dengan proses KDD. Ada empat langkah pemrosesan data yaitu

(1) pembersihan data, (2) seleksi data, (3) transformasi data, dan (4) penambangan data.

3.2.1 Pembersihan Data

Pada tahap ini, dilakukan pembersihan terhadap data-data yang tidak lengkap,

kosong atau null, data yang mengandung noise, dan data tidak konsisten. Pada tahap ini

data yang bernilai null atau kosong, akan dibersihkan dengan cara dihapus secara

manual, dan akan dilakukan penghapusan attribut ID serta akan mengganti .

Pembersihan data dilakukan setelah proses integrasi dan seleksi data dilakukan. Proses

integrasi akan memudahkan proses pencarian data, sementara seleksi data akan

mengurangi jumlah data yang akan dibersihkan. Berikut rincian data yang akan

dibersihkan:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

27

Tabel 3.2 Jumlah Data Hasil Pembersihan

Jumlah data kanker payudara

Data awal 699

Data tidak lengkap 16

Jumlah data bersih 683

3.2.2 Seleksi Data

Pada tahap ini akan dilakukan penyeleksian data untuk mengurangi data yang

tidak relevan dan redundant. Menurut Tan, Steinbach, dan Kumar (2006), atribut yang

tidak relevan adalah atribut yang berisi informasi yang tidak berguna untuk melakukan

penambangan data, sedangkan atribut yang berlebihan (redundant) adalah atribut yang

menduplikasi banyak atau semua informasi yang terdapat didalam satu atau lebih atribut

lain.

Pada data wisconsin diagnosis breast cancer berisi 11 atribut, dan tidak semua

dipakai untuk mengklasifikasi kanker. Maka dari itu dilakukan penghapusan atribut

yang tidak dipakai, atribut yang tidak terpakai adalah atribut id, sehingga atribut id

dihapus.

3.2.3 Transformasi Data

Pada tahap ini akan dilakukan transformasi data kedalam format yang dapat

dikelola oleh sistem. Data nilai kelas memiliki format 2 dan 4, format ini diubah yaitu 2

menjadi benign, dan 4 untuk menjadi malignant.

3.2.4 Penambangan Data

Pada tahap ini data teks akan ditambang dengan menggunakan sistem. Langkah

awal dari pemrosesan input adalah membaca data teks ke dalam sistem. Setelah data

dibaca data berupa data string dan data tercampur didalam satu baris data, sehingga data

perlu dipisah kemudian diubah ke tipe data double, kecuali data kelas yaitu benign dan

malignant, sehingga data dapat diproses ke dalam perhitungan klasifikasi. Untuk

melakukan pemrosesan data tersebut maka sistem perlu menulis ulang data teks kanker,

sehingga data teks kanker dapat diproses oleh sistem.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

28

3.3 Perancangan Umum Sistem

Pada subbab ini akan dijelaskan gambaran yang dibangun, berupa diagram Use

Case, Skenario Use Case, diagram aktifitas, dan desain antarmuka sistem.

a. Diagram use case

Aktor dari sistem ini hanya satu, yaitu peneliti, namun seterusnya akan disebut

pengguna. Fungsi utama yang dapat dilakukan pengguna adalah melakukan klasifikasi.

Selain itu pengguna dapat menentukan fold dan mengimpor data.

Ketika fungsi melakukan klasifikasi dijalankan sistem akan menjalankan, sistem

akan melakukan proses cross validation, menghitung akurasinya, kemudian

menampilkan hasilnya. Output dari fungsi ini adalah hasil akurasi dan waktu proses dari

algoritma.

Gambar 3.1 Diagram use case

b. Deskripsi Use Case

Fungsi yang dapat dilakukan oleh Pengguna terhadap sistem digambarkan

dengan diagram use case seperti pada Gambar 3.2. Berikut ini deskripsi atau penjelasan

dari diagram tersebut:

Tabel 3.3 Deskripsi use case

No Nama Use Case Deskripsi Use Case

1. Menentukan Jumlah

Fold

Use case ini digunakan untuk

menentukan jumlah fold yang akan

Pengguna

Menentukan

Jumlah Fold

Mengimpor data

Melakukan klasifikasi

<<depends on>>

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

29

digunakan dalam proses cross validation.

2. Mengimpor data Use casi ini digunakan untuk

memasukkan data kedalam sistem

menggunakan file berekstensi .data. Data

yang dimasukkan akan ditambang dengan

menggunakan algoritma NB dan KNN.

3. Melakukan klasifikasi Use case ini digunakan untuk

melakukan proses klasifikasi dan

menghitung akurasi. Pengguna dapat

melihat hasil akurasi yang dihasilkan.

c. Skenario Use Case

Skenario use case merupakan penjabaran masing-masing use case yang terdapat

pada diagram use case. Skenario use case dapat dilihat pada lampiran 2.

d. Diagram Aktivitas

Diagram aktifitas digunakan untuk menunjukkan kegiatan yang dilakukan oleh

pengguna dan sistem dalam setiap use case. Rincian diagram aktifitas sistem ini dapat

dilihat pada lampiran 3.

3.4 Perancangan Algoritma

3.4.1. Perancangan Algoritma KNN

Berikut adalah proses jalannya algoritma KNN.

1. Pertama masukkan data kanker payudara

2. Untuk proses sebanyak data kanker payudara, lakukan langkah 3-5

3. Hitung jarak antara data testing dengan data training dengan menggunakan

rumus Euclidean Distance.

4. Bandingkan jarak untuk mendapatkan jarak terdekat yaitu jarak yang

mempunyai nilai terkecil.

5. Setelah mendapatkan jarak terdekat ambil nilai jarak terdekat untuk

mendapatkan nilai klasifikasi.

6. Selesai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

30

3.4.2. Perancangan Algoritma Naïve Bayes

Berikut adalah proses jalannya algoritma Naïve Bayes.

1. Pertama masukkan data kanker payudara.

2. Untuk proses sebanyak data kanker payudara, lakukan langkah 3-6

3. Hitung probabilitas nilai kelas yang ingin dibandingkan.

4. Hitung probabilitas Ketebalan Clump, Keseragaman ukuran sel, Keseragaman

bentuk sel, Adhesi Marginal, Ukuran sel tunggal epitel, Bare Nuclei, Bland

Kromatin, Nukleous Normal, Mitosis.

5. Hitung probabilitas data test dengan mengkalikan seluruh probabilitas kelas data

test, kemudian hasil dari perhitungan probabilitas dibagi jumlah nilai total

probabilitas untuk mendapatkan nilai probabilitas.

6. Bandingkan probabilitas yes dan no, pilih probabilitas yang paling tinggi.

7. Selesai

3.5 Desain Antarmuka Sistem

3.5.1 Halaman Utama

Gambar 3.2 Desain Halaman Utama

Halaman utama merupakan halaman yang muncul pertama kali saat sistem

dijalankan. Halaman ini memiliki menu bar menu dan keluar. Saat menu bar menu

ditekan maka sistem akan menampilkan Gambar 3.4. Saat menu bar keluar ditekan,

maka sistem akan keluar dari program.

Menu Keluar

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

31

Gambar 3.3 Gambar saat menu bar go to ditekan

3.5.2 Halaman Bantuan

Gambar 3.4. Desain Halaman Bantuan

Halaman bantuan merupakan halaman yang membantu pengguna untuk

mengenal sistem dan beberapa informasi tentang menu – menu pada sistem. Sama

seperti halaman utama di halaman bantuan juga terdapat menu bar menu dan keluar.

Saat menu bar menu ditekan maka sistem akan menampilkan Gambar 3.4. Saat menu

bar keluar ditekan, maka sistem akan keluar dari program.

3.5.3 Halaman Klasifikasi

Gambar 3.5 Desain Halaman Klasifikasi

Menu Keluar

Tempat pengguna dapat membaca manual – manual atau

bantuan sistem ini.

Menu Keluar

KNN

Naive Bayes

Proses

Akurasi

Menu

Halaman Beranda

Hitung Perbandingan

Bantuan

Waktu

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

32

Halaman klasifikasi merupakan halaman yang pengguna gunakan untuk

mengklasifikasi data dan melihat akurasi dan waktu prosesnya. Pada halaman ini ada

dua menu bar, tiga radio button, dan satu tombol proses. Saat menu bar menu ditekan

maka sistem akan menampilkan Gambar 3.4. Saat menu bar keluar ditekan, maka sistem

akan keluar dari program. Jika pengguna menekan radio button KNN dan mengklik

tombol proses maka program akan menampilkan akurasi, dan waktu proses dari

algoritma KNN.Jika pengguna menekan radio button Naive Bayes dan mengklik tombol

proses maka program akan menampilkan akurasi, dan waktu proses dari algoritma

Naive Bayes.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

33

BAB IV

IMPLEMENTASI SISTEM

Bab ini berisi tentang hasil penelitian berupa sistem yang dibangun berdasarkan

analisis dan perancangan yang telah dibahas pada bab sebelumnya dan pembahasan

mengenai hasil yang didapatkan. Adapun sistem dibangun dengan software Netbeans

IDE 7.0.1 pada komputer dengan spesifikasi memory 2 GB dan hardisk 465 GB.

4.1 Implementasi Antarmuka Pemakai (User Interface)

Pada subbab ini akan dibahas mengenai implementasi dari sistem yang telah

direncanakan pada bab sebelumnya. Sistem akan mempunyai tiga halaman yaitu (1)

halaman beranda, (2) halaman bantuan, dan (3) halaman hitung perbandingan

4.1.1. Halaman Beranda

Gambar 4.1 Tampilan Halaman Beranda

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

34

Halaman utama merupakan halaman yang muncul pertama kali saat sistem

dijalankan. Halaman ini memiliki menu barmenu dan keluar. Saat menu bar

menuditekan maka sistem akan menampilkan Gambar 4.2. Saat menu bar keluar

ditekan, maka sistem akan keluar dari program.

Gambar 4.2 Tampilan saat menu ditekan

Ketika submenu bar form help ditekan maka akan menampilkan halaman

bantuan seperti Gambar 4.3

4.1.2 Halaman Bantuan

Gambar 4.3 Tampilan Halaman Bantuan

Halaman bantuan merupakan halaman yang membantu pengguna untuk

mengenal sistem dan beberapa informasi tentang menu – menu pada sistem. Sama

seperti halaman utama di halaman bantuan juga terdapat menu bar menudan keluar. Saat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

35

menu bar menu ditekan maka sistem akan menampilkan Gambar 4.2. Saat menu bar

keluar ditekan, maka sistem akan keluar dari program. Saat pengguna menekan

submenu bar pada Gambar 4.2 dan memilih form hitung perbandingan maka akan

menampilkan seperti Gambar 4.4.

4.1.3 Halaman Hitung Perbandingan

Gambar 4.4 Tampilan halaman hitung perbandingan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

36

Gambar 4.5 Tampilan open file

Halaman hitung perbandingan adalah halaman yang digunakan pengguna untuk

mengklasifikasi dan melihat tingkat akurasi dari algoritma. Pada halaman ini pertama-

tama pengguna membuka file yang hendak diklasifikasikan yaitu wisconsin breast

cancer dataset dengan menekan tombol open file kemudian akan tampil kotak dialog

seperti gambar 4.5 kemudian cari file tekan tombol open, selanjutnya isikan jumlah fold

pada edit text jumlah fold ,selanjutnya pilih algoritma yang hendak dipakai dengan

memilih salah satu radio button, kemudian setelah memilih algoritma tekan tombol

proses dan akurasi, dan waktu proses akan ditampilkan.

4.2 Pemrosesan Input

Pada subbab ini akan dibahas beberapa langkah dalam preprocessing dari data

wisconsin breast cancer yang akan dilakukan oleh sistem agar data dapat dimasukkan

ke dalam proses perhitungan klasifikasi. Data yang digunakan adalah data yang

berbentuk teks, agar data teks ini dapat di proses dengan klasifikasi, maka langkah

pertama adalah membaca data teks kemudian menulis ulang data teks ini menjadi data

yang dapat diproses ke dalam sistem klasifikasi.

4.2.1 Membaca Data Teks ke dalam Sistem

Pada bagian ini akan dilakukan pembacaan file teks. Proses pembacaan teks

akan dilakukan perbarisan teks. Langkahnya adalah melakukan perulangan untuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

37

membaca teks dari baris awal sampai dengan baris akhir. Berikut adalah kode

programnya:

public class LineIterator implements Iterable<String>, Iterator<String>,

Closeable {

private BufferedReader in = null;

private String next = null;

Pada kode program diatas dilakukan pengimplementasian untuk melakukan

perulangan sampai baris terakhir. Kemudian setelah itu dilakukan pembacaan teks

perbaris.

private static InputStream stream(File f) {

try {

return new FileInputStream(f);

} catch (FileNotFoundException e) {

throw new RuntimeException(e);

}

}

Pada kode program diatas dilakukan pembacaan teks sesuai dengan file yang

dipilih oleh pengguna.

try {

in = new BufferedReader(reader);

next = in.readLine();

if (next == null) {

in.close(); }

} catch (IOException e) {

throw new RuntimeException(e);

}

Pada kode program diatas dilakukan pembacaan teks perbaris.Kemudian setelah

membaca data teks sistem perlu melakukan penulisan ulang agar isi dari data teks dapat

diproses dengan perhitungan klasifikasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

38

4.2.2 Menulis Ulang Teks di dalam Sistem

Pada tahap ini akan dilakukan penulisan ulang teks yang telah dibaca ke dalam

sistem agar dapat diproses ke dalam klasifikasi KNN dan NB. Langkah – langkah yang

dilakukan yaitu (1) memecah nilai berdasarkan separator, (2) mengubah nilai menjadi

bertipe double untuk kelas pembanding dan string untuk kelas yang dibandingkan, hal

ini dilakukan agar nilai dapat dimasukkan ke dalam proses perhitungan klasifikasi, dan

(3) menyimpan ke dalam kelas dataset.

Langkah pertama adalah memecah nilai berdasarkan pemisahnya (separator).

Berikut adalah kode programnya:

Dataset out = new DefaultDataset();

//simpan ke out

for (String line : it) {

String[] arr = line.split(separator);

//proses pemisahan value dengan separator

double[] values;

//untuk menyimpan value

Pada kode program ini langkah pertama yang dilakukan adalah membuat tempat

penyimpanan untuk data yang telah ditulis ulang yaitu pada out. Kemudian dilakukan

perulangan sebanyak baris pada data, dan dilakukan pemisahan berdasarkan separator

dengan perintah split dan menyimpannya pada string array yaitu arr, kemudian

membuat media penyimpanan untuk nilai kelas pembanding yang akan diubah menjadi

bertipe double ke dalam double array yaitu values.

Langkah kedua adalah mengubah nilai menjadi bertipe double untuk kelas

pembanding dan string untuk kelas yang dibandingkan untuk melakukan hal ini yang

pertama dilakukan adalah melakukan perulangan sebanyak baris yang dipisah (split).

Selama melakukan perulangan masukkan nilai sesuai indexnya dengan ketentuan index

ke-0 adalah nilai kelas yang dibandingkan dan index selanjutnya adalah nilai yang

dibandingkan kemudian menggabungkan kembali menjadi sebuah array yang berisi

nilai kelas yang dibandingkan dan kelas pembanding.

String classValue = null;

// karena classValue adalah string yes atau no

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

39

for (int i = 0; i < arr.length; i++) {

if (i == classIndex) {

//jika i=classValue

classValue = arr[i];

// simpan ke classValue

} else {

double val;

try {

val = Double.parseDouble(arr[i]);

} catch (NumberFormatException e) {

val = Double.NaN;

}

if (classIndex != -1 && i > classIndex)

values[i - 1] = val;

else

values[i] = val;

}

}

out.add(new DenseInstance(values, classValue));

}

return out;

}

Pada kode program diatas dilakukan perulangan sebanyak baris yang dipisah –

pisah kemudian untuk kelas index yang ke-0 disimpan ke dalam string yaitu kelas value

dan kelas index sisanya dikonversi menjadi double, kemudian disimpan di array double

yaitu values dan terakhir nilai kelas pembanding dan kelas yang dibandingkan

ditambahkan ke kelas dense instance untuk kemudian nantinya menjadi data yang

dipakai untuk melakukan perhitungan klasifikasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

40

4.3 Implementasi Algoritma pada Sistem

Pada subbab ini akan dibahas beberapa pengimplementasian dari algoritma ke

dalam sistem. Pengimplementasian yang dibahas, yaitu (1) algoritma K-Nearest

Neighbor, (2) algoritma Naïve Bayes, dan (3) teknik Cross Validation.

4.3.1 Algoritma K-Nearest Neighbor

Pada bagian ini akan dijelaskan beberapa langkah untuk melakukan klasifikasi

dengan KNN menggunakan data yang telah di preprocessing. Beberapa langkahnya

yaitu, (1) menghitung jarak kemiripan (similarity) antara data training dengan data test

dengan menggunakan rumus euclidean distance, (2) membandingkan jarak kemiripan

(similarity) untuk mendapatkan tetangga terdekat (nearest neighbor), dan (3)

Mengambil nilai kelas dari tetangga terdekat (nearest neighbor) untuk dijadikan sebagai

nilai hasil klasifikasi.

4.3.1.1 Menghitung Euclidean Distance

Hal pertama yang dilakukan klasifikasi KNN adalah menghitung jarak

kemiripan (similarity), untuk menghitung jarak kemiripan (similarity) sistem

menggunakan perhitungan euclidean distance. Langkah pertama adalah memastikan

bahwa data testing dan training adalah data angka, kemudian barulah sistem akan

menghitung jarak kemiripan (similarity) data testing dan training dengan menggunakan

rumus euclidean distance, berikut adalah cuplikan kodingnya:

if (!Double.isNaN(y.value(i)) && !Double.isNaN(x.value(i)))

// isNan adalah Not a Number

sum += (y.value(i) - x.value(i)) * (y.value(i) - x.value(i));

}

return Math.sqrt(sum);

// kembalikan nilai akar dari sum

}

Setelah membuat method euclidean distance, langkah selanjutnya adalah

membuat method untuk membandingkan antar jarak untuk mendapatkan jarak yang

terdekat (nearest neighbor).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

41

4.3.1.2 Membandingkan Jarak Terdekat (Nearest Neighbor)

Langkah kedua adalah membandingkan jarak kemiripan (similarity) dari semua

data yang telah dihitung menggunakan rumus euclidean distance untuk mendapatkan

jarak terdekat (nearest neighbor). Langkah pertama adalah dengan membuat suatu

tempat untuk menyimpan nilai jarak terdekat ke dalam sebuah map, berikut adalah

source code-nya:

Map<Instance, Double> closest = new HashMap<Instance, Double>();

// untuk menyimpan instance dan nilai jarak terdekat

double max = dm.getMaxValue();

Selanjutnya untuk setiap data kanker lakukan perhitungan jarak euclidean

distance antara data yang dites dengan data yang di-training dengan memanggil method

euclidean distance yang telah dibuat sebelumnya.

for (Instance tmp : this) {

// perulangan dilakukan sebanyak dataset

double d = dm.UkurdgnEuclid(inst, tmp);

// hitung dengan euclidean distance

Kemudian lakukan perbandingan antar jarak terdekat untuk mendapatkan jarak

yang paling dekat. Untuk mendapatkan jarak yang paling dekat (nearest neighbor) ada

beberapa langkah yaitu (1) menyimpan semua hasil perhitungan euclidean distance ke

sebuah hashmap, (2) mengurutkan jarak dari terdekat ke terjauh, dan (3) menghapus

jarak terjauh dan mengambil jarak terdekat sesuai k yang telah ditentukan.

if (dm.compare(d, max) && !inst.equals(tmp)) {

// Cek jika sudah dicompare

closest.put(tmp, d);

// masukkan jarak terdekat

Pada kode program di atas sistem akan mengecek jika jarak sudah didapatkan,

jika ya maka akan dimasukkan ke dalam hashmap, kemudian setelah itu agar jumlah

jarak terdekat sesuai dengan k yang telah ditentukan maka jarak yang terjauh akan

dihapus.

if (closest.size() > k)

// jika jumlah jarak terdekat melebihi k

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

42

max = removeFarthest(closest,dm); }}

// hapus jarak terjauh

return closest.keySet();}

Pada kode program diatas jika jumlah jarak terdekat melebihi k maka sistem

akan menghapus jarak terjauh sehingga sistem akan mengambil jarak terdekat sesuai

dengan k yang telah ditentukan. Dan kode program di bawah ini adalah untuk

menghapus jarak terjauh.

private double removeFarthest(Map<Instance, Double> vector,DistanceMeasure

dm) {

Instance tmp = null;

double max = dm.getMinValue();

for (Instance inst : vector.keySet()) {

double d = vector.get(inst);

if (dm.compare(max,d)) {

max = d;

tmp = inst;

}

}

vector.remove(tmp);

return max;

}

Pada kode program di atas sistem akan mengurutkan jarak terdekat dan akan

menghapus jarak yang paling jauh.

Setelah jarak terdekat didapatkan maka langkah selanjutnya adalah menentukan

nilai hasil klasifikasi dengan mengambil nilai dari data yang merupakan data yang

memiliki jarak terdekat.

4.3.1.3 Mengambil Nilai Jarak Terdekat

Untuk mendapatkan nilai hasil klasifikasi maka dilakukan pengambilan nilai

dari data yang merupakan data yang memiliki jarak yang paling dekat. Langkah pertama

sistem akan memanggil method untuk membandingkan jarak terdekat, kenudian untuk

semua nilai data training diset nol (0), tetapi khusus untuk jarak terdekat sistem akan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

43

menambah satu (+1) pada nilai yang dimiliki oleh jarak terdekat. Penambahan nilai satu

pada value yang dimiliki jarak terdekat bertujuan agar pada saat perbandingan

probabilitas sistem akan memilih atau mengambil nilai yang dimiliki oleh jarak terdekat

sebagai nilai hasil dari klasifikasi. Berikut adalah kode programnya:

Set<Instance> neighbors = training.kNearest(k, instance, dm);

// menyimpan hasil jarak terdekat

/* Membangun kelas distribusi */

HashMap<Object, Double> out = new HashMap<Object, Double>();

// menyimpan hasil klasifikasi

for (Object o : training.classes()){

// Selama o bagian dari data training

out.put(o, 0.0);

// set nilai kelasnya menjadi 0

for (Instance i : neighbors) {

// selama I bagian dari jarak terdekat

out.put(i.classValue(), out.get(i.classValue()) + 1);

//set nilai kelas menjadi 1

}

return out;

// kembalikan nilai out

Setelah didapatkan nilai satu untuk nilai kelas yang dibandingkan maka sistem

akan membandingkan nilai tersebut untuk menentukan hasil akhir klasifikasi. Berikut

adalah kode program untuk membandingkan nilai.

public Object classify(Instance instance) {

Map<Object, Double> distribution = KelasDistribusi(instance);

double max = 0;

Object out = null;

for (Object key : distribution.keySet()) {

if (distribution.get(key) > max) {

max = distribution.get(key);

out = key;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

44

}

}

return out;

}

Pada method ini sistem akan membandingkan nilai kelas yang telah diberi bobot

pada method KelasDistribusi(), misalnya: nilai jarak terdekat adalah yes maka yes akan

diberi nilai 1 dan no akan diberi nilai 0 maka method ini akan mengeluarkan yes sebagai

hasil dari klasifikasi.

4.3.2 Algoritma Naive Bayes

Dalam implementasi algoritma ini akan dijelaskan beberapa proses dalam

perhitungan Naive Bayes dalam klasifikasi teks. Langkah – langkah yang dilakukan

dalam proses klasifikasi teks dengan Naïve Bayes adalah (1) menghitung frekuensi

kelas, baik kelas yang dibandingkan maupun kelas pembanding, (2) menghitung

probabilitas kelas, baik kelas yang dibandingkan maupun kelas pembanding, (3)

menghitung nilai likelihood dengan mengkalikan semua probabilitas kelas, (4)

menormalisasikan nilai likehood ke dalam bentuk probabilitas, dan (5) membandingkan

nilai probabilitas likehood dan nilai yang tertinggi dijadikan hasil akhir dari klasifikasi.

4.3.2.1 Menghitung Frekuensi Kelas

Langkah pertama adalah menghitung frekuensi kelas. Frekuensi disini adalah

banyaknya sebuah data dalam kategori tertentu, penulis mengambil contoh untuk data

buys_computer yang telah dibahas di bab sebelumnya adalah banyaknya pembeli

berusia 30 tahun yang membeli komputer atau banyaknya pembeli yang masih pelajar

yang membeli komputer dan seterusnya.

Langkah pertama adalah menyimpan nilai dari frekuensi kelas kedalam sebuah

array double.

double[] FrekuensiKelas = new double[numClasses];

// menyimpan jumlah frekuensi kelas

Kemudian pada bagian selanjutnya dilakukan perulangan sebanyak jumlah kelas

yang dimiliki oleh data kanker, kemudian setting nilai frekuensi kelas menjadi 0.

for (int i = 0; i < numClasses; i++) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

45

FrekuensiKelas[i] = 0;

// setting frekuensi kelas menjadi 0 }

Selanjutnya dilakukan perulangan untuk setiap data yang muncul sesuai dengan

kategori tertentu yang dipanggil maka frekuensi kelas akan otomatis bertambah 1.

for (Instance inst : Instances2Train) {

FrekuensiKelas[Classname2IndexCCountermap.get(inst.classValue())]++;

}

return FrekuensiKelas;

}

Pada kode program di atas sistem akan menambahkan satu setiap ada kelas

pembanding yang muncul hal ini dapat dilakukan karena

Classname2IndexCCountermap bisa mendeteksi kepemilikan kelas pada nilai kelas

pembanding sehingga ketika nilai keluar maka pada kelas pemilik sistem akan

menambahkan nilai satu.

for (Object o : trainingData.classes()) {

String classname = o.toString();

Classname2IndexCCountermap.put(classname, cnt);

classes[cnt] = classname;

cnt++;

}

Pada kode program diatas sistem membuat nama untuk setiap nilai kelas

pembanding pada setiap data training, sehingga ketika dipanggil sistem akan menambah

nilai frekuensi kelas data tersebut.

Kemudian langkah selanjutnya adalah menghitung probabilitas masing-masing

kelas.

4.3.2.2 Menghitung Probabilitas Kelas

Langkah kedua adalah menghitung probabilitas kelas dari masing – masing

kelas. Dalam proses klasifikasi naive bayes perhitungan probabilitas kelas dihitung

dengan menggunakan rumus sebagai berikut:

P(Wk|Vj)= Nk+1

N+|vocabulary|

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

46

Rumus tersebut yang akan diimplementasikan dalam kode program ini. Langkah

pertama adalah membuat sebuah array untuk menyimpan nilai frekuensi dan

probabilitas, kemudian lakukan iterasi sebanyak jumlah kelas lakukan perhitungan

probabilitas. Berikut adalah kode programnya:

private double[] HitungProbsKelas() {

double[] probs = trainResult.getClassFreqs().clone();

// menyimpan probabilitas kelas

double[] freq = trainResult.getClassFreqs().clone();

for (int k = 0; k < numClasses; k++) {

probs[k] = (freq[k] + 1) / (numInstances + numClasses);

}

return probs;

}

4.3.2.3 Menghitung Kelas Distribusi Naïve Bayes

Langkah ketiga adalah menghitung probabilitas likehood dari naive bayes

dengan mengkalikan semua probabilitas kelas, kemudian menormalisasi hasil likehood

ke dalam bentuk probabilitas, dan kemudian membandingkan probabilitas kelas yang

dibandingkan untuk mendapatkan hasil akhir dari klasifikasi. Yang pertama dilakukan

adalah membuat suatu tempat penyimpanan atau map untuk menyimpan nilai frekuensi,

fitur tabel dan menyimpan hasil klasifikasi.

HashMap<Object, Double> out = new HashMap<Object,

Double>(numClasses);

// menyimpan hasil klasifikasi

Hashtable<Integer, Hashtable<Double, ClassCounter>> featureName_HT =

trainResult.getFeatureTable();

// menyimpan fitur tabel

double[] freq = trainResult.getClassFreqs().clone();

double total = 0;

Kemudian langkah selanjutnya adalah menghitung probabilitas nilai kelas yang

akan dibandingkan (yes atau no) dengan menggunakan rumus:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

47

P(yes/no) = |doc j|

|Contoh|

for (int k = 0; k < numClasses; k++) {

double denominator = freq[k];

double classScore2 = freq[k]/numInstances;

Pada bagian kode program diatas adalah implementasi dari hitung probabilitas

nilai kelas yang akan dibandingkan dan akan diulang sebanyak jumlah kelas dalam

kasus ini diulang dua kali karena kelas yang dibandingkan adalah dua (yes dan no).

Kemudian setelah menghitung probabilitas nilai kelas selanjutnya sistem akan

menghitung nilai dari kelas pembanding lainnya dengan menggunakan rumus:

P(Wk|Vj)= Nk+1

N+|vocabulary|

Kemudian mengkalikan seluruh probabilitas kelas pembanding untuk kategori

yes dan no untuk mendapatkan likelihood yang nantinya akan dibandingkan.

for (Object key : featureName_HT.keySet()) {

int featureName = (Integer) key;

int numValues = featureName_HT.get(featureName).size();

Double featureValue = getInstValue(featureName, inst);

double numerator = featureName_HT.get(featureName).get(

featureValue).getCountClass(k);

// Laplace correction

classScore2 *= (numerator+1)/(denominator+numValues);

}

Pada bagian ini sistem menghitung probabilitas kelas pembanding yang muncul

dan mengkalikan seluruhnya untuk mendapatkan nilai likelihood, kemudian sistem

menormalisasi nilai likelihoss agar berbentuk probabilitas dengan cara likelihood yes

ataupun no dibagi hasil total dari penjumlahan hasil perkalian likelihood yes dan no.

out.put(classes[k], classScore2);

total = total +classScore2;

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

48

for (int l = 0; l < classes.length; l++) {

double classScore2 = out.get(classes[l]);

out.put(classes[l], classScore2/total);

}

return out;

}

Kemudian setelah mendapat nilai probabilitas barulah dibandingkan, kemudian

sistem akan mengembalikan nilai probabilitas tertinggi sebagai hasil akhir klasifikasi.

public Object classify(Instance instance) {

Map<Object, Double> distribution = KelasDistribusi(instance);

double max = 0;

Object out = null;

for (Object key : distribution.keySet()) {

if (distribution.get(key) > max) {

max = distribution.get(key);

out = key;

}

}

return out;

}

4.3.3 Teknik Cross Validation

Teknik cross validation digunakan untuk memvalidasi keakuratan dari suatu

klasifikasi. Pada bagian ini akan dijelaskan beberapa proses dalam melakukan evaluasi

dengan cross validation.

4.3.3.1 Menghitung Evaluasi Cross Validation

Untuk mengevaluasi klasifikasi dengan teknik cross validation ada beberapa

langkah yaitu (1) melakukan perulangan sebanyak jumlah fold kemudian selama

perulangan tersebut lakukan pengambilan satu data sebagai data validasi dan sisanya

sebagai data latih / training, (2) Lakukan klasifikasi pada data training dengan KNN

atau NB, (3) Tentukan true positif, true negative, false positif, dan false negative.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

49

Langkah pertama yang dilakukan adalah membuat suatu tempat penyimpanan data

untuk validasi dan data untuk training.

for (int i = 0; i < numFolds; i++) {

Dataset validation = folds[i];

// untuk menyimpan data validasi

Dataset training = new DefaultDataset();

// untuk menyimpan data training

Pada kode program diatas perulangan dilakukan untuk mengambil data untuk

dijadikan data validasi untuk setiap perulangan, dan perulangan dilakukan sebanyak

jumlah fold yang diinginkan, kemudian setelah pengambilan data validasi sisa data nya

dijadikan sebagai data training.

for (int j = 0; j < numFolds; j++) {

if (j != i)

training.addAll(folds[j]); }

classifier.buildClassifier(training);

Pada kode program diatas perulangan digunakan untuk mengambil semua data

kecuali data yang dijadikan sebagai data validasi. Kemudian melatihnya dengan

klasifikasi yang diinginkan. Selanjutnya menentukan jumlah benar yang positif (true

positif), jumlah benar yang negatif (true negative), jumlah salah yang positif (false

positif) dan jumlah salah yang negatif (false negative).

Pada bagian ini dilakukan pengecekan pada data yang dijadikan validasi dan

dicocokan dengan data yang telah di-training. Langkah pertama adalah menjalankan

proses klasifikasi

for (Instance instance : validation) {

// Selama instance bagian dari validation

Object prediction = classifier.classify(instance);

Kemudian setelah proses dijalankan maka pengecekan dimulai dari klasifikasi

yang bernilai benar terlebih dahulu.

if (instance.classValue().equals(prediction)) {

// jika prediksi sesuai dengan kelas maka

for (Object o : out.keySet()) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

50

// Selama o bagian dari out.keySet()

if (o.equals(instance.classValue())) {

// jika o sama dengan nilai kelas

out.get(o).tp++;

} else {

out.get(o).tn++;

}}

Pada bagian ini sistem mengecek apabila klasifikasi benar yaitu nilai data

validasi dan nilai data yang di-training sama, maka selanjutnya jika data yang benar

bernilai positif maka tp++ , dan jika data yang benar bernilai negative maka tn++.

Kemudian sistem akan mengecek hasil klasifikasi yang salah.

} else {// jika prediksi tidak sama dengan kelas

for (Object o : out.keySet()) {

// Selama o bagian dari out.keyset

if (prediction.equals(o)) {

out.get(o).fp++;

}

/* instance is positive class */

else if (o.equals(instance.classValue())) {

out.get(o).fn++; }

/* none is positive class */

else {

out.get(o).tn++; }

} } } }

return out; //kembalikan nilai out/hasil

}

Pada bagian ini sistem akan mengecek apabila klasifikasi yang salah yaitu jika

data validasi bernilai yes sedangkan data yang di-training bernilai no dan sebaliknya.

Jika data yang salah bernilai positif maka fp++, dan jika data yang salah bernilai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

51

negative maka fn++. Setelah nilai tp, tn, fp, dan fn udah dihitung langkah selanjutnya

menentukan parameter yaitu akurasi.

4.3.3.2 Menghitung Akurasi

Untuk mengetahui akurasi atau frekuensi benar dari sebuah klasifikasi maka

perlu dihitung akurasinya. Langkahnya adalah dengan menjumlahkan true positif

dengan true negative kemudian membaginya dengan total seluruh data klasifikasi.

Misalkan: a= jumlah klasifikasi positif benar (true positif)

b= jumlah klasifikasi negative benar (true negative)

c= jumlah total seluruh data

Maka : (a+b)/c

Berikut adalah kode program yang mengimplementasikan akurasi:

public double getAkurasi() {

return (this.tp + this.tn) / this.getTotal();}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

52

BAB V

ANALISIS HASIL

5.1 Analisis Hasil Penambangan Data

Proses penambangan data pada penelitian ini dilakukan dengan

menggunakan sistem yang telah dibangun. Oleh karena itu, untuk memastikan bahwa

sistem sudah menerapkan algoritma dengan tepat maka perlu dilakukan perbandingan

hasil antara sistem yang dibangun dan sistem lain. Sistem yang dipilih untuk digunakan

sebagai pembanding adalah Weka 3.7 dengan ketentuan memakai 3, 5, 10, 15, dan 20

fold cross validation. Ada alasan yang menjadi dasar pemilihan 3, 5, 10, 15, dan 20 fold

cross validation karena menurut Witten, Ian H, dan Frank, Eibe (2005) 10 fold

memberikan hasil prediksi terbaik dalam percobaan dengan beragam data dan beragam

algoritma sehingga 10 fold menjadi standar dalam melakukan pengujian tetapi pendapat

ini masih sering didebatkan oleh karena itu penulis juga menambahkan 3, 5, 15 dan 20

fold dengan harapan mendapatkan fold yang menghasilkan akurasi yang paling baik.

Gambar 5.1 Screenshot KNN dengan 3-fold cross validation dengan

menggunakan sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

53

Gambar 5.2 Screenshot Naive bayes dengan 3-fold cross validation dengan

menggunakan program weka

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

54

Gambar 5.3 Screenshot KNN dengan 5-fold cross validation dengan

menggunakan sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

55

Gambar 5.2 Screenshot KNN dengan 5-fold cross validation dengan

menggunakan program weka.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

56

Gambar 5.4 Screenshot KNN dengan 10-fold cross validation dengan

menggunakan sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

57

Gambar 5.5 Screenshot KNN dengan 10-fold cross validation dengan

menggunakan program weka.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

58

Gambar 5.6 Screenshot KNN dengan 15-fold cross validation dengan

menggunakan sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

59

Gambar 5.7 Screenshot Naive bayes dengan 15-fold cross validation dengan

menggunakan program weka

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

60

Gambar 5.8 ScreenshotKNN dengan 20-fold cross validation dengan

menggunakan sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

61

Gambar 5.9 Screenshot KNN dengan 20-fold cross validation dengan

menggunakan program weka

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

62

Gambar 5.10 Screenshot KNN dengan 3-fold cross validation dengan

menggunakan sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

63

Gambar 5.11 Screenshot Naive bayes dengan 3-fold cross validation dengan

menggunakan program weka

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

64

Gambar 5.12 Screenshot Naive bayes dengan 5-fold cross validation dengan

menggunakan sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

65

Gambar 5.13 Screenshot Naive bayes dengan 5-fold cross validation dengan

menggunakan program weka

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

66

Gambar 5.14 Screenshot Naive bayes dengan 10-fold cross validation dengan

menggunakan sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

67

Gambar 5.15 Screenshot Naive bayes dengan 10-fold cross validation dengan

menggunakan program weka.

Gambar 5.16 Screenshot KNN dengan 15-fold cross validation dengan

menggunakan sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

68

Gambar 5.18 Screenshot Naive bayes dengan 15-fold cross validation dengan

menggunakan program weka.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

69

Gambar 5.19 Screenshot Naive bayes dengan 20-fold cross validation dengan

menggunakan sistem

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

70

Gambar 5.20 Screenshot Naive bayes dengan 20-fold cross validation dengan

menggunakan program weka.

Setelah dilakukan percobaan dengan sistem dan weka menggunakan 3, 5, 10, 15

dan 20 fold cross validation maka dapat dihasilkan tabel 5.1.

Tabel 5.1 Tabel akurasi sistem dan weka

Algoritma Fold Akurasi Sistem Waktu Proses Akurasi Weka

KNN 3-fold 95.5% 324 ms 95.4%

5-fold 96.2% 340 ms 95.7%

10-fold 95.8% 385 ms 95.7%

15-fold 95.6% 391 ms 95.6%

20-fold 95.8% 409 ms 95.3%

Naive

Bayes

3-fold 97.5% 58 ms 96.1%

5-fold 97.5% 77 ms 96.3%

10-fold 97.7% 142 ms 96.3%

15-fold 97.5% 192 ms 96.1%

20-fold 97.5% 265 ms 96.1%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

71

Dari tabel diatas dapat diketahui bahwa jumlah fold dapat mempengaruhi hasil

akurasi, dan dari tabel diatas hasil akurasi sistem dapat terbukti sama dengan weka

dengan tingkat kecocokan kurang lebih 99%.

5.2 Analisa Hasil

Pada subbab ini akan dibahas tiga hal yaitu (1) analisa akurasi, dan (2) analisa

waktu proses, dan (3) analisa dengan penelitian terdahulu.

5.2.1 Analisa Akurasi

Pada penelitian ini evaluasi klasifikasi dilakukan sebanyak lima kali, yaitu

dengan (1) 3-fold cross validation, (2) 5-fold cross validation, (3) 10-fold cross

validation, (4) 15-fold cross validation, dan (5) 20-fold cross validation dengan

menggunakan data wisconsin diagnosis breast cancer.

Pada percobaan pertama penulis menguji akurasi perhitungan klasifikasi naïve

bayes dan k-nearest neighbor dengan menggunakan evaluasi 3-fold cross validation,

pada k-nearest neighbor akurasi yang dihasilkan adalah sebesar 95.5%, dan pada naïve

bayes akurasi yang dihasilkan adalah sebesar 97.5%. Maka pada percobaan dengan

menggunakan 3-fold cross validation naïve bayes terbukti akurasinya lebih tinggi bila

dibandingkan k-nearest neighbor.

Pada percobaan kedua penulis menguji akurasi perhitungan klasifikasi naïve

bayes dan k-nearest neighbor dengan menggunakan evaluasi 5-fold cross validation,

pada k-nearest neighbor akurasi yang dihasilkan adalah sebesar 96.2%, dan pada naïve

bayes akurasi yang dihasilkan adalah sebesar 97.5%. Maka pada percobaan dengan

menggunakan 5-fold cross validation naïve bayes terbukti akurasinya lebih tinggi bila

dibandingkan k-nearest neighbor.

Pada percobaan ketiga penulis menguji akurasi perhitungan klasifikasi naïve

bayes dan k-nearest neighbor dengan menggunakan evaluasi 10-fold cross validation,

pada k-nearest neighbor akurasi yang dihasilkan adalah sebesar 95.8%, dan pada naïve

bayes akurasi yang dihasilkan adalah sebesar 97.7%. Maka pada percobaan dengan

menggunakan 10-fold cross validation naïve bayes terbukti akurasinya lebih tinggi bila

dibandingkan k-nearest neighbor.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

72

Pada percobaan keempat penulis menguji perhitungan klasifikasi naïve bayes

dan k-nearest neighbor dengan menggunakan evaluasi 15-fold cross validation, pada k-

nearest neighbor akurasi yang dihasilkan adalah sebesar 95.6%, dan pada naïve bayes

akurasi yang dihasilkan adalah sebesar 97.5%. Maka pada percobaan dengan

menggunakan 15-fold cross validation naïve bayes terbukti akurasinya lebih tinggi bila

dibandingkan k-nearest neighbor.

Pada percobaan kelima penulis menguji perhitungan klasifikasi naïve bayes dan

k-nearest neighbor dengan menggunakan evaluasi 20-fold cross validation, pada k-

nearest neighbor akurasi yang dihasilkan adalah sebesar 95.8%, dan pada naïve bayes

akurasi yang dihasilkan adalah sebesar 97.5%. Maka pada percobaan dengan

menggunakan 20-fold cross validation naïve bayes terbukti akurasinya lebih tinggi bila

dibandingkan k-nearest neighbor.

Maka dari kelima percobaan yang telah dilakukan penulis dapat disimpulkan

bahwa akurasi perhitungan klasifikasi naïve bayes lebih tinggi bila dibandingkan

klasifikasi k-nearest neighbor untuk studi data wisconsin diagnosis breast cancer.

Hal ini dapat dikarenakan oleh data wisconsin diagnosis breast cancer memiliki

atribut yang beberapa tidak saling berhubungan, sehingga pada proses perhitungan

algoritma naïve bayes lebih unggul karena perhitungan klasifikasi naïve bayes bersifat

independen sedangan k-nearest neighbor bersifat dependen.

5.2.2 Analisa Waktu Proses

Pada penelitian ini evaluasi waktu proses dilakukan sebanyak lima kali, yaitu

dengan (1) 3-fold cross validation, (2) 5-fold cross validation, (3) 10-fold cross

validation, (4) 15-fold cross validation, dan (5) 20-fold cross validation dengan

menggunakan data wisconsin diagnosis breast cancer.

Pada percobaan pertama penulis menguji akurasi perhitungan klasifikasi naïve

bayes dan k-nearest neighbor dengan menggunakan evaluasi 3-fold cross validation,

pada k-nearest neighbor waktu proses yang diperlukan untuk melakukan klasifikasi ini

adalah 324 ms, dan pada naïve bayes waktu proses yang diperlukan adalah 58 ms. Maka

pada percobaan dengan menggunakan 3-fold cross validation naïve bayes terbukti

bahwa waktu prosesnya lebih cepat bila dibandingkan k-nearest neighbor.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

73

Pada percobaan kedua penulis menguji akurasi perhitungan klasifikasi naïve

bayes dan k-nearest neighbor dengan menggunakan evaluasi 5-fold cross validation,

pada k-nearest neighbor waktu proses yang diperlukan untuk melakukan klasifikasi ini

adalah 340 ms, dan pada naïve bayes waktu proses yang diperlukan adalah 77 ms. Maka

pada percobaan dengan menggunakan 5-fold cross validation naïve bayes terbukti

bahwa waktu prosesnya lebih cepat bila dibandingkan k-nearest neighbor.

Pada percobaan ketiga penulis menguji akurasi perhitungan klasifikasi naïve

bayes dan k-nearest neighbor dengan menggunakan evaluasi 10-fold cross validation,

pada k-nearest neighbor waktu proses yang diperlukan untuk melakukan klasifikasi ini

adalah 385 ms, dan pada naïve bayes waktu proses yang diperlukan adalah 142 ms.

Maka pada percobaan dengan menggunakan 10-fold cross validation naïve bayes

terbukti bahwa waktu prosesnya lebih cepat bila dibandingkan k-nearest neighbor.

Pada percobaan keempat penulis menguji akurasi perhitungan klasifikasi naïve

bayes dan k-nearest neighbor dengan menggunakan evaluasi 15-fold cross validation,

pada k-nearest neighbor waktu proses yang diperlukan untuk melakukan klasifikasi ini

adalah 391 ms, dan pada naïve bayes waktu proses yang diperlukan adalah 192 ms.

Maka pada percobaan dengan menggunakan 15-fold cross validation naïve bayes

terbukti bahwa waktu prosesnya lebih cepat bila dibandingkan k-nearest neighbor.

Pada percobaan kelima penulis menguji akurasi perhitungan klasifikasi naïve

bayes dan k-nearest neighbor dengan menggunakan evaluasi 20-fold cross validation,

pada k-nearest neighbor waktu proses yang diperlukan untuk melakukan klasifikasi ini

adalah 409 ms, dan pada naïve bayes waktu proses yang diperlukan adalah 265 ms.

Maka pada percobaan dengan menggunakan 20-fold cross validation naïve bayes

terbukti bahwa waktu prosesnya lebih cepat bila dibandingkan k-nearest neighbor.

Maka dari kelima percobaan yang telah dilakukan penulis dapat disimpulkan

bahwa kecepatan perhitungan klasifikasi naïve bayes lebih tinggi bila dibandingkan

klasifikasi k-nearest neighbor untuk studi data wisconsin diagnosis breast cancer.

Hal ini dikarenakan oleh kompleksitas algoritma KNN lebih kompleks bila

dibandingkan Naïve Bayes. Berikut merupakan tabel operasi dasar dari kedua algoritma

dengan N adalah jumlah data keseluruhan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

74

Tabel 5.2 Tabel perhitungan jumlah operasi dasar algoritma K-Nearest Neighbor

No. Operasi Dasar KNN Jumlah iterasi

1. Penghitungan tingkat kemiripan dengan euclidean distance N kali

2 Pembandingan tingkat kemiripan untuk menentukan jarak

terdekat

N kali

3. Mengambil nilai jarak terdekat untuk menjadi nilai

klasifikasi

1 kali

Total 2N + 1 kali

Tabel 5.3 Tabel perhitungan jumlah operasi dasar algoritma Naïve Bayes

No. Operasi Dasar NB Naïve Bayes Jumlah iterasi

1. Menghitung probabilitas kelas yang dibandingkan 1 kali

2 Menghitung probabilitas kelas pembanding 1 kali

3. Menghitung likelihood dengan mengkalikan probabilitas

kelas yang dibandingkan dengan nilai kelas pembanding

1 kali

4. Menormalisasikan ke dalam bentuk probabilitas 1 kali

Total 4 kali

Dari tabel diatas dapat dilihat dan diambil kesimpulan bahwa operasi dasar

algoritma KNN lebih kompleks jika dibandingkan dengan algoritma Naïve Bayes dan

berdampak pada waktu proses kedua algoritma, sehingga menyebabkan algorima KNN

membutuhkan waktu proses lebih lama dibandingkan algoritma K-Nearest Neighbor.

5.3.3 Analisa dengan Penelitian Terdahulu yang Relevan

Penelitian perbandingan algoritma antara k-nearest neighbor sebelumnya telah

diteliti dengan data yang berbeda – beda dan menghasilkan hasil yang berbeda – beda

juga.

Beberapa antara lain pada penelitian oleh Riyan Eko Putri dkk (2014) dalam

jurnal berjudul „Perbandingan Metode Klasifikasi Naïve Bayes dan K-Nearest Neighbor

pada Analisis Data Status Kerja di Kabupaten Demak tahun 2012‟ berdasarkan hasil

perhitungan dengan menggunakan data status kerja di Kabupaten Demak tahun 2012

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

75

ditemukan bahwa akurasi K-Nearest Neighbor lebih unggul bila dibandingkan Naïve

Bayes dengan akurasi K-Nearest Neighbor sebesar 96% dan Naïve Bayes sebesar 94%.

Raviya dan Gajjar (2013) melakukan perbandingan tiga metode klasifikasi yaitu

Decision Tree, Naïve Bayes dan KNN dan menemukan bahwa hasil akurasi metode

Decision Tree dan KNN memperoleh nilai yang sama yaitu 63.7% sedangkan Naïve

Bayes memperoleh nilai 37.1%.

Dedy Santoso dkk (2013) melakukan penelitian membandingkan kinerja metode

Naïve Bayes, K-Nearest Neighbor dan metode gabungan K-Means dan LVQ dalam

pengkategorian buku komputer bahasa Indonesia berdasarkan judul dan sinopsis. Pada

penelitian ini ditemukan bahwa hasil akurasi Naïve Bayes lebih unggul dibandingkan

KNN dengan akurasi untuk Naïve Bayes sebesar 98% dan untuk KNN sebesar 96%.

Cahyo Darujati (2010) dalam jurnalnya berjudul Perbandingan Klasifikasi

Dokumen Teks menggunakan Metode Naïve Bayes dengan K-Nearest Neigtbor

menemukan bahwa Naïve Bayes kinerjanya lebih baik dari K-Nearest Neighbor dalam

pengklasifikasian dokumen teks.

Dari penelitian yang dilakukan sebelumnya dapat disimpulkan bahwa

perbandingan algoritma KNN dengan Naïve Bayes dapat menghasilkan hasil yang

berbeda – beda tergantung masukan yang diberikan dan pada penelitian ini penulis

melakukan penelitian dengan masukan data wisconsin diagnosis breast cancer dan

menemukan bahwa untuk data tersebut terbukti bahwa Naïve Bayes lebih baik

dibandingkan KNN.

5.3 Kelebihan dan Kekurangan Sistem

Pada subbab ini penulis akan membahas tentang kelebihan dan kekurangan dari

sistem yang dibangun oleh penulis.

5.3.1 Kelebihan Sistem

Kelebihan dari sistem yang dibangun adalah sebagai berikut:

1. Pengguna dapat memasukkan jumlah fold secara manual.

2. Bagi pengguna yang masih awam sistem yang dibangun sangat mudah untuk

digunakan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

76

3. Sistem yang dibangun tidak menggunakan database atau media penyimpanan lain.

Data yang dimasukkan/di-input oleh pengguna disimpan dalam memori RAM,

sehingga sistem akan bekerja lebih cepat dan lebih hemat memori.

4. Sistem mudah untuk diperbarui atau di update.

5. Menggunakan java sehingga dapat digunakan dengan mudah.

5.3.2 Kekurangan Sistem

Kekurangan dari sistem yang dibangun adalah sebagai berikut:

1.Hanya dapat mengklasifikasi data dengan algoritma KNN dan Naive Bayes,

2.Hanya dapat memproses data wisconsin breast cancer.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

77

BAB VI

PENUTUP

6.1 Kesimpulan

Kesimpulan yang dapat diambil dari penelitian analisa perbandingan algoritma

Naïve Bayes dan KNN untuk studi data “Wisconsin Diagnosis Breast Cancer” adalah :

1. Algoritma Naïve Bayes mempunyai akurasi yang lebih akurat bila

dibandingkan dengan algoritma KNN dalam mengklasifikasi data wisconsin

diagnosis breast cancer.

2. Algoritma Naïve Bayes lebih cepat waktu prosesnya bila dibandingkan

algoritma KNN dalam mengklasifikasikan data wisconsin diagnosis breast

cancer.

3. Dalam mengklasifikasikan data wisconsin diagnosis breast cancer penulis

lebih menyarankan algoritma Naïve Bayes untuk dipakai dalam proses

klasifikasi jika dibandingkan algoritma KNN.

6.2 Saran

Sebagai akhir dari penelitian ini, peneliti menyampaikan beberapa saran yang

diharapkan dapat berguna bagi kepentingan pihak-pihak terkait. Saran tersebut

ditujukan untuk mahasiswa dan peneliti lain. Saran tersebut antara lain:

1. Bagi Mahasiswa

Diharapkan penelitian ini dapat membantu mahasiswa dalam pembelajaran

berkaitan dengan algoritma yang diteliti.

2. Bagi Peneliti lain

Pembahasan dalam penelitian ini terbatas pada ketiga algoritma saja yaitu

(1)K-Nearest Neighbor dan (2) Naive Bayes diharapkan peneliti selanjutnya

dapat meneliti algoritma-algoritma lain ataupun dataset lain.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

78

DAFTAR PUSTAKA

Ian H. Witten, Eibe Frank, Mark A. Hall.(2011) Data Mining: Practical

Machine Learning Tools and Techniques (Third Edition), Morgan Kaufmann.

Jiawei Han, Micheline Kamber (2006). Data Mining: concept and techniques.

San Francisco: Elsevier Inc.

Kamath, Chandrika. (2009). Scientific Data Mining: a practical perspective.

Philadelpia: Society for Industrial and Applied Mathematics.

Larose, Daniel T. (2006). Data Mining: methods and models. New Jersey: John

Wiley & Sons, Inc.

Malau, Renaldo. (2015). “Perbandingan Akurasi Algoritma Naive Bayes

Classifier dan Algortima Bayesian Belief Network dalam mengklasifikasi mahasiswa

Universitas Sanatha Dharma Program Studi Teknik Informatika”. Skripsi. Yogyakarta:

Teknik Informatika Sanata Dharma.

Megantari, Irene.(2007). “Evalusi pemilihan dan penggunaan antibiotika pada

pasien kanker payudara pasca kemotrapi di RSUP.Dr.Sardjito Yogyakarta”.

Skripsi.Yogyakarta: Farmasi Sanata Dharma.

Pal, Sankar K., dan Mitra, Pabitra.(2004). Pattern Recognition Algorithms for

Data Mining. Florida: Chapman and Hall/CRC.

Pang-Ning Tan, Michael Steinbach, Vipin Kumar.(2006). Introduction to Data

Mining.Boston: Pearson Education, Inc.

Richard O. Duda; Peter E. Hart; David G. Stork.(2006). Pattern Classification.

Canada: John Wiley & Sons, Inc.

Santosa Budi (2007), Data Mining: Teknik Pemanfaatan Data Untuk Keperluan

Bisnis. Yogyakarta: Graha Ilmu.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

79

LAMPIRAN I

SKENARIO USE CASE

Nama Use

Case

Menentukan Jumlah Fold

Deskripsi Use

Case

Use case ini digunakan untuk menentukan jumlah fold yang akan

digunakan dalam proses cross validation.

Pra Kondisi Data telah diimpor

Langkah

Umum

Kegiatan Aktor Respon Sistem

1. Pengguna mengisikan angka di

edit text fold.

2. Sistem mengeset angka yang

telah diganti sebagai fold.

Alternatif -

Kesimpulan Use case ini berhenti apabila telah memasukkan angka di edit text,

dan menekan tombol proses.

Nama Use

Case

Mengimpor data

Deskripsi Use

Case

Use case ini digunakan untuk memasukkan data kedalam sistem

menggunakan file berekstensi .data. Data yang dimasukkan akan

ditambang dengan menggunakan algoritma NB, dan KNN.

Pra Kondisi -

Langkah

Umum

Kegiatan Aktor Respon Sistem

1. Pengguna menekan tombol

open

2. Sistem menampilkan kotak

dialog open file

3. Pengguna memilih file dan

menekan tombol open

4. Sistem membaca file dan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

80

menampilkannya letak file nya

ke label.

Alternatif -

Kesimpulan Use case ini berhenti apabila data telah masuk dan terbaca

disistem.

Nama Use

Case

Melakukan klasfikasi

Deskripsi Use

Case

Use case ini digunakan untuk melakukan proses klasifikasi dan

menghitung akurasi. Pengguna dapat melihat hasil akurasi yang

dihasilkan.

Pra Kondisi - Data telah dimasukkan kedalam sistem.

- Jumlah fold telah ditentukan

Langkah

Umum

Kegiatan Aktor Respon Sistem

1. Pengguna memilih algoritma

yang akan digunakan.

2. Pengguna menekan tombol

proses

3. Sistem menampilkan hasil

akurasi, dan waktu proses .

Alternatif -

Kesimpulan Use case ini berhenti apabila hasil telah berhasil ditampilkan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

81

LAMPIRAN II

DIAGRAM AKTIVITAS

1. Diagram Aktivitas Mengimpor Data

AKTOR SISTEM

Klik tombol Open

Menampilkan kotak Open File

Memilih file dalam drive

lalu menekan tombol Open

Sesuai

format

Tampilkan

data

Tampilkan

pesan error

Yes

No

mulai

selesai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

82

2. Diagram aktivitas memilih fold

AKTOR SISTEM

3. Diagram aktivitas melakukan klasifikasi

AKTOR SISTEM

Pengguna memasukkan

angka di edit text fold

Mengeset angka yang di

ubah sebagai jumlah fold

mulai

selesai

mulai

Memilih algoritma yang

hendak digunakan dan

menekan tombol proses

Meanampilkan hasil

akurasi, dan waktu proses

selesai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

83

LAMPIRAN III

Flowchart Alur Sistem

Start

Pilih dataset

Masukkan

jumlah fold

Memilih

klasifikasi

Naive Bayes

Clasifier

KNN

End

Ya

Proses dengan

klasifikasi Naive Bayes

Classifier dan

menampilkan tingkat

akurasi dan waktu

proses

Proses dengan

klasifikasi KNN dan

menampilkan tingkat

akurasi dan waktu

Ya

Ya

Ya

Ya

Tidak

Tidak

Tidak

Tidak

Tidak

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

84

LAMPIRAN IV

ALGORITMA PROSES KLASIFIKASI

1. K-Nearest Neighbor

A. Menghitung Euclidean Distance

a. Nama Kelas:EuclideanDistance.java

b. Nama Method: UkurdgnEuclid(Instance,Instance)

c. Fungsi Method: Untuk melakukan proses perhitungan jarak dengan euclidean

distance.

d. Algoritma :

1. Cek jika x.noAttributes() != y.noAttributes(), jika ya maka tampilkan

"Kedua atribut harus berupa angka".

2. Deklarasikan sum bertipe double.

3. Untuk i=0, dan memenuhi syarat i < x.noAttributes() lakukan langkah 4.

4. Cek jika !Double.isNaN(y.value(i)) && !Double.isNaN(x.value(i), jika ya

maka lakukan sum += (y.value(i) - x.value(i)) * (y.value(i) - x.value(i).

5. Kembalikan nilai Math.sqrt(sum).

B. Menghitung Jarak Terdekat

a. Nama Kelas: DefaultDataset.java

b. Nama Method: kNearest(Instance,DistanceMeasure)

c. Fungsi Method: Mencari jarak yang terdekat antara 2 titik.

d.Algoritma:

1. Deklarasikan variabel closest bertipe Map<Instance,Double>.

2. Deklarasikan variabel Max bertipe double.

3. Selama tmp masih bagian dari dataset Lakukan langkah 4-6.

4. Cari jarak terdekat menggunakan method euclidean distance pada kelas

EuclideanDistance.

5. Cek jika dm.compare(d, max) && !inst.equals(tmp), jika ya maka

closest.put(tmp, d).

6. Cek jika closest.size() > k, jika ya maka max = removeFarthest(closest,dm).

7. Kembalikan hasil closest.keySet().

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

85

C. Menghitung Kelas Distribusi KNN

a. Nama Kelas:KnearestNeighbors.java

b. Nama Method: KelasDistribusi(Instance,Instance)

c. Fungsi Method: Menampilkan hasil klasifikasi.

d. Algoritma:

1. Cek jika training==null, berikan hasil "Kelas Tranining anda null".

2. Deklarasikan variabel neighbors bertipe Set<instance>.

3. Deklarasikan variabel out bertipe HashMap<Object, Double>.

4. Selama Object o : training.classes(), lakukan out.put(o,0.0)

5. Selama Instance i : neighbors, lakukan out.put(i.classValue(),

out.get(i.classValue()) + 1)

6. Kembalikan nilai out.

2. Naive Bayes

A. Menghitung Kelas Frekuensi

a. Nama Kelas:AbstractBayesianClassifier.java

b. Nama Method:HitungFreqKelas(Dataset)

c. Fungsi Method:Menghitung Frekuensi dari suatu Kelas

d. Algoritma:

1. Deklarasikan FrekuensiKelas bertipe double[].

2. Untuk i=0, dan selama memenuhi i<numClasses lakukan FrekuensiKelas[i]

= 0.

3. Selama Instance inst : Instances2Train lakukan

FrekuensiKelas[Classname2IndexCCountermap.get(inst.classValue())]++.

4. Kembalikan nilai FrekuensiKelas.

B. Menghitung Probabilitas Kelas

a. Nama Kelas:AbstractBayesianClassifier.java

b. Nama Method:HitungProbsKelas()

c. Fungsi Method:Menghitung Probabilitas Kelas

d. Algoritma:

1. Deklarasikan probs dan freq bertipe double[].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

86

2. Untuk k=0, dan selama k<numClasses lakukan probs[k] = (freq[k] + 1) /

(numInstances + numClasses).

3. Kembalikan nilai probs.

C. Menghitung Kelas Distribusi Naïve Bayes

a. Nama Kelas:NaiveBayesClassifier.java

b. Nama Method:HitungProbs(Instance)

c. Fungsi Method:Menampilkan hasil klasifikasi

d. Algoritma:

1. Deklarasikan variabel out bertipe HashMap<Object, Double>.

2. Deklarasikan variabel featureName_HT bertipe Hashtable<Integer,

Hashtable<Double, ClassCounter>>.

3. Deklarasikan freq bertipe double[].

4. Deklarasikan total bertipe double.

5. Untuk k=0 , dan selama memenuhi syarat k<numClasses lakukan langkah 6-

13.

6. Deklarasikan denominator bertipe double.

7. Deklarasikan classScore bertipe double.

8. Selama Object key : featureName_HT.keySet(), lakukan langkah 9-11.

9. Deklarasikan featureName dan numValues bertipe integer.

10. Deklarasikan featureValue dan numerator bertipe double.

11. Lakukan classScore += fnc.log2(numerator + 1) - fnc.log2(denominator +

numValues).

12. Lakukan out.put(classes[k], classScore).

13. Lakukan total = total + Math.pow(2,classScore).

14. Untuk l=0 , dan selama l<classes.length lakukan langkah 15-16.

15. Deklarasikan classScore bertipe double.

16. Lakukan out.put(classes[l], Math.pow(2.0,(classScore-fnc.log2(total)))).

17. Kembalikan nilai out.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

87

3. Cross Validation

A. Algoritma Cross Validation

a. Nama Kelas: CrossValidation.java

b. Nama Method: crossValidation(Dataset,int,Random)

c. Fungsi Method: Untuk mengevaluasi suatu klasifikasi dengan teknik cross

validation.

d. Algoritma:

1. Deklarasikan folds bertipe Dataset[].

2. Deklarasikan out bertipe Map<Object, PerformanceMeasure>.

3. Selama Object o : data.classes(), lakukan out.put(o, new

PerformanceMeasure()).

4. Untuk i=0, dan selama memenuhi i<numFolds lakukan langkah 5-16

5. Deklarasikan variable validation dan training bertipe Dataset.

6. Untuk j=0, dan selama memenuhi j<numfolds lakukan langkah 7-16.

7. Cek jika j!=I, jika ya maka lakukan training.addAll(folds[j]).

8. Jalankan method classifier.buildClassifier(training) pada kelas Classifier.

9. Selama Instance instance : validation lakukan langkah 10-16.

10. Deklarasikan variable prediction bertipe object

11. Cek jika instance.classValue().equals(prediction), jika ya maka lakukan

langkah 12-13, dan jika tidak lakukan langkah 14-16.

12. Selama instance.classValue().equals(prediction), lakukan langkah 13.

13. Cek jika o.equals(instance.classValue()) lakukan jika ya maka

out.get(o).tp++, dan jika tidak maka out.get(o).tn++

14. Selama Object o : out.keySet() lakukan langkah 15 -16.

15. Cek jika prediction.equals(o), jika ya maka out.get(o).fp++.

16. Cek jika o.equals(instance.classValue()), jika ya maka out.get(o).fn++, jika

tidak maka out.get(o).tn++.

17. Kembalikan nilai out

B. Algoritma Hitung Akurasi

a. Nama Kelas: PerformanceMeasure.java

b. Nama Method: getAkurasi()

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

88

c. Fungsi Method: Menghitung akurasi dari suatu klasifikasi.

d. Algoritma:

1.Kembalikan nilai dari (this.tp + this.tn) / this.getTotal().

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

89

LAMPIRAN V

HASIL AKURASI

1. Hasil akurasi K-Nearest Neighbor 3-fold cross validation

2. Hasil akurasi K-Nearest Neighbor 5-fold cross validation

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

90

3. Hasil akurasi K-Nearest Neighbor 10-fold cross validation

4. Hasil akurasi K-Nearest Neighbor 15-fold cross validation

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

91

5. Hasil akurasi K-Nearest Neighbor 20-fold cross validation

6. Hasil akurasi Naive Bayes 3-fold cross validation

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

92

7. Hasil akurasi Naive Bayes 5-fold cross validation

8. Hasil akurasi Naive Bayes 10-fold cross validation

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: PERBANDINGAN ALGORITMA K-NEAREST NEIGHBORS DAN NAIVE BAYES ... · PDF fileKlasifikasi Naive Bayes Adalah metode classifier yang berdasarkan probabilitas dan Teorema Bayesian dengan

93

9. Hasil akurasi Naive Bayes 15-fold cross validation

10. Hasil akurasi Naive Bayes 20-fold cross validation

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI