PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI TUGAS AKHIR
PENGENALAN SECARA REAL TIME HURUF JAWA JENIS CETAK MENGGUNAKAN EKSTRAKSI CIRI WAVELET DAN FUNGSI JARAK EUCLIDEAN Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
disusun oleh :
IGNASIUS ARDI ARYO PRABOWO NIM : 105114006
PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI TUGAS AKHIR
PENGENALAN SECARA REAL TIME HURUF JAWA JENIS CETAK MENGGUNAKAN EKSTRAKSI CIRI WAVELET DAN FUNGSI JARAK EUCLIDEAN Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
disusun oleh :
IGNASIUS ARDI ARYO PRABOWO NIM : 105114006
PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015 i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI FINAL PROJECT
REAL TIME RECOGNITION OF PRINTED JAVA LETTER USING WAVELET FEATURE EXTRACTION AND EUCLIDEAN DISTANCE FUNCTIONS In partial fulfillment of the requirements For the degree of Sarjana Teknik Electrical Engineering Study Program
IGNASIUS ARDI ARYO PRABOWO NIM : 105114006
ELECTRICAL ENGINEERING STUDY PROGRAM DEPARTMENT OF ELECTRICAL ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY 2015 ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSETT}JUAI'I TT]GAS AKHIR
PENGENALAN SECARA ftElL TIME HUR{IF JAWA JtrNIS CETAK MENGGUNAKAN EKSTRAKSI CIRI IrUWLETDAN TUNGSI JARAK EUCLIDEAN (REAL TIME RECOGNITION OF PRINTED JAVA LETTER USING WAVELET F'trATTIRE EXTRACTION EUCLTDEAN DISTANCE
rrNCTroNs)
Pembirnbing
r
W lr ransser
Dr. Linggo Sum{rno
III
,7:{y{Ytf
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMA1Y PENGESAHAN TUGAS AKHIR
PENGENALAN SECARA REAL TIME HTIRTIF JAWA JENIS CETAK MENGGT]NAKAIT EKSTRAKSI CIRI WAYELETDAN TUNGSI JARAK EACLIDEAN (REAI, TrME RECOGNTTTON Otr'.PRrNTED JAVA LETTUR USrNG WAYELET FEATURE EXTRACTION EUCLIDEAN I}ISTANCE
ruNCTroNS) Oleh:
ICr}{ASIUS ARDI ARYO PRABOWO
NIM : 105 114006 Telah dipertahankan di depan Panitia Penguji Pada tanggal 23 Maret 2015 Dan dinyatakan memenuhi syarat Susunan Panitia Penguji:
Nama Lengkap
Ketua
:
fiendro, M,Kom
$skretaris
:
I)r. Linggo Sumarna
Anggota
: Petrus Setyo Prabowo,
S.T.,M.T.
Yogyakana,
bo APril
2016
Fakultas $ains dan Teknalogr
Univ*rsita* Sanata Dh*rm*
r{trffi [.f ,m]]
\Bffi \Pffiingsih W:r3}"i'ry$*"*-
iv
Prirna Rcsa, s.si., M.Ss.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO:
"Mintalah, maka akan diberikan kepadamu; carilah, maka kamu akan mendapat; ketoklah, maka pintu akan dibukakan bagimu. Mat 7:7”
Persembahan Skripsi ini kupersembahkan untuk Tuhan Yesus yang selalu membimbingku, menyertaiku dari awal sampai akhir. Kedua orang tua, saudara-saudara dan sahabat yang telah memberikan semangat dan doa
v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PERI\YATAAN KBASLIAN KARYA Saya menyatakan dengan sesungguhnya bahwa tugas akhir
ini tidak memuat karya
atau bagian karya orang lain, kecuali yang telah disebutkan dalarn kutipan dan daftar pustaka sebagai mana layaknya karya ilmiah.
Yogyakarta, 10 April 2015 Penulis
Ignasius Ardi Aryo Prabowo
V1
a
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAII UNTUK KEPENTINGAN AKADEMIS Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma
:
Nama: Ignasius Ardi Aryo Frabowo Nomor Mahasiswa : 105 I 14006
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya
ilmiah saya yang berjudul:
PENGENALAN SECARA REAL TIME HURUF JAWA JENIS CETAK MENGGLINAKAN EKSTRAKSI CIRI I4/AYELET DAN FUNGSI JARAK EUCLIDEAN beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk
media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas dan
mempublikasikannya pada media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya selama masih mencatumkan nzlma saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 10 April 2Al5
Ignasius Ardi Aryo Prabowo
v11
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
INTISARI Banyak pendatang dari luar pulau jawa yang menetap, bekerja, bersekolah, ataupun berwisata di pulau Jawa yang terkadang ingin mengetahui kebudayaan jawa dari segi bahasa, yaitu bahasa jawa beserta dengan huruf jawa. Sedikit orang yang mampu memahami huruf yang rumit ini. Sehingga untuk memahami huruf jawa secara efisien, diperlukan sebuah sistem pengenalan untuk mengenali huruf jawa tersebut yang diharapkan lebih dapat dimengerti secara umum oleh masyarakat. Sistem pengenalan huruf jawa yang akan dibuat menggunakan webcam dan laptop. Webcam berfungsi untuk merekam dan mengambil citra dari potongan huruf jawa , dan laptop untuk mengoperasikannya. Citra potongan huruf jawa yang telah dicapture kemudian diolah dengan menggunakan preprocessing, ekstrasi ciri wavelet, jarak Euclidean dan kemudian program akan menampilkan hasil pengenalan. Sistem pengenalan huruf jawa secara real time dapat bekerja dengan baik. Berdasarkan hasil percobaan, parameter terbaik adalah pada variasi resizing 32x64 dan desimasi 2, yang mampu menghasilkan tingkat pengenalan sebesar 91% dan 92,8% dari berbagai variasi rotasi dan skala.
Kata kunci: Huruf Jawa, webcam, wavelet, jarak Euclidean,
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ABSTRACT Many immigrants from outside java island which is settle, work, attend school, or traveled in java island which is somestimes wants to find out how culture in terms of java language, which is the java along with letters of java. Few people are able to understand the letter a complicated. So as to understand java letters, in an efficient way required a recognition systems to recognise java letter expected more intelligible in general by society. Java letter recognition system to be created using a webcam and a laptop. Webcam function for recording and retrieving images from a piece of Java letters, and laptops to operate it. Image java letter pieces that have been captured and processed by using preprocessing, wavelet characteristics extraction, Euclidean distance and then the program will display the recognition result. Java letter recognition systems in real time can work well. Based on the experiment results, the best parameter is the variation resizing 32x64 and Decimation 2, which is able to produce a recognition rate of 91% and 92,8% of the variations of rotation and scale respectively
Keywords: Java letters, webcam, wavelet, Euclidean distance.
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KATA PENGANTAR
Puji dan syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa atas berkat dan rahmat kasih-Nya yang telah dilimpahkan-Nya sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul Pengenalan Secara Real Time Huruf Jawa Jenis Cetak Menggunakan Ekstraksi Ciri Wavelet dan Fungsi Jarak Euclidean. Tugas Akhir ini disusun sebagai salah satu syarat kelulusan untuk memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro, Fakultas Sains dan Teknologi, Universitas Sanata Dharma Yogyakarta. Penulisan Tugas Akhir ini tidak lepas dari campur tangan dan bantuan dari banyak pihak baik secara langsung mapun tidak langsung. Penulis menyadari bahwa banyak pihak yang telah memberi dukungan, semangat, bimbingan dan arahan serta bantuan materil. Oleh karena itu, pada kesempatan ini penulis ingin mengucapkan terima kasih kepada : 1. Tuhan Yesus Kristus, yang selalu membimbingku, menyertaiku dari awal hingga terselesainya tugas akhir ini. Sungguh suatu karunia kasih-Mu. 2. Ibu Paulina Heruningsih Prima Rosa, S.si., M.Sc. selaku Dekan Fakultas Sains dan Teknologi.
3. Bapak Petrus Setyo Prabowo, S.T., M.T. selaku Ketua Program Studi Teknik Elektro Universitas Sanata Dharma Yogyakarta yang memberikan arahan kepada penulis. 4. Bapak Dr. Linggo Sumarno, selaku dosen pembimbing yang telah banyak membimbing, membantu, serta memberikan arahan, jasa dan motivasi kepada penulis dalam menyelesaikan tugas akhir ini. 5. Bapak Petrus Setyo Prabowo, S.T., M.T. dan Bapak Ir. Tjendro, M.Kom. selaku dosen penguji tugas akhir yang telah memberikan ilmu dan arahan tambahan sehingga penulis dapat menyempurnakan penyusunan tugas akhir ini. 6. Seluruh Dosen dan Laboran Program Studi Teknik Elektro, Fakultas Sains dan Teknologi Universitas Sanata Dharma yang telah banyak memberikan ilmunya hingga saat ini.
x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 7. Seluruh Staff Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta yang telah membantu dalam hal administrasi. 8. Kedua orang tua tercinta (Papa drg. Ludgerus Toto Utomo dan Mama Rosalia Resmiharti), seluruh keluarga besar Soegiardjo seluruhnya dan keluarga besar Suladi Wardoyo yang selalu mendukung serta mendoakan penulis. 9. Kakak-kakak dan adik saya ( Albertus Adi Atma Prasetya, Natalia Indira, Aegidia Dyah Pravita Sari, dan Sanca Christy Mareta) yang telah memberikan semangat dan doa demi terselesaikannya tugas akhir ini. Terima kasih untuk segala kasih dan kesabarannya. 10. Sahabat-sahabat saya tercinta (Irenne Patricia, Nikki Gusti, Chesa Permita, Lukas Arma, Helena Dyah) yang telah banyak mendukung, membantu, memberikan semangat, motivasi dan menghibur penulis sampai menyelesaikan skripsi ini. 11. Teman-teman seperjuangan angkatan 2010 Teknik Elektro yang selalu mendukung dan menyemangati dalam menyelesaikan tugas akhir ini. 12. Dan kepada semua pihak yang telah banyak membantu dalam menyelesaikan skripsi ini yang tidak bisa disebutkan satu persatu. Penulis menyadari bahwa dalam penulisan tugas akhir ini masih terdapat banyak kekurangan dan jauh dari sempurna. Untuk itu, kritik dan saran yang membangun senantiasa penulis harapkan guna menyempurnakan tugas akhir ini. Akhir kata, penulis berharap agar hasil penelitian dan pembelajaran yang tertuang dalam tugas akhir ini dapat bermanfaat bagi semua pihak. Terima kasih.
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR ISI Halaman Sampul (Bahasa Indonesia) ............................................................................................. i Halaman Sampul (Bahasa Inggris) ................................................................................................. ii Halaman persetujuan ..................................................................................................................... iii Halaman Pengesahan .................................................................................................................... iv Halaman Persembahan dan Motto Hidup ........................................................................................v Pernyataan Keaslian Karya ........................................................................................................... vi Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah untuk Kepentingan Akademis ............ vii Intisari .......................................................................................................................................... viii Abstract .......................................................................................................................................... ix Kata Pengantar .................................................................................................................................x Daftar Isi ....................................................................................................................................... xii Daftar Gambar ...............................................................................................................................xv Daftar Tabel ................................................................................................................................ xvii BAB I:PENDAHULUAN 1.1. LatarBelakang .............................................................................................................. 1 1.2. TujuandanManfaat Penelitian ...................................................................................... 2 1.3. BatasanMasalah ........................................................................................................... 2 1.4. MetodologiPenelitian ................................................................................................... 3 BAB II: DASAR TEORI 2.1. Aksara Jawa ................................................................................................................. 4 2.1.1. Aksara Carakan ..........................................................................................................4
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.2. Pengolahan Citra ...........................................................................................................4 2.2.1. Ruang Warna RGB ....................................................................................................5 2.2.2. Citra Grayscale...........................................................................................................6 2.2.3. Cropping dan Resizing ...............................................................................................6 2.2.4.Transformasi Affine (Affine Transformation) ............................................................7 2.3. Pengenalan Pola ............................................................................................................8 2.4. Wavelet .........................................................................................................................8 2.4.1. Wavelet secara umum ................................................................................................8 2.4.2.Wavelet Haar ............................................................................................................11 .
2.4.3.Konvolusi ..........................................................................................................12
2.5. Jarak Euclidean ...........................................................................................................13 2.6. Templete Matching .....................................................................................................14 2.7. Matlab .........................................................................................................................15 2.8. Webcam ......................................................................................................................16 2.9. GUIDE MATLAB ......................................................................................................17 BAB III:PERANCANGAN 3.1. GambaranSistem ........................................................................................................ 18 3.1.1.Fixture ...................................................................................................................... 18 3.1.2.Potongan Huruf Jawa Jenis Cetak............................................................................ 19 3.1.3.Webcam ....................................................................................................................19 3.2. Proses Pengenalan Potongan Huruf Jawa ...................................................................19 3.2.1.Citra Potongan Huruf Jawa ...............................................................................20 3.2.2.Tahap Preprocessing .........................................................................................21 3.2.3.Tahap Ekstraksi Ciri .........................................................................................23 3.2.4.Tahap Fungsi Jarak ............................................................................................25 xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3.2.5.Penentuan Keluaran ...........................................................................................26 3.3.Perancangan Database Huruf ......................................................................................27 3.4.Huruf Uji ......................................................................................................................27 3.5.Perancangan Tampilan GUI ........................................................................................28 BAB IV:HASIL DAN PEMBAHASAN 4.1. Pengujian Program Pengenalan Huruf Jawa Carakan secara Real Time ....................29 4.1.1.Tombol Kamera Aktif ...............................................................................................30 4.1.2.Tombol Ambil Gambar .............................................................................................31 4.1.3. Pop-Up Menu ...........................................................................................................32 4.1.4. Tombol Proses .........................................................................................................33 4.1.5. Tombol Reset ...........................................................................................................38 4.1.6. Tombol Keluar .........................................................................................................38 4.2. Hasil Pengujian Program Pengenalan Terhadap Tingkat Pengenalan Citra Potongan Huruf Jawa Carakan..................................................................................39 4.2.1. Pengujian Parameter Pengenalan Potongan Huruf Jawa Carakan Secara Tidak Real Time ...................................................................................39 4.2.1. Pengujian Parameter Pengenalan Potongan Huruf Jawa Carakan Secara Real Time..............................................................................................42 BAB V:KESIMPULAN DAN SARAN 5.1. Kesimpulan .................................................................................................................48 5.2. Saran ...........................................................................................................................48 DAFTAR PUSTAKA ....................................................................................................................49 LAMPIRAN ...................................................................................................................................51
xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR GAMBAR Gambar 2.1. Aksara Jawa Carakan ....................................................................................... 4 Gambar 2.2. Koordinat citra digital ...................................................................................... 5 Gambar 2.3. Skema ruang warna RGB dalam bentuk kubus ............................................... 5 Gambar 2.4. Contoh hasil cropping....................................................................................... 6 Gambar 2.5. Proses penskalaan pada citra potongan huruf. (a ) Citra sebelum penskalaan (b) citra setelah penskalaan 64x128.................................................................. 8 Gambar 2.6. Algoritma pyramid. Dekomposisi wavelet satu level berdasarkan algoritma piramid; h(n) adalah tapis pelewat bawah; g(n) adalah tapis pelewat atas; CAj (ℎ)
(𝑣)
(𝑑)
(LL) adalah koefisien rerata; 𝐶𝐷𝑗 (HL), 𝐶𝐷𝑗 (LH), dan 𝐶𝐷𝑗
(HH) masing-
masing adalah koefisien detil horisontal, vertikal dan diagonal ...................... 9 Gambar 2.7. Wavelet Haar ................................................................................................. 12 Gambar 2.8. Representasi matriks dari penjumlahan konvolusi, y = [1 5 14 26 29 21] ..... 13 Gambar 2.9. Contoh tampilan Matlab ................................................................................ 16 Gambar 2.10. Contoh webcam ........................................................................................... 17 Gambar 2.11. Tampilan Blank GUI (Default) .................................................................... 17 Gambar 3.1. Gambaran keseluruhan sistem ........................................................................ 18 Gambar 3.2. Contoh potongan huruf jawa carakan ............................................................. 19 Gambar 3.3. Blok diagram proses pengenalan potongan huruf jawa .................................. 20 Gambar 3.4. Diagram alir pemrosesan citra ........................................................................ 21 Gambar 3.5. Contoh konversi citra potongan huruf dengan RGB (a) menjadi grayscale (b) ................................................................................................... 22 Gambar 3.6. Contoh cropping pada citra potongan huruf ................................................. 22 Gambar 3.7. Contoh resizing pada citra potongan huruf. (a) Citra sebelum diresizing. (b) citra setelah diresizing 64x128. (c) citra a setelah diresizing 16x32 ........ 23 Gambar 3.8. Diagram ekstraksi ciri ..................................................................................... 24 Gambar 3.9. Diagram alir konvolusi ................................................................................... 24 Gambar 3.10. Diagram alir downsampling.......................................................................... 25 Gambar 3.11. Diagram alir fungsi jarak Euclidean ............................................................. 26 Gambar 3.12. Diagram alir penentuan keluaran .................................................................. 26 xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 3.13. Blok diagram perancangan database ............................................................ 27 Gambar 3.14. Sketsa perancangan GUI............................................................................... 28 Gambar 4.1. Icon Matlab R2010a ....................................................................................... 29 Gambar 4.2. Tampilan awal Matlab R2010a ....................................................................... 30 Gambar 4.3. Grafik Tingkat Pengenalan secara tidak real time .......................................... 41 Gambar 4.4. (a) Letak template yang diproses cropping, (b) Posisi dan jarak webcam harus tetap, serta peletakan huruf jawa jenis cetak harus pas pada templatenya. ....................................................................................... 41
xvi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR TABEL Tabel 3.1. Spesifikasi Webcam Logitech c 170h ................................................................. 18 Tabel 3.2. Jumlah kombinasi set database .......................................................................... 26 Tabel 4.1. Persentase Data Hasil Pengujian Secara Tidak Real Time ................................ 40 Tabel 4.2. Jumlah Koefisien Ekstraksi Ciri ......................................................................... 42 Tabel 4.3. Gambar Citra Huruf Jawa Carakan Setiap Variaasi Resizing dan Desimasi ..... 43 Tabel 4.4. Jumlah rata-rata persentase hasil percobaan 1, 2, 3, 4, 5 rotasi dan penskalaan(tabel 1-5 lihat lampiran) .................................................................. 45 Tabel 4.5. Jumlah rata-rata persentase keseluruhan dari tabel 6 sampai tabel 10 (lihat lampiran)............................................................................................................. 46
xvii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB I PENDAHULUAN
1.1
Latar Belakang Penduduk Indonesia memiliki beraneka ragam kebudayaan yang memiliki
bahasa berbeda-beda sesuai dengan tempat tinggalnya. Mayoritas mempunyai dwibahasa yaitu kemampuan untuk menguasai kosakata bahasa Nasional yaitu bahasa Indonesia dan bahasa Daerah tempat tinggal masing-masing. Seperti penduduk jawa menguasai dua bahasa yang sering digunakan untuk berkomunikasi yaitu bahasa Indonesia sebagai bahasa pemersatu dan bahasa daerah yaitu bahasa jawa sebagai bahasa sehari-hari. Jawa merupakan sebuah pulau padat penduduk karena terdapat pusat pemerintahan, dengan begitu banyak pendatang dari luar pulau. Para pendatang tersebut terkadang ingin mengetahui kebudayaan jawa dari segi bahasa maupun sejarahnya. Misalnya dari segi bahasa, yaitu bahasa jawa beserta dengan huruf jawa biasa disebut dengan aksara jawa. Sayangnya, hanya sedikit orang yang mampu memahami aksara yang rumit ini. Sehingga untuk memahami huruf jawa secara efisien, diperlukan sebuah sistem pengenalan untuk mengenali huruf jawa tersebut yang diharapkan lebih dapat dimengerti secara umum oleh masyarakat. Dengan menerapkan salah satu contoh aplikasi computer vision masyarakat bisa mengenali beberapa huruf jawa secara real time. Computer vision adalah proses otomatis yang mengintegrasikan sejumlah besar proses untuk persepsi visual, seperti akuisisi data, pengolahan citra, klasifikasi, pengenalan, dan membuat keputusan [1]. Sudah ada penelitian mengenai pengenalan aksara jawa, antara lain oleh Wastu [2]. Metode yang digunakan untuk sistem pengenalan aksara jawa adalah Hidden Markov Models. Selain itu penulis juga menemukan penelitian yang berkaitan dengan pengenalan karakter huruf, diantaranya pernah diteliti oleh Kurniawan [3] tentang pengenalan huruf Jepang Hiragana menggunakan perluasan metode Feature point Extraction dan metode perbandingan dengan mengukur jarak Euclidean. Pada penelitian sebelumnya pengenalan huruf jawa maupun pengenalan huruf jepang hiragana belum
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2
dilakukan secara real time dan belum menyelidiki pengaruh variasi rotasi serta penskalaan. Maka penulis ingin membuat suatu pengenalan secara real time huruf jawa jenis cetak menggunakan ekstraksi ciri Wavelet dan fungsi jarak Euclidean dengan menyelidiki pengaruh variasi rotasi serta penskalaan.
1.2
Tujuan dan Manfaat Penelitian Tujuan yang akan dicapai dalam penulisan ini adalah menerapkan salah satu
contoh aplikasi computer vision yang dapat mengenali beberapa huruf jawa jenis cetak secara real time menggunakan ekstraksi ciri Wavelet dan metode pengukuran jarak euclidean. Manfaat penelitian ini adalah sebagai dasar untuk penelitian selanjutnya dalam mengenali nama jalan dengan tulisan jawa yang berada di pinggir jalan, prasasti dan buku dengan tulisan jawa.
1.3
Batasan Masalah Pembahasan dan penyelesaian masalah pada tugas akhir ini dibatasi pada:
1.
Pengenalan huruf jawa carakan jenis cetak dengan ukuran huruf 6,8x3 cm dan ukuran template 10x5 cm. Huruf jawa berasal dari poster huruf jawa (lihat lampiran).
2.
Huruf jawa carakan jenis cetak yang yang akan dikenali terdiri dari 1 huruf.
3.
Hasil pengenalan yang sudah ditentukan di luar huruf jawa akan dikenali, tetapi hasilnya keliru.
4.
Gambar huruf jawa untuk pengujian akan menggunakan variasi rotasi -10o, -5o, 0o, 5o, 10o dan penskalaan 90%, 95%, 100%, 105%, 110%. Variasi rotasi untuk mensimulasikan
kamera
yang
berputar.
Variasi
penskalaan
untuk
mensimulasikan kamera yang naik turun. 5.
Menggunakan ekstraksi ciri wavelet Haar.
6.
Menggunakan fungsi jarak Euclidean untuk metode pengenalan pola.
7.
Hasil pengenalan secara real time.
8.
Menggunakan webcam merk Logitech seri C170h yang diletakkan tegak lurus diatas poster huruf jawa dengan jarak 26cm.
9.
Menggunakan software Matlab R2010a dalam pembuatan program.
10.
Resizing citra yang digunakan ukurannya bervariasi seperti 64x128, 32x64, 16x32, 8x16 piksel.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 11.
3
Nilai desimasi yang digunakan pada tahap ekstraksi ciri bervariasi seperti 1, 2, 3, 4, 5.
12.
Pencahayaan menggunakan dua buah lampu LED 5 watt dengan jarak lampu ke objek 21 cm.
13.
Hasil keluaran berupa teks di layar monitor dengan tambahan suara melalui speaker.
1.4
Metodologi Penelitian Berdasarkan pada tujuan yang ingin dicapai metode-metode yang digunakan
dalam penyusunan tugas akhir ini adalah: 1.
Pengumpulan bahan-bahan referensi berupa buku-buku dan jurnal-jurnal ilmiah mengenai pengenalan suatu objek, pemograman matlab, image processing, Wavelet ,dan Euclidean.
2.
Perancangan subsistem software Tahap ini bertujuan untuk mencari bentuk model yang optimal dari sistem yang akan dibuat dengan mempertimbangkan berbagai faktor–faktor permasalahan dan kebutuhan yang ditentukan.
3.
Pembuatan subsistem software Sistem akan bekerja apabila user menekan tombol push button yang sudah disediakan dalam software. Sebelum user memberikan interupsi untuk memulai pengenalan huruf jawa jenis cetak. Sistem akan mengolah data yang diterima dari webcam terlebih dahulu dan mulai menampilkan proses menampilkan video (record) sampai user memberikan perintah untuk pengambilan gambar (capture). Kemudian, Matlab akan mengolah huruf jawa jenis cetak dan menyajikan sebagai sebuah informasi.
4.
Analisa data yang pertama dilakukan dengan menyelidiki pengaruh variasi resizing (ukuran citra) dan desimasi terhadap tingkat pengenalan. Penyimpulan hasil dilakukan untuk mencari ukuran resizing dan desimasi yang terbaik yang menghasilkan tingkat pengenalan yang optimal. Analisa data yang kedua adalah menyelidiki pengaruh penskalaan dan rotasi terhadap tingkat pengenalan. Penyimpulan akhir dilakukan untuk mengetahui kinerja sistem pengenalan terhadap pengaruh skala dan rotasi pada citra input.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB II DASAR TEORI
2.1
Aksara Jawa
2.1.1. Aksara Carakan Carakan (abjad Jawa) yang digunakan di dalam ejaan bahasa Jawa pada dasarnya terdiri atas 20 aksara pokok (lihat gambar 2.1) yang bersifat silabik (bersifat kesukukataan) [4].
Gambar 2.1 Aksara jawaCarakan
2.2
Pengolahan Citra Sesungguhnya citra merupakan suatu fungsi intensitas dalam bidang dua dimensi.
Suatu citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x, y, dan nilai amplitudo f secara keseluruhan berhingga (finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital. Gambar 2.2 menunjukkan posisi koordinat citra digital [5].
4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5
Gambar 2.2 Koordinat citra digital Citra digital terdiri dari sejumlah elemen tertentu, setiap elemen mempunyai lokasi dan nilai tertentu. Elemen–elemen ini disebut picture element, image element, pels dan pixels. Istilah terakhir (pixel) paling sering digunakan pada citra digital.
2.2.1 Ruang Warna RGB[6] Ruang warna RGB biasa diterapkan pada monitor CRT dan kebanyakan sistem grafika komputer. Ruang warna ini menggunakan tiga komponen dasar yaitu merah (R), hijau (G), dan biru (B). Setiap piksel dibentuk oleh ketiga komponen tersebut. Model RGB biasa disajikan dalam bentuk kubus tiga dimensi, dengan warna merah, hijau, dan biru berada pada pojok sumbu (Gambar 2.3). Warna hitam berada pada titik asal dan warna putih berada di ujung kubus yang berseberangan. Gambar 2.3 memperlihatkan kubus warna secara nyata dengan resolusi 24 bit. Perlu diketahui, dengan menggunakan 24 bit, jumlah warna mencapai 16.777.216 [6].
Gambar 2.3Skema ruang warna RGB dalam bentuk kubus
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
6
2.2.2 Citra Grayscale Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pixelnya, dengan kata lain nilai bagian RED = GREEN = BLUE. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan, dan putih. Tingkatan keabuan di sini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Citra grayscale memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan) [5]. Mengubah citra berwarna menjadi citra grayscale adalah proses awal yang dilakukan dalam pengolahan citra. Citra RGB diubah ke dalam grayscale dapat dilakukan dengan menggunakan persamaan (2.1) sebagai berikut:
𝑆=
𝑅 +𝐺 +𝐵 3
(2.1)
di mana: R,G,B : Red, Green, Blue S
: nilai grayscale
2.2.3 Cropping dan Resizing Salah satu jenis transformasi geometri atau perubahan bentuk adalah proses pemotongan citra (cropping) yang bertujuan untuk mengambil elemen citra yang diinginkan pada citra digital. Hal ini dilakukan untuk mendapatkan data yang tepat sehingga memudahkan dalam proses pengolahan data. Gambar 2.4 di bawah ini merupakan contoh gambar hasil cropping.
Gambar 2.4 Contoh hasil cropping
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
7
Penentuan titik yang akan diambil yaitu menggunakan matrik_titiksudut_crop yaitu yang merepresentasikan nilai [x,y,a,b] dimana x dan y adalah titik awal (sudut kiri atas) dari image yang akan dicrop sedangkan a adalah jumlah piksel memanjang kearah sumbu-x dan b adalah jumlahpiksel ke arah sumbu-y. Rezising citra adalah proses mengubah besar kecilnya ukuran citra dalam piksel. Pada tahap ini hanya ukuran pikseldan matriksnya yang dirubah, untuk tampilan citra tidak ada yang berubah.
2.2.4Transformasi Affine (Affine Transformation)[5] Metode transformasi Affine ini menggabungkan proses dasar seperti rotasi dan penskalaan ke dalam satu proses untuk mendapatkan citra output yang diinginkan.. Secara matematis rumus transformasi Affine adalah sebagai berikut. 𝑥2 𝑥1 𝑦2 = 𝐴 × 𝑦1 + 𝐵
(2.2)
Proses penskalaan didapat dengan mengganti nilai A dan B dengan nilai sebagai berikut. 𝐴=
𝑆𝑃 0
0 𝑆𝑙
(2.3)
𝐵=
0 0
(2.4)
Sehingga didapatkan rumus pengganti untuk proses penskalaan adalah sebagai berikut. 𝑥2 𝑆𝑃 𝑦2 = 0
𝑥1 0 0 × 𝑦 + 𝑆𝑙 1 0
(2.5)
Sehingga: 𝑥2 𝑆𝑃 = 𝑦2 0
𝑥1 0 × 𝑦 𝑆𝑙 1
(2.6)
Rumus diatas menggambarkan sebuah proses linear penskalaan dalam satu proses.
Penskalaan adalah sebuah operasi geometri yang memberikan efek memperbesar atau memperkecil ukuran citra input sesuai dengan variable penskalaan citranya. Ukuran baru hasil penskalaan didapat melalui perkalian antara ukuran citra input dengan variable penskalaan. Proses penskalaan dapat dilakukan dengan rumus: 𝑃𝑜 = 𝑆𝑃 × 𝑃𝑖 𝐿𝑜 = 𝑆𝑙 × 𝐿𝑖
(2.7) (2.8) (𝑃𝑖 , 𝐿𝑖 )
adalah ukuran citra input, (𝑃0 , 𝐿0 ) adalah ukuran citra output, dan (𝑆𝑃 , 𝑆𝑙 ) adalah variable pensklaan yang diinginkan. Jika variabel pensklaan bernilai lebih besar dari 1 maka hasil
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
8
penskalannya akan memperbesar ukuran citra, sebaliknya apabila variabel pensklaannya lebih kecil dari 1 maka hasilnya akan memperkecil ukuran citra. Gambar 2.5 berikut ini menunjukkan hasil implementasi dari proses penskalaan sebesar 64x128.
20
20
40
40
60
60
80
80
100
100
120 50
100
150
200
(a)
50
100
150
200
(b)
Gambar 2.5 Proses penskalaanpada citra potongan huruf. (a ) Citra sebelum penskalaan(b) citra setelah penskalaan64x128
2.3
Pengenalan Pola Mengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh
mesin (dalam hal komputer). Tujuan pengelompokan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek dengan lainnya. Kemampuan sistem visual manusia inilah yang dicoba ditiru mesin. Komputer menerima masukan berupa citra objek yang akan diidentifikasi, memproses citra tersebut, dan memberikan keluaran berupa deskirpsi objek di dalam citra.
2.4
Wavelet
2.4.1Wavelet secara umum Menurut Sydney (1998), Wavelet merupakan gelombang mini (small wave) yang mempunyai kemampuan mengelompokkan energi citra dan terkonsentrasi pada sekelompok kecil koefisien, sedangkan kelompok koefisien lainnya hanya mengandung sedikit energi yang dapat dihilangkan tanpa mengurangi nilai informasinya. Wavelettelah banyak digunakan di berbagai bidang seperti pengolahan citra. Wavelet biasa digunakan untuk menyajikan data atau fungsi ke dalam komponen-komponen frekuensi yang
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
9
berlainan. Proses ini dinamakan dekomposisi, dan kemudian mengkaji setiap komponen dengan suartu resolusi yang sesuai dengan skalanya.Transformasi wavelet merupakan pengubahan sinyal kedalam berbagai wavelet basis dengan berbagai pergeseran dan penyekalaan, oleh karena itu koefisien wavelet dari beberapa skala atau resolusi dapat dihitung dari koefisien wavelet pada resolusi tinggi berikutnya. Hal ini memungkinkan mengimplementasikan transformasi wavelet menggunakan struktur pohon yang dikenal sebagai algoritma piramid (pyramid algorithm), bisa dilihat pada gambar 2.6 [7]. kolom h(n)
baris h(n)
2
1
1
2
𝐶𝐴𝑗 +1
(ℎ)
𝐶𝐷𝑗 +1
kolom h(n)
baris g(n)
2
1
(𝑣)
1 2 𝐶𝐷 𝑗 +1
kolom g(n)
baris X kolom X
2
kolom g(n)
CAj
1
1
2
(𝑑)
𝐶𝐷𝑗 +1
: konvolusikan baris dengan tapis g(n) atau h(n) : konvolusikan kolom dengan tapis g(n) atau h(n)
21 1 : downsampling dengan menjaga kolom yang genap 2 :1downsampling dengan menjaga baris yang genap Gambar 2.6Algoritma pyramid. Dekomposisi wavelet satu level berdasarkan algoritma piramid; h(n) adalah tapis pelewat bawah; g(n) adalah tapis pelewat atas; (ℎ)
(𝑣)
(𝑑)
CAj(LL) adalah koefisien rerata; 𝐶𝐷𝑗 (HL), 𝐶𝐷𝑗 (LH), dan 𝐶𝐷𝑗 masing-masing adalah koefisien detil horisontal, vertikal dan diagonal
(HH)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
10
Proses dekomposisi tersebut dapat dilakukan sebanyak lebih dari satu kali, yaitu sebanyak jumlah level yang telah ditentukan sebelumnya. Untuk melakukan dekomposisi lebih dari satu kali, proses dekomposisi selanjutnya dilakukan dekomposisi pada koeficien aproksimasi (cA) atau LL, karena berisi sebagian besar dari informasi citra. Kemudian didapat 4 subband lagi, yaitu LL1, LH1, HL1 dan HH1. Begitu seterusnya hingga mencapai level yang diinginkan. Sebagai contoh, terdapat citra dengan matriks input sebagai berikut: 1 𝑀= 5 2 7
2 8 5 4
3 2 8 7
2 6 9 4
filter lowpass dan filter highpass dengan jenis haar adalah sebagai berikut: 1
1
2
𝐿𝑜𝑤𝑝𝑎𝑠𝑠 =
2
0 0
1
0 0 1
𝐻𝑖𝑔ℎ𝑝𝑎𝑠𝑠 =
1
2
2
−
1 1
0 0
2
0 0
2
2
−
1 2
Langkah pertama adalah mengalikan filter lowpass dengan matriks M terhadap baris. Untuk memudahkan perkalian terhadap baris dilakukan transpose pada matriks M, sehingga didapat :
Kemudian
dilakukan
2 5 8 9
7 4 7 4
1 𝑀 = 2 3 4
5 8 2 6
perkalian
matriks
𝑇
MT dengan
filter lowpass yang
menghasilkan matriks D1T. 1 D1T
=
1
2 0 0 Untuk
2
1 × 2 1 3 4 2
0 0 1 2
mengembalikan
5 8 2 6 ke
2 5 8 9
7 4 = 2,1213 7 3,5355 4
baris
prosestranspose kembali pada matriks D1T
dan
9,1923 5,6568
kolom
4,9497 7,7781 12,0207 7,7781
sebenarnya,
dilakukan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2,1213 9,1923 𝐷1 = 4,9497 7,7781
11
3,5355 5,6568 12,0207 7,7781
Langkah selanjutnya adalah melakukan perkalian filter lowpass dengan matriks D1 terhadap kolom. Proses tersebut menghasilkan matriks D2, sebagai berikut : 1 𝐷2 =
1
2
0
2
2,1213 3,5355 9,1923 5,6568 8 × = 1 4,9497 12,0207 9 7,7781 7,7781 2
0
1
0 0
2
6,5 14
Matriks D2 ini yang disebut dengan koeficien aproksimasi (LL). Untuk mencari nilai HL, LH dan HH, sama seperti langkah diatas, namun dilakukan dengan mengalikan filter lowpass terhadap baris dan filter highpass terhadap kolom untuk HL, mengalikan filter highpass terhadap baris dan filter lowpass terhadap kolom untuk LH dan mengalikan filter highpass terhadap baris dan kolom untuk HH.
2.4.2Wavelet Haar[5] Haar adalah wavelet paling tua dan paling sederhana, diperkenalkan oleh Alfred 1 1
Haar pada tahun 1909. Koefisien transformasi h0 = (h0(0), h0(1)) = 2 , 2 (tapis low pass) dan h1 = (h1(0), h1(1)) =
1 2
1
, − 2 (tapis high pass) ini merupakan fungsi basis wavelet Haar.
Pada citra, tapis high pass dan tapis low pass dapat direpresentasikan sebagai matriks 2D. Dekomposisi perataan dan pengurangan yang telah dilakukan sebelumnya sebenarnya sama dengan melakukan dekomposisi (transformasi) citra dengan wavelet Haar. Kedua tapis tersebut bersifat ortogonal namun tidak ortonormal. Tapis Haar yang bersifat ortogonal dan juga ortonormal adalah: h0 =
1 2
,
1 2
(2.9) h1 =
1 2
,−
1 2
(2.10)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
12
Haar Wavelet
1 0.5 0 -0.5 -1 0
0.5
1
Gambar 2.7 Wavelet Haar
2.4.3 Konvolusi Konvolusi merupakan sebuah operasi matematika sederhana yang umum digunakan pada pengolahan citra. Jika ada dua barisan u dan hmaka hasil konvolusinya (y) dinyatakan dengan persamaan: ∞
𝑦𝑘 =
𝑢𝑗 ℎ𝑘−𝑗
(2.11)
𝑗 =−∞
Di mana Notasi ringkas yang digunakan bagi konvolusi adalah
𝑦𝑘 = 𝑢𝑘 ∗ ℎ𝑘 atau𝑦 = 𝑢 ∗ ℎ
2.12)
Yang berarti juga bahwa konvolusi adalah komutatif (dapat dipertukarkan), yaitu: 𝑦 = ℎ∗𝑢 = 𝑢∗ℎ
(2.13)
Dengan menggunakan cara matriks, dapat memudahkan dalam perhitungan tersebut seperti gambar 2.7 merupakan contoh penyelesaian sebuah konvolusi dari dua baris u = {1 2 3} dan h = {1 3 5 7} [8].
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
13
Gambar 2.8Representasi matriks dari penjumlahan konvolusi, y = [1 5 14 26 29 21] Berdasarkan masukan yang diterima dapat digunakan sebagai low pass filter. Low pass filter dari sinyal x(n) dengan masukan w(n) merupakan suatu proses konvolusi antara x(n) dengan w(n). Bila sinyal x(n) memiliki panjang yang terbatas, dan juga ujung-ujung sinyalnya diskontinu, akan memunculkan distorsi pada ujung-ujung sinyal hasil konvolusinya. Ada suatu metode memperpanjang sinyal x(n) dengan cara sinyal pengulangan yang disebut periodisasi. Metode ini untuk mengatasi masalah akan sinyal x(n) yang memiliki panjang terbatas yang diusulkan oleh Misiti et al[9]. Berikut contoh dari metode tersebut, x(n) = {x(1), x(2), ..., x(M)} yang akan dikonvolusi dengan masukan w(n)= {w(1), w(2), ..., w(N)}, di mana N adalah bilangan genap, dan M>N, sehingga sinyal pengulangan dengan cara periodisasi akan menjadi 𝑥𝑝𝑒𝑟 𝑛 = {𝑥 𝑀 − 𝑛 + 1 , … , 𝑥 𝑀 , 𝑥 1 , … , 𝑥 𝑀 , 𝑥 1 , … , 𝑥 𝑁 − 1 } (2.20) Konvolusi sinyal yang diperpanjang xper (n) dengan masukan w(n) akan menghasilkan sinyal keluaran 𝑦 𝑛 = 𝑥𝑝𝑒𝑟 𝑛 ∗ ℎ(𝑛)
(2.14)
atau 𝑦 𝑛 =
𝑥𝑝𝑒𝑟 𝑗 ℎ 𝑛 + 1 − 𝑗
(2.15)
𝑗
di mana M + N– 1 lebih besar dari panjang x(n). Agar sinyal output memiliki panjang yang sama dengan sinyal input, maka hanya bagian-bagian tertentu dari sinyal output yang dipilih. Contohnya y(n)= {y(1), y(2), … , y(L)}, di mana L= M + N – 1,
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
14
jadi yang dipilihbagian-bagian tertentu dari y(n) adalah 𝑦𝑘𝑒𝑒𝑝 𝑛 = {𝑦 𝑁 + 1 , … , 𝑦 𝑁 + 𝑀 }
2.5
(2.16)
Jarak Euclidean[6] Jarak Euclidean dapat dianggap sebagai jarak yang paling pendek antar dua poin-
poin, dan pada dasarnya sama halnya dengan persamaan Pythagoras ketika digunakan di dalam 2 dimensi. Secara matematis dapat dituliskan di dalam persamaan berikut:
d(i,j)= (𝑖1 − 𝑗1 )2 + (𝑖2 − 𝑗2 )2 + ⋯ (𝑖𝑛 − 𝑗𝑛 )2
(2.17)
di mana: d(i,j)
: jarak euclidean antara idan j
i
: nilai matriks hasil ekstraksi ciri
j
: nilai matriks dari database Dengan d(i,j) adalah titik koordinat jarak Euclidean. Jika rumus jarak pada dua titik
berbentuk segitiga diukur dengan menggunakan rumus Phytagoras, maka untuk penerapan penghitungan jarak dan kasus yang nyata digunakan rumus jarak Euclidean. Penerapan ini digunakan karena ada banyak faktor yang menentukan jarak yang nyata seperti kecepatan dan bentuk permukaan sehingga penerapan jarak Euclidean tersebut lebih cocok diterapkan pada berbagai kasus.
2.6
Template Matching Template matching adalah salah satu teknik dalam pengolahan citra digital yang
berfungsi untuk mencocokan tiap-tiap bagian dari suatu citra dengan citra yang menjadi template (acuan). Teknik ini banyak digunakan dalam bidang industri sebagai bagian dari quality control. Metode template matching sering digunakan untuk mengindentifikasi citra karakter huruf, angka, sidik jari (fingerprint) dan aplikasi-aplikasi pencocokan citra lainnya.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
15
Prinsip metode ini adalah membandingkan antara image objek yang akan dikenali dengan image template yang ada. Image objek yang akan dikenali,diukur tingkat kemiripannyadengan masing-masing image template. Pengecekan kemiripan dapat dilakukan menggunakan fungsi jarak ataupun korelasi. Pengenalan dilakukan dengan melihat nilai tingkat kemiripan tertinggi dari image objek tersebut[11].
2.7
Matlab[12] Matlab adalah sebuah bahasa (pemrograman) dengan unjuk kerja tinggi untuk
komputasi teknis, yang mengintegrasikan komputasi, visualisasi, dan pemrograman di dalam lingkungan yang mudah penggunaannya dalam memecahkan persoalan dengan solusinya yang dinyatakan dengan notasi matematik. Nama MATLAB merupakan singkatan dari ‘matrix laboratory’. Sistem MATLAB terdiri dari 5 bagian utama, yaitu: 1. Bahasa (pemrograman) MATLAB Bagian ini adalah bahasa (pemrograman) tingkat tinggi yang menggunakan matriks/arraydengan
pernyataan
aliran
kendali
program,
struktur
data,
masukan/keluaran, dan fitur-fitur pemrograman berorientasi objek. 2. Lingkungan kerja MATLAB Bagian ini adalah sekumpulan kakas dan fasilitas MATLAB yang digunakan oleh pengguna atau pemrogram. Fasilitas yang dimaksutkan misalnya untuk mengelola variabel di dalam ruang kerja (workspace) dan melakukan impor dan ekspor data. Sedangkan kakas yang disediakan untuk pengembangan, pengelolaan, proses ‘debugging’, dan pembuatan profil M-files untuk aplikasi MATLAB. 3. Penanganan Grafik Bagian ini adalah sistem grafik MATLAB, termasuk perintah-perintah (program) tingkat tinggi untuk visualisasi data dimensi-2 dan dimensi-3, pengolahan citra, animasi, dan presentasi grafik. Selain itu, bagian ini juga termasuk perintahperintah (program) tingkat rendah untuk menetapkan sendiri tampilan grafik seperti halnya membuat antarmuka pengguna grafis untuk aplikasi MATLAB. 4. Pustaka (library) fungsi matematis MATLAB Bagian ini adalah koleksi algoritma komputasi mulai dari fungsi dasar seperti menjumlahkan (sum), menentukan nilai sinus (sine), kosinus (cosine), dan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
16
aritmatika bilangan kompleks; fungsi-fungsi seperti invers matriks, nilai eigan matriks, fungsi Bessel, dan FFT (fast fourier transform). 5. API (Apllication Program Interface) MATLAB Bagian ini adalah pustaka (library) untuk menuliskan program dalam bahasa C dan Fortran yang berinteraksi dengan MATLAB, termasuk fasilitas untuk memanggil rutin program dari MATLAB (dynamic linking), memanggil MATLAB sebagai
mesin komputasi (computational engine), dan untuk pembacaan serta penulisan MAT-files.
Gambar 2.9Contoh tampilan Matlab
2.8
Webcam Webcam atau web cameraadalah sebuah kamera video digital kecil yang
dihubungkan ke komputer melalui port USB. Webcam digunakan juga sebagai pengambil citra/gambar yang akan diolah.Gambar yang diambil oleh WebCam ditampilkan ke layar monitor, karena dikendalikan oleh komputer maka ada interface atau port yang digunakan untuk menghubungkan webcamdengan komputer atau jaringan. Ada beberapa orang mengartikan WebCam sebagai Web pages + Camera, karena dengan menggunakan WebCam untuk mengambil gambar video secara aktual bisa langsung di upload bila komputer yang mengendalikan terkoneksi internet [13]. Sebuah web camera yang sederhana terdiri dari sebuah lensa standar, dipasang di sebuah papan sirkuit untuk menangkap sinyal gambar; casing (cover), termasuk casing depan dan casing samping untuk menutupi lensa standar dan memiliki sebuah lubang lensa di casing depan yang berguna untuk memasukkan gambar; kabel support, yang dibuat dari bahan yang fleksibel, salah satu ujungnya dihubungkan dengan papan sirkuit dan ujung
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
17
satu lagi memiliki connector, kabel ini dikontrol untuk menyesuaikan ketinggian, arah dan sudut pandang web camera.. Gambar 2.9 menunjukkan salah satu contoh webcam.
Gambar 2.10 Contoh webcam
2.9
GUIDE MATLAB[14] GUIDE atau GUI Builder merupakan sebuah Graphical User Interface (GUI) yang
dibangun dengan objek grafis seperti tombol (pushbutton), edit, slider, text, combo,sumbu(axes), maupun menu dan lain-lain untuk kita gunakan. Sebagai contoh, ketikamenggerakkan slider, maka
kita
dapat melihat
perubahan sebuah nilai.
Kemudianketika kita menekan tombol OK, maka aplikasi akan dijalankan. Aplikasi yangmenggunakan GUI umumnya lebih mudah dipelajari dan digunakan karena orangyang menjalankannya tidak perlu mengetahui perintah yang ada dan bagaimanaperintah bekerja. Gambar 3.0 merupakan Blank GUI (Default).
Gambar 2.11 Blank GUI (Default)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB III PERANCANGAN
3.1
Gambaran Sistem Gambaran sistem yang akan dibuat adalah sistem pengenalan huruf jawa jenis cetak
secara real time. Secara keseluruhan sistem tersebut dapat dilihat pada gambar 3.1 Sudut 65o 21cm
26cm 26cm 26cm
Gambar 3.1 Gambaran keseluruhan sistem Sistem pengenalan huruf jawa jenis cetak terdiri dari hardware dan software. Hardware yang digunakan adalah potongan huruf jawa, fixture, laptop, lampu dan webcam yang dihubungkan dengan laptop untuk pengambilan citra. Pemrograman Matlab R2010a merupakan software pada laptop yang berfungsi sebagai user interface dalam proses pengenalan.
3.1.1 Fixture Fixture digunakan sebagai alat pemegang serta dudukan webcam dan serpihan huruf jawa jenis cetak. Fixture yang digunakan terbuat dari kayu. Posisi webcam tegak lurus dengan posisi potongan huruf jawa jenis cetak agar mendapatkan hasil citra yang simetris.
18
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
19
3.1.2 Potongan Huruf Jawa Jenis Cetak potongan huruf jawa jenis cetak yang digunakan merupakan potongan dari poster, sesuai dengan poster-poster yang sering digunakan pada umumnya untuk proses pembelajaran anak sekolahan. Potongan huruf jawa yang digunakan mempunyai ukuran template 9x5 cm dengan ukuran huruf yang paling besar adalah 6,8x3, dan dapat dilihat pada contoh gambar 3.2.
gambar 3.2 Contoh potongan huruf jawa
3.1.3 WebCam Webcam yang digunakan adalah webcam merk Logitech seri c 170h, sebagai perangkat untuk mengambil citra potongan huruf jawa. Pada proses pengambilan citra menggunakan resolusi 640x480. Spesifikasi webcam dapat diihat pada tabel 3.1. Tabel 3.1 Spesifikasi Webcam Logitech c 170h
3.2
High definition video (HD)
VGA
Photo Quality
5 Megapixel
Video Quality
Good
Focus Type
Always Focused
Auto Light Correction
-
Proses Pengenalan Potongan Huruf Jawa Proses di mana potongan huruf jawa yang dicapture dikenali bentuknya adalah
proses pengenalan potongan huruf jawa. Secara garis besar proses pengenalan terdiri dari empat tahap yaitu pengambilan citra, preprocessing, pengenalan, dan keluaran. Proses pengenalan dapat dilihat pada gambar 3.3.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Pengambilan citra potongan huruf jawa
Preprocessing
Ekstraksi ciri menggunakan wavelet
Penghitungan fungsi jarak euclidean
Penentuan keluaran
20
Keluaran berupa teks dan suara
Database potongan huruf
Gambar 3.3 Blok diagram proses pengenalan potongan huruf jawa. Citra masukan berupa potongan huruf jawa masuk ke tahapan pengambilan citra, kemudian tahap preprocessing adalah tahap di mana citra yang telah dikonversi ke dalam bentuk grayscale akan dicropping sebesar citra potongan huruf jawa, setelah citra dicropping selanjutnya citra diresizing sesuai dengan ukuran yang diinginkan. Citra yang telah diresizing menjadi masukan ke tahap selanjutnya adalah tahap pengenalan. Tahap pengenalan terdiri dari ekstraksi ciri, penghitungan fungsi jarak, dan database citra huruf. Terakhir dari tahap pengenalan huruf yaitu tahap penentuan keluaran. Hasil pengenalan huruf ditentukan berdasarkan jarak minimum yang diperoleh setelah proses penghitungan jarak.
3.2.1 Citra Potongan Huruf Jawa Citra potongan huruf jawa diambil menggunakan webcam, gambar yang akan diambil (capture) oleh webcam akan disimpan dalam satu folder. Jarak pengambilan gambar oleh webcam dengan potongan huruf jawa adalah 21cm dengan sudut kemiringan 65º dan menghasilkan gambar yang fokus. Pada proses ini memakai cahaya sendiri yaitu dengan menggunakan cahaya dua lampu LED 5 watt yang dipasang pada lampu belajar agar tidak bergantung pada cahaya sekitar. Pada proses pengambilan citra, sebelumnya webcam terlebih dulu diinisialisaasi ke dalam program dengan menggunakan fungsi imaqhwinfo. Fungsi imaqhwinfo bertujuan untuk mengetahui nama adaptor dalam webcam tersebut. Kemudian diinisialisasi sesuai nama adaptornya yaitu winvideo dan untuk mengambil citra menggunakan perintah getsnapsot. Berikut ini merupakan perintah program inisialisasi webcam dan pengambilan citra. vidobj = videoinput('winvideo',1,'YUY2_640x480'); preview(vidobj); pause
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
21
frame = getsnapshot(vidobj); stop(vidobj) delete(vidobj) gambar=yuy2torgb(frame); imshow(gambar)
3.2.2 Tahap Preprocessing Preprocessing merupakan proses di mana ada tiga tahap yaitu grayscale, cropping, dan resizing. Secara garis besar dapat dilihat pada gambar 3.4.
Mulai
Input: Citra potongan huruf
Grayscale
Cropping
Resizing
Output: Citra hasil Preprocessing
Selesai
Gambar 3.4 Diagram alir pemrosesan citra Tahap grayscale menggunakan perintah program rgb2gray yang berada di dalam matlab. Fungsinya untuk mengubah citra potongan huruf jawa yang telah diambil menjadi berwarna keabuan. Citra hasil grayscale dapat dilihat pada gambar 3.5.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
(a)
22
(b)
Gambar 3.5 contoh konversi citra potongan huruf dengan RGB (a) menjadi grayscale (b) >> >> >> >>
a=imread('1.jpg'); x=double(rgb2gray(a)); gmbr=x/255; imshow(gmbr)
Tahap cropping menggunakan perintah program imcrop (I,*x y Δx Δy+) yang telah disediakan di dalam matlab. Hal tersebut dilakukan untuk memotong bagian citra atau potongan huruf jawa yang tidak digunakan dalam proses pengenalan. Nilai x dan y adalah koordinat pada sumbu x dan y kiri atas ditunjukkan pada Gambar 3.6 bagian a, Δx adalah selisih antara sumbu x kanan atas dengan sumbu x kiri atas ditunjukkan pada Gambar 3.6 bagian b, Δy adalah selisih antara sumbu y kiri bawah dengan sumbu y kiri atas ditunjukkan pada Gambar 3.6 bagian c. Citra hasil cropping dapat dilihat pada gambar 3.6 bagian d.
X: 248 Y: 208 Index: 0.851 RGB: 0.851, 0.851, 0.851
X: 496 Y: 208 Index: 0.3098 RGB: 0.294, 0.294, 0.294
X: 248 Y: 338 Index: 0.8196 RGB: 0.816, 0.816, 0.816
)
(a)
(b)
(c)
20 40 60 80 100 120 50
100
150
200
(d) Gambar 3.6 Contoh cropping pada citra potongan huruf
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
23
>> a2=imcrop(gmbr,[248 208 248 130]); >> imshow(a2)
Tahap resizing menggunakan perintah program imresize. Ukuran resizing yang digunakan akan bervariasi dan ukuran dari ekstraksi ciri wavelet akan menyesuaikan dengan ukuran resizing yang digunakan. Contoh nilai-nilai pikel yang bervariasi seperti 32x64, 16x32, 8x16. Citra hasil resizing dapat dilihat pada gambar 3.7. 20 40
20
5
80
40
10
100
60
60
120 50
100
150
200
(a)
15 10
20
30
20 40 60 80 100120
(b)
(c)
Gambar 3.7 Contoh resizing pada citra potongan huruf. (a) Citra sebelum diresizing. (b) citra setelah diresizing 64x128. (c) citra gambar a setelah diresizing 16x32 >> a3=imresize(a2,[64 128]); >> imshow(a3); axis on
3.2.3 Tahap Ekstraksi Ciri Wavelet adalah ekstraksi ciri yang digunakan dalam tahap pengambilan ciri pada suatu citra. Wavelet yang digunakan yaitu wavelet Haar yang memiliki 4 macam filter, tetapi yang digunakan hanya low-pass filter dekomposisi karena hanya bentuk dasar dari citra yang akan dicari. Wavelet Haar dilakukan dengan menerapkan konvolusi dan low-pas filter dekomposisi secara simultan untuk mendapatkan sinyal global. Secara keseluruhan tahap ekstraksi ciri dapat dilihat pada gambar 3.8. Masukan dari proses ekstraksi ciri adalah citra hasil preprocessing yang kemudian akan dikonvolusi dilanjutkan dengan tahap downsampling. Output dari ekstraksi ciri tergantung dari jumlah desimasi (N) yang akan di tentukan oleh user. Tahap ini akan melakukan pengulangan sampai menghasilkan jumlah N=0.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
24
Mulai Input: Citra Hasil Preprocessing Desimasi = N Konvolusi menggunakan wavelet Haar Downsampling
N=N-1 Tidak N=0 Ya Output: Hasil ekstraksi ciri
Selesai
Gambar 3.8 Diagram ekstraksi ciri Tahap konvolusi merupakan tahap untuk melakukan filtering, menggunakan decomposition low pass filter Wavelet Haar. Tahap konvolusi ini berada pada bidang dimensi dua, maka konvolusi diterapkan dua kali yaitu pada kolom dan baris citra input. Dari masukan berupa citra hasil preprocessing yang kemudian akan dikonvolusi per baris dan per kolom (lihat gambar 3.9). Mulai
Input: Citra hasil preprocessing
Konvolusi (1D) dengan ekstensi per baris
Konvolusi (1D) dengan ekstensi per kolom
Output: Hasil Konvolusi 2D
Selesai
Gambar 3.9 Diagram alir konvolusi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
25
Tahap downsampling adalah tahap setelah konvolusi, di mana hasil dari konvolusi merupakan masukan untuk downsampling. Untuk memproses masukan ada dua proses yaitu menghilangkan baris dan kolom ganjil dengan menjaga baris dan kolom genap seperti diperlihatkan pada gambar 3.10 Mulai
Input: Hasil konvolusi 2D
Menghilangkan baris ganjil
Menghilangkan kolom ganjil
Output: Hasil Downsampling(hasil ekstraksi ciri)
Selesai
Gambar 3.10 Diagram alir downsampling
3.2.4 Tahap Fungsi Jarak Tahap fungsi jarak ini adalah tahap membandingkan citra masukan huruf yang dicapture dengan database huruf yang telah dimasukkan sebelumnya. Dalam sistem ini yang digunakan yaitu fungsi jarak Euclidean. Jarak euclidean adalah jarak untuk mencari selisih dari data yang dibandingkan. Hasil dari selisih perbandingan merupakan jarak yang paling pendek yang kemudian akan digunakan dalam proses selanjutnya yaitu penentuan keluaran. Proses fungsi jarak direpresentasikan pada diagram alir gambar 3.11.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
26
Mulai Input: Hasil Ekstraksi ciri masukan, Ekstraksi ciri database Penghitungan jarak: Ekstraksi ciri data masukan dengan ekstraksi ciri database Output: Hasil perhitungan jarak menghasilkan jarak minimum Selesai
Gambar 3.11 Diagram alir fungsi jarak Euclidean
3.2.5 Penentuan Keluaran Pada proses penentuan keluaran ini hasil pengenalan potongan huruf jawa ditentukan berdasarkan selisih perbandingan jarak yang paling pendek yang didapatkan setelah proses penghitungan jarak. Proses ini adalah bagian sistem terakhir dari proses pengenalan potongan huruf jawa jenis cetak, dapat dilihat pada gambar 3.12.
Mulai
Input: Hasil perhitungan jarak minimum (r)
Citra keluaran = jarak minimum (r)
Output: Hasil berupa teks dan suara
Selesai
Gambar 3.12 Diagram alir penentuan keluaran
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.3
27
Perancangan Database Huruf Pada sistem pengenalan huruf jawa jenis cetak ada sebuah penentuan yang
digunakan sebagai acuan dalam pengenalan yaitu database. Database akan dibandingkan dengan citra masukan huruf yang telah dicapture. Perancangan database pada sistem pengenalan ini terdiri dari 20 huruf aksara jawa yaitu ha na ca...ba tha nga. Gambar 3.13 menunjukkan blok diagram perancangan database.
Pengambilan citra
preprocessing
Ekstraksi ciri menggunakan wavelet
Database potongan huruf
Gambar 3.13 Blok diagram perancangan database
Dalam penelitian ini, terdapat 14 set database huruf jawa yang dibuat berdasarkan kombinasi nilai–nilai yang akan dievaluasi. Nilai yang dievaluasi dapat dilihat pada tabel 3.2. Tabel 3.2 Jumlah kombinasi set database Dari (pixel)
Ke (pixel) 2x4
3.4
8x16
2
16x32
3
32x64
4
64x128
5
Jumlah keseluruhan
14
Huruf Uji Huruf uji diambil setelah pengguna menekan tombol “Ambil Gambar”. Hasil citra
atau sampel diambil dengan posisi potongan huruf jawa jenis cetak sudah tetap dan menggunakan pencahayaan yang sudah ditentukan. Proses yang berlangsung meliputi input
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
28
citra potongan huruf jawa jenis cetak, preprocessing, ekstraksi ciri wavelet, dan fungsi jarak euclidean. Hasil proses tersebut disimpan dan kemudian diproses kembali untuk mendapatkan hasil pengenalan potongan huruf jawa jenis cetak secara real time.
3.5
Perancangan Tampilan GUI Tampilan interface pada perancangan sistem pengenalan huruf menggunakan GUI
(Graphical User Interface) matlab yang bertujuan untuk membantu dalam proses pengenalan huruf. Secara keseluruhan sistem tersebut dapat dilihat pada gambar 3.14.
Sketsa Perancangan GUI Camera
Variasi Desimasi
Preprocessing
Cropping
Resizing
Variasi Resizing
Kamera aktif
Ambil gambar Proses
Keluaran berupa huruf
Keluaran berupa suara
Ekstraksi CIri Reset Hasil wavelet Keluar Page 1
Gambar 3.14. Sketsa perancangan GUI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB IV HASIL DAN PEMBAHASAN
Sistem program yang telah dirancang akan dilakukan sebuah pengujian. Dari pengujian tersebut muncul hasil berupa data-data. Dalam bab ini membahas mengenai hasil pengujian sistem program tersebut dalam melakukan pengenalan huruf jawa carakan. Pengujian sisterm perlu dilakukan untuk mengetahui suatu sistem dapat bekerja dengan baik sesuai dengan perncangan.
4.1
Pengujian Program Pengenalan Huruf Jawa Carakan secara Real
Time Pengujian sistem program bertujuan untuk mengetahui suatu sistem dapat bekerja dengan baik sesuai perncangan yang sudah dibuat sebelumnya. Pada pengujian program menggunakan laptop dengan spesifikasi sebagai berikut: a. Processor Intel(R) Core(TM) i5-2430M CPU @ 2.40GHz b. RAM 2 GB c. Matlab R2010a d. Tipesistem operasi32 bit Di bawah ini adalah proses untuk menjalankan program pengenalan huruf aksara jawa carakan: 1. Mengklik dua kali icon Matlab R2010apada layar dekstop seperti gambar 4.1
Gambar 4.1. Icon Matlab R2010a
29
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
30
2. Setelah melakukan langkah 1, akan muncul tampilan awal software Matlab seperti pada gambar 4.2.
Gambar 4.2. Tampilan awal Matlab R2010a 3. Perlu memastikan terlebih dahulu pada Current Directory(1) sebelum membuka tampilan program utama dari software Matlab, sudah sesuai dengan tempat penyimpanan program yang telah dirancang. 4. Kemudian ketik mulai pada command window untuk memunculkan tampilan jendela pengenalan huruf jawa carakan seperti yang ditunjukkan pada gambar 4.3, klik run untuk menjalankan program. 5. Setelah di run, akan muncul tampilan seperti gambar 4.4.
4.1.1. Tombol Kamera Aktif Tombol kamera aktif digunakan untuk menghubungkan antara webcam dengan Matlab dan kemudian ditampilkan ke dalam proses pengenalan huruf jawa carakan. Proses tombol kamera aktif sebagai berikut: % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) imaqhwinfo; info = imaqhwinfo('winvideo'); dev_info = imaqhwinfo('winvideo',1);
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
31
vidobj = videoinput('winvideo',1,'YUY2_640x480'); vidobj.FramesPerTrigger = 1 ; triggerconfig(vidobj, 'manual'); vidRes = get(vidobj, 'VideoResolution'); imWidth = 640; imHeight = 480; nBands = get(vidobj, 'NumberOfBands'); hImage = image(zeros(imHeight, imWidth, nBands), 'parent',handles.axes2); preview(vidobj, hImage);
Perintah program imaqhwinfo dijalankan sebelum memulai mengambil data dari video kamera untuk memastikan adapter kamera terbaca dengan baik. Secara garis besar perintah program tersebutuntuk menampilkan informasi yang akan disampaikan oleh webcam dan kemudian informasi tersebut akan diinisialisasi di dalam program agar antara webcam dengan software Matlab dapat melakukan komunikasi. Dalam proses tersebut yang tertampil seperti video resolusi, lebar, panjang, port webcam, dan band dari video. Handle Image telah didapatkan maka perintah program preview dapat berjalan yang berfungsi untuk menampilkan video pada saat kamera aktif dengan inisialisasi yang telah digunakan.
4.1.2. Tombol Ambil Gambar Tombol ambil gambar digunakan untuk meng-capture potongan gambar huruf jawa carakan yang akan dikenali dalam proses pengenalan citra. Program tombol ambil gambar sebagai berikut: % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) imaqhwinfo; info = imaqhwinfo('winvideo'); dev_info = imaqhwinfo('winvideo',1); vidobj = videoinput('winvideo',1,'YUY2_640x480'); vidobj.FramesPerTrigger = 1 ; triggerconfig(vidobj, 'manual'); vidRes = get(vidobj, 'VideoResolution'); imWidth = 640 ; imHeight = 480; nBands = get(vidobj, 'NumberOfBands'); hImage = image(zeros(imHeight, imWidth, nBands), 'parent',handles.axes2); preview(vidobj, hImage);
Perintah program di atas sama dengan program pada “tombol kamera aktif” tetapi pada “tombol ambil gambar” ditambah dengan perintah grayscale yang berfungsi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
32
mengubah warna citra menjadi keabu-abuan. Citra berwarna keabu-abuan karena pada saat preprocessing citra yang telah dicapture harus mengalami proses grayscale. start(vidobj); pause(1); trigger(vidobj); stoppreview(vidobj); capt1=double(getdata(vidobj)); gambar=yuy2torgb1(capt1);
Perintah program getdata adalah untuk capturing citra pada saat webcam dalam kondisi aktif. handles.b=gambar; guidata(hObject,handles) axes(handles.axes2); imshow(gambar)
Citra yang sudah mengalami capturing akan diinisialisasi menggunakan handles agar dapat dipanggil dalam file figure maupun file.m, kemudian akan tampil pada axes2.
4.1.3. Pop-Up Menu Pop-up menu digunakan untuk memilih variasi ukuran atau nilai yang diinginkan sebelum melanjutkan ke tombol proses pengenalan. Variasi tersebut terdapat pada pop-up menu1 dan pop-up menu2. Perintah program yang digunakan pada pop-up menu1 adalah sebagai berikut: % --- Executes on selection change in popupmenu3. function popupmenu3_Callback(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) indeks=get(handles.popupmenu3,'Value'); switch indeks case 2 des=1; case 3 des=2; case 4 des=3; case 5 des=4; case 6 des=5; end handles.des=des; guidata(hObject,handles);
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
33
Program di atas adalah pemilihan nilai variasi desimasi. Nilai variasi desimasi diinisialisasi dengan nama “des” yang terdiri dari nilai 1,2,3,4, dan 5. Inisialisasi kata “des” diubah menjadi “handles.des” agar nilai desimasi yang telah dipilih oleh user dapat dikenali sebagai bahasa program untuk proses selanjutnya. Perintah program yang digunakan pada pop-up menu2 adalah sebagai berikut: % --- Executes on selection change in popupmenu4. function popupmenu4_Callback(hObject, eventdata, handles) % hObject handle to popupmenu4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) indeks=get(handles.popupmenu4,'Value'); switch indeks case 2 ukuran=64; case 3 ukuran=32; case 4 ukuran=16; case 5 ukuran=8; end handles.ukuran=ukuran; guidata(hObject,handles);
Program pada pop-up menu2 hampirsama dengan program pop-up menu1, yang membedakan adalah pada pop-up menu2 untuk pemilihan nilai variasi resizing. Nilai variasi resizing diinisialisasi dengan nama “ukuran”yang terdiri dari nilai 64(64x128), 32(32x64), 16(16x32), dan 8(8x16). Kata “handles” pada program di atas sama dengan di program pop-up menu1yaituuntukmembuat agar nilairesizing yang telahdipilihuser dapatdikenalisebagaibahasa program untuklangkahselanjutnya.
4.1.4. Tombol Proses Tombol proses adalah tombol yang berfungsi untuk menjalankan proses pengenalan mulai dari processing yang terdiri dari cropping dan resizing, ekstraksi ciri, jarak Euclidean dan hasil keluaran berupa teks. Tombol proses ini berkaitan dengan yang sudah dibahas pada bab III pada gambar 3.4 tentang diagram alir pemrosesan citra Berikut adalah program dari tombol proses: % --- Executes on button press in pushbutton5. function pushbutton5_Callback(hObject, eventdata, handles) % hObject handle to pushbutton5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI % handles
34
structure with handles and user data (see GUIDATA)
ukuran=handles.ukuran; des=handles.des; if (ukuran==64) &(des==1) load dB1r64d1; elseif (ukuran==64) &(des==2) load dB1r64d2; elseif (ukuran==64) &(des==3) load dB1r64d3; elseif (ukuran==64) &(des==4) load dB1r64d4; elseif (ukuran==64) &(des==5) load dB1r64d5; elseif (ukuran==32) &(des==1) load dB1r32d1; elseif (ukuran==32) &(des==2) load dB1r32d2; elseif (ukuran==32) &(des==3) load dB1r32d3; elseif (ukuran==32) &(des==4) load dB1r32d4; elseif (ukuran==16) &(des==1) load dB1r16d1; elseif (ukuran==16) &(des==2) load dB1r16d2; elseif (ukuran==16) &(des==3) load dB1r16d3; elseif (ukuran==8) &(des==1) load dB1r8d1; elseif (ukuran==8) &(des==2) load dB1r8d2; else set(handles.text9,'string','Pilihan Salah'); return end
Tombol proses dapat berjalan setelah memilih variasi desimasi dan resizing. Program di atas merupakan bagian dari tombol proses yaitu untuk mengeluarkan database yang akan
dibandingkan
dalam
perhitungan
jarak.
Pengeluaran
menyesuaikan pemilihan pop-up menu yang telah dipilih oleh user. %Proses Grayscale x0=handles.b; axes(handles.axes2); x0=double(rgb2gray(x0)); x1=x0/255; imshow(x1) axis on %Proses Cropping x1=handles.b; axes(handles.axes3); x2=imcrop(x1,[154 203 246 121]); mx2=max(x2(:));
databasepembanding
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
35
x2=x2/mx2; x2=1-x2; mx2a=max(x2(:)); x2=x2/mx2a; imshow(x2) axis on
Perintah program di atas adalah proses cropping yang berfungsi untuk memotong gambar yang tidak digunakan dalam proses pengenalan. Proses cropping dilakukan secara manual yaitu dengan mencari koordinat x dan y, kemudian dari nilai koordinat tersebut dimasukkan ke dalam program dengan perintah imcrop yang telah disediakan di dalam Matlab. %Proses Resizing axes(handles.axes4); if ukuran==128 ukuran=[128,256]; elseif ukuran==64 ukuran=[64,128]; elseif ukuran==32 ukuran=[32,64]; elseif ukuran==16 ukuran=[16,32]; elseif ukuran==8 ukuran=[8,16]; end x3=imresize(x2,ukuran); imshow(x3) axis on
Program di atas adalah proses resizing. Perintah program imresize berfungsi untuk mengeksekusi ukuran resizing yang akan digunakan dalam pengenalan. Ukuran resizing gambar yang akan digunakan, menyesuaikan pilihan yang telah dipilih oleh user. x4=xcwav2(x3,des); axes(handles.axes5); mx4=max(x4(:)); nx4=x4/mx4; imshow(nx4) axis on x4=x4(:);
Program di atas adalah proses ekstraksi ciri. Program ini berkaitan dengan yang sudah dibahas pada bab III pada gambar 3.8 tentang diagram ekstraksi ciri. Perintah program “xcwav2” berfungsi untuk memanggil fungsi ekstraksi ciri. Ekstraksi ciri yang digunakan yaitu wavelet haar. Input dari program di atas adalah “x3”, x3 sendiri merupakan hasil proses resizing dan “des” adalah nilai desimasi hasil pilihan user dari
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
36
pop-up menu.Output dari fungsi “xcwav2” adalah x4, yang merupakan hasil dari ekstraksi cirri wavelet haar. for n=1:180 r(n)=jarak(x4,z(:,n)); end
Program di atas adalah program untuk menghitung jarak antara citra input dengan citra database. Program ini berkaitan dengan perancangan pada bab III gambar 3.11 diagram alir fungsi jarak euclidean. minr=min(r) b1=find(minr==r) b2=ceil(b1/9);
Program di atas adalah program untuk mencari nilai minimum dari perhitungan jarak Euclidean yang diinisialisasi dengan nama b1. Inisialisasi dengan nama b2 adalah letak dari nilai terkecil tersebut. z2={'ha_','na_','ca_','ra_','ka_','da_','ta_','sa_','wa_','la_','pa_',... 'dha','ja_','ya_','nya','ma_','ga_','ba_','tha','nga'}; y1=z2(b2) set(handles.edit3,'string',y1);
Program di atas adalah program penamaan keluaran teks dari 20 huruf aksara jawa carakan. Variabel z2 merupakan inisialisasi dari 20 huruf aksara jawa carakan. Nilai yang paling minimum akan dipanggil sesuai nama inisialisasi dan kemudian ditampilkan ke dalam file figure dengan menggunakan set.
if (b2==1); y=wavread('Ha.wav'); sound(y,8000) elseif (b2==2); y=wavread('Na.wav'); sound(y,8000) elseif (b2==3); y=wavread('Ca.wav'); sound(y,8000) elseif (b2==4); y=wavread('Ra.wav'); sound(y,8000) elseif (b2==5); y=wavread('Ka.wav'); sound(y,8000) elseif (b2==6); y=wavread('Da.wav'); sound(y,8000) elseif (b2==7); y=wavread('Ta.wav');
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
37
sound(y,8000) elseif (b2==8); y=wavread('Sa.wav'); sound(y,8000) elseif (b2==9); y=wavread('Wa.wav'); sound(y,8000) elseif (b2==10); y=wavread('La.wav'); sound(y,8000) elseif (b2==11); y=wavread('Pa.wav'); sound(y,8000) elseif (b2==12); y=wavread('Dha.wav'); sound(y,8000) elseif (b2==13); y=wavread('Ja.wav'); sound(y,8000) elseif (b2==14); y=wavread('Ya.wav'); sound(y,8000) elseif (b2==15); y=wavread('Nya.wav'); sound(y,8000) elseif (b2==16); y=wavread('Ma.wav'); sound(y,8000) elseif (b2==17); y=wavread('Ga.wav'); sound(y,8000) elseif (b2==18); y=wavread('Ba.wav'); sound(y,8000) elseif (b2==19); y=wavread('Ta.wav'); sound(y,8000) elseif (b2==20); y=wavread('Nga.wav'); sound(y,8000) end
Program di atas adalah proses keluaran citra berupa suara dari 20 pengenalan huruf aksara jawa carakan. Suara tersebut akan keluar bersamaan dengan keluaran berupa teks dari 20 huruf aksara jawa carakan. Keluaran berupa suara tersebut menggunakan suara penulis dengan format rekaman suara wav. Samplingsuarayang digunakan adalah 8000Hz, karena
sampling
menggunakan
8000Hz
suara
keluaran
menjadi
normal
suaranyadansamasepertisuara yang direkam oleh penulis. Program setelah perhitungan jarak sampai dengan penentuan keluaran citra berupa suara berkaitan dengan perancangan pada bab sebelumnya gambar 3.12 diagram alir penentuan keluaran.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
38
4.1.5. Tombol Reset Tombol reset digunakan untuk mengembalikan program ke tampilan awal proses pengenalan seperti mengosongkan tampilan axes pada kamera, processing, ekstraksi ciri kemudian edit text pada keluaran berupa huruf serta static text. Program tombol reset sebagai berikut: % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes2) plot(0); axes(handles.axes3) plot(0); axes(handles.axes4) plot(0); axes(handles.axes5) plot(0) set(handles.popupmenu3,'Value',1); set(handles.popupmenu4,'Value',1); set(handles.edit3,'string',''); set(handles.text9,'string','');
Berdasarkan
pengujian yang telah dilakukan, program “tombol reset” dapat
berfungsi dengan baik. Tampilan axes pada kamera, processing, ekstraksi ciri kemudian edit text pada keluaran berupa huruf serta static text dapat dikosongkan ketika user ingin mengembalikan ke tampilan awal proses pengenalan.
4.1.6. Tombol Keluar Tombol keluar digunakan untuk menutup tampilan program pengenalan huruf jawa carakan dan akan kembali pada tampilan sebelumnya yaitu command window. Program tombol keluar sebagai berikut: % --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Close
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 4.2
Hasil
Pengujian
Program
Pengenalan
Terhadap
39
Tingkat
Pengenalan Citra Potongan Huruf Jawa Carakan Pengujian
pengenalan
citra
potongan
huruf
jawa
carakan
dilakukan
menggunakan dua cara yaitu secara tidak real time dan secara real time. Pengujian secara tidak real time dilakukan dengan pengubahan parameter uji yang meliputi variasi resizing dan variasi desimasi. Data masukan yang digunakan dalam pengujian secara tidak real time adalah variasi rotasi dengan nilai -7,5° ; -2,5° ; 2,5° ; 7,5° serta variasi skala dengan nilai 92,5% ; 97,5% ; 102,5% ; 107,5%.
Data masukan akan dibandingkan dengan
database yang berisi variasirotasi-10o, -5o, 0o, 5o, 10odanvariasi penskalaan90%, 95%, 100%, 105%, 110%. Pengujian secara real time dilakukan dengan data masukan secara langsung menggunakan potongan huruf jawa carakan jenis cetak, ketika pengguna meletakkan potongan tersebut di fixture saat itu juga webcam akan mengambil gambar potongan yang kemudian dari hasil webcam akan tertampil menjadi keluaran dari proses pengenalan citra. Dalampengujianreal
time
parameter
pengenalanterbaikhasildaripengenalantidakreal
yang
digunakanadalah
parameter
time,tetapidalampengujianreal
time
penggunamenggunakan data masukan yang meliputi variasirotasi-10o, -5o, 0o, 5o, 10odanvariasi penskalaan90%, 95%, 100%, 105%, 110%.
4.2.1 Pengujian Parameter Pengenalan Potongan Huruf Jawa Carakan Secara Tidak Real Time Pengujian pengenalan citra secara tidak real time menggunakan gambar huruf jawa carakan berjumlah 160 yang meliputi variasi rotasi dengan nilai -7,5° ; -2,5° ; 2,5° ; 7,5° serta variasi skala dengan nilai 92,5% ; 97,5% ; 102,5% ; 107,5% yang telah dicapture sebelumnya sebagai gambar uji. Dalam pengujian tidak real time, database yang digunakan
berjumlah
180
meliputivariasirotasi-10o,
-5o,
0o,
5o,
10odanvariasi
penskalaan90%, 95%, 100%, 105%, 110%. Pengujian secara tidak real time dilakukan dengan pengubahan parameter uji yang meliputi variasi resizing dan variasi desimasi. Tujuan dari pengujian secara tidak real time adalah untuk mencari variasi nilai resizing dan nilai desimasi untuk tingkat pengenalan terbaik. Tahap pertama untuk memulai pengujian secara tidak real time adalah menentukan nilai variasi desimasi dan resizing yang akan digunakan. Penentuan nilai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
40
variasi desimasi dan resizing disesuaikan dengan pemanggilan database yang telah dibuat pada proses sebelumnya.
Tabel 4.1. Persentase data hasil pengujian secara tidak real time
a. Variasi resizing 64x128 piksel Desimasi 1 2 3 4
-2,5° 100% 100% 100% 100%
Rotasi -7,5° 2,5° 95% 100% 100% 100% 95% 100% 95% 100%
7,5° 92,5 100% 100% 100% 100% 100% 100% 100% 95%
5
100%
75%
85%
100%
60%
Penskalaan(%) 97,5 102,5 90% 100% 90% 100% 90% 100% 90% 100% 90%
100%
107,5 100% 100% 100% 100% 70%
JUMLAH 98% 99% 98% 98% 85%
b. Variasi resizing 32 x 64 piksel Desimasi
Rotasi -2,5° 100% 100% 100% 100%
1 2 3 4
-7,5° 95% 95% 95% 75%
Penskalaan(%)
2,5° 7,5° 92,5 97,5 100% 100% 100% 95% 100% 100% 100% 95% 100% 100% 95% 90% 100% 85% 60% 85%
103,5 107,5 100% 100% 100% 100% 100% 100% 100% 70%
JUMLAH 99% 99% 98% 84%
c. Variasi resizing 16x32 piksel Desimasi 1 2 3
-2,5° 100% 100% 100%
Rotasi Penskalaan(%) -7,5° 2,5° 7,5° 92,5 97,5 102,5 95% 100% 100% 100% 95% 100% 95% 100% 100% 95% 95% 100% 75% 100% 80% 75% 85% 85%
107,5 90% 90% 70%
JUMLAH 98% 97% 84%
d. Variasi resizing 8x16 piksel Desimasi 1 2
-2,5° 100% 100%
Rotasi -7,5° 2,5° 95% 100% 70% 95%
7,5° 95% 80%
92,5 90% 70%
Penskalaan(%) 97,5 102,5 107,5 100% 100% 95% 85% 90% 70%
JUMLAH 97% 83%
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
41
e. Persentase jumlah rata-rata tingkat pengenalanterhadap desimasi resizing(piksel)
64x128
32x64
16x32
8x16
desimasi 1 2 3 4 5 1 2 3 4 1 2 3 1 2
persentase tingkat pengenalan(%) 98 99 98 98 95 99 99 98 84 98 97 84 97 83
Persentase Tingkat Pengenalan terhadap desimasi Tingkat Pengenalan
105
variasi resizing
100
95
64x128
90
32x64
85
16x32
80
8x16
75 1
2
3
4
5
Desimasi
Gambar 4.3. Grafik Tingkat Pengenalan secara tidak real time Dari data hasil pengujian secara tidak real time, seperti yang ditunjukkan pada tabel 4.1(e) dan gambar 4.3. diperoleh 3 jumlah rata-rata yang memiliki nilai yang sama secara maksimal sebesar 99%. Grafik pada gambar 4.3 menunjukkan bahwa semakin besar nilai variasi desimasi maka tingkat pengenalan semakin rendah. Hal ini disebabkan karena semakin besar nilai variasi desimasiyang berarti desimasi tersebut mengalami pengulangan proses konvolusi dan downsampling sebanyak yang diinginkan pengguna,
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
42
yang mengakibatkan gambar inputan menjadi blur(kabur) sehingga tingkat pengenalannya juga akan semakin rendah. Grafik pada gambar 4.3 juga menunjukkan bahwa semakin
kecil
nilai
variasi resizing maka tingkat pengenalannya akan semakin rendah. Hal ini disebabkan karena semakin kecil nilai variasi resizing maka tingkat piksel pada gambar semakin kecil yang menyebabkan gambar menjadi pecah sehingga tingkat pengenalannya juga akan semakin rendah.Proses selanjutnya adalah dengan mengambil salah satu dari 3 jumlah ratarata terbaik yang sudah didapat yaitu resizing 64x128piksel pada desimasi 2, serta resizing 32x64piksel pada desimasi 1 dan 2. Pengambilan salah satu nilai terbaik tersebut karena nilai pengenalan 3 jumlah rata-rata tersebut terletak pada persentase yang sama yaitu 99%. Tabel 4.2 Jumlah koefisien ekstraksi ciri
Pengulangan
64x128, desimasi(2)
Variasi Resizing 32x64, desimasi(1)
32x64, desimasi(2)
1 kali
32x64
16x32
16x32
2 kali jumlah akhir koefisien ekstraksi ciri
16x32
-
8x16
16x32=512
16x32=512
8x16=128
Tabel 4.2 memperlihatkan bahwa variasiresizing 32x64dengan menggunakan desimasi 2 memiliki jumlahkoefisien ekstraksi ciri paling kecilyaitu 128. Tujuan ekstraksi ciri sendiri adalah mengolah dari data yang banyak di ekstrak menjadi data yang kecil, dengan data yang lebih kecil maka semakin ringkas dan mudah untuk dibuat. Tabel 4.2 memiliki kesimpulan bahwa variasi resizing 32x64 dengan menggunakan desimasi 2akan digunakan untuk pengujian pengenalan potongan huruf aksara jawa secara real time.
4.2.2 Pengujian Parameter Pengenalan Potongan Huruf Jawa Carakan Secara Real Time Pengujian secara real time dilakukan dengan data masukan secara langsung menggunakan potongan huruf jawa carakan jenis cetak, webcam akan mengambil gambar potongan yang kemudian dari hasil webcam akan tertampil keluaran. Dalam pengujian real time yang digunakan adalah nilai variasi terbaik yang telah didapatkan dari pengujian
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
43
secara tidak real time sebelumnya. Nilai variasi terbaik yang digunakan untuk pengujian secara real time adalah variasi resizing 32x64 dengan nilai desimasi 2. Tabel 4.3 menunjukkan contoh hasil pengenalan huruf jawa carakan dengan berbagai macam variasi ukuran resizing dan variasi desimasi. Dari gambar tersebut bisa dilihat bahwa semakin kecil nilai variasi resizing maka tingkat pengenalannya akan semakin rendah. Hal ini disebabkan karena semakin kecil nilai variasi resizing maka tingkat piksel pada gambar semakin kecil yang menyebabkan gambar menjadi pecah sehingga tingkat pengenalannya juga akan semakin rendah. semakin besar nilai variasi desimasi maka tingkat pengenalan semakin rendah. Hal ini disebabkan karena semakin besar nilai variasi desimasiyang berarti desimasi tersebut mengalami pengulangan proses konvolusi dan downsampling sebanyak yang diinginkan pengguna, yang mengakibatkan gambar inputan menjadi blur (kabur) sehingga tingkat pengenalannya juga akan semakin rendah. Tabel 4.3 Gambar citra huruf jawa carakan setiap variasi resizing dan desimasi (a)
(b)
(c)
(d)
Variasi
Resizing
Desimasi
Ekstraksi Ciri
Resizing 64x128 1
2
32x64 1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
44
Tabel 4.3(lanjutan) Gambar citra huruf aksara jawa carakan setiap variasi resizing dan desimasi
(a)
(b)
(c)
(d)
Variasi
Resizing
Desimasi
Ekstraksi Ciri
Resizing
2
16x32 1
2
8x16 1
2
Pengujian dilakukan sebanyak 5 kali (lihat dilampiran) pada setiap gambar aksara jawa carakan dengan dasar bahwa 5 kali pengujian tersebut mewakili keberhasilan program pengenalan gambar aksara jawa carakan agar berjalan dengan baik.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
45
Tabel 4.4 Jumlah rata-rata persentase hasil percobaan 1, 2, 3, 4, 5 rotasi dan penskalaan(tabel 1-5 lihat lampiran) rotasi percobaan persentase(%) 1(tabel 1a) 98 2(tabel 2a) 97 3(tabel 3a) 85 4(tabel 4a) 91 5(tabel 5a) 88 jumlah rata-rata 91,8
penskalaan Percobaan persentase(%) 1(tabel 1a) 99 2(tabel 2a) 98 3(tabel 3a) 90 4(tabel 4a) 90 5(tabel 5a) 87 jumlah rata-rata 92,8
(a) rotasi percobaan persentase(%) 1(tabel 1b) 93 2(tabel 2b) 95 3(tabel 3b) 88 4(tabel 4b) 91 5(tabel 5b) 88 jumlah rata-rata 91
penskalaan percobaan persentase(%) 1(tabel 1b) 96 2(tabel 2b) 93 3(tabel 3b) 80 4(tabel 4b) 94 5(tabel 5b) 93 jumlah rata-rata 91,2
(b) Tabel 4.4(a) menunjukkan bahwa rotasi lebih sensitif dalam pengenalan citra daripada pengenalan secara penskalaan, dengan adanya nilai rotasi yang lebih besar atau kurang dari 0° yang menyebabkan citra akan sedikit berputar dari citra aslinya yaitu 0°. Jumlah rata-rata rotasi sebesar 91,8% sedangkan penskalaan sebesar 92,8%. Tabel untuk penskalaan tiap percobaan hampir semua nilai penskalaan semakin besar maka semakin baik dalam pengenalan citra. Hal ini dapat disimpulkan adanya tingkat pengenalan yang cukup tinggi. Tabel 4.4(b) hampir sama dengan tabel 4.4(a), yang membedakan adalah citra masukan yang berbeda dengan database yang sudah dibuat sebelumnya. Tabel 4.4(b) menunjukkan bahwa rotasi juga lebih sensitif dalam pengenalan citra daripada pengenalan secara penskalaan, dengan adanya nilai rotasi yang lebih besar atau kurang dari 0° yang menyebabkan citra akan sedikit berputar dari citra aslinya yaitu 0° sehingga pengenalan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
46
menjadi kurang maksimal. Jumlah rata-rata rotasi sebesar 91% sedangkan penskalaan sebesar 91,2%. Tabel untuk penskalaan tiap percobaan hampir semua nilai penskalaan semakin besar maka semakin baik dalam pengenalan citra. Hal ini dapat disimpulkan adanya tingkat pengenalan yang masih cukup tinggi.
Tabel 4.5 Jumlah rata-rata persentase keseluruhan dari tabel 6 sampai tabel 10 (lihat lampiran) Resizing 32x64, desimasi 2 percobaan persentase(%) 1(tabel 6a) 99 2(tabel 7a) 98 3(tabel 8a) 88 4(tabel 9a) 91 5(tabel 10a) 88 jumlah rata-rata 92,8
Resizing 32x64, desimasi 2 percobaan persentase(%) 1(tabel 6b) 94 2(tabel 7b) 94 3(tabel 8b) 84 4(tabel 9b) 93 5(tabel 10b) 90 jumlah rata-rata 91
(a)
(b)
Tabel 4.5 dapat disimpulkan bahwa adanya pengenalan yang cukup tinggi yaitu persentase jumlah rata-rata mencapai 92,8% dengan citra masukan dan database sama di tabel 4.5(a), serta jumlah rata-rata mencapai 91% dengan citra masukan berbeda dengan database di tabel 4.5(b). Rata-rata hasil percobaan tersebut didapat dengan catatan jarak dan posisi webcam dengan template harus tetap (lihat gambar 4.5) yaitu dengan jarak 26 cm (lihat gambar 3.1). Peletakan huruf jawa jenis cetak juga harus pas dengan templatenya. Apabila posisi berubah-ubah maka letak cropping juga akan berubah dan keluar dari template (lihat gambar 4.5) karena proses cropping dilakukan secara manual. Perubahan tersebut akan mempengaruhi hasil pengenalan yang kurang maksimal.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
47
Template proses cropping
5 cm
(a)
10 cm
webcam
(b)
Gambar 4.5. (a) Letak template yang diproses cropping, (b) Posisi dan jarak webcam harus tetap, serta peletakan huruf jawa jenis cetak harus pas pada templatenya.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan Berdasarkan hasil percobaan dan pengujian sistem pengenalan huruf jawa carakan secara real time dapat disimpulkan sebagai berikut: 1. Rata-rata tingkat pengenalan potongan huruf jawa(lihat tabel (4.5) secara real time dengan menggunakan ekstraksi ciri wavelet dan jarak euclidean adalah sebesar 92,8% untuk citra masukan dengan database sama, sedangkan untuk citra masukan berbeda dengan database sebesar 91%. 2. Nilai parameter yang mempunyai tingkat pengenalan terbaik berdasarkan pengujian secara tidak real time adalah variasi resizing 32x64 dengan menggunakan desimasi 2. 3. Pengaruh rotasi lebih sensitif dibanding dengan penskalaan. Presentase jumlah ratarata penskalaan sebesar 92,8% dan rotasi sebesar 91,8% untuk citra masukan dengan database sama, sedangkan untuk citra masukan berbeda dengan database presentase jumlah rata-rata penskalaan sebesar 91,2% dan rotasi sebesar 91%. 4. Rata-rata hasil percobaan di atas didapat dengan catatan posisi dan jarak webcam harus tetap yaitu 26cm, serta peletakan huruf jawa jenis cetak harus pas pada templatenya.
5.2 Saran Saran yang hendak disampaikan terkait dengan tugas akhir ini adalah: 1. Pengembangan sistem dengan pengenalan lebih dari satu karakter huruf atau kombinasi huruf membuat sebuah kata supaya dapat mengenali sebuah kata jawa berbentuk aksara jawa. 2. Pengembangan sistem dengan penambahanautomatic cropping pada preprocessing dan menegakkan gambar yang terputar karena rotasi, agar masalah skala dan rotasi dapat diatasi.
48
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI DAFTAR PUSTAKA [1]
Umar, Najirah, Aplikasi Computer Vision untuk Penentuan Posisi Objek Simetris pada Ruang Tiga Dimensi, http://jurnalinspiration.wordpress.com/2012/01/25/aplikasi-computer-vision-untukpenentuan-posisi-objek-simetris-pada-ruang-tiga-dimensi/, diakses 28 april 2014.
[2]
Wastu, Phalita Nari, Pengenalan Aksara Jawa Menggunakan Metode Hidden Markov Models: Yogyakarta, Universitas Sanata Dharma Yogyakarta.
[3]
Kurniawan, Yohanes Vandi, Pengenalan Huruf Jepang Hiragana Menggunakan Perluasan Metode Feature Point Extraction: Yogyakarta, Universitas Sanata Dharma Yogyakarta.
[4]
Darusuprapta, Prof., DR., dkk, 1996, Pedoman Penulisan Aksara Jawa, Yogyakarta: Yayasan Pustaka Nusatama.
[5]
Dharma, Putra, 2010, Pengolahan Citra Digital, Yogyakarta: Andi Offset.
[6]
Abdul, Kadir, dkk., 2013, Teori dan Aplikasi Pengolahan Citra, Yogyakarta: Andi Yogyakarta.
[7]
Sumarno, Linggo, 2007, Evaluasi Unjuk Kerja Ekstraksi Ciri Wavelet dalam Pengenalan Huruf Tulisan Tangan Berderau dan Terskala menggunakan Jaringan Syaraf Probabilistis, Vol.7, No 1, hal 1-15.
[8]
Gabel, Robet A., 1996, Sinyal dan Sistem Linear, 3rd ed, Erlangga, Jakarta.
[9]
M. Misiti, Y. Misiti, G. Oppenheim, dan J.-M. Poggi, 2005, Wavelet Toolbox: For Use with MATLAB, Version 3, Massachussets: The Mathworks Inc., 2005.
[10]
Wijaya, Marvin Ch., dan Prijono, Agus, 2007, Pengolahan Citra Digital Menggunakan Matlab, Bandung: Informatika Bandung.
[11]
Wardhana, Aditya Wisnu,, Prayudi, Yudi., 2008. Penggunaan Metode Templete Matching untuk Identifikasi Kecacatan pada PCB, Seminar Nasional Aplikasi Teknologi Informasi, Fakultas Teknologi Industri Universitas Islam Indonesia, Yogyakarta.
[12]
Tarsa, I. P., 2011, Perancang Alat Pendeteksi Gerak Dengan Menggunakan Webcam Dan Alarm Berbasis Komputer. 49
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI [13]
Laksmito,
B.,
2010,
Pengertian
Webcam
dan
50
Jenis-Jenisnya,
http://shaleholic.com/pengertian-webcam-dan-jenisnya/, diakses 2 Mei 2014. [14]
Butar, Butar, and Ronisah Putra. "Pemrograman Graphical User Interface (GUI) Dengan Matlab Untuk Mendesain Alat Bantu Opersai Matematika." (2011).
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN
51
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Lampiran Foto Poster AksaraJawa
Variasirotasidanpenskalaanpadacitrahuruf jawa jenis cetak Contoh Rotasi: Ha
-10o
5o
-5o
10o
0o
L1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Na
-10o
-5o
5o
Ca
0o
10o
-10o
-5o
5o
0o
10o
Contoh Penskalaan: Ha
90%
95%
100%
L2
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
105%
Na
90%
95%
105%
Ca
110%
100%
110%
90%
95%
105%
110%
100%
L3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L4
LAMPIRAN LISTING PROGRAM UTAMA
LISTING PROGRAM SECARA REAL TIME function varargout = coba(varargin) %COBA M-file for coba.fig % COBA, by itself, creates a new COBA or raises the existing % singleton*. % % H = COBA returns the handle to a new COBA or the handle to % the existing singleton*. % % COBA('Property','Value',...) creates a new COBA using the % given property value pairs. Unrecognized properties are passed via % varargin to coba_OpeningFcn. This calling syntax produces a % warning when there is an existing singleton*. % % COBA('CALLBACK') and COBA('CALLBACK',hObject,...) call the % local function named CALLBACK in COBA.M with the given input % arguments. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help coba % Last Modified by GUIDE v2.5 29-Oct-2014 14:07:18 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @coba_OpeningFcn, ... 'gui_OutputFcn', @coba_OutputFcn, ... 'gui_LayoutFcn', [], ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before coba is made visible. function coba_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI % % % % %
hObject eventdata handles varargin
handle to figure reserved - to be defined in a future version of MATLAB structure with handles and user data (see GUIDATA) unrecognized PropertyName/PropertyValue pairs from the command line (see VARARGIN)
% Choose default command line output for coba handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes coba wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = coba_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) imaqhwinfo; info = imaqhwinfo('winvideo'); dev_info = imaqhwinfo('winvideo',1); vidobj = videoinput('winvideo',1,'YUY2_640x480'); vidobj.FramesPerTrigger = 1 ; triggerconfig(vidobj, 'manual'); vidRes = get(vidobj, 'VideoResolution'); imWidth = 640; imHeight = 480; nBands = get(vidobj, 'NumberOfBands'); hImage = image(zeros(imHeight, imWidth, nBands), 'parent',handles.axes2); preview(vidobj, hImage); % ===============Tombol Ambil Gambar pencuplikan citra=================== % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) imaqhwinfo; info = imaqhwinfo('winvideo'); dev_info = imaqhwinfo('winvideo',1); vidobj = videoinput('winvideo',1,'YUY2_640x480'); vidobj.FramesPerTrigger = 1 ; triggerconfig(vidobj, 'manual');
L5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI vidRes = get(vidobj, 'VideoResolution'); imWidth = 640 ; imHeight = 480; nBands = get(vidobj, 'NumberOfBands'); hImage = image(zeros(imHeight, imWidth, nBands), 'parent',handles.axes2); preview(vidobj, hImage); start(vidobj); pause(1); trigger(vidobj); stoppreview(vidobj); capt1=getdata(vidobj); gambar=yuy2torgb1(capt1); handles.b=gambar; guidata(hObject,handles) axes(handles.axes2); imshow(gambar) axes(handles.axes7); %menampilkan simbol tak ada suara img5=imread ('speaker volume mute.bmp'); imshow(img5) %================================= %Internal function %================================= function newdata = yuy2torgb1(data) %Konversi YUY2 ke RGB %http://www.mathworks.com/matlabcentral/newsreader/view_thread/263490 %Access date: 11 June 2014 Y = single(data(:,:,1)); U = single(data(:,:,2)); V = single(data(:,:,3)); C = Y-16; D = U-128; E = V-128; R = uint8((298*C+409*E+128)/256); G = uint8((298*C-100*D-208*E+128)/256); B = uint8((298*C+516*D+128)/256); newdata = uint8(zeros(size(data))); newdata(:,:,1)=R; newdata(:,:,2)=G; newdata(:,:,3)=B;
% ============================ Tombol Reset ============================= % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes2) plot(0); axes(handles.axes3) plot(0);
L6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L7
axes(handles.axes4) plot(0); axes(handles.axes5) plot(0) set(handles.popupmenu3,'Value',1); set(handles.popupmenu4,'Value',1); set(handles.edit3,'string',''); set(handles.text9,'string',''); % ====================--------Tombol Keluar ============================% --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close %======================== indeks variasi desimasi=======----------------% --- Executes on selection change in popupmenu3. function popupmenu3_Callback(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) indeks=get(handles.popupmenu3,'Value'); switch indeks case 2 des=1; case 3 des=2; case 4 des=3; case 5 des=4; case 6 des=5; end handles.des=des; guidata(hObject,handles); % Hints: contents = cellstr(get(hObject,'String')) returns popupmenu3 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu3
% --- Executes during object creation, after setting all properties. function popupmenu3_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L8
%======================== indeks variasi resizing ======================= % --- Executes on selection change in popupmenu4. function popupmenu4_Callback(hObject, eventdata, handles) % hObject handle to popupmenu4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) indeks=get(handles.popupmenu4,'Value'); switch indeks case2 ukuran=64; case 3 ukuran=32; case4 ukuran=16; case5 ukuran=8; end handles.ukuran=ukuran; guidata(hObject,handles); % Hints: contents = cellstr(get(hObject,'String')) returns popupmenu4 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu4
% --- Executes during object creation, after setting all properties. function popupmenu4_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end %========================-----Tombol Proses ============================% --- Executes on button press in pushbutton5. function pushbutton5_Callback(hObject, eventdata, handles) % hObject handle to pushbutton5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) ukuran=handles.ukuran; des=handles.des; if (ukuran==128) &(des==1) load db1r128d1 elseif (ukuran==128) &(des==2) load db1r128d2 elseif (ukuran==128) &(des==3) load db1r128d3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI elseif (ukuran==128) &(des==4) load db1r128d4 elseif (ukuran==128) &(des==5) load db1r128d5 elseif (ukuran==64) &(des==1) load dB1r64d1; elseif (ukuran==64) &(des==2) load dB1r64d2; elseif (ukuran==64) &(des==3) load dB1r64d3; elseif (ukuran==64) &(des==4) load dB1r64d4; elseif (ukuran==64) &(des==5) load dB1r64d5; elseif (ukuran==32) &(des==1) load dB1r32d1; elseif (ukuran==32) &(des==2) load dB1r32d2; elseif (ukuran==32) &(des==3) load dB1r32d3; elseif (ukuran==32) &(des==4) load dB1r32d4; elseif (ukuran==16) &(des==1) load dB1r16d1; elseif (ukuran==16) &(des==2) load dB1r16d2; elseif (ukuran==16) &(des==3) load dB1r16d3; elseif (ukuran==8) &(des==1) load dB1r8d1; elseif (ukuran==8) &(des==2) load dB1r8d2; else set(handles.text9,'string','Pilihan Salah'); return end %Proses Grayscale x0=handles.b; axes(handles.axes2); x0=double(rgb2gray(x0)); x1=x0/255; imshow(x1) axis on %Proses Cropping x1=handles.b; axes(handles.axes3); x2=imcrop(x1,[154 203 246 121]); mx2=max(x2(:)); x2=x2/mx2; x2=1-x2; mx2a=max(x2(:)); x2=x2/mx2a; imshow(x2) axis on
L9
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L10
%Proses Resizing axes(handles.axes4); if ukuran==128 ukuran=[128,256]; elseif ukuran==64 ukuran=[64,128]; elseif ukuran==32 ukuran=[32,64]; elseif ukuran==16 ukuran=[16,32]; elseif ukuran==8 ukuran=[8,16]; end x3=imresize(x2,ukuran); imshow(x3) axis on x4=xcwav2(x3,des); axes(handles.axes5); mx4=max(x4(:)); nx4=x4/mx4; imshow(nx4) axis on x4=x4(:); %x4 %z(:,1) for n=1:180 r(n)=jarak(x4,z(:,n)); end minr=min(r) b1=find(minr==r) b2=ceil(b1/9); z2={'ha_','na_','ca_','ra_','ka_','da_','ta_','sa_','wa_','la_','pa_','dha' ,... 'ja_','ya_','nya','ma_','ga_','ba_','tha','nga'}; y1=z2(b2) set(handles.edit3,'string',y1); %Penentuan Keluaran Suara if (b2==1); y=wavread('Ha.wav'); sound(y,8000) elseif (b2==2); y=wavread('Na.wav'); sound(y,8000) elseif (b2==3); y=wavread('Ca.wav'); sound(y,8000) elseif (b2==4); y=wavread('Ra.wav'); sound(y,8000)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI elseif (b2==5); y=wavread('Ka.wav'); sound(y,8000) elseif (b2==6); y=wavread('Da.wav'); sound(y,8000) elseif (b2==7); y=wavread('Ta.wav'); sound(y,8000) elseif (b2==8); y=wavread('Sa.wav'); sound(y,8000) elseif (b2==9); y=wavread('Wa.wav'); sound(y,8000) elseif (b2==10); y=wavread('La.wav'); sound(y,8000) elseif (b2==11); y=wavread('Pa.wav'); sound(y,8000) elseif (b2==12); y=wavread('Dha.wav'); sound(y,8000) elseif (b2==13); y=wavread('Ja.wav'); sound(y,8000) elseif (b2==14); y=wavread('Ya.wav'); sound(y,8000) elseif (b2==15); y=wavread('Nya.wav'); sound(y,8000) elseif (b2==16); y=wavread('Ma.wav'); sound(y,8000) elseif (b2==17); y=wavread('Ga.wav'); sound(y,8000) elseif (b2==18); y=wavread('Ba.wav'); sound(y,8000) elseif (b2==19); y=wavread('Ta.wav'); sound(y,8000) elseif (b2==20); y=wavread('Nga.wav'); sound(y,8000) end axes(handles.axes7); img0=imread ('speaker volume.bmp'); imshow(img0) handles.img0=img0; hm=imread('speaker volume mute.bmp');
%simbol bila ada suara %simbol bila tak ada suara
function edit2_Callback(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
L11
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L12
% Hints: get(hObject,'String') returns contents of edit2 as text % str2double(get(hObject,'String')) returns contents of edit2 as a double
% --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit3 as text % str2double(get(hObject,'String')) returns contents of edit3 as a double
% --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
LISTING PROGRAM DATABASE(DBXCWAV) function dbxcwav % Pembuatan database ekstraksi ciri wavelet % Variasi database untuk citra masukan 128x64 % Ukuran citra masukan 32x16 piksel % dengan variasi desimasi 1-5 z=[];
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI z=prosesxc(1,[64 128]); save dB1r64d1z z=prosesxc(2,[64 128]); save dB1r64d2z z=prosesxc(3,[64 128]); save dB1r64d3z z=prosesxc(4,[64 128]); save dB1r64d4z z=prosesxc(5,[64 128]); save dB1r64d5z %z=prosesxc(6,[64 128]); save dB1r64d6
; ; ; ; ; z
L13
z=[]; z=[]; z=[]; z=[]; z=[]; ;
% =============================================== % Internal Function % =============================================== function z=prosesxc(des,rz) z=[]; x=imread('1ha.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ha5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ha5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ha10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ha10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ha90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ha95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ha105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ha110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1na.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1na5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1na5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1na10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1na10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1na90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1na95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1na105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1na110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ca.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ca5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ca5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ca10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ca10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ca90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ca95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ca105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ca110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ra.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ra5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ra5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ra10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ra10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ra90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ra95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ra105skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:);z=[z y]; x=imread('1ra110skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:);z=[z y]; x=imread('1ka.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ka5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ka5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ka10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ka10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ka90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y];
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L14
x=imread('1ka95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ka105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('1ka110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2da.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2da5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2da5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2da10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2da10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2da90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2da95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2da105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2da110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2ta.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2ta5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2ta5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2ta10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2ta10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2ta90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2ta95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2ta105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2ta110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2sa.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2sa5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2sa5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2sa10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2sa10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2sa90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2sa95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2sa105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2sa110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2wa.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2wa5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2wa5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2wa10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2wa10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2wa90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2wa95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2wa105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2wa110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2la.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2la5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2la5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2la10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2la10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2la90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2la95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2la105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('2la110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3pa.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3pa5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3pa5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3pa10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3pa10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y];
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI x=imread('3pa90skl.jpg'); x=prepro(x,rz); x=imread('3pa95skl.jpg'); x=prepro(x,rz); x=imread('3pa105skl.jpg');x=prepro(x,rz); x=imread('3pa110skl.jpg');x=prepro(x,rz);
y=xcwav2(x,des); y=xcwav2(x,des); y=xcwav2(x,des); y=xcwav2(x,des);
y=y(:); y=y(:); y=y(:); y=y(:);
L15 z=[z z=[z z=[z z=[z
y]; y]; y]; y];
x=imread('3dha.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3dha5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3dha5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3dha10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3dha10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3dha90skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3dha95skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3dha105skl.jpg');x=prepro(x,rz);y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3dha110skl.jpg');x=prepro(x,rz);y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ja.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ja5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ja5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ja10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ja10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ja90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ja95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ja105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ja110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ya.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ya5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ya5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ya10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ya10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ya90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ya95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ya105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3ya110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3nya.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3nya5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3nya5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3nya10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3nya10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3nya90skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3nya95skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3nya105skl.jpg');x=prepro(x,rz);y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('3nya110skl.jpg');x=prepro(x,rz);y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ma.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ma5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ma5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ma10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ma10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ma90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ma95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ma105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ma110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ga.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ga5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ga5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ga10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y];
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L16
x=imread('4ga10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ga90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ga95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ga105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ga110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ba.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ba5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ba5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ba10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ba10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ba90skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ba95skl.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ba105skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4ba110skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4tha.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4tha5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4tha5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4tha10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4tha10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4tha90skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4tha95skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4tha105skl.jpg');x=prepro(x,rz);y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4tha110skl.jpg');x=prepro(x,rz);y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4nga.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4nga5m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4nga5p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4nga10m.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4nga10p.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4nga90skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4nga95skl.jpg');x=prepro(x,rz); y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4nga105skl.jpg');x=prepro(x,rz);y=xcwav2(x,des); y=y(:); z=[z y]; x=imread('4nga110skl.jpg');x=prepro(x,rz);y=xcwav2(x,des); y=y(:); z=[z y];
% =============================================== function x3=prepro(x0,rz) % Preprocessing % ------------% Konversi rgb ke gray x1=double(rgb2gray(x0)); % Normalisasi mx1=max(x1(:)); x2=x1/mx1; x2=1-x2; x3=imresize(x2,rz);
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI LISTING PROGRAM XCWAV2 function x3=xcwav2(x0,m) % Ekstraksi ciri wavelet 2D untuk citra for k=1:m x1=convx2(x0); x2=subsampling(x1); x0=x2; end x3=x0; % ======================================== % Internal function % ======================================== function y=convx2(x) % Proses konvolusi 2D LPF=[0.7071 0.7071]; [b,k]=size(x);
% Haar wavelet LO_D
% Konvolusi baris for m=1:b x0=x(m,:); x(m,:)=convx(x0,LPF); end %Konvolusi kolom for m=1:k x0=x(:,m); x(:,m)=convx(x0',LPF)'; end y=x; % ======================================== function y = convx(x,LPF) % Proses konvolusi dengan ekstensi sinyal % Catatan: Jumlah koef. LPF harus genap lx = length(x); lf = length(LPF); % Ekstensi sinyal batas=lf/2; kiri=x(lx-batas+1:lx); kanan=x(1:batas); x=[kiri x kanan]; % Konvolusi y=conv(x,LPF); % Keluarkan yang perlu awal=lf+1; akhir=awal+lx-1; y=y(awal:akhir); % ======================================== function y=subsampling(x)
L17
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI % Proses subsampling yang mempertahankan % koefisien genap [b,k]=size(x); % Subsampling baris m=1:2:b; x(m,:)=[]; % Subsampling kolom m=1:2:k; x(:,m)=[]; y=x; % ========================================
LISTING PROGRAM JARAK function z=jarak(x,y) % Hitung jarak Euclidean z=sqrt(sum((x-y).^2));
L18
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L19
HASIL PERSENTASE PENGUJIAN SECARA REAL TIME a. Percobaan 1 resizing 64x128 piksel Rotasi
Penskalaan
Desi masi
-10o
-5o
0o
5o
10o
90%
95%
100 %
105%
110%
1
100 % 95%
100 % 95%
100%
100%
100%
45%
45%
55%
100 % 100 % 100 % 60%
100%
95%
100 % 100 % 90%
100%
95%
100 % 100 % 100 % 50%
100%
100 % 60%
100 % 100 % 100 % 60%
100 % 95%
4
100 % 100 % 100 % 65%
60%
85%
5
15%
15%
20%
20%
20%
10%
10%
20%
20%
30%
o
90%
Penskalaan 95% 100 105% %
110%
95%
95%
95%
95%
100 % 95%
60% 15%
55% 15%
60% 10%
2 3
JUMLAH 100 % 99% 98% 59% 18%
resizing 32x64piksel o
Desi masi
-10
1
100 % 100 % 65% 10%
2 3 4
-5
o
Rotasi 0o
100 % 100 % 55% 10%
100 % 100 % 50% 20%
5
o
10
100 % 100 % 60% 5%
100 % 100 % 50% 20%
100%
100%
100%
100%
65% 15%
70% 30%
110% 95%
JUMLAH 99% 99% 59% 15%
resizing 16x32 piksel o
Desi masi
-10
1
100 % 75% 10%
2 3
-5
o
90% 70% 10%
Rotasi 0o
5
90%
85%
70% 25%
o
55% 20%
o
90%
Penskalaan 95% 100 105% %
95%
85%
90%
10
50% 15%
65% 10%
70% 5%
90% 70% 25%
95% 70% 20%
60% 30%
Penskalaan 100 105% %
110%
JUMLAH 92% 66% 17%
resizing 8x16 piksel Desi masi
-10o
-5o
Rotasi 0o
5o
10o
90%
95%
1 2
55% 15%
60% 15%
70% 25%
65% 10%
60% 15%
55% 15%
65% 15%
70% 25%
70% 20%
80% 30%
JUMLAH 65% 19%
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L20
b. Percobaan 2 resizing 64x128 piksel Rotasi o
-5
o
Desi masi
-10
1
100%
85%
2
100%
85%
0
o
Penskalaan 5
o
10
o
90%
95%
100% 100% 100%
85%
100% 100% 100%
3
105%
110%
100% 100%
100%
100%
JUMLAH 97%
95%
100% 100%
100%
100%
98%
100% 100% 100% 100% 100%
95%
100% 100%
100%
100%
100 %
4
100%
85%
75%
100% 100%
75%
75%
75%
95%
95%
88%
5
30%
30%
45%
45%
15%
30%
45%
30%
35%
39%
90%
Penskalaan 95% 100 105% %
110%
85%
100 %
resizing 32x64piksel o
-5
o
Rotasi 0o
5
o
10
o
Desi masi
-10
1
90%
85%
95%
95%
100%
95%
100%
95%
100%
100%
JUMLAH 96%
2
90%
100% 100%
95%
100%
95%
100% 100%
95%
100%
98%
3
95%
90%
80%
95%
100%
85%
75%
80%
95%
90%
89%
4
30%
40%
40%
35%
90%
15%
30%
40%
40%
35%
40%
90%
Penskalaan 95% 100 105% %
110%
resizing 16x32 piksel o
-5
o
Rotasi 0o
5
o
10
o
Desi masi
-10
1
90%
90%
95%
90%
100% 100%
95%
95%
95%
95%
JUMLAH 95%
2
95%
80%
85%
90%
100%
75%
70%
85%
90%
85%
86%
3
40%
50%
35%
45%
80%
20%
30%
35%
40%
40%
42%
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L21
resizing 8x16 piksel o
-5
o
Rotasi 0o
5
o
10
o
90%
Penskalaan 95% 100 105% %
110%
Desi masi
-10
1
90%
80%
85%
85% 100%
95%
80%
85%
85%
75%
JUMLAH 86%
2
40%
65%
50%
55%
20%
25%
50%
35%
45%
46%
75%
c. Percobaan 3 resizing 64x128 piksel Rotasi o
-5
o
0
o
Penskalaan 5
o
Desi masi
-10
1
100%
90%
90%
85%
2
100%
90%
95%
3
100%
85%
4
95%
5
30%
10
o
90%
95%
100 %
105%
110%
100%
75%
80%
90%
90%
90%
JUMLAH 89%
85%
95%
90%
80%
95%
95%
95%
92%
90%
95%
90%
85%
90%
90%
95%
90%
91%
85%
90%
85%
80%
70%
75%
90%
90%
90%
85%
45%
60%
65%
50%
25%
25%
60%
65%
75%
50%
o
90%
Penskalaan 95% 100 105% %
110%
resizing 32x64piksel o
-5
o
Rotasi 0o
5
o
Desi masi
-10
10
1
95%
90%
95%
80%
95%
95%
85%
95%
95%
95%
JUMLAH 92%
2
95%
90%
90%
60%
90%
90%
90%
90%
90%
90%
88%
3
95%
80%
95%
90%
85%
80%
85%
95%
85%
70%
86%
4
25%
50%
50%
35%
40%
15%
25%
50%
55%
45%
39%
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L22
resizing 16x32 piksel o
-5
o
Rotasi 0o
5
o
10
o
90%
Penskalaan 95% 100 105% %
110%
Desi masi
-10
1
95%
90%
80%
90%
95%
95%
75%
80%
90%
90%
JUMLAH 88%
2
85%
75%
85%
85%
85%
90%
70%
85%
85%
85%
83%
3
30%
55%
60%
40%
25%
25%
20%
60%
40%
40%
40%
o
o
90%
Penskalaan 95% 100 105% %
110%
resizing 8x16 piksel o
-5
o
Rotasi 0o
5
Desi masi
-10
10
1
100%
85%
75%
85%
85%
85%
60%
75%
95%
85%
JUMLAH 83%
2
30%
45%
55%
35%
40%
30%
20%
55%
50%
55%
42%
d. Percobaan 4 resizing 64x128 piksel Rotasi
Penskalaan
Desi masi
-10o
-5o
0o
5o
10o
90%
95%
100 %
105%
110%
1
100%
95%
100%
95%
90%
90%
95%
100%
100%
100%
JUMLAH 97%
2
100%
85%
100%
90%
95%
95%
90%
100%
90%
100%
95%
3
90%
90%
100% 100% 100%
90%
95%
100%
90%
100%
96%
4
50%
85%
90%
85%
75%
70%
65%
90%
75%
85%
77%
5
30%
25%
55%
25%
35%
25%
30%
55%
40%
35%
36%
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L23
resizing 32x64piksel o
-5
o
Rotasi 0o
5
o
10
o
90%
Penskalaan 95% 100 105% %
110%
Desi masi
-10
1
100%
95%
95%
95%
100%
####
90%
95%
90%
100%
JUMLAH 96%
2
85%
90%
95%
95%
90%
90%
90%
95%
85%
90%
91%
3
45%
75%
100%
85%
70%
70%
75%
100%
75%
80%
78%
4
30%
30%
60%
25%
30%
20%
30%
60%
40%
40%
37%
Penskalaan 100 105% %
110%
resizing 16x32 piksel Desi masi
-10o
-5o
Rotasi 0o
5o
10o
90%
95%
1
95%
90%
100%
90%
90%
95%
85%
100%
95%
100%
JUMLAH 94%
2
65%
75%
85%
85%
70%
80%
70%
85%
75%
75%
77%
3
30%
25%
50%
20%
30%
20%
35%
50%
40%
35%
34%
o
o
90%
Penskalaan 95% 100 105% %
110%
resizing 8x16 piksel o
-5
o
Rotasi 0o
5
Desi masi
-10
10
1
70%
70%
85%
85%
75%
70%
70%
85%
85%
80%
JUMLAH 78%
2
20%
30%
80%
50%
30%
20%
25%
80%
40%
35%
41%
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L24
e. Percobaan 5 resizing 64x128 piksel Rotasi o
-5
o
0
o
Penskalaan 5
o
10
o
Desi masi
-10
90%
95%
100 %
105%
110%
95%
100%
95%
100%
95%
JUMLAH 97%
1
95%
100%
95%
95%
100%
2
95%
95%
95%
90%
100% 100% 100%
95%
100%
100%
97%
3
100%
90%
95%
85%
95%
85%
90%
95%
90%
100%
93%
4
80%
60%
85%
70%
60%
75%
65%
85%
75%
90%
75%
5
30%
40%
55%
20%
35%
20%
35%
55%
25%
35%
35%
10o
90%
Penskalaan 95% 100 105% %
110 %
resizing 32x64piksel Desi masi
-10o
-5o
Rotasi 0o
5o
1
95%
95%
100%
95%
100% 100%
95%
100%
100%
95%
JUMLAH 98%
2
90%
85%
85%
90%
90%
85%
90%
85%
90%
85%
88%
3
75%
90%
75%
60%
75%
80%
75%
75%
75%
85%
77%
4
30%
20%
40%
25%
30%
20%
35%
40%
20%
30%
29%
o
90%
Penskalaan 95% 100 105% %
110%
resizing 16x32 piksel Desi masi
-10
o
-5
o
Rotasi 0o
5
o
10
1
100% 100%
85%
95%
95%
95%
90%
85%
90%
100%
JUMLAH 94%
2
70%
65%
85%
65%
70%
70%
65%
85%
65%
80%
72%
3
35%
35%
40%
25%
40%
20%
25%
40%
30%
35%
33%
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L25
resizing 8x16 piksel o
-5
o
Rotasi 0o
5
o
10
o
90%
Penskalaan 95% 100 105% %
110%
Desi masi
-10
1
70%
85%
60%
35%
70%
80%
65%
60%
70%
80%
JUMLAH 68%
2
25%
30%
40%
10%
35%
15%
20%
40%
30%
25%
27%
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L26
HASIL PERSENTASE PENGUJIAN SECARA REAL TIME(resizing 32x64, desimasi 2) Tabel 1 Data hasil percobaan 1 a. Pengujian dengan citra masukan dan database sama Resizing 32x64, desimasi 2 Rotasi Penskalaan derajat(°) presentase skala(%) persentase -10 100% 90 95% -5 100% 95 100% 0 100% 100 100% 5 95% 105 100% 10 95% 110 100% JUMLAH RATAJUMLAH RATARATA 98% RATA 99%
b. Pengujian dengan citra masukan berbeda dengan database Resizing 32x64, desimasi 2 Rotasi Penskalaan Persentase derajat(°) Presentase skala(%) -2,5 90% 92,5 90% -7,5 90% 97,5 95% 2,5 95% 102,5 100% 7,5 95% 107,5 100% JUMLAH RATAJUMLAH RATARATA 93% RATA 96%
Tabel 2 Data hasil percobaan 2 a. Pengujian dengan citra masukan dan database sama Resizing 32x64, desimasi 2 Rotasi derajat(°) -10 -5 0 5 10 JUMLAH RATA-RATA
presentase 90% 100% 100% 95% 100% 97%
Penskalaan skala(%) persentase 90 95% 95 100% 100 100% 105 95% 110 100% JUMLAH RATA-RATA 98%
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI b. Pengujian dengan citra masukan berbeda dengan database Resizing 32x64, desimasi 2 Rotasi Penskalaan Persentase derajat(°) Presentase skala(%) -2,5 95% 92,5 90% -7,5 95% 97,5 90% 2,5 100% 102,5 95% 7,5 90% 107,5 95% JUMLAH RATAJUMLAH RATARATA 95% RATA 93%
Tabel 3 Data hasil percobaan 3 a. Pengujian dengan citra masukan dan database sama Resizing 32x64, desimasi 2 Rotasi Penskalaan derajat(°) presentase skala(%) persentase -10 95% 90 90% -5 90% 95 90% 0 90% 100 90% 5 60% 105 90% 10 90% 110 90% JUMLAH RATAJUMLAH RATARATA 85% RATA 90%
b. Pengujian dengan citra masukan berbeda dengan database Resizing 32x64, desimasi 2 Rotasi Penskalaan Persentase derajat(°) Presentase skala(%) -2,5 85% 92,5 80% -7,5 90% 97,5 85% 2,5 90% 102,5 80% 7,5 85% 107,5 75% JUMLAH RATAJUMLAH RATARATA 88% RATA 80%
L27
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Tabel 4 Data hasil percobaan 4 a. Pengujian dengan citra masukan dan database sama Resizing 32x64, desimasi 2 Rotasi Penskalaan derajat(°) presentase skala(%) persentase -10 85% 90 90% -5 90% 95 90% 0 95% 100 95% 5 95% 105 85% 10 90% 110 90% JUMLAH RATAJUMLAH RATARATA 91% RATA 90%
b. Pengujian dengan citra masukan berbeda dengan database Resizing 32x64, desimasi 2 Rotasi Penskalaan Persentase derajat(°) Presentase skala(%) -2,5 100% 92,5 90% -7,5 85% 97,5 90% 2,5 90% 102,5 95% 7,5 90% 107,5 100% JUMLAH RATAJUMLAH RATARATA 91% RATA 94%
Tabel 5 Data hasil percobaan 5 a. Pengujian dengan citra masukan dan database sama Resizing 32x64, desimasi 2 Rotasi Penskalaan derajat(°) presentase skala(%) persentase -10 90% 90 85% -5 85% 95 90% 0 85% 100 85% 5 90% 105 90% 10 90% 110 85% JUMLAH RATAJUMLAH RATARATA 88% RATA 87%
L28
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI b. Pengujian dengan citra masukan berbeda dengan database Resizing 32x64, desimasi 2 Rotasi Penskalaan Persentase derajat(°) Presentase skala(%) -2,5 95% 92,5 90% -7,5 85% 97,5 90% 2,5 85% 102,5 90% 7,5 85% 107,5 100% JUMLAH RATAJUMLAH RATARATA 88% RATA 93%
L29
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L30
HASIL PERSENTASE PENGUJIAN SECARA REAL TIME(keseluruhan) Tabel 6 Jumlah rata-rata persentase hasil percobaan 1 Resizing 32x64, desimasi 2 Variasi rotasi dan skala persentase -10 100% -5 100% rotasi 0 100% 5 95% 10 95% 90 95% 95 100% skala 100 100% 105 100% 110 100% jumlah rata-rata 99%
(a)
Resizing 32x64, desimasi 2 Variasi rotasi dan skala persentase -2,5 90% -7,5 90% rotasi 2,5 95% 7,5 95% 92,5 90% 97,5 95% skala 102,5 100% 107,5 100% jumlah rata-rata 94%
(b)
Tabel 7 Jumlah rata-rata persentase hasil percobaan 2 Resizing 32x64, desimasi 2 Variasi rotasi dan skala persentase 90% -10 100% -5 100% rotasi 0 95% 5 100% 10 95% 90 100% 95 100% skala 100 95% 105 100% 110 98% jumlah rata-rata
Resizing 32x64, desimasi 2 Variasi rotasi dan skala persentase 95% -2,5 95% -7,5 rotasi 100% 2,5 90% 7,5 90% 92,5 90% 97,5 skala 95% 102,5 95% 107,5 jumlah rata-rata 94%
(a)
(b)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Tabel 8 Jumlah rata-rata persentase hasil percobaan 3 Resizing 32x64, desimasi 2 Variasi rotasi dan skala persentase 95% -10 90% -5 90% rotasi 0 60% 5 90% 10 90% 90 90% 95 90% skala 100 90% 105 90% 110 88% jumlah rata-rata
(a)
Resizing 32x64, desimasi 2 Variasi rotasi dan skala persentase 85% -2,5 90% -7,5 rotasi 90% 2,5 85% 7,5 80% 92,5 85% 97,5 skala 80% 102,5 75% 107,5 jumlah rata-rata 84%
(b)
Tabel 9 Jumlah rata-rata persentase hasil percobaan 4 Resizing 32x64, desimasi 2 Variasi rotasi dan skala persentase 85% -10 -5 90% rotasi 0 95% 5 95% 10 90% 90 90% 95 90% skala 100 95% 105 85% 110 90% 91% jumlah rata-rata
(a)
Resizing 32x64, desimasi 2 Variasi rotasi dan skala persentase -2,5 100% -7,5 85% rotasi 2,5 90% 7,5 90% 92,5 90% 97,5 90% skala 102,5 95% 107,5 100% jumlah rata-rata 93%
(b)
L31
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Tabel 10 Jumlah rata-rata persentase hasil percobaan 5 Resizing 32x64, desimasi 2 Variasi rotasi dan skala persentase -10 90% -5 85% rotasi 0 85% 5 90% 10 90% 90 85% 95 90% skala 100 85% 105 90% 110 85% 88% jumlah rata-rata
(a)
Resizing 32x64, desimasi 2 Variasi rotasi dan skala persentase -2,5 95% -7,5 85% rotasi 2,5 85% 7,5 85% 92,5 90% 97,5 90% skala 102,5 90% 107,5 100% jumlah rata-rata 90%
(b)
L32
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L33
LISTING PROGRAM SECARA TIDAK REAL TIME function kenalwav2 % Citra masukan r2k5p={'1ha2k5p.jpg';'1na2k5p.jpg';'1ca2k5p.jpg';'1ra2k5p.jpg';... '1ka2k5p.jpg';'2da2k5p.jpg';'2ta2k5p.jpg';'2sa2k5p.jpg';'2wa2k5p.jpg';... '2la2k5p.jpg';'3pa2k5p.jpg';'3dha2k5p.jpg';'3ja2k5p.jpg';... '3ya2k5p.jpg';'3nya2k5p.jpg';'4ma2k5p.jpg';'4ga2k5p.jpg';... '4ba2k5p.jpg';'4tha2k5p.jpg';'4nga2k5p.jpg'}; r2k5m={'1ha2k5m.jpg';'1na2k5m.jpg';'1ca2k5m.jpg';'1ra2k5m.jpg';... '1ka2k5m.jpg';'2da2k5m.jpg';'2ta2k5m.jpg';'2sa2k5m.jpg';... '2wa2k5m.jpg';'2la2k5m.jpg';'3pa2k5m.jpg';'3dha2k5m.jpg';... '3ja2k5m.jpg';'3ya2k5m.jpg';'3nya2k5m.jpg';'4ma2k5m.jpg';... '4ga2k5m.jpg';'4ba2k5m.jpg';'4tha2k5m.jpg';'4nga2k5m.jpg'}; r7k5p={'1ha7k5p.jpg';'1na7k5p.jpg';'1ca7k5p.jpg';'1ra7k5p.jpg';... '1ka7k5p.jpg';'2da7k5p.jpg';'2ta7k5p.jpg';'2sa7k5p.jpg';... '2wa7k5p.jpg';'2la7k5p.jpg';'3pa7k5p.jpg';'3dha7k5p.jpg';... '3ja7k5p.jpg';'3ya7k5p.jpg';'3nya7k5p.jpg';'4ma7k5p.jpg';... '4ga7k5p.jpg';'4ba7k5p.jpg';'4tha7k5p.jpg';'4nga7k5p.jpg'}; r7k5m={'1ha7k5m.jpg';'1na7k5m.jpg';'1ca7k5m.jpg';'1ra7k5m.jpg';... '1ka7k5m.jpg';'2da7k5m.jpg';'2ta7k5m.jpg';'2sa7k5m.jpg';... '2wa7k5m.jpg';'2la7k5m.jpg';'3pa7k5m.jpg';'3dha7k5m.jpg';... '3ja7k5m.jpg';'3ya7k5m.jpg';'3nya7k5m.jpg';'4ma7k5m.jpg';... '4ga7k5m.jpg';'4ba7k5m.jpg';'4tha7k5m.jpg';'4nga7k5m.jpg'}; s92k5={'1ha92k5skl.jpg';'1na92k5skl.jpg';'1ca92k5skl.jpg';... '1ra92k5skl.jpg';'1ka92k5skl.jpg';'2da92k5skl.jpg';'2ta92k5skl.jpg';... '2sa92k5skl.jpg';'2wa92k5skl.jpg';'2la92k5skl.jpg';'3pa92k5skl.jpg';... '3dha92k5skl.jpg';'3ja92k5skl.jpg';'3ya92k5skl.jpg';'3nya92k5skl.jpg';... '4ma92k5skl.jpg';'4ga92k5skl.jpg';'4ba92k5skl.jpg';'4tha92k5skl.jpg';... '4nga92k5skl.jpg'}; s97k5={'1ha97k5skl.jpg';'1na97k5skl.jpg';'1ca97k5skl.jpg';... '1ra97k5skl.jpg';'1ka97k5skl.jpg';'2da97k5skl.jpg';'2ta97k5skl.jpg';... '2sa97k5skl.jpg';'2wa97k5skl.jpg';'2la97k5skl.jpg';'3pa97k5skl.jpg';... '3dha97k5skl.jpg';'3ja97k5skl.jpg';'3ya97k5skl.jpg';'3nya97k5skl.jpg';... '4ma97k5skl.jpg';'4ga97k5skl.jpg';'4ba97k5skl.jpg';'4tha97k5skl.jpg';... '4nga97k5skl.jpg'}; s102k5={'1ha102k5skl.jpg';'1na102k5skl.jpg';'1ca102k5skl.jpg';... '1ra102k5skl.jpg';'1ka102k5skl.jpg';'2da102k5skl.jpg';... '2ta102k5skl.jpg';'2sa102k5skl.jpg';'2wa102k5skl.jpg';... '2la102k5skl.jpg';'3pa102k5skl.jpg';'3dha102k5skl.jpg';... '3ja102k5skl.jpg';'3ya102k5skl.jpg';'3nya102k5skl.jpg';... '4ma102k5skl.jpg';'4ga102k5skl.jpg';'4ba102k5skl.jpg';... '4tha102k5skl.jpg';'4nga102k5skl.jpg'}; s107k5={'1ha107k5skl.jpg';'1na107k5skl.jpg';'1ca107k5skl.jpg';... '1ra107k5skl.jpg';'1ka107k5skl.jpg';'2da107k5skl.jpg';... '2ta107k5skl.jpg';'2sa107k5skl.jpg';'2wa107k5skl.jpg';... '2la107k5skl.jpg';'3pa107k5skl.jpg';'3dha107k5skl.jpg';... '3ja107k5skl.jpg';'3ya107k5skl.jpg';'3nya107k5skl.jpg';... '4ma107k5skl.jpg';'4ga107k5skl.jpg';'4ba107k5skl.jpg';... '4tha107k5skl.jpg';'4nga107k5skl.jpg'};
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L34
[hasilr2k5p,kenalr2k5p]=proses(r2k5p) [hasilr2k5m,kenalr2k5m]=proses(r2k5m) [hasilr7k5p,kenalr7k5p]=proses(r7k5p) [hasilr7k5m,kenalr7k5m]=proses(r7k5m) [hasils92k5,kenals92k5]=proses(s92k5) [hasils97k5,kenals97k5]=proses(s97k5) [hasils102k5,kenals102k5]=proses(s102k5) [hasils107k5,kenals107k5]=proses(s107k5) kenalall=+kenalr2k5p+kenalr2k5m+kenalr7k5p+kenalr7k5m+kenals92k5+kenals97k5 +kenals102k5+kenals107k5; kenalall=kenalall/8 function [hasil,percent]=proses(n) % Citra masukan x1=imread(n{1});[h1,k1]=kenal(x1,1); x1=imread(n{2});[h2,k2]=kenal(x1,2); x1=imread(n{3});[h3,k3]=kenal(x1,3); x1=imread(n{4});[h4,k4]=kenal(x1,4); x1=imread(n{5});[h5,k5]=kenal(x1,5); x1=imread(n{6});[h6,k6]=kenal(x1,6); x1=imread(n{7});[h7,k7]=kenal(x1,7); x1=imread(n{8});[h8,k8]=kenal(x1,8); x1=imread(n{9});[h9,k9]=kenal(x1,9); x1=imread(n{10});[h10,k10]=kenal(x1,10); x1=imread(n{11});[h11,k11]=kenal(x1,11); x1=imread(n{12});[h12,k12]=kenal(x1,12); x1=imread(n{13});[h13,k13]=kenal(x1,13); x1=imread(n{14});[h14,k14]=kenal(x1,14); x1=imread(n{15});[h15,k15]=kenal(x1,15); x1=imread(n{16});[h16,k16]=kenal(x1,16); x1=imread(n{17});[h17,k17]=kenal(x1,17); x1=imread(n{18});[h18,k18]=kenal(x1,18); x1=imread(n{19});[h19,k19]=kenal(x1,19); x1=imread(n{20});[h20,k20]=kenal(x1,20);
hasil=[h1(1) h2(1) h3(1) h4(1) h5(1) h6(1) h7(1) h8(1) h9(1) h10(1)... h11(1) h12(1) h13(1) h14(1) h15(1) h16(1) h17(1) h18(1) h19(1) h20(1)];
k=k1+k2+k3+k4+k5+k6+k7+k8+k9+k10+k11+k12+k13+k14+k15+k16+k17+k18+k19+k20; percent=(k/20)*100; function [hasil,k2]=kenal(x1,k1) % Preprosesing dan ekstraksi ciri % Preprocessing % ------------% Konversi rgb ke gray x0=double(rgb2gray(x1)); mx0=max(x0(:)); x2=x0/mx0; x2=1-x2; x3=imresize(x2,[32 64]); x2=xcwav2(x3,2);
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI % Load database load dB1r32d2 x2=x2(:); %untuk 180 macam variasi potongan huruf jawa for n=1:180 % Hitung jarak y(n)=jarak(x2,z(:,n)); end y; k=1; % k pada knn m=9; % Jumlah sampel per kelas [h1,h2]=sort(y,'ascend'); % x urut naik (fungsi jarak) kx=h1(1:k) % nilai min kn=h2(1:k); % Pilih k nearest neighbour hk=ceil(kn/m); % Penentuan kelas-kelas yang terpilih a=mode(hk); % Pilih kelas yang paling sering muncul k2=0; if a==k1 k2=1; end % Deskripsi string s={'ha';'na';'ca';'ra';'ka';'da';'ta';'sa';'wa';'la'; 'pa';'dha';'ja';'ya';'nya';'ma';'ga';'ba';'tha';'nga'}; % Penentuan keluaran nilai minimum hasil=s(a);
L35