• Tidak ada hasil yang ditemukan

KLASIFIKASI POLA BATIK YOGYAKARTA DENGAN ALGORITMA ID3 SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika

N/A
N/A
Protected

Academic year: 2019

Membagikan "KLASIFIKASI POLA BATIK YOGYAKARTA DENGAN ALGORITMA ID3 SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika"

Copied!
122
0
0

Teks penuh

(1)

i

KLASIFIKASI POLA BATIK YOGYAKARTA

DENGAN ALGORITMA ID3

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh:

Paulina Indah Tiarani NIM : 065314008

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

(2)

ii

THE YOGYAKARTA BATIK PATTERN CLASSIFICATION

USING ID3 ALGORITHM

A THESIS

Presented as Partial Fulfillment of the Requerements

To Ontain the Sarjana Komputer Degree

In Department of Informatics Engineering

By:

Paulina Indah Tiarani Student ID : 065314008

INFORMATICS ENGINEERING STUDY PROGRAM INFORMATICS ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY

(3)
(4)
(5)

v

HALAMAN PERSEMBAHAN

Dalam hidup ini semua ada waktunya. Ada waktu menabur…

Ada juga waktu menuai.

Mungkin dalam hidup, badai datang meyerbu. Mungkin doa bagai tak terjawab.

Namun yakinlah tetap. Tuhan tak’kan terlambat! Juga tak akan lebih cepat.

Semuanya…

Dia jadikan indah tepat pada waktuNya.







(6)
(7)
(8)

viii

ABSTRAK

Batik merupakan warisan budaya Indonesia yang perlu dilestarikan. Setiap daerah memiliki pola batik yang berbeda-beda. Demikian juga dengan batik Yogyakarta yang awalnya hanya terbatas untuk kalangan keraton saja, tetapi sekarang batik berkembang dengan cepat. Perkembangan ini tidak diimbangi dengan pengetahuan tentang pola batik tersebut. Oleh karena itu dilakukan penelitian dan pembangunan alat bantu untuk mempermudah klasifikasi pola batik tersebut.

Pada tugas akhir ini akan dilakukan proses klasifikasi pola batik. Klasifikasi adalah sebuah model prediksi dari data mining untuk memprediksi kelas dari suatu variabel. Algoritma yang akan digunakan untuk klasifikasi adalah algoritma ID3. ID3 adalah sebuah algoritma yang digunakan untuk menghasilkan pohon keputusan. Dalam penelitian ini algoritma ID3 akan digunakan untuk mengolah data citra dan juga untuk mengukur seberapa akurat algoritma ID3 dalam proses klasifikasi data citra.

Dalam tugas akhir ini data yang akan diproses adalah citra pola batik. Pola batik yang digunakan hanya batik yang berasal dari Yogyakarta. Terdapat 10 jenis batik Yogyakarta yang akan dikenali dan setiap batik akan dibuat model dari 40 sampel batik. Data citra dibagi menjadi data training dan data testing. Pohon keputusan akan dibentuk dengan menggunakan data training. Terdapat beberapa atribut yang diperoleh dari ekstraksi feature yaitu feature warna dan rata-rata vektor citra batik. Langkah pembuatan pohon adalah mengambil semua atribut dan menghitung nilai entropy dan nilai gain, memilih atribut yang memiliki nilai gain paling besar sebagai akar, dan membuat cabang yang berisi atribut. Dari pohon yang terbentuk dibuat rules untuk diuji dengan memasukan data testing.

(9)

ix

ABSTRACT

Batik was an Indonesia heritage which was needed to be conserved. Each region has a different Batik pattern. Likewise, Yogyakarta’s Batik are initially confined to the palace only, but now Batik developing rapidly. This development was not matched by knowledge of the Batik pattern. Therefore carried out research and development tools to make easier classify Batik pattern.

This research concerned with the classification process of Batik pattern. Classification was a predictive model of data mining that predicts the class of some other variables. Algorithm that used for this classification was ID3 algorithm. ID3 was an algorithm which was used for providing decision tree. This research used ID3 algorithm to process the data image and to measure the accuracy of ID3 algorithm in processing the data image.

This research proceed the image of Batik pattern. The pattern of Batik was from Yogyakarta’s Batik. There were ten types of Yogyakarta’s Batik which would be recognized. Every batik was formed a model of 40 samples of Batik. The data were divided into data for training and data for testing. The decision tree would be formed by data training. There were several attributes that is feature of color and the average of vector which were gained from the extraction of feature. The steps of making decision tree were to collect all attributes and to count the value of entropy and the value of gain, to choose the attributes which had the biggest value of gain as a root of tree, and to make branch which contained attributes. After decision tree was formed, rules were made to be tested by entering the data testing.

(10)

x

KATA PENGANTAR

Puji syukur kepada Yesus Kristus atas berkat dan karunia yang telah diberikan sehingga penulis dapat menyelesaikan skripsi dengan judul “Klasifikasi Pola Batik Yogyakarta dengan Algoritma ID3”.

Dalam penyusunan skripsi ini, banyak sekali pihak yang telah membantu penulis, dan pada kesempatan ini penulis ingin mengucapkan terima kasih sedalam-dalamnya kepada:

1. Kedua orang tua penulis, Th. Rapih Djiwana dan An. Tinik Hastuti atas dukungan moral, spiritual, dan finansial dalam penyusunan skripsi.

2. Kedua saudaraku, Natalia Rianingsih dan Maria Priska Brilliana yang selalu memberi semangat dan dukungan kepada penulis.

3. Ibu A. Rita Widiarti, S.Si., M.Kom selaku dosen pembimbing atas segala waktu, saran, bimbingan, dan kesabaran yang telah diberikan.

4. Drs. C. Kuntoro Adi S.J, M.A, M.S, Ph.D yang telah menjadi pembimbing dan teman diskusi yang sangat membantu.

5. Ibu Sri Hartati Wijono, S.Si., M.Kom dan Ibu Ridowati Gunawan, S.Kom, M.Tselaku dosen penguji, atas saran dan masukkan yang diberikan dalam perbaikan skripsi.

6. Pihak pengelola museum batik yang telah bersedia memberikan data-data batik Yogyakarta.

(11)
(12)

xii

DAFTAR ISI

HALAMAN JUDUL BAHASA INDONESIA ... i

HALAMAN JUDUL BAHASA INGGRIS ... ii

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

HALAMAN PERSEMBAHAN ... v

HALAMAN PERNYATAAN KEASLIAN KARYA ... vi

HALAMAN PERSETUJUAN PUBLIKASI ... vii

ABSTRAK ... viii

1.5. Metodologi Penelitian ... 3

1.6. Sistematika Penulisan ... 4

II. LANDASAN TEORI ... 6

2.1. Batik Yogyakarta ... 6

2.1.1. Sejarah Batik Yogyakarta ... 6

2.1.2. Motif Batik Yogyakarta... 7

2.2. Pengenalan Pola ... 8

2.2.1. Pre-Processing... 10

2.2.2. Ekstraksi Feature ... 11

2.2.1.1. Warna ... 11

(13)

xiii

2.3. Algoritma ID3 ... 13

2.3.1. Atribut ... 14

2.3.2. Entropy ... 15

2.3.3. Information Gain ... 16

2.4. Metode Evaluasi k-Fold Cross Validation ... 16

2.5. Confusion Matrix ... 18

2.6. Matlab ... 18

2.7. Contoh Perhitungan dengan Algoritma ID3 ... 19

III. ANALISA DAN PERANCANGAN SISTEM ... 31

3.1. Perancangan Sistem Secara Umum ... 31

3.1.1. Gambaran Sistem ... 33

3.1.2. Perancangan Fase Training Model ... 36

3.1.2.1. Ekstraksi Feature ... 36

3.1.2.2. Training ... 38

3.1.3. Perancangan Fase Testing... 38

3.1.3.1. Ekstraksi Feature ... 38

3.1.3.2. Pencocokan Kemiripan ... 39

3.1.4. Perancangan Proses Evaluasi ... 39

3.2. Perancangan Antar Muka ... 41

3.2.1. Halaman Home ... 41

3.2.2. Halaman Pengenalan Pola Batik ... 41

3.2.3. Halaman Pengujian dengan Algoritma ID3 ... 42

3.2.4. Halaman Konsep ID3 ... 43

3.2.5. Halaman Help ... 43

3.2.6. Halaman Identitas Program ... 44

3.3. Kebutuhan Perangkat Lunak ... 44

3.4. Kebutuhan Perangkat Keras ... 45

3.5. Algoritma Pembuatan Program ... 45

3.5.1. Modul Ekstraksi Feature ... 45

3.5.2. Modul Training dengan Algoritma ID3 ... 48

(14)

xiv

3.4.4. Modul pembuatan confusion matrix dan perhitungan evaluasi 5-fold cross

validation ... 49

IV. IMPLEMENTASI SISTEM ... 50

4.1. Implementasi Algoritma ... 50

4.2. Implementasi Sistem ... 56

4.2.1. Implementasi dengan data sample ... 56

