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
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
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.
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.
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.
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.
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
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
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
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
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
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
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
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).
“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.
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.
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
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
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.
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
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
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)
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).
(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.
=
∑ ∑(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.
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,
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.
(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
(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).
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.
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
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:
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
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
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
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
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
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
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
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
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
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
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%
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
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
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
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.
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.
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).
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 ̅ .
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
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”.
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.
= ∑
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
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
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
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
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)
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.
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
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
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.
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
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
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
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
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)
elseif (id3_test(baris,:) == 3)
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
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
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.
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.
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.
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%
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
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
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.
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
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.
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
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
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.
4.3.7. Halaman About Sistem
Halaman About Sistem ini mengaktivasi halaman identitas program yang berisi informasi gambaran sistem secara umum.
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.
- 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
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
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
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%
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.