Pengenalan Huruf Hasil Dari Tulisan Tangan Menggunakan Algoritma Forward-Only Counter Propagation.
Universitas Kristen Maranatha
PENGENALAN HURUF HASIL DARI TULISAN TANGAN
MENGGUNAKAN ALGORITMA
FORWARD-ONLY COUNTER PROPAGATION
ABSTRAK
Gerald Patrick Siahainenia (0522128)
Jurusan Teknik Elektro Universitas Kristen Maranatha
email : gerald_patrick2000@yahoo.com
Penggunaan tulisan tangan masih dirasakan sangat efektif untuk membuat
suatu catatan atau laporan dengan waktu singkat, dibandingkan dengan menggunakan
komputer atau perangkat teknologi lainnya. Tulisan tangan diubah kedalam bentuk
dijital sudah banyak digunakan pada perangkat-perangkat teknologi saat ini. Salah
satu metode untuk pengenalan tulisan tangan yang paling populer saat ini digunakan
adalah dengan menggunakan jaringan saraf tiruan. Jaringan saraf tiruan adalah
merupakan sistem pemrosesan informasi yang dapat digunakan untuk dapat
mengenali berbagai macam bentuk pola dari sebuah citra, salah satunya adalah
pengenalan huruf.
Pada Tugas Akhir ini, dirancang dan direalisasikan sebuah perangkat
lunak untuk mengenali huruf
–
huruf hasil tulisan tangan (A-Z huruf kapital dan
huruf kecil) dengan menggunakan jaringan saraf tiruan khususnya algoritma
Forward-Only Counter Propagation
. Perangkat lunak direalisasikan dengan
menggunakan MATLAB 6.5.1.
Dari Tugas Akhir ini, perangkat lunak pengenalan tulisan tangan berhasil
direalisakan dan diperoleh rata - rata keberhasilan pengenalan huruf hasil tulisan
tangan dari seluruh percobaan adalah 76.66% untuk huruf kapital dan 61.19% untuk
huruf kecil. Total keberhasilan untuk pengenalan huruf hasil dari tulisan tangan
adalah 68.92%.
Kata kunci : Forward-only Counter Propagation, Pengenalan Huruf, Jaringan
Saraf Tiruan
(2)
Universitas Kristen Maranatha
RECOGNITION OF HANDWRITING LETTER USING
FORWARD-ONLY COUNTER PROPAGATION ALGORTHM
ABSTRACT
Gerald Patrick Siahainenia(0522128)
Department of Electrical Engineering Maranatha Christian University
email : gerald_patrick2000@yahoo.com
The use of handwriting is still considered very effective for making a
notes or report on the short time, compared to using a computer or other
technological devices. Changed handwriting into digital form already used in the
devices today's technology. One method for handwriting recognition of the most
popular currently used is to use artificial neural networks. Neural network is an
information processing system that can be used for recognizing the various kinds of
patterns from an image, one of them is the introduction of the letter.
In this final project, designed and realized a software to recognize
handwriting letter (A - Z uppercase and lowercase letters) using an artificial neural
network algorithm particularly Forward-Only Counter Propagation. The software is
realized by using MATLAB 6.5.1
From this final project, recognition of handwriting software successfully
realized and obtained average result of the success recognition of handwritting letters
from all over the assaying is 76.66% for uppercase and 61.19% for lowercase. Total
success for the recognition of handwritting letters are the result of 68.92%.
Keyword: Forward-only Counter Propagation, Recognition Letter, Neural
Network
(3)
Universitas Kristen Maranatha
DAFTAR ISI
LEMBAR PENGESAHAN
PERNYATAAN PUBLIKASI LAPORAN TUGAS AKHIR
PERNYATAAN ORISINALITAS LAPORAN
ABSTRAK
... i
ABSTRACT
... ii
KATA PENGANTAR...
iii
DAFTAR ISI
... v
DAFTAR GAMBAR
... vii
DAFTAR TABEL
... viii
I. PENDAHULUAN
1.1 Latar Belakang... 1
1.2 Identifikasi Masalah... 1
1.3 Pembatasan Masalah... 2
1.4 Tujuan... 2
1.5 Sistematika Penulisan... 2
II. LANDASAN TEORI
2.1 Jaringan Syaraf Tiruan... 4
2.1.1 Arsitektur Jaringan Syaraf Tiruan... 7
2.1.2 Aplikasi Jaringan Syaraf Tiruan...
7
2.1.3 Metode Pembelajaran Jaringan Syaraf Tiruan... 8
2.1.4. Sum Square Error dan Root Mean Square Error... 9
2.2 Jaringan Foward Only Counter Propagation
………...
10
2.2.1 Algoritma Pelatihan Forward-Only Counter Propagation... 13
2.3 MATLAB... 15
2.3.1 Pengolahan Citra Digital Menggunakan MATLAB... 17
2.3.2 Membaca dan Menyimpan Citra... 17
(4)
Universitas Kristen Maranatha
2.3.4 Mengubah Ukuran Citra
…...
... 18
2.3.5 M-file Editor
…………..
... 19
2.3.6 Graphic User Interface... 20
III. PERANCANGAN PERANGKAT LUNAK
3.1 Arsitektur Perancangan
…..……..………..
... 22
3.2 Diagram Alir
…..……….………... 23
3.2.1 Diagram Alir Perangkat Lunak Secara Keseluruhan
………….... 23
3.2.2 Diagram Alir
Pemrosesan Awal Pada Citra….………
24
3.2.3 Diagram Alir
Pelatihan…..………..………….……… 26
3.2.4 Diagram Alir
Pengujian….………..………….……….... 30
3.3 Perancangan Antarmuka Pemakai (
User Interface)
... 31
IV. PENGUJIAN DAN DATA PENGAMATAN
4.1 Proses Pelatihan Data
……….. 32
4.2
Proses Pengujian Data………. 33
4.3 Analisa Data... 57
V. SIMPULAN DAN SARAN
V.1 Simpulan... 59
V.2 Saran...
60
DAFTAR PUSTAKA... 61
LAMPIRAN A PROGRAM MATLAB... A
LAMPIRAN B KUMPULAN CITRA
……… B
(5)
Universitas Kristen Maranatha
DAFTAR GAMBAR
Gambar 2.1 Jaringan Saraf Biologi pada Manusia...
………
... 4
Gambar 2.2 Jaringan Saraf Dengan Lapisan Tunggal... 5
Gambar 2.3 Jaringan Saraf Dengan Banyak Lapisan... 6
Gambar 2.4 Jaringan Saraf Dengan Lapisan Kompetitif... 7
Gambar 2.5 Arsitektur
Forward Only Counter Propagation
... 11
Gambar 2.6 Jaringan yang Akan Dihitung Menggunakan Matrik Jarak
Euclidean
14
Gambar 2.7 Window dalam Matlab... 16
Gambar 2.8 M-file Editor pada Matlab... 19
Gambar 2.9 Jendela GUI pada Matlab... 20
Gambar 2.10 Tampilan M-file GUI pada Matlab (GUIDE)... 21
Gambar 3.1 Perancangan Arsitektur
Forward Only Counter Propagation
…
.... 22
Gambar 3.2 Diagram Alir Perangkat Lunak Secara Keseluruhan...
23
Gambar 3.3 Diagram Alir Pemrosesan Awal Citra...
24
Gambar 3.4 Diagram Alir Pelatihan... 26
Gambar 3.5 Diagram Alir Pengujian... 30
Gambar 3.6 Rancangan Tampilan Program Menu Pelatihan dan Pengujian.... 31
Gambar 4.1 Grafik Hasil Pelatihan Huruf Kapital……….. 32
Gambar 4.2 Grafik Hasil Pelatihan Huruf Kecil………. 33
(6)
Universitas Kristen Maranatha
DAFTAR TABEL
Tabel 2.1
Fungsi penampil citra ... 18
Tabel 3.1
Penjelasan Rancangan Tampilan Program menu Pelatihan dan
Pengujian... 31
Tabel 4.1
Pelatihan huruf Kapital………. 32
Tabel 4.2
Pelatihan Huruf Kecil………... 33
Tabel 4.3
Hasil Pengujian Pada Huruf Kapital yang Pernah Dikenali…….
35
Tabel 4.4
Hasil Pengujian Pada Huruf Kecil yang Pernah Dikenali……… 44
Tabel 4.5
Hasil Pengujian Pada Huruf Kapital yang Belum Pernah Dikenali dan
Sama Dengan Data Uji…...………... 53
Tabel 4.6
Hasil Pengujian Pada Huruf Kecil yang Belum Pernah Dikenali dan
Sama Dengan DataUji……….…. 54
Tabel 4.7
Hasil Pengujian Pada Huruf Kapital yang Belum Pernah Dikenali 55
Tabel 4.8
Hasil Pengujian Pada Huruf Kecil yang Belum Pernah Dikenali 56
Tabel 4.9
Rangkuman Hasil
Pengujian……… 57
(7)
LAMPIRAN A
PROGRAM MATLAB
(8)
A-1
PROGRAM Membaca Huruf Kapital
clc clear all close all
% PREPROSESING PROGRAM A{1}=imread('marisca/A1marisca.bmp'); A{2}=imread('marisca/A2marisca.bmp'); A{3}=imread('marisca/A3marisca.bmp'); A{4}=imread('Ezer/A1Ezer.bmp'); A{5}=imread('Ezer/A2Ezer.bmp'); A{6}=imread('Ezer/A3Ezer.bmp'); A{7}=imread('Roy/A1Roy.bmp'); A{8}=imread('Roy/A2Roy.bmp'); A{9}=imread('Roy/A3Roy.bmp'); A{10}=imread('Edwin/A1Edwin.bmp'); A{11}=imread('Edwin/A2Edwin.bmp'); A{12}=imread('Edwin/A3Edwin.bmp'); A{13}=imread('Ryan/A1ryan.bmp'); A{14}=imread('Ryan/A2ryan.bmp'); A{15}=imread('Ryan/A3ryan.bmp'); for i1=1:15, ubahukuran{1,i1}=imresize(A{i1},[20 20]); ubahwarna{1,i1}=im2bw(ubahukuran{1,i1}); ubahbentuk{1,i1}=ubahwarna{1,i1}'; ubahbentuk{1,i1}=ubahbentuk{1,i1}(:); ubahbentuk{1,i1}=ubahbentuk{1,i1}'; end B{1}=imread('marisca/B1marisca.bmp'); B{2}=imread('marisca/B2marisca.bmp'); B{3}=imread('marisca/B3marisca.bmp'); B{4}=imread('Ezer/B1Ezer.bmp'); B{5}=imread('Ezer/B2Ezer.bmp'); B{6}=imread('Ezer/B3Ezer.bmp'); B{7}=imread('Roy/B1Roy.bmp'); B{8}=imread('Roy/B2Roy.bmp'); B{9}=imread('Roy/B3Roy.bmp'); B{10}=imread('Edwin/B1Edwin.bmp'); B{11}=imread('Edwin/B2Edwin.bmp'); B{12}=imread('Edwin/B3Edwin.bmp'); B{13}=imread('Ryan/B1ryan.bmp'); B{14}=imread('Ryan/B2ryan.bmp'); B{15}=imread('Ryan/B3ryan.bmp'); for i2=1:15, ubahukuran{2,i2}=imresize(B{i2},[20 20]); ubahwarna{2,i2}=im2bw(ubahukuran{2,i2}); ubahbentuk{2,i2}=ubahwarna{2,i2}'; ubahbentuk{2,i2}=ubahbentuk{2,i2}(:); ubahbentuk{2,i2}=ubahbentuk{2,i2}'; end C{1}=imread('marisca/C1marisca.bmp'); C{2}=imread('marisca/C2marisca.bmp'); C{3}=imread('marisca/C3marisca.bmp'); C{4}=imread('Ezer/C1Ezer.bmp'); C{5}=imread('Ezer/C2Ezer.bmp'); C{6}=imread('Ezer/C3Ezer.bmp'); C{7}=imread('Roy/C1Roy.bmp'); C{8}=imread('Roy/C2Roy.bmp'); C{9}=imread('Roy/C3Roy.bmp'); C{10}=imread('Edwin/C1Edwin.bmp'); C{11}=imread('Edwin/C2Edwin.bmp'); C{12}=imread('Edwin/C3Edwin.bmp'); C{13}=imread('Ryan/C1ryan.bmp'); C{14}=imread('Ryan/C2ryan.bmp'); C{15}=imread('Ryan/C3ryan.bmp'); for i3=1:15, ubahukuran{3,i3}=imresize(C{i3},[20 20]); ubahwarna{3,i3}=im2bw(ubahukuran{3,i3}); ubahbentuk{3,i3}=ubahwarna{3,i3}'; ubahbentuk{3,i3}=ubahbentuk{3,i3}(:); ubahbentuk{3,i3}=ubahbentuk{3,i3}'; end D{1}=imread('marisca/D1marisca.bmp'); D{2}=imread('marisca/D2marisca.bmp'); D{3}=imread('marisca/D3marisca.bmp'); D{4}=imread('Ezer/D1Ezer.bmp'); D{5}=imread('Ezer/D2Ezer.bmp'); D{6}=imread('Ezer/D3Ezer.bmp'); D{7}=imread('Roy/D1Roy.bmp'); D{8}=imread('Roy/D2Roy.bmp'); D{9}=imread('Roy/D3Roy.bmp'); D{10}=imread('Edwin/D1Edwin.bmp'); D{11}=imread('Edwin/D2Edwin.bmp'); D{12}=imread('Edwin/D3Edwin.bmp'); D{13}=imread('Ryan/D1ryan.bmp'); D{14}=imread('Ryan/D2ryan.bmp'); D{15}=imread('Ryan/D3ryan.bmp'); for i4=1:15, ubahukuran{4,i4}=imresize(D{i4},[20 20]); ubahwarna{4,i4}=im2bw(ubahukuran{4,i4}); ubahbentuk{4,i4}=ubahwarna{4,i4}'; ubahbentuk{4,i4}=ubahbentuk{4,i4}(:); ubahbentuk{4,i4}=ubahbentuk{4,i4}'; end E{1}=imread('marisca/E1marisca.bmp'); E{2}=imread('marisca/E2marisca.bmp'); E{3}=imread('marisca/E3marisca.bmp'); E{4}=imread('Ezer/E1Ezer.bmp');
(9)
A-2
E{5}=imread('Ezer/E2Ezer.bmp'); E{6}=imread('Ezer/E3Ezer.bmp'); E{7}=imread('Roy/E1Roy.bmp'); E{8}=imread('Roy/E2Roy.bmp'); E{9}=imread('Roy/E3Roy.bmp'); E{10}=imread('Edwin/E1Edwin.bmp'); E{11}=imread('Edwin/E2Edwin.bmp'); E{12}=imread('Edwin/E3Edwin.bmp'); E{13}=imread('Ryan/E1ryan.bmp'); E{14}=imread('Ryan/E2ryan.bmp'); E{15}=imread('Ryan/E3ryan.bmp'); for i5=1:15, ubahukuran{5,i5}=imresize(E{i5},[20 20]); ubahwarna{5,i5}=im2bw(ubahukuran{5,i5}); ubahbentuk{5,i5}=ubahwarna{5,i5}'; ubahbentuk{5,i5}=ubahbentuk{5,i5}(:); ubahbentuk{5,i5}=ubahbentuk{5,i5}'; end F{1}=imread('marisca/F1marisca.bmp'); F{2}=imread('marisca/F2marisca.bmp'); F{3}=imread('marisca/F3marisca.bmp'); F{4}=imread('Ezer/F1Ezer.bmp'); F{5}=imread('Ezer/F2Ezer.bmp'); F{6}=imread('Ezer/F3Ezer.bmp'); F{7}=imread('Roy/F1Roy.bmp'); F{8}=imread('Roy/F2Roy.bmp'); F{9}=imread('Roy/F3Roy.bmp'); F{10}=imread('Edwin/F1Edwin.bmp'); F{11}=imread('Edwin/F2Edwin.bmp'); F{12}=imread('Edwin/F3Edwin.bmp'); F{13}=imread('Ryan/F1ryan.bmp'); F{14}=imread('Ryan/F2ryan.bmp'); F{15}=imread('Ryan/F3ryan.bmp'); for i6=1:15, ubahukuran{6,i6}=imresize(F{i6},[20 20]); ubahwarna{6,i6}=im2bw(ubahukuran{6,i6}); ubahbentuk{6,i6}=ubahwarna{6,i6}'; ubahbentuk{6,i6}=ubahbentuk{6,i6}(:); ubahbentuk{6,i6}=ubahbentuk{6,i6}'; end G{1}=imread('marisca/G1marisca.bmp'); G{2}=imread('marisca/G2marisca.bmp'); G{3}=imread('marisca/G3marisca.bmp'); G{4}=imread('Ezer/G1Ezer.bmp'); G{5}=imread('Ezer/G2Ezer.bmp'); G{6}=imread('Ezer/G3Ezer.bmp'); G{7}=imread('Roy/G1Roy.bmp'); G{8}=imread('Roy/G2Roy.bmp'); G{9}=imread('Roy/G3Roy.bmp'); G{10}=imread('Edwin/G1Edwin.bmp'); G{11}=imread('Edwin/G2Edwin.bmp'); G{12}=imread('Edwin/G3Edwin.bmp'); G{13}=imread('Ryan/G1ryan.bmp'); G{14}=imread('Ryan/G2ryan.bmp'); G{15}=imread('Ryan/G3ryan.bmp'); for i7=1:15, ubahukuran{7,i7}=imresize(G{i7},[20 20]); ubahwarna{7,i7}=im2bw(ubahukuran{7,i7}); ubahbentuk{7,i7}=ubahwarna{7,i7}'; ubahbentuk{7,i7}=ubahbentuk{7,i7}(:); ubahbentuk{7,i7}=ubahbentuk{7,i7}'; end H{1}=imread('marisca/H1marisca.bmp'); H{2}=imread('marisca/H2marisca.bmp'); H{3}=imread('marisca/H3marisca.bmp'); H{4}=imread('Ezer/H1Ezer.bmp'); H{5}=imread('Ezer/H2Ezer.bmp'); H{6}=imread('Ezer/H3Ezer.bmp'); H{7}=imread('Roy/H1Roy.bmp'); H{8}=imread('Roy/H2Roy.bmp'); H{9}=imread('Roy/H3Roy.bmp'); H{10}=imread('Edwin/H1Edwin.bmp'); H{11}=imread('Edwin/H2Edwin.bmp'); H{12}=imread('Edwin/H3Edwin.bmp'); H{13}=imread('Ryan/H1ryan.bmp'); H{14}=imread('Ryan/H2ryan.bmp'); H{15}=imread('Ryan/H3ryan.bmp'); for i8=1:15, ubahukuran{8,i8}=imresize(H{i8},[20 20]); ubahwarna{8,i8}=im2bw(ubahukuran{8,i8}); ubahbentuk{8,i8}=ubahwarna{8,i8}'; ubahbentuk{8,i8}=ubahbentuk{8,i8}(:); ubahbentuk{8,i8}=ubahbentuk{8,i8}'; end I{1}=imread('marisca/I1marisca.bmp'); I{2}=imread('marisca/I2marisca.bmp'); I{3}=imread('marisca/I3marisca.bmp'); I{4}=imread('Ezer/I1Ezer.bmp'); I{5}=imread('Ezer/I2Ezer.bmp'); I{6}=imread('Ezer/I3Ezer.bmp'); I{7}=imread('Roy/I1Roy.bmp'); I{8}=imread('Roy/I2Roy.bmp'); I{9}=imread('Roy/I3Roy.bmp'); I{10}=imread('Edwin/I1Edwin.bmp'); I{11}=imread('Edwin/I2Edwin.bmp'); I{12}=imread('Edwin/I3Edwin.bmp'); I{13}=imread('Ryan/A1ryan.bmp'); I{14}=imread('Ryan/I2ryan.bmp'); I{15}=imread('Ryan/I3ryan.bmp'); for i9=1:15, ubahukuran{9,i9}=imresize(I{i9},[20 20]); ubahwarna{9,i9}=im2bw(ubahukuran{9,i9}); ubahbentuk{9,i9}=ubahwarna{9,i9}'; ubahbentuk{9,i9}=ubahbentuk{9,i9}(:); ubahbentuk{9,i9}=ubahbentuk{9,i9}'; end J{1}=imread('marisca/J1marisca.bmp'); J{2}=imread('marisca/J2marisca.bmp'); J{3}=imread('marisca/J3marisca.bmp'); J{4}=imread('Ezer/J1Ezer.bmp');(10)
A-3
J{5}=imread('Ezer/J2Ezer.bmp'); J{6}=imread('Ezer/J3Ezer.bmp'); J{7}=imread('Roy/J1Roy.bmp'); J{8}=imread('Roy/J2Roy.bmp'); J{9}=imread('Roy/J3Roy.bmp'); J{10}=imread('Edwin/J1Edwin.bmp'); J{11}=imread('Edwin/J2Edwin.bmp'); J{12}=imread('Edwin/J3Edwin.bmp'); J{13}=imread('Ryan/J1ryan.bmp'); J{14}=imread('Ryan/J2ryan.bmp'); J{15}=imread('Ryan/J3ryan.bmp'); for i10=1:15, ubahukuran{10,i10}=imresize(J{i10},[20 20]); ubahwarna{10,i10}=im2bw(ubahukuran{10, i10}); ubahbentuk{10,i10}=ubahwarna{10,i10}'; ubahbentuk{10,i10}=ubahbentuk{10,i10}(:); ubahbentuk{10,i10}=ubahbentuk{10,i10}'; end K{1}=imread('marisca/K1marisca.bmp'); K{2}=imread('marisca/K2marisca.bmp'); K{3}=imread('marisca/K3marisca.bmp'); K{4}=imread('Ezer/K1Ezer.bmp'); K{5}=imread('Ezer/K2Ezer.bmp'); K{6}=imread('Ezer/K3Ezer.bmp'); K{7}=imread('Roy/K1Roy.bmp'); K{8}=imread('Roy/K2Roy.bmp'); K{9}=imread('Roy/K3Roy.bmp'); K{10}=imread('Edwin/K1Edwin.bmp'); K{11}=imread('Edwin/K2Edwin.bmp'); K{12}=imread('Edwin/K3Edwin.bmp'); K{13}=imread('Ryan/K1ryan.bmp'); K{14}=imread('Ryan/K2ryan.bmp'); K{15}=imread('Ryan/K3ryan.bmp'); for i11=1:15, ubahukuran{11,i11}=imresize(K{i11},[20 20]); ubahwarna{11,i11}=im2bw(ubahukuran{11,i11}); ubahbentuk{11,i11}=ubahwarna{11,i11}'; ubahbentuk{11,i11}=ubahbentuk{11,i11}(:); ubahbentuk{11,i11}=ubahbentuk{11,i11}'; end L{1}=imread('marisca/L1marisca.bmp'); L{2}=imread('marisca/L2marisca.bmp'); L{3}=imread('marisca/L3marisca.bmp'); L{4}=imread('Ezer/L1Ezer.bmp'); L{5}=imread('Ezer/L2Ezer.bmp'); L{6}=imread('Ezer/L3Ezer.bmp'); L{7}=imread('Roy/L1Roy.bmp'); L{8}=imread('Roy/L2Roy.bmp'); L{9}=imread('Roy/L3Roy.bmp'); L{10}=imread('Edwin/L1Edwin.bmp'); L{11}=imread('Edwin/L2Edwin.bmp'); L{12}=imread('Edwin/L3Edwin.bmp'); L{13}=imread('Ryan/L1ryan.bmp'); L{14}=imread('Ryan/L2ryan.bmp'); L{15}=imread('Ryan/L3ryan.bmp'); for i12=1:15, ubahukuran{12,i12}=imresize(L{i12},[20 20]); ubahwarna{12,i12}=im2bw(ubahukuran{12,i12}); ubahbentuk{12,i12}=ubahwarna{12,i12}'; ubahbentuk{12,i12}=ubahbentuk{12,i12}(:); ubahbentuk{12,i12}=ubahbentuk{12,i12}'; end M{1}=imread('marisca/M1marisca.bmp'); M{2}=imread('marisca/M2marisca.bmp'); M{3}=imread('marisca/M3marisca.bmp'); M{4}=imread('Ezer/M1Ezer.bmp'); M{5}=imread('Ezer/M2Ezer.bmp'); M{6}=imread('Ezer/M3Ezer.bmp'); M{7}=imread('Roy/M1Roy.bmp'); M{8}=imread('Roy/M2Roy.bmp'); M{9}=imread('Roy/M3Roy.bmp'); M{10}=imread('Edwin/M1Edwin.bmp'); M{11}=imread('Edwin/M2Edwin.bmp'); M{12}=imread('Edwin/M3Edwin.bmp'); M{13}=imread('Ryan/M1ryan.bmp'); M{14}=imread('Ryan/M2ryan.bmp'); M{15}=imread('Ryan/M3ryan.bmp'); for i13=1:15, ubahukuran{13,i13}=imresize(M{i13},[20 20]); ubahwarna{13,i13}=im2bw(ubahukuran{13,i13}); ubahbentuk{13,i13}=ubahwarna{13,i13}'; ubahbentuk{13,i13}=ubahbentuk{13,i13}(:); ubahbentuk{13,i13}=ubahbentuk{13,i13}'; end N{1}=imread('marisca/N1marisca.bmp'); N{2}=imread('marisca/N2marisca.bmp'); N{3}=imread('marisca/N3marisca.bmp'); N{4}=imread('Ezer/N1Ezer.bmp'); N{5}=imread('Ezer/N2Ezer.bmp'); N{6}=imread('Ezer/N3Ezer.bmp'); N{7}=imread('Roy/N1Roy.bmp'); N{8}=imread('Roy/N2Roy.bmp'); N{9}=imread('Roy/N3Roy.bmp'); N{10}=imread('Edwin/N1Edwin.bmp'); N{11}=imread('Edwin/N2Edwin.bmp'); N{12}=imread('Edwin/N3Edwin.bmp'); N{13}=imread('Ryan/N1ryan.bmp'); N{14}=imread('Ryan/N2ryan.bmp'); N{15}=imread('Ryan/N3ryan.bmp'); for i14=1:15, ubahukuran{14,i14}=imresize(N{i14},[20 20]); ubahwarna{14,i14}=im2bw(ubahukuran{14,i14}); ubahbentuk{14,i14}=ubahwarna{14,i14}'; ubahbentuk{14,i14}=ubahbentuk{14,i14}(:); ubahbentuk{14,i14}=ubahbentuk{14,i14}'; end O{1}=imread('marisca/O1marisca.bmp'); O{2}=imread('marisca/O2marisca.bmp'); O{3}=imread('marisca/O3marisca.bmp'); O{4}=imread('Ezer/O1Ezer.bmp');(11)
A-4
O{5}=imread('Ezer/O2Ezer.bmp'); O{6}=imread('Ezer/O3Ezer.bmp'); O{7}=imread('Roy/O1Roy.bmp'); O{8}=imread('Roy/O2Roy.bmp'); O{9}=imread('Roy/O3Roy.bmp'); O{10}=imread('Edwin/O1Edwin.bmp'); O{11}=imread('Edwin/O2Edwin.bmp'); O{12}=imread('Edwin/O3Edwin.bmp'); O{13}=imread('Ryan/O1ryan.bmp'); O{14}=imread('Ryan/O2ryan.bmp'); O{15}=imread('Ryan/O3ryan.bmp'); for i15=1:15, ubahukuran{15,i15}=imresize(O{i15},[20 20]); ubahwarna{15,i15}=im2bw(ubahukuran{15,i15}); ubahbentuk{15,i15}=ubahwarna{15,i15}'; ubahbentuk{15,i15}=ubahbentuk{15,i15}(:); ubahbentuk{15,i15}=ubahbentuk{15,i15}'; end P{1}=imread('marisca/P1marisca.bmp'); P{2}=imread('marisca/P2marisca.bmp'); P{3}=imread('marisca/P3marisca.bmp'); P{4}=imread('Ezer/P1Ezer.bmp'); P{5}=imread('Ezer/P2Ezer.bmp'); P{6}=imread('Ezer/P3Ezer.bmp'); P{7}=imread('Roy/P1Roy.bmp'); P{8}=imread('Roy/P2Roy.bmp'); P{9}=imread('Roy/P3Roy.bmp'); P{10}=imread('Edwin/P1Edwin.bmp'); P{11}=imread('Edwin/P2Edwin.bmp'); P{12}=imread('Edwin/P3Edwin.bmp'); P{13}=imread('Ryan/P1ryan.bmp'); P{14}=imread('Ryan/P2ryan.bmp'); P{15}=imread('Ryan/P3ryan.bmp'); for i16=1:15, ubahukuran{16,i16}=imresize(P{i16},[20 20]); ubahwarna{16,i16}=im2bw(ubahukuran{16,i16}); ubahbentuk{16,i16}=ubahwarna{16,i16}'; ubahbentuk{16,i16}=ubahbentuk{16,i16}(:); ubahbentuk{16,i16}=ubahbentuk{16,i16}'; end Q{1}=imread('marisca/Q1marisca.bmp'); Q{2}=imread('marisca/Q2marisca.bmp'); Q{3}=imread('marisca/Q3marisca.bmp'); Q{4}=imread('Ezer/Q1Ezer.bmp'); Q{5}=imread('Ezer/Q2Ezer.bmp'); Q{6}=imread('Ezer/Q3Ezer.bmp'); Q{7}=imread('Roy/Q1Roy.bmp'); Q{8}=imread('Roy/Q2Roy.bmp'); Q{9}=imread('Roy/Q3Roy.bmp'); Q{10}=imread('Edwin/Q1Edwin.bmp'); Q{11}=imread('Edwin/Q2Edwin.bmp'); Q{12}=imread('Edwin/Q3Edwin.bmp'); Q{13}=imread('Ryan/Q1ryan.bmp'); Q{14}=imread('Ryan/Q2ryan.bmp'); Q{15}=imread('Ryan/Q3ryan.bmp'); for i17=1:15, ubahukuran{17,i17}=imresize(Q{i17},[20 20]); ubahwarna{17,i17}=im2bw(ubahukuran{17,i17}); ubahbentuk{17,i17}=ubahwarna{17,i17}'; ubahbentuk{17,i17}=ubahbentuk{17,i17}(:); ubahbentuk{17,i17}=ubahbentuk{17,i17}'; end R{1}=imread('marisca/R1marisca.bmp'); R{2}=imread('marisca/R2marisca.bmp'); R{3}=imread('marisca/R3marisca.bmp'); R{4}=imread('Ezer/R1Ezer.bmp'); R{5}=imread('Ezer/R2Ezer.bmp'); R{6}=imread('Ezer/R3Ezer.bmp'); R{7}=imread('Roy/R1Roy.bmp'); R{8}=imread('Roy/R2Roy.bmp'); R{9}=imread('Roy/R3Roy.bmp'); R{10}=imread('Edwin/R1Edwin.bmp'); R{11}=imread('Edwin/R2Edwin.bmp'); R{12}=imread('Edwin/R3Edwin.bmp'); R{13}=imread('Ryan/R1ryan.bmp'); R{14}=imread('Ryan/R2ryan.bmp'); R{15}=imread('Ryan/R3ryan.bmp'); for i18=1:15, ubahukuran{18,i18}=imresize(R{i18},[20 20]); ubahwarna{18,i18}=im2bw(ubahukuran{18,i18}); ubahbentuk{18,i18}=ubahwarna{18,i18}'; ubahbentuk{18,i18}=ubahbentuk{18,i18}(:); ubahbentuk{18,i18}=ubahbentuk{18,i18}'; end S{1}=imread('marisca/S1marisca.bmp'); S{2}=imread('marisca/S2marisca.bmp'); S{3}=imread('marisca/S3marisca.bmp'); S{4}=imread('Ezer/S1Ezer.bmp'); S{5}=imread('Ezer/S2Ezer.bmp'); S{6}=imread('Ezer/S3Ezer.bmp'); S{7}=imread('Roy/S1Roy.bmp'); S{8}=imread('Roy/S2Roy.bmp'); S{9}=imread('Roy/S3Roy.bmp'); S{10}=imread('Edwin/S1Edwin.bmp'); S{11}=imread('Edwin/S2Edwin.bmp'); S{12}=imread('Edwin/S3Edwin.bmp'); S{13}=imread('Ryan/S1ryan.bmp'); S{14}=imread('Ryan/S2ryan.bmp'); S{15}=imread('Ryan/S3ryan.bmp'); for i19=1:15, ubahukuran{19,i19}=imresize(S{i19},[20 20]); ubahwarna{19,i19}=im2bw(ubahukuran{19,i19}); ubahbentuk{19,i19}=ubahwarna{19,i19}'; ubahbentuk{19,i19}=ubahbentuk{19,i19}(:); ubahbentuk{19,i19}=ubahbentuk{19,i19}'; end T{1}=imread('marisca/T1marisca.bmp'); T{2}=imread('marisca/T2marisca.bmp'); T{3}=imread('marisca/T3marisca.bmp'); T{4}=imread('Ezer/T1Ezer.bmp');(12)
A-5
T{5}=imread('Ezer/T2Ezer.bmp'); T{6}=imread('Ezer/T3Ezer.bmp'); T{7}=imread('Roy/T1Roy.bmp'); T{8}=imread('Roy/T2Roy.bmp'); T{9}=imread('Roy/T3Roy.bmp'); T{10}=imread('Edwin/T1Edwin.bmp'); T{11}=imread('Edwin/T2Edwin.bmp'); T{12}=imread('Edwin/T3Edwin.bmp'); T{13}=imread('Ryan/T1ryan.bmp'); T{14}=imread('Ryan/T2ryan.bmp'); T{15}=imread('Ryan/T3ryan.bmp'); for i20=1:15, ubahukuran{20,i20}=imresize(T{i20},[20 20]); ubahwarna{20,i20}=im2bw(ubahukuran{20,i20}); ubahbentuk{20,i20}=ubahwarna{20,i20}'; ubahbentuk{20,i20}=ubahbentuk{20,i20}(:); ubahbentuk{20,i20}=ubahbentuk{20,i20}'; end U{1}=imread('marisca/U1marisca.bmp'); U{2}=imread('marisca/U2marisca.bmp'); U{3}=imread('marisca/U3marisca.bmp'); U{4}=imread('Ezer/U1Ezer.bmp'); U{5}=imread('Ezer/U2Ezer.bmp'); U{6}=imread('Ezer/U3Ezer.bmp'); U{7}=imread('Roy/U1Roy.bmp'); U{8}=imread('Roy/U2Roy.bmp'); U{9}=imread('Roy/U3Roy.bmp'); U{10}=imread('Edwin/U1Edwin.bmp'); U{11}=imread('Edwin/U2Edwin.bmp'); U{12}=imread('Edwin/U3Edwin.bmp'); U{13}=imread('Ryan/U1ryan.bmp'); U{14}=imread('Ryan/U2ryan.bmp'); U{15}=imread('Ryan/U3ryan.bmp'); for i21=1:15, ubahukuran{21,i21}=imresize(U{i21},[20 20]); ubahwarna{21,i21}=im2bw(ubahukuran{21,i21}); ubahbentuk{21,i21}=ubahwarna{21,i21}'; ubahbentuk{21,i21}=ubahbentuk{21,i21}(:); ubahbentuk{21,i21}=ubahbentuk{21,i21}'; end V{1}=imread('marisca/V1marisca.bmp'); V{2}=imread('marisca/V2marisca.bmp'); V{3}=imread('marisca/V3marisca.bmp'); V{4}=imread('Ezer/V1Ezer.bmp'); V{5}=imread('Ezer/V2Ezer.bmp'); V{6}=imread('Ezer/V3Ezer.bmp'); V{7}=imread('Roy/V1Roy.bmp'); V{8}=imread('Roy/V2Roy.bmp'); V{9}=imread('Roy/V3Roy.bmp'); V{10}=imread('Edwin/V1Edwin.bmp'); V{11}=imread('Edwin/V2Edwin.bmp'); V{12}=imread('Edwin/V3Edwin.bmp'); V{13}=imread('Ryan/V1ryan.bmp'); V{14}=imread('Ryan/V2ryan.bmp'); V{15}=imread('Ryan/V3ryan.bmp'); for i22=1:15, ubahukuran{22,i22}=imresize(V{i22},[20 20]); ubahwarna{22,i22}=im2bw(ubahukuran{22,i22}); ubahbentuk{22,i22}=ubahwarna{22,i22}'; ubahbentuk{22,i22}=ubahbentuk{22,i22}(:); ubahbentuk{22,i22}=ubahbentuk{22,i22}'; end W{1}=imread('marisca/W1marisca.bmp'); W{2}=imread('marisca/W2marisca.bmp'); W{3}=imread('marisca/W3marisca.bmp'); W{4}=imread('Ezer/W1Ezer.bmp'); W{5}=imread('Ezer/W2Ezer.bmp'); W{6}=imread('Ezer/W3Ezer.bmp'); W{7}=imread('Roy/W1Roy.bmp'); W{8}=imread('Roy/W2Roy.bmp'); W{9}=imread('Roy/W3Roy.bmp'); W{10}=imread('Edwin/W1Edwin.bmp'); W{11}=imread('Edwin/W2Edwin.bmp'); W{12}=imread('Edwin/W3Edwin.bmp'); W{13}=imread('Ryan/W1ryan.bmp'); W{14}=imread('Ryan/W2ryan.bmp'); W{15}=imread('Ryan/W3ryan.bmp'); for i23=1:15, ubahukuran{23,i23}=imresize(W{i23},[20 20]); ubahwarna{23,i23}=im2bw(ubahukuran{23,i23}); ubahbentuk{23,i23}=ubahwarna{23,i23}'; ubahbentuk{23,i23}=ubahbentuk{23,i23}(:); ubahbentuk{23,i23}=ubahbentuk{23,i23}'; end X{1}=imread('marisca/X1marisca.bmp'); X{2}=imread('marisca/X2marisca.bmp'); X{3}=imread('marisca/X3marisca.bmp'); X{4}=imread('Ezer/X1Ezer.bmp'); X{5}=imread('Ezer/X2Ezer.bmp'); X{6}=imread('Ezer/X3Ezer.bmp'); X{7}=imread('Roy/X1Roy.bmp'); X{8}=imread('Roy/X2Roy.bmp'); X{9}=imread('Roy/X3Roy.bmp'); X{10}=imread('Edwin/X1Edwin.bmp'); X{11}=imread('Edwin/X2Edwin.bmp'); X{12}=imread('Edwin/X3Edwin.bmp'); X{13}=imread('Ryan/X1ryan.bmp'); X{14}=imread('Ryan/X2ryan.bmp'); X{15}=imread('Ryan/X3ryan.bmp'); for i24=1:15, ubahukuran{24,i24}=imresize(X{i24},[20 20]); ubahwarna{24,i24}=im2bw(ubahukuran{24,i24}); ubahbentuk{24,i24}=ubahwarna{24,i24}'; ubahbentuk{24,i24}=ubahbentuk{24,i24}(:); ubahbentuk{24,i24}=ubahbentuk{24,i24}'; end Y{1}=imread('marisca/Y1marisca.bmp'); Y{2}=imread('marisca/Y2marisca.bmp'); Y{3}=imread('marisca/Y3marisca.bmp'); Y{4}=imread('Ezer/Y1Ezer.bmp');(13)
A-6
Y{5}=imread('Ezer/Y2Ezer.bmp'); Y{6}=imread('Ezer/Y3Ezer.bmp'); Y{7}=imread('Roy/Y1Roy.bmp'); Y{8}=imread('Roy/Y2Roy.bmp'); Y{9}=imread('Roy/Y3Roy.bmp'); Y{10}=imread('Edwin/Y1Edwin.bmp'); Y{11}=imread('Edwin/Y2Edwin.bmp'); Y{12}=imread('Edwin/Y3Edwin.bmp'); Y{13}=imread('Ryan/Y1ryan.bmp'); Y{14}=imread('Ryan/Y2ryan.bmp'); Y{15}=imread('Ryan/Y3ryan.bmp'); for i25=1:15, ubahukuran{25,i25}=imresize(Y{i25},[20 20]); ubahwarna{25,i25}=im2bw(ubahukuran{25,i25}); ubahbentuk{25,i25}=ubahwarna{25,i25}'; ubahbentuk{25,i25}=ubahbentuk{25,i25}(:); ubahbentuk{25,i25}=ubahbentuk{25,i25}'; end Z{1}=imread('marisca/Z1marisca.bmp'); Z{2}=imread('marisca/Z2marisca.bmp'); Z{3}=imread('marisca/Z3marisca.bmp'); Z{4}=imread('Ezer/Z1Ezer.bmp'); Z{5}=imread('Ezer/Z2Ezer.bmp'); Z{6}=imread('Ezer/Z3Ezer.bmp'); Z{7}=imread('Roy/Z1Roy.bmp'); Z{8}=imread('Roy/Z2Roy.bmp'); Z{9}=imread('Roy/Z3Roy.bmp'); Z{10}=imread('Edwin/Z1Edwin.bmp'); Z{11}=imread('Edwin/Z2Edwin.bmp'); Z{12}=imread('Edwin/Z3Edwin.bmp'); Z{13}=imread('Ryan/Z1ryan.bmp'); Z{14}=imread('Ryan/Z2ryan.bmp'); Z{15}=imread('Ryan/Z3ryan.bmp'); for i26=1:15, ubahukuran{26,i26}=imresize(Z{i26},[20 20]); ubahwarna{26,i26}=im2bw(ubahukuran{26,i26}); ubahbentuk{26,i26}=ubahwarna{26,i26}'; ubahbentuk{26,i26}=ubahbentuk{26,i26}(:); ubahbentuk{26,i26}=ubahbentuk{26,i26}'; end ubahbentuk=ubahbentuk'; ubahbentuk=ubahbentuk(:); inputbesar=ubahbentuk save input inputbesar;PROGRAM Membaca Huruf Kecil
clc clear all close all
% PREPROSESING PROGRAM
A{1}=imread('marisca/Aa1marisca.bmp'); A{2}=imread('marisca/Aa2marisca.bmp'); A{3}=imread('marisca/Aa3marisca.bmp'); A{4}=imread('Ezer/Aa1Ezer.bmp'); A{5}=imread('Ezer/Aa2Ezer.bmp'); A{6}=imread('Ezer/Aa3Ezer.bmp'); A{7}=imread('Roy/Aa1Roy.bmp'); A{8}=imread('Roy/Aa2Roy.bmp'); A{9}=imread('Roy/Aa3Roy.bmp'); A{10}=imread('Edwin/Aa1Edwin.bmp'); A{11}=imread('Edwin/Aa2Edwin.bmp'); A{12}=imread('Edwin/Aa3Edwin.bmp'); A{13}=imread('Ryan/Aa1ryan.bmp'); A{14}=imread('Ryan/Aa2ryan.bmp'); A{15}=imread('Ryan/Aa3ryan.bmp'); for i1=1:15, ubahukuran{1,i1}=imresize(A{i1},[20 20]); ubahwarna{1,i1}=im2bw(ubahukuran{1,i1}); ubahbentuk{1,i1}=ubahwarna{1,i1}'; ubahbentuk{1,i1}=ubahbentuk{1,i1}(:); ubahbentuk{1,i1}=ubahbentuk{1,i1}'; end B{1}=imread('marisca/Bb1marisca.bmp'); B{2}=imread('marisca/Bb2marisca.bmp'); B{3}=imread('marisca/Bb3marisca.bmp'); B{4}=imread('Ezer/Bb1Ezer.bmp'); B{5}=imread('Ezer/Bb2Ezer.bmp'); B{6}=imread('Ezer/Bb3Ezer.bmp'); B{7}=imread('Roy/Bb1Roy.bmp'); B{8}=imread('Roy/Bb2Roy.bmp'); B{9}=imread('Roy/Bb3Roy.bmp'); B{10}=imread('Edwin/Bb1Edwin.bmp'); B{11}=imread('Edwin/Bb2Edwin.bmp'); B{12}=imread('Edwin/Bb3Edwin.bmp'); B{13}=imread('Ryan/Bb1ryan.bmp'); B{14}=imread('Ryan/Bb2ryan.bmp'); B{15}=imread('Ryan/Bb3ryan.bmp'); for i2=1:15, ubahukuran{2,i2}=imresize(B{i2},[20 20]); ubahwarna{2,i2}=im2bw(ubahukuran{2,i2}); ubahbentuk{2,i2}=ubahwarna{2,i2}'; ubahbentuk{2,i2}=ubahbentuk{2,i2}(:); ubahbentuk{2,i2}=ubahbentuk{2,i2}'; end C{1}=imread('marisca/Cc1marisca.bmp'); C{2}=imread('marisca/Cc2marisca.bmp');
(14)
A-7
C{3}=imread('marisca/Cc3marisca.bmp'); C{4}=imread('Ezer/Cc1Ezer.bmp'); C{5}=imread('Ezer/Cc2Ezer.bmp'); C{6}=imread('Ezer/Cc3Ezer.bmp'); C{7}=imread('Roy/Cc1Roy.bmp'); C{8}=imread('Roy/Cc2Roy.bmp'); C{9}=imread('Roy/Cc3Roy.bmp'); C{10}=imread('Edwin/Cc1Edwin.bmp'); C{11}=imread('Edwin/Cc2Edwin.bmp'); C{12}=imread('Edwin/Cc3Edwin.bmp'); C{13}=imread('Ryan/Cc1ryan.bmp'); C{14}=imread('Ryan/Cc2ryan.bmp'); C{15}=imread('Ryan/Cc3ryan.bmp'); for i3=1:15, ubahukuran{3,i3}=imresize(C{i3},[20 20]); ubahwarna{3,i3}=im2bw(ubahukuran{3,i3}); ubahbentuk{3,i3}=ubahwarna{3,i3}'; ubahbentuk{3,i3}=ubahbentuk{3,i3}(:); ubahbentuk{3,i3}=ubahbentuk{3,i3}'; end D{1}=imread('marisca/Dd1marisca.bmp'); D{2}=imread('marisca/Dd2marisca.bmp'); D{3}=imread('marisca/Dd3marisca.bmp'); D{4}=imread('Ezer/Dd1Ezer.bmp'); D{5}=imread('Ezer/Dd2Ezer.bmp'); D{6}=imread('Ezer/Dd3Ezer.bmp'); D{7}=imread('Roy/Dd1Roy.bmp'); D{8}=imread('Roy/Dd2Roy.bmp'); D{9}=imread('Roy/Dd3Roy.bmp'); D{10}=imread('Edwin/Dd1Edwin.bmp'); D{11}=imread('Edwin/Dd2Edwin.bmp'); D{12}=imread('Edwin/Dd3Edwin.bmp'); D{13}=imread('Ryan/Dd1ryan.bmp'); D{14}=imread('Ryan/Dd2ryan.bmp'); D{15}=imread('Ryan/Dd3ryan.bmp'); for i4=1:15, ubahukuran{4,i4}=imresize(D{i4},[20 20]); ubahwarna{4,i4}=im2bw(ubahukuran{4,i4}); ubahbentuk{4,i4}=ubahwarna{4,i4}'; ubahbentuk{4,i4}=ubahbentuk{4,i4}(:); ubahbentuk{4,i4}=ubahbentuk{4,i4}'; end E{1}=imread('marisca/Ee1marisca.bmp'); E{2}=imread('marisca/Ee2marisca.bmp'); E{3}=imread('marisca/Ee3marisca.bmp'); E{4}=imread('Ezer/Ee1Ezer.bmp'); E{5}=imread('Ezer/Ee2Ezer.bmp'); E{6}=imread('Ezer/Ee3Ezer.bmp'); E{7}=imread('Roy/Ee1Roy.bmp'); E{8}=imread('Roy/Ee2Roy.bmp'); E{9}=imread('Roy/Ee3Roy.bmp'); E{10}=imread('Edwin/Ee1Edwin.bmp'); E{11}=imread('Edwin/Ee2Edwin.bmp'); E{12}=imread('Edwin/Ee3Edwin.bmp'); E{13}=imread('Ryan/Ee1ryan.bmp'); E{14}=imread('Ryan/Ee2ryan.bmp'); E{15}=imread('Ryan/Ee3ryan.bmp'); for i5=1:15, ubahukuran{5,i5}=imresize(E{i5},[20 20]); ubahwarna{5,i5}=im2bw(ubahukuran{5,i5}); ubahbentuk{5,i5}=ubahwarna{5,i5}'; ubahbentuk{5,i5}=ubahbentuk{5,i5}(:); ubahbentuk{5,i5}=ubahbentuk{5,i5}'; end F{1}=imread('marisca/Ff1marisca.bmp'); F{2}=imread('marisca/Ff2marisca.bmp'); F{3}=imread('marisca/Ff3marisca.bmp'); F{4}=imread('Ezer/Ff1Ezer.bmp'); F{5}=imread('Ezer/Ff2Ezer.bmp'); F{6}=imread('Ezer/Ff3Ezer.bmp'); F{7}=imread('Roy/Ff1Roy.bmp'); F{8}=imread('Roy/Ff2Roy.bmp'); F{9}=imread('Roy/Ff3Roy.bmp'); F{10}=imread('Edwin/Ff1Edwin.bmp'); F{11}=imread('Edwin/Ff2Edwin.bmp'); F{12}=imread('Edwin/Ff3Edwin.bmp'); F{13}=imread('Ryan/Ff1ryan.bmp'); F{14}=imread('Ryan/Ff2ryan.bmp'); F{15}=imread('Ryan/Ff3ryan.bmp'); for i6=1:15, ubahukuran{6,i6}=imresize(F{i6},[20 20]); ubahwarna{6,i6}=im2bw(ubahukuran{6,i6}); ubahbentuk{6,i6}=ubahwarna{6,i6}'; ubahbentuk{6,i6}=ubahbentuk{6,i6}(:); ubahbentuk{6,i6}=ubahbentuk{6,i6}'; end G{1}=imread('marisca/Gg1marisca.bmp'); G{2}=imread('marisca/G2marisca.bmp'); G{3}=imread('marisca/Gg3marisca.bmp'); G{4}=imread('Ezer/Gg1Ezer.bmp'); G{5}=imread('Ezer/Gg2Ezer.bmp'); G{6}=imread('Ezer/Gg3Ezer.bmp'); G{7}=imread('Roy/Gg1Roy.bmp'); G{8}=imread('Roy/Gg2Roy.bmp'); G{9}=imread('Roy/Gg3Roy.bmp'); G{10}=imread('Edwin/Gg1Edwin.bmp'); G{11}=imread('Edwin/Gg2Edwin.bmp'); G{12}=imread('Edwin/Gg3Edwin.bmp'); G{13}=imread('Ryan/Gg1ryan.bmp'); G{14}=imread('Ryan/Gg2ryan.bmp'); G{15}=imread('Ryan/Gg3ryan.bmp'); for i7=1:15, ubahukuran{7,i7}=imresize(G{i7},[20 20]); ubahwarna{7,i7}=im2bw(ubahukuran{7,i7}); ubahbentuk{7,i7}=ubahwarna{7,i7}'; ubahbentuk{7,i7}=ubahbentuk{7,i7}(:); ubahbentuk{7,i7}=ubahbentuk{7,i7}'; end H{1}=imread('marisca/Hh1marisca.bmp');(15)
A-8
H{2}=imread('marisca/Hh2marisca.bmp'); H{3}=imread('marisca/Hh3marisca.bmp'); H{4}=imread('Ezer/Hh1Ezer.bmp'); H{5}=imread('Ezer/Hh2Ezer.bmp'); H{6}=imread('Ezer/Hh3Ezer.bmp'); H{7}=imread('Roy/Hh1Roy.bmp'); H{8}=imread('Roy/Hh2Roy.bmp'); H{9}=imread('Roy/Hh3Roy.bmp'); H{10}=imread('Edwin/Hh1Edwin.bmp'); H{11}=imread('Edwin/Hh2Edwin.bmp'); H{12}=imread('Edwin/Hh3Edwin.bmp'); H{13}=imread('Ryan/Hh1ryan.bmp'); H{14}=imread('Ryan/Hh2ryan.bmp'); H{15}=imread('Ryan/Hh3ryan.bmp'); for i8=1:15, ubahukuran{8,i8}=imresize(H{i8},[20 20]); ubahwarna{8,i8}=im2bw(ubahukuran{8,i8}); ubahbentuk{8,i8}=ubahwarna{8,i8}'; ubahbentuk{8,i8}=ubahbentuk{8,i8}(:); ubahbentuk{8,i8}=ubahbentuk{8,i8}'; end I{1}=imread('marisca/Ii1marisca.bmp'); I{2}=imread('marisca/Ii2marisca.bmp'); I{3}=imread('marisca/Ii3marisca.bmp'); I{4}=imread('Ezer/Ii1Ezer.bmp'); I{5}=imread('Ezer/Ii2Ezer.bmp'); I{6}=imread('Ezer/Ii3Ezer.bmp'); I{7}=imread('Roy/Ii1Roy.bmp'); I{8}=imread('Roy/Ii2Roy.bmp'); I{9}=imread('Roy/Ii3Roy.bmp'); I{10}=imread('Edwin/Ii1Edwin.bmp'); I{11}=imread('Edwin/Ii2Edwin.bmp'); I{12}=imread('Edwin/Ii3Edwin.bmp'); I{13}=imread('Ryan/Ii1ryan.bmp'); I{14}=imread('Ryan/Ii2ryan.bmp'); I{15}=imread('Ryan/Ii3ryan.bmp'); for i9=1:15, ubahukuran{9,i9}=imresize(I{i9},[20 20]); ubahwarna{9,i9}=im2bw(ubahukuran{9,i9}); ubahbentuk{9,i9}=ubahwarna{9,i9}'; ubahbentuk{9,i9}=ubahbentuk{9,i9}(:); ubahbentuk{9,i9}=ubahbentuk{9,i9}'; end J{1}=imread('marisca/Jj1marisca.bmp'); J{2}=imread('marisca/Jj2marisca.bmp'); J{3}=imread('marisca/Jj3marisca.bmp'); J{4}=imread('Ezer/Jj1Ezer.bmp'); J{5}=imread('Ezer/Jj2Ezer.bmp'); J{6}=imread('Ezer/Jj3Ezer.bmp'); J{7}=imread('Roy/Jj1Roy.bmp'); J{8}=imread('Roy/Jj2Roy.bmp'); J{9}=imread('Roy/Jj3Roy.bmp'); J{10}=imread('Edwin/Jj1Edwin.bmp'); J{11}=imread('Edwin/Jj2Edwin.bmp'); J{12}=imread('Edwin/Jj3Edwin.bmp'); J{13}=imread('Ryan/Jj1ryan.bmp'); J{14}=imread('Ryan/Jj2ryan.bmp'); J{15}=imread('Ryan/Jj3ryan.bmp'); for i10=1:15, ubahukuran{10,i10}=imresize(J{i10},[20 20]); ubahwarna{10,i10}=im2bw(ubahukuran{10, i10}); ubahbentuk{10,i10}=ubahwarna{10,i10}'; ubahbentuk{10,i10}=ubahbentuk{10,i10}(:); ubahbentuk{10,i10}=ubahbentuk{10,i10}'; end K{1}=imread('marisca/Kk1marisca.bmp'); K{2}=imread('marisca/Kk2marisca.bmp'); K{3}=imread('marisca/Kk3marisca.bmp'); K{4}=imread('Ezer/Kk1Ezer.bmp'); K{5}=imread('Ezer/Kk2Ezer.bmp'); K{6}=imread('Ezer/Kk3Ezer.bmp'); K{7}=imread('Roy/Kk1Roy.bmp'); K{8}=imread('Roy/Kk2Roy.bmp'); K{9}=imread('Roy/Kk3Roy.bmp'); K{10}=imread('Edwin/Kk1Edwin.bmp'); K{11}=imread('Edwin/Kk2Edwin.bmp'); K{12}=imread('Edwin/Kk3Edwin.bmp'); K{13}=imread('Ryan/Kk1ryan.bmp'); K{14}=imread('Ryan/Kk2ryan.bmp'); K{15}=imread('Ryan/Kk3ryan.bmp'); for i11=1:15, ubahukuran{11,i11}=imresize(K{i11},[20 20]); ubahwarna{11,i11}=im2bw(ubahukuran{11,i11}); ubahbentuk{11,i11}=ubahwarna{11,i11}'; ubahbentuk{11,i11}=ubahbentuk{11,i11}(:); ubahbentuk{11,i11}=ubahbentuk{11,i11}'; end L{1}=imread('marisca/Li1marisca.bmp'); L{2}=imread('marisca/Ll2marisca.bmp'); L{3}=imread('marisca/Ll3marisca.bmp'); L{4}=imread('Ezer/Ll1Ezer.bmp'); L{5}=imread('Ezer/Ll2Ezer.bmp'); L{6}=imread('Ezer/Ll3Ezer.bmp'); L{7}=imread('Roy/Ll1Roy.bmp'); L{8}=imread('Roy/Ll2Roy.bmp'); L{9}=imread('Roy/Ll3Roy.bmp'); L{10}=imread('Edwin/Ll1Edwin.bmp'); L{11}=imread('Edwin/Ll2Edwin.bmp'); L{12}=imread('Edwin/Ll3Edwin.bmp'); L{13}=imread('Ryan/Ll1ryan.bmp'); L{14}=imread('Ryan/Ll2ryan.bmp'); L{15}=imread('Ryan/Ll3ryan.bmp'); for i12=1:15, ubahukuran{12,i12}=imresize(L{i12},[20 20]); ubahwarna{12,i12}=im2bw(ubahukuran{12,i12}); ubahbentuk{12,i12}=ubahwarna{12,i12}'; ubahbentuk{12,i12}=ubahbentuk{12,i12}(:); ubahbentuk{12,i12}=ubahbentuk{12,i12}'; end M{1}=imread('marisca/Mm1marisca.bmp');(16)
A-9
M{2}=imread('marisca/Mm2marisca.bmp'); M{3}=imread('marisca/Mm3marisca.bmp'); M{4}=imread('Ezer/Mm1Ezer.bmp'); M{5}=imread('Ezer/Mm2Ezer.bmp'); M{6}=imread('Ezer/Mm3Ezer.bmp'); M{7}=imread('Roy/Mm1Roy.bmp'); M{8}=imread('Roy/Mm2Roy.bmp'); M{9}=imread('Roy/Mm3Roy.bmp'); M{10}=imread('Edwin/Mm1Edwin.bmp'); M{11}=imread('Edwin/Mm2Edwin.bmp'); M{12}=imread('Edwin/Mm3Edwin.bmp'); M{13}=imread('Ryan/Mm1ryan.bmp'); M{14}=imread('Ryan/Mm2ryan.bmp'); M{15}=imread('Ryan/Mm3ryan.bmp'); for i13=1:15, ubahukuran{13,i13}=imresize(M{i13},[20 20]); ubahwarna{13,i13}=im2bw(ubahukuran{13,i13}); ubahbentuk{13,i13}=ubahwarna{13,i13}'; ubahbentuk{13,i13}=ubahbentuk{13,i13}(:); ubahbentuk{13,i13}=ubahbentuk{13,i13}'; end N{1}=imread('marisca/Nn1marisca.bmp'); N{2}=imread('marisca/Nn2marisca.bmp'); N{3}=imread('marisca/Nn3marisca.bmp'); N{4}=imread('Ezer/Nn1Ezer.bmp'); N{5}=imread('Ezer/Nn2Ezer.bmp'); N{6}=imread('Ezer/Nn3Ezer.bmp'); N{7}=imread('Roy/Nn1Roy.bmp'); N{8}=imread('Roy/Nn2Roy.bmp'); N{9}=imread('Roy/Nn3Roy.bmp'); N{10}=imread('Edwin/Nn1Edwin.bmp'); N{11}=imread('Edwin/Nn2Edwin.bmp'); N{12}=imread('Edwin/Nn3Edwin.bmp'); N{13}=imread('Ryan/Nn1ryan.bmp'); N{14}=imread('Ryan/Nn2ryan.bmp'); N{15}=imread('Ryan/Nn3ryan.bmp'); for i14=1:15, ubahukuran{14,i14}=imresize(N{i14},[20 20]); ubahwarna{14,i14}=im2bw(ubahukuran{14,i14}); ubahbentuk{14,i14}=ubahwarna{14,i14}'; ubahbentuk{14,i14}=ubahbentuk{14,i14}(:); ubahbentuk{14,i14}=ubahbentuk{14,i14}'; end O{1}=imread('marisca/Oo1marisca.bmp'); O{2}=imread('marisca/Oo2marisca.bmp'); O{3}=imread('marisca/Oo3marisca.bmp'); O{4}=imread('Ezer/Oo1Ezer.bmp'); O{5}=imread('Ezer/Oo2Ezer.bmp'); O{6}=imread('Ezer/Oo3Ezer.bmp'); O{7}=imread('Roy/Oo1Roy.bmp'); O{8}=imread('Roy/Oo2Roy.bmp'); O{9}=imread('Roy/Oo3Roy.bmp'); O{10}=imread('Edwin/Oo1Edwin.bmp'); O{11}=imread('Edwin/Oo2Edwin.bmp'); O{12}=imread('Edwin/Oo3Edwin.bmp'); O{13}=imread('Ryan/Oo1ryan.bmp'); O{14}=imread('Ryan/Oo2ryan.bmp'); O{15}=imread('Ryan/Oo3ryan.bmp'); for i15=1:15, ubahukuran{15,i15}=imresize(O{i15},[20 20]); ubahwarna{15,i15}=im2bw(ubahukuran{15,i15}); ubahbentuk{15,i15}=ubahwarna{15,i15}'; ubahbentuk{15,i15}=ubahbentuk{15,i15}(:); ubahbentuk{15,i15}=ubahbentuk{15,i15}'; end P{1}=imread('marisca/Pp1marisca.bmp'); P{2}=imread('marisca/Pp2marisca.bmp'); P{3}=imread('marisca/Pp3marisca.bmp'); P{4}=imread('Ezer/Pp1Ezer.bmp'); P{5}=imread('Ezer/Pp2Ezer.bmp'); P{6}=imread('Ezer/Pp3Ezer.bmp'); P{7}=imread('Roy/Pp1Roy.bmp'); P{8}=imread('Roy/Pp2Roy.bmp'); P{9}=imread('Roy/Pp3Roy.bmp'); P{10}=imread('Edwin/Pp1Edwin.bmp'); P{11}=imread('Edwin/Pp2Edwin.bmp'); P{12}=imread('Edwin/Pp3Edwin.bmp'); P{13}=imread('Ryan/Pp1ryan.bmp'); P{14}=imread('Ryan/Pp2ryan.bmp'); P{15}=imread('Ryan/Pp3ryan.bmp'); for i16=1:15, ubahukuran{16,i16}=imresize(P{i16},[20 20]); ubahwarna{16,i16}=im2bw(ubahukuran{16,i16}); ubahbentuk{16,i16}=ubahwarna{16,i16}'; ubahbentuk{16,i16}=ubahbentuk{16,i16}(:); ubahbentuk{16,i16}=ubahbentuk{16,i16}'; end Q{1}=imread('marisca/Qq1marisca.bmp'); Q{2}=imread('marisca/Qq2marisca.bmp'); Q{3}=imread('marisca/Qq3marisca.bmp'); Q{4}=imread('Ezer/Qq1Ezer.bmp'); Q{5}=imread('Ezer/Qq2Ezer.bmp'); Q{6}=imread('Ezer/Qq3Ezer.bmp'); Q{7}=imread('Roy/Qq1Roy.bmp'); Q{8}=imread('Roy/Qq2Roy.bmp'); Q{9}=imread('Roy/Qq3Roy.bmp'); Q{10}=imread('Edwin/Qq1Edwin.bmp'); Q{11}=imread('Edwin/Qq2Edwin.bmp'); Q{12}=imread('Edwin/Qq3Edwin.bmp'); Q{13}=imread('Ryan/Qq1ryan.bmp'); Q{14}=imread('Ryan/Qq2ryan.bmp'); Q{15}=imread('Ryan/Qq3ryan.bmp'); for i17=1:15, ubahukuran{17,i17}=imresize(Q{i17},[20 20]); ubahwarna{17,i17}=im2bw(ubahukuran{17,i17}); ubahbentuk{17,i17}=ubahwarna{17,i17}'; ubahbentuk{17,i17}=ubahbentuk{17,i17}(:); ubahbentuk{17,i17}=ubahbentuk{17,i17}'; end R{1}=imread('marisca/Rr1marisca.bmp');(17)
A-10
R{2}=imread('marisca/Rr2marisca.bmp'); R{3}=imread('marisca/Rr3marisca.bmp'); R{4}=imread('Ezer/Rr1Ezer.bmp'); R{5}=imread('Ezer/Rr2Ezer.bmp'); R{6}=imread('Ezer/Rr3Ezer.bmp'); R{7}=imread('Roy/Rr1Roy.bmp'); R{8}=imread('Roy/Rr2Roy.bmp'); R{9}=imread('Roy/Rr3Roy.bmp'); R{10}=imread('Edwin/Rr1Edwin.bmp'); R{11}=imread('Edwin/Rr2Edwin.bmp'); R{12}=imread('Edwin/Rr3Edwin.bmp'); R{13}=imread('Ryan/Rr1ryan.bmp'); R{14}=imread('Ryan/Rr2ryan.bmp'); R{15}=imread('Ryan/Rr3ryan.bmp'); for i18=1:15, ubahukuran{18,i18}=imresize(R{i18},[20 20]); ubahwarna{18,i18}=im2bw(ubahukuran{18,i18}); ubahbentuk{18,i18}=ubahwarna{18,i18}'; ubahbentuk{18,i18}=ubahbentuk{18,i18}(:); ubahbentuk{18,i18}=ubahbentuk{18,i18}'; end S{1}=imread('marisca/Ss1marisca.bmp'); S{2}=imread('marisca/Ss2marisca.bmp'); S{3}=imread('marisca/Ss3marisca.bmp'); S{4}=imread('Ezer/Ss1Ezer.bmp'); S{5}=imread('Ezer/Ss2Ezer.bmp'); S{6}=imread('Ezer/Ss3Ezer.bmp'); S{7}=imread('Roy/Ss1Roy.bmp'); S{8}=imread('Roy/Ss2Roy.bmp'); S{9}=imread('Roy/Ss3Roy.bmp'); S{10}=imread('Edwin/Ss1Edwin.bmp'); S{11}=imread('Edwin/Ss2Edwin.bmp'); S{12}=imread('Edwin/Ss3Edwin.bmp'); S{13}=imread('Ryan/Ss1ryan.bmp'); S{14}=imread('Ryan/Ss2ryan.bmp'); S{15}=imread('Ryan/Ss3ryan.bmp'); for i19=1:15, ubahukuran{19,i19}=imresize(S{i19},[20 20]); ubahwarna{19,i19}=im2bw(ubahukuran{19,i19}); ubahbentuk{19,i19}=ubahwarna{19,i19}'; ubahbentuk{19,i19}=ubahbentuk{19,i19}(:); ubahbentuk{19,i19}=ubahbentuk{19,i19}'; end T{1}=imread('marisca/Tt1marisca.bmp'); T{2}=imread('marisca/Tt2marisca.bmp'); T{3}=imread('marisca/Tt3marisca.bmp'); T{4}=imread('Ezer/Tt1Ezer.bmp'); T{5}=imread('Ezer/Tt2Ezer.bmp'); T{6}=imread('Ezer/Tt3Ezer.bmp'); T{7}=imread('Roy/Tt1Roy.bmp'); T{8}=imread('Roy/Tt2Roy.bmp'); T{9}=imread('Roy/Tt3Roy.bmp'); T{10}=imread('Edwin/Tt1Edwin.bmp'); T{11}=imread('Edwin/Tt2Edwin.bmp'); T{12}=imread('Edwin/Tt3Edwin.bmp'); T{13}=imread('Ryan/Tt1ryan.bmp'); T{14}=imread('Ryan/Tt2ryan.bmp'); T{15}=imread('Ryan/Tt3ryan.bmp'); for i20=1:15, ubahukuran{20,i20}=imresize(T{i20},[20 20]); ubahwarna{20,i20}=im2bw(ubahukuran{20,i20}); ubahbentuk{20,i20}=ubahwarna{20,i20}'; ubahbentuk{20,i20}=ubahbentuk{20,i20}(:); ubahbentuk{20,i20}=ubahbentuk{20,i20}'; end U{1}=imread('marisca/Uu1marisca.bmp'); U{2}=imread('marisca/Uu2marisca.bmp'); U{3}=imread('marisca/Uu3marisca.bmp'); U{4}=imread('Ezer/Uu1Ezer.bmp'); U{5}=imread('Ezer/Uu2Ezer.bmp'); U{6}=imread('Ezer/Uu3Ezer.bmp'); U{7}=imread('Roy/Uu1Roy.bmp'); U{8}=imread('Roy/Uu2Roy.bmp'); U{9}=imread('Roy/Uu3Roy.bmp'); U{10}=imread('Edwin/Uu1Edwin.bmp'); U{11}=imread('Edwin/Uu2Edwin.bmp'); U{12}=imread('Edwin/Uu3Edwin.bmp'); U{13}=imread('Ryan/Uu1ryan.bmp'); U{14}=imread('Ryan/Uu2ryan.bmp'); U{15}=imread('Ryan/Uu3ryan.bmp'); for i21=1:15, ubahukuran{21,i21}=imresize(U{i21},[20 20]); ubahwarna{21,i21}=im2bw(ubahukuran{21,i21}); ubahbentuk{21,i21}=ubahwarna{21,i21}'; ubahbentuk{21,i21}=ubahbentuk{21,i21}(:); ubahbentuk{21,i21}=ubahbentuk{21,i21}'; end V{1}=imread('marisca/Vv1marisca.bmp'); V{2}=imread('marisca/Vv2marisca.bmp'); V{3}=imread('marisca/Vv3marisca.bmp'); V{4}=imread('Ezer/Vv1Ezer.bmp'); V{5}=imread('Ezer/Vv2Ezer.bmp'); V{6}=imread('Ezer/Vv3Ezer.bmp'); V{7}=imread('Roy/Vv1Roy.bmp'); V{8}=imread('Roy/Vv2Roy.bmp'); V{9}=imread('Roy/Vv3Roy.bmp'); V{10}=imread('Edwin/Vv1Edwin.bmp'); V{11}=imread('Edwin/Vv2Edwin.bmp'); V{12}=imread('Edwin/Vv3Edwin.bmp'); V{13}=imread('Ryan/Vv1ryan.bmp'); V{14}=imread('Ryan/Vv2ryan.bmp'); V{15}=imread('Ryan/Vv3ryan.bmp'); for i22=1:15, ubahukuran{22,i22}=imresize(V{i22},[20 20]); ubahwarna{22,i22}=im2bw(ubahukuran{22,i22}); ubahbentuk{22,i22}=ubahwarna{22,i22}'; ubahbentuk{22,i22}=ubahbentuk{22,i22}(:); ubahbentuk{22,i22}=ubahbentuk{22,i22}'; end W{1}=imread('marisca/Ww1marisca.bmp');(18)
A-11
W{2}=imread('marisca/Ww2marisca.bmp'); W{3}=imread('marisca/Ww3marisca.bmp'); W{4}=imread('Ezer/Ww1Ezer.bmp'); W{5}=imread('Ezer/Ww2Ezer.bmp'); W{6}=imread('Ezer/Ww3Ezer.bmp'); W{7}=imread('Roy/Ww1Roy.bmp'); W{8}=imread('Roy/Ww2Roy.bmp'); W{9}=imread('Roy/Ww3Roy.bmp'); W{10}=imread('Edwin/Ww1Edwin.bmp'); W{11}=imread('Edwin/Ww2Edwin.bmp'); W{12}=imread('Edwin/Ww3Edwin.bmp'); W{13}=imread('Ryan/Ww1ryan.bmp'); W{14}=imread('Ryan/Ww2ryan.bmp'); W{15}=imread('Ryan/Ww3ryan.bmp'); for i23=1:15, ubahukuran{23,i23}=imresize(W{i23},[20 20]); ubahwarna{23,i23}=im2bw(ubahukuran{23,i23}); ubahbentuk{23,i23}=ubahwarna{23,i23}'; ubahbentuk{23,i23}=ubahbentuk{23,i23}(:); ubahbentuk{23,i23}=ubahbentuk{23,i23}'; end X{1}=imread('marisca/Xx1marisca.bmp'); X{2}=imread('marisca/Xx2marisca.bmp'); X{3}=imread('marisca/Xx3marisca.bmp'); X{4}=imread('Ezer/Xx1Ezer.bmp'); X{5}=imread('Ezer/Xx2Ezer.bmp'); X{6}=imread('Ezer/Xx3Ezer.bmp'); X{7}=imread('Roy/Xx1Roy.bmp'); X{8}=imread('Roy/Xx2Roy.bmp'); X{9}=imread('Roy/Xx3Roy.bmp'); X{10}=imread('Edwin/Xx1Edwin.bmp'); X{11}=imread('Edwin/Xx2Edwin.bmp'); X{12}=imread('Edwin/Xx3Edwin.bmp'); X{13}=imread('Ryan/Xx1ryan.bmp'); X{14}=imread('Ryan/Xx2ryan.bmp'); X{15}=imread('Ryan/Xx3ryan.bmp'); for i24=1:15, ubahukuran{24,i24}=imresize(X{i24},[20 20]); ubahwarna{24,i24}=im2bw(ubahukuran{24,i24}); ubahbentuk{24,i24}=ubahwarna{24,i24}'; ubahbentuk{24,i24}=ubahbentuk{24,i24}(:); ubahbentuk{24,i24}=ubahbentuk{24,i24}'; end Y{1}=imread('marisca/Yy1marisca.bmp'); Y{2}=imread('marisca/Yy2marisca.bmp'); Y{3}=imread('marisca/Yy3marisca.bmp'); Y{4}=imread('Ezer/Yy1Ezer.bmp'); Y{5}=imread('Ezer/Yy2Ezer.bmp'); Y{6}=imread('Ezer/Yy3Ezer.bmp'); Y{7}=imread('Roy/Yy1Roy.bmp'); Y{8}=imread('Roy/Yy2Roy.bmp'); Y{9}=imread('Roy/Yy3Roy.bmp'); Y{10}=imread('Edwin/Yy1Edwin.bmp'); Y{11}=imread('Edwin/Yy2Edwin.bmp'); Y{12}=imread('Edwin/Yy3Edwin.bmp'); Y{13}=imread('Ryan/Yy1ryan.bmp'); Y{14}=imread('Ryan/Yy2ryan.bmp'); Y{15}=imread('Ryan/Yy3ryan.bmp'); for i25=1:15, ubahukuran{25,i25}=imresize(Y{i25},[20 20]); ubahwarna{25,i25}=im2bw(ubahukuran{25,i25}); ubahbentuk{25,i25}=ubahwarna{25,i25}'; ubahbentuk{25,i25}=ubahbentuk{25,i25}(:); ubahbentuk{25,i25}=ubahbentuk{25,i25}'; end Z{1}=imread('marisca/Zz1marisca.bmp'); Z{2}=imread('marisca/Zz2marisca.bmp'); Z{3}=imread('marisca/Zz3marisca.bmp'); Z{4}=imread('Ezer/Zz1Ezer.bmp'); Z{5}=imread('Ezer/Zz2Ezer.bmp'); Z{6}=imread('Ezer/Zz3Ezer.bmp'); Z{7}=imread('Roy/Zz1Roy.bmp'); Z{8}=imread('Roy/Zz2Roy.bmp'); Z{9}=imread('Roy/Zz3Roy.bmp'); Z{10}=imread('Edwin/Zz1Edwin.bmp'); Z{11}=imread('Edwin/Zz2Edwin.bmp'); Z{12}=imread('Edwin/Zz3Edwin.bmp'); Z{13}=imread('Ryan/Zz1ryan.bmp'); Z{14}=imread('Ryan/Zz2ryan.bmp'); Z{15}=imread('Ryan/Z3ryan.bmp'); for i26=1:15, ubahukuran{26,i26}=imresize(Z{i26},[20 20]); ubahwarna{26,i26}=im2bw(ubahukuran{26,i26}); ubahbentuk{26,i26}=ubahwarna{26,i26}'; ubahbentuk{26,i26}=ubahbentuk{26,i26}(:); ubahbentuk{26,i26}=ubahbentuk{26,i26}'; end ubahbentuk=ubahbentuk'; ubahbentuk=ubahbentuk(:); inputkecil=ubahbentuk save input inputkecil;(19)
A-12
Program Pelatihan
clc
clear all
load inputbesar inputbesar;
input_final=[];
input3=[];
for jj=1:390,
input1=[];
input1=inputbesar{jj};
input4=[];
input3=[input3 ;input1];
end
[x y]=size(input3);
for i=1:x,
for j=1:y,
if input3(i,j)==0;
input3(i,j)=-1;
else
input3(i,j)=1;
end
end
end
input2=eye(390,26);
bobot1=rand(390,400);
bobot2=rand(26,26);
alpha=0.6;
a=0.1;
epoch=0;
(20)
A-13
baris=size(input3,1);
erorout=10;
while (erorout>0.001)
epoch=epoch+1
for data=1:baris
for klaster=1:26
d(klaster)=sum((bobot1(klaster,:)-input3(data,:)).^2);
if klaster==1
dmin=d(klaster);
din=klaster;
end
if (klaster>1)&&(dmin>d(klaster))
dmin=d(klaster);
din=klaster;
end
masukan{data,1}=din;
masukan{data,2}=data;
end
end
bobot1(din,:)=bobot1(din,:)+alpha*(input3(data,:)-bobot1(din,:));
for data=1:baris
for klaster=1:26
d(klaster)=sum((bobot1(klaster,:)-input3(data,:)).^2);
if klaster==1
dmin=d(klaster);
din=klaster;
end
if (klaster>1)&&(dmin>d(klaster))
dmin=d(klaster);
din=klaster;
end
end
end
bobot1(din,:)=bobot1(din,:)+alpha*(input3(data,:)-bobot1(din,:));
bobot2(din,:)=bobot2(din,:)+a*(input2(data,:)-bobot2(din,:));
eror=sum((input2(data,:)-bobot2(din,:)).^2);
l=size(input3,1);
m=size(input3,2);
erorout=sqrt(eror/(l*m))
alpha=0.5*alpha;
a=0.5*a;
masukan
bobot1besar1=bobot1;
bobot2besar2=bobot2;
(21)
A-14
save bobot2besar2 bobot2besar2;
subplot(1,1,1);
plot(epoch,erorout,'.-g');
hold on;
title('grafik eror');
ylabel('nilai eror');
if epoch==1000
break
end
end
Program Pengujian
clc
clear all
input3=imread('marisca/d1marisca.bmp');
input3=imresize(input3, [20 20]);
input3=im2bw(input3);
input3=input3';
input3=input3(:);
input3=input3';
load bobot1besar bobot1besar;
load bobot2besar bobot2besar;
input2=eye(390,5);
alpha=0.6;
a=0.1;
baris=size(input3,1);
for data=1:baris
for klaster=1:5
d(klaster)=sum((bobot1besar(klaster,:)-input3(data,:)).^2);
if klaster==1
dmin=d(klaster);
din=klaster;
end
if (klaster>1)&&(dmin>d(klaster))
dmin=d(klaster);
din=klaster;
end
masukan{data,1}=din;
masukan{data,2}=data;
end
end
(22)
A-15
for klaster=1:5
d(klaster)=sum((bobot1besar(klaster,:)-input3(data,:)).^2);
if klaster==1
dmin=d(klaster);
din=klaster;
end
if (klaster>1)&&(dmin>d(klaster))
dmin=d(klaster);
din=klaster;
end
end
end
eror=((input2(data,:)-bobot2besar(din,:)).^2);
l=size(input3,1);
m=size(input3,2);
% erorout=sqrt(eror/(l*m))
masukan
eror
for i=1:5
if eror(i)<=0.5
eror(i)=0;
else
eror(i)=1;
end
end
end
Program GUI untuk Pelatihan
% --- 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)
close;
% --- 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)
myform=guidata(gcbo);
load inputbesar inputbesar;
input_final=[];
input3=[];
for jj=1:390,
(23)
A-16
input1=[];
input1=inputbesar{jj};
input4=[];
input3=[input3 ;input1];
end
input2=eye(390,26);
bobot1=rand(390,400);
bobot2=rand(26,26);
alpha=0.6;
a=0.1;
epoch=0;
baris=size(input3,1);
erorout=10;
while (erorout>0.001)
epoch=epoch+1
for data=1:baris
for klaster=1:26
d(klaster)=sum((bobot1(klaster,:)-input3(data,:)).^2);
if klaster==1
dmin=d(klaster);
din=klaster;
end
if (klaster>1)&&(dmin>d(klaster))
dmin=d(klaster);
din=klaster;
end
masukan{data,1}=din;
masukan{data,2}=data;
end
end
bobot1(din,:)=bobot1(din,:)+alpha*(input3(data,:)-bobot1(din,:));
for data=1:baris
for klaster=1:26
d(klaster)=sum((bobot1(klaster,:)-input3(data,:)).^2);
if klaster==1
dmin=d(klaster);
din=klaster;
end
if (klaster>1)&&(dmin>d(klaster))
dmin=d(klaster);
din=klaster;
end
end
end
bobot1(din,:)=bobot1(din,:)+alpha*(input3(data,:)-bobot1(din,:));
bobot2(din,:)=bobot2(din,:)+a*(input2(data,:)-bobot2(din,:));
(24)
A-17
eror=sum((input2(data,:)-bobot2(din,:)).^2);
l=size(input3,1);
m=size(input3,2);
erorout=sqrt(eror/(l*m))
alpha=0.5*alpha;
a=0.5*a;
masukan
bobot1besar=bobot1;
bobot2besar=bobot2;
save bobot1besar bobot1besar;
save bobot2besar bobot2besar;
axes=(myform.axes1);
plot(epoch,erorout,'.g')
hold on
if epoch==10
break
end
end
set(myform.edit4,'string',erorout)
% --- Executes during object creation, after setting all properties.
function slider1_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: slider controls usually have a light gray background, change
% 'usewhitebg' to 0 to use default. See ISPC and COMPUTER.
usewhitebg = 1;
if usewhitebg
set(hObject,'BackgroundColor',[.9 .9 .9]);
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
% --- 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)
myform=guidata(gcbo);
load inputkecil inputkecil;
input_final=[];
input3=[];
for jj=1:390,
input1=[];
input1=inputkecil{jj};
input4=[];
(25)
A-18
input3=[input3 ;input1];
end
input2=eye(390,26);
bobot1=rand(390,400);
bobot2=rand(26,26);
alpha=0.6;
a=0.1;
epoch=0;
baris=size(input3,1);
erorout=10;
while (erorout>0.005)
epoch=epoch+1
for data=1:baris
for klaster=1:26
d(klaster)=sum((bobot1(klaster,:)-input3(data,:)).^2);
if klaster==1
dmin=d(klaster);
din=klaster;
end
if (klaster>1)&&(dmin>d(klaster))
dmin=d(klaster);
din=klaster;
end
masukan{data,1}=din;
masukan{data,2}=data;
end
end
bobot1(din,:)=bobot1(din,:)+alpha*(input3(data,:)-bobot1(din,:));
for data=1:baris
for klaster=1:26
d(klaster)=sum((bobot1(klaster,:)-input3(data,:)).^2);
if klaster==1
dmin=d(klaster);
din=klaster;
end
if (klaster>1)&&(dmin>d(klaster))
dmin=d(klaster);
din=klaster;
end
end
end
bobot1(din,:)=bobot1(din,:)+alpha*(input3(data,:)-bobot1(din,:));
bobot2(din,:)=bobot2(din,:)+a*(input2(data,:)-bobot2(din,:));
eror=sum((input2(data,:)-bobot2(din,:)).^2);
l=size(input3,1);
m=size(input3,2);
erorout=sqrt(eror/(l*m))
alpha=0.5*alpha;
(26)
A-19
a=0.5*a;
masukan
bobot1kecil=bobot1;
bobot2kecil=bobot2;
save bobot1kecil bobot1kecil;
save bobot2kecil bobot2kecil;
axes=(myform.axes1);
plot(epoch,erorout,'.b')
hold on
if epoch==10
break
end
end
set(myform.edit4,'string',erorout)
Program GUI Untuk Pengujian
% --- Executes on button press in pushbutton12.
function pushbutton12_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton12 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
file=uigetfile('*.bmp');
if~isequal(file,0)
myform=guidata(gcbo);
gambar=imread(file);
imshow(gambar);axes=(myform.axes7);
open(file);
end
% --- Executes on button press in pushbutton13.
function pushbutton13_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton13 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
myform=guidata(gcbo);
gambar=(myform.pushbutton12);
gambar=imresize(gambar, [20 20]);
gambar=im2bw(gambar);
gambar=gambar';
gambar=gambar(:);
gambar=gambar';
input3=gambar;
load bobot1 bobot1
load bobot2 bobot2
input2=eye(390,26);
baris=size(input3,1);
(27)
A-20
for data=1:baris
for klaster=1:26
d(klaster)=sum(min(bobot1(klaster,:),input3(data,:)).^2);
if klaster==1
dmin=d(klaster);
din=klaster;
end
if (klaster>1)&&(dmin>d(klaster))
dmin=d(klaster);
din=klaster;
end
masukan{data,1}=din;
masukan{data,2}=data;
end
end
for data=1:baris
for klaster=1:26
d(klaster)=sum((bobot1(klaster,:)-input3(data,:)).^2);
if klaster==1
dmin=d(klaster);
din=klaster;
end
if (klaster>1)&&(dmin>d(klaster))
dmin=d(klaster);
din=klaster;
end
end
end
eror=sum((input2(data,:)-bobot2(din,:)).^2);
l=size(input3,1);
m=size(input3,2);
erorout=sqrt(eror/(l*m))
masukan;
set(myform.edit4,'string',erorout)
% --- Executes on button press in pushbutton14.
function pushbutton14_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton14 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
close
% --- Executes during object creation, after setting all properties.
function edit4_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit4 (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.
(28)
A-21
% See ISPC and COMPUTER.
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
function edit4_Callback(hObject, eventdata, handles)
% hObject handle to edit4 (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 edit4 as text
(29)
LAMPIRAN B
(30)
B-2
1.Edwin
(31)
B-3
2. Ezer
(32)
B-4
3. Marisca
(33)
B-5
4. Roy
(34)
B-6
5. Ryan
Catatan:
Gambar asli berukuran A4
dengan Format (*.jpg)
(35)
1
Universitas Kristen Maranatha
PENDAHULUAN
1.1.
Latar Belakang Masalah
Tulisan tangan merupakan salah satu tanda kemajuan dari sebuah zaman
dan media tulisan tangan pun terus mengalami perubahan dari setiap zaman.
Dalam perkembangannya, penggunaan komputer dan tulisan tangan masih
menjadi sesuatu yang terpisah, dan keduanya pun menjadi sesuatu yang penting
dan tidak dapat ditinggalkan. Seiring berkembang pengunaan komputer, tulisan
tangan dapat diubah menjadi bentuk dijital. Citra akan dimasukkan ke dalam
komputer melalui proses
scaning.
Citra yang dimasukkan ke dalam komputer
dapat mengalami berbagai hal, sehingga tulisan tangan akan menjadi tidak terlalu
dikenali bentuknya. Maka untuk mengenal macam
–
macam bentuk dari tulisan
tangan tersebut, dibuatlah suatu perangkat lunak yang nantinya dapat mengenal
dan mengingat macam
–
macam bentuk tulisan tangan yang sudah berbentuk citra.
Proses yang akan dilakukan adalah dengan mengenali pola dari citra yang
dimasukkan ke dalam komputer.
Proses pengenalan huruf hasil tulisan tangan akan menggunakan Jaringan
Saraf Tiruan (JST), karena JST memiliki kemampuan untuk belajar dari
pengalaman, melakukan generalisasi dari contoh
–
contoh yang pernah didapat
dan lain sebagainya. Salah satu contoh JST adalah dalam Tugas Akhir ini yaitu
menggunakan algoritma
Forward-Only Counter Propagation
sebagai perangkat
penguji untuk pengenalan pola citra.
(36)
2
Universitas Kristen Maranatha
1.2.
Identifikasi Masalah
Dalam pembuatan Tugas Akhir ini terdapat beberapa identifikasi masalah.
Adapun identifikasi masalah tersebut antara lain :
1.
Bagaimana merancang JST (Jaringan Saraf Tiruan) dengan algoritma
Forward-Only Counter Propagation
menggunakan MATLAB?
2.
Bagaimana proses pengenalan huruf dari hasil tulisan tangan dengan
algoritma
Forward-Only Counter Propagation
?
1.3.
Pembatasan Masalah
Batasan-batasan masalah dalam Tugas Akhir ini adalah :
1.
Huruf yang digunakan adalah tulisan tangan berbentuk huruf kapital
dan huruf kecil (A-Z), dari 6 orang yang berbeda. Untuk data latih
menggunakan 3 sampel dari 5 orang pertama. Untuk data uji terbagi
menjadi 2 yaitu, 2 sampel dari 5 orang pertama dan 1 sampel dari
oaring keenam.
2.
Algoritma
yang
digunakan
adalah
Forward-Only
Counter
Propagation.
3.
Citra huruf tulisan tangan yang akan digunakan adalah 20 x 20 pixel
dengan format file
bitmap
(
*.
bmp).
1.4.
Tujuan Tugas Akhir
Tujuan yang akan dicapai pada Tugas Akhir ini adalah merancang dan
merealisasikan perangkat lunak yang berbasis jaringan saraf tiruan dengan
menggunakan algoritma
Forward-Only Counter Propagation
untuk pengenalan
huruf hasil tulisan tangan.
1.5.
Sistematika Penulisan
Sistematika yang akan digunakan untuk menyusun laporan ini adalah
sebagai berikut :
(37)
3
Universitas Kristen Maranatha
Bab 1. Pendahuluan
Merupakan bab yang menjelaskan mengenai latar belakang
masalah, identifikasi masalah, batasan masalah, tujuan Tugas
Akhir, dan sistematika penulisan dari Tugas Akhir ini.
Bab 2. Landasan Teori
Merupakan bab yang disusun untuk memberikan penjelasan
mengenai jaringan saraf tiruan dan algoritma
Forward-Only
Counter Propagation.
Bab 3. Perancangan Perangkat Lunak
Bab ini berisi penjelasan desain yang akan dilakukan untuk
membuat piranti lunak untuk pengenalan huruf dari hasil tulisan
tangan dengan menggunakan algoritma
Forward-Only Counter
Propagation.
Bab 4. Pengujian dan Data Pengamatan
Bab ini berisi hasil yang diperoleh dari penelitian dan analisa dari
data yang diperoleh melalui Tugas Akhir ini.
Bab 5. Kesimpulan dan Saran
Berisi kesimpulan dan saran yang dapat diambil untuk melakukan
pengembangan terhadap perangkat lunak dan sistem yang telah
dibuat.
(38)
59
Universitas Kristen Maranatha
BAB V
SIMPULAN DAN SARAN
Pada bab ini disimpulkan hasil pengamatan dan saran-saran untuk perbaikan
pada penelitian selanjutnya.
5.1
Simpulan
1.
Proses pelatihan pengenalan huruf hasil dari tulisan tangan menggunakan
algoritma
Forward-Only Counter Propagation
menghasilkan nilai eror
pelatihan, yaitu 0.0045 untuk pengenalan huruf kapital dan 0.0054 untuk
pengenalan huruf kecil.
2.
Hasil pengujian untuk pengenalan huruf kapital sangat baik untuk mengenali
beberapa huruf kapital seperti, I, J, L, R, T, dan Z. Hal ini disebabkan bentuk
huruf
–
huruf tersebut lebih umum dan serupa. Huruf yang kurang baik
dikenali adalah huruf W, karena bentuk dari huruf W pada tulisan tangan tidak
menunjukan bentuk huruf W secara utuh dan bentuknya lebih beragam
dengan keberhasilan pengenalan 40%.
3.
Hasil pengujian untuk pengenalan huruf kecil hasil tulisan tangan, sangat baik
untuk mengenali huruf O, karena hasil pengujiannya mencapai pengenalan
100%. Sedangkan huruf yang kurang baik dikenali adalah huruf N dengan
keberhasilan 33.33%
4.
Proses pengujian untuk data yang pernah dilatih, diperoleh persentase
keberhasilan 83.84% untuk huruf kapital, sedangkan huruf kecil memiliki
keberhasilan 72.05%. keberhasilan dari data uji ini untuk dikenali adalah
77.94%. dari hasil pengujian tersebut dapat disimpulkan, bahwa huruf kapital
lebih baik untuk dikenali dibandingkan huruf kecil.
5.
Proses pengujian untuk huruf
–
huruf yang belum pernah dilatih memiliki
persentase keberhasilan pengenalan huruf 76.92% untuk huruf kapital dan
61.53% untuk huruf kecil pada data dari orang yang sama dengan pemilik data
(39)
60
Universitas Kristen Maranatha
latih dengan keberhasilan data uji jenis ini dikenali yaitu 69.22%. Kemudian
persentase 69.23% untuk huruf kapital dan 50% untuk huruf kecil pada data
dari orang yang berbeda dengan pemilik data latih, pada pengujian jenis
ketiga ini keberhasilan huruf untuk dikenali bernilai 59.61%.
6.
Dari rata
–
rat secara keseluruhan, pengenalan huruf tulisan tangan baik untuk
mengenali huruf kapital dengan keberhasilan 76.66% sedangkan huruf kecil
memiliki keberhasilan pengenalan 61.19%. Total keberhasilan pengenalan
huruf tulisan tangan secara keseluruhan adalah 68.92%.
5.2
Saran
1.
Algoritma
Forward-Only Counter Propagation
dapat
dikembangkan
dengan menambah beberapa proses untuk pemrosesan awal pada citra,
sehingga hasil yang dicapai dapat algoritma ini bisa lebih baik.
(40)
61
Universitas Kristen MaranathaDAFTAR PUSTAKA
1.
Away, Gunaidi Abdia. 2010.
The Shortcut of MATLAB Programing.
Bandung:
Informatika.
2.
Fausett, L.. 1994.
Fundamental of Neural Network; Architectures, Algorithms,and
Applications
. Prentice Hall. New Jersey.
3.
Hermawan, Arief. 2006.
Jaringan Saraf Tiruan, Teori dan Aplikasi.
Yogyakarta:
Andi
4.
Kusumadewi,Sri. 2004.
Membangun Jaringan Syaraf Tiruan Menggunakan
Matlab & Excel Link
. Yogyakarta:Graha Ilmu.
5.
Mubarok,M. Syahrul. Dkk. 2007.
Artificial Neural Network Exclusive Training
2007
.Bandung.
6.
Munir, Rinaldi. 2004.
Pengolahan Citra Digital dengan Pendekatan Algoritmik
.
Bandung: Informatika.
7.
Puspitaningrum, Dyah. 2006.
Pengantar Jaringan Syaraf Tiruan
. Yogyakarta:
Andi.
8.
Siang,Jong Jek. 2004.
Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan
Matlab
. Yogyakarta: Andi.
9.
Sugiharto, Aris. 2006.
Pemrograman GUI dengan MATLAB.
Yogyakarta:Andi
10.
Wijaya, Marvin Ch & Agus Prijono. 2007.
Pengolahan Citra Digital
(1)
1 Universitas Kristen Maranatha
BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
Tulisan tangan merupakan salah satu tanda kemajuan dari sebuah zaman dan media tulisan tangan pun terus mengalami perubahan dari setiap zaman. Dalam perkembangannya, penggunaan komputer dan tulisan tangan masih menjadi sesuatu yang terpisah, dan keduanya pun menjadi sesuatu yang penting dan tidak dapat ditinggalkan. Seiring berkembang pengunaan komputer, tulisan tangan dapat diubah menjadi bentuk dijital. Citra akan dimasukkan ke dalam
komputer melalui proses scaning. Citra yang dimasukkan ke dalam komputer
dapat mengalami berbagai hal, sehingga tulisan tangan akan menjadi tidak terlalu
dikenali bentuknya. Maka untuk mengenal macam – macam bentuk dari tulisan
tangan tersebut, dibuatlah suatu perangkat lunak yang nantinya dapat mengenal
dan mengingat macam – macam bentuk tulisan tangan yang sudah berbentuk citra.
Proses yang akan dilakukan adalah dengan mengenali pola dari citra yang dimasukkan ke dalam komputer.
Proses pengenalan huruf hasil tulisan tangan akan menggunakan Jaringan Saraf Tiruan (JST), karena JST memiliki kemampuan untuk belajar dari
pengalaman, melakukan generalisasi dari contoh – contoh yang pernah didapat
dan lain sebagainya. Salah satu contoh JST adalah dalam Tugas Akhir ini yaitu
menggunakan algoritma Forward-Only Counter Propagation sebagai perangkat
(2)
BAB I Pendahuluan
2 Universitas Kristen Maranatha
1.2. Identifikasi Masalah
Dalam pembuatan Tugas Akhir ini terdapat beberapa identifikasi masalah. Adapun identifikasi masalah tersebut antara lain :
1. Bagaimana merancang JST (Jaringan Saraf Tiruan) dengan algoritma
Forward-Only Counter Propagation menggunakan MATLAB?
2. Bagaimana proses pengenalan huruf dari hasil tulisan tangan dengan
algoritma Forward-Only Counter Propagation?
1.3. Pembatasan Masalah
Batasan-batasan masalah dalam Tugas Akhir ini adalah :
1. Huruf yang digunakan adalah tulisan tangan berbentuk huruf kapital
dan huruf kecil (A-Z), dari 6 orang yang berbeda. Untuk data latih menggunakan 3 sampel dari 5 orang pertama. Untuk data uji terbagi menjadi 2 yaitu, 2 sampel dari 5 orang pertama dan 1 sampel dari oaring keenam.
2. Algoritma yang digunakan adalah Forward-Only Counter
Propagation.
3. Citra huruf tulisan tangan yang akan digunakan adalah 20 x 20 pixel
dengan format file bitmap (*. bmp).
1.4. Tujuan Tugas Akhir
Tujuan yang akan dicapai pada Tugas Akhir ini adalah merancang dan merealisasikan perangkat lunak yang berbasis jaringan saraf tiruan dengan
menggunakan algoritma Forward-Only Counter Propagation untuk pengenalan
huruf hasil tulisan tangan.
1.5. Sistematika Penulisan
Sistematika yang akan digunakan untuk menyusun laporan ini adalah sebagai berikut :
(3)
BAB I Pendahuluan
3 Universitas Kristen Maranatha Bab 1. Pendahuluan
Merupakan bab yang menjelaskan mengenai latar belakang masalah, identifikasi masalah, batasan masalah, tujuan Tugas Akhir, dan sistematika penulisan dari Tugas Akhir ini.
Bab 2. Landasan Teori
Merupakan bab yang disusun untuk memberikan penjelasan
mengenai jaringan saraf tiruan dan algoritma Forward-Only
Counter Propagation.
Bab 3. Perancangan Perangkat Lunak
Bab ini berisi penjelasan desain yang akan dilakukan untuk membuat piranti lunak untuk pengenalan huruf dari hasil tulisan
tangan dengan menggunakan algoritma Forward-Only Counter
Propagation.
Bab 4. Pengujian dan Data Pengamatan
Bab ini berisi hasil yang diperoleh dari penelitian dan analisa dari data yang diperoleh melalui Tugas Akhir ini.
Bab 5. Kesimpulan dan Saran
Berisi kesimpulan dan saran yang dapat diambil untuk melakukan pengembangan terhadap perangkat lunak dan sistem yang telah dibuat.
(4)
59 Universitas Kristen Maranatha
BAB V
SIMPULAN DAN SARAN
Pada bab ini disimpulkan hasil pengamatan dan saran-saran untuk perbaikan pada penelitian selanjutnya.
5.1 Simpulan
1. Proses pelatihan pengenalan huruf hasil dari tulisan tangan menggunakan
algoritma Forward-Only Counter Propagation menghasilkan nilai eror
pelatihan, yaitu 0.0045 untuk pengenalan huruf kapital dan 0.0054 untuk pengenalan huruf kecil.
2. Hasil pengujian untuk pengenalan huruf kapital sangat baik untuk mengenali
beberapa huruf kapital seperti, I, J, L, R, T, dan Z. Hal ini disebabkan bentuk
huruf – huruf tersebut lebih umum dan serupa. Huruf yang kurang baik
dikenali adalah huruf W, karena bentuk dari huruf W pada tulisan tangan tidak menunjukan bentuk huruf W secara utuh dan bentuknya lebih beragam dengan keberhasilan pengenalan 40%.
3. Hasil pengujian untuk pengenalan huruf kecil hasil tulisan tangan, sangat baik
untuk mengenali huruf O, karena hasil pengujiannya mencapai pengenalan 100%. Sedangkan huruf yang kurang baik dikenali adalah huruf N dengan keberhasilan 33.33%
4. Proses pengujian untuk data yang pernah dilatih, diperoleh persentase
keberhasilan 83.84% untuk huruf kapital, sedangkan huruf kecil memiliki keberhasilan 72.05%. keberhasilan dari data uji ini untuk dikenali adalah 77.94%. dari hasil pengujian tersebut dapat disimpulkan, bahwa huruf kapital lebih baik untuk dikenali dibandingkan huruf kecil.
5. Proses pengujian untuk huruf – huruf yang belum pernah dilatih memiliki
persentase keberhasilan pengenalan huruf 76.92% untuk huruf kapital dan 61.53% untuk huruf kecil pada data dari orang yang sama dengan pemilik data
(5)
BAB V Simpulan Dan Saran
60 Universitas Kristen Maranatha latih dengan keberhasilan data uji jenis ini dikenali yaitu 69.22%. Kemudian persentase 69.23% untuk huruf kapital dan 50% untuk huruf kecil pada data dari orang yang berbeda dengan pemilik data latih, pada pengujian jenis ketiga ini keberhasilan huruf untuk dikenali bernilai 59.61%.
6. Dari rata – rat secara keseluruhan, pengenalan huruf tulisan tangan baik untuk
mengenali huruf kapital dengan keberhasilan 76.66% sedangkan huruf kecil memiliki keberhasilan pengenalan 61.19%. Total keberhasilan pengenalan huruf tulisan tangan secara keseluruhan adalah 68.92%.
5.2 Saran
1. Algoritma Forward-Only Counter Propagation dapat dikembangkan
dengan menambah beberapa proses untuk pemrosesan awal pada citra, sehingga hasil yang dicapai dapat algoritma ini bisa lebih baik.
(6)
61 Universitas Kristen Maranatha
DAFTAR PUSTAKA
1. Away, Gunaidi Abdia. 2010. The Shortcut of MATLAB Programing. Bandung:
Informatika.
2. Fausett, L.. 1994. Fundamental of Neural Network; Architectures, Algorithms,and
Applications. Prentice Hall. New Jersey.
3. Hermawan, Arief. 2006. Jaringan Saraf Tiruan, Teori dan Aplikasi. Yogyakarta:
Andi
4. Kusumadewi,Sri. 2004. Membangun Jaringan Syaraf Tiruan Menggunakan
Matlab & Excel Link. Yogyakarta:Graha Ilmu.
5. Mubarok,M. Syahrul. Dkk. 2007. Artificial Neural Network Exclusive Training
2007.Bandung.
6. Munir, Rinaldi. 2004. Pengolahan Citra Digital dengan Pendekatan Algoritmik.
Bandung: Informatika.
7. Puspitaningrum, Dyah. 2006. Pengantar Jaringan Syaraf Tiruan. Yogyakarta:
Andi.
8. Siang,Jong Jek. 2004. Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan
Matlab. Yogyakarta: Andi.
9. Sugiharto, Aris. 2006. Pemrograman GUI dengan MATLAB. Yogyakarta:Andi
10.Wijaya, Marvin Ch & Agus Prijono. 2007. Pengolahan Citra Digital