4.2.2. Implementasi dengan feature warna dan rata-rata horisontal ... 58

4.3. Implementasi Antar Muka ... 63

4.3.1. Halaman Utama ... 63

4.3.2. Halaman Pengujian ... 65

4.3.3. Halaman Pengenalan ... 67

4.3.4. Halaman Algoritma ID3 ... 68

4.3.5. Halaman Metode 5-Fold Cross Validation ... 68

4.3.6. Halaman Bantuan ... 69

4.3.7. Halaman Identitas Sistem ... 70

V. ANALISA HASIL DAN PEMBAHASAN ... 71

5.1. Hasil Penelitian ... 71

5.1.1. Hasil Penelitian Menggunakan Feature Warna dan Rata-rata vektor Horisontal ... 71

5.1.2. Hasil Penelitian Menggunakan Feature Warna dan Rata-rata vektor Vertikal ... 76

VI. KESIMPULAN DAN SARAN ... 82

6.1. Kesimpulan ... 82

6.2. Saran ... 83

DAFTAR PUSTAKA ... 84

LAMPIRAN 1 CODING PROGRAM ... 77

LAMPIRAN 2 DATA HASIL ... 102

(15)

xv

DAFTAR GAMBAR

Gambar 2.1 desain dasar sistem klasifikasi pola ... 9

Gambar 2.2 Ilustrasi Pembagian Vektor Horisontal ... 12

Gambar 2.3 Ilustrasi Pembagian Vektor Vertikal ... 13

Gambar 2.4 Ilustrasi pembagian data gambar batik ... 17

Gambar 2.5 Ilustrasi 5-fold cross validation ... 17

Gambar 2.6 Pohon keputusan awal ... 22

Gambar 2.7 Pohon keputusan level 1 cabang 2... 24

Gambar 2.8 Pohon keputusan level 1 cabang 2 dan 3 ... 25

Gambar 2.9 Pohon keputusan level 2 cabang 2, 1 ... 26

Gambar 2.10 Pohon keputusan level 2 cabang 2, 2 ... 27

Gambar 2.11 Pohon keputusan yang terbentuk ... 28

Gambar 3.1 Alur Klasifikasi Pola Batik Secara Umum ... 32

Gambar 3.2 Blok Diagram Sistem ... 32

Gambar 3.3 Gambaran Umum ... 33

Gambar 3.4 Tahap Training dan Testing ... 34

Gambar 3.5 Tahap Training ... 34

Gambar 3.6 Tahap Testing ... 35

Gambar 3.7. Gambar pembagian vektor horisontal ... 37

Gambar 3.8. Gambar pembagian vektor vertikal ... 37

Gambar 3.9. Pengelompokan Pola Batik untuk proses evaluasi ... 39

Gambar 3.10. Halaman Home Sistem Klasifikasi Pola Batik ... 41

Gambar 3.11. Halaman Pengenalan... 41

Gambar 3.12. Halaman Pengujian ... 42

Gambar 3.13. Halaman Konsep ID3... 43

Gambar 3.14. Halaman Help ... 43

Gambar 3.15. Halaman About Sistem Klasifikasi... 44

Gambar 4.1 Potongan program untuk sistem klasifikasi ... 57

(16)

xvi

Gambar 4.3 Hasil pada Workspace ... 58

Gambar 4.4 Ilustrasi pembagian vektor (a)horisontal (b)vertikal ... 59

Gambar 4.5 Hasil untuk akurasi tertinggi pada Command Window ... 61

Gambar 4.6 Hasil untuk akurasi tertinggi pada Workspace ... 62

Gambar 4.7 Variabel di dalam struct ... 62

Gambar 4.8 Halaman utama prototipe klasifikasi pola batik Yogyakarta ... 64

Gambar 4.9 Halaman question dialog ... 64

Gambar 4.10 Halaman pengujian pola batik ... 65

Gambar 4.11 Halaman pengenalan pola batik ... 67

Gambar 4.12 Kotak file selector untuk membuka gambar ... 67

Gambar 4.13 Halaman Algoritma ID3 ... 68

Gambar 4.14 Halaman Metode 5-fold cross validation ... 69

Gambar 4.15 Halaman Bantuan ... 69

(17)

xvii

DAFTAR TABEL

Tabel 2.1. Tabel Confusion Matrix ... 18

Tabel 2.2. Tabel Contoh data hasil ekstraksi feature... 19

Tabel 2.3. Tabel Contoh data hasil konversi ... 20

Tabel 2.4. Tabel Contoh data Training ... 21

Tabel 2.5. Tabel Entropy dan Gain ... 22

Tabel 2.6. Tabel Data untuk cabang H3=2 ... 23

Tabel 2.7. Tabel Entropy dan Gain untuk cabang H3=2 ... 24

Tabel 2.8. Tabel Data untuk cabang H3=3 ... 24

Tabel 2.9. Tabel Entropy dan Gain untuk cabang H3=3 ... 25

Tabel 2.10. Tabel Data untuk cabang H3=2, H1=1 ... 25

Tabel 2.11. Tabel Entropy dan Gain untuk cabang H3=2, H1=1 ... 26

Tabel 2.12. Tabel Data untuk cabang H3=2, H1=2 ... 26

Tabel 2.13. Tabel Entropy dan Gain untuk cabang H3=2, H1=2 ... 27

Tabel 2.14. Tabel Data untuk cabang H3=2, H1=3 ... 27

Tabel 2.15. Tabel Entropy dan Gain untuk cabang H3=2, H1=3 ... 28

Tabel 2.16. Tabel Data Testing ... 29

Tabel 2.17. Tabel Hasil Klasifikasi ... 29

Tabel 2.18. Tabel Data asli ... 30

Tabel 2.19. Tabel Confusion Matrix ... 30

Tabel 3.1 Tabel Confusion Matrix ... 40

Tabel 4.1 Data training ... 56

Tabel 4.2 Data testing ... 57

Tabel 4.3 Beberapa data hasil ekstraksi feature warna dan rata-rata vektor horisontal ... 59

Tabel 4.4 Data hasil konversi ... 60

Tabel 5.1. Tabel confution matrix I feature warna+rata-rata horisontal ... 72

Tabel 5.2. Tabel confution matrix II feature warna+rata-rata horisontal ... 73

Tabel 5.3. Tabel confution matrix III feature warna+rata-rata horisontal ... 73

(18)

xviii

Tabel 5.5. Tabel confution matrix V feature warna+rata-rata horisontal... 75

Tabel 5.6. Data angka akurasi feature warna+rata-rata edge horisontal ... 75

Tabel 5.7. Tabel confution matrix I feature warna+rata-rata vertikal ... 77

Tabel 5.8. Tabel confution matrix II feature warna+rata-rata vertikal ... 77

Tabel 5.9. Tabel confution matrix III feature warna+rata-rata vertikal ... 78

Tabel 5.10. Tabel confution matrix IV feature warna+rata-rata vertikal ... 79

Tabel 5.11. Tabel confution matrix V feature warna+rata-rata vertikal ... 79

Tabel 5.12. Data angka akurasi feature warna+rata-rata edge vertikal ... 80

Tabel 5.13. Rangkuman Hasil Percobaan dengan akurasi tertinggi ... 80

(19)

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Indonesia memiliki beragam budaya, salah satunya adalah batik. Batik merupakan warisan budaya Indonesia yang perlu dilestarikan. Batik berasal dari berbagai daerah di Indonesia. Setiap daerah memiliki pola batik yang berbeda-beda. Demikian juga dengan batik Yogyakarta yang awalnya hanya terbatas untuk kalangan keraton saja, tetapi sekarang batik berkembang dengan cepat. Perkembangan ini tidak diimbangi dengan pengetahuan tentang motif/pola batik tersebut. Oleh karena itu dilakukan penelitian dan pembangunan alat bantu untuk mengklasifikasikan pola batik tersebut dengan mudah.

Banyak metode/algoritma yang digunakan untuk klasifikasi pola, salah satunya adalah ID3. ID3 adalah sebuah algoritma yang digunakan untuk menghasilkan pohon keputusan. Pohon keputusan menyediakan sebuah metode praktis untuk konsep belajar/pembelajaran fungsi nilai diskrit. Algoritma ID3 adalah algoritma pohon keputusan yang sederhana yang membentuk pohon keputusan dari akar ke bawah, memilih atribut terbaik berikutnya untuk setiap keputusan cabang baru (Storkey, 2004).

(20)

Klasifikasi Pola Batik Yogyakarta dengan Algoritma ID3” disertai dengan pembangunan sebuah sistem pengenal pola batik dalam sistem komputer. Alasan penulis memilih algoritma ID3 karena algoritma ID3 belum pernah digunakan dalam klsifikasi data berupa citra. Ini merupakan penelitian baru yang ingin dikembangkan.

1.2. Rumusan Masalah

Dari uraian di atas, rumusan masalah pada tugas akhir ini adalah “Bagaimana unjuk kerja algoritma ID3 untuk klasifikasi pola batik?”

1.3. Tujuan

