• Tidak ada hasil yang ditemukan

Pengelompokan Huruf Cetak Menggunakan Algoritma ART 1 (Adaptive Resonance Theory 1).

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengelompokan Huruf Cetak Menggunakan Algoritma ART 1 (Adaptive Resonance Theory 1)."

Copied!
31
0
0

Teks penuh

(1)

vi

Universitas Kristen Maranatha

Pengelompokan Huruf Cetak

Menggunakan Algoritma Adaptive Resonance Theory 1

(ART 1)

Elisabeth Lany Oktorina/0222135

Email: geffen_ladi@yahoo.com

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha

Jln.Prof.Drg.Suria Sumantri 65, Bandung 40164, Indonesia

ABSTRAK

Sistem pengelompokan huruf adalah salah satu teknologi komputer yang dapat

membantu manusia. Pengelompokan huruf adalah suatu sistem data masukan berupa

huruf yang ada dalam lembaran kertas maupun yang ada dalam media tertentu yang

terdapat berbagai jenis huruf (

font

) yang dapat di-scan, yang akan menghasilkan

gambar pada komputer yang dikenali sebagai

bitmap

.

Pada algoritma ART 1 (

Adaptive Resonance Theory 1

) ini terdapat tiga lapisan

pada arsitekturnya. Lapisan pertama bagian masukan dan interface masukan,

sedangkan lapisan kedua terdiri dari sekelompok unit

cluster

, yang merupakan

lapisan kompetitif dan lapisan ketiga yang merupakan unit

reset

. Setiap masukan

dihitung sampai pelatihan (

epoch

) yang dinginkan dan tidak terjadinya perubahan

bobot lagi.

Pengelompokan huruf cetak menggunakan algoritma ART 1 berhasil

direalisasikan. Pengelompokan huruf cetak dapat terjadi berdasarkan dari pola yang

dihasilkan dari bobot akhir b

ij

. Pada pengelompokan pelatihan huruf kapital yang

dilatih tidak ada pengelompokan yang mirip antar

font

. Sedangkan pada

pengelompokan pelatihan huruf kecil ada yang mirip antara

font

Arial, Microsoft

Sans Sherif dan Tahoma. Untuk tahap pengujian, huruf yang diuji adalah tulisan

tangan yang hampir mirip dengan

font

Calibri.

(2)

vii

Universitas Kristen Maranatha

Clustering Fonts Using Adaptive Resonance Theory 1

Algorithm ( ART 1 )

Elisabeth Lany Oktorina / 0222135

Email : geffen_ladi@yahoo.com

Department of Electrical Engineering Maranatha Christian University

Jln.Prof.Drg.Suria Sumantri 65, Bandung 40164, Indonesia

ABSTRACT

This clustering font system which is made in this final project is different

types of block letters written in microsoft word which then processed to produce

images on a computer will be recognized as a bitmap. This bitmap is then be

processed further using Adaptive Resonance Theory 1 algorithm (ART 1).

In the Adaptive Resonance Theory (ART 1) there are three lapisans in its

architecture. The first lapisan of the input and the input interface, while the second

lapisan consists of a group of units of the cluster, which is a competitive lapisan and

the third lapisan which is a unit reset. Where each input is calculated to training

(epoch) is cool and no weight change occurs again.

From this final project, clustering font software successfully realized.

The clustering font could happen based from the pattern of final weight b

ij

. On the

clustering of the capital letter which being practiced, there is no similar clustering.

Mean while on the small letter practical, there are similarity between Arial,

Microsoft Sans Sherif and Tahoma font. For the test phase, the letter being test is

handwriting which almost similar with Calibri font.

Keywords : Bitmap, GUI, ART1, Adaptive Resonance Theory 1, reset, epoch,

(3)

viii

Universitas Kristen Maranatha

DAFTAR ISI

LEMBAR PENGESAHAN

... I

PERNYATAAN PUBLIKASI LAPORAN TUGAS AKHIR

... II

PERNYATAAN ORISINALITAS LAPORAN

... III

ABSTRAK

... VI

ABSTRACT

... VII

KATA PENGANTAR

... IV

DAFTAR ISI

... VIII

DAFTAR GAMBAR

... X

BAB I

PENDAHULUAN

... 1

1.1.

L

ATAR

B

ELAKANG

... 1

1.2.

R

UMUSAN

M

ASALAH

... 1

1.3.

T

UJUAN

P

EMBAHASAN

... 2

1.4.

B

ATASAN

BATASAN

M

ASALAH

... 2

1.5.

S

ISTEMATIKA

P

ENULISAN

... 2

BAB II

LANDASAN TEORI

... 4

2.1.

J

ARINGAN

S

YARAF

T

IRUAN[2]

... 4

2.2.

J

ARINGAN

S

YARAF

B

IOLOGI[7]

... 4

2.3.

K

OMPONEN

J

ARINGAN

S

YARAF[9]

... 5

2.4.

A

RSITEKTUR

J

ARINGAN[9]

... 7

2.5.

P

ROSES

P

EMBELAJARAN[9]

... 9

2.6.

F

UNGSI

A

KTIVASI[9]

... 10

2.7.

ART

(

A

DAPTIVE

R

ESONANCE

T

HEORY

)

[1]

... 12

2.7.1.

Dasar Arsitektur ART

[4]

... 13

2.7.2.

Operasi Dasar ART

[4]

... 13

2.7.3.

Adaptive Resonance Theory 1 (ART 1)

[5]

... 15

2.7.4.

Algoritma ART 1

[1]

... 17

2.7.5.

Contoh Aplikasi ART 1

[5]

... 20

2.7.6.

MATLAB

[8]

... 28

2.7.7.

Kemampuan dan kegunaan MATLAB

[10]

... 29

2.7.8.

Lingkup MATLAB

[3]

... 30

2.7.9.

Variabel Matlab

[8]

... 31

2.7.10.

Matriks

[3]

... 32

2.7.11.

Fungsi

fungsi Perintah Pada Matlab

[3]

... 33

(4)

ix

Universitas Kristen Maranatha

2.7.13.

Aturan dan Sifat

... 33

2.7.14.

Graphic User Interface (GUI) Matlab

[3]

... 34

BAB III

PERANCANGAN SISTEM

... 39

3.1.

A

RSITEKTUR

ART

1

PADA

P

ENGELOMPOKAN

H

URUF

... 39

3.2.

D

IAGRAM

A

LIR

... 41

3.2.1.

Diagram Alir Perangkat Lunak Secara Keseluruhan

... 41

3.2.2.

Diagram Alir Proses Awal Pada Citra

... 42

3.2.3.

Diagram Alir Pelatihan

