Pengenalan Huruf Hasil Dari Tulisan Tangan Menggunakan Algoritma Forward-Only Counter Propagation.

(1)

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 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


(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