Tujuan yang ingin dicapai dalam tugas akhir ini adalah mengetahui keakuratan algoritma ID3 untuk klasifikasi pola batik Yogyakarta.

1.4.Batasan Masalah

Batasan dari masalah tersebut adalah:

1. Pola batik yang diteliti adalah pola batik daerah Yogyakarta. 2. Ada 10 jenis batik Yogyakarta yang digunakan untuk penelitian ini. 3. Sampel batik yang digunakan berdasarkan:

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

b. Jarak kain batik dengan kamera digital waktu pemotretan data batik adalah sekitar 30 cm.

(21)

d. Ukuran gambar yang dapat diproses adalah 200x200 piksel.

4. Tahap persiapan dilakukan dengan menggunakan deteksi tepi dengan metode Canny.

5. Proses ekstraksi feature berdasarkan warna, rata-rata vektor horisontal, dan rata-rata vektor vertikal dari citra batik.

6. Pembuatan program hanya sebuah prototipe untuk membantu analisa algoritma ID3 dalam menangani pola batik Yogyakarta.

1.5. Metodologi Penelitian

1. Survei ke museum batik Yogyakarta untuk memperoleh data citra pola batik dan wawancara kepada ahli budaya di museum batik Yogyakarta mengenai macam-macam pola batik.

2. Studi literatur, membaca jurnal ilmiah maupun mencari informasi di internet tentang macam-macam pola batik yang berasal dari daerah Yogyakarta, tentang pengenalan pola dan juga tentang algoritma ID3. 3. Mengumpulkan data dengan memotret pola batik menggunakan

kamera digital dan memotong citra menjadi 200x200 piksel.

(22)

5. Mengkonversi data feature dengan mencari nilai min dan max tiap atribut. Selisih min dan max dibagi 3 untuk memperoleh range. 6. Data yang tersedia dibagi menjadi 5 bagian, 4/5 untuk data training

dan 1/5 untuk data testing.

7. Mengolah data training dengan menggunakan algoritma ID3 untuk membentuk pohon.

8. Menggunakan pohon yang terbentuk untuk klasifikasi data testing. Data testing diambil per baris dan setiap atribut dicocokan dengan kondisi pada pohon keputusan dari akar sampai dengan daun(kelas). 9. Setelah kelas(pola) pada setiap data testing sudah ditemukan maka

akan dibentuk confision matrix. Akurasi diperoleh dari total data diagonal confision matrix dibagi total data testing dikalikan 100%. 10. Pembuatan alat bantu berupa perangkat lunak.

11. Pengujian dan analisa hasil.

1.6. Sistematika Penulisan

Pembahasan keseluruhan tugas akhir ini dibagi menjadi 6 bab, yaitu:

BAB I PENDAHULUAN

(23)

BAB II LANDASAN TEORI

Berisi landasan teori yang akan mendukung studi dari metode yang menjadi dasar analisa permasalahan yang ada.

BAB III ANALISA DAN PERANCANGAN SISTEM

Berisianalisa dan perancangan sistem yang akan dibangun, yaitu sistem klasifikasi dan pegenalan pola batik Yogyakarta.

BAB IV IMPLEMENTASI SISTEM

Berisi implementasi pembangunan sistem/alat bantu dengan algoritma ID3.

BAB V ANALISA HASIL DAN PEMBAHASAN

Berisi tentang analisa hasil implementasi dan pembahasan.

BAB VI KESIMPULAN DAN SARAN

(24)

6

BAB II

LANDASAN TEORI

2.1. Batik Yogyakarta

2.1.1. Sejarah Batik Yogyakarta

Dari kerajaan-kerajaan di Solo, Yogyakarta dan sekitarnya abad 17, 18 dan 19, batik kemudian berkembang luas, khususnya di wilayah Pulau Jawa. Awalnya batik hanya sekadar hobi dari para keluarga raja di dalam berhias lewat pakaian (GKBI.info, 2008). Namun perkembangan selanjutnya oleh masyarakat batik dikembangkan menjadi komoditi perdagangan.

(25)

Akibat dari peperangan waktu zaman dahulu baik antara keluarga raja-raja maupun antara penjajahan Belanda dahulu, maka banyak keluarga-keluarga raja yang mengungsi dan menetap didaerah-daerah baru antara lain ke Banyumas, Pekalongan, dan kedaerah Timur Ponorogo, Tulungagung dan sebagainya. Meluasnya daerah pembatikan dimulai abad ke-18. Keluarga-keluarga kraton yang mengungsi inilah yang mengembangkan pembatikan seluruh pelosok pulau Jawa yang ada sekarang dan berkembang menurut alam dan daerah baru itu.

Perang Pangeran Diponegoro melawan Belanda, mendesak sang pangeran dan keluarganya serta para pengikutnya harus meninggalkan daerah kerajaan. Mereka kemudian tersebar ke arah Timur dan Barat. Kemudian di daerah-daerah baru itu para keluarga dan pengikut pangeran Diponegoro mengembangkan batik.

2.1.2. Motif Batik Yogyakarta

(26)

hubungannya dengan arti atau makna filosofis dalam kebudayaan Hindu-Jawa. Pada motif tertentu ada yang dianggap sakral dan hanya dapat dipakai pada kesempatan atau peristiwa tertentu, diantaranya pada upacara perkawinan (Nagoro,1988).

Batik Yogyakarta adalah salah satu dari batik Indonesia yang pada awalnya dibuat terbatas hanya untuk kalangan keluarga keraton saja. Setiap motif yang terujud dalam goresan canting pada kain batik Yogyakarta adalah sarat akan makna. Hal inilah yang membedakan batik Yogyakarta dengan batik-batik lain, yang menjaga batik Yogyakarta tetap memiliki eksklusifitas dari sebuah mahakarya seni dan budaya Indonesia (mioelgallery.multiply.com, 2005).

Ada banyak jenis motif batik Yogyakarta, tetapi dalam penelitian ini yang digunakan hanya terbatas pada motif batik tertentu. Terdapat 10 pola yang akan diklasifikasikan dalam tugas akhir ini.

2.2. Pengenalan Pola

(27)

Pengenalan karakter (huruf dan angka) adalah bagian lain yang penting dari pengenalan pola dalam menangani automatisasi dan informasi.

Pengenalan pola biasanya merupakan langkah perantaraan bagi proses lebih lanjut. Langkah ini biasanya merupakan keluaran data (gambar, bunyi, teks, dll.) untuk dikelaskan, pre-pemrosesan untuk menghilangkan gangguan atau menormalkan gambar dalam satu cara, pengiraan ciri-ciri, pengkelasan dan akhirnya post-pemrosesan berdasarkan kelas pengenalan (Richard, 2001).

Pengenalan pola itu sendiri khususnya berkaitan dengan langkah pengkelasan. Dalam kasus tertentu, sebagaimana dalam jaringan syaraf (neural networks), pemilihan ciri-ciri juga dilaksanakan secara semi otomatis atau otomatis sepenuhnya.

Gambar 2.1 Desain dasar sistem klasifikasi pola (Theodoridis, 2003)

(28)

meningkatkan kinerja secara keseluruhan. Selain itu ada beberapa metode yang mengabungkan tahap, misalnya feature selection dan classifier design untuk optimasi sistem secara umum.

2.2.1. Pre-processing

Pada tahap ini dilakukan dengan deteksi tepi untuk memperoleh pola batik. Edge (tepi) adalah perubahan nilai intensitas derajat keabuan yang mendadak (besar) dalam jarak yang singkat. Sebuah operator deteksi tepi, yaitu sebuah operasi yang memodifikasi nilai keabuan sebuah titik berdasarkan nilai-nilai keabuan dari titik-titik yang ada disekitarnya (tetangganya) yang masing-masing mempunyai bobot tersendiri (Sutoyo, 2009). Tujuan lain operasian pendeteksi tepi adalah untuk meningkatkan penampakan garis batas suatu daerah atau objek di dalam citra.

Salah satu operator deteksi tepi adalah operator deteksi tepi Canny. Operator deteksi tepi Canny dikembangkan oleh John F. Canny pada tahun 1986 dan menggunakan multi-tahap algoritma untuk mendeteksi berbagai tepi dalam gambar (Canny, 1986).

(29)

(2.1) dapat juga didekati dengan orde pertama turunan dari Gaussians (Canny, 1986).

Meskipun detector tepi Canny ditemukan pada awal visi komputer, tetapi detector tepi Canny (termasuk variasinya) masih merupakan detektor tepi state-of-the-art. Kecuali pada kondisi tertentu, sulit untuk menemukan detektor tepi yang melakukan signifikan lebih baik daripada detektor tepi Canny (Shapiro, 2001).

Deferensial tepi detector dapat dilihat sebagai sebuah reformulasi metode Canny dari sudut pandang invariants diferensial dihitung dari skala-ruang representasi yang mengarah ke sejumlah keuntungan baik dari segi analisis teoritis dan sub-piksel implementasi.

2.2.2. Ekstrasi Feature

2.2.2.1. Warna