... 45

3.2.4.

Diagram Alir Pengujian

... 52

3.3.

P

ERANCANGAN

A

NTARMUKA

P

EMAKAI

(U

SER

I

NTERFACE

)

... 53

BAB IV

DATA PENGAMATAN DAN ANALISA

... 57

4.1.

D

ATA

P

ELATIHAN DAN

P

ENGUJIAN

U

NTUK

P

ENGELOMPOKAN

H

URUF DENGAN

A

LGORITMA

ART

1

... 57

4.2.

P

ENGUJIAN

J

ENIS

H

URUF

... 72

4.3.

P

ENGUJIAN

P

ERANGKAT

L

UNAK

... 73

4.4.

A

NALISA

D

ATA

... 74

BAB V

KESIMPULAN DAN SARAN

... 78

5.1.

K

ESIMPULAN

... 78

5.2.

S

ARAN

... 78

DAFTAR PUSTAKA

... 79

LAMPIRAN A PROGRAM MATLAB

... A

(5)

x

Universitas Kristen Maranatha

DAFTAR GAMBAR

G

AMBAR

2.

1

S

USUNAN

S

YARAF

M

ANUSIA

... 5

G

AMBAR

2.

2

S

TRUKTUR

N

EURON

J

ARINGAN

S

YARAF

... 6

G

AMBAR

2.

3

J

ARINGAN

L

APISAN

T

UNGGAL

(

S

INGLE

L

APISAN

N

ETWORK

) ... 7

G

AMBAR

2.

4

J

ARINGAN

L

APISAN

J

AMAK

(

M

ULTILAPISAN

N

ETWORK

) ... 8

G

AMBAR

2.

5

F

UNGSI

T

HRESHOLD

J

ARINGAN

S

YARAF

T

IRUAN

... 11

G

AMBAR

2.

6

F

UNGSI

S

IGMOID

J

ARINGAN

S

YARAF

T

IRUAN

... 11

G

AMBAR

2.

7

A

RSITEKTUR

D

ASAR DARI

ART

1 ... 15

G

AMBAR

2.

8

U

NIT

T

AMBAHAN UNTUK

ART

1 ... 16

G

AMBAR

2.

9

T

AMPILAN

U

TAMA

P

ADA

M

ATLAB

... 31

G

AMBAR

2.

10

D

IAGRAM

P

EMROGRAMAN

B

ERBASIS

O

BJEK

... 35

G

AMBAR

2.

11

J

ENDELA

GUI

PADA

MATLAB ... 36

G

AMBAR

2.

12

T

AMPILAN

M-

FILE

GUI

PADA

MATLAB

(GUIDE) ... 37

G

AMBAR

3.

1

A

RSITEKTUR

ART

1 ... 39

G

AMBAR

3.

2

D

IAGRAM

A

LIR

P

ERANGKAT

L

UNAK

S

ECARA

K

ESELURUHAN

... 41

G

AMBAR

3.

3

D

IAGRAM

A

LIR

P

ROSES

A

WAL

P

ADA

C

ITRA

... 42

G

AMBAR

3.

4

C

ONTOH

H

URUF

M

ASUKAN

... 43

G

AMBAR

3.

5

D

IAGRAM

A

LIR

P

ELATIHAN

... 45

G

AMBAR

3.

6

D

IAGRAM

A

LIR

P

ENGUJIAN

... 52

G

AMBAR

3.

7

T

AMPILAN

M

ENU

U

TAMA

... 53

G

AMBAR

3.

8

R

ANCANGAN

T

AMPILAN

P

ROGRAM

M

ENU

P

ELATIHAN

... 54

G

AMBAR

3.

9

R

ANCANGAN

T

AMPILAN

P

ROGRAM

M

ENU

P

ENGUJIAN

... 55

G

AMBAR

4.

1

B

OBOT

A

KHIR

H

URUF

K

APITAL

A

RIAL

D

ENGAN

V

P

0.7………...62

G

AMBAR

4.

2

M

ASUKAN HURUF KAPITAL A ARIAL

………...

..63

G

AMBAR

4.

3

MASUKAN HURUF KAPITAL E ARIAL

………..63

G

AMBAR

4.

4

MASUKAN HURUF KAPITAL C ARIAL

………..64

G

AMBAR

4.

5

MASUKAN HURUF KAPITAL F ARIAL

………..64

G

AMBAR

4.

6

MASUKAN HURUF KAPITAL S ARIAL

………..70

(6)

xi

Universitas Kristen Maranatha

DAFTAR

TABEL

T

ABEL

3.

1

T

ABEL

P

ENJELASAN

R

ANCANGAN

T

AMPILAN

M

ENU

P

ELATIHAN

... 55

T

ABEL

3.

2

T

ABEL

P

ENJELASAN

R

ANCANGAN

T

AMPILAN

M

ENU

P

ENGUJIAN

... 56

T

ABEL

4.

1

D

ATA

P

ELATIHAN

H

URUF

B

ESAR

... 57

T

ABEL

4.

2

D

ATA

P

ELATIHAN

H

URUF

K

ECIL

... 59

T

ABEL

4.

3

P

ELATIHAN

H

URUF

K

APITAL

D

ENGAN

E

POCH

1000

DAN

V

IGILANCE

P

ARAMETER

(

VP

)

0.7

U

NTUK

H

URUF

A

RIAL

... 62

T

ABEL

4.

4

P

ELATIHAN

H

URUF

K

APITAL

D

ENGAN

E

POCH

1000

DAN

V

IGILANCE

P

ARAMETER

(

VP

)

0.7

U

NTUK

H

URUF

B

ATANG

... 67

T

ABEL

4.

5

P

ELATIHAN

H

URUF

K

APITAL

D

ENGAN

E

POCH

1000

DAN

V

IGILANCE

P

ARAMETER

(

VP

)

0.7

U

NTUK

H

URUF

C

ALIBRI

... 68

T

ABEL

4.

6

P

ELATIHAN

H

URUF

K

APITAL

D

ENGAN

E

POCH

1000

DAN

V

IGILANCE

P

ARAMETER

(

VP

)

0.7

U

NTUK

H

URUF

M

ICROSOFT

S

ANS

S

HERIF

... 68

T

ABEL

4.

7

P

ELATIHAN

H

URUF

K

APITAL

D

ENGAN

E

POCH

1000

DAN

V

IGILANCE

P

ARAMETER

(

VP

)

0.7

U

NTUK

H

URUF

T

AHOMA

... 69

T

ABEL

4.

8

P

ELATIHAN

H

URUF

K

APITAL

D

ENGAN

E

POCH

1000

DAN

V

IGILANCE

P

