PENGENALAN POLA BAHASA JAWA (CARAKA) DENGAN ALGORTIMA ALGORTIMA BACKPROPAGATION
Oleh : Moh. Rochma Wah!" Ma#laa ( $%&'&*&$+ )
Program Studi S2 Pendidikan Teknologi dan Kejuruan Program Pascasarjana Universitas Negeri Surabaya 0|Page
2016 1.1. Back Propagation Neural Network ( BPNN BPNN )
BPNN merupakan algoritma pelatian terbimbing yang mempunyai banyak lapisan! BPNN menggunakan error error output output untuk menguba nilai bobot"bobotnya dalam ara mundur #backward $! $! Untuk Untuk mendapa mendapatka tkan n err error ini% taap perambatan maju # forward propagation propagation$$ arus dikerjakan terlebi daulu! Syarat Syarat &ungsi &ungsi aktiva aktivasi si dalam dalam BPNN adala bersi&at kontinu% kontinu% terdi&&erensia terdi&&erensiall dengan dengan muda% dan merupakan &ungsi yang tidak turun! 'ungsi aktivasi yang dapat memenui ketiga syarat tersebut adala logsig% tansig% dan purelin! (etode pengenalan merupakan proses inisialisasi data yang akan diola selanjutnya ole ole BPNN ! )ata yang akan dikenali disajikan dalam bentuk vektor! (asing"masing data mempun mempunyai yai target target yang yang disaji disajikan kan juga juga dalam dalam bentuk bentuk vektor vektor!! Target arget atau keluar keluaran an acuan acuan merupakan suatu peta karakter yang menunjukkan lokasi dari vektor masukan! Seda Sedang ngka kan n meto metode de pela pelati tia an n meru merupa paka kan n pros proses es lati latia an n meng mengen enal alii data data dan dan menyimpan pengetauan atau in&ormasi yang didapat ke dalam bobot"bobot # Heaton # Heaton%% 2003$! 2003$! Terdapat erdapat * &ase dalam pelatian pelatian BPNN % yaitu &ase maju # feed forward $% $% &ase mundur #back # back propagation propagation$% $% dan &ase modi&ik modi&ikasi asi bobot! bobot! )alam )alam &ase feed forward % pola masukan diitung maju dimulai dari lapisan input ingga lapisan output ! )alam &ase back propagation propagation%% tiap"tiap unit output menerima menerima target target pola yang berubungan berubungan dengan pola input untuk diitung nilai kesalaan! Kesalaan tersebut akan dipropagasikan mundur! Sedangkan &ase modi&ikasi bobot bertujuan untuk menurunkan kesalaan yang terjadi! Ketiga &ase tersebut diulang secara terus menerus ingga kondisi pengentian dipenui!
$.,. Be-#
Untuk membedakan bentuk objek satu dengan objek lainnya% dapat menggunakan parameter yang disebut dengan /ecce-0!c!-12 ! +ccentricity +ccentricity merupakan nilai perbandinga perbandingan n antara jarak &oci ellips minor dengan &oci ellips mayor suatu objek! +ccentricity memiliki rentang nilai antara 0 ingga 1! ,bjek yang berbentuk memanjang-mendekati bentuk garis luru lurus% s% nila nilaii ecce eccent ntri rici city tyny nyaa mend mendek ekat atii angk angkaa 1% seda sedang ngka kan n obje objek k yang yang berb berben entu tuk k bulat-lingkaran% nilai eccentricitynya mendekati angka 0! Pengitungan eccentricity diilustrasikan pada gambar diba.a ini/
1|Page
Gam3a0 $.$ Pe0h!-#4a ecce-0!c!-1
Parame Parameter ter lainny lainnyaa yang yang dapat dapat diguna digunakan kan untuk untuk membed membedaka akan n bentuk bentuk suatu suatu objek objek yaitu /me-0!c2 ! (etric merupakan merupakan nilai perbandingan perbandingan antara luas dan keliling keliling objek! (etric memiliki rentang nilai antara 0 ingga 1! ,bjek yang berbentuk memanjang-mendekati bentuk gari gariss luru lurus% s% nila nilaii metr metric icny nyaa mend mendek ekat atii angk angkaa 0% seda sedang ngka kan n obje objek k yang yang berb berben entu tuk k bulat-lingkaran% nilai metricnya mendekati angka 1! Pengitungan metric diilustrasikan pada gambar diba.a ini/
Gam3a0 $.,. Pe0h!-#4a me-0!c
$.,.$. Pa0ame-e0 yang di gunakan dalam program ini menggunakan /
Nilai me-0!c dan ecce-0!c!-1 yang tela diekstrak kemudian dijadikan sebagai data masukan pada jaringan syara& tiruan backpropagation! Sedangkan pada data target digunakan nilai * untuk kelas ba% nilai untuk kelas ca% nilai untuk kelas ja dan nilai 6 untuk kelas sa!
$.,.,. A05!-e-#0 JST yang saya bangun /
(enggunakan jaringan dengan a05!-e-#0 ,6$&6*6$ yang artinya memiliki 2 jenis data maasukan yaitu metric dan eccentricity% memiliki 2 layer tersembunyi #idden layer$ di mana
2|Page
pada idden layer pertama berisi 10 neuron dan pada idden layer kedua berisi neuron! )an memiliki 1 jenis data keluaran yaitu nilai bentuk! )engan e7och $&&!
$.8. Ha5!l T0a!!4
Gam3a0 $.8. T0a!!4 Ne#0al Ne-9o0
Gam3a0 $.*. T0a!!4 S-a-e
Gam3a0 $.+. T0a!!4 Pe0o0mace
Gam3a0 $.%. T0a!!4 Re40e55!o
3|Page
Gam3a0 $.'. Ha5!l T0a!!4 I7#-;T0a4e-;Me-0!c;Ecce-0!c!-1;Pe0!me-e0 "a A0ea
Gam3a0 $.. Ha5!l O#-7#- T0a!!4
4|Page
Perban Perbandin dingan gan antara antara nilai nilai keluar keluaran an ST pada proses proses pelati pelatian an dengan dengan data data target target latia latian n ditunjukkan pada Tabel 1!1 berikut/ No Kela5 Ta04e1 * 2 * * * * * 6 3 4 5 10 11 12 1* 1 1 16 6 13 6 14 6 15 6 20 6
Kela5 Kel#a0a JST * * * * * 6 6 6
Pada data pada tabel di atas% terdapat # -!4a (8) "a-a$ yang diklasi&ikasikan secara sala #-!"a 5e5#a! "e4a -a04e- $ yaitu "a-a e-$&; "a-a e6$% "a "a-a e -$! Seingga akurasi yang diasilkan diasilkan ST pada proses pelatian adala ($'<,&) = $&&> ?*>! Nilai akurasi tersebut menu menunj njuk ukka kan n ba ba.a .a ST ST cuku cukup p bai baik k dala dalam m men mengk gkla lasi si&i &ika kasi sika kan n pol polaa bent bentuk uk obje objek k dari dari citra yang diberikan!
$.+. Ca0a Ke0@a P0o40am 5|Page
Pertama jalankan matlab dan msaukkan ke project saya kemudian jalankan pelatianjst!m akan tampil gambar berikut/
7ela-!ha@5-.m Gam3a0 $.. S!-a 7ela-!ha@5-.m
Kemudian klik 7UN - jalankan Tujuan untuk pelatian pengenalan pola dengan posisi gambar untuk training sebagai berikut /
Gam3a0 $.$&. Po5!5! Da-a T0a!!4 6|Page
8erikut asil setela di 7UN pada trainingjst!m tersebut /
Gam3a0 $.$$. O#-7#- -0a!!4@5-.m
Penjelasan berada di 1!*! 9asil Training diatas
8uka :U; dari program tersebut /
Gam3a0 $.$,. A9al GI
Pertama Konvert
7|Page
pili gambar yang ingin di convert! Kemudian Konvert ke :rayscale Konvert lagi ke Tresold maka akan muncul dengan gambar berikut /
Gam3a0 $.$8. P0o5e5 Koe0- C!-0a -o B!e0
Kemudian klik Save ;mage #Simpan$ di &older yang suda saya sediakan di data latian! Saya melati pengenalan pola uru& >?> - <>7>K> ini dengan uru& <>% S>% >% dan 8> masing2 ada dengan total semua ada 20 images yang suda di Training! @angka ke )ua adala Testing asil yang gambar yang suda kita training sebelumnya! Klik ,pen ;mage serta cari images images yang suda kita jadikan 8iner yang berada di &older data latian setala itu Save ;mage dan letakkan di &older yang suda saya sediakan di data uji! Peratikan gambar berikut /
Gam3a0 $.$+. P0o5e5 Sae Ima4e5 8|Page
Kemudian setela di Save #Simpan$ Klik )eteksi bila cocok maka akan muncul 9asil dengan nama
Gam3a0 $.$*. P0o5e5 De-e5!
)ari gambar di atas dengan 9asil data <,<,K dengan <>7>K> yang kita input! (aka kesimpulannya aplikasi ini berasil mengenal pola <>7>K>!
$.*. S!-a P0o40am Pela-!ha@5-.m clc;clear;close all all; ; image_folder = 'Pengenalan Pola\data latihan'; latihan' ; %mencari gambar dengan folder "data latihan" filenames = dir(fullfile(image_fold dir(fullfile(image_folder, er, '*.gif' '*.gif')); )); %mencari berdasaran nama images dengan format .gif total_images = numel(filenames); numel(filenames); %total masing! images berdasara berdasaran n filenames for n for n = #total_images %lo$$ing masing! images full_name= fullfile(image_folder, fullfile(im age_folder, filenames(n).name); filenames(n). name); our_images = logical(imread(full_nam logical(imread(full_name)); e)); our_images = bcon&hull(our_images, bcon&hull(our_images,'obects' 'obects'); ); stats = region$ro$s(our_images, region$ro$s(our_images,'rea' 'rea', ,'Perimeter' 'Perimeter', ,'ccentricit' 'ccentricit'); ); area(n) = stats.rea; $erimeter(n) $erimeter(n) = stats.Perimeter; stats.Perimeter; metric(n) = +*$i*area(n)($erimeter(n +*$i*area(n) ($erimeter(n)-!); )-!); %untu menghitung metric eccentricit(n) eccentricit (n) = stats.ccentricit; stats.ccent ricit; %untu menghitung eccentricit in$ut = metric;eccentricit/; metric;eccentricit/; %mengin$ut metric dan eccentricit target = 0eros(,!1); %dengan total target !1, aitu masing! training ada 2 dengan target 3,+,2,4 target(#,#2) target(#,#2 ) = 3; target(#,4#1) target(#,4#1) = +; target(#,#2) target(#,# 2) = 2;
9|Page
target(#,4#!1) target(#,4# !1) = 4; end net = neff(in$ut,target,1 neff(in$ut,target,1 2/,5'logsig' 2/,5'logsig', ,'logsig' 'logsig'6, 6,'trainlm' 'trainlm'); ); %dengan arsitetur aringan !71727 !71727 ! enis data masuan aitu metric dan eccentricit, ! hidden aitu 1 dan 2, in$ut net.trainParam.e$ochs = 11; %dengan e$ochs = 11 net.trainParam.goal = e72; net = train(net,in$ut,target) train(net,in$ut,target); ; %ia training net sesuai dengan traget dan in$ut out$ut = round(sim(net,in$ut)) %ia net telah ditraining aan memunculan out$ut %sa&e hasil_train hasil_training.mat ing.mat net %fungsi menim$an hasil training dengan nama net.mat
GI.m function &arargout = 89:(&arargin) function &arargout 89:(&arargin) % 89: <> code for 89:.fig % 89:, b itself, creates a ne 89: or raises the e?isting % singleton*. % % @ = 89: returns the handle to a ne 89: or the handle to % the e?isting singleton*. % % 89:('A>AB',hCbect,e& 89:('A>AB ',hCbect,e&entData,handl entData,handles,...) es,...) calls the local % function named A>AB in 89:. ith the gi&en in$ut arguments. % % 89:('Pro$ert','Ealue',.. 89:('Pro$ert ','Ealue',...) .) creates a ne 89: or raises the % e?isting singleton*. Ftarting from the left, $ro$ert &alue $airs are % a$$lied to the 89: before 89:_C$eningG 89:_C$eningGcn cn gets called. n % unrecogni0ed $ro$ert name or in&alid &alue maes $ro$ert a$$lication % sto$. ll in$uts are $assed to 89:_C$ening 89:_C$eningGcn Gcn &ia &arargin. % % *Fee 89: C$tions on 89:D's egin initiali0ation code 7 DC HC< D:< gui_Fingleton = ; gui_Ftate = struct('gui_Hame' struct('gui_Hame', , mfilename, ... 'gui_Fingleton', 'gui_Fingleton' , gui_Fingleton, ... 'gui_C$eningGcn', 'gui_C$eningGcn' , J89:_C$eningGcn, J89:_C$eningGcn, ... 'gui_Cut$utGcn', 'gui_Cut$utGcn' , J89:_Cut$utGcn, ... 'gui_aoutGcn', 'gui_aoutGcn' , / , ... 'gui_Aallbac', 'gui_Aallbac' , /); if nargin if nargin KK ischar(&arargin56) gui_Ftate.gui_Aallbac gui_Ftate.gui_Aallbac = str!func(&arargin56); str!func(&arargin56); end if nargout if nargout &arargout5#nargout6/ &arargout5#nargout6/ = gui_mainfcn(gui_Ftate, gui_mainfcn(gui_Ftate, &arargin5#6); &arargin5#6); else gui_mainfcn(gui_Ftate, gui_mainfcn(gui_Ftate, &arargin5#6); &arargin5#6); end
10 | P a g e
% nd initiali0ation code 7 DC HC< D:< % 777 ?ecutes ust before 89: is made &isible. function 89:_C$eningGcn(hCbect, function 89:_C$eningGcn(hCbect, e&entdata, handles, &arargin) % % handles structure ith handles and user data (see 89:D<) % &arargin command line arguments to 89: (see ELL8:H) % Ahoose default command line out$ut for 89: handles.out$ut handles.out$ut = hCbect; % 9$date handles structure guidata(hCbect, guidata(hCbect, handles); % 9:M:< maes 89: ait for user res$onse (see 9:LF9) % uiait(handl uiait(handles.figure) es.figure); ;
% 777 Cut$uts from this function are returned to the command line. function &arargout function &arargout = 89:_Cut$utGcn(hCbect, e&entdata, handles) % &arargout cell arra for returning out$ut args (see ELL8C9<); % hCbect handle to figure % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles structure ith handles and user data (see 89:D<) % 8et default command line out$ut from handles structure &arargout56 = handles.out$ut;
% 777 ?ecutes on button $ress in $ushbutton. function $ushbutton_Aallbac(h $ushbutton_Aallbac(hCbect, Cbect, e&entdata, handles) % hCbect handle to $ushbutton (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles structure ith handles and user data (see 89:D<) name_file,name_$ath/ = uigetfile( ... 5'*.gif;*.$g;*.bm$' ,'Giles of t$e (*.gif,*.$g,*.bm$)' (*.gif,*.$g,*.bm$)'; ; '*.gif', '*.gif' ,'Gile 8if (*.gif)'; (*.gif)';... '*.$g', '*.$g' ,'Gile $eg (*.$g)'; (*.$g)'; '*.bm$', '*.bm$' ,'Gile >itma$ (*.bm$)'; (*.bm$)'; '*.*', '*.*' ,'ll Giles (*.*)'6, (*.*)'6,... ... 'C$en :mage'); :mage'); if if NiseOual(name_file,1) handles.data handles.data = imread(fullfile(name_$ath imread(fullf ile(name_$ath,name_file ,name_file)); )); guidata(hCbect,handles); a?es(handles.a?es); imsho(handles.data); else return; return ; end % 777 ?ecutes on button $ress in $ushbutton!. function $ushbutton!_Aallbac(h $ushbutton!_Aallbac(hCbect, Cbect, e&entdata, handles) % hCbect handle to $ushbutton! (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles structure ith handles and user data (see 89:D<) image = handles.data; gra = rgb!gra(image); a?es(handles.a?es);
11 | P a g e
imsho(gra); handles.data! handles.data! = gra; guidata(hCbect,handles); % 777 ?ecutes on button $ress in $ushbutton3. function $ushbutton3_Aallbac(h $ushbutton3_Aallbac(hCbect, Cbect, e&entdata, handles) % hCbect handle to $ushbutton3 (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles structure ith handles and user data (see 89:D<) gra = handles.data!; &alue = grathresh(gra); grathresh(gra); thresh = im!b(gra,&alue); thresh = imcom$lement(thresh); a?es(handles.a?es!); imsho(thresh); handles.data3 handles.data3 = thresh; guidata(hCbect,handles); set(handles.edit, 'Ftring' 'Ftring',&alue) ,&alue)
function edit_Aallbac(hCbect edit_Aallbac(hCbect, , e&entdata, handles) % hCbect handle to edit (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles structure ith handles and user data (see 89:D<) % @ints# get(hCbect,'Ftring') returns contents of edit as te?t % str!double(get(hCbect,'F str!double(ge t(hCbect,'Ftring')) tring')) returns contents of edit as a double
% 777 ?ecutes during obect creation, after setting all $ro$erties. function edit_AreateGcn(hCbect, function edit_AreateGcn(hCbect, e&entdata, handles) % hCbect handle to edit (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles em$t 7 handles not created until after all AreateGcns called % @int# edit controls usuall ha&e a hite bacground on Mindos. % Fee :FPA and ACP9<L. if is$c if is$c KK iseOual(get(hCbect,'>acgroundAolor' iseOual(get(hCbect, '>acgroundAolor'), ), get(1,'default9ic get(1,'default9icontrol>acgr ontrol>acgroundAolor' oundAolor')) )) set(hCbect,'>acgroundAolor' set(hCbect,'>acgroundAolor', ,'hite' 'hite'); ); end % 777 ?ecutes on button $ress in $ushbutton+. function $ushbutton+_Aallbac(h $ushbutton+_Aallbac(hCbect, Cbect, e&entdata, handles) % hCbect handle to $ushbutton+ (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles structure ith handles and user data (see 89:D<) thresh = handles.data3; name_file_sa&e,$ath_sa name_file_sa&e,$ath_sa&e/ &e/ = ui$utfile( ... 5'*.gif' '*.gif', ,'Gile 8if (*.gif)'; (*.gif)';... 6,... 6,... 'Fa&e :mage'); :mage'); if if NiseOual(name_file_sa&e,1) imrite(thresh,fullfile($ath_sa&e,name_file_sa&e)); else return end
% 777 ?ecutes on button $ress in $ushbutton. function $ushbutton_Aallbac(h $ushbutton_Aallbac(hCbect, Cbect, e&entdata, handles)
12 | P a g e
% hCbect handle to $ushbutton (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles structure ith handles and user data (see 89:D<) image_folder = 'Pengenalan Pola\data ui'; ui' ; %membaca image di folder data ui filenames = dir(fullfile(image_fold dir(fullfile(image_folder, er, '*.gif' '*.gif')); )); %membaca file dengan format .gif total_images = numel(filenames); for n for n = #total_images %lo$$ing masing! images full_name= fullfile(image_folder, fullfile(im age_folder, filenames(n).name); filenames(n). name); our_images = logical(imread(full_nam logical(imread(full_name)); e)); our_images = bcon&hull(our_images, bcon&hull(our_images,'obects' 'obects'); ); stats = region$ro$s(our_images, region$ro$s(our_images,'rea' 'rea', ,'Perimeter' 'Perimeter', ,'ccentricit' 'ccentricit'); ); area(n) = stats.rea; $erimeter(n) $erimeter(n) = stats.Perimeter; stats.Perimeter; metric(n) = (+*$i*area(n)).($erimete (+*$i*area(n )).($erimeter(n).-!); r(n).-!); %untu menghitung metric eccentricit(n) eccentricit (n) = stats.ccentricit; stats.ccent ricit; %untu menghitung eccentricit in$ut = metric;eccentricit/; metric;eccentricit/; %mengin$ut metric dan eccentricit end load hasil_training %membaca file hasil_training ang sudah disim$an sebelumna out$ut = round(sim(net,in$ut)) %out$ut hasil in$ut images if out$ut if out$ut == 3 %ia out$ut sesuai maa aan menam$ilan @asil tulisan sesuai dengan out$ut ang dica$ai dis$('>' dis$('>'); ); set(handles.edit3,'Ftring', set(handles.edit3,'Ftring' ,'>' '>'); ); elseif out$ut elseif out$ut == + dis$('A' dis$('A'); ); set(handles.edit3,'Ftring', set(handles.edit3,'Ftring' ,'A' 'A'); ); elseif out$ut elseif out$ut == 2 dis$('Q' dis$('Q'); ); set(handles.edit3,'Ftring', set(handles.edit3,'Ftring' ,'Q' 'Q'); ); elseif out$ut elseif out$ut == 4 dis$('F' dis$('F'); ); set(handles.edit3,'Ftring', set(handles.edit3,'Ftring' ,'F' 'F'); ); else dis$('C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles structure ith handles and user data (see 89:D<) % @ints# get(hCbect,'Ftring') returns contents of edit3 as te?t % str!double(get(hCbect,'F str!double(ge t(hCbect,'Ftring')) tring')) returns contents of edit3 as a double
% 777 ?ecutes during obect creation, after setting all $ro$erties. function edit3_AreateGcn(hCbect, function edit3_AreateGcn(hCbect, e&entdata, handles) % hCbect handle to edit3 (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles em$t 7 handles not created until after all AreateGcns called % @int# edit controls usuall ha&e a hite bacground on Mindos. % Fee :FPA and ACP9<L.
13 | P a g e
if is$c if is$c KK iseOual(get(hCbect,'>acgroundAolor' iseOual(get(hCbect, '>acgroundAolor'), ), get(1,'default9ic get(1,'default9icontrol>acgr ontrol>acgroundAolor' oundAolor')) )) set(hCbect,'>acgroundAolor' set(hCbect,'>acgroundAolor', ,'hite' 'hite'); ); end
% 777 ?ecutes on button $ress in $ushbuttonR. function $ushbuttonR_Aallbac(h $ushbuttonR_Aallbac(hCbect, Cbect, e&entdata, handles) % hCbect handle to $ushbuttonR (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles structure ith handles and user data (see 89:D<) image_folder = 'Pengenalan Pola\data latihan'; latihan' ; filenames = dir(fullfile(image_fold dir(fullfile(image_folder, er, '*.gif' '*.gif')); )); total_images = numel(filenames); for n for n = #total_images full_name= fullfile(image_folder, fullfile(im age_folder, filenames(n).name); filenames(n). name); our_images = logical(imread(full_nam logical(imread(full_name)); e)); our_images = bcon&hull(our_images, bcon&hull(our_images,'obects' 'obects'); ); stats = region$ro$s(our_images, region$ro$s(our_images,'rea' 'rea', ,'Perimeter' 'Perimeter', ,'ccentricit' 'ccentricit'); ); area(n) = stats.rea; $erimeter(n) $erimeter(n) = stats.Perimeter; stats.Perimeter; metric(n) = +*$i*area(n)($erimeter(n +*$i*area(n) ($erimeter(n)-!); )-!); eccentricit(n) eccentricit (n) = stats.ccentricit; stats.ccent ricit; in$ut = metric;eccentricit/; metric;eccentricit/; target = 0eros(,!1); target(#,#2) target(#,#2 ) = 3; target(#,4#1) target(#,4#1) = +; target(#,#2) target(#,# 2) = 2; target(#,4#!1) target(#,4# !1) = 4; end net = neff(in$ut,target,1 neff(in$ut,target,1 2/,5'logsig' 2/,5'logsig', ,'logsig' 'logsig'6, 6,'trainlm' 'trainlm'); ); net.trainParam.e$ochs = 11; net.trainParam.goal = e72; net = train(net,in$ut,target) train(net,in$ut,target); ; out$ut = round(sim(net,in$ut)) %sa&e net!.mat net %set(handles.edit+,'Ftring',out$ut); function edit+_Aallbac(hCbect edit+_Aallbac(hCbect, , e&entdata, handles) % hCbect handle to edit+ (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles structure ith handles and user data (see 89:D<) % @ints# get(hCbect,'Ftring') returns contents of edit+ as te?t % str!double(get(hCbect,'F str!double(ge t(hCbect,'Ftring')) tring')) returns contents of edit+ as a double
% 777 ?ecutes during obect creation, after setting all $ro$erties. function edit+_AreateGcn(hCbect, function edit+_AreateGcn(hCbect, e&entdata, handles) % hCbect handle to edit+ (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles em$t 7 handles not created until after all AreateGcns called % @int# edit controls usuall ha&e a hite bacground on Mindos. % Fee :FPA and ACP9<L. if is$c if is$c KK iseOual(get(hCbect,'>acgroundAolor' iseOual(get(hCbect, '>acgroundAolor'), ), get(1,'default9ic get(1,'default9icontrol>acgr ontrol>acgroundAolor' oundAolor')) )) set(hCbect,'>acgroundAolor' set(hCbect,'>acgroundAolor', ,'hite' 'hite'); );
14 | P a g e
end % 777 ?ecutes on button $ress in $ushbutton3. function $ushbutton3_Aallbac(hCbect, function $ushbutton3_Aallbac(hCbect, e&entdata, handles) % hCbect handle to $ushbutton $ushbutton3 3 (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles structure ith handles and user data (see 89:D<) name_file,name_$ath/ = uigetfile( ... 5'*.gif;*.$g;*.bm$' ,'Giles of t$e (*.gif)'; (*.gif)'; '*.gif', '*.gif' ,'Gile 8if (*.gif)'; (*.gif)';... 6,... 6,... 'C$en :mage'); :mage'); if if NiseOual(name_file,1) handles.data handles.data = imread(fullfile(name_$ath imread(fullf ile(name_$ath,name_file ,name_file)); )); guidata(hCbect,handles); a?es(handles.a?esR); imsho(handles.data); else return; return ; end
% 777 ?ecutes on button $ress in $ushbutton+. function $ushbutton+_Aallbac(hCbect, function $ushbutton+_Aallbac(hCbect, e&entdata, handles) % hCbect handle to $ushbutton $ushbutton+ + (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles structure ith handles and user data (see 89:D<) image = handles.data; name_file_sa&e,$ath_sa name_file_sa&e,$ath_sa&e/ &e/ = ui$utfile( ... 5'*.gif' '*.gif', ,'Gile 8if (*.gif)'; (*.gif)';... 6,... 6,... 'Fa&e :mage'); :mage'); if if NiseOual(name_file_sa&e,1) imrite(image,fullfile($ath_sa&e,name_file_sa&e)); else return end % 777 ?ecutes during obect creation, after setting all $ro$erties. function a?esI_AreateGcn(hCbect, function a?esI_AreateGcn(hCbect, e&entdata, handles) % hCbect handle to a?esI (see 8A>C) % e&entdata reser&ed 7 to be defined in a future &ersion of <> % handles em$t 7 handles not created until after all AreateGcns called % @int# $lace code in C$eningGcn to $o$ulate a?esI a?es(hCbect); imsho('C8C.gif' imsho('C8C.gif'); ); %untu memunculan gambar
15 | P a g e
$.%. Ke5!m7#la )ari asil percobaan yang tela dilakukan% diperole kesimpulan sebagai berikut / 1. Setela Setela dilaku dilakukan kan traini training ng asil asil dari dari progra program m yang yang saya saya buat buat cukup cukup baik baik untuk untuk
mengenal pola caraka dengan kata ba%ca%ja dan sa dengan asil training 4A terdapat diklasi&ikasikan an secara sala -!"a 5e5#a! "e4a -a04e- yaitu -!4a (8) "a-a yang diklasi&ikasik "a-a e-$&; "a-a e6$% "a "a-a e -$. 2. )ilakukan percobaan sendiri yang tela saya lakukan dengan epoc 100 dan epoc 1000! 8a.a dengan epoc 100 maka training dengan output cepat dan dengan epoc 1000 maka dengan output lebi lama yang berarti maka semakin besar epoc maka semakin lama dia melakukan training dan sebaliknya semakin kecil epoc maka cepat pula asil training yang dikelu dikeluark arkan! an! >lasan peneli peneliti ti menggu menggunak nakan an epoc epoc 100 karena karena suda suda cukup cukup baik baik untuk untuk mengenali pola tersebut!
$.'. Da-a0 P#5-aa )arma Putra% BSistem 8iometrikaC% >ndi% Dokyakarta% Dokyakarta% 2005 )evend )evendra ra K!<at K!<aturv urvedi edi%% CSo&t CSo&t pplic >pplicati ations ons in +lectri +lectrical cal +ngineeringC% Springer% 2004 ...!mat.orks!com #diakses terakir pada tanggal 1 ,ktober 2016 jam 11!1 ?;8$! Siang % on ong ek% ek% “Jaringan “Jaringan Syaraf Syaraf Tiruan dan Pemrogra Pemrogramanny mannya a menggunak menggunakan an at!ab" at!ab" % >ndi% Dogyakarta% 200 )ani )ani 7op 7opan andi di%% >sep >sep Sugi Sugia art rto% o% :iri :iri >ji >ji ?inar inara% a% B #p!ikasi Pengo!a$an %itra &a!am Pengena!an Po!a Huruf Nga!agena enggunakan enggunakan at!ab C% (akala% 201 ttps/--pemrogram ttps/--pem rogramanmatla anmatlab!.o b!.ordpress rdpress!com!com-2016 2016-05-* -05-*0-tr 0-tresold esoldingc ingcitraitra- #diakses ses terakir pada tanggal 16 ,ktober 2016 jam 1!2 ?;8$ ttps/--pemrogramanmatlab!.ordpress!com-pengolaan"citra"digital-ekstraksi"ciri"citra" digital- #diakses terakir pada tanggal 16 ,ktober 2016 jam 16!*0 ?;8$
16 | P a g e