Secara umum feature warna hanya memperhatikan distribusi warna piksel-piksel dalam citra tanpa memperhatikan ukuran dan orientasi posisi citra. Distribusi warna dapat direpresentasikan dalam berbagai bentuk, antara lain histogram warna dan momen warna (Noviyanto, 2009).

Dalam tugas akhir ini feature yang diambil dari warna adalah rata-rata dari masing-masing keping R, G dan B dan juga rata-rata dari ketiga keping.

=

∑ ∑

(30)

(2.2)

m merupakan panjang piksel citra dan n merupakan lebar piksel citra. i merupakan kolom piksel dan j merupakan baris piksel.

2.2.2.2. Rata-rata vektor

Citra dibagi menjadi 8 vektor horisontal atau 8 vektor vertikal. Setiap vektor dihitung nilai rata-ratanya. Jumlah rata-rata tiap vektor tersebut dijadikan sebagai feature.

a) Vektor Horisontal

Gambar 2.2 Ilustrasi pembagian vektor horisontal

Pada gambar 2.2 citra dibagi secara horisontal menjadi 8 bagian. Setiap bagian dihitung rata-ratanya. Akan diperoleh 8 nilai rata-rata yang akan dijadikan feature.

(31)

b) Vektor Vertikal

Gambar 2.3 Ilustrasi pembagian vektor vertical

Pada gambar 2.3 citra dibagi secara vertikal menjadi 8 bagian. Setiap bagian dihitung rata-ratanya. Akan diperoleh 8 nilai rata-rata yang akan dijadikan feature.

2.3. Algoritma ID3

Decision Tree adalah salah satu metode yang banyak digunakan dan praktis untuk kesimpulan induktif. (Tom M. Mitchell,1997). Salah satu algoritma decision tree adalah algoritma ID3. ID3 pertama kali dikembangkan oleh J. Ross Quinlan di University of Sydney. ID3 pertama kali disajikan pada tahun 1975 dalam sebuah buku, Machine Learning,

(32)

Dalam tugas akhir ini penulis menggunakan algoritma ID3 untuk mengolah data image pola batik dan juga untuk mengukur seberapa akurat algoritma ID3 dalam pemrosesan data image tersebut. Cara kerja algoritma ID3 adalah sebagai berikut (Quinlan, J. R., 1986):

1. Ambil semua atribut dan menghitung entropinya. 2. Hitung Gain tiap atribut

3. Pilih atribut yang nilai gainnya paling besar.

4. Buat akar dari atribut yang nilai gainnya paling besar.

5. Ulangi proses untuk setiap cabang sampai semua kasus pada cabang memiliki kelas.

2.3.1. Atribut

Perkiraan kriteria dalam decision tree adalah pemilihan atribut untuk menguji pada setiap keputusan simpul di pohon. Tujuannya adalah untuk memilih atribut yang paling berguna untuk mengklasifikasi contoh. Ukuran kuantitatif baik dari nilai suatu atribut adalah sebuah sifat yang disebut information gain yang mengukur seberapa baik atribut yang digunakan saat training sesuai dengan target klasifikasi. Langkah ini digunakan untuk memilih kandidat atribut disetiap langkah ketika membangun pohon.

(33)

(2.5)

(2.6)

2.3.2. Entropy

Dalam rangka memperoleh informasi untuk menetapkan atribut secara tepat, maka perlu mendefinisikan ukuran informasi yang biasa digunakan dalam teori, yang disebut entropy. Entropy digunakan untuk menentukan seberapa informasi masukan atribut tertentu tentang atribut output untuk subset dari data pelatihan. Entropy adalah ukuran ketidakpastian dalam komunikasi sistem yang diperkenalkan oleh Shannon tahun 1948. Ini adalah fundamental dalam teori informasi modern (Squire, 2004).

S = himpunan Kasus(kelas) n = jumlah partisi n

pi = peluang dari Si terhadap S

Si = himpunan atribut

(34)

(2.7)

2.3.3. InformationGain

Information Gain sebagai pengurangan dari entropy untuk menetapkan atribut ketika membangun node sebuah decision tree.

S = himpunan Kasus(kelas) A = atribut

n = jumlah partisi pada atribut A |Si| = jumlah kasus pada partisi ke-i

|S| = jumlah kasus dalam S

Dengan kata lain Gain(S,A) menyatakan berapa banyak akan diperoleh percabangan dalam A. Atribut A dengan informasi gain tertinggi, (Gain (A)), dipilih sebagai atribut pada note N.

2.4. Metode Evaluasi k-Fold Cross Validation

Cross Validation adalah metode statistic evaluasi dan membandingkan algoritma dengan membagi data menjadi 2 bagian, satu digunakan untuk training dan yang lain digunakan untuk testing. Dasar bentuk cross validation adalah k-fold cross validation (Payam, 2008).

(35)

dengan sampai dengan , maka pembagian data diperoleh dari

5

⁄ begitu juga dengan gambar pola batik yang lain.

Gambar 2.4 Ilustrasi pembagian data gambar batik

Data dibagi menjadi 5 bagian agar data yang digunakan untuk testing berbeda dengan data yang digunakan untuk training. Lalu secara bergantian data digunakan dalam pengujian.

(36)

2.5. Confision Matrix

Confusion Matrix adalah tabel dengan setiap kolom pada matriks merepresentasikan kejadian di kelas yang diprediksi, sementara setiap baris mewakili kejadian di kelas yang sebenarnya. Elemen-elemen diagonal merupakan data yang diklasifikasikan dengan benar sedangkan lintas diagonal mewakili unsur-unsur data salah kesalahan dalam klasifikasi. Tabel ini juga menunjukkan akurasi klasifikasi sebagai persentase data klasifikasi yang benar. Jumlah data diagonal dibagi dengan jumlah data total dalam kelas (Dogra, 2007).

2.1. Tabel confision matrix

= ∑

100%

2.6. Matlab

Penelitian pengenalan batik ini membutuhkan alat bantu untuk menghitung data matematis yang kompleks. Matlab merupakan alat bantu yang digunakan untuk permasalahan tersebut. Matlab (Matrix Laboratory) merupakan bahasa pemrograman untuk analisis komputasi numerik, pemrograman matematika lanjutan yang dibentuk dengan dasar pemikiran menggunakan sifat dan bentuk matriks. Program ini merupakan produk

(37)

komersial dari perusahaan Mathworks, Inc. yang dalam perkembangan selanjutnya dikembangkan menggunakan bahasa C++ dan assembler (Arhami, 2005).

2.7. Contoh Perhitungan dengan Algoritma ID3

 Ekstraksi Feature

Citra batik yang dimasukkan akan dibaca. Kemudian dengan menggunakan rumus (2.1) maka akan diperoleh rata-rata Red, demikian juga dengan rumus (2.2) dan (2.3) akan diperoleh rata-rata Green, Blue. H1, H2 dan H3 diperoleh dari rata-rata vektor Horisontal. Dari ekstraksi feature didapat data sebagai berikut:

(38)

 Fase Training Konversi data batik

Data batik yang ada di konversi dengan menentukan range tiap atribut. Pada awalnya tiap atribut dicari niali min dan max.

max=max(MeanR) dan min=min(MeanR). Range per atribut ditentukan dengan: nilai1 = min + (max-min)/3

nilai2 = nilai1 + (max-min)/3 nilai3 = nilai2 + (max-min)/3

Maka pada akhirnya akan diperoleh matriks data sebagai berikut:

Tabel 2.3 Tabel contoh data hasil konversi

(39)

Tabel 2.4 Tabel contoh data training

Menghitung entropy S

Dengan menggunakan rumus (2.5) maka akan diperoleh nilai entropy(S).

Entropy([8,8,8]) = - (8/24)*log2(8/24) - (8/24)*log2(8/24) - (8/24)*log2(8/24)

= 1.585 Menghitung entropy atribut

Dengan menggunakan rumus (2.6) maka akan diperoleh nilai entropy(Si).

Value(meanR) = 1, 2, 3

Entropy meanR1 Entropy([4,0,5]) = - (4/9)*log2(4/9) - (5/9)*log2(5/9)

= 0.9911

Entropy meanR2

Entropy([4,3,3]) = - (4/10)*log2(4/10) - (3/10)*log2(3/10) - (3/10)*log2(3/10)

= 1.4005

(40)

Gain meanR

Dengan menggunakan rumus (2.7) maka akan diperoleh nilai gain.

Gain(S,meanR) = 1.585 – (((9/24)*0.9911) + ((10/24)*1.4005) + ((5/24)*0))) = 0.5587

Demikian seterus untuk atribut yang lain sampai menemukan maximum gain.

Tabel 2.5 Tabel entropy dan gain

Dalam tabel tersebut ditemukan maximum gain yaitu 0.8352 dari atribut H3. Maka atribut H3 menjadi root. Karena pada data 1 dalam atribut H3 hanya muncul pada batik3 maka data 1 tidak akan memiliki cabang.

Gambar 2.6 Pohon keputusan awal H3

? ?

batik3

(41)