ARAMETER

(

VP

)

0.7

U

NTUK

H

URUF

T

IMES

N

EW

R

OMAN

... 69

T

ABEL

4.

9

P

ELATIHAN

H

URUF

K

ECIL

D

ENGAN

E

POCH

1000

DAN

V

IGILANCE

P

ARAMETER

(

VP

)

0.7

U

NTUK

H

URUF

A

RIAL

... 70

T

ABEL

4.

10

P

ELATIHAN

H

URUF

K

ECIL

D

ENGAN

E

POCH

1000

DAN

V

IGILANCE

P

ARAMETER

(

VP

)

0.7

U

NTUK

H

URUF

B

ATANG

... 70

T

ABEL

4.

11

P

ELATIHAN

H

URUF

K

ECIL

D

ENGAN

E

POCH

1000

DAN

V

IGILANCE

P

ARAMETER

(

VP

)

0.7

U

NTUK

H

URUF

C

ALIBRI

... 70

T

ABEL

4.

12

P

ELATIHAN

H

URUF

K

ECIL

D

ENGAN

E

POCH

1000

DAN

V

IGILANCE

P

ARAMETER

(

VP

)

0.7

U

NTUK

H

URUF

M

ICROSOFT

S

ANS

S

HERIF

... 71

T

ABEL

4.

13

P

ELATIHAN

H

URUF

K

ECIL

D

ENGAN

E

POCH

1000

DAN

V

IGILANCE

P

ARAMETER

(

VP

)

0.7

U

NTUK

H

URUF

T

AHOMA

... 71

T

ABEL

4.

14

P

ELATIHAN

H

URUF

K

ECIL

D

ENGAN

E

POCH

1000

DAN

V

IGILANCE

P

ARAMETER

(

VP

)

0.7

U

NTUK

H

URUF

T

IMES

N

EW

R

OMAN

... 72

(7)

xii

Universitas Kristen Maranatha

T

ABEL

4.

16

P

ERSAMAAN POLA BOBOT AKHIR KELOMPOK

4

HURUF BESAR VP

0.7 ...

74

T

ABEL

4.

17

P

ERSAMAAN POLA BOBOT AKHIR KELOMPOK

1

HURUF KECIL VP

0.7 ... 75

T

ABEL

4.

18

P

ERSAMAAN PENGELOMPOKAN HURUF KAPITAL VP

0.7 ... 76

(8)
(9)

A - 1

Program Membaca Huruf Kapital

% Preprocessing citra huruf besar

clc; clear all; close all;

A{1}=imread('Aarial.bmp'); A{2}=imread('Abatang.bmp'); A{3}=imread('Acalibri.bmp'); A{4}=imread('Asans.bmp'); A{5}=imread('Atahoma.bmp'); A{6}=imread('Atimes.bmp');

for i1=1:6,

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('Barial.bmp'); B{2}=imread('Bbatang.bmp'); B{3}=imread('Bcalibri.bmp'); B{4}=imread('Bsans.bmp'); B{5}=imread('Btahoma.bmp'); B{6}=imread('Btimes.bmp');

for i2=1:6,

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('Carial.bmp'); C{2}=imread('Cbatang.bmp'); C{3}=imread('Ccalibri.bmp'); C{4}=imread('Csans.bmp'); C{5}=imread('Ctahoma.bmp'); C{6}=imread('Ctimes.bmp');

for i3=1:6,

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('Darial.bmp'); D{2}=imread('Dbatang.bmp'); D{3}=imread('Dcalibri.bmp'); D{4}=imread('Dsans.bmp'); D{5}=imread('Dtahoma.bmp'); D{6}=imread('Dtimes.bmp');

for i4=1:6,

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('Earial.bmp'); E{2}=imread('Ebatang.bmp'); E{3}=imread('Ecalibri.bmp'); E{4}=imread('Esans.bmp'); E{5}=imread('Etahoma.bmp'); E{6}=imread('Etimes.bmp');

for i5=1:6,

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('Farial.bmp'); F{2}=imread('Fbatang.bmp'); F{3}=imread('Fcalibri.bmp'); F{4}=imread('Fsans.bmp'); F{5}=imread('Ftahoma.bmp'); F{6}=imread('Ftimes.bmp');

for i6=1:6,

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('Garial.bmp'); G{2}=imread('Gbatang.bmp'); G{3}=imread('Gcalibri.bmp'); G{4}=imread('Gsans.bmp'); G{5}=imread('Gtahoma.bmp'); G{6}=imread('Gtimes.bmp');

for i7=1:6,

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('Harial.bmp'); H{2}=imread('Hbatang.bmp'); H{3}=imread('Hcalibri.bmp'); H{4}=imread('Hsans.bmp'); H{5}=imread('Htahoma.bmp'); H{6}=imread('Htimes.bmp');

for i8=1:6,

(10)

A - 1

ubahbentuk{8,i8}=ubahwarna{8,i8}'; ubahbentuk{8,i8}=ubahbentuk{8,i8}(:); ubahbentuk{8,i8}=ubahbentuk{8,i8}'; end

I{1}=imread('Iarial.bmp'); I{2}=imread('Ibatang.bmp'); I{3}=imread('Icalibri.bmp'); I{4}=imread('Isans.bmp'); I{5}=imread('Itahoma.bmp'); I{6}=imread('Itimes.bmp');

for i9=1:6,

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('Jarial.bmp'); J{2}=imread('Jbatang.bmp'); J{3}=imread('Jcalibri.bmp'); J{4}=imread('Jsans.bmp'); J{5}=imread('Jtahoma.bmp'); J{6}=imread('Jtimes.bmp');

for i10=1:6,

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('Karial.bmp'); K{2}=imread('Kbatang.bmp'); K{3}=imread('Kcalibri.bmp'); K{4}=imread('Ksans.bmp'); K{5}=imread('Ktahoma.bmp'); K{6}=imread('Ktimes.bmp');

for i11=1:6,

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('Larial.bmp'); L{2}=imread('Lbatang.bmp'); L{3}=imread('Lcalibri.bmp'); L{4}=imread('Lsans.bmp'); L{5}=imread('Ltahoma.bmp'); L{6}=imread('Ltimes.bmp');

for i12=1:6,

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('Marial.bmp'); M{2}=imread('Mbatang.bmp'); M{3}=imread('Mcalibri.bmp'); M{4}=imread('Msans.bmp'); M{5}=imread('Mtahoma.bmp'); M{6}=imread('Mtimes.bmp');

for i13=1:6,

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('Narial.bmp'); N{2}=imread('Nbatang.bmp'); N{3}=imread('Ncalibri.bmp'); N{4}=imread('Nsans.bmp'); N{5}=imread('Ntahoma.bmp'); N{6}=imread('Ntimes.bmp');

