klasifikasi kain tradisional nusantara …repository.usd.ac.id/4602/2/115314071_full.pdfi...

117
i KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika Disusun Oleh: M. Ch. Agung Ayu Bulan Mahadewi 115314071 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Upload: others

Post on 29-Dec-2019

51 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

i

KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN

MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Disusun Oleh:

M. Ch. Agung Ayu Bulan Mahadewi

115314071

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

ii

ARCHIPELAGO TRADITIONAL FABRIC CLASSIFICATION

BY USING THE NAIVE BAYES CLASSIFIER ALGORITHM

A Final Project

Presented as Partial Fulfillment of The Requirements

To Obtain Sarjana Komputer Degree

In Informatics Engineering Study Program

By:

M. Ch. Agung Ayu Bulan Mahadewi

115314071

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2015

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

v

HALAMAN PERSEMBAHAN

Tugas akhir ini saya persembahkan untuk:

Tuhan Yesus dan Bunda Maria Yang Penuh CintaKasih,

Selalu membimbing dan menguatkan

Papa di Surga dan Mama tercinta

Mas Guntur dan Mbk Bintang tersayang

Aditio Putra Setyobudi tersayang

Seluruh teman-teman yang setia menemani

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

vi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

vii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

viii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

ix

KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN

MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

ABSTRAK

Di Indonesia terdapat beraneka ragam warisan budaya, salah satunya adalah kain

tradisional dari berbagai daerah yang ada di Indonesia yang wajib untuk

dilestarikan. Terdapat berbagai jenis kain tradisional yaitu batik, songket, tenun,

ulos, besurek, dan masih banyak lagi. Dalam setiap kain terdapat warna dan motif

yang berbeda-beda yang memiliki arti disetiap motif nya. Namun, tidak semua

orang mengetahui asal dari kain-kain tersebut. Oleh karena itu dilakukan

penelitian dengan pengklasifikasian kain tradisional nusantara. Dalam klasifikasi

dibutuhkan ciri khas dari kain tersebut. Untuk mendapatkan ciri khas dari kain

yang akan diklasifikasikan dibutuhkan ekstrak ciri dengan menggunakan warna

dengan mengambil meanR,G,B dan meanRGB, dan deteksi tepi. Deteksi tepi yang

digunakan adalah deteksi tepi dengan menggunakan Canny, karena metode canny

merupakan metode deteksi tepi yang baik diantara deteksi tepi yang lainnya dan

sudah pernah digunakan dalam deteksi tepi citra batik pada penelitian yang

lainnya. Selain itu, untuk membantu mendapatkan ekstrak ciri deteksi tepi

dibutuhkan pembagian citra dalam vektor horizontal dan vertikal. Sedangkan

untuk pengklasifikasian menggunakan algoritma Naive Bayes Classifier.

Algoritma naive bayes ini menggunakan metode probabilistik dan statistik.

Algoritma ini membutuhkan stándar deviasi dan mean dari setiap atribut dalam

setiap kelas. Hasil probabilitas yang tertinggi yang digunakan untuk menentukan

asal daerah kain tersebut. Untuk mengetahui kemampuan dari algoritma naive

bayes untuk klasifikasi dibutuhkan perhitungan akurasi. Berdasarkan klasifikasi

yang dilakukan dengan menggunakan ekstrak ciri warna dan vektor, didapatkan

hasil paling besar dengan menggunakan ekstrak ciri warna dan vektor vertikal

dengan tingkat akurasi 93%.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

x

ARCHIPELAGO TRADITIONAL FABRIC CLASSIFICATION

BY USING THE NAIVE BAYES CLASSIFIER

ABSTRACT

There are so many variegated of cultural heritage in Indonesia, one exception is

traditional fabric from many regions in Indonesia that must be preserved. There

are many various of traditional fabric like batik, songket, tenun, ulos, besurek, and

so many more. They’re have difference color and motives that having luminance

meaning. But, not everyone knows the origin of that fabric. Because of that,

perform the research to classified archipelago traditional fabric. In that classified,

the characteristic of the fabric is needed. To get the characteristic of the fabric that

want to classified, extract features is needed by using the color by taking

meanR,G,B and meanRGB, and detection of the edge. The detection of the edge is

using with Canny, because Canny method is more better than other detection

method and have been use to image detection of batik in other research. Beside

that, for get the extract feature, imagery ceiling in horizontal and vertical vector

are needed. Meanwhile, Naïve Bayes Classifier algorithm is used to classified.

Naïve bayes algorithm is using probabilistic and statistic method. This algorithm

is need standart deviation and mean from each attribute in each class. The highest

result use to determine the origin of the fabric. To find the ability classifying with

naïve bayes algorithm, calculation accuracy is needed. Based on the classified that

done with extract features of color and vector, the highest result was obtained by

using color extract feature anvertical vector with 93% of accuracy.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

xi

KATA PENGANTAR

Puji dan syukur penulis panjatkan atas kehadirat Tuhan Yang Maha Esa

atas berkat, rahmat serta kasih-Nya sehingga penulis dapat menyelesaikan skripsi

yang berjudul “Klasifikasi Kain Tradisional Nusantara Dengan

Menggunakan algoritma Naive Bayes Classifier”.

Penulisan skripsi ini bertujuan untuk memenuhi syarat untuk memperoleh

gelar sarjana komputer program studi S1 jurusan Teknik Informatika Universitas

Sanata Dharma. Penulis menyadarai bahwa skripsi ini masih jauh dari kata

sempurna, oleh sebab itu penulis mengharapkan kritik dan saran yang bersifat

membangun dari semua pihak demi kesempurnaan skripsi ini.

Skripsi ini tidak lepas dari peran penting berbagai pihak, sehingga pada

kesempatan ini penulis dengan segala kerendahan hati serta rasa hormat

mengucapkan terimakasih yang sebesar-besarnya kepada semua pihakyang telah

memberikan dukungan baik secara langsung maupun tidak langsung kepada

penulis dalam penyusunan skripsi ini hingga selesai. Pada proses penulisan tugas

akhir ini saya ucapkan terima kasih kepada:

1. Tuhan Yesus selaku pembimbing iman dalam hidup yang selalu

memberi solusi diatas segala solusi.

2. Ibu Sri Hartati Wijono, S.Si., M.Kom. selaku pembimbing yang

memberikan pengarahan serta solusi dalam pengerjaan skripsi ini

hingga selesai.

3. Kedua orangtua, Bapak FX. Leo Taridi (Almarhum) dan Ibu M.Ch.

Ni-Luh Astutik yang selalu rela berkorban, mendoakan, menyayangi

dan memberikan motivasi kepada penulis.

4. Kedua kakak, Grs. Guntur Agung PN dan M.Ch. Agung Ayu Bintang

KS yang selalu menyayangi dan memberikan yang terbaik kepada

penulis.

5. Romo Poldo Andreas Situmorang yang senantiasa tulus meluangkan

waktunya untuk konsultasi mengenai penelitian ini.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

xii

6. Aditio Putra Setyobudi yang selalu setia menemani dan membantu

dikala susah dan senang saat pengerjaan skripsi ini.

7. Monica Susi, Dyah Utami, Dhiah Rusdiana yang setia menemani dan

berbagi kesulitan bersama.

8. Seluruh civitas akademika Teknik Informatika angkatan 2011,

terutama anggota C++ yang telah berjuang bersama dan saling

memberi semangat dan inspirasi.

9. Semua pihak, baik langsung maupun tidak langsung yang telah

membantu dalam proses penyelesaian skripsi.

Penulis menyadari masih banyak kekurangan dalam penyusunan skripsi

ini, namun penulis tetap berharap skripsi ini bermanfaat bagi pengembangan ilmu

pengetahuan.

Yogyakarta, 5 November 2015

Penulis

M.Ch. Agung Ayu Bulan Mahadewi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

xiii

DAFTAR ISI

KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN

MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER ......................... i

ARCHIPELAGO TRADITIONAL FABRIC CLASSIFICATION BY USING

THE NAIVE BAYES CLASSIFIER ALGORITHM ................................................. ii

HALAMAN PERSETUJUAN ............................... Error! Bookmark not defined.

HALAMAN PENGESAHAN ............................... Error! Bookmark not defined.

HALAMAN PERSEMBAHAN ............................................................................ iv

PERNYATAAN KEASLIAN KARYA ................ Error! Bookmark not defined.

LEMBAR PERNYATAAN PERSETUJUAN ...... Error! Bookmark not defined.

ABSTRAK ............................................................................................................. ix

ABSTRACT ............................................................................................................ x

KATA PENGANTAR ........................................................................................... xi

DAFTAR ISI ........................................................................................................ xiii

DAFTAR GAMBAR ........................................................................................... xvi

DAFTAR TABEL .............................................................................................. xviii

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

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

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

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

1.4 Batasan Masalah ............................................................................................ 3

1.5 Metodologi Penelitian ................................................................................... 4

1.6 Sistematika Penulisan .................................................................................... 6

BAB II ..................................................................................................................... 7

2.1 Kain Tradisional Nusantara ........................................................................... 7

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

xiv

2.2 Pengenalan Pola ............................................................................................ 8

2.3 Deteksi Tepi .................................................................................................. 9

2.4 Ekstraksi Ciri ............................................................................................... 11

2.4.1 Warna .................................................................................................... 11

2.4.2 Rata-rata Vektor.................................................................................... 13

2.5 Klasifikasi .................................................................................................... 14

2.6 Algoritma Naive Bayes Classifier ............................................................... 15

2.7 Akurasi ........................................................................................................ 19

BAB III ................................................................................................................. 20

3.1 Data Citra Kain Nusantara .......................................................................... 20

3.2 Perancangan Sistem Secara Umum ............................................................. 21

3.3 Perancangan Proses Ekstraksi ciri ............................................................... 23

3.3.1 Proses Ekstraksi Ciri Warna ................................................................. 23

3.3.2 Proses Ekstraksi Ciri Rata-rata Vektor ................................................. 24

3.3.4 Proses Gabungan Ekstraksi Ciri Warna Dan Rata-rata Vektor ............ 26

3.4 Perancangan Proses Klasifikasi ................................................................... 28

3.5 Perancangan Proses Akurasi ....................................................................... 30

3.6 Perancangan Antar Muka ............................................................................ 32

3.7 Kebutuhan Hardware dan Software ............................................................ 34

BAB IV ................................................................................................................. 35

4.1 Implementasi Klasifikasi ............................................................................. 35

4.1.1 Implementasi Memotong Citra ............................................................. 35

4.1.2 Implementasi Ekstraksi Ciri Warna ...................................................... 36

4.1.3 Implementasi Ekstraksi Ciri Rata-rata Vektor ...................................... 37

4.1.4 Implementasi Ekstraksi Ciri Warna dan Rata-rata Vektor ................... 43

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

xv

4.1.5 Implementasi Klasifikasi menggunakan Naive Bayes .......................... 47

4.1.6 Implementasi Akurasi ........................................................................... 52

4.1.7 Implementasi Klasifikasi Dari Data User ............................................ 52

4.1.8 Implementasi Antar Muka ................................................................... 55

BAB V .................................................................................................................. 56

5.1 Data ............................................................................................................. 56

5.2 Akurasi Hasil Klasifikasi Menggunakan Naive Bayes ............................... 57

BAB VI ................................................................................................................. 60

6.1 Kesimpulan .................................................................................................. 60

6.2 Saran ............................................................................................................ 60

DAFTAR PUSTAKA ........................................................................................... 62

LAMPIRAN I ....................................................................................................... 64

LAMPIRAN II ...................................................................................................... 67

LAMPIRAN III ..................................................................................................... 70

LAMPIRAN IV .................................................................................................... 74

LAMPIRAN V ...................................................................................................... 78

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

xvi

DAFTAR GAMBAR

Gambar 2. 1. Proses Deteksi tepi ........................................................................................ 9

Gambar 2. 2 Ilustrasi pembagian vektor horizontal .......................................................... 13

Gambar 2. 3 Ilustrasi pembagian vektor vertikal .............................................................. 14

Gambar 2. 4 Proses Klasifikasi ......................................................................................... 15

Gambar 3. 1 Contoh Citra asli berukuran 200 x 200 piksel .............................................. 20

Gambar 3. 2 Alur Perancangan Sistem Dengan 100 Data ................................................ 21

Gambar 3. 3 Alur Perancangan Sistem Dengan Data Dari User ...................................... 22

Gambar 3. 4 Halaman Klasifikasi kain tradisional nusantara menggunakan .................... 32

Gambar 3. 5 Tampilan Preprocesing ................................................................................ 33

Gambar 3. 6 Tampilan Klasifikasi 100 Data .................................................................... 33

Gambar 3. 7 Tampilan Klasifikasi Dari Data User ........................................................... 34

Gambar 4. 1Proses Cropping Citra kain 460x572 ............................................................ 35

Gambar 4. 2 Citra kain 200x200 piksel ............................................................................ 36

Gambar 4. 3 Tabel Ekstrak Ciri Warna ............................................................................ 37

Gambar 4. 4Proses Deteksi tepi Canny............................................................................. 38

Gambar 4. 5 Proses membagi citra kedalam vektor horizontal ........................................ 40

Gambar 4. 6Tabel Ekstrak Ciri Vektor Horizontal ........................................................... 40

Gambar 4. 7 Proses membagi citra kedalam vektor vertikal ............................................ 42

Gambar 4. 8 Tabel Ekstrak Ciri Vektor Vertikal .............................................................. 43

Gambar 4. 9 Tabel Ekstrak Ciri Warna & Vektor Horizontal .......................................... 46

Gambar 4. 10 Tabel Ekstrak Ciri Warna & Vektor Vertikal ............................................ 46

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

xvii

Gambar 4. 11 Data di dalam cell ...................................................................................... 47

Gambar 4. 12 Tabel Mean Ekstrak Ciri Warna & Vektor Horizontal .............................. 48

Gambar 4. 13 Tabel Stándar Deviasi Ekstrak Ciri Warna & Vektor Horizontal ............. 49

Gambar 4. 14Data Testing Dalam Setiap Cell .................................................................. 50

Gambar 4. 15 Data Testing Dalam Satu Kelas ................................................................. 51

Gambar 4. 16 Hasil Probabilitas ..................................................................................... 51