Setelah terbentuk root maka mencari cabang. Cabang diperoleh dengan memilah data, yaitu atribut H3 hanya diambil yang berisi data 2.

Tabel 2.6 Tabel data untuk cabang H3 = 2

Menghitung entropy S

Entropy([7,1,3]) = - (7/11)*log2(7/11) - (1/11)*log2(1/11) - (3/11)*log2(3/11)

= 1.2406 Menghitung entropy atribut Value(meanR) = 1, 2, 3

Entropy meanR1 Entropy([4,0,2]) = - (4/6)*log2(4/6) - (2/6)*log2(2/6)

= 0.09183

Entropy meanR2

Entropy([3,1,1]) = - (3/5)*log2(3/5) - (1/5)*log2(1/5) - (1/5)*log2(1/5)

= 1.371

Entropy meanR3 Entropy([0,0,0]) = 0 Gain meanR

(42)

Tabel 2.7 Tabel entropy dan gain pada H3 = 2

Dalam tabel tersebut ditemukan maximum gain yaitu 0.4538 dari atribut H1.

Gambar 2.7 Pohon keputusan level 1 cabang 2

Tabel 2.8 Tabel data untuk cabang H3 = 3

H1 ?

batik3

? ?

1 3

2 H3

1 2 3

(43)

Tabel 2.9 Tabel entropy dan gain pada H3 = 3

Dalam tabel tersebut ditemukan maximum gain yaitu 0.5436 dari atribut meanB.

Gambar 2.8 Pohon keputusan level 1 cabang 2&3

Tabel 2.10 Tabel data untuk cabang H3 = 2, H1 = 1

? ?

1 2 3

H3

H1 meanB

batik3

1 2 3

?

1 2 3

(44)

Tabel 2.11 Tabel entropy dan gain pada H3 = 2, H1 = 1

Karena semua gain memiliki nilai yang sama maka dipilih kelas yang kemunculan atribut paling banyak yaitu batik3.

Gambar 2.9 Pohon keputusan level 2 cabang 2,1

Tabel 2.12 Tabel data untuk cabang H3 = 2, H1 = 2

1 2 3

batik1 batik2 batik2

? ?

1 2 3

H1 meanB

batik3

H3

1 2 3

(45)

Tabel 2.13 Tabel entropy dan gain pada H3 = 2, H1 = 2

Dalam tabel tersebut ditemukan maximum gain yaitu 0.65 dari atribut meanB.

Gambar 2.10 Pohon keputusan level 2 cabang 2,2

Tabel 2.14 Tabel data untuk cabang H3 = 2, H1 = 3

1 2 3

batik 1

batik2

batik1 batik2 batik2

?

1 2 3

H1 meanB

batik3

H3

1 3

2

1 2 3

meanB

batik3

(46)

Tabel 2.15 Tabel entropy dan gain pada H3 = 2, H1 = 3

Karena 3 atribut memiliki nilai gain yang sama dan kemunculan atribut dalam kelas sama maka atribut yang digunakan adalah atribut yang lebih awal yaitu meanR. Karena tidak ada cabang lagi maka terbentuk pohon sebagai berikut:

Gambar 2.11 Pohon keputusan yang terbentuk mean

B

batik3 mean

R

1 3

2

batik1 null

batik3

batik1

batik2

null

1 3

2

1 3

2

1 2 3

H1 meanB

batik3

H3

1 2 3

(47)

Rule yang terbentuk dari pohon keputusan: IF H3 = 1, maka kelas = batik3

IF H3 = 2 AND H1 = 1, maka kelas = batik3

IF H3 = 2 AND H1 = 2 AND meanB = 1, maka kelas = batik1 IF H3 = 2 AND H1 = 2 AND meanB = 2, maka kelas = batik3 IF H3 = 2 AND H1 = 2 AND meanB = 3, maka kelas = null IF H3 = 2 AND H1 = 3 AND meanB = 1, maka kelas = batik1 IF H3 = 2 AND H1 = 3 AND meanB = 2, maka kelas = batik2 IF H3 = 2 AND H1 = 3 AND meanB = 3, maka kelas = null IF H3 = 3 AND meanB = 1, maka kelas = batik1

IF H3 = 3 AND meanB = 1, maka kelas = batik2 IF H3 = 3 AND meanB = 1, maka kelas = batik2

 Fase Testing

Tabel 2.16 Tabel data testing

Dari rule diatas maka data testing yang sudah tersedia akan di klasifikasikan dan diperoleh hasil

(48)

Tabel 2.18 Tabel data asli

 Fase Evaluasi

Tabel 2.19 Tabel confusion matrik

Dari confusion matrik diatas maka akan diperoleh akurasinya

= ∑

∑ ∗100%

= 4

6∗100%

(49)

31

BAB III

ANALISA DAN PERANCANGAN SISTEM

Bab analisa dan perancangan sistem merupakan bab yang berisi mengenai penjelasan cara kerja sistem pengenalan motif Batik Yogyakarta. Sistem yang dibangun berfungsi sebagai alat bantu untuk menganalisis cara kerja dan akurasi algoritma ID3 dalam mengenali motif Batik Yogyakarta.

3.1. Perancangan Sistem Secara Umum

(50)

Gambar 3.1. Alur klasifikasi pola Batik Yogyakarta secara umum

Gambar 3.1 merupakan gambar alur klasifikasi pola batik Yogyakarta secara umum. Inputnya adalah pola batik Yogyakarta yang telah dipindai, pada kasus ini pola bati tersebut memiliki piksel 200x200. Pola batik tersebut akan dimasukkan dalam sistem klasifikasi pola batik Yogyakarta dengan algoritma ID3. Keluaran yang didapat adalah nama pola batik dari gambar tersebut.

Gambar 3.2. Blok Diagram Sistem

bertipe JPG berukuran

(51)

Gambar 3.2 merupakan blok diagram sistem klasifikasi pola batik Yogyakarta dengan algoritma ID3. Dengan menggunakan metode evaluasi 5-fold cross validation maka data dibagi manjadi 2, 4/5 data untuk fase training dan 1/5 data untuk fase testing. Pada Fase training gambar batik yang dimasukkan dalam sistem akan diekstraksi terlebih dahulu, setelah itu akan diproses dengan algoritma ID3 untuk memperoleh pohon keputusan, demikian juga gambar batik pada fase testing akan diekstraksi. Pohon keputusan yang terbentuk akan digunakan untuk pencocokan kemiripan.

3.1.1. Gambaran Sistem

Gambar 3.3 Gambaran Umum

(52)

Gambar 3.4 Tahap Training dan Testing

Gambar 3.4 adalah tahap training dan testing, data input akan diproses dalam tahap training yang akan menghasilkan pohon keputusan yakan digunakan untuk pencocokan kemiripan.

(53)

Gambar 3.6 adalah tahap testing, data batik akan diproses (ekstraksi feature), setelah itu data hasil ekstraksi akan diproses dengan algoritma ID3, yang nantinya akan menghasilkan pohon keputusan.

Gambar 3.6 Tahap Testing

Gambar 3.6 adalah tahap testing, data batik akan diproses (ekstraksi feature), setelah itu dengan menggunakan pohon keputusan data hasil ekstraksi akan digunakan untuk pencocokan kemiripan. Hasil akhir adalah nama pola batik.

(54)

3.1.2. Perancangan Fase Training Model

Langkah perancangan fase training meliputi ekstraksi feature dan training.

3.1.2.1. Ekstraksi Feature

Ekstraksi Feature adalah langkah untuk pengolahan feature dari suatu gambar batik menjadi citra yang terbagi secara vektoral. Tidak ada ukuran tertentu dalam ekstraksi feature, maka dalam percobaan ini penulis mencoba menggunakan ukuran gambar 200x200 piksel. Terdapat 2 ekstraksi yaitu ekstraksi warna dan ekstraksi feature edge. Ekstraksi warna meliputi:

a) Nilai rata-rata dari keping merah (red). b) Nilai rata-rata dari keping hijau (green). c) Nilai rata-rata dari keping biru (blue). d) Nilai rata-rata dari ketiga keping (RGB).

(55)

Gambar 3.7 Gambar pembagian vektor Horisontal

Gambar 3.8 Gambar pembagian vektor Vertikal

Akan didapat masing-masing 8 rata-rata dari setiap vektor, yang kemudian akan dijadikan feature.

 Feature warna dan rata-rata vektor horizontal

Perhitungan feature ini akan menghasilkan matriks 1x12, yaitu dari perhitungan:

- perhitungan rata-rata Red ( ), rata-rata Green ( ̅), rata-rata Blue ( ), dan rata-rata dari ̅ .

(56)

 Feature warna dan rata-rata vektor vertikal

Perhitungan feature ini akan menghasilkan matriks 1x12, yaitu dari perhitungan:

- perhitungan rata-rata Red ( ), rata-rata Green ( ̅), rata-rata Blue ( ), dan rata-rata dari ̅ .

- rata-rata 8 vektor vertikal diperoleh matriks 1x8.

3.1.2.2. Training

