• Tidak ada hasil yang ditemukan

Klasifikasi kain tradisional nusantara dengan menggunakan algoritma Naive Bayes Classifier.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Klasifikasi kain tradisional nusantara dengan menggunakan algoritma Naive Bayes Classifier."

Copied!
119
0
0

Teks penuh

(1)

MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

ABSTRAK

(2)

THE NAIVE BAYES CLASSIFIER

ABSTRACT

(3)

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

(4)

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

(5)
(6)
(7)

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

(8)
(9)
(10)
(11)

ix

KLASIFIKASI KAIN TRADISIONAL NUSANTARA DENGAN

MENGGUNAKAN ALGORITMA NAIVE BAYES CLASSIFIER

ABSTRAK

(12)

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

(13)

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.

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)
(22)

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.

(23)

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).

(24)

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.

(25)

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.

(26)

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

(27)

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

(28)

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.

(29)

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

(30)

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):

(31)

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

(32)

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

(33)

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)

(34)

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

(35)

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).

(36)

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

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

(37)

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

(38)

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

Tabel 2. 1 Tabel Contoh Soal Perhitungan Naive Bayes

Langkah-langkah untuk menyelesaikan permasalahan diatas dengan menggunakan Naive Bayes adalah sebagai berikut:

(39)

18

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

(40)

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:

(41)

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.

(42)

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 Ekstraksi Ciri Warna Ekstraksi Ciri Rata-rata Vektor Ekstraksi Ciri Warna & Rata-rata Vektor

Proses Klasifikasi

(43)

22

Yang kedua adalah menghitung probabilitas maksimal dari data citra yang dimasukan oleh user. Hasil keluarannya adalah daerah asal dari citra yang Ekstraksi Ciri Warna Ekstraksi Ciri Rata-rata Vektor Ekstraksi Ciri Warna & Rata-rata Vektor

Proses Klasifikasi

(44)

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.

(45)

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.

(46)

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.

(47)

26

3.3.4 Proses Gabungan Ekstraksi Ciri Warna Dan Rata-rata Vektor

Pada proses ini merupakan proses penggabungan ekstraksi ciri warna dan rata vektor. Hasil dari setiap perhitungan warna yaitu rata-rata Red, rata-rata-rata-rata Green, rata-rata-rata-rata Blue dan rata-rata-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.

(48)

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.

(49)

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

(50)

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

(51)

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

(52)

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

(53)

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

(54)

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.

(55)

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

(56)

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.

(57)

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-rata-rata RGB.

%Membaca Citra

citra=imread(gambar);

%Memisahkan RGB dan mencari rata2 RGB

meanR=0; meanR=mean(mean(dR)); meanG=mean(mean(dG)); meanB=mean(mean(dB));

(58)

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

(59)

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;

(60)

39

(61)

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

(62)

41

2. Implementasi rata-rata vektor vertikal

Dibawah ini merupakan implementasi untuk mendapatkan ciri rata-rata vektor vertikal:

%Membagi dalam vektor veertikal

obyek=1;

(63)

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.

(64)

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; 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);

(65)
(66)
(67)

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

(68)

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

for i=1:jmlData %looping untuk memisahkan data per kelas

dalam masing2 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:

(69)

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

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:

(70)

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

bayesKu(stdTraining,rerataTraining,rerataTesting

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

yg sdang di proses , mka nilai benar akan dijumlahkan

(71)

50

% Implementasi algoritma naïve Bayes

[m,n]=size(stdTraining);

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

membatasi untuk supaya nilai 0 dan nan

likehoodTempt=likehoodTempt*bayesian(k,l);

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:

(72)

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

(73)

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;

(74)

53

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:

(75)

54

Gambar 4. 20 Hasil Klasifikasi Dari Data User

(76)

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:

(77)

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.

(78)

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:

(79)

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

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.

(80)

59

(81)

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

(82)

61

3. Klasifikasi kain tradisional nusantara ini menggunakan algoritma Naive Bayes classifier, dapat di kembangkan dengan mencoba algoritma

(83)

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

(84)

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.

(85)

64

LAMPIRAN I

(86)
(87)
(88)

67

LAMPIRAN II

(89)
(90)
(91)

70

LAMPIRAN III

(92)
(93)
(94)
(95)

74

LAMPIRAN IV

(96)
(97)
(98)
(99)

78

%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;

%Memisahkan RGB dan mencari rata2 RGB serta Kadar RGB

meanR=0; meanR=mean(mean(dR)); meanG=mean(mean(dG)); meanB=mean(mean(dB));

meanRGB=meanR+meanG+meanB/3; end

%Mengubah Citra RGB Menjadi Grayscale

(100)

79

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

(101)
(102)

81

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

% membuat fungsi baru, fungsi di dalam fungsi untuk menghitung likelihood

(103)

82

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

% probabilitasTemp=zeros(size(likehood));

probabilitas=zeros(size(likehood));

% [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);

(104)

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

% 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;

if nargin && ischar(varargin{1})

(105)

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;

% 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)

(106)

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;

vektorH=get(handles.rbH,'Value');

% vektorV=get(handles.rbV,'Value')

if vektorH==1 %vektor horisontal

(107)

86

vektorH=get(handles.rbH,'Value');

% vektorV=get(handles.rbV,'Value')

if vektorH==1 %vektor horisontal

% 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)

(108)

87

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

[~,nDc]=size(dataTemp1);

% dataTemp1=zscore(dataTemp1);

for j=1:nDc

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)

(109)

88 load 'data.mat','data';

load 'data.mat','lv_size';

% Data dimasukkan di dalam cell % Cell menunjukkan class

for i=1:jmlData %looping untuk memisahkan data per kelas dalam

masing2 cell

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

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

kdalam training

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

Gambar

Tabel 3. 1 Percobaan 2-fold .............................................................................................
Gambar 2. 1. Proses Deteksi tepi
Gambar 2. 2 Ilustrasi pembagian vektor horizontal
Gambar 2. 3 Ilustrasi pembagian vektor vertikal
+7

Referensi

Dokumen terkait

Demi untuk menghadapi persaingan dengan kuasa Barat, umat Islam tidak seharusnya menggunakan pendekatan kekerasan (Louay M. Safi, 1998), sebaliknya umat Islam perlu lebih

Pengenalan tipologi suatu kawasan perkotaan diketahui dengan melihat desa perkotaan lama (tahun 1990 dan 2000 desa perkotaan yang terbentuk tidak jauh berbeda),

Tipe B adalah klasifikasi tipologi untuk menyebut alat tulang yang mempunyai fungsi sebagai alat tusuk/pencukil, dengan ukuran panjang lebih dari 10 cm,

Bab keempat Deskripsi Hasil Penelitian yang terdiri dari : Analisis data Tentang strategi Quantum Quotient, Analisis Data Tentang Prestasi Belajar Siswa Pada

DOAKAN UNTUK PARA PELAYAN TUHAN GPO (Pengerja, MJ, Komisi, Tim kerja dan Aktifis) agar memiliki hubungan yang selalu dekat dengan Tuhan dan terus bertumbuh

Hal inilah yang menjadikan tari Sema sebagai jalan untuk bertarekat dalam Tarekat Maulawiyah (Kartanegara dalam Susanti, 2005 : 5). Di Indonesia kini sudah mulai

mengin'esi manusia- $aitu  P. malariae- dan  P.. vivax dan  P. ovale siBon&lt;siBon dari setiap generasi men)adi matang setiap / )am seali sehingga demam

Misalnya penambahan objek lain seperti rumah, teks, atau apa saja yang dikira mendukung untuk tercapainya sebuah visual dapat dipasang pada objek tiga dimensi yang telah tercipta