Gambar 4. 17 Hasil IdxLabel ........................................................................................... 51

Gambar 4. 18 Hasil Akurasi menggunakan 5-fold ........................................................... 52

Gambar 4. 19 Hasil Probabilitas Data Dari User ............................................................. 53

Gambar 4. 20 Hasil Klasifikasi Dari Data User ............................................................... 54

Gambar 4. 21 Implementasi Antar Muka Klasifikasi Kain Tradisional Nusantara Dengan

Menggunakan Naive Bayes Classifer ............................................................................... 55

Gambar 4. 22 Peringatan Ekstraksi Ciri Telah Selesai ..................................................... 55

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

xviii

DAFTAR TABEL

Tabel 2. 1 Tabel Contoh Soal Perhitungan Naive Bayes .................................................. 17

Tabel 3. 1 Percobaan 2-fold .............................................................................................. 30

Tabel 3. 2Percobaan 3-fold ............................................................................................... 30

Tabel 3. 3 Percobaan 5-fold .............................................................................................. 31

Tabel 5. 1 Hasil Akurasi Data Pertama ............................................................................ 57

Tabel 5. 2 Hasil Akurasi Data Kedua .............................................................................. 58

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

xix

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi dan kemajuan zaman yang semakin pesat,

membuat manusia lupa akan kebudayaan yang ada sejak dahulu kala. Setiap

negara di dunia pasti mempunyai kebudayaannya masing-masing, termasuk

negara Indonesia. Indonesia merupakan negara yang memiliki beragam budaya,

salah satu kebudayaan yang masih ada sampai sekarang adalah kain tradisional

nusantara. Kain tradisional nusantara merupakan warisan kebudayaan dari

berbagai daerah di Indonesia yang wajib untuk dilestarikan. Ada beberapa kain

tradisional nusantara yang memiliki arti disetiap motif dan warnanya, antara lain

kain songket, kain batik, kain tapis, kain gringsing, kain ikat. Kain-kain tersebut

hanyalah sebagian dari jenis kain tradisional di Indonesia. Perkembangan motif

maupun warna kain tradisional nusantara sangat pesat, tetapi tidak diimbangi

dengan pengetahuan tentang jenis-jenis kain.

Banyak kain tradisional Indonesia yang warna dan motifnya sudah

campuran dari luar Indonesia, bahkan beberapa diantaranya memiliki warna dan

motif yang sama, sehingga sulit untuk dibedakan antara kain satu daerah dengan

daerah yang lainnya. Beberapa cara untuk melestarikan kebudayaan kain

tradisional indonesia telah diupayakan, salah satu caranya adalah dengan

mempublikasi menggunakan situs online. Meskipun demikian, masih banyak

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

2

ditemui kain yang tidak identik dengan daerah asalnya. Oleh karena itu dilakukan

penelitian dan pembuatan aplikasi sebagai alat bantu untuk mengklasifikasi kain

tradisional nusantara secara efektif dan efisien.

Klasifikasi kain tradisional nusantara, yang dilakukan (Azis&Wulandari,

2013) menggunakan metode CBIR. Pencarian kain dilakukan berdasarkan

kemiripan warna, bentuk dan tekstur dengan hasil akurasi citra berdasarkan

tekstur mendapat nilai recall 76,66%, untuk citra berdasarkan warna 100% dan

untuk citra berdasarkan tekstur dan warna mendapat nilai akurasi 100%.

Kelemahan dari penelitian ini yaitu citra berdasarkan fitur tekstur tidak bekerja

dengan dengan baik karena tidak menemukan citra yang tidak sesuai dengan citra

query.

Selain Penelitian tersebut, ada pula penelitian (Ariyanto, 2014) yang

menggunakan ekstraksi ciri tekstur dengan metode matriks kookurensi untuk citra

sekumpulan biji bijian. Ekstraksi ciri menggunakan warna dan rata-rata vektor

vertikal atau horizontal pernah digunakan untuk pengklasifikasian kain batik

Yogyakarta menggunakan algoritma ID3 dengan mendapat akurasi sebesar 75%

(Tiarani, 2011).

Untuk penelitian kain tradisional Nusantara yang peneliti lakukan, akan

menggunakan algoritma Naive Bayes dengan ciri warna dan rata-rata vektor

horizontal atau vertikal.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

3

1.2 Rumusan Masalah

Rumusan masalah yang akan dibahas pada tulisan ini adalah bagaimana

kinerja algoritma Naive Bayes untuk klasifikasi kain tradisional nusantara.

1.3 Tujuan

Tujuan dari tulisan ini adalah untuk mengetahui tingkat keakuratan dari

algoritma Naive Bayes yang digunakan dalam klasifikasi kain tradisional

nusantara.

1.4 Batasan Masalah

Batasan dari masalah tersebut adalah sebagai berikut:

1. Citra masukan adalah kain tradisional asli Indonesia.

2. Pengelompokan citra dibagi 10 daerah sesuai dengan daerah masing-

masing citra.

3. Data sampel kain yang digunakan berdasarkan:

a. Citra yang diproses merupakan citra yang bertipe JPG (*.jpg).

b. Ukuran citra yang diproses adalah 200x200 piksel.

c. Ada 2 data yang digunakan, data yang pertama dalam satu daerah

terdapat 10 jenis citra kain. Data yang kedua dalam satu daerah

terdapat 1 jenis citra kain yang telah di potong-potong menjadi 10

bagian citra kain setiap daerahnya. Jumlah keseluruhan citra dalam

10 daerah adalah 100 citra.

4. Menggunakan ciri warna dan rata-rata vektor.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

4

5. Tahap preprocesing untuk ekstrasi ciri menggunakan algoritma deteksi

tepi Canny dan membaginya dalam vektor horizontal dan vertikal.

6. Untuk mengklasifikasi citra kain berdasarkan warna dan rata-rata

vektor menggunakan algoritma Naive Bayes.

7. Pembuatan program hanya sebuah prototype.

1.5 Metodologi Penelitian

Metodologi yang digunakan dalam penelitian ini adalah sebagai berikut:

1. Studi Pustaka

Studi literatur tentang teori-teori yang berkaitan dengan warna dan

motif kain, metode Canny, membaca jurnal ilmiah dan mencari

informasi di internet mengenai macam-macam kain tradisional

nusantara serta tentang algoritma Naive Bayes.

2. Analisis dan Perancangan

Mempelajari proses kerja dari metode Canny dan melakukan tahap

preprocesing:

- Mengumpulkan data kain tradisional dengan mengambil gambar

dari internet.

- Memotong citra dengan ukuran 200 x 200 piksel.

- Memisahkan warna Red, Green dan Blue (RGB) dari citra asli.

- Menghitung rata-rata Red, rata-rata Green, rata-rata Blue.

- Menghitung rata-rata RGB dari citra baik yang berukuran 200 x

200 piksel untuk memperoleh ciri warna.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

5

- Menggunakan ciri warna sebagai ekstraksi ciri.

- Mengubah citra asli menjadi grayscale.

- Mengambil deteksi tepi pada citra dengan menggunakan metode

Canny.

- Membagi citra yang telah dikenai deteksi tepi Canny kedalam

vektor horizontal dan vertikal.

- Menggunakan ciri vektor horizontal dan vertikal sebagai ekstraksi

ciri.

- Mengabungkan ciri warna dan rata-rata vektor.

- Mengolah data citra yang telah dikenai tahap preprocesing

menggunakan algoritma Naive Bayes Classifier.

- Menghitung akurasi yang benar dari klasifikasi menggunakan

algoritma Naive Bayes Classifier.

3. Implementasi

Pada tahap ini membuat prototype berupa sebuah perangkat lunak

menggunakan sistem operasi Microsoft Windows 7, dengan bahasa

pemrograman Matlab dan Photoscape sebagai tools penunjang.

4. Pengujian dan Analisis Hasil

Pada tahap ini adalah untuk mengetahui tingkat keakuratan algoritma

Naive Bayes dalam klasifikasi kain tradisional Indonesia dan

menganalisia hasilnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

6

1.6 Sistematika Penulisan

Sistematika penulisan yang digunakan adalah sebagai berikut ini:

BAB I PENDAHULUAN

Bab ini berisi tentang pendahuluan yang terdiri dari latar belakang,

rumusan masalah, tujuan, batasan masalah, metode penelitian dan

sistematika penulisan dalam tugas akhir ini.

BAB II LANDASAN TEORI

Bab ini berisi mengenai teori-teori yang menjadi dasar dalam

penelitian klasifikasi kain tradisional nusantara dengan menggunakan

algoritma Naïve Bayes.

BAB III ANALISA DAN PERANCANGAN

Bab ini membahas mengenai analisa kebutuhan dan perancangan

perangkat lunak sistem klasifikasi kain tradisional nusantara.

BAB IV IMPLEMENTASI SISTEM

Bab ini berisi mengenai implementasi sistem yang telah disusun

pada bab sebelumnya.

BAB V ANALISA HASIL

Bab ini berisi hasil dan analisa pada sistem yang telah dibuat, berupa

keluaran dari sistem.

BAB VI KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari uji coba klasifikasi kain tradisional

nusantara dan saran untuk pengembangan, perbaikan serta penyempurnaan

terhadap aplikasi yang telah dibuat.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

7

BAB II

LANDASAN TEORI

2.1 Kain Tradisional Nusantara

Indonesia merupakan negara kepulauan yang terdiri dari kurang lebih

17.000 pulau dan terbagi menjadi beberapa provinsi, hal ini pula yang

menyebabkan Indonesia memiliki keanekaragaman budaya. Salah satu warisan

budaya yang sangat penting yaitu adanya kain tradisional. Pada zaman prasejarah

kain berfungsi sebagai pelindung badan dari panas dan dingin serta gangguan

serangga dan benda-benda tajam. Bahan yang digunakan untuk membuat kain pun

masih sangat sederhana yaitu seperti kulit kayu, kulit binatang, serat dan daun-

daunan. Pada masa klasik India, Persia, Cina, Eropa adalah negara yang banyak

mempengaruhi kain tradisional Indonesia.

Di Indonesia terdapat berbagai macam jenis kain tradisional dan berasal

dari berbagai daerah di Indonesia antara lain kain tenun ikat, adalah kain tenun

yang dibuat dengan teknik tenun. Kemudian ada kain songket adalah kain tenun

yang dibuat dengan teknik menambah benang, hiasan dibuat dengan menyisipkan

benang perak, atau emas. Kain songket ini berasal dari daerah Palembang. Lalu

ada kain lurik, kain ini biasa digunakan untuk masyarakat jawa terutama di daerah

Probolinggo yang diyakini memiliki kekuatan magis yang dapat mengusir roh

jahat.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

8

Lalu terdapat kain batik yang sudah sering didengar telinga kita, beberapa

batik di jawa masing-masing mempunyai ciri khas, batik juga termasuk jenis

kerajinan yang memiliki nilai seni tinggi dan telah menjadi bagian dari budaya

Indonesia. Kemudian ada kain jumputan atau kain pelangi, di daerah Solo dan

Jogja kain jumputan dipakai untuk selendang, kemben, ikat kepala dan ikat

pinggang. Lalu kain gringsing atau disebut juga kain ikat ganda ini di Bali

dianggap mempunyai kekuatan untuk dapat menyembuhkan penyakit seperti kain

rongkong di Toraja dan kain hinggi di Sumba. Di daerah Bali kain songket lamak

digantungkan di pura dan dipakai untuk upacara galungan.dan masih terdapat

banyak lagi jenis kain di Indonesia yang patut untuk dilestarikan

(Mulyana&Rakhmat, 2006).

2.2 Pengenalan Pola

Pengenalan adalah suatu proses untuk memahami sebuah entitas

berdasarkan pengetahuan terhadap entitas sebelumnya. Pola adalah himpunan

obyek atau suatu konsep yang himpunan elemennya sama dalam hal aspek. Pola

dapat dinyatakan dengan kuantitas, kualitas atau ciri yang dapat ditandai dan

lainnya. Sebagai contoh cara setiap manusia untuk makan mempunyai pola yang

berbeda dengan hewan. Begitu pula dengan gambar atau citra kain tradisional

yang mempunyai pola tersendiri di setiap kainnya yang mencirikhaskan asal dari

kain tersebut Pengenalan Pola adalah proses pengenalan pola menggunakan mesin

atau komputer.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

9

2.3 Deteksi Tepi

Edge (tepi) adalah perubahan nilai intensitas derajat keabuan yang

mendadak (besar) dalam jarak yang singkat. Deteksi tepi digunakan untuk proses

segmentasi dan identifikasi obyek di dalam citra. Operasi ini bertujuan untuk

melacak titik-titik pada citra yang dianggap sebagai tepi dari suatu obyek, yang

membatasi suatu wilayah obyek satu dengan yang lainnya. Tujuan lain operasi

pendeteksian tepi ini adalah untuk meningkatkan penampakan garis batas suatu

daerah atau obyek didalam citra (Melantika, 2010).

Gambar 2. 1. Proses Deteksi tepi

Dalam pengambilan Edge information digunakan metode Canny karena

merupakan metode deteksi tepi yang paling baik serta telah digunakan dalam

pengambilan ekstraksi ciri dalam mengidentifikasi batik berdasarkan pola batik

dan ciri-ciri batik menggunakan ekstraksi ciri tekstur kain (Imanuddin, 2010).

Berikut adalah langkah-langkah dalam melakukan deteksi tepi Canny yang

dikembangkan oleh F. Canny pada tahun 1986 dengan menggunakan multi tahap

algoritma (Canny,1986):

1. Menghilangkan noise yang ada pada citra dengan mengimplementasikan

filter Gaussian. Hasilnya citra akan terlihat sedikit buram. Hal ini

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

10

dimaksudkan untuk mendapatkan tepian citra yang sebenarnya. Berikut

adalah persamaan filter Gaussian dengan ukuran (2k+1)x(2k+1):

Berikut adalah salah satu contoh filter Gaussian dengan σ =1.4 :

2. Menghitung potensi gradien citra dengan melakukan deteksi tepi

menggunakan salah satu operator deteksi tepi seperti Sobel sebagai contoh

dengan melakukan pencarian secara horizontal (Gx) dan secara vertikal

(Gy). Di bawah ini merupakan rumus nya:

Selanjutnya membagi dalam 4 warna, sehingga garis dan arah yang

berbeda memiliki warna yang berbeda. Pembagiannya adalah 0 – 22.5 dan

157.5 – 180 derajad berwarna kuning, 22.5 – 67.5 berwarna hijau, dan

derajat 67.5 – 157.5 berwarna merah.

3. Memperkecil garis tepi yang muncul dengan menerapkan non-maximum

suppression atau penekanan, sehingga menghasilkan garis tepian yang

lebih ramping.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

11

4. Langkah selanjutnya adalah hysteresis thresholding untuk klasifikasi

dengan dua buah nilai High-threshold dan Low-Threshold. Suatu piksel

disahkan sebagai piksel edge jika, nilainya lebih besar atau sama dengan

High-Threshold jika piksel tersebut memiliki intensitas kekuatan edge

yang lebih besar dari Low-Threshold dan terhubung dengan piksel yang

nilainya lebih besar dari High-Threshold. Untuk menentukan

keterhubungan suatu piksel dengan piksel lainnya digunakan teknik yang

dinamakan edge-linking yang pada dasarnya sama dengan flood-fill.

2.4 Ekstraksi Ciri

Untuk mengetahui suatu citra, diperlukan adanya ekstraksi ciri. Ekstraksi

ciri dapat diteliti dengan mengambil beberapa bagian citra yang bisa menunjukan

ciri khas dari citra tersebut, misalkan warna, pola citra, diameter, bentuk dan

masih banyak lagi. Dalam klasifikasi citra kain tradisional ini, menggunakan

ekstrak ciri warna dan rata-rata vektor.

2.4.1 Warna

Meneliti citra berdasarkan warna yang dikandungnya adalah salah

satu teknik yang paling banyak digunakan. Perhitungan kadar warna

berdasarkan atas percobaan yang telah dilakukan pada penelitian untuk

klasifikasi tingkat kematangan tomat merah menggunakan metode

perbandingan kadar warna (Noviyanto, 2009).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

12

Secara umum ciri warna hanya memperhatikan distribusi warna

piksel-piksel dalam citra tanpa memperhatikan ukuran dan orientasi posisi

citra. Distribusi warna dapat dipresentasikan dalam berbagai bentuk,

antara lain histogram warna dan momen warna. Berikut merupakan proses

pengklasifikasian dengan menghitung rata-rata nilai Red, Green, dan Blue

(RGB):

…………………………… (2.4)

………………………… (2.5)

…………………………… (2.6)

…………………………… (2.7)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

13

2.4.2 Rata-rata Vektor

Rata-rata vektor adalah membagi citra yang berukuran 200 x 200

menjadi 8 vektor horizontal dan 8 vektor vertikal. Untuk setiap vektornya

dan akan dihitung nilai rata-ratanya. Kemudian jumlah rata-ratanya

dijadikan sebagai ciri (Tiarani, 2011).

a. Vektor Horizontal

Gambar 2. 2 Ilustrasi pembagian vektor horizontal

Pada gambar 2.2 citra dibagi menjadi 8 bagian vektor horizontal.

Setiap bagiannya dihitung rata-ratanya dan akan diperoleh nilai rata-rata

yang akan dijadikan ciri.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

14

b. Vektor Vertikal

Gambar 2. 3 Ilustrasi pembagian vektor vertikal

Pada gambar 2.3 citra dibagi menjadi 8 bagian vektor vertikal.

Setiap bagiannya dihitung rata-ratanya dan akan diperoleh nilai rata-rata

yang akan dijadikan ciri.

2.5 Klasifikasi

Klasifikasi dapat didefinisikan sebagai pekerjaan yang melakukan

pelatihan. Pekerjaan pelatihan tersebut akan menghasilkan suatu model yang

kemudian disimpan sebagai memori. Algoritma Klasifikasi menggunakan data

training untuk membuat sebuah model. Model yang sudah di bangun tersebut

kemudian digunakan untuk memprediksi label kelas data baru yang belum

diketahui (Prasetyo, 2012).

Klasifikasi merupakan suatu metode data mining yang dapat digunakan

untuk proses pencarian sekumpulan model yang dapat menjelaskan dan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

15

membedakan kelas-kelas data, yang tujuannya supaya model tersebut dapat

digunakan untuk memprediksi kecenderungan data-data yang muncul di masa

depan (Han&Kamber, 2006). Proses klasifikasi terlihat pada gambar 2.4.

Input Data

Training (x,y)

Algoritma

Training

Pembangunan

Model

Penerapan

Model

Input Data

Testing(x,?)

Output Data

Testing(x,y)

Gambar 2. 4 Proses Klasifikasi

2.6 Algoritma Naive Bayes Classifier

Naive Bayes merupakan pengklasifikasian dengan metode probabilitas

dan statistik yang dikemukakan oleh ilmuwan Inggris Thomas Bayes. Pada

penerapan teorema Bayes (aturan Bayes) dengan asumsi independensi

(ketidaktergantungan) yang kuat (naif). Dengan kata lain, dalam Naïve Bayes

model yang digunakan adalah model fitur independen (Prasetyo, 2012).

Dari pengertian diatas dapat diambil sebuah kesimpulan bahwa Naïve

Bayes adalah teknik klasifikasi yang atributnya saling bebas atau tidak ada kaitan

antar atribut. Contohnya, buah apel dikatakan buah apel jika mempunyai ciri

berdiameter sekitar 6cm, berwarna merah, berbentuk bulat. Walaupun ciri diatas

saling bergantungan satu sama lain, namun dalam bayes hal tersebut tidak

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

16

dipandang, seolah-olah tidak memiliki hubungan apapun. Prediksi Naïve Bayes

didasarkan pada teorema Bayes, seperti pada rumus dibawah ini:

………………………. (2.8)

Sedangkan untuk Naive Bayes dengan ciri continue memiliki rumus seperti:

…………………………….... (2.9)

Untuk perhitungan nilai likelihood:

……………………………... (2.10)

Untuk perhitungan nilai probabilitas:

…………………………………...... (2.11)

Keterangan:

=Probabilitas data dengan vektor X pada kelas Y

=Probabilitas awal kelas Y

=Probabilitas independen kelas Y dari semua fitur dalam vektor X

µ =Mean atau nilai rata-rata dari atribut dengan fitur continue

σ =Standar Deviasi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

17

Contoh perhitungan Naive Bayes untuk Klasifikasi:

Diberikan tabel untuk mengukur seseorang mempunyai tubuh yang proporsional

atau tidak berdasarkan ciri tinggi badan dan berat badan, seperti dibawah ini:

Tinggi Badan

(cm) A1

Berat badan(kg)

A2

Proporsional

A3

175

170

155

180

130

150

50

54

45

60

20

40

Tidak

Tidak

Ya

Tidak

Ya

Ya

Tabel 2. 1 Tabel Contoh Soal Perhitungan Naive Bayes

Langkah-langkah untuk menyelesaikan permasalahan diatas dengan menggunakan

Naive Bayes adalah sebagai berikut:

a. Menghitung Mean dan Stándar Deviasi pada masing-masing ciri (A1):

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

18

b. Menghitung Mean dan Stándar Deviasi pada masing-masing ciri (A2):

c. Menghitung Naive Bayes menggunakan rumus bersyarat (2.9) , Jika

diberikan A1 = 155, A2 = 45, dan A3 = Ya, maka:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

19

d. Kemudian selanjutnya menghitung Likelihoodnya (2.10), ( Hasil A1

=155|Ya dengan A2 = 45|Ya di kalikan begitu pula sebaliknya. Sehingga:

Hasil A1 = (0.0240) x (0.0240) = 0.000576

Hasil A2 = (0.0119) x (0.0225) = 0.000267

e. Menghitung nilai probabilitas dengan melakukan normalisasi terhadap

nilai Ya dan nilai Tidak (2.11), sehingga diperoleh hasil akhir, seperti:

Kesimpulannya, nilai Probabilitas Ya lebih besar daripada nilai

Probabilitas Tidak. Sehingga hasil klasifikasi = Ya.

2.7 Akurasi

Sebuah sistem dalam melakukan klasifikasi diharapkan dapat

mengklasifikasi semua data set dengan benar, tetapi tidak dipungkiri bahwa

kinerja suatu sistem tidak bisa 100% akurat.

a) Untuk menghitung akurasi digunakan:

b) Untuk menghitung kesalahan prediksi (error) digunakan:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

20

BAB III

ANALISA DAN PERANCANGAN SISTEM

Pada bab analisa dan perancangan sistem ini, berisi tentang penjelasan

mengenai perancangan sistem secara umum, perancangan setiap proses nya, mulai

dari proses ekstraksi ciri warna dan rata-rata vektor sampai dengan proses

klasifikasi menggunakan algoritma Naive Bayes Classifier dan proses untuk

mendapatkan tingkat keakuratan dari proses klasifikasi kain tradisional nusantara.

3.1 Data Citra Kain Nusantara

Terdapat dua data yang digunakan dalam klasifikasi kain tradisional

nusantara ini, masing-masing mempunyai 10 daerah atau kelas. Data yang

pertama merupakan data kain yang dalam satu daerah terdapat 1 jenis citra kain

yang telah di potong-potong menjadi 10 bagian citra kain setiap daerahnya, total

keseluruhan ada 100 citra terdapat pada lampiran I. Data yang kedua dalam satu

daerah terdapat 10 jenis citra kain, jumlah keseluruhan 100 citra terdapat pada

lampiran II. Semua citra kain berukuran 200x200 piksel.

Gambar 3. 1 Contoh Citra asli berukuran 200 x 200 piksel

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

21

3.2 Perancangan Sistem Secara Umum

Sistem klasifikasi kain tradisional nusantara ini dibuat dengan tujuan

untuk memodelkan algoritma Naive Bayes dalam menangani klasifikasi kain

tradisional nusantara. Citra yang dimasukan kedalam sistem merupakan gambar

yang berukuran 200x200 piksel. Pada citra dilakukan proses ekstraksi ciri yang

meliputi ekstraksi warna dan rata-rata vektor. Sistem akan menggunakan ciri

tersebut untuk proses training dan testing. Ada 2 sistem yaitu yang pertama untuk

menghitung akurasi dari 100 data citra yang telah dilakukan proses klasifikasi

menggunakan Naive Bayes.

Memotong Citra

(200x200 piksel)

Data Citra Kain

Dari User

Memotong Citra

(200x200 piksel)

Memotong Citra

(200x200 piksel)

Menghitung rata-

rata RGB

Menghitung rata-

rata Red, Green

dan Blue

Memisahkan

warna Red, Green

dan Blue

Hasil ekstraksi ciri

warna ( rata-rata

R,G,B dan rata-

rata RGB)

Deteksi tepi

Canny

Grayscaling

Hitung rata-rata

vektor Horisontal &

Vertikal

Hasil ekstraksi ciri

rata-rata vektor

Horisontal atau

Vertikal

Menghitung rata-

rata RGB

Menghitung rata-

rata Red, Green

dan Blue

Memisahkan

warna Red, Green

dan Blue

Deteksi tepi

Canny

Grayscaling

Hitung rata-rata

vektor Horisontal &

Vertikal

Hasil ekstraksi ciri

gabungan warna

dan rata-rata vektor

Ekstraksi Ciri Warna Ekstraksi Ciri Warna & Rata-rata VektorEkstraksi Ciri Rata-rata Vektor

Proses Klasifikasi

menggunakan Naive

Bayes

Perhitungan

Akurasi

Proses Klasifikasi

menggunakan Naive

Bayes

Perhitungan

Akurasi

Proses Klasifikasi

menggunakan Naive

Bayes

Perhitungan

Akurasi

Data Citra Kain

Dari User

Data Citra Kain

Dari User

Gambar 3. 2 Alur Perancangan Sistem Dengan 100 Data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

22

Yang kedua adalah menghitung probabilitas maksimal dari data citra yang

dimasukan oleh user. Hasil keluarannya adalah daerah asal dari citra yang

dimasukan.

Memotong Citra

(200x200 piksel)

Data Citra Kain

Dari User

Memotong Citra

(200x200 piksel)

Memotong Citra

(200x200 piksel)

Menghitung rata-

rata RGB

Menghitung rata-

rata Red, Green

dan Blue

Memisahkan

warna Red, Green

dan Blue

Hasil ekstraksi ciri

warna ( rata-rata

R,G,B dan rata-

rata RGB)

Deteksi tepi

Canny

Grayscaling

Hitung rata-rata

vektor Horisontal &

Vertikal

Hasil ekstraksi ciri

rata-rata vektor

Horisontal atau

Vertikal

Menghitung rata-

rata RGB

Menghitung rata-

rata Red, Green

dan Blue

Memisahkan

warna Red, Green

dan Blue

Deteksi tepi

Canny

Grayscaling

Hitung rata-rata

vektor Horisontal &

Vertikal

Hasil ekstraksi ciri

gabungan warna

dan rata-rata vektor

Ekstraksi Ciri Warna Ekstraksi Ciri Warna & Rata-rata VektorEkstraksi Ciri Rata-rata Vektor

Proses Klasifikasi

menggunakan Naive

Bayes

Hasil berupa

Daerah asal

citra kain

Proses Klasifikasi

menggunakan Naive

Bayes

Hasil berupa

Daerah asal

citra kain

Proses Klasifikasi

menggunakan Naive

Bayes

Hasil berupa

Daerah asal

citra kain

Data Citra Kain

Dari User

Data Citra Kain

Dari User

Gambar 3. 3 Alur Perancangan Sistem Dengan Data Dari User

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

23

3.3 Perancangan Proses Ekstraksi ciri

Proses ekstraksi ciri merupakan proses paling penting untuk mendapatkan

komponen atau data-data dari sebuah citra baik yang selanjutnya digunakan untuk

proses klasifikasi. Untuk proses klasifikasi Naive Bayes menggunakan tiga ciri

yaitu ciri warna, deteksi tepi dan gabungan antara warna dan rata-rata vektor.

3.3.1 Proses Ekstraksi Ciri Warna

Untuk mendapatkan ekstrak ciri warna diperoleh dengan algoritma

seperti dibawah ini:

Masukan: matriks dari citra yang berukuran 200 x200 piksel

Keluaran: data ektraksi ciri warna yang berupa matriks 1x4 untuk setiap