for i14=1:6,

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('Oarial.bmp'); O{2}=imread('Obatang.bmp'); O{3}=imread('Ocalibri.bmp'); O{4}=imread('Osans.bmp'); O{5}=imread('Otahoma.bmp'); O{6}=imread('Otimes.bmp');

for i15=1:6,

(11)

A - 2

ubahbentuk{15,i15}=ubahbentuk{15,i15}';

end

P{1}=imread('Parial.bmp'); P{2}=imread('Pbatang.bmp'); P{3}=imread('Pcalibri.bmp'); P{4}=imread('Psans.bmp'); P{5}=imread('Ptahoma.bmp'); P{6}=imread('Ptimes.bmp');

for i16=1:6,

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('Qarial.bmp'); Q{2}=imread('Qbatang.bmp'); Q{3}=imread('Qcalibri.bmp'); Q{4}=imread('Qsans.bmp'); Q{5}=imread('Qtahoma.bmp'); Q{6}=imread('Qtimes.bmp');

for i17=1:6,

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('Rarial.bmp'); R{2}=imread('Rbatang.bmp'); R{3}=imread('Rcalibri.bmp'); R{4}=imread('Rsans.bmp'); R{5}=imread('Rtahoma.bmp'); R{6}=imread('Rtimes.bmp');

for i18=1:6,

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('Sarial.bmp'); S{2}=imread('Sbatang.bmp'); S{3}=imread('Scalibri.bmp'); S{4}=imread('Ssans.bmp');

S{5}=imread('Stahoma.bmp'); S{6}=imread('Stimes.bmp');

for i19=1:6,

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('Tarial.bmp'); T{2}=imread('Tbatang.bmp'); T{3}=imread('Tcalibri.bmp'); T{4}=imread('Tsans.bmp'); T{5}=imread('Ttahoma.bmp'); T{6}=imread('Ttimes.bmp');

for i20=1:6,

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('Uarial.bmp'); U{2}=imread('Ubatang.bmp'); U{3}=imread('Ucalibri.bmp'); U{4}=imread('Usans.bmp'); U{5}=imread('Utahoma.bmp'); U{6}=imread('Utimes.bmp');

for i21=1:6,

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('Varial.bmp'); V{2}=imread('Vbatang.bmp'); V{3}=imread('Vcalibri.bmp'); V{4}=imread('Vsans.bmp'); V{5}=imread('Vtahoma.bmp'); V{6}=imread('Vtimes.bmp');

for i22=1:6,

ubahukuran{22,i22}=imresize(V{i22},[20 20]);

(12)

A - 3

ubahbentuk{22,i22}=ubahwarna{22,i22}'; ubahbentuk{22,i22}=ubahbentuk{22,i22}(:); ubahbentuk{22,i22}=ubahbentuk{22,i22}'; end

W{1}=imread('Warial.bmp'); W{2}=imread('Wbatang.bmp'); W{3}=imread('Wcalibri.bmp'); W{4}=imread('Wsans.bmp'); W{5}=imread('Wtahoma.bmp'); W{6}=imread('Wtimes.bmp');

for i23=1:6,

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('Xarial.bmp'); X{2}=imread('Xbatang.bmp'); X{3}=imread('Xcalibri.bmp'); X{4}=imread('Xsans.bmp'); X{5}=imread('Xtahoma.bmp'); X{6}=imread('Xtimes.bmp');

for i24=1:6,

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('Yarial.bmp'); Y{2}=imread('Ybatang.bmp'); Y{3}=imread('Ycalibri.bmp'); Y{4}=imread('Ysans.bmp'); Y{5}=imread('Ytahoma.bmp'); Y{6}=imread('Ytimes.bmp');

for i25=1:6,

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('Zarial.bmp'); Z{2}=imread('Zbatang.bmp');

Z{3}=imread('Zcalibri.bmp'); Z{4}=imread('Zsans.bmp'); Z{5}=imread('Ztahoma.bmp'); Z{6}=imread('Ztimes.bmp');

for i26=1:6,

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

Program Membaca Huruf Kecil

% Preprocessing citra

clc; clear all; close all;

a{1}=imread('aarial.bmp'); a{2}=imread('abatang.bmp'); a{3}=imread('acalibri.bmp'); a{4}=imread('asans.bmp'); a{5}=imread('atahoma.bmp'); a{6}=imread('atimes.bmp');

for i1=1:6,

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('barial.bmp'); b{2}=imread('bbatang.bmp'); b{3}=imread('bcalibri.bmp'); b{4}=imread('bsans.bmp'); b{5}=imread('btahoma.bmp'); b{6}=imread('btimes.bmp');

for i2=1:6,

(13)

A - 4

end

c{1}=imread('carial.bmp'); c{2}=imread('cbatang.bmp'); c{3}=imread('ccalibri.bmp'); c{4}=imread('csans.bmp'); c{5}=imread('ctahoma.bmp'); c{6}=imread('ctimes.bmp');

for i3=1:6,

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('darial.bmp'); d{2}=imread('dbatang.bmp'); d{3}=imread('dcalibri.bmp'); d{4}=imread('dsans.bmp'); d{5}=imread('dtahoma.bmp'); d{6}=imread('dtimes.bmp');

for i4=1:6,

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('earial.bmp'); e{2}=imread('ebatang.bmp'); e{3}=imread('ecalibri.bmp'); e{4}=imread('esans.bmp'); e{5}=imread('etahoma.bmp'); e{6}=imread('etimes.bmp');

for i5=1:6,

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('farial.bmp'); f{2}=imread('fbatang.bmp'); f{3}=imread('fcalibri.bmp'); f{4}=imread('fsans.bmp'); f{5}=imread('ftahoma.bmp'); f{6}=imread('ftimes.bmp');

for i6=1:6,

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('garial.bmp'); g{2}=imread('gbatang.bmp'); g{3}=imread('gcalibri.bmp'); g{4}=imread('gsans.bmp'); g{5}=imread('gtahoma.bmp'); g{6}=imread('gtimes.bmp');

for i7=1:6,

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('harial.bmp'); h{2}=imread('hbatang.bmp'); h{3}=imread('hcalibri.bmp'); h{4}=imread('hsans.bmp'); h{5}=imread('htahoma.bmp'); h{6}=imread('htimes.bmp');

for i8=1:6,

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('iarial.bmp'); i{2}=imread('ibatang.bmp'); i{3}=imread('icalibri.bmp'); i{4}=imread('isans.bmp'); i{5}=imread('itahoma.bmp'); i{6}=imread('itimes.bmp');

