Fulll
Fulll
SKRIPSI
Oleh:
Pristina Mayrita Naibaho
NIM: 023124021
- PERSEMBAHAN -
Thanks Buat semua cinta yang diberikan buat aku,
Finally i can finish..
...Jesus is only a prayer away...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat
karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan
Penulis
ABSTRAK
Tanda tangan merupakan salah satu cara yang digunakan sebagai sistem
autentifikasi dalam sebuah instansi, atau perusahaan-perusahaan besar khususnya. Hal ini
digunakan untuk dapat menjaga kerahasiaan data didalamnya. Dalam skripsi ini dibuat
sebuah sistem yang dapat mengenali tanda tangan dengan menggunakan jaringan syaraf
tiruan khususnya metode backpropagation.
Backpropagation yang digunakan dalam pembuatan sistem ini adalah
backpropagation standar. Arsitektur jaringan yang digunakan terdiri dari sebuah layar
input dengan 2500 neuron, sebuah layar tersembunyi yang terdiri dari 5 neuron dan
sebuah layar output dengan 5 neuron (2500 – 5 – 5).
Data yang digunakan untuk training adalah data tanda tangan yang diambil dari 5
orang, dimana setiap orang membubuhkan 10 buah tanda tangan. Hasil yang dicapai dari
sistem ini menunjukkan bahwa semakin banyak jumlah pola pelatihan, maka semakin
besar pula kemungkinan pola akan dikenali. Pola dapat dikenali sebesar 83 % untuk
pengujian pola dengan 25 data training (50 % data), 90% untuk pengujian pola dengan 30
data training (60 % data) dan 94 % untuk pengujian pola dengan 35 data training (70 %
data).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
Signature represent one of method that used for the aunthentification system in a
institution, or big companys specially. This is used to be able keep of data secret in it. In
this scripsi made a system able to recognize signature by using artificial neural network
specially method of backpropagation.
Backpropagation which is used in making of this system is a standard
backpropagation. Network architecture that used is consist of a input layer with 2500
neuron, a hidden layer which consist of 5 neuron and a output layer with 5 neuron ( 2500
- 5 - 5).
Data used for training is signature had taken from 5 people, where each and
everyone give 10 signature. Result of this system indicate that more and more amount of
training pattern, hence ever greater also possibility of pattern will recognize. Pattern can
recognize equal to 83 % for the testing of pattern by 25 training set ( 50 % data), 90% for
the testing of pattern by 30 training set (60 % data) and 94 % for the testing of pattern by
35 training set ( 70 % data).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR
Puji syukur pada Tuhan Yesus Kristus yang telah melimpahkan rahmat dan kasih-
Skripsi ini ditulis untuk memenuhi salah satu syarat memperoleh gelar sarjana
sains Fakultas Matematika dan Ilmu Pengetahuan Alam, Program Studi Ilmu Komputer
Dalam penulisan skripsi penulis menyadari banyak pihak yang telah memberikan
sumbangan baik pikiran, waktu, tenaga, bimbingan dan dorongan pada penulis sehingga
akhirnya skripsi ini dapat selesai. Oleh karena itu dengan segala kerendahan hati penulis
2. Bapak Drs. J.J. Siang, M.Sc selaku dosen pembimbing untuk kesabaran, bantuan
3. Ibu P.H. Prima Rosa selaku KaProDi Ilmu Komputer untuk bantuan dan dorongan
6. Seluruh Dosen Ilmu Komputer yang telah membimbing penulis selama belajar di
Sanata Dharma.
7. Pak Tukijo, Ibu Warni, mbak Linda, serta mas Susilo dan mas Widodo atas
8. Teman – teman seperjuangan IKOM ’02, Agnes Nulat, Esti, Lidia n lainnya,
Especially for Team SC: Daru “Kakak Canggah”, Hendy “De’Dita”, Utix “Jeng
10. Sahabat-sahabatku di KOST “ICHA”: Techa, Cicil, Ratih, Via, Ijup, Lusi, Mba
Nia, Indri, dan Ana. Thanks buat kebersamaannya selama ini.. Kepolosan kalian
11. My old friends, Mba Ninuk, Mba Nina, Tika, Lina nova, and especially Bang
12. All Friends in solafide..I love U all, tetap setia melayani Tuhan.
13. Kakak-kakakku, Mas Budi, Mas Indra, Mas Dewa, Bang Egie, Bang Ajie, Mas
Leo, Mas Prio, Mba Niken, dan semua ikom 03, 01, 00. Thankyu....
14. Semua pihak yang tidak dapat disebutkan satu persatu, terima kasih telah
Penulis menyadari masih banyak kekurangan dalam penulisan skripsi ini, oleh
karena itu dengan kerendahan hati penulis mengharapkan kritik dan saran guna
penyempurnaan skripsi ini. Akhirnya penulis berharap semoga skripsi ini berguna bagi
semua pihak.
Penulis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
ABSTRAK .............................................................................................. vi
D. Metodologi .............................................................................. 3
B. Backpropagation ..................................................................... 6
A. Implementasi ........................................................................... 35
b. Proses Preprocessing............................................ 37
A. Kesimpulan........................................................................... 60
B. Saran..................................................................................... 61
DAFTAR PUSTAKA............................................................................... 62
LAMPIRAN............................................................................................. 63
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Tabel 4.2. Hubungan antara batas toleransi dengan error training ...... 49
Tabel 4.4. Hubungan antara jumlah unit hidden layer dengan error
training ................................................................................ 51
DAFTAR GAMBAR
Gambar 4.5. Form masukan banyaknya data yang akan ditraining ........ 43
Gambar 4.7. Pesan kesalahan jika masukan user lebih dari 30 .............. 44
Gambar 4.13. Grafik hubungan antara jumlah epoch dan error training .. 48
training ................................................................................ 49
BAB I
PENDAHULUAN
A. Latar Belakang
atau organisasi, ada banyak data yang terdapat didalamnya. Baik itu data
administrasi, data perusahaan, ataupun data data penting lainnya. Dalam hal ini
dibutuhkan sistem keamanan dan kerahasiaan data yang bagus untuk menjamin
antara lain sistem keamanan sidik jari, pengenalan wajah, biometrik, sistem
kemanan barcode, tanda tangan ataupun sistem keamanan lainnya. Yang akan
dibahas dalam hal ini adalah sistem autentifikasi dengan menggunakan tanda
tangan.
Tanda tangan merupakan salah satu cara yang digunakan sebagai sistem
Hal ini digunakan untuk dapat menjaga kerahasiaan data. Jadi setiap orang yang
akan berhubungan dengan data khususnya data penting, mereka dapat mengakses
data hanya jika tanda tangan mereka sesuai dengan tanda tangan yang terdapat
mengijinkan dia masuk, orang itu harus tanda tangan, kemudian tanda tangan itu
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
akan dikenali, apakah sesuai dengan pemilik tanda tangan aslinya. Jika sesuai,
maka orang tersebut akan diijinkan masuk dan boleh mengakses data. Tapi jika
tanda tangannya tidak sesuai atau tanda tangannya tidak dikenali, maka orang
tersebut tidak diperbolehkan untuk masuk dan mengakses data. Jadi tanda tangan
tersebut berguna sebagai tanda pengenal seseorang untuk dapat mengakses data
penting.
back propagation merupakan metode yang tepat untuk mengenali sebuah pola
dapat menjamin keakuratan data. Langkah yang dilakukan sebelum pada tahap
B. Rumusan Masalah
membuat sebuah sistem yang dapat mengenali tanda tangan dengan menggunakan
C. Batasan Masalah
Agar penulisan tugas akhir tidak terlalu jauh dari tujuan maka akan
dibatasi pada :
3. Input yang digunakan berupa file tanda tangan dengan format .jpg.
D. Metodologi
1. Pengambilan sampel
Pada tahap ini yang dilakukan adalah pengambilan sampel tanda tangan
yang digunakan sebagai template dan input dalam proses pengenalan tanda
buah.
2. Preprocessing
Yang dilakukan pada tahap ini adalah pengubahan gambar menjadi citra
Pada tahap ini yang dilakukan adalah pelatihan dan pengujian tanda
4. Pengambilan Keputusan
Pada tahap ini akan diambil keputusan mengenai tanda tangan, misalnya
5. Penulisan Program
Pada tahap ini mulai menulis program yang akan dipakai dalam
diatas kedalam sebuah program. Program yang dipakai adalah Matlab 6.5.
Tahap ini dilakukan untuk mengetahui apakah sistem sesuai dengan yang
mungkin terjadi.
E. Manfaat Penelitian
mengakses data.
F. Sistematika Pembahasan
Bab I Pendahuluan
inference.
BAB II
LANDASAN TEORI
kemampuan yang luar biasa. Otak manusia berisi jutaan sel syaraf yang bertugas
kemampuan kerja otak manusia. Otak terdiri dari neuron-neuron dan penghubung
Synapses
Dendrite
Nucleus
Axon
B. Backpropagation
6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
respon yang benar terhadap pola masukan yang serupa dengan pola yang dipakai
1
f ( x) =
1 + e−x
1. Arsitektur Backpropagation
dengan sebuah layar input dengan n unit masukan ditambah dengan sebuah bias.
Dalam gambar tersebut juga terdapat sebuah layar tersembunyi dengan p unit
ditambah dengan sebuah bias, serta sebuah layar output dengan m unit keluaran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Layar tersembunyi merupakan layar dari jaringan dimana layar ini tidak
menerima input dari luar jaringan dan tidak mengirimkan output ke luar jaringan.
Disebut hidden layer karena layar ini hanya menerima input internal (input dari
processing lain) dan menghasilkan output internal (output ke unit processing lain).
(Forward Chaining) dimana pola masukan dihitung maju mulai dari layar
ditentukan. Fase kedua adalah fase mundur (backward Chaining). Dalam fase ini
garis yang berhubungan langsung dengan unit-unit dilayar keluaran. Fase ketiga
n
z _ net j = v jo + ∑ xi v ji
i =1
1
z j = f ( z _ net j ) = − z _ net j
1+ e
p
y _ net k = wk 0 + ∑ z j wkj
j =1
1
y k = f ( y _ net k ) = − y _ net k
1+ e
δ k = (t k − y k ) f ' ( y _ net k ) = (t k − y k ) y k (1 − y k )
10
m
δ _ net j = ∑ δ k wkj
k =1
mengenali pola. Dalam hal ini, hanya propagasi maju saja yang digunakan
jaringan. Selain itu proses pengujian ini juga bertujuan untuk mengetahui
lokal atau global terhadap nilai error, dan cepat tidaknya proses pelatihan menuju
kekonvergenan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Apabila nilai bobot awal terlalu besar, maka input ke setiap lapisan
tersembunyi atau lapisan output akan jatuh pada daerah dimana turunan
sigmoidnya sangat kecil. Dan jika bobot awal terlalu kecil, maka proses pelatihan
akan menjadi lambat. Oleh karena itu dalam standar backpropagation, bobot dan
bias diisi dengan bilangan acak kecil. Prosedur umum untuk menginisialisasi
bobot dan bias adalah nilai acak antara -0.5 dan 0.5. Cara lain untuk membuat
inisialisasi bobot dan bias awal ke unit tersembunyi dapat dilakukan dengan
Pada dasarnya tidak ada aturan khusus untuk menetapkan jumlah layar
antara masukan dan target dengan tingkat ketelitian yang ditentukan. Tetapi
Dalam Hal ini juga tidak ada kepastian tentang berapa banyak pola yang
akan digunakan agar jaringan dapat dilatih dengan sempurna. Jumlah pola yang
12
7. Jumlah iterasi
backpropagation. Jumlah iterasi ditentukan oleh user sendiri, karena tidak ada
akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah
maksimum iterasi yang ditetapkan, atau kesalahan yang terjadi sudah lebih kecil
C. Pengenalan Pola
Pola adalah suatu entitas yang dapat didefinisikan (mungkin secara samar)
dan dapat diberi suatu identifikasi atau nama. Contoh: gelombang suara, sidik
jari, raut wajah, penutup lahan dll. Pengenalan pola bertujuan menentukan
kelompok atau kategori pola berdasarkan ciri-ciri yang dimiliki pola tersebut.
dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan
fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. (Munir,
2004)
citra.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Citra biner merupakan citra yang hanya mempunyai dua nilai derajat
keabuan yaitu hitam dan putih. Pixel-pixel objek bernilai 1 dan pixel-pixel
BAB III
A. Analisa Sistem
Sistem yang dibuat adalah sistem untuk pengenalan pola tanda tangan,
bertujuan untuk membantu user dalam mengenali tanda tangan seseorang dengan
standar, dimana dalam pembelajaran ini akan dicari penyelesaian yang paling
Dalam pengenalan tanda tangan ini, pola masukan tanda tangan akan
dibandingkan dengan target yang ingin dicapai. Pola tanda tangan akan dibagi
menjadi dua yaitu data pelatihan dan data pengujian. Data pelatihan akan
digunakan untuk proses pelatihan dan data pengujian akan digunakan untuk
proses pengujian. Hasil proses pelatihan akan digunakan untuk proses pengujian,
dimana hasilnya berupa output tanda tangan hasil pengujian dan informasi apakah
tanda tangan tersebut dapat dikenali atau tidak. Jika tanda tangan dikenali, maka
sistem akan memberi informasi tentang identitas pemilik tanda tangan tersebut.
14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Alur Kerja dari Jaringan Syaraf tiruan untuk pengenalan tanda tangan
- Input
Merupakan masukan berupa tanda tangan dengan format .jpg, dan sudah
- Image Processing
Proses ini merupakan proses pengolahan citra, dimana citra yang diolah
adalah gambar tanda tangan yang sudah di scan sebelumnya. Citra awal
16
untuk diolah dalam proses neural network. Ukuran citra diubah menjadi
- Neural Network
Proses ini digunakan pada saat pelatihan dan pengujian. Jaringan syaraf
input yang terdiri dari 2500 neuron, sebuah layar hidden dengan 5 unit,
random bukan 0.
- Output
yang berupa keterangan apakah tanda tangannya dikenali atau tidak. Jika
biodata dari pemilik tanda tangan tersebut. Jika tidak, program akan
menampilkan tanda tangan dan pesan bahwa tanda tangan tidak dikenali.
17
6. Monitor : LG 15’
pengembangan sistem.
dari Matlab 6.5. Program ini dirancang memiliki 4 buah menu yaitu menu File,
- Menu File berisi sub menu exit, digunakan untuk keluar dari program.
- Menu Input berisi sub menu New Data, digunakan jika user ingin
- Menu Run memiliki 2 sub menu yaitu sub menu training dan testing.
- Menu Help mempunyai sub menu yaitu about us, yang berisi sekilas
18
Start
Menu Pilihan :
1. File
2. Input
3. Run
4. Help
Masukkan pilihan(y)?
ya
If y=1 KELUAR
tidak
ya
If y=2 DATA BARU
tidak
Menu Pilihan:
ya 1. Training
If y=3
2. Testing
masukkan pilihan (x) ?
ya
If x=1 TRAINING
tidak
tidak
ya
If x=2 TESTING
ya
If y=4 ABOUT US
end
19
JUDUL
Disusun Oleh :
Dosen Pembimbing :
LOGO USD
PRODI
JURUSAN
FAKULTAS
UNIVERSITAS
ENTER TAHUN EXIT
b. 1 buah Axes
dari universitas.
Axes atau grafik disini digunakan untuk menampilkan logo dari universitas.Axes
20
Form menu awal program terdiri dari: sebuah menu editor, dimana
a. Menu File
b. Menu Input
Terdiri dari sebuah sub menu yaitu sub menu new data
c. Menu Run
Terdiri dari 2 buah sub menu yaitu sub menu training dan sub menu
testing
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
d. Menu Help
22
c. 2 buah Axes
4 buah push button atau tombol yaitu tombol ambil gambar, ambil
Menu Utama OK
Dalam form ini hanya terdapat sebuah edit text dan sebuah tombol OK.
Edit text berfungsi sebagai masukkan data dari user, yaitu banyaknya data
23
b. Form Pelatihan
PELATIHAN JARINGAN
Masukkan Jumlah Epoch :
kalimat.
b. edit text
Masing-masing edit text digunakan untuk nama file data yang akan
ditraining.
c. Pop up
24
untuk mengambil citra yang ingin di latih dari file. Tombol ini
Setiap citra yang akan dilatih harus melewati proses ini, tombol
keluar digunakan jika user ingin keluar dari form pelatihan dan
HASIL TRAINING
Listbox 1
close
25
setiap layar dan nilai bias untuk setiap layar. Sebuah tombol close,
TESTING JARINGAN
Lihat bobot
Images
Uji Jaringan
Menu Utama
yang dipilih user untuk dikenakan testing dan citra yang ditampilkan
masukan nama file tanda tangan, dan text 2 digunakan untuk menampilkan nama
file gambar foto. masukan nama file tanda tangan, dan text 2 digunakan untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
FORM KEPUTUSAN
Berdasarkan hasil pelatihan dan pengujian diperoleh keputusan
didalamnya terdapat :
form
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
adalah arsitektur jaringan dengan banyak lapisan (multilayer net). Jaringan yang
dibentuk terdiri dari sebuah layar masukan (input layer), sebuah layar tersembunyi
a. Layar Input
Layar input terdiri dari 2500 elemen x1, x2, ..., x2500 dan sebuah bias b.
b. Layar tersembunyi
Layar tersembunyi yang digunakan pada sistem ini hanya 1 lapis yang
terdiri dari 5 neuron (y1, y2, y3, y4, dan y5) dan sebuah bias. Jumlah hidden
layer ini ditentukan sendiri karena belum ada ketentuan mengenai jumlah
c. Layar Output
Layar output terdiri dari 5 buah neuron yang merupakan keluaran dari
jaringan.
Jaringan ini memiliki 50 buah pola masukan tanda tangan dimana setiap
pola memiliki ukuran matriks 50 x 50. Bentuk pola masukan berupa matriks
28
pola masukan, sehingga bentuk pola masukan adalah sebuah matriks dengan
Data untuk input sistem yang dipakai dalam program ini berupa file
gambar. Dari bentuk gambar dilakukan proses binerisasi, pemotongan gambar dan
pengubahan ukuran gambar. Data dalam bentuk biner ini ditampung dalam sebuah
matriks dengan ukuran 2501 yang berasal dari ukuran gambar 50 x 50 dan 1 untuk
menampung bias. Matriks yang bertipe biner ini digunakan sebagai masukan pada
layar input.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
F. Perancangan Proses
Cara kerja :
1. Masukkan nama, alamat, pekerjaan, no. telp, dan gambar tanda tangan
3. Jika data yang diisikan lengkap, data baru akan disimpan ke dalam
database.
Data baru akan disimpan ke dalam tabel tanda tangan yang terdapat di
database .
Nama : varchar25
Alamat : varchar25
Pekerjaan : varchar20
Gambar_ttd : varchar50
Gambar_foto : varchar50
menampung bias. Matriks yang bertipe biner ini digunakan sebagai masukan pada
layar input.cbvcvfgdffffffffffffffffffffffffffffffffffffffffdddddddddddddddddddzsss
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
menampriks yang bertipe biner ini digunakan sebagai masukan pada layar
input.njjdcvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvdddddddddddddddee
31
- binerisasi citra, yaitu pengubahan citra dari RGB menjadi citra hitam putih
warna hitam
menampung bias. Matriks yang bertipe biner ii digunakan sebagai masukan pada
32
- Ambil data yang akan dilatih sesuai dengan banyaknya masukan data.
Data yang diambil oleh user akan dikeluarkan ke program berupa nama
file data.
- Masukan jumlah epoch, batas toleransi, laju pemahaman, dan jumlah unit
hidden layer
inisialisasikan untuk setiap bias, baik itu bias di layar input dan bias di
layar tersembunyi.
masukan yang diambil oleh user. Jika terdapat data yang sama, sistem
- Bobot – bobot baru yang dihasilkan akan disimpan untuk digunakan pada
proses testing.
menampung bias. Matriks yang bertipe biner ini digunakan sebagai masukan pada
layar input. menampung bias. Matriks yang bertipe biner ini digunakan sebagai
masukan pada layar input. menampung bias. Matriks yang bertipe biner ini
digunakan sebagai masukan pada layar input. menampung bias. Matriks yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
digunakan sebagai masukan pada layar input. menampung bias. Matriks yang efe
34
Dalam proses pengujian ini, akan ditentukan keluaran akhir dari jaringan.
Dalam hal ini, hanya proses maju saja yang dipakai untuk menentukan keluaran
jaringan. Bobot yang digunakan dalam proses ini adalah bobot-bobot yang
diperoleh dari hasil pelatihan. Proses testing dilakukan terhadap 3 model data,
yaitu testing terhadap 25 data training (50 %), 30 data training (60 %) dan 35 data
training (70 %). Untuk setiap model data, pola diuji terhadap 3 bagian data, yaitu
- Ambil data nilai bobot hasil training. Bobot yang diambil berupa bobot
input ke hidden layer, bobot input dari hidden layer ke output layer, nilai
- Ambil data yang akan diuji, yang berupa gambar tanda tangan
- Target ditentukan berdasarkan pola yang digunakan. Dalam hal ini, tanda
Untuk pola I. T = [1 0 0 0 0]
Untuk pola V. T = [0 0 0 0 1]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Jika nilai keluaran yang dihasilkan sama dengan pola I, maka tanda tangan
: : : : : : :
BAB IV
A. Implementasi
Dalam proses ini, user dapat memasukkan data baru ke dalam sistem.
Sebelum data baru disimpan ke dalam sistem, data yang dimasukkan oleh user
almat=get(handles.edit2,'string');
% pengecekan data untuk alamat
almat = strvcat(almat)
almt=isempty(almat);
if (almt==1)
errordlg('Alamat anda belum dimasukkan','!! Perhatian !!')
break;
end;
pkrjn=get(handles.edit3,'string');
% pengecekan data untuk pekerjaan
pkrjn = strvcat(pkrjn)
pek=isempty(pkrjn);
if (pek==1)
errordlg('Pekerjaan anda belum dimasukkan','!! Perhatian !!')
break;
end;
notelp=get(handles.edit4,'string');
% pengecekan data untuk nomor telepon
notelp = strvcat(notelp)
notel=isempty(notelp);
if (notel==1)
errordlg('Nomor telepon anda belum dimasukkan','!Perhatian !')
break;
end;
gambar = get(handles.text13,'String')
% pengecekan data untuk gambar tanda tangan
gambar = strvcat(gambar)
gbr = isempty(gambar);
if(gbr == 1)
errordlg('gambar anda belum dimasukkan','!! Perhatian !!')
break;
end
36
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Setelah data dicek, dan tidak ada kesalahan, maka data akan disimpan
dapat dilakukan.
data2 = { nma,almat,pkrjn,notelp,gambar }
nama_data2 =
{'nama','alamat','pekerjaan','no_telp','gambar_pola'}
insert(conn, 'table_tanda_tangan', nama_data2, data2);
% untuk memasukkan data ke tabel database sidik jari
h = waitbar(0,'Proses Penyimpanan data');
for i=1:1000, % computation here %
waitbar(i/1000);
end
close(h);
msgbox('Data Telah Tersimpan','Pesan Program','warn');
close(curs)
close(conn);
2. Proses pelatihan
Dalam proses pelatihan, user akan diminta memilih file tanda tangan yang
ingin dilatih. Nama file tanda tangan yang diambil oleh user akan ditampilkan di
38
b. Proses preprocessing
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk
memanipulasi citra sedemikian rupa hingga menjadi citra yang siap diolah.
edit_a=get(handles.edit5,'string');
citra = imread(edit_a);
a=im2bw(citra);
[m,n]=size(a);
i=1;
while i~=m
for i=1:m
if a(i,:)==1
a(i,:)=[];
m=m-1;
i=1;
break;
end
end;end;
j=1;
while j~=n
for j=1:n
if a(:,j)==1
a(:,j)=[];
n=n-1;
j=1;
break;end;
end;end;
a1=imresize(a,[50 50]);
end
a21=double(a1);
pa=a21(1:2500);
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk
memanipulasi citra sedemikian rupa hingga menjadi citra yang siap diolah.
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk
memanipulasi citra sedemikian rupa hingga menjadi citra yang siap diolah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
c. Proses Pelatihan
mengenali pola yang telah dimasukkan oleh user. Dari proses pelatihan akan
diperoleh nilai bobot jaringan. Nilai ini akan digunakan untuk proses testing.
p=[pa;pb;pc;pd;pe];
pt=p';
global net;
global t
% target
t=[t1 t2 t3 t4 t5]
% pembentukan jaringan
net=newff(minmax(pt),[unit,5],{'logsig','logsig'},'traingdx');
net=init(net);
% untuk melihat nilai keluaran jaringan sebelum dilatih
y=sim(net,pt)
net.trainparam.epochs=epoch;
net.trainparam.goal=tole;
net.trainparam.lr=laju;
tic
% pelatihan jaringan
[net,tr]=train(net,pt,t)
toc
% bobot yang dihasilkan setelah di training
bobot1=net.IW{1,1}
bobot2=net.LW{2,1}
bobot3=net.b{1}
bobot4=net.b{2}
waktu=toc
eror=tr.perf(:,end)
epoh=tr.epoch(:,end)
bobot;
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal ini
memanipulasi citra sedemikian rupa hingga menjadi citra yang siap diolah.
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk
memanipulasi citra sedemikian rupa hingga menjadi citra yang siap diolah.jhghgh
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
3. Proses testing
Proses ini digunakan pada saat user ingin melakukan proses pengenalan
tanda tangan. Pada proses testing ini tahapan yang dilakukan hanya tahap
perambatan maju.
global bobot1;
global bobot2;
global bobot3;
global bobot4;
global net;
b1=bobot1;
b2=bobot2;
b3=bobot3;
b4=bobot4;
global ps;
pe=(ps);
y=double(sim(net,pe))
level=graythresh(y)
y1=im2bw(y,level);
y2=double(y1)
global t;
[m,n]=size(t)
global x;
for x=1:n
if t(:,x) == y2
fprintf('%d dikenali\n',x)
hasil=1;
cekt
return;
end
end
for w=1:n
if isequal(t(:,w),y2) == 0
fprintf('%d tidak dikenali\n',w)
hasil1=0
keputusan_gakenal
return;
end
end
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk
memanipulasi citra sedemikian rupa hingga menjadi citra yang siap diolah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Pada tampilan awal ini hanya menyajikan judul dan penulis program,
dan tombol exit. Tombol Enter berguna untuk memasuki tampilan berikutnya, dan
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk
memanipulasi citra sedemikian rupa hingga menjadi citra yang siap diolah.
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk
memanipulasi citra sedemikian rupa hingga menjadi citra yang siap diolah.
Setiap pola yang diambil oleh user akan melalui proses preprocessing.
jkkk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
2. Tampilan Menu
1. Menu File
Dalam menu ini terdapat sebuah sub menu keluar yang digunakan untuk
keluar dari tampilan menu. Jika user memilih sub menu keluar, program
akan meminta konfirmasi apakah user yakin ingin keluar dari program,
jika ya, maka program akan menutup tampilan, dan jika tidak, tampilan
2. Menu Input
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Dalam menu Input terdapat sebuah sub menu yaitu sub menu data baru,
dimana menu ini berguna jika user ingin memasukkan data baru tanda
tangan. Data yang dimasukkan oleh user adalah data nama, alamat,
pekerjaan, nomor telepon dan gambar tanda tangan. Gambar tanda tangan
Dalam form ini terdapat 4 buah pushbutton (tombol), yaitu tombol ambil
Tombol ambil gambar berguna untuk mengambil gambar dari file. Hal ini
Tombol menu utama, digunakan jika user ingin kembali ke menu utama.
Dalam form ini juga terdapat sebuah axes (grafik) yang berguna untuk
menampilkan tanda tangan yang diambil user dari file. Jadi pada saat user
mengambil tanda tangan dari file, tanda tangan tersebut akan muncul di
44
Tombol simpan, digunakan jika user ingin menyimpan data baru yang
telah diisikan oleh user. Pada saat menyimpan data, program akan
mengecek kelengkapan data yang dimasukkan oleh user. Jika data yang
3. Menu Run
Dalam menu Run, terdapat 2 buah sub menu yaitu sub menu training dan
testing. Pada sub menu training, program akan melatih jaringan dengan
user akan memasukkan berapa banyaknya data yang akan dilatih. Data
kesalahan
Jika angka yang dimasukkan oleh user lebih dari 30, maka program akan
45
epoch, laju pemahaman, batas toleransi errornya, dan jumlah unit untuk
satu hidden layer. Hal ini bertujuan agar user dapat melihat perubahan di
setiap pelatihan. Setelah user memasukkan semua data, maka data sudah
dapat dilatih. Jika data yang dimasukkan user tidak lengkap, maka user
Form training berfungsi untuk melatih jaringan dari data yang telah
dimasukkan oleh user. Dari proses pelatihan akan diperoleh nilai bobot
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
jaringan. Nilai bobot jaringan yang telah dilatih akan ditampilkan ke dalam
menampilkan hasil modifikasi bobot dari setiap layarnya. Nilai ini akan
Pada sub menu Testing, data akan diuji dan dikenali, dengan menggunakan
bobot yang diperoleh dari hasil training. Caranya user diminta untuk
47
berupa keputusan apakah tanda tangan dikenali atau tidak. Jika dikenali,
48
4. Menu Help
Pada menu ini terdapat sebuah sub menu yaitu about us, yang berisi
C. Pembahasan Program
1. Jumlah epoch
Tabel 4.1. merupakan hasil training yang dilakukan untuk 30 buah data,
dengan toleransi kesalahan 0.0001, learning rate 0.05 dan jumlah neuron hidden
layer 5.
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk
memanipulasi citra sedemikian rupa hingga menjadi citra yang siap diolah.
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
100 0.150494
200 0.169112
300 0.253727
400 0.249435
500 0.0960561
1000 0.0470009
mempengaruhi nilai error training. Semakin besar jumlah epoch, semakin kecil
pula error training yang didapat. Sebaliknya, semakin besar jumlah epoch,
0.3
0.25
Error training
0.2
0.15 error training
0.1
0.05
0
100 200 300 400 500 600 700 800 900 1000
Jumlah epoch
Gambar 4.13 . Grafik hubungan antara jumlah epoch dan error training
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
2. Batas Toleransi
4.2. menggambarkan hasil dari percobaan yang dilakukan terhadap 30 buah data,
dengan laju pemahaman 0.02, jumlah epoch 500, dan jumlah unit hidden layer
sebanyak 10.
0.009595
0.009095
0.008595
0.008095
0.007595
0.007095
0.006595
error training
0.006095
0.005595
0.005095 error training
0.004595
0.004095
0.003595
0.003095
0.002595
0.002095
0.001595
0.001095
0.000595
0.000095
0.0001 0.0011 0.0021 0.0031 0.0041 0.0051 0.0061 0.0071 0.0081 0.0091
toleransi kesalahan
Gambar 4.14. Grafik hubungan antara toleransi kesalahan dengan error training
51
mendekati nol), nilai error training yang diperoleh semakin kecil. Dalam hal ini,
3. Fungsi Pelatihan
Tabel 4.3. merupakan hasil training dengan fungsi pelatihan yang berbeda-
beda, untuk 30 data dengan epoch 500, toleransi kesalahan 0.0001, laju
Tabel 4.3. Hubungan antara fungsi pelatihan dengan jumlah epoch, waktu iterasi
Dari proses training dapat dilihat dalam tabel bahwa fungsi pelatihan
traingdx adalah fungsi pelatihan yang lebih cepat dibanding dengan fungsi
pelatihan lainnya. Selain itu juga nilai error yang dihasilkan lebih kecil dibanding
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk
memanipulasi citra sedemikian rupa hingga menjadi citra yang siap diolah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
4. Hidden Layer
Jumlah unit hidden layer juga dapat berpengaruh dalam proses pelatihan
dan pengujian jaringan. Semakin banyak jumlah unit hidden layer, proses
pelatihan pun akan semakin baik. Tabel 4.4. menunjukkan hasil training dengan
jumlah unit hidden layer yang berbeda-beda dan nilai error training yang
4 0.259261
5 0.0149425
6 0.0109165
7 0.00736939
8 0.0026789
10 0.00211877
Tabel 4.4. Hubungan antara jumlah unit hidden layer dengan error training
Hubungan antara jumlah unit hidden layer dengan error training dapat
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk
memanipulasi citra sedemikian rupa hingga menjadi citra yang siap diolah.
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
0.25
0.15
error training
0.1
0.05
0
4 5 6 7 8 9 10
Unit hidden layer
Gambar 4.15. Grafik hubungan antara jumlah unit hidden layer dengan error
training
Dari grafik dapat dilihat bahwa jumlah unit hidden layer juga berpengaruh
terhadap nilai error training. Semakin banyak jumlah unit, semakin kecil pula nilai
5. Pengujian Pola
dengan 25 data training, pengujian pola dengan 30 data training, dan pengujian
pola dengan 35 data training. Hal ini dilakukan untuk melihat bagaimana
perubahan akurasi pengujian pola dengan jumlah data training yang berbeda-beda.
Pengujian pola dilakukan terhadap 3 buah bagian data, yaitu data training
(data pelatihan), data testing (data pengujian), dan data lain (data tanda tangan
yang berbeda). Jumlah tanda tangan yang digunakan sebanyak 50 buah tanda
tangan, yang terdiri dari 5 pola, dimana setiap pola memiliki 10 buah tanda
tangan. 50 buah tanda tangan dibagi menjadi data training dan data testing.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Pengujian pola juga menggunakan 12 buah tanda tangan dari orang lain. 12 tanda
tangan terdiri dari 3 pola, dimana setiap pola memiliki 4 buah tanda tangan.
Percobaan dilakukan dengan jumlah epoch 500, learning rate 0.02 dan toleransi
Pola tanda tangan dibagi menjadi 2 bagian, yaitu pola pelatihan dan pola
pengujian. Dari 50 buah pola tanda tangan dibagi menjadi 25 buah untuk data
Keterangan :
: Pola pelatihan
: Pola pengujian
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk
memanipulasi citra sedemikian rupa hingga menjadi citra yang siap diolah.
Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Keterangan :
terhadap data yang sudah ditraining. Hal ini berarti data pengujian sama dengan
data pelatihan. Dari hasil pengujian yang dilakukan terhadap 25 buah data
56
Keterangan :
Tabel diatas merupakan hasil pengujian pola yang dilakukan terhadap data
testing. Dari tabel diatas dapat dilihat hasil pengujian yang dilakukan terhadap 25
Keterangan :
Pengujian pola untuk data yang berbeda dilakukan terhadap 12 buah tanda
tangan, yang diperoleh dari 3 orang, dimana setiap orang membubuhkan 4 buah
tanda tangan.
Dari hasil pengujian pada tabel diatas dapat dilihat bahwa tanda tangan
yang berbeda tidak dikenali dengan benar. Dalam hal ini pola dikenali dengan
benar sebesar 50 %
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Dalam pengujian pola ini, dari 50 buah pola tanda tangan dibagi menjadi
Pengujian pola juga dilakukan terhadap 3 buah model data, yaitu data
training (data pelatihan), data testing (data pengujian), dan data lain
terhadap data yang sudah ditraining. Dari hasil pengujian yang dilakukan terhadap
58
terhadap data testing. Dari tabel diatas dapat dilihat hasil pengujian yang
Dari hasil pengujian pada tabel diatas dapat dilihat bahwa tangan yang
berbeda tidak dikenali dengan benar. Dalam hal ini pola dikenali dengan benar
sebesar 50 %
Dalam pengujian pola dengan 35 data ini, dari 50 buah pola tanda tangan
dibagi menjadi 35 buah untuk data pelatihan dan 15 buah untuk data pengujian.
Pengujian pola juga dilakukan terhadap 3 buah model data, yaitu data
training (data pelatihan), data testing (data pengujian), dan data lain (data tanda
59
Dari hasil pengujian terhadap data training, dapat ditarik sebuah hasil yaitu
pola dapat dikenali dengan benar sebesar 94 %. Dari 35 buah tanda tangan yang
Tabel diatas merupakan hasil pengujian pola yang dilakukan terhadap data
testing. Dari tabel diatas dapat dilihat hasil pengujian yang dilakukan terhadap 15
60
Dari hasil pengujian pada tabel diatas dapat dilihat bahwa tangan yang
berbeda tidak dikenali dengan benar. Dari 12 buah tanda tangan yang di uji, pola
d. Ringkasan Pengujian
50 25 (50 %) 25 12 83 % 40 % 50 %
50 30 (60 %) 20 12 90 % 65 % 50 %
50 35 (70 %) 15 12 94 % 80 % 25 %
Dari ketiga model pengujian pola, dapat diambil kesimpulan, bahwa hasil
terbaik diperoleh dari pengujian 35 data. Hal ini berarti, semakin banyak data
pelatihan, maka pola semakin mudah dikenali. Hal lain yang dapat dihasilkan dari
percobaan ini adalah bahwa data lain tidak dapat dikenali dengan benar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V
A. Kesimpulan
Dari hasil pelatihan dan pengujian jaringan terhadap pola tanda tangan, dapat
1. Pola dapat dikenali dengan benar sebesar 83 % untuk pengujian pola dengan
25 data training (50 % data), 90% untuk pengujian pola dengan 30 data
training (60 % data) dan 94 % untuk pengujian pola dengan 35 data training
(70 % data).
2. Untuk hasil pengujian pola terhadap data training, Semakin banyak data yang
digunakan untuk pelatihan, maka semakin besar pula kemungkinan pola akan
dikenali.
3. Semakin besar jumlah epoch, semakin kecil pula error training yang dicapai,
dalam hal ini untuk jumlah epoch 10000 menghasilkan error 0.0470009
lainnya. Fungsi ini menghasilkan waktu tercepat yaitu 12.015 dan error
5. Semakin banyak neuron hidden layer yang digunakan, maka error training
61
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
B. Saran
Daftar Pustaka
Andam Zainal, 2002, Aplikasi Neural Network pada Pengenalan Pola Tanda
Tangan, http://lecturer.eepis-its.edu/~huda/tandatangan.pdf
Informatika, Bandung
63
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
str = datestr(now);
set(handles.text9,'string',str)
% --- Outputs from this function are returned to the command line.
function varargout = data_baru_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
nm=isempty(nma);
try
if (nm==1)
errordlg('Nama anda belum dimasukkan','!! Perhatian !!')
end;
end
break;
end;
pek=isempty(pkrjn);
try
if (pek==1)
errordlg('Pekerjaan anda belum dimasukkan','!! Perhatian !!')
end;
end
notel=isempty(notelp);
try
if (notel==1)
errordlg('Nomor telepon anda belum dimasukkan','!! Perhatian !!')
end;
end
nma=get(handles.edit1,'string');
% pengecekan data untuk nama
if (isletter(nma)==0)
errordlg('Nama harus berupa string','!! Perhatian !!')
break;
end;
nma = strvcat(nma)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
nm=isempty(nma);
if (nm==1)
errordlg('Nama anda belum dimasukkan','!! Perhatian !!')
break;
end;
almat=get(handles.edit2,'string');
% pengecekan data untuk alamat
if (isletter(almat)==0)
errordlg('Alamat harus berupa string','!! Perhatian !!')
break;
end;
almat = strvcat(almat)
almt=isempty(almat);
if (almt==1)
errordlg('Alamat anda belum dimasukkan','!! Perhatian !!')
break;
end;
pkrjn=get(handles.edit3,'string');
% pengecekan data untuk pekerjaan
if (isletter(pkrjn)==0)
errordlg('Pekerjaan harus berupa string','!! Perhatian !!')
break;
end;
pkrjn = strvcat(pkrjn)
pek=isempty(pkrjn);
if (pek==1)
errordlg('Pekerjaan anda belum dimasukkan','!! Perhatian !!')
break;
end;
notelp=get(handles.edit4,'string');
% pengecekan data untuk nomor telepon
if isletter(notelp)==1
errordlg('Nomor telepon harus berupa angka','!! Perhatian !!')
break;
end;
notelp = strvcat(notelp)
notel=isempty(notelp);
if (notel==1)
errordlg('Nomor telepon anda belum dimasukkan','!! Perhatian !!')
break;
end;
gambar = get(handles.text13,'String')
% pengecekan data untuk gambar tanda tangan
gambar = strvcat(gambar)
gbr = isempty(gambar);
if(gbr == 1)
errordlg('gambar anda belum dimasukkan','!! Perhatian !!')
break;
end
if gambar == 't001.jpg' | gambar == 't002.jpg'|gambar == 't003.jpg'|gambar ==
't004.jpg'|gambar == 't005.jpg'|gambar == 't006.jpg'
errordlg('tanda tangan sudah ada','!! Perhatian !!')
break;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
end
if gambar == 't007.jpg' | gambar == 't008.jpg'|gambar == 't009.jpg'|gambar ==
't010.jpg'|gambar == 't011.jpg'|gambar == 't012.jpg'
errordlg('tanda tangan sudah ada','!! Perhatian !!')
break;
end
if gambar == 't013.jpg' | gambar == 't014.jpg'|gambar == 't015.jpg'|gambar ==
't016.jpg'|gambar == 't017.jpg'|gambar == 't018.jpg'
errordlg('tanda tangan sudah ada','!! Perhatian !!')
break;
end
if gambar == 't019.jpg' | gambar == 't020.jpg'|gambar == 't021.jpg'|gambar ==
't022.jpg'|gambar == 't023.jpg'|gambar == 't024.jpg'
errordlg('tanda tangan sudah ada','!! Perhatian !!')
break;
end
if gambar == 't025.jpg' | gambar == 't026.jpg'|gambar == 't027.jpg'|gambar ==
't028.jpg'|gambar == 't029.jpg'|gambar == 't030.jpg'
errordlg('tanda tangan sudah ada','!! Perhatian !!')
break;
end
gambar_org = get(handles.text15,'String')
% pengecekan data untuk gambar tanda tangan
gambar2 = strvcat(gambar_org)
gbr = isempty(gambar2);
if(gbr == 1)
errordlg('Foto anda belum dimasukkan','!! Perhatian !!')
break;
end
data2 = { nma,almat,pkrjn,notelp,gambar,gambar2 }
nama_data2 =
{'nama','alamat','pekerjaan','no_telp','gambar_pola','gambar_foto'}
insert(conn, 'table_tanda_tangan', nama_data2, data2);
h = waitbar(0,'Proses Penyimpanan data');
for i=1:1000, % computation here %
waitbar(i/1000);
end
close(h);
msgbox('Data Telah Tersimpan','Pesan Program','warn');
close(curs)
close(conn);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = coba_training1_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
edit_a=get(handles.edit5,'string')
citra = imread(edit_a);
a=im2bw(citra);
[m,n]=size(a);
i=1;
while i~=m
for i=1:m
if a(i,:)==1
a(i,:)=[];
m=m-1;
i=1;
break;
end
end
end
j=1;
while j~=n
for j=1:n
if a(:,j)==1
a(:,j)=[];
n=n-1;
j=1;
break;
end
end
end
a1=imresize(a,[50 50]);
end
a21=double(a1);
pa=a21(1:2500);
edit_b=get(handles.edit6,'string');
citra = imread(edit_b);
a=im2bw(citra);
[m,n]=size(a);
i=1;
while i~=m
for i=1:m
if a(i,:)==1
a(i,:)=[];
m=m-1;
i=1;
break;
end
end
end
j=1;
while j~=n
for j=1:n
if a(:,j)==1
a(:,j)=[];
n=n-1;
j=1;
break;
end
end
end
b1=imresize(a,[50 50]);
end
b21=double(b1);
pb=b21(1:2500);
elseif strcmp(button,'Tidak')
close;
end
end
% -------------------------------cek string----------------------------
p=[pa;pb];
pt=p';
global net;
global t;
t=[t1 t2]
global hidden
layar=str2num(hidden)
if (layar==1)
net=newff(minmax(pt),[unit,5],{'logsig','logsig'},'traingdx');
net=init(net);
y=sim(net,pt)
net.trainparam.epochs=epoch;
net.trainparam.goal=tole;
net.trainparam.lr=laju;
tic
[net,tr]=train(net,pt,t)
toc
global bobot1;
global bobot2;
global bobot3;
global bobot4;
global waktu;
global eror
global epoh
bobot1=net.IW{1,1};
bobot2=net.LW{2,1};
bobot3=net.b{1};
bobot4=net.b{2};
waktu=toc
eror=tr.perf(:,end)
epoh=tr.epoch(:,end)
e1=y-t
rerata_e1=mean(abs(e1))
rerata_training=mean(abs(rerata_e1))
bobot;
end
if (layar==2)
net=newff(minmax(pt),[unit,unit2,5],{'logsig','logsig','logsig'},'traingdx');
net=init(net)
y=sim(net,pt)
net.trainparam.epochs=epoch;
net.trainparam.goal=tole;
net.trainparam.lr=laju;
tic
[net,tr]=train(net,pt,t)
toc
global bobot1;
global bobot2;
global bobot3;
global bobot4;
global bobot5;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
global bobot6;
global waktu;
global eror;
global epoh;
bobot1=net.IW{1,1};
bobot2=net.LW{2,1};
bobot3=net.LW{3,2};
bobot4=net.b{1};
bobot5=net.b{2};
bobot6=net.b{3};
waktu=toc
eror=tr.perf(:,end)
epoh=tr.epoch(:,end)
e1=y-t;
rerata_e1=mean(abs(e1));
rerata_training=mean(abs(rerata_e1))
bobot2hd;
end;
% handles empty - handles not created until after all CreateFcns called
% handles empty - handles not created until after all CreateFcns called
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = testing30_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
b1=bobot1;
b2=bobot2;
b3=bobot3;
b4=bobot4;
global ps;
pe=(ps);
y=double(sim(net,pe))
level=graythresh(y)
y1=im2bw(y,level);
y2=double(y1)
global t;
[m,n]=size(t)
global x;
for x=1:n
if t(:,x) == y2
fprintf('%d dikenali\n',x)
hasil=1;
cekt
return;
end
end
for w=1:n
if isequal(t(:,w),y2) == 0
fprintf('%d tidak dikenali\n',w)
hasil1=0
h = waitbar(0,'Proses Pengambilan Keputusan');
for i=1:1000, % computation here %
waitbar(i/1000);
end
close(h);
keputusan_gakenal
return;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
end
end