citra

1. Masukan citra berukuran 200 x 200 piksel.

2. Membaca citra.

3. Memisahkan RGB.

- Mengambil keping warna merah (Red)

- Mengambil keping warna hijau (Green)

- Mengambil keping warna biru (Blue)

4. Mencari rata-rata RGB.

- Mencari rata-rata keping warna merah (Red)

- Mencari rata-rata keping warna hijau (Green)

- Mencari rata-rata keping warna biru (Blue)

- Mencari rata-rata RGB (Red, Green, Blue)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

24

Hasil dari setiap nilai rata-rata Red, rata-rata Green, rata-rata Blue,

dan rata-rata RGB yang didapat dari proses ekstraksi ciri warna diatas

berupa matriks yang berukuran 1x4 untuk setiap citra masukan.

3.3.2 Proses Ekstraksi Ciri Rata-rata Vektor

Untuk mengenali pola dari citra yang sudah dikenai deteksi tepi

Canny, algoritma rata-rata vektor horizontal nya seperti dibawah ini:

Masukan: matriks dari gambar yang berukuran 200 x200 piksel

Keluaran: matriks nilai rata-rata vektor horizontal 1x8 untuk setiap citra

1. Citra di ubah menjadi gray.

2. Hasil dari citra yang di grayscale dikenai dengan fungsi deteksi

tepi Canny.

3. Citra hasil deteksi tepi dibagi menjadi 8 baris horizontal, dan untuk

setiap barisnya 25x200 piksel dihitung rata-rata nya.

a. For i= 1:25, for k=1:200untuk baris pertama.

b. Mengambil piksel yang bernilai 1, lalu dijumlahkan.

c. Masukkan kedalam sub variabel.

4. Ulangi langkah pada nomor 3 untuk baris ke dua sampai baris ke

delapan dengan menambahkan nilai disetiap baris nya.

5. Hasil penjumlahan piksel setiap baris nya dibagi dengan nilai 5000

di dapat dari 25x200 untuk mencari rata-rata setiap baris

horizontal.

6. Simpan dalam variabel untuk hasil rata-rata setiap baris nya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

25

Kemudian untuk algoritma rata-rata vektor vertikal nya seperti

dibawah ini:

Masukan: matriks dari gambar yang berukuran 200 x200 piksel

Keluaran: nilai rata-rata vektor vertikal berupa matriks 1x8 untuk setiap

citra

1. Citra di ubah menjadi gray.

2. Hasil dari citra yang di grayscale dikenai dengan fungsi deteksi tepi

Canny.

3. Citra hasil deteksi tepi dibagi menjadi 8 baris horizontal, dan untuk

setiap barisnya 25x200 piksel dihitung rata-ratanya.

a) For k=1:25, for i=1:200 untuk baris pertama.

b) Mengambil piksel yang bernilai 1, lalu dijumlahkan.

c) Masukan kedalam sub variabel.

4. Ulangi langkah pada nomor 3 untuk baris kedua sampai ke delapan

dengan menambahkan nilai disetiap barisnya.

5. Hasil penjumlahan piksel setiap barisnya dibagi dengan nilai 5000 di

dapat dari 25x200 untuk mencari rata-rata setiap baris vertikal.

6. Simpan dalam variabel untuk hasil rata-rata setiap baris nya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

26

3.3.4 Proses Gabungan Ekstraksi Ciri Warna Dan Rata-rata Vektor

Pada proses ini merupakan proses penggabungan ekstraksi ciri

warna dan rata-rata vektor. Hasil dari setiap perhitungan warna yaitu rata-

rata Red, rata-rata Green, rata-rata Blue dan rata-rata RGB digabungkan

dengan ekstraksi ciri deteksi tepi yang berupa rata-rata vektor horizontal

atau vertikal 8 baris. Sehingga akan terbentuk matriks yang berukuran

1x12 setiap citra.

Untuk mendapatkan ekstrak ciri warna dan rata-rata vektor

diperoleh dengan algoritma seperti dibawah ini:

Masukan: matriks dari citra yang berukuran 200 x200 piksel

Keluaran: data ektraksi ciri warna yang berupa matriks 1x4 untuk setiap

citra

1. Masukan citra berukuran 200 x 200 piksel.

2. Membaca citra.

3. Memisahkan RGB.

- Mengambil keping warna merah (Red)

- Mengambil keping warna hijau (Green)

- Mengambil keping warna biru (Blue)

4. Mencari rata-rata RGB.

- Mencari rata-rata keping warna merah (Red)

- Mencari rata-rata keping warna hijau (Green)

- Mencari rata-rata keping warna biru (Blue)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

27

- Mencari rata-rata RGB (Red, Green, Blue)

5. Citra di ubah menjadi gray.

6. Hasil dari citra yang di grayscale dikenai dengan fungsi deteksi tepi

Canny.

7. Citra hasil deteksi tepi dibagi menjadi 8 baris horizontal, dan untuk

setiap barisnya 25x200 piksel dihitung rata-rata nya.

a. For i= 1:25, for k=1:200untuk baris pertama.

b. Mengambil piksel yang bernilai 1, lalu dijumlahkan.

c. Masukkan kedalam sub variabel.

8. Ulangi langkah pada nomor 3 untuk baris ke dua sampai baris ke

delapan dengan menambahkan nilai disetiap baris nya.

9. Hasil penjumlahan piksel setiap baris nya dibagi dengan nilai 5000 di

dapat dari 25x200 untuk mencari rata-rata setiap baris horizontal.

10. Simpan dalam variabel untuk hasil rata-rata setiap baris nya.

Kemudian untuk algoritma rata-rata vektor vertikal nya seperti

dibawah ini:

11. Citra hasil deteksi tepi dibagi menjadi 8 baris horizontal, dan untuk

setiap barisnya 25x200 piksel dihitung rata-ratanya.

a. For k=1:25, for i=1:200 untuk baris pertama.

b. Mengambil piksel yang bernilai 1, lalu dijumlahkan.

c. Masukan kedalam sub variabel.

12. Ulangi langkah pada nomor 3 untuk baris kedua sampai ke delapan

dengan menambahkan nilai disetiap barisnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

28

13. Hasil penjumlahan piksel setiap barisnya dibagi dengan nilai 5000 di

dapat dari 25x200 untuk mencari rata-rata setiap baris vertikal.

14. Simpan dalam variabel untuk hasil rata-rata setiap baris nya.

3.4 Perancangan Proses Klasifikasi

Setiap hasil dari ekstrasi ciri warna, rata-rata vektor dan penggabungan

antara warna dan rata-rata vektor pada masing-masing citra, dicari mean dan

stándar deviasi untuk setiap atributnya. Setelah di dapatkan nilai mean dan

stándar deviasi dari ekstraksi ciri masing-masing, nilai tersebut di jadikan sebagai

model untuk training dan testing. Proses klasifikasi dengan menggunakan Naive

Bayes dilakukan dengan ekstraksi ciri sesuai pilihan. Algoritma proses klasifikasi

menggunakan Naive Bayes, seperti dibawah ini:

Masukan: nilai mean, nilai stándar deviasi dan data testing

Keluaran: hasil probabilitas

1. Memasukan nilai mean dan stándar deviasi ke dalam rumus Naive Bayes

bersyarat (2.9).

a. For i =1: m untuk baris dari nilai stándar deviasi setiap kelas

b. For j =1: n untuk jumlah atribut dalam setiap kelas

c. Perhitungan dengan menggunakan rumus Naive Bayes

d. Memasukan data testing ke dalam perhitungan naive bayes satu persatu

e. Hasil dari perhitungan naive bayes di masukan kedalam matriks

bayesian

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

29

2. Kemudian menghitung likelihood setiap nilai yang didapat dari hasil

perhitungan Naive Bayes bersyarat (2.10)

a. For k =1: mBayesian untuk nilai dari hasil perhitungan sebelumya

b. For l =1 : nBayesian untuk nilai dari hasil perhitungan sebelumnya

sesuai dengan jumlah atribut dalam setiap kelasnya

c. Jika terdapat nilai 0 dan NaN, maka nilai tersebut tidak akan dihitung

dalam likelihood

d. Melakukan perhitungan likelihood

e. Simpan hasil dari perhitungan likelihood kedalam matriks likelihood

3. Menghitung nilai probabilitas (2.11).

a. For k= 1: mLikelihood untuk hasil dari setiap perhitungan likelihood

b. Melakukan perhitungan probabilitas

c. Simpan hasil probabilitas dalam matriks probabilitas

d. Kemudian mencari nilai probabilitas yang paling besar untuk

menentukan kain tersebut berasal dari daerah mana

e. Hasil nilai probabilitas yang paling besar disimpan dalam variabel

hasilProbabilitas

4. Ulangi langkah pertama sampai ketiga untuk semua data dari setiap kelas.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

30

3.5 Perancangan Proses Akurasi

Untuk mengetahui tingkat keakuratan dari proses klasifikasi ini dengan

cara menghitung akurasi. Berdasarkan pembagian data dengan menggunakan

metode k-fold. Ada tiga pilihan untuk testing dan training yang pertama

menggunakan 2-fold, yang kedua menggunakan 3-fold, dan yang ketiga

menggunakan 5-fold.

Percobaan Testing Training

1 Citra 1, 2, 3, 4, 5 Citra 6, 7, 8, 9, 10

2 Citra 6, 7, 8, 9, 10 Citra 1, 2, 3, 4, 5

Tabel 3. 1 Percobaan 2-fold

Percobaan Testing Training

1 Citra 1, 2, 3 Citra 4, 5, 6, 7, 8, 9, 10

2 Citra 4, 5, 6 Citra 1, 2, 3, 7, 8, 9, 10

3 Citra 7, 8, 9 Citra 1, 2, 3, 4, 5, 6, 10

4 Citra 10, 1, 2 Citra 3, 4, 5, 6, 7, 8, 9

Tabel 3. 2Percobaan 3-fold

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

31

Percobaan Testing Training

1 Citra 1, 2 Citra 3, 4, 5, 6, 7, 8, 9, 10

2 Citra 3, 4 Citra 1, 2, 5, 6, 7, 8, 9, 10

3 Citra 5, 6 Citra 1, 2, 3, 4, 7, 8, 9, 10

4 Citra 7, 8 Citra 1, 2, 3, 4, 5, 6, 9, 10

5 Citra 9, 10 Citra 1, 2, 3, 4, 5, 6, 7, 8

Tabel 3. 3 Percobaan 5-fold

Kemudian dilakukan proses klasifikasi dengan cara seperti pada dibawah ini:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

32

3.6 Perancangan Antar Muka

Dibawah ini merupakan perancangan tampilan halaman klasifikasi kain

tradisional nusantara dengan menggunakan algoritma Naive Bayes Classifier:

Gambar 3. 4 Halaman Klasifikasi kain tradisional nusantara menggunakan

Naive Bayes classifier

Pada halaman sistem ini, terdapat tiga bagian penting yaitu:

1. Bagian Preprocessing

Pada bagian ini terdapat tombol ambil data citra yang berfungsi

untuk mengambil folder citra yang akan di proses, dan akan terlihat nama

citra pada listbox nama citra. Kemudian ada tombol ekstraksi ciri yang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

33

digunakan untuk proses mendapatkan ekstraksi ciri warna, dan deteksi tepi

dengan memilih pilihan ekstraksi ciri disamping tombol ekstraksi ciri,

maka citra yang di ekstrak akan muncul pada tampilan citra RGB untuk

citra yang masih mempunyai nilai RGB, tampilan citra gray untuk citra

yang di grayscaling, dan tampilan citra Canny untuk citra yang sudah

dikenai deteksi tepi menggunakan Canny.

Gambar 3. 5 Tampilan Preprocesing

2. Bagian Klasifikasi 100 Data

Pada bagian ini terdapat pilihan k-fold untuk pembagian data

training dan testing yang di inginkan, ada 3 pilihan yaitu 2-fold, 3-fold,

dan 5-fold. Kemudian tombol klasifikasi yang berfungsi untuk proses

klasifikasi citra yang sudah didapat ekstraksi ciri nya menggunakan Naive

Bayes classifier dan akan terlihat hasil klasifikasi benar nya dalam akurasi

yang berupa persen.

Gambar 3. 6 Tampilan Klasifikasi 100 Data

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

34

3. Bagian Klasifikasi dari data user

Pada bagian ini terdapat tombol uji yang digunakan untuk

mengambil citra yang akan diuji, kemudian citra akan langsung terlihat

pada tampilan citra tes dan akan terlihat hasil probabilitas dengan citra

yang terlihat pada citra hasil.

Gambar 3. 7 Tampilan Klasifikasi Dari Data User

3.7 Kebutuhan Hardware dan Software

Hardware dan Software yang digunakan dalam pembuatan sistem

klasifikasi kain tradisional nusantara ini adalah:

1. Processor : AMD dual-core C60 APU

2. Sistem Operasi : Microsoft Window 7

3. Media Tampilan : VGA AMD Radeon HD 4200 128MB

4. Media Masukkan : Mouse, Keyboard

5. Memory : 2 GB DDR3 Memory

6. Storage : 320GB HDD

7. Software : Matlab2012, Photoscape

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

35

BAB IV

IMPLEMENTASI SISTEM

4.1 Implementasi Klasifikasi

Pada bab ini merupakan implementasi dari perancangan sistem klasifikasi

dengan menggunakan 100 data citra yang meliputi proses memotong citra menjadi

200x200 piksel, ekstraksi setiap ciri yaitu ciri warna dan rata-rata vektor

horizontal dan vertikal serta klasifikasi Naive Bayes.

4.1.1 Implementasi Memotong Citra

Pada proses memotong citra ini menggunakan aplikasi photoscape,

karena penggunaannya yang mudah. Citra kain yang berukuran 460x572

piksel seperti pada gambar 4.1 dimasukan kedalam aplikasi photoscape.

Kemudian melakukan proses croping berukuran 200x200 piksel.

Gambar 4. 1Proses Cropping Citra kain 460x572

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

36

Setelah proses croping selesai terlihat potongan kain yang

berukuran 200x200 piksel seperti pada gambar 4.3, yang akan digunakan

sebagai data kain untuk selanjutnya dilakukan ekstraksi ciri warna dan

rata-rata vektor horizontal atau vertikal.