for i9=1:6,

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('jarial.bmp'); j{2}=imread('jbatang.bmp'); j{3}=imread('jcalibri.bmp'); j{4}=imread('jsans.bmp'); j{5}=imread('jtahoma.bmp'); j{6}=imread('jtimes.bmp');

for i10=1:6,

(14)

A - 5

k{1}=imread('karial.bmp'); k{2}=imread('kbatang.bmp'); k{3}=imread('kcalibri.bmp'); k{4}=imread('ksans.bmp'); k{5}=imread('ktahoma.bmp'); k{6}=imread('ktimes.bmp');

for i11=1:6,

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('larial.bmp'); l{2}=imread('lbatang.bmp'); l{3}=imread('lcalibri.bmp'); l{4}=imread('lsans.bmp'); l{5}=imread('ltahoma.bmp'); l{6}=imread('ltimes.bmp');

for i12=1:6,

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('marial.bmp'); m{2}=imread('mbatang.bmp'); m{3}=imread('mcalibri.bmp'); m{4}=imread('msans.bmp'); m{5}=imread('mtahoma.bmp'); m{6}=imread('mtimes.bmp');

for i13=1:6,

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('narial.bmp'); n{2}=imread('nbatang.bmp'); n{3}=imread('ncalibri.bmp'); n{4}=imread('nsans.bmp'); n{5}=imread('ntahoma.bmp'); n{6}=imread('ntimes.bmp');

for i14=1:6,

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('oarial.bmp'); o{2}=imread('obatang.bmp'); o{3}=imread('ocalibri.bmp'); o{4}=imread('osans.bmp'); o{5}=imread('otahoma.bmp'); o{6}=imread('otimes.bmp');

for i15=1:6,

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('parial.bmp'); p{2}=imread('pbatang.bmp'); p{3}=imread('pcalibri.bmp'); p{4}=imread('psans.bmp'); p{5}=imread('ptahoma.bmp'); p{6}=imread('ptimes.bmp');

for i16=1:6,

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('qarial.bmp'); q{2}=imread('qbatang.bmp'); q{3}=imread('qcalibri.bmp'); q{4}=imread('qsans.bmp'); q{5}=imread('qtahoma.bmp'); q{6}=imread('qtimes.bmp');

for i17=1:6,

(15)

A - 6

r{1}=imread('rarial.bmp'); r{2}=imread('rbatang.bmp'); r{3}=imread('rcalibri.bmp'); r{4}=imread('rsans.bmp'); r{5}=imread('rtahoma.bmp'); r{6}=imread('rtimes.bmp');

for i18=1:6,

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('sarial.bmp'); s{2}=imread('sbatang.bmp'); s{3}=imread('scalibri.bmp'); s{4}=imread('ssans.bmp'); s{5}=imread('stahoma.bmp'); s{6}=imread('stimes.bmp');

for i19=1:6,

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('tarial.bmp'); t{2}=imread('tbatang.bmp'); t{3}=imread('tcalibri.bmp'); t{4}=imread('tsans.bmp'); t{5}=imread('ttahoma.bmp'); t{6}=imread('ttimes.bmp');

for i20=1:6,

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('uarial.bmp'); u{2}=imread('ubatang.bmp'); u{3}=imread('ucalibri.bmp'); u{4}=imread('usans.bmp'); u{5}=imread('utahoma.bmp'); u{6}=imread('utimes.bmp');

for i21=1:6,

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('varial.bmp'); v{2}=imread('vbatang.bmp'); v{3}=imread('vcalibri.bmp'); v{4}=imread('vsans.bmp'); v{5}=imread('vtahoma.bmp'); v{6}=imread('vtimes.bmp');

for i22=1:6,

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('warial.bmp'); w{2}=imread('wbatang.bmp'); w{3}=imread('wcalibri.bmp'); w{4}=imread('wsans.bmp'); w{5}=imread('wtahoma.bmp'); w{6}=imread('wtimes.bmp');

for i23=1:6,

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('xarial.bmp'); x{2}=imread('xbatang.bmp'); x{3}=imread('xcalibri.bmp'); x{4}=imread('xsans.bmp'); x{5}=imread('xtahoma.bmp'); x{6}=imread('xtimes.bmp');

for i24=1:6,

(16)

A - 7

y{1}=imread('yarial.bmp'); y{2}=imread('ybatang.bmp'); y{3}=imread('ycalibri.bmp'); y{4}=imread('ysans.bmp'); y{5}=imread('ytahoma.bmp'); y{6}=imread('ytimes.bmp');

for i25=1:6,

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('zarial.bmp'); z{2}=imread('zbatang.bmp'); z{3}=imread('zcalibri.bmp'); z{4}=imread('zsans.bmp'); z{5}=imread('ztahoma.bmp'); z{6}=imread('ztimes.bmp');

for i26=1:6,

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

Program Pelatihan Huruf Kapital

% TAbesar

clc; clear all; vp =0.5; m=26; L=2; n= 400; epn=1000; b=zeros(n,m)+L/(L-1+n); t=zeros(m,n)+1; load inputinputbesar; input_final=[]; input3=[];

for jj=1:156,

input1=[]; input1=inputbesar{jj}; input4=[]; input3=[input3 ;input1]; end data=input3; s=data; c=length(s); con=1; epoch=0;

while con for I=1:156; x=s(I,:); y=zeros(1,m); ns=sum(x); for j=1:m; if y(j)~=-1; for i=1:400; y(j)=b(i,j)*x(i); end end end con1=1; while con1; for j=1:m; if y(j)==max(y); J=j;

break

end

end

if y(J)==-1; con1=0; else

for i=1:n; x(i)=s(I,i)*t(J,i); end

nx=sum(x); if nx/ns < vp; y(J)=-1; con1=1; else con1=0; end end end cl(I)=J;

for i = 1:n;

b(i,J)=L*x(i)/(L-1+nx); t(J,i)=x(i);

end

end

(17)

A - 8

for i=1:n;

for j=1:m; if b(i,j)>0; pb(i,j)=1; else pb(i,j)=-1; end end end pb=pb'; save bb

save tb

Program Pelatihan Huruf Kecil

% TAbesar

clc; clear all; vp =0.5; m=26; L=2; n= 400; epn=100; b=zeros(n,m)+L/(L-1+n); t=zeros(m,n)+1; load inputinputkecil; input_final=[]; input31=[];

for jj1=1:156, input11=[]; input11=inputkecil{jj1}; input41=[]; input31=[input31 ;input11]; end data=input31; s=data; c=length(s); con=100; epoch=0;

while con for I=1:156; x=s(I,:); y=zeros(1,m); ns=sum(x); for j=1:m; if y(j)~=-1; for i=1:400; y(j)=b(i,j)*x(i); end end end con1=1; while con1; for j=1:m; if y(j)==max(y); J=j;

break

end

end

if y(J)==-1; con1=0; else

for i=1:n; x(i)=s(I,i)*t(J,i); end

nx=sum(x); if nx/ns < vp; y(J)=-1; con1=1; else con1=0; end end end cl(I)=J;

for i = 1:n;

b(i,J)=L*x(i)/(L-1+nx); t(J,i)=x(i); t1=t(1,:); end end epoch=epoch+1; if epoch==epn; con=0; end end for i=1:n; for j=1:m; if b(i,j)>0; pb(i,j)=1; else pb(i,j)=-1; end end end pb=pb'; save bk

(18)

A - 9

Program GUI untuk Pelatihan

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @latihbesar1_OpeningFcn, ...

'gui_OutputFcn', @latihbesar1_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% TAbesar

clc; clear all; vp3=0.3; m=26; L=2; n= 400; epn=100; b=zeros(n,m)+L/(L-1+n); t=zeros(m,n)+1; load inputinputbesar; input_final=[]; input3=[];

for jj=1:156, input1=[]; input1=inputbesar{jj}; input4=[]; input3=[input3 ;input1]; end data=input3; s=data; c=length(s); con=1; epoch=0;

while con

for I=1:156; x=s(I,:); y=zeros(1,m); ns=sum(x); for j=1:m; if y(j)~=-1; for i=1:400; y(j)=b(i,j)*x(i); end end end con1=1; while con1; for j=1:m; if y(j)==max(y); J=j;

break

end

end

if y(J)==-1; con1=0; else

for i=1:n; x(i)=s(I,i)*t(J,i); end

nx=sum(x); if nx/ns < vp3; y(J)=-1; con1=1; else con1=0; end end end cl(I)=J;

for i = 1:n;

b(i,J)=L*x(i)/(L-1+nx); t(J,i)=x(i);

end

end

epoch=epoch+1; if epoch==epn; con=0; end end for i=1:n; for j=1:m; if b(i,j)>0; pb(i,j)=1; else pb(i,j)=-1; end end end pb=pb'; save bb3

(19)

A - 10

myform=guidata(gcbo); set(myform.edit2,'string',vp3); set(myform.edit1,'string',epn); set(myform.listbox2,'string',yall3);

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

function edit1_Callback(hObject, eventdata, handles)

% hObject handle to edit1 (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 edit1 as text

% str2double(get(hObject,'String')) returns contents of edit1 as a double

% --- Executes during object creation, after setting all properties.

function edit1_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc &&

isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function edit2_Callback(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as text

% str2double(get(hObject,'String')) returns contents of edit2 as a double

vp=str2num(get(edit2,'string'))

% --- Executes during object creation, after setting all properties.

function edit2_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc &&

isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

% --- Executes when entered data in editable cell(s) in uitable1.

function uitable1_CellEditCallback(hObject, eventdata, handles)

% hObject handle to uitable1 (see GCBO) % eventdata structure with the following fields (see UITABLE)

% Indices: row and column indices of the cell(s) edited

% PreviousData: previous data for the cell(s) edited

% EditData: string(s) entered by the user % NewData: EditData or its converted form set on the Data property. Empty if Data was not changed

% Error: error string when failed to convert EditData to appropriate value for Data

% handles structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns listbox1 contents as cell array

% contents{get(hObject,'Value')} returns selected item from listbox1

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

(20)

A - 11

function edit3_Callback(hObject, eventdata,

handles)

% hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit3 as text

% str2double(get(hObject,'String')) returns contents of edit3 as a double

% --- Executes during object creation, after setting all properties.

function edit3_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc &&

isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

% --- Executes when entered data in editable cell(s) in uitable3.

function uitable3_CellEditCallback(hObject, eventdata, handles)

% hObject handle to uitable3 (see GCBO) % eventdata structure with the following fields (see UITABLE)

% Indices: row and column indices of the cell(s) edited

% PreviousData: previous data for the cell(s) edited

% EditData: string(s) entered by the user % NewData: EditData or its converted form set on the Data property. Empty if Data was not changed

% Error: error string when failed to convert EditData to appropriate value for Data

% handles structure with handles and user data (see GUIDATA)

% --- Executes during object creation, after setting all properties.

function uitable3_CreateFcn(hObject, eventdata, handles)

% hObject handle to uitable3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% --- Executes when selected cell(s) is changed in uitable6.

function uitable6_CellSelectionCallback(hObject, eventdata, handles)

% hObject handle to uitable6 (see GCBO) % eventdata structure with the following fields (see UITABLE)

% Indices: row and column indices of the cell(s) currently selecteds

% handles structure with handles and user data (see GUIDATA)

% --- Executes when entered data in editable cell(s) in uitable6.

function uitable6_CellEditCallback(hObject, eventdata, handles)

% hObject handle to uitable6 (see GCBO) % eventdata structure with the following fields (see UITABLE)

% Indices: row and column indices of the cell(s) edited

% PreviousData: previous data for the cell(s) edited

% EditData: string(s) entered by the user % NewData: EditData or its converted form set on the Data property. Empty if Data was not changed

% Error: error string when failed to convert EditData to appropriate value for Data

% handles structure with handles and user data (see GUIDATA)

% Hint: slider controls usually have a light gray background.

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]);

end

% --- Executes during object creation, after setting all properties.

function uitable6_CreateFcn(hObject, eventdata, handles)

% hObject handle to uitable6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

(21)

A - 12

Program GUI Untuk Pengujian

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @latihbesar1_OpeningFcn, ...

'gui_OutputFcn', @latihbesar1_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% TAbesar

clc; clear all; vp =0.3; m=26; L=2; n= 400; epn=1; load bb3

load tb3

A{1}=imread('Aarial.bmp');

for i1=1,

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 ubahbentuk=ubahbentuk'; ubahbentuk=ubahbentuk(:); inputA1=ubahbentuk;

save inputinputA1

load inputinputA1; input_final=[];

input3=[];

for jj=1 input1=[]; input1=inputA1{jj}; input4=[]; input3=[input3 ;input1]; end data=input3; s=data; c=length(s); con=1; epoch=0;

while con for I=1; x=s(I,:); y=zeros(1,m); ns=sum(x); for j=1:m; if y(j)~=-1; for i=1:400; y(j)=b(i,j)*x(i); end end end con1=1; while con1; for j=1:m; if y(j)==max(y); J=j;

break

end

end

if y(J)==-1; con1=0; else

for i=1:n; x(i)=s(I,i)*t(J,i); end

nx=sum(x); if nx/ns < vp; y(J)=-1; con1=1; else con1=0; end end end cl(I)=J; end epoch=epoch+1; if epoch==epn; con=0; end end

yA1=y; save yA1

(22)

A - 13

set(myform.edit1,'string',epn); set(myform.listbox2,'string',yall3);

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

function edit1_Callback(hObject, eventdata, handles)

% hObject handle to edit1 (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 edit1 as text

% str2double(get(hObject,'String')) returns contents of edit1 as a double

% --- Executes during object creation, after setting all properties.

function edit1_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc &&

isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function edit2_Callback(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as text

% str2double(get(hObject,'String')) returns contents of edit2 as a double

vp=str2num(get(edit2,'string'))

% --- Executes during object creation, after setting all properties.

function edit2_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc &&

isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

% --- Executes when entered data in editable cell(s) in uitable1.

function uitable1_CellEditCallback(hObject, eventdata, handles)

% hObject handle to uitable1 (see GCBO) % eventdata structure with the following fields (see UITABLE)

% Indices: row and column indices of the cell(s) edited

% PreviousData: previous data for the cell(s) edited

% EditData: string(s) entered by the user % NewData: EditData or its converted form set on the Data property. Empty if Data was not changed

% Error: error string when failed to convert EditData to appropriate value for Data

% handles structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns listbox1 contents as cell array

% contents{get(hObject,'Value')} returns selected item from listbox1

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

% TAbesar

(23)

A - 14

function edit3_Callback(hObject, eventdata,

handles)

% hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit3 as text

% str2double(get(hObject,'String')) returns contents of edit3 as a double

% --- Executes during object creation, after setting all properties.

function edit3_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc &&

isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

% --- Executes when entered data in editable cell(s) in uitable3.

function uitable3_CellEditCallback(hObject, eventdata, handles)

% hObject handle to uitable3 (see GCBO) % eventdata structure with the following fields (see UITABLE)

% Indices: row and column indices of the cell(s) edited

% PreviousData: previous data for the cell(s) edited

% EditData: string(s) entered by the user % NewData: EditData or its converted form set on the Data property. Empty if Data was not changed

% Error: error string when failed to convert EditData to appropriate value for Data

% handles structure with handles and user data (see GUIDATA)

% --- Executes during object creation, after setting all properties.

function uitable3_CreateFcn(hObject, eventdata, handles)

% hObject handle to uitable3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% --- Executes when selected cell(s) is changed in uitable6.

function uitable6_CellSelectionCallback(hObject, eventdata, handles)

% hObject handle to uitable6 (see GCBO) % eventdata structure with the following fields (see UITABLE)

% Indices: row and column indices of the cell(s) currently selecteds

% handles structure with handles and user data (see GUIDATA)

% --- Executes when entered data in editable cell(s) in uitable6.

function uitable6_CellEditCallback(hObject, eventdata, handles)

% hObject handle to uitable6 (see GCBO) % eventdata structure with the following fields (see UITABLE)

% Indices: row and column indices of the cell(s) edited

% PreviousData: previous data for the cell(s) edited

% EditData: string(s) entered by the user % NewData: EditData or its converted form set on the Data property. Empty if Data was not changed

% Error: error string when failed to convert EditData to appropriate value for Data

% handles structure with handles and user data (see GUIDATA)

% Hint: slider controls usually have a light gray background.

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]);

end

% --- Executes during object creation, after setting all properties.

function uitable6_CreateFcn(hObject, eventdata, handles)

% hObject handle to uitable6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

(24)
(25)

B - 1

PengelompokanHurufKapital Arial Vp 0.3

Kelompok

Data Pelatihan

Kelompok 1

A, B, C, D, E, F, G, H, I, J, K, L, M,

N, O, P, Q, R, S, T, U, V, W, X, Y,

Z

PengelompokanHurufKapitalBatangVp 0.3

Kelompok

Data Pelatihan

Kelompok 1

A, B, C, D, E, F, G, H, I, J, K, L, M,

N, O, P, Q, R, S, T, U, V, W, X, Y,

Z

PengelompokanHurufKapital Calibri Vp 0.3

Kelompok

Data Pelatihan

Kelompok 1

A, B, C, D, E, F, G, H, I, J, K, L, M,

N, O, P, Q, R, S, T, U, V, W, X, Y,

Z

PengelompokanHurufKapital Microsoft SansSherifVp 0.3

Kelompok

Data Pelatihan

Kelompok 1

A, B, C, D, E, F, G, H, I, J, K, L, M,

(26)

B -2

PengelompokanHurufKapital Tahoma Vp 0.3

Kelompok

Data Pelatihan

Kelompok 1

A, B, C, D, E, F, G, H, I, J, K, L, M,

N, O, P, Q, R, S, T, U, V, W, X, Y,

Z

PengelompokanHurufKapital Times New Roman Vp 0.3

Kelompok

Data Pelatihan

(27)

1

Universitas Kristen Maranatha

BAB I

PENDAHULUAN

1.1.

Latar Belakang

Sistem pengelompokan huruf (

character recognition system

) adalah salah

satu teknologi komputer yang dapat membantu manusia. Pengelompokan huruf

adalah suatu sistem data masukan berupa huruf yang ada dalam lembaran kertas

maupun yang ada dalam media tertentu yang terdapat berbagai jenis huruf (

font

)

yang dapat di-scan, menggunakan scanner yang akan menghasilkan gambar yang

pada komputer yang akan dikenali sebagai titik-titik (

bitmap

),

bitmap

inilah yang

kemudian akan diproses lebih lanjut dengan menggunakan Jaringan Saraf Tiruan

(JST) agar menjadi karakter sehingga dapat dikenali dan dapat diolah menjadi

sebuah informasi.

Dalam Jaringan Saraf Tiruan (JST) terdapat banyak algoritma

clustering

(pengelompokan); antara lain: algoritma perceptron, algoritma hebb, algoritma

backpropagation, algoritma kohonen, dan salah satunya algoritma

Adaptive

Resonance Theory

( ART ).

Tugas Akhir ini akan merancang dan merealisasikan perangkat lunak untuk

pengelompokan huruf dengan menggunakan algoritma ART. Algoritma ART

adalah algoritma yang dikembangkan oleh Stephen Grossberg dan Carpenter.

Algoritma ART termasuk kategori metode

unsupervised learning

.

1.2.

Rumusan Masalah

Dalam pembuatan Tugas Akhir ini terdapat beberapa identifikasi masalah.

Adapun identifikasi masalah tersebut antara lain :

1.

Bagaimana merancang JST (Jaringan Saraf Tiruan) dengan menggunakan

algoritma ART 1 dalam matlab?

(28)

2

Universitas Kristen Maranatha

1.3.

Tujuan Pembahasan

Tujuan yang nantinya akan dicapai melalui Tugas Akhir ini adalah :

1.

Memahami dan menerapkan algoritma ART1 (

Adaptive Resonance

Theory 1

) untuk pengelompokan huruf.

2.

Merancang perangkat lunak yang dapat melakukan klasifikasi huruf

berbasis jaringan syaraf tiruan dengan menggunakan algoritma ART 1.

1.4.

Batasan

batasan Masalah

Batasan-batasan masalah dalam Tugas Akhir ini adalah :

1.

Huruf yang digunakan adalah huruf A-Z ; a-z.

2.

Huruf yang akan dikenali adalah huruf cetak dari 6 jenis huruf (

font

)

yaitu: Arial, Batang, Calibri, Microsoft Sans Sherif, Tahoma, Times

New Roman.

3.

Teknik pengelompokan pola yang digunakan adalah

Adaptive

Resonance Theory 1

(ART 1) .

4.

Citra huruf yang akan digunakan adalah 20x20

pixel/character

dengan

format bitmap

(

file

bmp).

1.5.

Sistematika Penulisan

Sistematika yang akan digunakan untuk menyusun laporan ini adalah

sebagai berikut :

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 ART 1 (

Adaptive

(29)

3

Universitas Kristen Maranatha

Bab 3. Perancangan sistem

Bab ini berisi penjelasan desain yang akan dilakukan untuk

membuat software pengelompokan huruf dengan menggunakan

algoritma ART 1 (

Adaptive Resonance Theory 1).

Bab 4. Analisa

Bab ini berisi hasil yang diperoleh dari penelitian dan analisa data

yang diperoleh melalui Tugas Akhir ini.

Bab 5. Kesimpulan dan Saran

Berisi kesimpulan dan saran yang dapat diambil untuk melakukan

(30)

78

Universitas Kristen Maranatha

BAB V

KESIMPULAN DAN SARAN

5.1.

Kesimpulan

·

Pengelompokan huruf cetak menggunakan algoritma ART 1 (

Adaptive

Resonance Theory 1

) berhasil direalisasikan.

·

Dalam tahap pelatihan,

vigilance parameter

(vp) akan mempengaruhi jumlah

kelompok yang terbentuk. Semakin tinggi

vigilance parameter

(vp) , jumlah

kelompok yang terbentuk akan semakin banyak.

·

Pengelompokan huruf cetak ini dapat terjadi berdasarkan dari pola yang

dihasilkan dari bobot akhir b

ij

.

·

Pada pengelompokan huruf kapital yang dilatih tidak ada pengelompokan

yang mirip antara satu jenis

font

dengan

font

yang lain.

·

Pada pengelompokan huruf kecil yang dilatih ada pengelompokan yang mirip

antara

font

Arial,

font

Microsoft Sans Sherif dan

font

Tahoma.

·

Untuk tahap pengujian, huruf yang diuji adalah tulisan tangan yang hampir

mirip dengan

font

Calibri.

5.2.

Saran

Dalam Tugas Akhir ini ada beberapa saran untuk perbaikan, diantaranya

adalah:

·

Hasil pengelompokan akan lebih baik jika ditambahkan dengan metoda K-

Means.

·

Adaptive Resonance Theory 1 (ART 1) dapat digunakan juga untuk

(31)

79

Universitas Kristen Maranatha

DAFTAR PUSTAKA

1.

Artificial Neural network exclusive training 2007. STT Telkom, Bandung,hal.11.

2.

Carpenter G.A. y Grossberg S. “ART1:

Selforganizingof stable category

recognition codes for analog input patterns

. Applied Optics

,

Vol. 16,

N

23,

December, 1987.Walker, James S, “Wavelet and Their Scientific Applications

,

CRC Press, 1999.

3.

Drs.Jong Jek Siang,M.Sc,(Jaringan Syaraf Tiruan dan Pemogramannya

menggunakan Matlab),2005,hal. 25.

4.

Erick Paulus, Yessica Nataliani,

“GUI Matlab”

, Penerbit Andi Yogyakarta,

2007.

5.

Forum Teknik Jilid 21, No.2, Juli 1997.

6.

Laurene Fausett, (Fundamentals of neural networks).

7.

Saludin Muis, Teknik Jaringan Syaraf Tiruan, 2006, hal 235.

8.

Sri Kusumadewi,

Artificial Integence (Teknik dan Aplikasi),2003

, hal. 207.

9.

Sri Kusumadewi,

Membangun Jaringan Saraf Tiruan (Menggunakan MATLAB

dan ExcelLink),

2004, hal.1.

10.

S N Sivanandam, S Sumathi, S N Deepa, Introduction to Neural Netwoks using

MATLAB 6.0.

11.

Sugiharto,Aris.2006.pemrograman GUI dengan MATLAB.Yogyakarta:Andi.

12.

Talib Hashim Hasan,

Belajar Sendiri Dasar-dasar Pemrograman MATLAB

Referensi

Dokumen terkait

Instrumen penelitian pada penelitian ini menggunakan kuesioner untuk mengetahui perilaku beresiko masyarakat terhadap demam berdarah dengue (DBD), dan keberadaan

Setelah berdiskusi siswa diharapkan mampu menyajikan dalam bentuk tulisan tentang perkembangan kerajaan –kerajaan Islam di Jawa.. Setelah berdiskusi siswa diharapkan

dalam pasal 11 ayat (1) dilakukan paling lama 1 (satu) bulan sejak diterimanya permohonan pengembalian kelebihan pembayaran pajak sehubungan diterbitkannya Surat

Demikian juga dengan kepemimpinan manajer yang menunjukkan kategori kurang baik dengan persentase 70%.Hasil penelitian ini juga menunjukkan bahwa adanya hubungan yang

Hal itu dipertegas melalui Permendiknas Nomor 41 Tahun 2007 tentang standar proses yang berbunyi perencanaanproses pembelajaran yang mensyaratkan pendidik untuk mengembangkan

yang ditemukan selama pengamatan adalah Gejala serangan Penggerek Batang padi, populasi Wereng hijau dan Walang sangit (lihat gambar 4, 5 dan Lampiran 2), Hasil pengamatan rata

Yohanes Indrayono/Iman Santoso, S.E.. Yohanes Indrayono/Iman

Swasakti Utama Tasikmalaya yang didasarkan pada hasil dari analisis faktor internal dan analisis faktor eksternal juga analisis SWOT yang kemudian datanya digunakan