Pada tahap pengolahan feature sekuens setiap citra yang telah diekstraksi akan diolah dengan algoritma ID3. Dua belas feature yang ada berperan sebagai atribut, yang kemudian akan dihitung nilai entropy dan nilai gain. Atribut yang memiliki nilai gain paling besar akan digunakan sebagai akar pohon. Demikian seterusnya untuk mencari cabang-cabang dari pohon sampai dengan pohon terbentuk. Pada akhirnya pohon yang terbentuk dapat digunakan untuk pengklasifikasian pola Batik.

3.1.3. Perancangan Fase Testing

3.1.3.1. Ekstraksi feature

(57)

3.1.3.2. Pencocokan Kemiripan

Pencocokan kemiripan adalah tahap dimana pohon yang sudah tebentuk akan digunakan untuk testing citra. Data model dimasukan kemudian diekstraksi, setelah itu dicocokan dengan pohon keputusan yang telah terbentuk. Maka hasil klasifikasi yang berupa pola batik akan muncul.

3.1.4. Perancangan Proses Evaluasi

Langkah evaluasi untuk memperoleh akurasi algoritma ID3 dalam klasifikasi pola Batik Yogyakarta adalah dengan metode 5-fold cross validation dengan confusion matrix.

Metode 5-fold cross validasion dijabarkan sebagai berikut: a) Menentukan 5 kelompok pola Batik

Untuk 1 pola batik Yogyakarta terdapat 40 model yang digunakan sebagai pengujian akurasi. 40 model tersebut dibagi menjadi 5 kelompok data yang diberi nama “pola_1” sampai dengan “pola_5”.

(58)

b) Pengujian Akurasi

Terdapat 2 langkah dalam pengujian akurasi, yaitu langkah training dan langkah testing. Langkah training dikenai untuk membentuk model, sedangkan langkah testing digunakan untuk menguji model pola batik yang terbentuk.

c) Penentuan confusion matrix

Confusion matrix didapat dari hasil pengujian akurasi yang telah dilakukan terhadap pola batik Yogyakarta yang hasilnya berupa matrik. Di mana matriks tersebut menyediakan informasi angka pengenalan pola batik untuk setiap batik yang telah diuji pada langkah pengujian akurasi.

Tabel 3.1 Tabel confision matrix

d) Perhitungan akurasi angka

Angka akurasi dapat dihitung dengan cara menjumlahkan hasil pengenalan diagonal confision matrix dibagi dengan keseluruhan jumlah pengujian.

= ∑

(59)

3.2. Perancangan Antar Muka

Alat bantu klasifikasi pola batik Yogyakarta memiliki 3 halaman utama, yaitu halaman Home, halaman Pengenalan, dan halaman Pengujian.

3.2.1. Halaman Home

Gambar 3.10 Halaman home sistem klasifikasi pola Batik

Gambar 3.10 merupakan rancangan interface untuk halaman home pada sistem klasifikasi pola Batik.

3.2.2. Halaman Pengenalan Batik

(60)

Gambar 3.11 adalah rancangan halaman Pengenalan Pola Batik. Di mana data gambar yang akan diklasifikasikan akan dimasukan. Data gambar tersebut disimpan dalam file yang kemudian akan dipanggil dan diolah dalam sistem, hasil akhir berupa nama pola Batik.

3.2.3. Halaman Pengujian ID3

Gambar 3.12 Halaman Pengujian algoritma ID3

(61)

3.2.4. Halaman Konsep ID3

Gambar 3.13 Halaman Konsep ID3

Gambar 3.13 merupakan halaman yang berisi informasi tentang metode-metode yang dipakai pada sistem ini, yaitu algoritma ID3 dan metode-metode 5-fold cross validation.

3.2.5. Halaman Help

(62)

Gambar 3.14 merupakan rancangan halaman Help, yang berfungsi untuk memberi informasi kepada user tentang penggunaan atau cara kerja sistem.

3.2.6. Halaman Identitas Program

Gambar 3.15 merupakan rancangan halaman about yang berisi tentang identitas program klasifikasi pola Batik.

Gambar 3.15 Halaman About sistem klasifikasi pola Batik

3.3. Kebutuhan Perangkat Lunak

(63)

3.4. Kebutuhan Perangkat Keras

Kebutuhan Perangakat keras dalam menyelesaikan tugas akhir ini adalah sebuah sistem komputer dengan spesifikasi sebagai berikut:

a) Prosesor : Intel(R) Core(TM) i3 CPU M370 @ 2.40GHz b) Sistem Operasi : Windows 7

c) Memori : 2.00 GByte

d) Media Tampilan : vga nVidia GeForce4 310M; 1 GByte e) Media Penyimpanan: hard disk 320 Gbyte

f) Media masukan : Kamera Digital FujiFilm 10 MP

3.5. Algoritma Pembuatan Program

3.5.1. Modul Ekstraksi Feature

a) Rata-rata Merah(red)

Input : matriks dari image berukuran 200x200 piksel Output : data rata-rata Red.

Algoritma:

1. Ambil keping Red gambar.

2. Hitung rata-rata Red dengan fungsi mean

3. Simpan informasi kepadatan kedalam variable meanR. b) Rata-rata Hijau(green)

(64)

Algoritma:

1. Ambil keping Green gambar.

2. Hitung rata-rata Green dengan fungsi mean

3. Simpan informasi kepadatan kedalam variable meanG. c) Rata-rata Biru(blue)

Input : matriks dari image berukuran 200x200 piksel Output : data rata-rata Blue.

Algoritma:

1. Ambil keping Blue gambar.

2. Hitung rata-rata Blue dengan fungsi mean

3. Simpan informasi kepadatan kedalam variable meanB. d) Rata-rata RGB

Input : rata-rata Red, Green dan Blue Output : data rata-rata RGB.

Algoritma:

1. Jumlah rata-rata Red, Green dan Blue dibagi 3.

2. Simpan informasi kepadatan kedalam variable meanRGB. e) Rata-rata vektor horisontal

Input : matriks dari image berukuran 200x200 piksel Output : data rata-rata 8 vektor horisontal

Algoritma:

1. Citra dibuat gray.

(65)

3. Citra dibagi menjadi 8 baris(8 area pengamatan)

4. Untuk setiap area pengamatan(25x200 piksel) hitung rata-rata. a. For i=1:25, for j=1:200 untuk baris pertama.

b. Ambil piksel yang bernilai 1 c. Jumlahkan piksel-piksel tersebut. d. Masukkan dalam subuah variabel.

5. Lakukan langkah 4 untuk baris kedua sampai baris kedelapan dengan nilai i yang bertambah setiap barisnya.

6. Jumlah piksel dibagi dengan 5000 untuk mencari rata-ratanya. 7. Simpan semua feature dalam sebuah matrix.

f) Rata-rata vektor vertikal

Input : matriks dari image berukuran 200x200 piksel Output : data rata-rata 8 vektor vertikal

Algoritma:

1. Citra dibuat gray.

2. Kenai citra dengan fungsi edge(canny).

3. Citra dibagi menjadi 8 baris(8 area pengamatan)

4. Untuk setiap area pengamatan(25x200 piksel) hitung rata-rata. a. For i=1:200

(66)

f. Lakukan langkah 4b-4e untuk kolom kedua sampai kolom kedelapan dengan nilai j yang bertambah setiap kolomnya. 5. Jumlah piksel dibagi dengan 5000 untuk mencari rata-ratanya. 6. Simpan semua feature dalam sebuah matrix.

3.5.2. Modul Training dengan ID3

Input : file ekstraksi feature data training Output : pohon keputusan

Algoritma:

1. Ambil semua data batik. 2. Hitung Gain tiap atribut

3. Pilih atribut yang nilai gainnya paling besar. 4. Jika Maxgain <=0, maka akan dibentuk kelas.

5. Buat akar dari atribut yang nilai gainnya paling besar dan mulai membentuk pohon.

6. Jika newdata = empty maka akan dibentuk kelas. 7. Jika tidak maka akan dibentuk cabang baru.

8. Ulangi proses dari awal untuk setiap cabang sampai semua kasus pada cabang memiliki kelas.

3.5.3. Modul Testing

(67)

Algoritma:

1. Ambil data testing setiap baris dengan menggunakan for i=1:jumlah data.

2. Jika atribut~=0 maka setiap cabang akan dicek sampai menemukan kelas.

3. Lakukan langkah 1 dan 2 sampai semua data dicek. 4. Masukkan hasil dalam sebuah matrik.

3.5.4. Modul pembuatan confusion matrix dan perhitungan evaluasi

5-fold cross validation

Input : matriks kelas yang berupa pola batik. Output : akurasi

Algoritma:

1. Baca matriks kelas yang berupa pola batik.. 2. Hitung panjang datanya.

3. Untuk setiap baris data:

a. Untuk setiap batik (ada 10 batik) for i=1:10

1. Cocokan pola hasil testing dangan pola data awal testing 2. Maukkan pada masing-masing variabel untuk dijumlahkan. b. Lakukan langkah 3a untuk semua 10 pola batik.

(68)

50

BAB IV

IMPLEMENTASI SISTEM

Hal-hal yang dibahas dalam bab ini antara lain hasil implementasi sistem berupa hasil tangkapan tampilan antar muka serta menjelaskan tentang penggunaan tombol dan menu untuk setiap halaman.

4.1. Implementasi Algoritma

Feature rata-rata vektor horizontal

gray=rgb2gray(batik); % ubah citra batik ke grayscale

gambar = edge(gray,'canny'); %deteksi tepi dengan canny

(69)

for i=76:100 %baris keempat

Feature rata-rata vektor vertical

gray=rgb2gray(batik); %ubah citra batik ke grayscale

gambar = edge(gray,'canny'); %deteksi tepi dengan canny

(70)

for j=126:150 %kolom keenam

[max_info_gain, split_attr] = max(g);

node.split_attribute = split_attr; % atribut

node.split_vars = unique(train(:,split_attr)); % anggota

(71)

uvals = unique(train(:,split_attr));

node.count_child_node = length(uvals); % banyak cabang

node.level = level; % level pohon

node.classvar = -1; % variabel/daun

% node.classvar bernilai negative karena masih mempunyai

(72)

Testing pohon

function [class_res] = test_id3_case( node, dataset )

if( node.split_attribute ~= 0 ) if( ~isempty(node.subnode1) &&

dataset(node.split_attribute) == 1 )

class_res = test_id3_case(node.subnode1,dataset); return;

elseif( ~isempty(node.subnode2) &&

dataset(node.split_attribute) == 2)

class_res = test_id3_case(node.subnode2,dataset); return;

Data testing diambil tiap baris setelah itu dicocokan dengan pohon yang telah terbentuk. Pencocokan akan masuk pada tiap cabang dengan mengecek split_attribut dan sub_node dari cabang. Hasil keluarannya adalah variabel/kelas pola.

Confution matrix

function [tot_benar data_salah data_null confution_mat

akurasi] = cross_validation(id3_test, test)

for i=1:length(1)

(73)

elseif (id3_test(baris,:) == 3)

(74)

4.2. Implementasi Sistem

4.2.1. Implementasi dengan data sample

Dari contoh perhitungan data secara teori pada bab II diperoleh akurasi 66.67%. Pada implementasi sistem ini akan membuktikan apakah perhitungan sistem yang dibangun sesuai dengan perhitungan dalam teori. Data training dan testing yang digunakan sama dengan data pada contoh perhitungan pada bab II.

Tabel 4.1. Data training

(75)

Tabel 4.2.Data testing

Pada tabel 4.2 terdapat 6 data yang digunakan sebagai testing. Data tersebut akan digunakan untuk klasifikasi pohon keputusan yang telah terbentuk. Data testing diambil per baris dan setiap atribut dicocokan dengan kondisi pada pohon keputusan dari akar sampai dengan daun(kelas).

Di bawah ini adalah hasil implementasi perhitungan sistem dengan matlab:

Gambar 4.1 Potongan program untuk sistem klasifikasi

(76)

Gambar 4.2 adalah Command Window yang memunculkan hasil eksekusi program. Diperoleh benar=4, data salah=1, data yang tidak dikenal=1, dan hasil akurasi yang diperoleh adalah 66.6667%.

Gambar 4.3 Hasil pada Workspace

Gambar 4.5 adalah tampilan Workspace yang menampilkan variabel hasil dari eksekusi program. Hasil yang diperoleh dari perhitungan sistem sama dengan hasil perhitungan secara teori dengan akurasi 66.6667%.

4.2.2. Implementasi dengan feature warna dan rata-rata horisontal

Proses awal adalah ekstraksi feature, data citra batik yang tersedia dihitung rata-rata Red, rata-rata Green, rata-rata Blue, dan rata-rata RGB untuk mendapatkan 4 feature warna.

(77)

vertikal. Masing-masing vektor akan dihitung rata-rata vektor yang akan dijadikan feature.

(a) (b)

Gambar 4.4 Ilustrasi pembagian vektor (a)horisontal (b)vertikal

Tabel 4.3.Beberapa data hasil ekstraksi feature warna dan rata-rata vektor horisontal

Data di atas kemudian akan dikonversi. Pada awalnya tiap atribut dicari nilai min dan max.

(78)

Range per atribut ditentukan dengan: nilai1 = min + (max-min)/3

nilai2 = nilai1 + (max-min)/3 nilai3 = nilai2 + (max-min)/3

Tabel 4.4.Data hasil konversi

Data-data tersebut setiap kelas akan dibagi menjadi 5. 4/5 data digunakan sebagai data training, 1/5 data digunakan sebagai data testing. Kemudian pada data training setiap atribut dihitung nilai entropy dan nilai gain. Atribut dengan nilai gain terbesar akan dijadikan akar dari pohon keputusan.

(79)

Di bawah ini adalah hasil dari implementasi yang dijalankan dengan matlab.

Gambar 4.5 Hasil untuk akurasi tertinggi pada Command Window

Setelah program dijalankan maka pada layar Command Window akan muncul hasil klasifikasi. Data di atas adalah hasil implementasi dengan akurasi tertinggi. Total diagonal confusion matrix dibagi dengan total data testing dikali 100%, maka akan menghasilkan nilai akurasi. Diperoleh data benar=63, data salah=15, data tidak dikenal=2, dan akurasi 78.75%.

= 63

80 × 100%

(80)

Gambar 4.6 Hasil untuk akurasi tertinggi pada Workspace

Gambar 4.6 adalah tampilan Workspace yang menampilkan variabel hasil dari eksekusi program.

Pada sistemklasifikasi ini pohon keputusan dibangun dengan menggunakan fungsi struct dalam matlab. Di bawah ini adalah informasi akar dari pohon keputusan.

Gambar 4.7 Variabel didalam struct

(81)

struct(cabang), demikian juga untuk subnode2 dan subnode3. split_attribute menunjukan keterangan atribut, split_vars menunjukan banyaknya anggota atribut, info_gain adalah keterangan gain pada atribut tersebut, level adalah kedalaman(level) dari pohon keputusan, dan classvar adalah kelas(pola). classvar -1 menunjukan bahwa struct tersebut bukan daun.

4.3. Implementasi Antar muka

4.3.1. Halaman Utama

Pada halaman utama terdapat judul program, logo Universitas, dan identitas penulis. Selain itu, terdapat 3 menu teks, yaitu:

1. Menu Teks File

Menu ini berisi 3 submenu utama, yaitu: menu halaman pengujian pola batik Yogyakarta, menu halaman pengenalan pola batik Yogyakarta, dan menu keluar.

2. Menu Teks ID3

Menu ini berisi 2 submenu utama, yaitu: menu halaman Algortima ID3 dan menu halaman Metode 5-Fold Cross Validation.

3. Menu Teks Bantuan

(82)

Gambar 4.8 Halaman utama prototipe klasifikasi batik Yogyakarta

Pada saat memilih submenu keluar, maka akan muncul question dialog. Terdapat 2 pilihan button, yang pertama button “Ya” yang arti nya setuju untuk keluar dari sistem. Button kedua adalah button “Tidak” yang artinya tidak setuju keluar dari sistem.

(83)

4.3.2. Halaman Pengujian

Gambar 4.10 Halaman pengujian batik Yogyakarta

Halaman pengujian akurasi merupakan halaman yang merepresentasikan proses training dan testing dengan algoritma ID3. Ada 2 bentuk feature yang dapat dipilih, yaitu:

Feature warna dan rata-rata horisontal

Feature warna dan rata-rata vertikal

(84)

Detail proses pengujian akurasi adalah sebagai berikut:

a. Pembentukan feature warna dan rata-rata vektor citra yang menghasilkan matriks 1x12 yang disimpan dalam file “*.nw”.

b. Pembacaan file ‘*.nw’ dan membagi data menjadi 2 bagian yaitu training dan testing. Kemudian data-data tersebut di konversi dengan range yang telah ditentukan.

c. Proses pembentukan pohon dengan algoritma ID3 menggunakan data training. Pertama mencari nilai entropy tiap atribut, dari nilai entropy itu akan diperoleh nilai gain. Gain paling besar akan digunakan sebagai akar. Demikian seterusnya untuk pencarian cabang sampai menemukan daun yang berupa kelas/label. Maka akan terbentuk sebuah pohon keputusan.

d. Membentuk rules dari pohon keputusan yang terbentuk. Rules akan digunakan dalam proses testing.

Langkah training dan testing di atas dilakukan sebanyak 5 kali, sesuai dengan metode 5-fold cross validation. Hasil pengujian ini dapat dilihat pada kotak “Hasil”. Kotak ini menampilkan jumlah data benar, jumlah data salah, jumlah data yang tidak dikenal dan prosentase akurasi.

(85)

4.3.3. Halaman Pengenalan

Gambar 4.11 Halaman pengenalan Pola Batik Yogyakarta

Pada saat kita tekan button “Browse”, maka akan muncul file selector untuk memilih data yang akan dibuka.

Gambar 4.12 Kotak file selector untuk membuka gambar

(86)

menjalankan program pengenalan. Setelah proses training, maka akan terbentuk sebuah pohon keputusan. Rules pohon keputusan tersebut akan digunakan untuk pencocokan kemiripan pola batik Yogyakarta(image yang di-input). Hasil akhirnya adalah nama pola batik dari gambar yang di-input.

4.3.4. Halaman Algoritma ID3

Halaman algoritma ID3 ini berfungsi untuk menampilkan penjelasan tentang algoritma ID3 yang digunakan untuk membentuk pohon keputusan.

Gambar 4.13 Halaman Algoritma ID3

4.3.5. Halaman Metode 5-Fold Cross Validation

(87)

Gambar 4.14 Halaman Metode 5-fold Cross Validation

4.3.6. Halaman Bantuan

Halaman ini berisi informasi untuk menggunakan fasilitas pengenalan dan pengujian dengan algoritma ID3. Dalam halaman ini terdapat langkah-langkah untuk melakukan proses pengujian dan pengenalan pola batik Yogyakarta.

(88)

4.3.7. Halaman About Sistem

Halaman About Sistem ini mengaktivasi halaman identitas program yang berisi informasi gambaran sistem secara umum.

(89)

71

BAB V

ANALISA HASIL DAN PEMBAHASAN

Bab ini akan membahas hasil penelitian untuk setiap percobaan yang dilakukan. Hasil penelitian akan ditampilkan dalam tabel hasil akurasi.

5.1. Hasil Penelitian

Hasil penelitian ini digunakan feature warna dan rata-rata vektor citra. Citra batik diolah menjadi 2 feature berbeda untuk mendapatkan angka akurasi pada masing-masing percobaan.

5.1.1. Hasil Penelitian Menggunakan Feature Warna dan rata-rata

vektor Horisontal

Daftar komponen percobaan:

 10 jenis batik yang diteliti, yaitu Nitik Cengkeh, Parang Pancing, Parang Sewuli Seling Pamor, Truntum, Tambal, Ceplok Kece, Kawung Kembang Cempoko Hitam, Kawung Picis, Parang Kawung Picis, Parang Kunci.

 Setiap jenis batik memiliki 40 data, sehingga terdapat data batik.

 Citra batik berukuran 200 x 200 piksel.

(90)

- Rata-rata Red, rata-rata Green, rata-rata Blue dan rata-rata RGB diperoleh matriks 1x4.

- Rata-rata 8 vektor horisontal diperoleh matriks 1x8.

Hasil dari 5 kali percobaan training dan testing yang berupa confution matriks untuk feature warna+rata-rata vektor horisontal:

training dan testing I

Tabel 5.1. Tabel confution matrix I feature warna+rata-rata horisontal batik1 batik2 batik3 batik4 batik5 batik6 batik7 batik8 batik9 batik10

batik1 8 0 0 0 0 0 0 0 0 0

batik2 0 5 0 1 0 0 0 0 2 0

batik3 0 0 7 0 0 0 0 0 0 1

batik4 0 1 0 5 1 0 0 1 0 0

batik5 1 0 0 0 3 4 0 0 0 0

batik6 1 0 0 1 2 3 0 0 0 0

batik7 0 0 0 0 0 0 6 2 0 0

batik8 0 1 0 1 0 0 0 6 0 0

batik9 0 1 0 0 0 0 0 0 7 0

batik10 0 1 0 0 0 0 0 0 0 7

(91)

training dan testing II

Tabel 5.2. Tabel confution matrix II feature warna+rata-rata horisontal batik1 batik2 batik3 batik4 batik5 batik6 batik7 batik8 batik9 batik10

batik1 7 0 0 0 0 0 0 0 0 0

Data yang dikenal benar = 63 data Data yang dikenal salah = 15 data Data yang tidak dikenal = 2 data. Akurasi = 63/80 * 100% = 78.75%

training dan testing III

Tabel 5.3. Tabel confution matrix III feature warna+rata-rata horisontal batik1 batik2 batik3 batik4 batik5 batik6 batik7 batik8 batik9 batik10

(92)

Data yang dikenal benar = 61 data Data yang dikenal salah = 16 data Data yang tidak dikenal = 3 data. Akurasi = 61/80 * 100% = 76.25%

training dan testing IV

Tabel 5.4. Tabel confution matrix IV feature warna+rata-rata horisontal batik1 batik2 batik3 batik4 batik5 batik6 batik7 batik8 batik9 batik10

batik1 6 0 0 0 1 1 0 0 0 0

batik2 0 5 0 3 0 0 0 0 0 0

batik3 0 0 7 0 0 0 0 0 0 0

batik4 1 0 0 6 1 0 0 0 0 0

batik5 0 0 0 2 5 1 0 0 0 0

batik6 1 0 0 0 4 2 0 0 0 0

batik7 0 0 0 0 0 0 7 1 0 0

batik8 0 0 0 3 0 0 0 5 0 0

batik9 0 0 0 0 0 0 0 0 8 0

batik10 0 0 2 0 0 0 0 0 0 6

(93)

training dan testing V

Tabel 5.5. Tabel confution matrix V feature warna+rata-rata horisontal batik1 batik2 batik3 batik4 batik5 batik6 batik7 batik8 batik9 batik10

batik1 6 0 0 2 0 0 0 0 0 0

batik2 0 4 0 0 0 0 0 1 3 0

batik3 0 0 5 0 0 0 0 0 0 3

batik4 4 1 0 1 1 0 0 0 1 0

batik5 1 0 0 0 7 0 0 0 0 0

batik6 0 0 0 0 2 4 0 0 0 0

batik7 0 0 0 0 0 0 8 0 0 0

batik8 0 1 0 0 0 0 0 5 0 0

batik9 0 0 0 0 0 0 0 0 8 0

batik10 0 0 1 0 0 0 0 0 0 7

Data yang dikenal benar = 55 data Data yang dikenal salah = 21 data Data yang tidak dikenal = 4 data. Akurasi = 55/80 * 100% = 68.75%

Hasil akurasi percobaan dengan feature warna + rata-rata vektor horisontal

Tabel 5.6. Dataakurasi feature warna+rata-rata vektor horizontal No Training Akurasi

1 Training1 71.25% 2 Training2 78.75% 3 Training3 76.25% 4 Training4 71.25% 5 Training5 68.75% rata-rata akurasi 73.25%

(94)

5.1.2. Hasil Penelitian Menggunakan Feature Warna dan rata-rata

vektor Vertikal

Daftar komponen percobaan:

 10 jenis batik yang diteliti, yaitu Nitik Cengkeh, Parang Pancing, Parang Sewuli Seling Pamor, Truntum, Tambal, Ceplok Kece, Kawung Kembang Cempoko Hitam, Kawung Picis, Parang Kawung Picis, Parang Kunci.

 Setiap jenis batik memiliki 40 data, sehingga terdapat data batik.

 Citra batik berukuran 200 x 200 piksel.

 Perhitungan feature ini menghasilkan matriks 1x12, yaitu dari perhitungan:

- Rata-rata Red, rata-rata Green, rata-rata Blue dan rata-rata RGB diperoleh matriks 1x4.

- Rata-rata 8 vektor vertikal diperoleh matriks 1x8.

Gambar

Gambar 2.1 Desain dasar sistem klasifikasi pola (Theodoridis, 2003)
Gambar 2.2 Ilustrasi pembagian vektor horisontal
Gambar 2.3 Ilustrasi pembagian vektor vertical
tabel dari masing-masing kelas.
+7

Referensi

Dokumen terkait

Diumumkan kepada seluruh siswa kelas I-VI, dalam rangka memperingati Diumumkan kepada seluruh siswa kelas I-VI, dalam rangka memperingati hari Pendidikan Nasional siswa diminta

Model Stres adaptasi Tahap Pengobatan Tujuan pengobatan Pengkajian keperawatan Intervensi keperawatan Hasil Yang diharapkan Krisis Stabilisasi Faktor resiko Pengelolaan

Pada tahun ini, semasa saya mengetuai Bulan Bahasa sebagai pengerusi buat pertama kali, saya teruja dan terasa bersemangat kerana bakat, idea dan usaha yang saya lihat

Rekruitment Karyawan ini melalui proses/tahapan rekrutmen dengan seleksi berbasis kompetensi dan transparansi sehingga untuk tahapan seleksi yang menjadi tug as

pengetahuan di bidang Dana Pensiun sebagaimana diatur dalam Keputusan Direktur Jenderal Lembaga Keuangan Nomor KEP-618/LK/2003 tentang Persyaratan Pengetahuan di Bidang Dana

Renja Dinas Pendapatan Daerah tahun 2015 merupakan rencana tahunan kedua dalam pelaksanaan RPJMD Kabupaten Bogor tahun 2013-2018 yang harus memuat rencana

Bagi pelamar untuk menjadi tenaga pendidik yang berlatar belakang professional dari kalangan birokrat/praktisi minimal berpendidikan S2 linier S1 dan S2 dan