Gambar 4. 2 Citra kain 200x200 piksel

4.1.2 Implementasi Ekstraksi Ciri Warna

Dibawah ini merupakan implementasi untuk ekstraksi ciri warna

yang meliputi memisahkan warna Red, Green, Blue dan menghitung rata-

rata Red, Green, Blue serta menghitung rata-rata RGB.

%Membaca Citra citra=imread(gambar);

%Memisahkan RGB dan mencari rata2 RGB meanR=0; meanG=0; meanB=0; meanRGB=0; dR=citra(:,:,1); dG=citra(:,:,2); dB=citra(:,:,3); meanR=mean(mean(dR)); meanG=mean(mean(dG)); meanB=mean(mean(dB)); meanRGB=meanR+meanG+meanB/3;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

37

Hasil dari setiap ekstraksi ciri warna disimpan dalam matriks yang

berukuran 1x4 untuk setiap citra dalam setiap kelas, seperti dibawah ini:

Gambar 4. 3 Tabel Ekstrak Ciri Warna

Pada kolom ke-1 merupakan nilai meanR, kolom ke-2 merupakan

nilai meanG, kolom ke-3 merupakan nilai meanB, dan kolom ke-4

merupakan nilai meanRGB. Kolom terakhir merupakan identitas kelas

atau daerah dari masing-masing citra.

4.1.3 Implementasi Ekstraksi Ciri Rata-rata Vektor

Dibawah ini merupakan implementasi proses deteksi tepi

menggunakan algoritma Canny. Sebelum melakukan ekstraksi ciri untuk

mencari rata-rata vektor horizontal atau vertikal, mengubah citra kain asli

yang berukuran 200x200 menjadi grayscaling untuk selanjutnya dilakukan

deteksi tepi menggunakan algoritma Canny. Hasil dari algoritma Canny ini

berupa citra hitam putih yang bernilai 0 dan 1.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

38

%Membaca Citra citra=imread(gambar);

%Mengubah Citra RGB Menjadi Grayscale grey= rgb2gray(citra); % imshow (grey); %Melakukan deteksi tepi hsl= edge(grey,'Canny');

Gambar 4. 4Proses Deteksi tepi Canny

1. Implementasi rata-rata vektor horizontal

Dibawah ini merupakan implementasi untuk mendapatkan ciri rata-rata

vektor horizontal:

%Membagi dalam vektor horizontal obyek=1; sum1=0; sum2=0; sum3=0; sum4=0; sum5=0; sum6=0; sum7=0;

sum8=0;

for i=1:piksel*1 for k=1:m if (hsl(i,k)==obyek) sum1=sum1+1; end end end for i=piksel*1+1:piksel*2 for k=1:m if (hsl(i,k)==obyek) sum2=sum2+1; end end end for i=piksel*2+1:piksel*3 for k=1:m if (hsl(i,k)==obyek) sum3=sum3+1; end end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

39

end for i=piksel*3+1:piksel*4 for k=1:m if (hsl(i,k)==obyek) sum4=sum4+1; end end end for i=piksel*4+11:piksel*5 for k=1:m if (hsl(i,k)==obyek) sum5=sum5+1; end end end for i=piksel*5+1:piksel*6 for k=1:m if (hsl(i,k)==obyek) sum6=sum6+1; end end end for i=piksel*6+1:piksel*7 for k=1:m if (hsl(i,k)==obyek) sum7=sum7+1; end end end for i=piksel*7+1:piksel*8 for k=1:m if (hsl(i,k)==obyek) sum8=sum8+1; end end end

h1 =sum1/pembagi; h2 =sum2/pembagi; h3 =sum3/pembagi; h4 =sum4/pembagi; h5 =sum5/pembagi; h6 =sum6/pembagi; h7 =sum7/pembagi;h8 =sum8/pembagi; end

Untuk menyimpan nilai setiap vektor horizontal menggunakan

variabel h1 sampai h8. Nilai vektor didapat dari jumlah piksel yang

bernilai 1 di setiap vektor di bagi pembagi, yaitu 5000 didapat dari ukuran

setiap vektor 25 x 200 piksel.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

40

Gambar 4. 5 Proses membagi citra kedalam vektor horizontal

Hasil rata-rata dari setiap vektor horizontal disimpan dalam matriks yang

berukuran 1x8 seperti dibawah ini:

Gambar 4. 6Tabel Ekstrak Ciri Vektor Horizontal

Dari kolom ke-1 sampai kolom ke-8 merupakan nilai setiap vektor

horizontal, kolom terakhir atau ke-9 menandakan kelas. Kelas ke-1

menandakan daerah ke-1 yaitu Bali, dan seterusnya hingga kelas ke-10

atau daerah ke-10, yaitu Yogyakarta.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

41

2. Implementasi rata-rata vektor vertikal

Dibawah ini merupakan implementasi untuk mendapatkan ciri rata-rata

vektor vertikal:

%Membagi dalam vektor veertikal obyek=1; sum1=0; sum2=0; sum3=0; sum4=0; sum5=0; sum6=0; sum7=0;

sum8=0;

for i=1:n

for k=1:piksel*1 if (hsl(i,k)==obyek) sum1=sum1+1; end end end for i=1:n for k=piksel*1+1:piksel*2 if (hsl(i,k)==obyek) sum2=sum2+1; end end end for i=1:n for k=piksel*2+1:piksel*3 if (hsl(i,k)==obyek) sum3=sum3+1; end end end for i=1:n for k=piksel*3+1:piksel*4 if (hsl(i,k)==obyek) sum4=sum4+1; end end end for i=1:n for k=piksel*4+11:piksel*5 if (hsl(i,k)==obyek) sum5=sum5+1; end end end for i=1:n for k=piksel*5+1:piksel*6 if (hsl(i,k)==obyek) sum6=sum6+1; end end end for i=1:n

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

42

for k=piksel*6+1:piksel*7 if (hsl(i,k)==obyek) sum7=sum7+1; end end end for i=1:n for k=piksel*7+1:piksel*8 if (hsl(i,k)==obyek) sum8=sum8+1; end end

h1 =sum1/pembagi; h2 =sum2/pembagi; h3 =sum3/pembagi; h4 =sum4/pembagi; h5 =sum5/pembagi; h6 =sum6/pembagi; h7 =sum7/pembagi;h8 =sum8/pembagi; end

Untuk menyimpan nilai setiap vektor vertikal menggunakan

variabel h1 sampai h8. Nilai vektor didapat dari jumlah piksel yang

bernilai 1 di setiap vektor di bagi pembagi, yaitu 5000 didapat dari ukuran

setiap vektor 25 x 200 piksel.

Gambar 4. 7 Proses membagi citra kedalam vektor vertikal

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

43

Hasil rata-rata dari setiap vektor vertikal disimpan dalam matriks yang

berukuran 1x8 seperti dibawah ini:

Gambar 4. 8 Tabel Ekstrak Ciri Vektor Vertikal

4.1.4 Implementasi Ekstraksi Ciri Warna dan Rata-rata Vektor

Dibawah ini merupakan implementasi untuk mendapatkan ciri

warna dan rata-rata vektor horizontal atau vertikal:

%Membaca Citra citra=imread(gambar); %Memisahkan RGB dan mencari rata2 RGB serta Kadar RGB meanR=0; meanG=0; meanB=0; meanRGB=0; dR=citra(:,:,1); dG=citra(:,:,2); dB=citra(:,:,3); meanR=mean(mean(dR)); meanG=mean(mean(dG)); meanB=mean(mean(dB)); meanRGB=meanR+meanG+meanB/3; %Mengubah Citra RGB Menjadi Grayscale grey= rgb2gray(citra); % imshow (grey); %Melakukan deteksi tepi hsl= edge(grey,'Canny'); %Membagi dalam vektor obyek=1; sum1=0; sum2=0; sum3=0; sum4=0; sum5=0; sum6=0; sum7=0;

sum8=0;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

44

for i=1:piksel*1 for k=1:m if (hsl(i,k)==obyek) sum1=sum1+1; end end end for i=piksel*1+1:piksel*2 for k=1:m if (hsl(i,k)==obyek) sum2=sum2+1; end end end for i=piksel*2+1:piksel*3 for k=1:m if (hsl(i,k)==obyek) sum3=sum3+1; end end end for i=piksel*3+1:piksel*4 for k=1:m if (hsl(i,k)==obyek) sum4=sum4+1; end end end for i=piksel*4+11:piksel*5 for k=1:m if (hsl(i,k)==obyek) sum5=sum5+1; end end end for i=piksel*5+1:piksel*6 for k=1:m if (hsl(i,k)==obyek) sum6=sum6+1; end end end for i=piksel*6+1:piksel*7 for k=1:m if (hsl(i,k)==obyek) sum7=sum7+1; end end end for i=piksel*7+1:piksel*8 for k=1:m if (hsl(i,k)==obyek) sum8=sum8+1; end end for i=1:n

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

45

for k=1:piksel*1 if (hsl(i,k)==obyek) sum1=sum1+1; end end end for i=1:n for k=piksel*1+1:piksel*2 if (hsl(i,k)==obyek) sum2=sum2+1; end end end for i=1:n for k=piksel*2+1:piksel*3 if (hsl(i,k)==obyek) sum3=sum3+1; end end end for i=1:n for k=piksel*3+1:piksel*4 if (hsl(i,k)==obyek) sum4=sum4+1; end end end for i=1:n for k=piksel*4+11:piksel*5 if (hsl(i,k)==obyek) sum5=sum5+1; end end end for i=1:n for k=piksel*5+1:piksel*6 if (hsl(i,k)==obyek) sum6=sum6+1; end end end for i=1:n for k=piksel*6+1:piksel*7 if (hsl(i,k)==obyek) sum7=sum7+1; end end end for i=1:n for k=piksel*7+1:piksel*8 if (hsl(i,k)==obyek) sum8=sum8+1; end end h1 =sum1/pembagi; h2 =sum2/pembagi;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

46

h3 =sum3/pembagi; h4 =sum4/pembagi; h5 =sum5/pembagi; h6 =sum6/pembagi; h7 =sum7/pembagi; h8 =sum8/pembagi; end

Hasil dari setiap ekstraksi ciri warna dan rata-rata vektor horizontal atau

vertikal disimpan dalam vektor yang berukuran 1x12, seperti dibawah ini:

Gambar 4. 9 Tabel Ekstrak Ciri Warna & Vektor Horizontal

Gambar 4. 10 Tabel Ekstrak Ciri Warna & Vektor Vertikal

Dari kolom ke-1 sampai kolom ke-12 merupakan nilai setiap ciri

warna dan rata-rata vektor, dan kolom terakhir atau ke-13 menandakan

kelas

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

47

4.1.5 Implementasi Klasifikasi menggunakan Naive Bayes

Dibawah ini merupakan implementasi untuk proses klasifikasi

menggunakan algoritma Naive Bayes:

load 'data.mat','data'; load 'data.mat','lv_size'; % Data dimasukkan di dalam cell % Cell menunjukkan class nCitraPerClass=str2double(get(handles.edJmlCitraPerKelas,'St

ring')); kelas=str2double(get(handles.edJmlDaerah,'String')); jmlData=nCitraPerClass*kelas; kfold=handles.kfold; nTest=floor(nCitraPerClass/kfold) [~,nData]=size(data); dataTemp=[];%matriks kosong class=1; for i=1:jmlData %looping untuk memisahkan data per kelas

dalam masing2 cell if data(i,nData)==class dataTemp=[dataTemp;data(i,:)]; end if mod(i,nCitraPerClass) == 0 dataCell{class}=dataTemp; class=class+1; dataTemp=[]; end end

Data dalam setiap kelas dimasukan kedalam cell. Jumlah cell

sesuai dengan jumlah kelas atau daerah yaitu terdapat 10 cell. Pembagian

citra dalam setiap cell bertujuan untuk memudahkan membagi setiap 10

citra didalam satu kelas. Dibawah ini merupakan data citra yang telah

dimasukan kedalam setiap cell:

Gambar 4. 11 Data di dalam cell

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

48

idx1=1; %batasan untuk ambil data testing idx2=nTest; %batasan untuk ambil data testing sesuai dgn k-

fold nBenar=0; % menampung jumlah benar utk akurasi nSalah=0; %menampung jumlah salah utk akurasi for z=1:nCitraPerClass/nTest % looping trainng testing % Mencari std dan mean for i=1:class %dataCell{i}=zscore(dataCell{i}(:,1:12)); dataTest{i}=dataCell{i}(idx1:idx2,:); % mengambil

data testing trainingTemp=dataCell(i); %mengambil data dari cell

utk training semuanya trainingTemp{:}(idx1:idx2,:)=[]; ttaining=trainingTemp{:}; %data dr trainingtemp

dimasukan kdalam training rerataTrain(i,1:nData-1)=mean(ttaining(:,1:nData-

1)); rerataTrain(i,nData)=i; stdTrain(i,1:nData-1)=std(ttaining(:,1:nData-1)); stdTrain(i,nData)=i; end

Data citra dari hasil ekstraksi ciri yang telah dimasukan kedalam

masing-masing cell digunakan untuk menentukan pengambilan data

testing sesuai dengan k-fold. Data citra dari setiap cell juga digunakan

sebagai data training dan digunakan untuk perhitungan mean dan stándar

deviasi, seperti dibawah ini:

Gambar 4. 12 Tabel Mean Ekstrak Ciri Warna & Vektor Horizontal

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

49

Gambar 4. 13 Tabel Stándar Deviasi Ekstrak Ciri Warna & Vektor

Horizontal

Nilai diatas merupakan nilai mean dan stándar deviasi dari setiap

atribut dari ekstraksi ciri warna dan rata-rata vektor horizontal atau

vertikal. Setiap satu baris nya merupakan nilai mean dan stándar deviasi

dari satu kelas.

% naïve Bayes for i=1:class for j=1:nTest

rerataTesting=dataTest{i}(j,1:nData-1);

stdTraining=stdTrain(:,1:nData-1); rerataTraining=rerataTrain(:,1:nData-1);

[ idxLabel,hasilProbabilitas ] =

bayesKu(stdTraining,rerataTraining,rerataTesting

if idxLabel == i %jika idxlabel hsil prob sama dengan kelas

yg sdang di proses , mka nilai benar akan dijumlahkan nBenar=nBenar+1; end end end % proses menentukan index dta testing idx1=idx1+nTest; idx2=idx2+nTest; end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

50

% Implementasi algoritma naïve Bayes

[m,n]=size(stdTraining); bayesian=zeros(size(stdTraining(1,1:end))); for i=1:m for j=1:n bays1=1/(sqrt(2*pi)*stdTraining(i,j)); bays2=exp(-(((rerataTesting(1,j) -

rerataTraining(i,j))^2)/(2*((stdTraining(i,j))^2)))); bayesian(i,j)=bays1*bays2; end end menghitung likelihood [idxLabel,hasilProbabilitas]=cariProbabilitas(bayesian); function

[idxLabel,hasilProbabilitas]=cariProbabilitas(bayesian) [mBayesian,nBayesian]=size(bayesian);

likehood=zeros(mBayesian,1); likehoodTempt=1; for k=1:mBayesian for l=1:nBayesian

if (bayesian(k,l) ~= 0) && (~isnan(bayesian(k,l))) %

membatasi untuk supaya nilai 0 dan nan

likehoodTempt=likehoodTempt*bayesian(k,l); end end likehood(k)=likehoodTempt; likehoodTempt=1; end [mLikehood,~]=size(likehood); probabilitas=zeros(size(likehood)); for k=1:mLikehood probabilitas(k)=(likehood(k)/sum(likehood)); end [hasilProbabilitas,idxLabel]=max(probabilitas); end end

Data testing diambil dari setiap kelas sesuai dengan pembagian k-fold

seperti pada gambar dibawah ini:

Gambar 4. 14 Data Testing Dalam Setiap Cell

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

51

Gambar 4. 15 Data Testing Dalam Satu Kelas

Data testing dimasukan dalam proses perhitungan mengunakan

Naive Bayes. Kemudian di cocokan dengan data training, untuk

mengetahui kelas dari citra kain data testing.

Gambar 4. 16 Hasil Probabilitas

Gambar 4. 17 Hasil IdxLabel

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

52

Idxlabel merupakan label kelas pada setiap data testing. Jika

Idxlabel dan hasil probabilitas sama dengan kelas yang sedang diproses,

maka hasil benar. Seperti pada matriks diatas, idxlabel bernilai 1, brarti

benar berada pada kelas 1.

4.1.6 Implementasi Akurasi

Dibawah ini merupakan implementasi dari proses akurasi:

akurasi=(nBenar/jmlData)*100; % mencari nilai akurasi

set(handles.txtAcc,'String',num2str(akurasi));

Hasil akurasi klasifikasi citra menggunakan Naive Bayes dengan 5-fold,

dan ekstraksi ciri warna dan vektor horizontal adalah sebagai berikut:

Gambar 4. 18 Hasil Akurasi menggunakan 5-fold

4.1.7 Implementasi Klasifikasi Dari Data User

Dibawah ini merupakan implementasi klasifikasi menggunakan

data masukan dari user:

piksel=25; nCitraPerClass=str2double(get(handles.edJmlCitraPerKelas,'St

ring')); [namaCitra, asalCitra] = uigetfile({'*.jpg'}, 'Pilih

Citra'); [~,nDt]=size(dataTest); dataTest(:,nDt+1)=0;

[~,nData]=size(data);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

53

dataTemp=[]; class=1; for i=1:lv_size(:,1) if data(i,nData)==class dataTemp=[dataTemp;data(i,:)]; end if mod(i,nCitraPerClass) == 0 dataCell{class}=dataTemp; class=class+1; dataTemp=[]; end end

class=class-1; rerataTrain=zeros(class,class); stdTrain=zeros(class,class);

for i=1:class rerataTrain(i,1:nData-1)=mean(dataCell{i}(:,1:nData-

1)); rerataTrain(i,nData)=i; stdTrain(i,1:nData-1)=std(dataCell{i}(:,1:nData-1)); stdTrain(i,nData)=i; end testing=dataTest(:,1:nDt); stdTraining=stdTrain(:,1:nData-1); rerataTraining=rerataTrain(:,1:nData-1); [idxLabel,hasilProbabilitas]=

bayesKu(stdTraining,rerataTraining,testing); set(handles.txtKemiripan,'String',num2str(hasilProbabilitas*

100));

Hasil dari implementasi klasifikasi dengan data citra dari user adalah

seperti dibawah ini:

Gambar 4. 19 Hasil Probabilitas Data Dari User

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

54

Gambar 4. 20 Hasil Klasifikasi Dari Data User

Dari hasil diatas terlihat bahwa data masukan dari user di cocokkan

dengan data citra yang telah diklasifikasi. Dan hasil dapat diketahui pula

hasil probabilitas tertingginya dalam bentuk persen.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

55

4.1.8 Implementasi Antar Muka

Dibawah ini merupakan Implementasi tampilan halaman klasifikasi

kain tradisional nusantara dengan menggunakan algoritma Naive Bayes

Classifier:

Gambar 4. 21 Implementasi Antar Muka Klasifikasi Kain Tradisional

Nusantara Dengan Menggunakan Naive Bayes Classifer

Pada saat proses ekstraksi ciri telah selesai, maka akan muncul

peringatan seperti pada gambar dibawah ini:

Gambar 4. 22 Peringatan Ekstraksi Ciri Telah Selesai

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

56

BAB V

PENGUJIAN DAN ANALISA SISTEM

Pada bab ini akan dibahas mengenai hasil dari setiap proses ekstrak ciri,

klasifikasi dan akurasi dari 2 data citra kain yang berbeda serta menganalisa

keluaran dari masing-masing proses.

5.1 Data

Ada dua jenis data citra yang digunakan dalam klasifikasi ini yaitu:

a. Data pertama terdapat 10 kelas yang masing-masing kelasnya terdapat 10

jenis citra kain tradisional. Jadi, total jumlah citra yang digunakan adalah 100

citra yang setiap citranya berukuran 200x200 piksel, seperti terlihat pada

lampiran I.

b. Data kedua terdapat 10 kelas atau daerah yang dalam 1 kelas terdapat 1 jenis

kain tradisional nusantara yang di potong-potong setiap bagiannya menjadi

10 citra kain setiap kelasnya, jadi total keseluruhan citra kain adalah 100 citra

kain dengan ukuran 200x200 piksel setiap citranya, seperti terlihat pada

lampiran II.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

57

5.2 Akurasi Hasil Klasifikasi Menggunakan Naive Bayes

Dibawah ini merupakan akurasi hasil klasfiikasi citra kain data pertama

menggunakan Naive Bayes:

Ekstraksi Ciri Akurasi Data Pertama

2-fold 3-fold 5-fold

Warna 30% 35% 40%

Vektor Horizontal 17% 21% 22%

Vektor Vertikal 19% 20% 26%

Warna dan Vektor

Horizontal 27% 41% 43%

Warna dan Vektor Vertikal 31% 40% 44%

Tabel 5. 1 Hasil Akurasi Data Pertama

Analisa:

Pada data pertama diketahui mempunyai nilai akurasi rendah di setiap ciri

yang digunakan. Pada klasifikasi menggunakan ciri vektor horisontal mempunyai

nilai akurasi yang rendah yaitu 17% menggunakan 2-fold dibandingkan dengan

penggunaan ciri menggunakan warna. Namun, dengan menggunakan ciri

gabungan yaitu warna dan vektor vertikal mendapatkan nilai lebih baik yaitu 44%

menggunakan 5-fold. Pembagian data menggunakan k-fold juga berpengaruh

dalam penentuan akurasi nya. Selain itu juga dikarenakan pada data pertama yang

ada pada lampiran I, terlihat bahwa kain yang digunakan mempunyai warna yang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

58

tidak identik disetiap daerah atau kelas nya. Motif pada kain data pertama juga

mempunyai motif yang hampir mirip dengan kain dari daerah lainnya.

Ekstraksi Ciri Akurasi Data Kedua

2-fold 3-fold 5-fold

Warna 75% 74% 80%

Vektor Horizontal 42% 45% 46%

Vektor Vertikal 45% 47% 57%

Warna dan Vektor

Horizontal 79% 83% 91%

Warna dan Vektor Vertikal 75% 83% 93%

Tabel 5. 2 Hasil Akurasi Data Kedua

Analisa:

Pada hasil akurasi data kedua mempunyai nilai akurasi yang lebih baik

dibanding dengan nilai akurasi pada penggunaan data pertama. Hal ini

dikarenakan pada data kedua, citra yang digunakan hanya 1 jenis citra kain yang

dipotong menjadi 10 bagian setiap kelasnya sehingga disetiap citra dalam satu

kelas atau daerah mempunyai warna yang identik. Citra dalam satu kelas juga

mempunyai motif yang sama semua atau identik.

Hal ini dapat mempermudah sistem dalam mengenali warna dan motif

citra disetiap kelas nya. Pada klasifikasi menggunakan ciri warna terlihat

mempunyai nilai akurasi yang lebih tinggi dibandingkan dengan menggunakan

ciri vektor horizontal atau vertikal. Untuk penggunaan ciri vektor horizontal atau

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

59

vertikal, cenderung mempunyai nilai akurasi yang rendah dikarenakan motif

untuk setiap citra ada kemungkinan sama dengan citra lain dikelas yang lainnya.

Sedangkan untuk ciri gabungan warna dan vektor horizontal atau vertikal

mendapatkan nilai akurasi yang lebih tinggi yaitu 93%. Hal ini dikarenakan

semakin banyak ciri suatu citra yang digunakan untuk klasifikasi sistem akan

semakin mudah mengenali citra tersebut.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

60

BAB VI

KESIMPULAN DAN SARAN

6.1 Kesimpulan

Kesimpulan dari klasifikasi kain tradisional nusantara menggunakan Naive Bayes

classifier dengan 5 ekstraksi ciri yaitu warna, rata-rata vektor horizontal, rata-rata

vektor vertikal, gabungan warna dan rata-rata vektor horizontal, dan gabungan

warna dan rata-rata vektor vertikal adalah:

Hasil akurasi klasifikasi kain tradisional nusantara dengan data pertama

memiliki akurasi tertinggi pada percobaan menggunakan ekstrak ciri

warna dan vektor vertikal, dengan 5-fold untuk pembagian data training

dan testing nya yaitu sebesar 39%. Sedangkan dengan data kedua memiliki

akurasi tertinggi pada percobaan menggunakan ekstraksi ciri warna dan

vektor vertikal, dengan 5-fold sebesar 93%.

6.2 Saran

1. Dalam klasifikasi kain tradisional nusantara ini hanya menggunakan 10

daerah yang terdapat 10 citra kain yang ada di indonesia. Hal ini perlu di

kembangkan lagi menjadi lebih banyak daerah lagi yang digunakan.

2. Untuk ekstraksi ciri hanya menggunakan warna dan rata-rata vektor, hal

ini dapat dikembangkan lagi dengan menambahkan ciri lainnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

61

3. Klasifikasi kain tradisional nusantara ini menggunakan algoritma Naive

Bayes classifier, dapat di kembangkan dengan mencoba algoritma

klasifikasi lainnya.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

62

DAFTAR PUSTAKA

Ariyantoko, Kusmian. 2014. Implementasi Algoritma Naïve BayesUntuk

Klasifikasi Citra Berdasarkan Ekstraksi Ciri Tekstur Dengan Metode

Matriks Kookurensi. Bandung: Universitas Komputer Indonesia.

Azis, Fauzi & Wulandari, Fitri. 2013. Sistem Temu Kembali Citra Kain Berbasis

Tekstur dan Warna. Riau: Universitas Islam Negeri Sultan Syarif Kasim

Riau.

Canny, J., 1986. A Computational Approach To edge Detection, IEEE Trans.

Pattern Analysisi and Machine Intelligence, vol 8, pages 679-714.

Daftar Motif Kain, Diakses pada tanggal: 28 November 2014 dari:

http://www.budaya-indonesia.org/

Han, J., & Kamber, M.. 2006, Data Mining: Concepts and Techniques 2e, Morgan

Kaufmann Publishers, San Francisco.

Imanuddin. 2010. Pengidentifikasian Batik Berdasarkan Pola Batik dan Ciri-ciri

Batik Menggunakan Ekstraksi Ciri Tekstur kain. Depok: Fakultas

teknologi Industri. Depok.

Melantika, Apriana Sulistia. 2010. Pengenalan Pola Batik Yogyakarta

Menggunakan Metode Hidden Markov Models Dengan Studi Kasus Di

Museum Batik Yogyakarta. Yogyakarta: Universitas Sanata Dharma.

Yogyakarta.

Noviyanto, Ary. 2009. Klasifikasi tingkat kematangan varietas tomat merah

dengan metode perbandingan kadar warna. Yogyakarta: Universitas

Gajah Mada Yogyakarta.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

63

Rachli, Muhamad.2007. Email Filtering menggunakan Naïve Bayesian. Bandung:

Tugas Akhir Jurusan Teknik Elektro Institut Teknologi Bandung.

Tiarani, Paulina Indah. 2011. Klasifikasi Pola Batik Yogyakarta Dengan

Algoritma ID3. Yogyakarta: Universitas Sanata Dharma Yogyakarta.

Wijaya, Ch. Marvin & Prijono, Agus. 2007. Pengolahan Citra Digital

Menggunakan Matlab. Informatika: Bandung.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

64

LAMPIRAN I

Data Kain Tradisional Pertama

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

65

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

66

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

67

LAMPIRAN II

Data Kain Tradisional Kedua

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

68

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

69

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

70

LAMPIRAN III

Data testing dari data pertama:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

71

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

72

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

73

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

74

LAMPIRAN IV

Data testing dari data kedua:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

75

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

76

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

77

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

78

LAMPIRAN V

Source Code:

BacaData.m

function

[grey,hsl,meanR,meanG,meanB,meanRGB,h1,h2,h3,h4,h5,h6,h7,h8 ] =

BacaData( gambar,pixel,option1,option2 ) %BACADATA Summary of this function goes here % Detailed explanation goes here % KETERANGAN: % * optional1 = 1 --> Warna & vektor % * optional1 = 2 --> Warna % * optional1 = 3 --> Vektor % * optional2 = 1 --> Vektor horizontal % * optional2 = 2 --> Vektor vertikal

% pixel=pixel; %Membaca Citra citra=imread(gambar); [mCitra,~]=size(citra); pembagi=pixel*mCitra;

% imshow (citra); %Memisahkan RGB dan mencari rata2 RGB serta Kadar RGB meanR=0; meanG=0; meanB=0; meanRGB=0; if option1 == 1 || option1 == 2 dR=citra(:,:,1); dG=citra(:,:,2); dB=citra(:,:,3); meanR=mean(mean(dR)); meanG=mean(mean(dG)); meanB=mean(mean(dB)); meanRGB=meanR+meanG+meanB/3; end

%Mengubah Citra RGB Menjadi Grayscale grey= rgb2gray(citra); % imshow (grey); %Melakukan deteksi tepi hsl= edge(grey,'Canny'); [m,n]=size(hsl); % imshow(hsl);

% assignin('base','hsl',hsl);

%Membagi dalam vektor obyek=1;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

79

sum1=0; sum2=0; sum3=0; sum4=0; sum5=0; sum6=0; sum7=0; sum8=0;

if option1 == 1 || option1 == 3 if option2 == 1 for i=1:pixel*1 for k=1:m if (hsl(i,k)==obyek) sum1=sum1+1; end end end for i=pixel*1+1:pixel*2 for k=1:m if (hsl(i,k)==obyek) sum2=sum2+1; end end end for i=pixel*2+1:pixel*3 for k=1:m if (hsl(i,k)==obyek) sum3=sum3+1; end end end for i=pixel*3+1:pixel*4 for k=1:m if (hsl(i,k)==obyek) sum4=sum4+1; end end end for i=pixel*4+11:pixel*5 for k=1:m if (hsl(i,k)==obyek) sum5=sum5+1; end end end for i=pixel*5+1:pixel*6 for k=1:m if (hsl(i,k)==obyek) sum6=sum6+1; end end end for i=pixel*6+1:pixel*7 for k=1:m if (hsl(i,k)==obyek) sum7=sum7+1; end end end for i=pixel*7+1:pixel*8 for k=1:m

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

80

if (hsl(i,k)==obyek) sum8=sum8+1; end end end

elseif option2 == 2 for i=1:n for k=1:pixel*1 if (hsl(i,k)==obyek) sum1=sum1+1; end end end for i=1:n for k=pixel*1+1:pixel*2 if (hsl(i,k)==obyek) sum2=sum2+1; end end end for i=1:n for k=pixel*2+1:pixel*3 if (hsl(i,k)==obyek) sum3=sum3+1; end end end for i=1:n for k=pixel*3+1:pixel*4 if (hsl(i,k)==obyek) sum4=sum4+1; end end end for i=1:n for k=pixel*4+11:pixel*5 if (hsl(i,k)==obyek) sum5=sum5+1; end end end for i=1:n for k=pixel*5+1:pixel*6 if (hsl(i,k)==obyek) sum6=sum6+1; end end end for i=1:n for k=pixel*6+1:pixel*7 if (hsl(i,k)==obyek) sum7=sum7+1; end end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

81

end for i=1:n for k=pixel*7+1:pixel*8 if (hsl(i,k)==obyek) sum8=sum8+1; end end end end end

h1 =sum1/pembagi; h2 =sum2/pembagi; h3 =sum3/pembagi; h4 =sum4/pembagi; h5 =sum5/pembagi; h6 =sum6/pembagi; h7 =sum7/pembagi; h8 =sum8/pembagi;

end

Bayesku.m

function [ idxLabel,hasilProbabilitas ] = bayesKu(

stdTraining,rerataTraining,testing ) %UNTITLED Summary of this function goes here % Detailed explanation goes here

[m,n]=size(stdTraining);% m = baris, n = kolom bayesian=zeros(size(stdTraining(1,1:end))); % menyiapkan matrix 0

untk menampung nilai bayes

for i=1:m % looping untuk menghitung bayes for j=1:n % looping untuk n sama dengan jumlah atribut bays1=1/(sqrt(2*pi)*stdTraining(i,j)); bays2=exp(-(((testing(1,j) -

rerataTraining(i,j))^2)/(2*((stdTraining(i,j))^2)))); bayesian(i,j)=bays1*bays2; %hasil dari perhitungan bayes end % bayesian(i,1:end)=zscore(bayesian(i,1:end)); end % assignin('base','bayesian',bayesian);

% bayesian=zscore(bayesian); % assignin('base','bayesianZscore',bayesian);

% membuat fungsi baru, fungsi di dalam fungsi untuk menghitung

likelihood [idxLabel,hasilProbabilitas]=cariProbabilitas(bayesian);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

82

function

[idxLabel,hasilProbabilitas]=cariProbabilitas(bayesian)

[mBayesian,nBayesian]=size(bayesian); % [baris, kolom dari

hasil bayesian] likehood=zeros(mBayesian,1); %menyiapkan matrix 0 likehoodTempt=1; for k=1:mBayesian % looping untuk likelihood

for l=1:nBayesian % looping untuk nbayesian sama

dengan atribut if (bayesian(k,l) ~= 0) && (~isnan(bayesian(k,l)))

% membatasi untuk supaya nilai 0 dan nan tdak masuk dlm perhtungan

liklihood likehoodTempt=likehoodTempt*bayesian(k,l); end end likehood(k)=likehoodTempt; likehoodTempt=1; end

[mLikehood,~]=size(likehood); % probabilitasTemp=zeros(size(likehood)); probabilitas=zeros(size(likehood));

for k=1:mLikehood probabilitas(k)=(likehood(k)/sum(likehood)); % untuk

mencari prior probabilitas %

probabilitasTemp(k)=(likehood(k)/(likehood(k)+likehood(k))); end

% [hasilProbabilitas,idxLabel]=max(probabilitasTemp); %

[hasilProbabilitas,idxLabel]=max(probabilitas*probabilitasTemp(1))

; [hasilProbabilitas,idxLabel]=max(probabilitas); % untuk

menemtukan kain itu berada dikelas mana dicari yang paling tinggi

nilainya

assignin('base','likehood',likehood); % assignin('base','probabilitas',probabilitas); % assignin('base','hasilProbabilitas',hasilProbabilitas); % assignin('base','idxLabel',idxLabel);

% idxLabel=4; % hasilProbabilitas=likehood(4);

end

end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

83

KlasifikasiNaiveBayes.m

function varargout = KlasifikasiNaiveBayess(varargin) % KLASIFIKASINAIVEBAYESS MATLAB code for

KlasifikasiNaiveBayess.fig % KLASIFIKASINAIVEBAYESS, by itself, creates a new

KLASIFIKASINAIVEBAYESS or raises the existing % singleton*. % % H = KLASIFIKASINAIVEBAYESS returns the handle to a new

KLASIFIKASINAIVEBAYESS or the handle to % the existing singleton*. % %

KLASIFIKASINAIVEBAYESS('CALLBACK',hObject,eventData,handles,...)

calls the local % function named CALLBACK in KLASIFIKASINAIVEBAYESS.M with

the given input arguments. % % KLASIFIKASINAIVEBAYESS('Property','Value',...) creates a

new KLASIFIKASINAIVEBAYESS or raises the % existing singleton*. Starting from the left, property

value pairs are % applied to the GUI before KlasifikasiNaiveBayess_OpeningFcn

gets called. An % unrecognized property name or invalid value makes property

application % stop. All inputs are passed to

KlasifikasiNaiveBayess_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows

only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help

KlasifikasiNaiveBayess

% Last Modified by GUIDE v2.5 02-Sep-2015 05:23:32

% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn',

@KlasifikasiNaiveBayess_OpeningFcn, ... 'gui_OutputFcn',

@KlasifikasiNaiveBayess_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

84

if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT

% --- Executes just before KlasifikasiNaiveBayess is made visible. function KlasifikasiNaiveBayess_OpeningFcn(hObject, eventdata,

handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to KlasifikasiNaiveBayess (see

VARARGIN)

% Choose default command line output for KlasifikasiNaiveBayess handles.output = hObject;

clc; warning off;

axes(handles.axLogoUSD) imshow('Icons\logo.png') axes(handles.axCitraAsli) imshow('Icons\whos.jpg') axes(handles.axGrey) imshow('Icons\whos.jpg') axes(handles.axCanny) imshow('Icons\whos.jpg') axes(handles.axCitraTest) imshow('Icons\whos.jpg') axes(handles.axCitraHasil) imshow('Icons\whos.jpg')

handles.optional=1; handles.kfold=2;

% Update handles structure guidata(hObject, handles);

% UIWAIT makes KlasifikasiNaiveBayess wait for user response (see

UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = KlasifikasiNaiveBayess_OutputFcn(hObject,

eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

85

% hObject handle to figure % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure varargout{1} = handles.output;

% --- Executes on button press in btnAmbildirektori. function btnAmbildirektori_Callback(hObject, eventdata, handles) % hObject handle to btnAmbildirektori (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

dirName = uigetdir('citra\','cari folder data gambar');

if dirName ~= 0 set(handles.edAlmtCitraTraining,'String',dirName); files = dir(fullfile(dirName,'*.jpg')); A = {files.name}; N = cellfun( @str2double, regexp(A, '\d+', 'match')); [~,I] = sort(N); set(handles.lbNmFileCitra,'String',A(I)); set(handles.txtJmlData,'String',num2str(size(A,2))); pengaturanComponent(handles,1); else pengaturanComponent(handles,0); end

% --- Executes on button press in btnEkstrakciri. function btnEkstrakciri_Callback(hObject, eventdata, handles)

clc; set(handles.txtAcc,'String','0'); speed=0.01;

% Penentuan arah vektor pixel=25; nCitraPerClass=str2double(get(handles.edJmlCitraPerKelas,'String')

); kelas=str2double(get(handles.edJmlDaerah,'String')); jmlData=nCitraPerClass*kelas; % val = get(handles.ppmEdge,'Value'); % tepi=get(handles.ppmEdge,'String'); % handles.tepi=tepi{val}; option1=handles.optional; if option1 == 1 %warna dan vektor vektorH=get(handles.rbH,'Value'); % vektorV=get(handles.rbV,'Value') if vektorH==1 %vektor horisontal option2=1; %vektor horisontal

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

86

else option2=2; %vektor vertikal end elseif option1 == 2 %warna option2=3; % bukan vertikal n horisontal elseif option1 == 3 %vektor vektorH=get(handles.rbH,'Value'); % vektorV=get(handles.rbV,'Value') if vektorH==1 %vektor horisontal option2=1; %vektor horisontal else option2=2; %vektor vertikal end end

% Mengambil MeanRGB dan VektorH untuk selanjutnya ditampilkan di

dalam % variabel data. lv = get(handles.lbNmFileCitra, 'String'); dirName = get(handles.edAlmtCitraTraining,'String'); lv_size = size(lv); %jumlah data ato jumlah file gambar data=zeros(lv_size(:,1), kelas); %membuat matriks kosong untuk

menampung data nilai 0 progresTemp=100/lv_size(:,1); progres=0; class=1; % for i=1:lv_size(:,1) for i=1:jmlData %looping baca file gambar, sejumlah data yang

digunakan dirFile = strcat(dirName,'\',lv(i)); % dirFile = strcat(dirName,'\',num2str(i),'.jpg'); set(handles.lbNmFileCitra,'Value',i) image = char(dirFile); % i_str = int2str(i); % disdat=strcat('processing data ke-',i_str); % disdat=char(disdat); % disp(disdat); axes(handles.axCitraAsli) imshow(image) %

[cr1,cr2,cr3,cr4,cr5,cr6,cr7,cr8,cr9,cr10,cr11,cr12,cr13] =

BacaData(image); [grey,hsl,meanR,meanG,meanB,meanRGB,h1,h2,h3,h4,h5,h6,h7,h8] =

BacaData(image,pixel,option1,option2);

axes(handles.axGrey) imshow(grey) axes(handles.axCanny) imshow(hsl)

if option1 == 1

dataTemp1=[meanR,meanG,meanB,meanRGB,h1,h2,h3,h4,h5,h6,h7,h8]; elseif option1 == 2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

87

dataTemp1=[meanR,meanG,meanB,meanRGB];

elseif option1 == 3 dataTemp1=[h1,h2,h3,h4,h5,h6,h7,h8]; end

[~,nDc]=size(dataTemp1);

% dataTemp1=zscore(dataTemp1); for j=1:nDc dataTemp2(i,j)=dataTemp1(j); %menampung data dataTemp2(i,nDc+1)=class; %pemberian label kelas untuk

setiap data yang diproses end if mod(i,nCitraPerClass) == 0

class=class+1; end

% Progres progres=progres+progresTemp; set(handles.txtProses,'String',[num2str(int8(progres)),' ']); pause(speed); end data=dataTemp2; %hasil ekstrak ciri

% dataTemp=zscore(data(:,1:nDc)); % [ dataTemp, ~ ] = pca( data(:,1:nDc), 0); % dataTemp=zscore(dataTemp(:,1:nDc)); % data=[dataTemp,data(:,nDc+1)];

save('data.mat','data','lv_size');

uiwait(msgbox('Proses ekstrak ciri telah

selesai','Peringatan','modal')); % guidata(hObject, handles);

% --- Executes on button press in btnKlasifikasi. function btnKlasifikasi_Callback(hObject, eventdata, handles)

%#ok<INUSD,DEFNU> % hObject handle to btnKlasifikasi (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

clc;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

88

load 'data.mat','data'; load 'data.mat','lv_size'; % Data dimasukkan di dalam cell % Cell menunjukkan class

nCitraPerClass=str2double(get(handles.edJmlCitraPerKelas,'String')

); kelas=str2double(get(handles.edJmlDaerah,'String')); jmlData=nCitraPerClass*kelas; kfold=handles.kfold; nTest=floor(nCitraPerClass/kfold)

[~,nData]=size(data); dataTemp=[];%matriks kosong class=1; % for i=1:lv_size(:,1) for i=1:jmlData %looping untuk memisahkan data per kelas dalam

masing2 cell if data(i,nData)==class dataTemp=[dataTemp;data(i,:)]; end if mod(i,nCitraPerClass) == 0 dataCell{class}=dataTemp; class=class+1; dataTemp=[]; end end

assignin('base','data',dataCell); class=class-1; rerataTrain=zeros(class,class); %membuat matrix 0 untuk rata2

training stdTrain=zeros(class,class); %membuat matrix 0 untuk std training

idx1=1; %batasan untuk ambil data testing idx2=nTest; %batasan untuk ambil data testing sesuai dgn k-fold nBenar=0; % menampung jumlah benar utk akurasi nSalah=0; %menampung jumlah salah utk akurasi

for z=1:nCitraPerClass/nTest % looping trainng testing % Mencari std dan mean for i=1:class % dataCell{i}=zscore(dataCell{i}(:,1:12)); dataTest{i}=dataCell{i}(idx1:idx2,:); % mengambil data

testing

trainingTemp=dataCell(i); %mengambil data dari cell utk

training semuanya trainingTemp{:}(idx1:idx2,:)=[]; %data testing nya d hapus

dr trainingtemp ttaining=trainingTemp{:}; %data dr trainingtemp dimasukan

kdalam training rerataTrain(i,1:nData-1)=mean(ttaining(:,1:nData-1)); %

kalau ada -1 brarti kelasnya tdak dihitung

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

89

rerataTrain(i,nData)=i; % selesai menghitung rata2

kelasnya dimasukan lagi kdalam rerata train di indeks trakhir stdTrain(i,1:nData-1)=std(ttaining(:,1:nData-1)); stdTrain(i,nData)=i; end

assignin('base','rerataTrain',rerataTrain); assignin('base','stdTrain',stdTrain); % assignin('base','dataTest',dataTest); % assignin('base','dataNorm',dataCell);

% Bayes % Akurasi %Tambahan untuk mengeluarkan hasil klasifikasi idxSemuaLabel=[]; %<<< hasilSemuaProb=[]; %<<< benarSalah=[]; %<<< for i=1:class %looping berdasarkan kelas for j=1:nTest %looping sejumlah data test testing=dataTest{i}(j,1:nData-1); % mengambil nilai

data test dari masing2 data testing % rerataTesting=mean(dataTest{i}(:,1:12)); stdTraining=stdTrain(:,1:nData-1); rerataTraining=rerataTrain(:,1:nData-1); [ idxLabel,hasilProbabilitas ] =

bayesKu(stdTraining,rerataTraining,testing); % masuk proses bayes idxSemuaLabel(i,j)=idxLabel; %<<< hasilSemuaProb(i,j)=hasilProbabilitas; %<<<

if idxLabel == i %jika idxlabel hsil prob sama dengan

kelas yg sdang di proses , mka nilai benar akan dijumlahkan nBenar=nBenar+1;% jumlah nilai benar benarSalah{i,j}='BENAR'; %<<< else benarSalah{i,j}='salah'; %<<< end end end % proses menentukan index dta testing idx1=idx1+nTest; idx2=idx2+nTest; end % assignin('base','dataTest',dataTest); assignin('base','idxSemuaLabel',idxSemuaLabel); assignin('base','hasilSemuaProb',hasilSemuaProb); assignin('base','benarSalah',benarSalah); % assignin('base','hasilProbabilitas',hasilProbabilitas); % assignin('base','nBenar',nBenar);

akurasi=(nBenar/jmlData)*100; % mencari nilai akurasi set(handles.txtAcc,'String',num2str(akurasi));

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

90

% --- Executes on button press in btnTest. function btnTest_Callback(hObject, eventdata, handles) % hObject handle to btnTest (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA) clc; pixel=25; nCitraPerClass=str2double(get(handles.edJmlCitraPerKelas,'String')

); [namaCitra, asalCitra] = uigetfile({'*.jpg'}, 'Pilih Citra');

if namaCitra ~=0 load 'data.mat','data'; load 'data.mat','lv_size'; % val = get(handles.ppmEdge,'Value'); % tepi=get(handles.ppmEdge,'String'); % handles.tepi=tepi{val}; option1=handles.optional; if option1 == 1 vektorH=get(handles.rbH,'Value'); % vektorV=get(handles.rbV,'Value') if vektorH==1 option2=1; else option2=0; end elseif option1 == 2 option2=3; elseif option1 == 3 vektorH=get(handles.rbH,'Value'); % vektorV=get(handles.rbV,'Value') if vektorH==1 option2=1; else option2=2; end end asalNamaFile=fullfile(asalCitra,namaCitra); set(handles.edDirTest,'String',asalNamaFile); axes(handles.axCitraTest) imshow(asalNamaFile)

set(handles.txtCitraTest,'String',namaCitra);

image = char(asalNamaFile); [~,~,meanR,meanG,meanB,meanRGB,h1,h2,h3,h4,h5,h6,h7,h8] =

BacaData(image,pixel,option1,option2);

if option1 == 1

dataTest=[meanR,meanG,meanB,meanRGB,h1,h2,h3,h4,h5,h6,h7,h8]; elseif option1 == 2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

91

dataTest=[meanR,meanG,meanB,meanRGB];

elseif option1 == 3 dataTest=[h1,h2,h3,h4,h5,h6,h7,h8]; end

[~,nDt]=size(dataTest); dataTest(:,nDt+1)=0;

[~,nData]=size(data); dataTemp=[]; class=1; for i=1:lv_size(:,1) if data(i,nData)==class dataTemp=[dataTemp;data(i,:)]; end if mod(i,nCitraPerClass) == 0 dataCell{class}=dataTemp; class=class+1; dataTemp=[]; end end

class=class-1; rerataTrain=zeros(class,class); stdTrain=zeros(class,class);

for i=1:class % % dataCell{i}=zscore(dataCell{i}(:,1:12)); % dataTest{i}=dataCell{i}(idx1:idx2,:);

% trainingTemp=dataCell(i); % trainingTemp{:}(idx1:idx2,:)=[]; % ttaining=trainingTemp{:}; rerataTrain(i,1:nData-1)=mean(dataCell{i}(:,1:nData-1)); rerataTrain(i,nData)=i; stdTrain(i,1:nData-1)=std(dataCell{i}(:,1:nData-1)); stdTrain(i,nData)=i; end

% for i=1:class % for j=1:nTest testing=dataTest(:,1:nDt); % rerataTesting=mean(dataTest{i}(:,1:12)); stdTraining=stdTrain(:,1:nData-1); rerataTraining=rerataTrain(:,1:nData-1); [ idxLabel,hasilProbabilitas ] =

bayesKu(stdTraining,rerataTraining,testing) % if idxLabel == i % nBenar=nBenar+1; % end % end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

92

% end

set(handles.txtKemiripan,'String',num2str(hasilProbabilitas*100));

asalKain=''; folder=get(handles.edAlmtCitraTraining,'String'); if idxLabel == 1 axes(handles.axCitraHasil) imshow(strcat(folder,'\1.jpg')) asalKain='Bali'; elseif idxLabel == 2 axes(handles.axCitraHasil) imshow(strcat(folder,'\11.jpg')) asalKain='Bengkulu'; elseif idxLabel == 3 axes(handles.axCitraHasil) imshow(strcat(folder,'\21.jpg')) asalKain='KalSel'; elseif idxLabel == 4 axes(handles.axCitraHasil) imshow(strcat(folder,'\31.jpg')) asalKain='Lampung'; elseif idxLabel == 5 axes(handles.axCitraHasil) imshow(strcat(folder,'\41.jpg')) asalKain='Lombok'; elseif idxLabel == 6 axes(handles.axCitraHasil) imshow(strcat(folder,'\51.jpg')) asalKain='NTT'; elseif idxLabel == 7 axes(handles.axCitraHasil) imshow(strcat(folder,'\61.jpg')) asalKain='Papua'; elseif idxLabel == 8 axes(handles.axCitraHasil) imshow(strcat(folder,'\71.jpg')) asalKain='Pekalongan'; elseif idxLabel == 9 axes(handles.axCitraHasil) imshow(strcat(folder,'\81.jpg')) asalKain='SuMut'; elseif idxLabel == 10 axes(handles.axCitraHasil) imshow(strcat(folder,'\91.jpg')) asalKain='Yogyakarta'; % elseif idxLabel == 11 % axes(handles.axCitraHasil) % imshow(strcat(folder,'\201.jpg')) % asalKain='Riau'; % elseif idxLabel == 12 % axes(handles.axCitraHasil) % imshow(strcat(folder,'\221.jpg')) % asalKain='SumSel';

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 112: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

93

% elseif idxLabel == 13 % axes(handles.axCitraHasil) % imshow(strcat(folder,'\241.jpg')) % asalKain='Yogyakarta'; end

set(handles.txtCitraHasil,'String',asalKain);

end

function pengaturanComponent(handles,aktif) if aktif == 1 set(handles.ppupOptional,'Value',1); set(handles.ppupOptional,'Enable','on'); set(handles.rbH,'Enable','on'); set(handles.rbV,'Enable','on'); % set(handles.ppmEdge,'Enable','on'); set(handles.edJmlDaerah,'Enable','on'); set(handles.edJmlCitraPerKelas,'Enable','on'); set(handles.btnEkstrakciri,'Enable','on'); set(handles.btnTest,'Enable','on'); set(handles.lbNmFileCitra,'Value',1) set(handles.txtProses,'String','0 '); else set(handles.ppupOptional,'Enable','inactive'); set(handles.rbH,'Enable','inactive'); set(handles.rbV,'Enable','inactive'); % set(handles.ppmEdge,'Enable','inactive'); set(handles.edJmlDaerah,'Enable','inactive'); set(handles.edJmlCitraPerKelas,'Enable','inactive'); set(handles.btnEkstrakciri,'Enable','inactive'); set(handles.btnTest,'Enable','inactive'); set(handles.lbNmFileCitra,'String',{'Nama Citra'}); set(handles.lbNmFileCitra,'Value',1) set(handles.txtJmlData,'String','0 '); set(handles.txtProses,'String','0 '); end

% --- Executes on selection change in ppupOptional. function ppupOptional_Callback(hObject, eventdata, handles) % hObject handle to ppupOptional (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns

ppupOptional contents as cell array % contents{get(hObject,'Value')} returns selected item from

ppupOptional handles.optional=get(hObject,'Value'); optional=handles.optional;

if optional == 1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 113: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

94

set(handles.rbH,'Enable','on'); set(handles.rbV,'Enable','on'); % set(handles.ppmEdge,'Enable','on'); elseif optional == 2 set(handles.rbH,'Enable','off'); set(handles.rbV,'Enable','off'); % set(handles.ppmEdge,'Enable','off'); elseif optional == 3 set(handles.rbH,'Enable','on'); set(handles.rbV,'Enable','on'); % set(handles.ppmEdge,'Enable','on'); end guidata(hObject, handles);

% --- Executes during object creation, after setting all

properties. function ppupOptional_CreateFcn(hObject, eventdata, handles) % hObject handle to ppupOptional (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: popupmenu controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on selection change in ppmKFold. function ppmKFold_Callback(hObject, eventdata, handles) % hObject handle to ppmKFold (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns

ppmKFold contents as cell array % contents{get(hObject,'Value')} returns selected item from

ppmKFold

kfold=get(hObject,'Value'); if kfold == 1 handles.kfold = 2; elseif kfold == 2 handles.kfold = 3; elseif kfold == 3 handles.kfold = 5; end guidata(hObject, handles);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 114: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

95

% --- Executes during object creation, after setting all

properties. function ppmKFold_CreateFcn(hObject, eventdata, handles) % hObject handle to ppmKFold (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: popupmenu controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes during object creation, after setting all

properties. function images_CreateFcn(hObject, eventdata, handles) % hObject handle to images (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: place code in OpeningFcn to populate images

function edDirTest_Callback(hObject, eventdata, handles) % hObject handle to edDirTest (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edDirTest as

text % str2double(get(hObject,'String')) returns contents of

edDirTest as a double

% --- Executes during object creation, after setting all

properties. function edDirTest_CreateFcn(hObject, eventdata, handles) % hObject handle to edDirTest (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 115: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

96

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edAlmtCitraTraining_Callback(hObject, eventdata, handles) % hObject handle to edAlmtCitraTraining (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of

edAlmtCitraTraining as text % str2double(get(hObject,'String')) returns contents of

edAlmtCitraTraining as a double

% --- Executes during object creation, after setting all

properties. function edAlmtCitraTraining_CreateFcn(hObject, eventdata,

handles) % hObject handle to edAlmtCitraTraining (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on selection change in lbNmFileCitra. function lbNmFileCitra_Callback(hObject, eventdata, handles) % hObject handle to lbNmFileCitra (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns

lbNmFileCitra contents as cell array % contents{get(hObject,'Value')} returns selected item from

lbNmFileCitra

% --- Executes during object creation, after setting all

properties. function lbNmFileCitra_CreateFcn(hObject, eventdata, handles) % hObject handle to lbNmFileCitra (see GCBO)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 116: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

97

% eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: listbox controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edJmlDaerah_Callback(hObject, eventdata, handles) % hObject handle to edJmlDaerah (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edJmlDaerah as

text % str2double(get(hObject,'String')) returns contents of

edJmlDaerah as a double

% --- Executes during object creation, after setting all

properties. function edJmlDaerah_CreateFcn(hObject, eventdata, handles) % hObject handle to edJmlDaerah (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edJmlCitraPerKelas_Callback(hObject, eventdata, handles) % hObject handle to edJmlCitraPerKelas (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of

edJmlCitraPerKelas as text

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 117: KLASIFIKASI KAIN TRADISIONAL NUSANTARA …repository.usd.ac.id/4602/2/115314071_full.pdfi KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

98

% str2double(get(hObject,'String')) returns contents of

edJmlCitraPerKelas as a double

% --- Executes during object creation, after setting all

properties. function edJmlCitraPerKelas_CreateFcn(hObject, eventdata, handles) % hObject handle to edJmlCitraPerKelas (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on selection change in ppmEdge. function ppmEdge_Callback(hObject, eventdata, handles) % hObject handle to ppmEdge (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns ppmEdge

contents as cell array % contents{get(hObject,'Value')} returns selected item from

ppmEdge

% --- Executes during object creation, after setting all

properties. function ppmEdge_CreateFcn(hObject, eventdata, handles) % hObject handle to ppmEdge (see GCBO) % eventdata reserved - to be defined in a future version of

MATLAB % handles empty - handles not created until after all

CreateFcns called

% Hint: popupmenu controls usually have a white background on

Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI