PENGENALAN POLA BATIK YOGYAKARTA MENGGUNAKAN
METODE HIDDEN MARKOV MODELS DENGAN STUDI KASUS
DI MUSEUM BATIK YOGYAKARTA
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Informatika
Oleh:
Aprina Sulistia Melantika NIM: 065314012
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
THE YOGYAKARTA BATIK PATTERN RECOGNITION
USING HIDDEN MARKOV MODELS METHOD
BY OBSERVATION AT MUSEUM BATIK YOGYAKARTA
A Thesis
Presented as Partial Fulfillment of The Requirements
To Obtain the
Sarjana Teknik
Degree
In Department of Informatics Engineering
By:
Aprina Sulistia Melantika
Student ID: 065314012
INFORMATICS ENGINEERING STUDY PROGRAM
INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
v
HALAMAN PERSEMBAHAN
Jangan sekali-kali putus asa,
Tapi jika engkau putus asa juga,
Teruslah bekerja dalam keputusasaan itu…
Bila Anda berpikir Anda bisa,maka Anda benar. Bila Anda berpikir Anda t idak
bisa, Anda pun benar… karena it u ket ika seseorang berpikir t idak bisa, maka
sesungguhnya dia t elah membuang kesempat an unt uk menjadi bisa.
Terima kasih untuk segalanya…
Untuk keluarga tercinta, kakak-kakak dan adekku terima kasih
untuk doa dan dukungan untukku.
Untuk Sahabatku: A tha, Tiara, dan A gnes terima kasih untuk
dukungan dan semangat untukku selama ini.
Untuk semua anak kos Palem, terutama Monic, Intan, Evy, Vica,
Elok terima kasih untuk semangat dan doa kalian.
Skripsi ini kupersembahkan untuk:
viii
ABSTRAK
Batik Yogyakarta merupakan salah satu warisan budaya Indonesia, namun
sayangnya sedikit orang yang mengetahui tentang pola batik Yogyakarta. Untuk
memudahkan dalam mengenali pola batik Yogyakarta, maka diperlukan sebuah
alat bantu. Alat bantu ini digunakan untuk mengenali gambar batik Yogyakarta
dan menerjemahkannya ke dalam informasi berupa nama batik Yogyakarta.
Hidden Markov Models merupakan metode yang banyak digunakan untuk
pengenalan pola karena keberhasilannya dalam menangani variabilitas data.
Hidden Markov Models (HMM) merupakan metode stokastik. HMM memproses
data diskret batik Yogyakarta menjadi sebuah rantai Markov. Rantai ini terdiri
dari banyak
state
, dengan probabilitas transisi yang menghubungkan
state
satu
dengan
state
lainnya.
Ada 20 jenis batik Yogyakarta yang akan dikenali dan setiap batik dibuat
model dari 25 sampel batik tersebut dengan algoritma Baum-Welch yang mencari
means
dan varians dari data sampel yang didapat. Tahap ini merupakan fase
pelatihan HMM.
Untuk fase pengujian digunakan algoritma Viterbi, dengan mencari angka
kemiripan terbesar dengan cara membandingkan data baru dengan model-model
yang ada. Untuk tahap evaluasi digunakan metode
5-fold cross validation
yang
mencari akurasi dari 500 data yang ada.
ix
ABSTRACT
Batik Yogyakarta is one of Indonesia's cultural heritage, but unfortunately
few people know about Yogyakarta batik patterns. To facilitate in identifying
pattern batik of Yogyakarta, then needed a tool. This tool is used to recognize
images of batik of Yogyakarta and translate it into information in the form of a
batik of Yogyakarta.
Hidden Markov Models are a widely used method for pattern recognition
because of its success in dealing with data variability. Hidden Markov Models
(HMM) is a stochastic method. It process discrete Yogyakarta batik, to be a
sequence of chain called Markov chain. This chain consists of many states, with
state transition probabilities that connect one with another state.
There are 20 types of batik of Yogyakarta which would be recognized and
each batik made models of 25 samples of batik with Baum-Welch algorithm, the
search for means and variances from sample data obtained. This phase is the
phase of the HMM training.
For the testing phase used Viterbi algorithm, by finding the largest
similarity numbers by comparing new data with existing models. For the
evaluation phase used the method 5-fold cross validation to find the accuracy of
the 500 available data.
x
KATA PENGANTAR
Puji syukur kepada Yesus Kristus atas berkat dan karunia yang telah
diberikan sehingga penulis dapat menyelesaikan skripsi dengan judul “Pengenalan
Pola Batik Yogyakarta Menggunakan Metode Hidden Markov Models Dengan
Studi Kasus Di Museum Batik Yogyakarta”.
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, Ciu Kim Su dan Cong Mi Mi atas dukungan
moral, spiritual, dan financial dalam penyusunan skripsi.
2.
Ibu A. Rita Widiarti, S.Si., M.Kom selaku dosen pembimbing atas segala
waktu, saran, bimbingan, dan kesabaran yang telah diberikan.
3.
Drs. C. Kuntoro Adi S.J, M.A, M.S, Ph.D yang telah menjadi pembimbing
dan teman diskusi yang sangat membantu.
4.
Mbak Phalita N. Wastu yang telah meluangkan waktu untuk menjelaskan
tentang konsep Hidden Markov Models.
5.
Pihak pengelola museum batik yang telah bersedia memberikan data-data
batik Yogyakarta.
6.
Teman suka dan dukaku, Yustinus Nugroho yang selalu memberi
semangat, saran, dan nasehat yang sangat berguna.
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
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR GAMBAR ... xv
DAFTAR TABEL ... xvii
I. PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Tujuan ... 2
1.4 Batasan Masalah ... 2
1.5 Metodologi Penelitian ... 4
1.6 Sistematika Penulisan ... 4
II. LANDASAN TEORI ... 6
2.1 Batik Yogyakarta ... 6
2.2
Feature
pada Batik Yogyakarta ... 7
2.3 Pengenalan Pola ... 9
2.4 Metode Hidden Markov Models ... 11
2.4.1 Algoritma Pemodelan Hidden Markov Models ... 13
2.4.2 Algoritma
training
dengan Baum-Welch ... 15
2.4.3 Algoritma
testing
dengan Viterbi ... 17
xiii
2.6 Matlab ... 18
III. ANALISA DAN PERANCANGAN SISTEM ... 20
3.1 Perancangan Sistem Secara Umum ... 20
3.1.1 Gambaran Sistem ... 22
3.1.2 Perancangan Fase
Training
Model ... 23
3.1.3 Perancangan Fase Pengenalan ... 30
3.1.4 Perancangan Proses Evaluasi... 31
3.2 Perancangan Antar Muka ... 33
3.2.1 Halaman Perancangan
Home
... 33
3.2.2 Halaman Pengenalan Batik... 34
3.2.4 Halaman Konsep Hidden Markov Models ... 36
3.2.5 Halaman Identitas Program ... 36
3.2.6 Halaman Bantuan Pengenalan ... 37
3.2.7 Halaman Bantuan Pengujian ... 38
3.3 Kebutuhan Software dan Hardware ... 38
3.4 Algoritma Pembuatan Program ... 39
3.4.1 Modul Ekstraksi
Feature
... 39
3.4.2 Modul pembuatan
feature
HTK ... 47
3.4.3 Modul pelatihan dengan Baum-Welch ... 47
3.4.4 Modul pengenalan dengan Viterbi ... 48
3.4.5 Modul pembuatan
confusion matrix
dan perhitungan evaluasi
5-fold cross
validation
... 48
IV. IMPLEMENTASI SISTEM ... 49
4.1 Implementasi Antar Muka yang Digunakan pada Sistem ... 49
4.1.1. Halaman Utama ... 49
4.1.2. Halaman Pengenalan Batik ... 50
4.1.3. Halaman Pengujian Batik Yogyakarta ... 52
4.1.4. Halaman Konsep HMM ... 55
4.1.5. Halaman Bantuan ... 57
V. ANALISA HASIL DAN PEMBAHASAN ... 60
xiv
5.1.1. Hasil Penelitian Menggunakan
Feature Warna
dan
Edge Information
... 60
5.1.2. Hasil Penelitian Menggunakan
Feature Edge Information
... 69
5.2 Kelebihan dan Kekurangan Metode... 77
5.2.1 Kelebihan ... 77
5.2.2 Kekurangan ... 77
VI. KESIMPULAN DAN SARAN ... 78
6.1. Kesimpulan ... 78
6.2. Saran ... 80
DAFTAR PUSTAKA ... 82
LAMPIRAN 1 CODING PROGRAM ... 84
LAMPIRAN 2 ISI FILE HASIL PROSES HMM ... 122
xv
DAFTAR GAMBAR
Gambar 2.1 Contoh tiga tipe rantai HMM ... 13
Gambar 2.2 Ilustrasi dari operasi pada Baum-Welch. ... 16
Gambar 2.3 Gambaran metode evaluasi
5-fold cross validation
... 18
Gambar 3.1 Alur Pengenalan Batik Yogyakarta Secara Umum ... 21
Gambar 3.2 Blok Diagram Sistem ... 21
Gambar 3.3 Gambaran Umum ... 22
Gambar 3.4 Tahap
Training
dan
Testing
... 22
Gambar 3.5 Tahap
Training
... 22
Gambar 3.6 Tahap
Testing
... 22
Gambar 3.7. Bentuk-bentuk ekstraksi
feature
pada fase pengenalan (
testing
) ... 29
Gambar 3.8. Halaman
Home
Sistem Pengenal Batik Yogyakarta ... 33
Gambar 3.9. Halaman Pengenalan Pola Sistem Pengenal Batik Yogyakarta ... 34
Gambar 3.10. Halaman Pengujian HMM ... 35
Gambar 3.11. Halaman Konsep HMM Sistem Pengenal Batik Yogyakarta ... 36
Gambar 3.12. Halaman Identitas Program ... 36
Gambar 3.13. Halaman Bantuan Sistem Pengenal Batik Yogyakarta ... 37
Gambar 3.14. Halaman Bantuan Sistem Pengenal Batik Yogyakarta ... 38
Gambar 4.1 Halaman utama prototipe pengenalan batik Yogyakarta ... 50
Gambar 4.2 Halaman pengenalan batik Yogyakarta ... 50
Gambar 4.3 Kotak
file selector
untuk mengambil gambar ... 51
Gambar 4.4 Peringatan jika tidak ada file yang dipilih ... 51
Gambar 4.5 Halaman pengujian akurasi Hidden Markov Models ... 52
Gambar 4.6 Peringatan jika terjadi kesalahan input angka state ... 53
Gambar 4.7 Halaman penjelasan konsep Hidden Markov Models ... 55
Gambar 4.8 Halaman penjelasan konsep Baum-Welch ... 56
Gambar 4.9 Halaman penjelasan konsep Viterbi ... 56
Gambar 4.10 Halaman penjelasan konsep
5-fold cross validation
... 57
Gambar 4.11 Halaman bantuan pengenalan batik Yogyakarta ... 58
xvi
xvii
DAFTAR TABEL
Tabel 3.1 Matriks Mean 8 Vektor ... 24
Tabel 3.2
Confusion Matrix
... 32
Tabel 5.1. Data angka akurasi
feature
rata-rata
edge
vertikal ... 61
Tabel 5.2. Data angka akurasi
feature
rata-rata
edge
horisontal ... 62
Tabel 5.3. Data angka akurasi
feature
rata-rata
edge
vertikal-horisontal ... 64
Tabel 5.4. Data angka akurasi
feature
rata-rata
edge
... 65
Tabel 5.5. Data angka akurasi
feature
warna + rata-rata
edge
vertikal ... 66
Tabel 5.6. Data angka akurasi
feature
warna + rata-rata
edge
horizontal ... 67
Tabel 5.7. Data angka akurasi
feature
warna + rata-rata
edge
vertikal-horizontal 69
Tabel 5.8. Data angka akurasi
feature
1V (vektor vertikal) ... 70
Tabel 5.9. Data angka akurasi
feature
2V (2 vektor vertikal) ... 71
Tabel 5.10. Data angka akurasi
feature
4V (4 vektor vertikal) ... 72
Tabel 5.11. Data angka akurasi
feature
1H (vektor horizontal) ... 73
Tabel 5.12. Data angka akurasi
feature
2H (2 vektor horizontal) ... 74
Tabel 5.13. Data angka akurasi
feature
4H (4 vektor horizontal) ... 75
Tabel 5.14. Data angka akurasi
feature
VH (vektor vertikal-horizontal) ... 76
Tabel 6.1 Rangkuman Hasil Percobaan
Feature
Warna dan
Edge
... 78
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Batik merupakan warisan budaya bangsa Indonesia. Batik Yogyakarta
adalah salah satu dari batik Indonesia, yang pada awalnya hanya dibuat terbatas
untuk kalangan keraton saja. Batik di Yogyakarta sekarang ini berkembang sangat
pesat. Namun, perkembangan tersebut tidak diimbangi dengan pengetahuan
tentang pola-pola batik Yogyakarta. Hanya sedikit orang yang mengetahui tentang
pola-pola batik, sehingga diperlukan suatu alat bantu untuk menerjemahkan pola
batik ke dalam sebuah informasi.
Banyak penelitian pengenalan pola dilakukan dengan menggunakan
berbagai metode dan implementasi yang berbeda-beda, seperti metode
cavity
features
dan
neural network
untuk mengenali pola tulisan tangan Thai
(Phokharatkul and Kimpan, 1998), metode pendekatan
Two Stage Classification
untuk mengenali pola tulisan tangan Tamil (S. Hewavitharana dan H. C.
Fernando, 2002), dan sebagainya.
Thai akurasinya sebesar 81 – 89,3% (Dan Povey dan Roongroj Nopsuwanchai,
2003).
Sehingga dari data di atas, metode Hidden Markov Models akan digunakan
penulis untuk mengenali pola batik Yogyakarta ini dan untuk menganalisa metode
perhitungan serta pengenalan pola batik tersebut, maka penulis mengambil topik
“Pengenalan Pola Batik Yogyakarta Menggunakan Metode Hidden Markov
Models dengan Studi Kasus di Museum Batik Yogyakarta” disertai dengan
pembangunan sebuah sistem pengenal pola batik dalam sistem komputer.
1.2 Rumusan Masalah
Dari latar belakang masalah di atas, rumusan masalah pada tugas akhir ini adalah
“Bagaimana secara otomatis mengenal pola batik Yogyakarta menggunakan
metode
Hidden Markov Models
?” dan “Bagaimana menguji unjuk kerja metode
HMM untuk pengenalan pola batik?”
1.3 Tujuan
Menganalisa dan mengetahui kelebihan serta kekurangan metode
Hidden Markov
Models
dalam menangani data citra pola batik Yogyakarta.
1.4 Batasan Masalah
1.
Pola batik yang diteliti adalah pola batik daerah Yogyakarta.
3.
Pembuatan program hanya sebuah prototipe untuk membantu analisa
algoritma
Hidden Markov Models
dalam menangani pola batik
Yogyakarta.
4.
Ada 20 jenis batik Yogyakarta yang digunakan untuk penelitian ini.
5.
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.
c.
Foto batik diambil menggunakan kamera digital FujiFilm 10 MP.
d.
Ukuran gambar yang dapat diproses adalah 200x200 piksel.
e.
Proses
cropping
yang dilakukan yaitu: dari data batik yang didapat
terlebih dahulu di-
crop
untuk menghilangkan sinar
blitz
, kemudian
meng-
crop
bagian pola batik yang merupakan ciri dari pola batik
tersebut, yang selanjutnya ukuran data pola batik hasil crop diubah
menjadi 200x200 piksel.
6.
Proses ekstraksi
feature
berdasarkan warna dan
edge information
. Untuk
ekstraksi
feature
, data dibagi menjadi beberapa area, yaitu 8 baris dan 8
kolom, sehingga akan terdapat 64 area pengamatan.
1.5 Metodologi Penelitian
1.
Survei ke museum batik Yogyakarta untuk memperoleh data citra pola
batik.
2.
Wawancara kepada ahli budaya di museum batik Yogyakarta mengenai
macam-macam pola batik.
3.
Studi literatur, yaitu dengan mempelajari materi dan artikel tentang metode
Hidden Markov Models
, serta
feature study
untuk menentukan fitur yang
cocok untuk pola batik.
4.
Implementasi, yaitu tahap pelaksanaan yang meliputi pembuatan alat bantu
berupa suatu perangkat lunak untuk memudahkan pengujian pola batik.
5.
Pengujian atau analisa hasil terhadap sistem yang dibuat.
1.6 Sistematika Penulisan
BAB I
PENDAHULUAN
Berisi latar belakang, rumusan masalah, tujuan, batasan masalah,
metodologi penelitian, dan sistematika penulisan.
BAB II
LANDASAN TEORI
Berisi landasan teori yang dipakai untuk pembahasan tugas akhir.
BAB III ANALISA DAN PERANCANGAN SISTEM
BAB IV IMPLEMENTASI SISTEM
Berisi implementasi sistem menggunakan metode
Hidden Markov
Models
.
BAB V
ANALISA HASIL DAN PEMBAHASAN
Bab ini berisi analisa hasil dan pembahasan mengenai pengenalan dan
pengujian pola batik.
BAB VI KESIMPULAN DAN SARAN
6
BAB II
LANDASAN TEORI
2.1 Batik Yogyakarta
Batik merupakan warisan budaya yang dewasa ini semakin berkembang.
Jika dahulu batik hanya digunakan untuk acara adat, saat ini batik dapat
digunakan di berbagai tempat. Salah satunya adalah batik Yogyakarta yang sudah
dikenal sejak dahulu kala.
Menurut Sultan Hamengku Buwono X, motif batik Yogyakarta adalah
buatan leluhur sehingga tidak diketahui dengan pasti siapa yang menciptakan
motif-motif tersebut (tempointeraktif.com, 2009). Batik Yogyakarta adalah salah
satu dari batik Indonesia yang pada awalnya dibuat terbatas hanya untuk kalangan
keluarga keraton saja. Setiap motif yang terwujud dalam goresan canting pada
kain batik Yogyakarta sarat akan makna karena memiliki filosofi tersendiri. Hal
inilah yang membedakan batik Yogyakarta dengan batik-batik lain, yang menjaga
batik Yogyakarta tetap memiliki eksklusivitas dari sebuah mahakarya seni dan
budaya Indonesia.
2.2
Feature
pada Batik Yogyakarta
Feature
merupakan suatu tanda yang khas, yang membedakan antara satu
gambar dengan gambar yang lain.
Feature
digunakan untuk menjadi model dalam
Hidden Markov, yang kemudian diekstrak cirinya untuk diolah dalam proses
training
dan testing. Ekstraksi
feature
berupa data batik Yogyakarta belum
memiliki ukuran yang pasti karena belum ada penelitian percobaan Hidden
Markov Models dalam menangani data batik. Beberapa
feature
yang penting pada
gambar adalah warna,
edge information
, bentuk, dan tekstur. Penulis mencoba
menggunakan
feature
warna dan
edge information
dalam penelitian ini yang
diharapkan dapat menjadi pilihan tepat dalam pengenalan pola batik.
a)
Warna
Warna pada citra merupakan persepsi yang dirasakan oleh sistem visual
manusia terhadap panjang gelombang cahaya yang dipantulkan oleh obyek.
Warna-warna yang dapat ditangkap oleh mata manusia merupakan kombinasi
cahaya dengan panjang berbeda. Kombinasi yang memberikan rentang warna
paling lebar adalah
red (R), green (G)
dan blue
(B).
Perhitungan kadar warna berdasarkan atas percobaan yang telah
dilakukan pada penelitian untuk klasifikasi tingkat kematangan tomat merah
menggunakan metode perbandingan kadar warna (Noviyanto, 2009). Untuk
menghitung rata-rata
Red
( ), rata-rata
Green
(
̅
), rata-rata
Blue
( )
,
kadar
Red
,
kadar
Green
, kadar
Blue
,
dan rata-rata dari ,
̅
, dan digunakan rumus:
R = ∑ ∑
G = ∑ ∑
(2.2)
B = ∑ ∑
(2.3)
= ̅
(2.4)
= ̅
̅
(2.5)
=
̅
(2.6)
RGB = ̅
(2.7)
di mana
M = lebar citra (kolom matriks)
N = tinggi citra (baris matriks)
R
ij= nilai piksel
Red
G
ij= nilai piksel
Green
B
ij= nilai piksel
Blue
= rata-rata
Red
̅
= rata-rata
Green
=
rata-rata
Blue
= rata-rata dari ,
̅
, dan
b)
Edge Information
obyek, yang membatasi suatu wilayah obyek satu dengan yang lainnya.
Tujuan lain operasi pendeteksian tepi adalah untuk meningkatkan
penampakan garis batas suatu daerah atau objek di dalam citra (Murinto,
2008)
.2.3 Pengenalan Pola
Pengenalan pola
(pattern recognition)
sesungguhnya telah lama ada dan
telah mengalami perkembangan terus menerus dimulai dari pengenalan pola
tradisional kemudian menjadi pengenalan pola modern. Pada mulanya pengenalan
pola berbasis pada kemampuan alat indera manusia, di mana manusia mampu
mengingat suatu informasi pola secara menyeluruh hanya berdasarkan sebagian
informasi pola yang tersimpan di dalam ingatannya. Misalnya sebuah nada
pendek yang dibunyikan dapat membuat manusia mengingat sebuah lagu secara
keseluruhan.
Inti dari pengenalan pola adalah proses pengenalan suatu obyek dengan
menggunakan berbagai metode di mana dalam proses pengenalannya memiliki
tingkat akurasi yang tinggi. Memiliki tingkat akurasi yang tinggi mengandung
pengertian bahwa suatu obyek yang secara manual (oleh manusia) tidak dapat
dikenali tetapi bila menggunakan salah suatu metode pengenalan yang
diaplikasikan pada komputer masih dapat dikenali.
2.
Pada tahap penginderaan, mesin menginderakan teks dengan sensor
kemudian memasukkan citra hasil pindai itu ke dalam aplikasi pemroses
teks. Teks ini masih berupa citra berisi kumpulan piksel yang memiliki
data warna RGB (
Red – Green – Blue
).
3.
Setelah citra ditangkap dengan sensor, maka citra tersebut dikenai
langkah-langkah
pre-processing
, yaitu tahapan yang dilalui untuk
memisahkan obyek dari berbagai derau dan menjadikan obyek ini siap
untuk diklasifikasikan. Seperti ketika manusia menginderakan sesuatu,
maka ia akan berkonsentrasi pada obyek utama.
Pre-processing
meliputi:
Konversi dari citra berwarna (
Red-Green-Blue
/ RGB) menjadi citra
hitam putih yang memiliki matriks informasi warna 0 dan 1 (biner)
saja. Hal ini disebut dengan proses binarisasi citra.
Pada tahap koreksi kemiringan, citra biner dibuat menjadi lurus
sejajar dengan sumbu x. Hal ini dilakukan untuk memperbesar
akurasi dan menghindari kegagalan pengenalan karena citra yang
miring.
Kemudian citra dikenai segmentasi, yaitu langkah pemisahan citra
utama dari latar belakang yang tidak memiliki andil dalam langkah
pengenalan, serta pemisahan karakter per karakter.
4.
Ekstraksi
feature
merupakan langkah pemilihan ciri
yang ingin
diidentifikasi dari citra aksara yang telah dikenai proses
pre-processing
.
5.
Tahap klasifikasi citra merupakan tahap utama dalam pengenalan pola.
Klasifikasi ini bisa berdasarkan
unsupervised
maupun
supervised learning
.
Unsupervised learning
berarti kategori tercipta dengan sendirinya sesuai
dengan
feature
yang ditangkap, sedangkan
supervised learning
berarti
sudah ada batas-batas pengetahuan untuk menentukan kelas dari obyek
yang ditangkap. Pada tahap ini,
feature
dibandingkan kemiripannya
dengan model yang sudah diketahui oleh mesin.
6.
Post processing
merupakan tahap analisa terhadap hasil klasifikasi.
Beberapa proses dalam tahap ini antara lain penghitungan jumlah
kesalahan untuk menentukan akurasi, penghitungan resiko, analisa
konteks, dan
multiple classifier
.
7.
Tahap terakhir ialah mendapatkan output berupa pengenalan tulisan,
sehingga keputusan dapat diambil dari hasil pengenalan ini.
2.4 Metode Hidden Markov Models
recognition (speech, face, handwriting), seperti dijelaskan oleh Lawrence R.
Rabiner dalam laporannya yang berjudul “A Tutorial on Hidden Markov Models
and Selected Applications in Speech Recognition”. Pada beberapa penelitian,
sudah dicobakan metode Hidden Markov Models untuk pengenalan pola berupa
citra.
Hidden Markov Model (HMM) adalah sebuah model statistik dari sebuah
sistem yang diasumsikan dari rantai Markov dengan parameter yang tak diketahui,
dan tantangannya adalah menentukan parameter-parameter tersembunyi (
hidden
)
dari parameter-parameter yang dapat diamati (Przytycka, 2005).
Parameter-parameter yang ditentukan kemudian dapat digunakan untuk analisis yang lebih
jauh dalam pengenalan pola. Disebut statistik karena HMM mencari
means
,
varians
, dan probabilitas dari model yang dimasukkan.
HMM didefinisikan sebagai kumpulan lima parameter (N, M, A, B,
π
).
Jika dianggap
λ = {A, B, π} maka HMM mempunyai parameter tertentu N dan M.
Ciri-ciri HMM adalah:
Observasi diketahui tetapi urutan
state
tidak diketahui sehingga
disebut
hidden
.
Observasi adalah fungsi probabilitas
state
.
Perpindahan
state
adalah dalam bentuk probabilitas.
HMM digunakan untuk pembuatan model yang digunakan ketika proses
data lainnya menggunakan permodelan Hidden Markov diskret, seperti data
berupa citra batik yang selanjutnya diterapkan dalam penelitian ini.
Langkah-langkah dalam permodelan Hidden Markov mencakup langkah
ekstraksi
feature
hingga
testing
, yang dijelaskan secara kronologis pada sub bab
selanjutnya.
2.4.1 Algoritma Pemodelan Hidden Markov Models
Setelah
featur
e didapatkan, maka permodelan Hidden Markov dapat
dibangkitkan. Dari data
feature
diskret, dapat dibuat sebuah rangkaian
state
dengan angka probabilitas transisi sebagai penghubungnya. Bentuk lengkap
model HMM ialah berupa
state
-
state
yang saling berhubungan, yang mana tiap
state
terhubung dari
state
mana pun.
Gambar 2.1 Contoh tiga tipe rantai HMM
Algoritma Hidden Markov Models dibangkitkan dari beberapa parameter,
yaitu (Rabiner, 1989):
λ
= ( A, B,
π
)
(2.9)
Permodelan dengan parameter di atas dapat dijelaskan sebagai berikut:
1.
Terdapat sebuah parameter N, yaitu banyaknya
state
untuk model. Setiap
state
dinotasikan sebagai S = { S
1, S
2, S
3, ..., S
N} dan
state
pada waktu
t
ialah
q
t.
2.
M, banyaknya simbol observasi tiap
state
. Simbol observasi berhubungan
dengan keluaran fisik dari sistem yang dimodelkan. Dinotasikan sebagai
V= { V
1, V
2, V
3, ..., V
M}.
3.
Matriks transisi probabilitas A = {a
ij},
di mana
a
ij= P(q
t+1= S
j| q
t= S
i), 1 < i, j < N
(2.10)
dan dengan syarat a
ij> 0 dan
∑
a = 14.
Simbol distribusi probabilitas pada
state
j, B = { bj(k) } di mana
b
j(k) = P ( V
kpada t | q
t= S
j),
1 < j < N
(2.11)
1 < k < M.
5.
Inisialisasi distribusi
state
π
= {
π
i} di mana
π
i =P ( q
i= S
j),
1 < i < N
(2.13)
O = O
1O
2O
3... O
t(2.14)
di mana untuk setiap
observasi Ot ialah satu dari simbol yang ada pada V, dan T
adalah banyaknya observasi yang ada pada sekuens tersebut.
2.4.2 Algoritma
training
dengan Baum-Welch
Masalah utama dalam HMM adalah mengatur parameter model
λ={A,B,π}
agar probabilitas urutan observasi yaitu P(O|
λ
) menjadi maksimal.
Parameter model
λ
={A,B,
π}
yang memaksimalkan P(O|
λ
) dapat dicari dengan
prosedur iterasi yaitu
dengan metode EM (
Expectation Modification
) atau
algoritma
forward-backward
atau sering disebut dengan metode
Baum Welch
.
Diasumsikan
keluaran observasi (O) adalah korespondensi 1 – 1 dengan keadaan
(Q) sehingga
parameter HMM menjadi tidak tersembunyi lagi.
Variabel
forward
didefinisikan sebagai observasi parsial dari probabilitas
state
sekuen yang dilambangkan dengan
O1 , O2 ,…,Ot
(hingga waktu
t
) dan
state
Si
pada waktu
t
, dengan model λ, dan α sebagai
t(i)
. Sedangkan variabel
backward
didefinisikan sebagai observasi parsial dari probabilitas
state
sekuen dari t+1 ke
state
sebelumnya, di mana terdapat
state
Si
pada waktu
t
, dengan model λ, dan α
sebagai
t(i).
Observasi dari probabilitas
state
sekuen ini dihitung dengan
rumus:
(2.15)
Probabilitas pada saat berada pada
state
Si pada waktu t, dan diberikan
sekuens observasi
O
, dan model λ, ialah:
Gambar 2.2 Ilustrasi dari operasi pada Baum-Welch.
(a) variabel forward
. (b)variabel backward
.
Untuk menghitung model HMM dari kelas yang diberikan, maka kita akan
membutuhkan banyak sampel data dari kelas ini untuk dimodelkan. Karakteristik
dari setiap contoh ini kemudian diekstrak dan disimpan dalam sebuah parameter
vektor sekuens
xt
. Parameter ini yang dipetakan sebagai ekuivalensi dari
O
t
.
Cara kerja metode Baum-Welch:
1.
Estimasikan sebuah model HMM sebagai
.
2.
Dengan nilai λ dan sekuens observasi
O
, hitung sebuah model baru
, seperti
.
(a)
3.
Jika menghasilkan
| ( | )( | ) < ℎ ℎ
, maka hentikan langkah
ini. Jika tidak, maka letakkan nilai
untuk menggantikan λ dan ulangi
langkah 1.
2.4.3 Algoritma
testing
dengan Viterbi
Algoritma Viterbi digunakan untuk menghitung sekuens
state
Q={q
1q
2... q
T}
,
yang paling dekat probabilitasnya dari sebuah sekuens observasi
O={O
1O
2... O
T}
yang didefinisikan sebagai:
( ) = max , ,…, [ … = , … |
λ
](2.17)
( )
merupakan nilai probabilitas terbaik pada waktu
t
, yang dihitung
pada observasi
t
pertama dan diakhiri pada
state
S
i.
2.5 Metode Evaluasi 5-Fold Cross Validation
Tingkat akurasi sebuah sistem pengenalan pol dapat diukur dengan metode
pengukuran
5-fold cross validation
yang membagi tiap kelompok batik menjadi
lima kelompok data yang kemudian bergantian dijadikan data untuk
testing
maupun
training
dalam lima langkah pengujian yang saling silang.
dalam
training
dan
testing
, maka nilai validasi terhadap evaluasi akan berkurang,
walaupun angka akurasi meningkat.
Gambaran langkah evaluasi dengan metode
5-fold cross validation
dapat
dilihat pada Gambar 2.2. Masing-masing kotak yang terdapat pada gambar ialah
kotak yang mewakili satu kelompok data. Tiap satu kelompok data bergantian
menjadi data
testing
pada satu langkah pengujian, sedangkan lainnya menjadi data
training
.
Gambar 2.3 Gambaran metode evaluasi
5-fold cross validation
2.6 Matlab
20
BAB III
ANALISA DAN PERANCANGAN SISTEM
Bab Analisa dan Perancangan Sistem berisi penjelasan tentang rancangan
dan cara kerja sistem pengenal pola batik Yogyakarta yang akan dibangun. Sistem
ini berfungsi sebagai alat bantu untuk menganalisis cara kerja dan akurasi dari
metode Hidden Markov Models dalam mengenali pola batik Yogyakarta.
3.1 Perancangan Sistem Secara Umum
Sistem pengenal pola batik Yogyakarta digunakan untuk memodelkan
metode Hidden Markov Models dalam menangani data gambar pola batik
Yogyakarta, yaitu citra yang datanya diambil dari foto pola batik di Museum
Batik Yogyakarta. Data-data citra pola batik didapat dengan cara memotret pola
batik menggunakan kamera digital. Citra hasil foto yang dimasukkan ke dalam
sistem adalah citra yang sudah dikenai proses ekstraksi
feature
. Sistem akan
menggunakan
feature
untuk melakukan proses
training
maupun
testing
. Akhirnya,
pengguna akan mendapat keluaran berupa nama batik berikut tingkat akurasinya.
Pengguna
Gambar 3.1 Alur Pengenalan Batik Yogyakarta Secara Umum
Gambar 3.2 Blok Diagram Sistem
nam a bat ik Yogyakarta Citra Bat ik
Yogyakarta bert ipe JPG ber ukuran 200x200
piksel
Pengenalan pola bat ik Yogyakart a m enj adi nam a bat ik
evaluasi Sistem Pengenal Batik Yogyakarta dengan HM M
Bat ik Yogyakart a hasil fot o
evaluasi
Sistem pengenal
pola batik
Yogyakarta
ekst raksi
feat ure
pengolahan
feat ure
pencocokan kemiripan
“ parang barong” Fase Pengenalan (testing)
M em asukkan citra bat ik Yogyakart a dan beber apa
paramet er HM M (jenis
feature dan jum lah st ate)
Pengenalan pola bat ik Yogyakart a m enj adi nam a bat ik Citra Bat ik Yogyakart a
hasil fot o Pengguna
evaluasi
Sistem pengenal
pola batik
Yogyakarta
Parang Bar ong
M1 M2 M3 …. MX ekst raksi
feat ure
pengolahan
f eat ure
t raining
3.1.1 Gambaran Sistem
Gambar 3.3 Gambaran Umum
Gambar 3.4 Tahap
Training
dan
Testing
Training
Gambar 3.5 Tahap
Training
Testing
Gambar 3.6 Tahap
Testing
Gambar 3.3, Gambar 3.5, dan Gambar 3.6 merupakan gambaran input
output dari sistem pengenalan pola batik Yogyakarta.
3.1.2 Perancangan Fase
Training
Model
Langkah perancangan
training
model batik Yogyakarta meliputi
langkah-langkah ekstraksi
feature
, pengolahan
feature
, dan
training
. Fase ini merupakan
langkah pembuatan model batik Yogyakarta untuk menjadi pembanding dengan
pola batik baru yang dimasukkan pada fase pengenalan. Proses
training
model
dapat dijelaskan sebagai berikut:
a)
Ekstraksi
Feature
Ekstraksi
feature
menggunakan 2 macam perhitungan, yaitu:
1.
Feature edge
dan warna
Karena tidak ada ukuran tertentu untuk menentukan ekstraksi
feature
untuk mendapatkan hasil akurasi maksimal, maka dalam
percobaan ini penulis mencoba menggunakan ukuran gambar
200x200 piksel. Untuk perhitungan warna didapat dari rata-rata
Red
( ), rata-rata
Green
(
̅
), rata-rata
Blue
( ), kadar
Red
, kadar
Green
,
kadar
Blue
, dan
(rata-rata dari ,
̅
, dan ).
Tabel 3.1 Matriks Mean 8 Vektor
Mean
11Mean
12…
…
…
…
…
Mean
18Mean
21…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
Mean
81…
…
…
…
…
…
Mean
88O
Penjumlahan tiap kolom dihitung dengan rumus:
Total
1= Mean
11+ Mean
21+ Mean
31+ … + Mean
81Total
2= Mean
12+ Mean
22+ Mean
32+ … + Mean
82Total
3= Mean
13+ Mean
23+ Mean
33+ … + Mean
83…
Total
8= Mean
18+ Mean
28+ Mean
38+ … + Mean
88O
Penjumlahan tiap baris dihitung dengan rumus:
Total
1= Mean
11+ Mean
12+ Mean
13+ … + Mean
18Total
2= Mean
21+ Mean
22+ Mean
23+ … + Mean
28Total
3= Mean
31+ Mean
32+ Mean
33+ … + Mean
38…
Feature Rata-Rata Edge Penjumlahan Horisontal
Perhitungan feature ini akan menghasilkan matriks 1x72, yaitu dari
perhitungan:
-
rata-rata nilai edge dari matriks 8 vektor diperoleh matriks
1x64
-
penjumlahan baris horizontal dari matriks 8 vektor diperoleh
matriks 1x8
Feature Rata-Rata Edge Penjumlahan Vertikal
Perhitungan feature ini juga menghasilkan matriks 1x72, yaitu dari
perhitungan:
-
rata-rata nilai edge dari matriks 8 vektor diperoleh matriks
1x64
-
penjumlahan kolom vertikal dari matriks 8 vektor diperoleh
matriks 1x8
Feature Rata-Rata Edge Penjumlahan Vertikal-Horisontal
Perhitungan feature ini akan menghasilkan matriks 1x80, yaitu dari
perhitungan:
-
rata-rata nilai edge dari matriks 8 vektor diperoleh matriks
1x64
-
penjumlahan kolom vertikal dari matriks 8 vektor diperoleh
matriks 1x8
Feature Rata-Rata Edge
Perhitungan feature ini akan menghasilkan matriks 1x64 dari
perhitungan rata-rata nilai edge.
Feature Warna dan Rata-Rata Edge Penjumlahan
Vertikal-Horisontal
Perhitungan feature ini akan menghasilkan matriks 1x87, yaitu dari
perhitungan:
-
perhitungan rata-rata Red ( ), rata-rata Green (
̅
), rata-rata
Blue ( ), kadar Red, kadar Green, kadar Blue, dan rata-rata
dari
̅
.
-
rata-rata nilai edge dari matriks 8 vektor diperoleh matriks
1x64
-
penjumlahan baris horizontal dari matriks 8 vektor diperoleh
matriks 1x8.
Feature Warna dan Rata-Rata Edge Penjumlahan Vertikal
Perhitungan feature ini akan menghasilkan matriks 1x79, yaitu dari
perhitungan:
-
perhitungan rata-rata Red ( ), rata-rata Green (
̅
), rata-rata
Blue ( ), kadar Red, kadar Green, kadar Blue, dan rata-rata
dari
̅
.
-
rata-rata nilai edge dari matriks 8 vektor diperoleh matriks
1x64.
-
penjumlahan baris vertikal dari matriks 8 vektor diperoleh
matriks 1x8.
Feature Warna dan Rata-Rata Edge Penjumlahan Horisontal
Perhitungan feature ini akan menghsilkan matriks 1x79, yaitu dari
perhitungan:
-
perhitungan rata-rata Red ( ), rata-rata Green (
̅
), rata-rata
Blue ( ), kadar Red, kadar Green, kadar Blue, dan rata-rata
dari
̅
.
-
rata-rata nilai edge dari matriks 8 vektor diperoleh matriks
1x64.
2.
Feature edge
Untuk ekstraksi
feature edge
, dipilih beberapa variasi
feature
berdasarkan penelitian pengenalan tulisan tangan Thai OCR
(Theeramunkong, Wongtapan, Sinthupinyo, 2004), penelitian tulisan
tangan Thai
off-line
(Nopsuwanchai, Povey, 2003) dan penelitian
tulisan Sinhala
off-line
(Hewavitharana, Fernando, Kodikara).
Adapun beberapa
feature
yang dicobakan, yaitu:
Pembagian citra batik menjadi 200 vektor sumbu x sehingga
menghasilkan 1x200 vektor kolom vertikal (1V).
Pembagian citra batik menjadi 2 vektor vertikal dan 200 vektor
horizontal (2V).
Pembagian citra batik menjadi 4 vektor vertikal dan 200 vektor
horizontal (4V).
Pembagian citra batik menjadi 200 vektor sumbu y sehingga
menghasilkan 200x1 vektor baris/horizontal (1H).
Pembagian citra batik menjadi 2 vektor horizontal dan 200
vektor vertikal (2H).
Pembagian citra batik menjadi 4 vektor horizontal dan 200
vektor vertikal (4H).
b)
Pengolahan
Feature
Setiap
feature
yang telah dilakukan ekstraksi akan diolah
menggunakan metode Hidden Markov Models. Pengolahan
feature
ini
menghasilkan satu matriks transisi yang berisi probabilitas urutan state.
Matriks transisi ini menggambarkan Markov model secara numeris.
c)
Training
Langkah
training
merupakan langkah pengolahan model-model pola
batik menjadi satu matriks model untuk mewakili satu pola batik
menggunakan metode Baum-Welch. Pengkategorian pola batik pada langkah
training
ini ditentukan oleh pengguna pada langkah ekstraksi
feature
.
3.1.3 Perancangan Fase Pengenalan
Langkah perancangan pengenalan batik Yogyakarta meliputi
langkah-langkah
ekstraksi feature
, pengolahan
feature
, dan pencocokan kemiripan. Fase
ini disebut juga fase
testing
, karena pada proses ini, batik diuji untuk dikenali
polanya oleh sistem.
a)
Ekstraksi
Feature
Langkah ekstraksi
feature
pada fase pengenalan model ini sama
dengan ekstraksi pada fase
training
.
b)
Pengolahan
Feature
yang berisi probabilitas urutan state. Matriks transisi ini menggambarkan
Markov model secara numeris.
c)
Pencocokan Kemiripan
Langkah pencocokan kemiripan ini merupakan langkah pencocokan
kemiripan antara matriks transisi dari citra input dengan seluruh matriks
transisi yang ada dalam sistem dengan algoritma Viterbi. Hasil yang didapat
dari pencocokan ini adalah nilai perhitungan kemiripan antara model input
dengan model yang ada dalam sistem. Keputusan pengenalan pola batik
diambil dari hasil perhitungan Viterbi yang memiliki nilai kecocokan terbesar.
3.1.4 Perancangan Proses Evaluasi
Langkah evaluasi merupakan langkah pengujian akurasi metode Hidden
Markov Models dalam mengenali pola batik Yogyakarta yang dimasukkan oleh
pengguna. Langkah evaluasi ini menggunakan metode
5-fold cross validation
dengan
confusion matrix.
Evaluasi dilakukan untuk setiap batik Yogyakarta yang hasil
pengenalannya disimpan dalam sebuah matriks bernama
confusion matrix
. Satu
set pengujian dilakukan terhadap masing-masing batik Yogyakarta dengan metode
5-fold cross validation
, yang dapat dijabarkan sebagai berikut:
1.
Penentuan lima kelompok batik
2.
Pengujian akurasi
Pengujian akurasi meliputi dua langkah, yaitu langkah
training
dan
testing
. Langkah
training
dikenai untuk membentuk model, sedangkan
langkah
testing
digunakan untuk menguji pengenalan pola batik. Dalam
satu kali pengujian, terdapat lima set
training
dan
testing
yang
masing-masing menghasilkan lima pengenalan batik.
3.
Penentuan
confusion matrix
Confusion matrix
didapat dari hasil pengujian akurasi yang telah
dilakukan terhadap pola batik Yogyakarta. Matriks ini menyediakan
informasi angka pengenalan batik untuk setiap batik yang telah diuji pada
langkah pengujian akurasi.
Tabel 3.2
Confusion Matrix
4.
Perhitungan angka akurasi
Angka akurasi dapat dihitung dengan cara menjumlahkan hasil
pengenalan diagonal dari
confusion matrix
dibagi dengan keseluruhan
jumlah pengujian. Dari perhitungan ini didapat angka akurasi metode
Hidden Markov Models dalam menangani data berupa batik Yogyakarta.
3.2 Perancangan Antar Muka
Alat bantu pengenal pola batik Yogyakarta ini memiliki tiga halaman
utama, yaitu halaman Home, halaman pengenalan batik, dan halaman pengujian
model dengan metode Hidden Markov Models. Terdapat beberapa halaman berisi
informasi mengenai sistem, yang dapat dijumpai pada halaman
About HMM
,
halaman
Help
, dan Halaman
About Program
.
3.2.1 Halaman Perancangan
Home
Gambar 3.8. Halaman
Home
Sistem Pengenal Batik Yogyakarta
3.2.2 Halaman Pengenalan Batik
Gambar 3.9. Halaman Pengenalan Pola Sistem Pengenal Batik Yogyakarta
Gambar 3.9 merupakan halaman pengenalan pola batik. Pada halaman ini
pengguna dapat memasukkan data gambar batik dengan menekan tombol
3.2.3 Halaman Pengujian HMM
Gambar 3.10. Halaman Pengujian HMM
3.2.4 Halaman Konsep Hidden Markov Models
Gambar 3.11. Halaman Konsep HMM Sistem Pengenal Batik Yogyakarta
Gambar 3.11. merupakan halaman yang berisi informasi tentang
metode-metode yang dipakai pada sistem ini, yaitu metode-metode Hidden Markov Models,
algoritma Baum-Welch, algoritma Viterbi, dan metode 5
fold-cross validation
.
Pengguna dapat memilih salah satu metode pada Menu About, dan sistem akan
menampilkan informasi tentang metode yang dipilih pada kotak Deskripsi.
3.2.5 Halaman Identitas Program
Gambar 3.12. merupakan halaman identitas program yang berisi identitas
program, yang menyediakan informasi mengenai sistem pengenal batik kepada
pengguna.
3.2.6 Halaman Bantuan Pengenalan
3.2.7 Halaman Bantuan Pengujian
Gambar 3.14. Halaman Bantuan Sistem Pengenal Batik Yogyakarta
Gambar 3.14. merupakan halaman bantuan untuk menggunakan halaman
pengujian batik Yogyakarta.
3.3 Kebutuhan Software dan Hardware
1.
Processor
: Intel Core 2 Duo processor T7500
2. Sistem operasi: Microsoft Windows XP
3. Media tampilan: VGA 128MB
4. Media masukan: Kamera Digital FujiFilm 10 MP
5.
Memory
: 512 MByte – 2GByte
6. Media penyimpanan: harddisk 80 GByte
3.4 Algoritma Pembuatan Program
3.4.1. Modul Ekstraksi
Feature
a) Vektor Horisontal (1H)
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x200 untuk setiap model
batik
Algoritma:
1.
Baca citra batik.
2.
Citra dibuat biner.
3.
Untuk setiap baris, dilakukan pengecekan:
a.
Jika ditemukan obyek, maka ditambahkan satu.
b.
Ulangi langkah 2a sampai baris terakhir.
4.
Simpan informasi kepadatan ke dalam file.
b) 2 Vektor Horisontal (2H)
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x400 untuk setiap model
batik
Algoritma:
1.
Baca citra batik.
2.
Citra dibuat biner.
a.
Jika ditemukan obyek, maka ditambahkan satu.
b.
Ulangi langkah 3a sampai baris terakhir.
5.
Simpan informasi kepadatan ke dalam file.
c) 4 Vektor Horisontal (4H)
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x800 untuk setiap model
batik
Algoritma:
1.
Baca citra batik.
2.
Citra dibuat biner.
3.
Bagi citra batik menjadi 4 vektor horizontal dan 200 vektor vertikal.
4.
Untuk setiap vektor, dilakukan pengecekan:
a.
Jika ditemukan obyek, maka ditambahkan satu.
b.
Ulangi langkah 3a sampai baris terakhir.
5.
Simpan informasi kepadatan ke dalam file.
d)
Vertikal-Horisontal (VH)
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x400 untuk setiap model
batik
Algoritma:
2.
Citra dibuat biner.
3.
Bagi citra batik menjadi 4 vektor horizontal dan 200 vektor vertikal.
4.
Untuk setiap baris, dilakukan pengecekan:
a.
Jika ditemukan obyek, maka ditambahkan satu.
b.
Ulangi langkah 3a sampai baris terakhir.
5.
Untuk setiap kolom, dilakukan pengecekan:
a.
Jika ditemukan obyek, maka ditambahkan satu
b.
Ulangi langkah 4a sampai kolom terakhir
6.
Simpan informasi kepadatan ke dalam file.
e)
Vektor Vertikal (1V)
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x200 untuk setiap model
batik
Algoritma:
1.
Baca citra batik.
2.
Citra dibuat biner.
3.
Untuk setiap kolom, dilakukan pengecekan:
f)
2 Vektor Vertikal (2V)
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x400 untuk setiap model
batik
Algoritma:
1.
Baca citra batik.
2.
Citra dibuat biner.
3.
Bagi citra batik menjadi 2 vektor vertikal dan 200 vektor horizontal
4.
Untuk setiap vektor dilakukan pengecekan:
a.
Jika ditemukan obyek, maka ditambahkan satu.
b.
Ulangi langkah 3a sampai kolom terakhir.
5.
Simpan informasi kepadatan ke dalam file.
g)
4 Vektor Vertikal (4V)
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x800 untuk setiap model
batik
Algoritma:
1.
Baca citra batik.
2.
Citra dibuat biner.
4.
Untuk setiap vektor, dilakukan pengecekan:
a.
Jika ditemukan obyek, maka ditambahkan satu.
b.
Ulangi langkah 3a sampai kolom terakhir.
5.
Simpan informasi kepadatan ke dalam file.
h)
Rata-rata
edge
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x64 untuk setiap model
batik
Algoritma:
1.
Baca citra batik.
2.
Citra dibuat biner.
3.
Citra dibuat menjadi 8 kolom dan 8 baris (64 area pengamatan)
4.
Untuk setiap area dihitung rata-ratanya.
5.
Simpan informasi kepadatan ke dalam file.
i)
Rata-rata jumlah horisontal
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x72 untuk setiap model
batik
Algoritma:
3.
Citra dibuat menjadi 8 kolom dan 8 baris (64 area pengamatan)
4.
Untuk setiap area dihitung rata-ratanya.
5.
Untuk setiap baris dihitung jumlahnya.
6.
Simpan informasi kepadatan ke dalam file.
j)
Rata-rata jumlah vertikal
Input : matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x72 untuk setiap model
batik
Algoritma:
1.
Baca citra batik.
2.
Citra dibuat biner
3.
Citra dibuat menjadi 8 kolom dan 8 baris (64 area pengamatan)
4.
Untuk setiap area dihitung rata-ratanya.
5.
Untuk setiap kolom dihitung jumlahnya.
6.
Simpan informasi kepadatan ke dalam file.
k)
Rata-rata edge+jumlah vertikal-horisontal
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x80 untuk setiap model
batik
Algoritma:
2.
Citra dibuat biner.
3.
Citra dibuat menjadi 8 kolom dan 8 baris (64 area pengamatan)
4.
Untuk setiap area dihitung rata-ratanya.
5.
Untuk setiap baris dihitung jumlahnya.
6.
Untuk setiap kolom dihitung jumlahnya.
7.
Simpan informasi kepadatan ke dalam file.
l)
Warna+rata-rata jumlah horisontal
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x79 untuk setiap model
batik
Algoritma:
1.
Baca citra batik.
2.
Hitung rata-rata Red, rata-rata Green, rata-rata Blue, kadar Red, kadar
Green, kadar Blue, dan rata-rata dari RedGreenBlue.
3.
Citra dibuat biner.
4.
Citra dibuat menjadi 8 kolom dan 8 baris (64 area pengamatan)
5.
Untuk setiap area dihitung rata-ratanya.
m) Warna+rata-rata jumlah vertikal
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x79 untuk setiap model
batik
Algoritma:
1.
Baca citra batik.
2.
Hitung rata-rata Red, rata-rata Green, rata-rata Blue, kadar Red, kadar
Green, kadar Blue, dan rata-rata dari RedGreenBlue.
3.
Citra dibuat biner.
4.
Citra dibuat menjadi 8 kolom dan 8 baris (64 area pengamatan)
5.
Untuk setiap area dihitung rata-ratanya.
6.
Untuk setiap kolom dihitung jumlahnya.
7.
Simpan informasi kepadatan ke dalam file.
n)
Warna+rata-rata jumlah vertikal-horisontal
Input
: matriks dari
image
berukuran 200x200 piksel
Output : matriks kepadatan piksel berukuran 1x87 untuk setiap model
batik
Algoritma:
1.
Baca citra batik.
2.
Hitung rata-rata Red, rata-rata Green, rata-rata Blue, kadar Red, kadar
Green, kadar Blue, dan rata-rata dari RedGreenBlue.
4.
Citra dibuat menjadi 8 kolom dan 8 baris (64 area pengamatan)
5.
Untuk setiap area dihitung rata-ratanya.
6.
Untuk setiap baris dihitung jumlahnya.
7.
Untuk setiap kolom dihitung jumlahnya.
8.
Simpan informasi kepadatan ke dalam file.
3.4.2 Modul pembuatan
feature
HTK
Input
: file ekstraksi
feature.
Output : file berisi bahasa mesin untuk dibaca computer.
Algoritma:
1.
Mengambil seluruh data batik
2.
Untuk setiap file *.nw:
a.
Baca file
b.
Lakukan transpose
c.
Simpan berkas sebagai file .lt
3.4.3 Modul pelatihan dengan Baum-Welch
Input
: file berisi letak direktori data
training
Output : file proto berisi means, varians, dan matriks transisi
Algoritma:
1.
Buat prorotipe baru menggunakan fungsi HCompV.
3.4.4 Modul pengenalan dengan Viterbi
Input
: file berisi letak direktori data
testing
Output : file berisi means, varians, probabilitas transisi, dan nama batik
Algoritma:
1.
Lakukan pencocokan menggunakan fungsi HVite untuk menghasilkan
file berisi nama batik.
2.
Lakukan pencocokan dengan info lengkap menggunakan fungsi HVite
untuk menghasilkan means, varians, dan probabilitas transisi.
3.4.5 Modul pembuatan
confusion matrix
dan perhitungan evaluasi
5-fold
cross validation
Input
: file hasil pengenalan Viterbi
Output : akurasi
Algoritma:
1.
Baca file hasil pengenalan Viterbi.
2.
Hitung panjang datanya.
3.
Untuk setiap baris data:
a.
Lakukan perhitungan seberapa banyak kemunculan nama batik
yang sama.
b.
Ulangi langkah 3a sampai baris data terakhir.
4.
Buat matriks kecocokan dari perhitungan langkah 3.
5.
Jumlahkan data yang ada pada diagonal matriks.
6.
Hitung akurasi.
49
BAB IV
IMPLEMENTASI SISTEM
Bab ini akan membahas hasil implementasi sistem, yaitu tampilan antar
muka sistem dan analisa algoritma yang digunakan, serta menjelaskan tentang
penggunaan tombol dan menu untuk setiap halaman.
4.1 Implementasi Antar Muka yang Digunakan pada Sistem
4.1.1. Halaman Utama
Pada halaman utama terdapat identitas penulis dan tujuan pembuatan
prototipe sistem pengenalan pola batik Yogyakarta. Selain itu, terdapat 3
menu teks, yaitu:
1.
Menu Teks File
Menu ini berisi 2 submenu utama, yaitu: menu halaman pengenalan pola
batik dan menu pengujian pola batik Yogyakarta.
2.
Menu Teks Hidden Markov Models
Menu ini berisi submenu yang berfungsi menampilkan halaman
pengenalan konsep HMM dan beberapa algoritma yang digunakan dalam
mengenali pola batik Yogyakarta.
3.
Menu Teks Help
Gambar 4.1 Halaman utama prototipe pengenalan batik Yogyakarta
4.1.2.
Halaman Pengenalan Batik
Gambar 4.3 Kotak
file selector
untuk mengambil gambar
Gambar 4.4 Peringatan jika tidak ada file yang dipilih
Halaman pengenalan batik merupakan halaman yang berfungsi
mengenali gambar batik Yogyakarta yang dimasukkan lewat tombol
Browse
.
Pengguna dapat memilih gambar melalui jendela
file selector
yang akan
muncul setelah tombol
Browse
ditekan. Jika tidak ada file yang dipilih atau
terjadi kesalahan pembacaan data, maka akan muncul kotak peringatan seperti
Gambar 4.4.
Kotak “Proses” untuk menampilkan proses dari pengenalan batik.
Dalam kotak ini akan ditampilkan langkah
testing
menggunakan algoritma
Viterbi, serta hasil dari pengenalan batik berupa nama batik dapat dilihat pada
kotak “Hasil”.
pencocokan dengan algoritma Viterbi, maka sistem mencocokkan batik yang
terdaftar dalam file “
AllTestData1.scpI”
, dengan file definisi HMM
“
hmmdefs”
, daftar model “
model.list
”, jejaring batik “
batiknet
”, dan kamus
batik “
dict
”. Angka kecocokan berupa angka
means
,
varians
, dan probabilitas
yang memiliki kemiripan terbaik dari keseluruhan batik.
4.1.3. Halaman Pengujian Batik Yogyakarta
Gambar 4.6 Peringatan jika terjadi kesalahan input angka state
Halaman
pengujian
akurasi
merupakan
halaman
yang
merepresentasikan proses
testing
dengan algoritma
Baum-Welch
. Ada 2
bentuk
feature
yang dapat dipilih, yaitu:
Feature
dan
state
yang menggunakan ciri warna dan
edge
, yaitu
feature
rata-rata
edge
vertikal, rata-rata
edge
horizontal, rata-rata
edge
vertikal-horizontal, warna+rata-rata
edge
vertikal, warna+rata-rata
edge
horizontal,
dan warna+rata-rata
edge
vertikal-horizontal.
Feature
dan
state
untuk
feature
yang hanya menggunakan ciri
edge
, yaitu
feature
vektor vertikal (1V), 2 vektor vertikal (2V), 4 vektor vertikal (4V),
vector horizontal (1H), 2 vektor horizontal (2H), 4 vektor horizontal (4H),
dan vektor vertikal-horizontal (VH).
Pengguna dapat memilih jenis
feature
yang ingin diuji, kemudian
memasukkan angka
state
yang dikehendaki. Jika terjadi kesalahan input
state
,
maka akan muncul peringatan seperti Gambar 4.6.
Detail proses pengujian akurasi adalah sebagai berikut:
a.
Pembuatan jejaring batik “
batiknet
” dengan fungsi HParse yang
mengambil referensi dari “daftarBatik”.
b.
Pemberian label dan jeda yang disimpan dalam ke dalam file
“
batiktypephone.mlf
”, dengan mengolah seluruh batik yang tersimpan
dalam “
allBatik.mlf
”, kamus batik “
dict
”, dan berkas berisi jeda
“
batik2phone.led
”.
c.
Pembuatan prototipe baru “
proto
” yang disimpan dalam direktori hmm1.
Prorotipe baru ini diambil dari batik yang di daftarnya tersimpan dalam
berkas “
AllTrainData1.scp
” dengan bantuan fungsi HCompV.
d.
Pembuatan model dengan Baum-Welch yang hasilnya disimpan dalam
berkas “
hmmdefs
”. Pembuatan model ini mengambil informasi
feature
yang letak berkas
feature
-nya disimpan dalam file “
AllTrainData1.scp
”,
dengan daftar label yang tersimpan dalam file “
batiktypephone.mlf
”,
kemudian mencocokkannya dengan daftar model yang tersimpan dalam
file “
model.list
” dengan bantuan fungsi dari HERest.
e.
Pencocokkan batik dilakukan dengan Viterbi, yaitu mengambil daftar
testing
batik pada file “
AllTestData1.scp
” yang dicocokkan dengan
jejaring batik “
batiknet
”, kamus batik “
dict
”, daftar model “
model.list
”,
dan definisi HMM yang tersimpan dalam file “
hmmdefs
”.
HMM, jumlah batik yang dikenali, jumlah batik yang tidak dikenali,
prosentase akurasi, serta estimasi waktu secara keseluruhan.
4.1.4. Halaman Konsep HMM
Halaman konsep HMM berfungsi menginformasikan konsep dasar
Hidden Markov Models dan beberapa algoritma yang digunakan dalam
melengkapi proses pengenalan batik. Informasi tersebut terletak pada 4
submenu dari menu Hidden Markov Models (HMM), yaitu:
1.
Teks “Hidden Markov Models”
Menu ini berfungsi menampilkan halaman deskripsi Hidden Markov
Models.
2.
Teks “Algoritma Baum-Welch”
Menu ini berfungsi menampilkan halaman deskripsi algoritma
Baum-Welch.
Gambar 4.8 Halaman penjelasan konsep Baum-Welch
3.
Teks “Algoritma Viterbi”
Menu ini berfungsi menampilkan halaman yang berisi penjelasan
algoritma Viterbi.
4.
Teks “Evaluasi”
Menu ini berfungsi menampilkan halaman yang berisi deskripsi metode
evaluasi
5-fold cross validation
.
Gambar 4.10 Halaman penjelasan konsep
5-fold cross validation
4.1.5 Halaman Bantuan
Halaman ini berisi informasi untuk menggunakan fasilitas pengenalan
dan pengujian dengan metode Hidden Markov Models, serta halaman berisi
identitas program. Terdapat 3 submenu pada halaman bantuan, yaitu:
1.
Teks “Help Halaman Pengenalan”
Gambar 4.11 Halaman bantuan pengenalan batik Yogyakarta
2.
Teks “Help Halaman Pengujian”
Submenu in