• Tidak ada hasil yang ditemukan

Penerapan jaringan syaraf tiruan untuk pembuatan sistem pengenalan tanda tangan.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Penerapan jaringan syaraf tiruan untuk pembuatan sistem pengenalan tanda tangan."

Copied!
101
0
0

Teks penuh

(1)

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 %

(2)

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

(3)

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains

Program Studi Ilmu Komputer

Oleh:

Pristina Mayrita Naibaho

NIM: 023124021

PROGRAM STUDI ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SANATA DHARMA

(4)
(5)
(6)

Whene’er i come to Jesus, When troubled or distressed,

I always find a refuge When i with Him can rest....

In times of joy or sorrow, Whate’er my need may be I can always come to Jesus,

And Jesus comfort me....

” Sebab di dalam Dialah tersembunyi segala harta hikmat dan pengetahuan. In whom are hide all the treasures of wisdom and knowledge (Kol 2;3) “

Karya ini kupersembahkan untuk :

The Lord Almighty.

Thanks Jesus, You are so good to me....

You are my all in all.. Without You, i’m nothing at all..

Bapakku P. Naibaho, Spd & Mamaku D. Nadeak yang selalu setia

mendoakanku, mendukung dan memberiku kesempatan untuk memulai dari yang baru.

Abang-abangku :

Saut Maruli Naibaho, Am.T.

Andy Juliver Naibaho S.T. dan my Sister in law Netty

Nainggolan,Am,Keb. and my little nephew Rafael..

Jantri Musa Marolop Naibaho S.T. My little Sister Erita Marlina Naibaho ☺

 

Thanks Buat semua cinta yang diberikan buat aku,  

Finally i can finish..  

(7)

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

daftar pustaka, sebagaimana layaknya karya ilmiah

Yogyakarta, 28 Maret 2007

Penulis

(8)

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 %

(9)

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

(10)

Puji syukur pada Tuhan Yesus Kristus yang telah melimpahkan rahmat dan

kasih-Nya sehingga penulis bisa menyelesaikan skripsi ini.

Skripsi ini ditulis untuk memenuhi salah satu syarat memperoleh gelar sarjana

sains Fakultas Matematika dan Ilmu Pengetahuan Alam, Program Studi Ilmu Komputer

Universitas Sanata Dharma.

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

menyampaikan ucapan terima kasih kepada :

1. Bapak Aris Dwi Atmoko selaku Dekan Fakultas MIPA.

2. Bapak Drs. J.J. Siang, M.Sc selaku dosen pembimbing untuk kesabaran, bantuan

dan arahan selama penulis menyusun skripsi.

3. Ibu P.H. Prima Rosa selaku KaProDi Ilmu Komputer untuk bantuan dan dorongan

yang diberikan selama kuliah.

4. Bapak St. Eko Hari Permadi, selaku dosen penguji.

5. Bapak Y. Joko Nugroho, selaku dosen penguji.

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

(11)

Tik” , Anell “Jeng Sri”, Kris “Bunda”..Ayo piknik..

9. Sister and Brother in PMK OIKUMENE: Tassa, Asih&Wahyu, Daniel, Agung,

April&Ray, Elis, Vika, Ridwan, Citra&Frans, Priskila, Tias, Putri, Wahyu&Dian,

dan semua teman2 PMK, thanks for doa&dukungannya.

10.Sahabat-sahabatku di KOST “ICHA”: Techa, Cicil, Ratih, Via, Ijup, Lusi, Mba

Nia, Indri, dan Ana. Thanks buat kebersamaannya selama ini.. Kepolosan kalian

mendewasakanku.. Love u all...

11.My old friends, Mba Ninuk, Mba Nina, Tika, Lina nova, and especially Bang

Cipto, thanks buat kesetiaannya, tuk tetap menyemangati aku..

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

membantu dalam menyelesaikan tugas akhir ini

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.

(12)

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN PEMBIMBING ... ii

HALAMAN PENGESAHAN ... iii

HALAMAN PERSEMBAHAN ... iv

PERNYATAAN KEASLIAN KARYA ... v

ABSTRAK ... vi

ABSTRACT ... vii

KATA PENGANTAR... viii

DAFTAR ISI ... x

DAFTAR TABEL ... xiv

DAFTAR GAMBAR ... xv

BAB I. PENDAHULUAN ... 1

A. Latar Belakang ...………..…... 1

B. Rumusan Masalah ... 2

C. Batasan Masalah ... 2

D. Metodologi ... 3

E. Manfaat Penelitian ... 4

F. Sistematika Penulisan ... 4

BAB II. DASAR TEORI ... 6

A. Jaringan Syaraf Biologi ... 6

B. Backpropagation ... 6

(13)

4. Pemilihan Bobot dan Bias ... 10

5. Jumlah Unit Tersembunyi ... 11

6. Jumlah Pola Pelatihan ... 11

7. Jumlah Iterasi ... 12

C. Preprocessing (Pra pengolahan Citra) ... 12

BAB III. ANALISIS DAN PERANCANGAN ... 14

A. Analisa Sistem ... 14

B. Analisa Kebutuhan Hardware dan Software... 16

1. Analisa Kebutuhan Hardware ... 16

2. Analisa Kebutuhan Software ... 17

C. Perancangan User Interface ... 17

1. Perancangan Form Pembuka ... 19

2. Perancangan Form Menu Utama Program ... 20

3. Perancangan Form Data Baru ... 21

4. Perancangan Form Training ... 22

a. Form Masukan Data ... 22

b. Form Pelatihan ... 23

c. Form Hasil Training ... 24

5. Perancangan Form Testing ... 25

6. Perancangan Form Keputusan ... 26

(14)

1. Proses Input data baru ... 29

2. Proses Preprocessing ... ... 30

3. Proses Training ... 31

4. Proses Testing ... 33

BAB IV. IMPLEMENTASI DAN PEMBAHASAN... 35

A. Implementasi ... 35

1. Proses Data Baru ... 35

2. Proses Pelatihan ... 36

a. Proses Pengambilan gambar ... 36

b. Proses Preprocessing... 37

c. Proses Pelatihan ... 38

3. Proses Testing ... 39

B. Antar Muka Pengguna (User Interface) ... 40

1. Tampilan Awal Program ... 40

2. Tampilan Menu ... 41

C. Pembahasan Program ... 47

1. Jumlah Epoch ... 47

2. Batas Toleransi ... 49

3. Fungsi Pelatihan ... 50

4. Hidden Layer ... 51

5. Pengujian Pola ... 52

(15)

d. Hasil Pengujian ... 59

BAB V. KESIMPULAN DAN SARAN... 60

A. Kesimpulan... 60

B. Saran... 61

DAFTAR PUSTAKA... 62

(16)

Tabel 4.1. Hubungan antara jumlah Epoch dengan error training... 48

Tabel 4.2. Hubungan antara batas toleransi dengan error training ... 49

Tabel 4.3. Hubungan antara fungsi pelatihan dengan jumlah epoch, waktu iterasi dan error training ... 50

Tabel 4.4. Hubungan antara jumlah unit hidden layer dengan error training ... 51

Tabel 4.5. Pembagian pola pelatihan dan pola pengujian ... 53

Tabel 4.6. Hasil pengujian terhadap 25 data training ... 54

Tabel 4.7. Hasil pengujian terhadap data testing ... 54

Tabel 4.8. Hasil pengujian terhadap data lain ... 55

Tabel 4.9. Pembagian pola pelatihan dan pola pengujian ... 56

Tabel 4.10. Pengujian pola terhadap data training ... 56

Tabel 4.11. Pengujian pola terhadap data testing ... 56

Tabel 4.12. Pengujian pola terhadap data lain ... 57

Tabel 4.13. Pola pelatihan dan pola pengujian ... 57

Tabel 4.14. Pengujian pola terhadap data training ... 58

Tabel 4.15. Pengujian pola terhadap data testing ... 58

Tabel 4.16. Pengujian pola terhadap data lain ... 59

(17)

Gambar 2.1. Susunan Syaraf Manusia ... 6

Gambar 2.2. Arsitektur Jaringan Backpropagation... 7

Gambar 3.1. Flowchart (Alur Kerja) Jaringan syaraf tiruan... 15

Gambar 3.2. Flowchart Sistem Secara Umum ... 18

Gambar 3.3. Perancangan Awal Program ... 19

Gambar 3.4. Perancangan Menu Utama Program ... 20

Gambar 3.5. Perancangan Form Data Baru ... 21

Gambar 3.6. Perancangan form masukan data training ... 22

Gambar 3.7. Perancangan Form Pelatihan... 23

Gambar 3.8. Perancangan form hasil training ... 24

Gambar 3.9. Perancangan Form Testing ... 25

Gambar 3.10. Perancangan form keputusan ... 26

Gambar 3.11. Arsitektur Jaringan ... 28

Gambar 3.12. Flowchart proses Input data baru ... 29

Gambar 3.13. Flowchart Proses Preprocessing ... 30

Gambar 3.14. Flowchart proses training ... 32

Gambar 3.15. Flowchart proses testing ... 34

Gambar 4.1. Tampilan awal Program ... 40

Gambar 4.2. Tampilan Menu ... 41

Gambar 4.3. Tampilan Konfirmasi keluar ... 41

(18)

Gambar 4.6. Pesan kesalahan jika masukan berupa string ... 43

Gambar 4.7. Pesan kesalahan jika masukan user lebih dari 30 ... 44

Gambar 4.8. Form training ... 44

Gambar 4.9. Form hasil training ... 45

Gambar 4.10. Form Testing ... 46

Gambar 4.11. Form keputusan ... 46

Gambar 4.12 . Form About Us ... 47

Gambar 4.13. Grafik hubungan antara jumlah epoch dan error training .. 48

Gambar 4.14. Grafik hubungan antara toleransi kesalahan dengan error training ... 49

(19)

BAB I PENDAHULUAN

A. Latar Belakang

Data merupakan kumpulan dari fakta-fakta yang sering digunakan dalam

mengolah ataupun memproses segala sesuatu. Khususnya dalam sebuah instansi

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

tersimpannya data dengan baik, mengingat banyaknya terjadi pembobolan data

akhir-akhir ini oleh pihak yang tidak bertanggung jawab.

Terdapat macam-macam sistem yang digunakan untuk autentifikasi data,

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

autentifikasi dalam sebuah instansi, atau perusahaan-perusahaan besar khususnya.

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

dalam daftar. Misalnya seseorang ingin mengakses data penting, Untuk

mengijinkan dia masuk, orang itu harus tanda tangan, kemudian tanda tangan itu

(20)

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.

Metode yang digunakan untuk mengenali tanda tangan seseorang yaitu

dengan memakai jaringan syaraf tiruan dengan metode backpropagation. Metode

back propagation merupakan metode yang tepat untuk mengenali sebuah pola

tanda tangan karena metode ini menggunakan pelatihan berulang-ulang sehingga

dapat menjamin keakuratan data. Langkah yang dilakukan sebelum pada tahap

Jaringan Syaraf Tiruan adalah preprocessing. Dengan beberapa kali pelatihan

pengenalan pola diharapkan metode ini dapat mengenali tanda tangan.

B. Rumusan Masalah

Yang menjadi bahasan penulisan tugas akhir ini adalah bagaimana

membuat sebuah sistem yang dapat mengenali tanda tangan dengan menggunakan

jaringan syaraf tiruan khususnya metode backpropagation.

C. Batasan Masalah

Agar penulisan tugas akhir tidak terlalu jauh dari tujuan maka akan

dibatasi pada :

(21)

2. Model jaringan yang digunakan adalah jaringan Back Propagation

3. Input yang digunakan berupa file tanda tangan dengan format .jpg.

4. Implementasi sistem menggunakan Matlab 6.5 dari MathWork

D. Metodologi

Metode yang digunakan dalam penyelesaian tugas akhir ini akan

dijelaskan dalam tahap-tahap berikut ini :

1. Pengambilan sampel

Pada tahap ini yang dilakukan adalah pengambilan sampel tanda tangan

yang digunakan sebagai template dan input dalam proses pengenalan tanda

tangan. Tanda tangan diambil dari 5 orang dimana setiap orang

membubuhkan10 tanda tangan, sehingga semua tanda tangan berjumlah 50

buah.

2. Preprocessing

Yang dilakukan pada tahap ini adalah pengubahan gambar menjadi citra

digital, pemotongan gambar (cropping image), binerisasi citra dan

pengubahan ukuran gambar.

3. Pelatihan dan Pengujian

Pada tahap ini yang dilakukan adalah pelatihan dan pengujian tanda

tangan. Metode pembelajaran yang digunakan dalam pelatihan dan

pengujian jaringan ini adalah backpropagation atau dikenal dengan

(22)

4. Pengambilan Keputusan

Pada tahap ini akan diambil keputusan mengenai tanda tangan, misalnya

keputusan apakah tanda tangan tersebut dikenali atau tidak. Keputusan

diambil berdasarkan langkah-langkah sebelumnya.

5. Penulisan Program

Pada tahap ini mulai menulis program yang akan dipakai dalam

pengenalan tanda tangan dengan merepresentasikan langkah-langkah

diatas kedalam sebuah program. Program yang dipakai adalah Matlab 6.5.

6. Pengujian terhadap sistem

Tahap ini dilakukan untuk mengetahui apakah sistem sesuai dengan yang

diinginkan, juga digunakan untuk mengetahui kesalahan yang masih

mungkin terjadi.

E. Manfaat Penelitian

Dengan dibuatnya sistem ini diharapkan dapat membantu

pihak/instansi dalam melakukan autentikasi data, yaitu mampu membantu

mengenali pola tanda tangan seseorang demi terciptanya keamanan dalam

mengakses data.

F. Sistematika Pembahasan

(23)

Bab I Pendahuluan

Berisi mengenai Latar belakang penulisan, rumusan masalah,

batasan masalah, manfaat penulisan tugas akhir, metode penelitian

dan sistematika penulisan

Bab II Landasan Teori

Berisi mengenai pengertian dari jaringan syaraf tiruan, pengenalan

tanda tangan, algoritma back propagation, pre-processing.

Bab III Analisis dan Perancangan

Berisi tentang analisis sistem, perancangan atau desain program

termasuk user interface, proses pre processing, proses pelatihan

dan pengujian, pengambilan keputusan serta perancangan mesin

inference.

Bab IV Implementasi dan pembahasan

Berisi tentang hasil pembuatan program dan penjelasan atau

analisis program, diagram alir, serta beberapa contoh keluaran dari

data yang dimasukkan serta pembahasan program.

Bab V Kesimpulan dan Saran

Berisi beberapa kesimpulan dan saran berdasarkan hasil pembuatan

(24)

BAB II

LANDASAN TEORI

A. Jaringan Syaraf Biologi

Otak manusia memiliki struktur yang sangat kompleks dan memiliki

kemampuan yang luar biasa. Otak manusia berisi jutaan sel syaraf yang bertugas

untuk memproses informasi. Tiap-tiap sel bekerja seperti suatu processor

sederhana. Masing-masing sel tersebut saling berinteraksi sehingga mendukung

kemampuan kerja otak manusia. Otak terdiri dari neuron-neuron dan penghubung

yang disebut sinapsis. Neuron bekerja berdasarkan inpuls/sinyal yang diberikan

kepada neuron. Neuron meneruskannya pada neuron lain. Diperkirakan manusia

memiliki 1012 neuron dan 6.1018 sinapsis.

Gambar 2.1. Susunan syaraf manusia

Nucleus Synapses

Axon Dendrite

B. Backpropagation

Backpropagation merupakan salah satu metode pembelajaran yang

terawasi (supervised training). Backpropagation melatih jaringan untuk

mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola

(25)

yang digunakan selama pelatihan serta kemampuan jaringan untuk memberikan

respon yang benar terhadap pola masukan yang serupa dengan pola yang dipakai

pada saat pelatihan. Algoritma Backpropagation menggunakan error output untuk

mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk

mendapatkan error ini, tahap perambatan maju (forward propagation) harus

dikerjakan terlebih dahulu. Pada saat perambatan maju, neuron – neuron

diaktifkan dengan menggunakan fungsi aktivasi sigmoid yaitu :

x

e x

f

+ =

1 1 ) (

1. Arsitektur Backpropagation

Gambar 2.2. Arsitektur jaringan Backpropagation

Gambar diatas merupakan gambar arsitektur jaringan Backpropagation

dengan sebuah layar input dengan n unit masukan ditambah dengan sebuah bias.

Dalam gambar tersebut juga terdapat sebuah layar tersembunyi dengan p unit

(26)

Bias merupakan parameter neuron yang dijumlahkan dengan bobot input

neuron dan diteruskan ke fungsi transfer neuron untuk meng-generate output

neuron. Biasanya bias bernilai 1.

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

2. Pelatihan standar Backpropagation

Pelatihan Backpropagation meliputi 3 fase. Fase pertama ialah fase maju

(Forward Chaining) dimana pola masukan dihitung maju mulai dari layar

masukan hingga layar keluaran dengan menggunakan fungsi aktivasi yang

ditentukan. Fase kedua adalah fase mundur (backward Chaining). Dalam fase ini

selisih antara keluaran jaringan dengan target yang diinginkan merupakan

kesalahan yang terjadi. Kesalahan tersebut dipropagasikan mundur, dimulai dari

garis yang berhubungan langsung dengan unit-unit dilayar keluaran. Fase ketiga

adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi.

3. Algoritma Pelatihan Backpropagation

1. Inisialisasi semua bobot-bobot dengan bilangan acak kecil.

2. Jika kondisi penghentian belum terpenuhi, lakukan langkah berikut :

a. Untuk setiap pasang data pelatihan, lakukan langkah berikut :

(27)

i. Tiap unit masukan menerima sinyal dan meneruskannya ke

unit tersembunyi diatasnya.

ii. Hitung semua keluaran di unit tersembunyi zj (j=1,2,3,...,p)

iii. Hitung semua keluaran jaringan di unit yk (k=1,2,...,m)

Fase II : Propagasi mundur

iv. Hitung faktor δ unit keluaran berdasarkan kesalahan di

setiap unit keluaran yk(k=1,2,...,m)

)

δk merupakan unit kesalahan yang akan dipakai dalam

perubahan bobot layar dibawahnya (langkah v)

Hitung suku perubahan bobot wkj (yang akan dipakai nanti

untuk merubah bobot wkj) dengan laju percepatan α.

j k

kj z

w =αδ

Δ ; k=1, 2, ..., m ; j=0, 1, ..., p

v. Hitung faktor δ unit tersembunyi berdasarkan kesalahan di

(28)

Hitung suku perubahan bobot vji (yang akan dipakai nanti

untuk merubah bobot vji)

Δvji=αδj xi ; j=1, 2, ..., p ; i=0, 1, ..., n

Fase III : Perubahan bobot

vi. Hitung semua perubahan bobot

Perubahan bobot garis yang menuju ke unit keluaran :

wkj(baru)=wkj(lama)+ Δwkj (k=1, 2, ..., m ; j=0, 1, ..., p)

Perubahan bobot garis yang menuju ke unit tersembunyi :

vji(baru)=vji(lama)+ Δvji (j=1, 2, ..., p ; i=0, 1, ..., n)

Setelah proses pelatihan selesai dilakukan, jaringan dapat dipakai untuk

mengenali pola. Dalam hal ini, hanya propagasi maju saja yang digunakan

untuk pengujian (testing) yang bertujuan untuk menentukan keluaran

jaringan. Selain itu proses pengujian ini juga bertujuan untuk mengetahui

keakuratan jaringan syaraf tiruan yang sebelumnya dilatih.

4. Pemilihan Bobot dan Bias

Bobot awal akan mempengaruhi apakah jaringan mencapai titik minimum

lokal atau global terhadap nilai error, dan cepat tidaknya proses pelatihan menuju

(29)

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

menggunakan metode Nguyen-Widrow.

5. Jumlah Unit Tersembunyi

Pada dasarnya tidak ada aturan khusus untuk menetapkan jumlah layar

tersembunyi yang akan digunakan. Jaringan dengan sebuah layar tesembunyi

sudah cukup bagi backpropagation untuk mengenali sembarang perkawanan

antara masukan dan target dengan tingkat ketelitian yang ditentukan. Tetapi

penambahan jumlah layar tersembunyi dapat membuat pelatihan lebih mudah.

6. Jumlah Pola Pelatihan

Dalam Hal ini juga tidak ada kepastian tentang berapa banyak pola yang

akan digunakan agar jaringan dapat dilatih dengan sempurna. Jumlah pola yang

dibutuhkan dipengaruhi oleh banyaknya bobot dalam jaringan serta tingkat

(30)

7. Jumlah iterasi

Jumah iterasi digunakan sebagai kondisi penghentian dari pelatihan

backpropagation. Jumlah iterasi ditentukan oleh user sendiri, karena tidak ada

aturan untuk menentukan jumlah iterasi. Dalam pelatihan backpropagation, iterasi

akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah

maksimum iterasi yang ditetapkan, atau kesalahan yang terjadi sudah lebih kecil

dari batas toleransi yang diijinkan.

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.

D. Preprocessing (Pra Pengolahan Citra)

Secara harafiah, citra (image) adalah sebuah gambar pada bidang

dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan

fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. (Munir,

2004)

Preprocessing merupakan proses awal yang dilakukan untuk memperbaiki

kualitas citra (edge enhancement) dengan menggunakan teknik-teknik pengolahan

(31)

Pengolahan citra bertujuan memperbaiki kualitas citra agar mudah

diinterpretasikan oleh manusia atau mesin komputer. Terdapat macam-macam

operasi pengolahan citra, diantaranya :

a. Pengubahan ukuran gambar (resize)

Pengubahan ukuran gambar berarti mengubah citra dari ukuran semula ke

ukuran yang diinginkan.

b. Pemotongan gambar (cropping)

Cropping atau pemotongan gambar merupakan salah satu operasi dari

pengolahan citra dimana operasi ini bertujuan untuk mengubah gambar

menjadi ukuran yang spesifik.

c. Konversi citra warna menjadi citra biner (binerisasi)

Citra biner merupakan citra yang hanya mempunyai dua nilai derajat

keabuan yaitu hitam dan putih. Pixel-pixel objek bernilai 1 dan pixel-pixel

latar belakang bernilai 0. Pada waktu menampilkan gambar, 0 adalah

putih, dan 1 adalah hitam. Citra biner banyak diaplikasikan di berbagai

operasi pemrosesan pengenalan objek, salah satunya untuk pengenalan

(32)

BAB III

ANALISIS DAN PERANCANGAN A. Analisa Sistem

Sistem yang dibuat adalah sistem untuk pengenalan pola tanda tangan,

bertujuan untuk membantu user dalam mengenali tanda tangan seseorang dengan

menggunakan algoritma pembelajaran Jaringan Syaraf Tiruan.

Dalam sistem ini akan digunakan algoritma pembelajaran backpropagation

standar, dimana dalam pembelajaran ini akan dicari penyelesaian yang paling

optimal untuk pengenalan sebuah pola tanda tangan.

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.

(33)

Alur Kerja dari Jaringan Syaraf tiruan untuk pengenalan tanda tangan

Gambar 3.1. Flowchart (Alur Kerja) Jaringan syaraf tiruan - Input

Merupakan masukan berupa tanda tangan dengan format .jpg, dan sudah

diubah menjadi citra digital.

- Image Processing

Proses ini merupakan proses pengolahan citra, dimana citra yang diolah

adalah gambar tanda tangan yang sudah di scan sebelumnya. Citra awal

yang diambil oleh user merupakan citra RGB 3 dimensi.

Binerisasi citra dilakukan untuk mengubah citra menjadi citra grayscale

yang bernilai 0 dan 1.

Pemotongan gambar (Cropping), yaitu memotong gambar sedemikian

rupa sehingga citra tepat berada di tepi batas. Pemotongan dilakukan

(34)

Pengubahan ukuran gambar (Resize) dilakukan agar citra lebih mudah

untuk diolah dalam proses neural network. Ukuran citra diubah menjadi

citra dengan ukuran 50 x 50.

- Neural Network

Proses ini digunakan pada saat pelatihan dan pengujian. Jaringan syaraf

yang digunakan adalah jaringan syaraf backpropagation dengan sebuah

input yang terdiri dari 2500 neuron, sebuah layar hidden dengan 5 unit,

dan 5 buah target. Bobot awal yang digunakan merupakan bilangan

random bukan 0.

- Output

Setelah melalui 3 proses diatas, maka program akan mengeluarkan output,

yang berupa keterangan apakah tanda tangannya dikenali atau tidak. Jika

dikenali, maka program akan menampilkan tanda tangannya beserta

biodata dari pemilik tanda tangan tersebut. Jika tidak, program akan

menampilkan tanda tangan dan pesan bahwa tanda tangan tidak dikenali.

B. Analisa Kebutuhan Hardware dan Software 1. Analisa kebutuhan hardware

Kebutuhan hardware merupakan kebutuhan akan perangkat keras

komputer untuk mendukung sistem yang akan dibuat. Yang dibutuhkan

untuk membangun sistem ini antara lain :

1. Main board : Asus P4S533X

(35)

3. Memori : RAM 256 MB

4. Hard disk : HDD 40 Gbyte

5. VGA Card : AGP 64 Mb Geforce

6. Monitor : LG 15’

7. Disk Drive : LiteOn 52x

2. Analisis kebutuhan software

Analisis kebutuhan software untuk mendukung pengoperasian dan

pengembangan sistem.

1. Sistem operasi : Sistem Operasi Windows XP

2. Source Code : Matlab 6.5

3. Browser : Internet Explorer dan Mozila Firefox

4. Data base : SQLyog

C. Perancangan User Interface

Program dirancang dengan menggunakan GUI (Graphical User Interface)

dari Matlab 6.5. Program ini dirancang memiliki 4 buah menu yaitu menu File,

Input, Run, dan Help.

- Menu File berisi sub menu exit, digunakan untuk keluar dari program.

- Menu Input berisi sub menu New Data, digunakan jika user ingin

memasukkan data baru.

- Menu Run memiliki 2 sub menu yaitu sub menu training dan testing.

- Menu Help mempunyai sub menu yaitu about us, yang berisi sekilas

(36)

Start

If y=1 Menu Pilihan : 1. File 2. Input 3. Run 4. Help

Masukkan pilihan(y)?

KELUAR

If y=2 DATA BARU

If y=3

Menu Pilihan: 1. Training 2. Testing

masukkan pilihan (x) ?

If x=1 TRAINING

If x=2 TESTING

If y=4 ABOUT US

ya

tidak

ya

tidak

ya

tidak

ya

tidak

ya

ya

end

(37)

1. Perancangan Form Pembuka

JUDUL

LOGO USD

PRODI JURUSAN FAKULTAS UNIVERSITAS

TAHUN

Disusun Oleh : Dosen Pembimbing :

ENTER EXIT

Gambar 3.3. Perancangan Awal Program Rancangan form pembuka ini terdiri dari

a. 3 buah static text

3 buah static text ini digunakan untuk menampilkan judul,

nama penyusun dan dosen pembimbing, dan nama prodi,

jurusan, fakultas, universitas serta tahun pembuatan.

b. 1 buah Axes

Axes atau grafik disini digunakan untuk menampilkan logo

dari universitas.

Axes atau grafik disini digunakan untuk menampilkan logo dari universitas.Axes

(38)

c. 2 buah push button

2 buah push button atau tombol yaitu tombol exit dan

tombol enter. Tombol exit digunakan untuk keluar dari

form pembuka, dan tombo enter digunakan untuk masuk

kedalam form menu utama.

2. Perancangan Form Menu Utama Program

Perancangan Form preprocessing

File Input Run Help

Exit New Data Training About US

Testing

Gambar 3.4. Perancangan Menu Utama Program

Form menu awal program terdiri dari: sebuah menu editor, dimana

didalamnya terdapat 4 buah menu.

a. Menu File

Terdiri dari sebuah sub menu yaitu sub menu exit

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

(39)

d. Menu Help

Terdiri dari sebuah sub menu yaitu sub menu about us

3. Perancangan Form Data Baru

Masukkan Nama :

Masukkan Alamat :

Masukkan Pekerjaan

Menu Utama Simpan Text1

Images

Ambil Foto

Text2

Gambar 3.5. Perancangan Form Data Baru Form data baru terdiri dari

a. 4 buah edit text

Masing-masing edit text digunakan untuk isian dari nama, alamat,

pekerjaan, dan no. telp.

b. 7 buah static text

5 buah static text, digunakan untuk menampilkan kalimat input

data baru, masukkan nama, masukkan alamat, masukkan pekerjaan,

dan masukkan no. telp. Text 1 digunakan untuk menampilkan

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

(40)

c. 2 buah Axes

Axes disini digunakan untuk menampilkan gambar tanda tangan

dan gambar foto yang akan dimasukkan oleh user.

d. 4 buah push button

4 buah push button atau tombol yaitu tombol ambil gambar, ambil

foto, tombol back dan tombol save. Tombol ambil gambar

digunakan untuk mengambil gambar tanda tangan dari file, tombol

ambil foto digunakan untuk mengambil foto, tombol back

digunakan untuk kembali ke menu utama, dan tombol save

digunakan untuk menyimpan data yang telah dimasukkan.

4. Perancangan Form Training a. Form Masukan data

Banyaknya data yang akan ditraining

3

OK

Menu Utama

Gambar 3.6. Perancangan form masukan data training

Dalam form ini hanya terdapat sebuah edit text dan sebuah tombol OK.

Edit text berfungsi sebagai masukkan data dari user, yaitu banyaknya data

yang akan di training. Tombol OK berfungsi untuk melangkah ke form

(41)

b. Form Pelatihan

PELATIHAN JARINGAN

Masukkan Jumlah Epoch :

Masukkan batas toleransi :

Masukkan Laju Pemahaman :

Jumlah Hidden Layer

Masukkan jumlah unit hidden layer :

Gambar 1

Gambar2

Gambar3

Menu Utama Bobot Latih Jaringan

Gambar 3.7. Perancangan Form Pelatihan Form pelatihan jaringan terdiri dari :

a. 6 buah static text

6 buah Static text disini hanya digunakan untuk menampilkan

kalimat.

b. edit text

Masing-masing edit text digunakan untuk nama file data yang akan

ditraining.

c. Pop up

Pop up digunakan untuk pilihan masukan jumlah epoch, batas

toleransi kesalahan, laju pemahaman, jumlah hidden layer dan

jumlah unit hidden layer

d. Push button (Tombol)

Beberapa buah tombol yaitu tombol ambil gambar, tombol keluar,

(42)

untuk mengambil citra yang ingin di latih dari file. Tombol ini

akan disesuaikan dengan banyaknya masukan data dari user. Jika

user memasukkan data 3, maka tombol gambar akan mucul

sebanyak 3 buah. Tombol train digunakan untuk melatih jaringan.

Setiap citra yang akan dilatih harus melewati proses ini, tombol

keluar digunakan jika user ingin keluar dari form pelatihan dan

tombol kembali digunakan untuk kembali ke menu utama.

c. Form Hasil Training

HASIL TRAINING

Listbox 1

Listbox3 Listbox4 Listbox2

close

Gambar 3.8. Perancangan form hasil training

Form hasil training, yang terdiri dari 4 buah listbox, dimana

(43)

setiap layar dan nilai bias untuk setiap layar. Sebuah tombol close,

digunakan untuk menutup form.

5. Perancangan Form Testing

TESTING JARINGAN

Images Pilih data ambil gambar

Lihat bobot

Uji Jaringan

Menu Utama

Gambar 3.9. Perancangan Form Testing Form testing terdiri dari :

a. 2 buah static text, digunakan untuk menampilkan text (kalimat)

b. 4 buah push button(tombol), terdiri dari tombol ambil gambar, lihat

bobot, uji jaringan dan tombol keluar.

c. 1 buah axes, yaitu grafik yang digunakan untuk menampilkan citra

yang dipilih user untuk dikenakan testing dan citra yang ditampilkan

sudah dikenakan proses preprocessing.

masukan nama file tanda tangan, dan text 2 digunakan untuk menampilkan nama

(44)

6. Perancangan Form Keputusan

FORM KEPUTUSAN

Berdasarkan hasil pelatihan dan pengujian diperoleh keputusan

Kode :

Nama :

Alamat :

Pekerjaan :

No. Telp :

Edit text1

Edit Text2

Edit Text3

Edit Text4

Edit Text5

Image 1

Tutup

Image 2

Gambar TTD yang diuji Hasil Keputusan :

Gambar 3.10. Perancangan form keputusan

Gambar 3.10. merupakan rancangan dari form keputusan, dimana

didalamnya terdapat :

a. 8 buah static text, digunakan untuk menampilkan kalimat form

keputusan, gambar tanda tangan yang diuji, hasil keputusan,

berdasarkan hasil pelatihan dan pengujian, kode, nama, alamat,

pekerjaan, dan no. Telp.

b. 6 buah edit text, digunakan untuk menampilkan hasil keluaran dari

kode, nama, alamat, pekerjaan, dan no. Telp.

c. 1 buah pushbutton yaitu tombol tutup, yang digunakan untuk menutup

(45)

d. 2 buah axes, digunakan untuk menampilkan tanda tangan yang

diujikan dan biodata hasil pelatihan dan pengujian.

D. Perancangan Arsitektur Jaringan

Arsitektur jaringan yang digunakan dalam pengenalan tanda tangan ini

adalah arsitektur jaringan dengan banyak lapisan (multilayer net). Jaringan yang

dibentuk terdiri dari sebuah layar masukan (input layer), sebuah layar tersembunyi

(hidden layer) dan sebuah layar keluaran (output layer).

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

hidden layer dan jumlah neuron pada hidden layer.

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

(46)

pola masukan, sehingga bentuk pola masukan adalah sebuah matriks dengan

ukuran 2500 x 50.gggggggggggggggggggggggggggggggggggggggggggggggg

Gambar 3.11. Arsitektur Jaringan

E. Perancangan Struktur Data geeeeeeeeeeeeeeeeeeeeeeeesssssssssssssssssss

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

(47)

F. Perancangan Proses 1. Proses Input data baru

Cara kerja :

1. Masukkan nama, alamat, pekerjaan, no. telp, dan gambar tanda tangan

dan gambar foto.

2. Cek kelengkapan data, jika terdapat kesalahan, sistem akan

menampilkan pesan kesalahan.

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 Alamat Pekerjaan No.telp Gambar_ttd Gambar_foto

Tabel 3.1. Tabel tanda tangan Tabel tanda tangan memiliki 6 field

Nama : varchar25

Alamat : varchar25

Pekerjaan : varchar20

No. telp : varchar15

Gambar_ttd : varchar50

Gambar_foto : varchar50

menampung bias. Matriks yang bertipe biner ini digunakan sebagai masukan pada

(48)

menampriks yang bertipe biner ini digunakan sebagai masukan pada layar

input.njjdcvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvdddddddddddddddee

(49)

2. Proses Preprocessing effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

Proses preprocessing digunakan agar memudahkan sistem dalam

mengolah citra. Cara kerja proses preprocessing :

- Ambil gambar yang akan diolah.

- Pemotongan citra (cropping), yaitu memotong citra sedemikian rupa

sehingga citra berada tepat di tepi objek.

- binerisasi citra, yaitu pengubahan citra dari RGB menjadi citra hitam putih

yang bernilai 1 dan 0. angka 1 menyatakan warna putih, dan 0 menyatakan

warna hitam

- Pengubahan ukuran citra menjadi citra dengan ukuran 50 x 50.

menampung bias. Matriks yang bertipe biner ii digunakan sebagai masukan pada

(50)

3. Proses training efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

Cara kerja proses training :

- Masukkan banyaknya data yang akan dilatih

- 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

- Inisialisasi bobot awal. Bobot awal di inisialisasikan pada setiap nilai x

dilayar input yang terhubung ke layar tersembunyi y, dan kepada setiap

nilai y dilayar tersembunyi ke layar output z. Bobot awal juga di

inisialisasikan untuk setiap bias, baik itu bias di layar input dan bias di

layar tersembunyi.

- Cek kesamaan input, yaitu mengecek apakah terdapat kesamaan data

masukan yang diambil oleh user. Jika terdapat data yang sama, sistem

akan memberi konfirmasi kesamaan data.

- Data akan dilatih dengan sehingga menghasilkan bobot – bobot baru.

- 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

(51)

digunakan sebagai masukan pada layar input. menampung bias. Matriks yang efe

(52)

4. Proses Testing effffffsssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeqqqq

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

pengujian terhadap data training, data testing, dan data lain.

Cara kerja proses testing:

- Ambil data nilai bobot hasil training. Bobot yang diambil berupa bobot

input ke hidden layer, bobot input dari hidden layer ke output layer, nilai

bias di layar input dan nilai bias di layar output

- Ambil data yang akan diuji, yang berupa gambar tanda tangan

- Lakukan proses perambatan maju

- Hasil testing yang diperoleh akan dibandingkan dengan target yang

terdapat di tabel kelas dalam database untuk pengambilan keputusan.

- Target ditentukan berdasarkan pola yang digunakan. Dalam hal ini, tanda

tangan terdiri dari 5 pola, sehingga targetnya juga ada 5.

Untuk pola I. T = [1 0 0 0 0]

Untuk pola II. T = [0 1 0 0 0]

Untuk pola III. T = [0 0 1 0 0]

Untuk pola IV.T = [0 0 0 1 0]

(53)

Jika nilai keluaran yang dihasilkan sama dengan pola I, maka tanda tangan

termasuk dalam kelas I. Kemudian database akan mengeluarkan informasi

pemilik dari kelas I ke dalam form keputusan.

Kelas Nama Alamat Pekerjaan No.telp Gambar_ttd Target

1 Andy Jakarta Wiraswasta 0817252862 andy.jpg 1 0 0 0 0

2 Anel Paingan Mahasiswi 0813658954 anel.jpg 0 1 0 0 0

: : : : : : :

termasuk dalam kelas I. Kemudian database akan mengeluarkan informasi

termasuk dalam kelas I. Kemudian database akan mengeluarkan informasi fefefe

(54)

BAB IV

IMPLEMENTASI DAN PEMBAHASAN A. Implementasi

1. Proses data baru

Dalam proses ini, user dapat memasukkan data baru ke dalam sistem.

Sebelum data baru disimpan ke dalam sistem, data yang dimasukkan oleh user

akan melalui proses pengecekan data terlebih dahulu.

nma=get(handles.edit1,'string'); % pengecekan data untuk nama nma = strvcat(nma)

nm=isempty(nma); if (nm==1)

errordlg('Nama anda belum dimasukkan','!! Perhatian !!') break;

end;

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

(55)

Setelah data dicek, dan tidak ada kesalahan, maka data akan disimpan

kedalam database. Perintah untuk koneksi data base :

%untuk mengkoneksikan ke database myodbc conn = database('myodbc','root',''); ping(conn);

%untuk memilih tabel database

curs = exec(conn, 'select * from table_tanda_tangan') setdbprefs('DataReturnFormat','cellarray')

curs = fetch(curs,10) AA = curs.Data

%lihat_data=curs.data(:,1)

%untuk mengetahui jumlah data dari database yang disimpan panjangbaris = rows(curs)

Setelah database dikoneksikan, maka proses penyimpanan data baru pun

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

a. Proses pengambilan gambar

Dalam proses pelatihan, user akan diminta memilih file tanda tangan yang

ingin dilatih. Nama file tanda tangan yang diambil oleh user akan ditampilkan di

program. Source code untuk pengambilan gambar

[fname,pname] =uigetfile('data training\*.jpg','Open Citra Tanda tangan');

asli=fname;

(56)

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.

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

Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal

ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk

(57)

c. Proses Pelatihan

Proses pelatihan ini bertujuan untuk melatih jaringan agar mampu

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]; % 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}

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

(58)

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.

Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal

ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk

(59)

B. Antar muka pengguna (User Interface) 1. Tampilan awal Program

Gambar 4.1. Tampilan awal Program

Pada tampilan awal ini hanya menyajikan judul dan penulis program,

kemudian didalamnya terdapat 2 buah tombol (pushbutton), yaitu tombol enter

dan tombol exit. Tombol Enter berguna untuk memasuki tampilan berikutnya, dan

tombol exit digunakan untuk keluar.

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.

(60)

2. Tampilan Menu

Gambar 4.2. Tampilan Menu Pada tampilan ini terdapat 4 menu yang dapat membantu user.

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

menu tidak akan tertutup.

(61)

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

dapat diambil dari file.

Gambar 4.4. Tampilan input data baru

Dalam form ini terdapat 4 buah pushbutton (tombol), yaitu tombol ambil

gambar, ambil foto, tombol menu utama, dan tombol simpan.

Tombol ambil gambar berguna untuk mengambil gambar dari file. Hal ini

dilakukan user jika user ingin memasukkan data baru.

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

grafik dibawahnya, kemudian nama file tanda tangan yang diambil

(62)

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

tidak lengkap, maka program akan menampilkan pesan kesalahan.

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

menggunakan jaringan backpropagation standar. Pada proses pelatihan,

user akan memasukkan berapa banyaknya data yang akan dilatih. Data

yang akan dilatih dibatasi hingga 30 data.

Gambar 4.5. Form masukan banyaknya data yang akan ditraining Jika masukan data berupa string, program akan menampilkan pesan

kesalahan

Gambar 4.6. Pesan kesalahan jika masukan berupa string

Jika angka yang dimasukkan oleh user lebih dari 30, maka program akan

(63)

Gambar 4.7. Pesan kesalahan jika masukan user lebih dari 30

Kemudian user juga akan diminta untuk memilih banyaknya jumlah

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

tidak akan dapat melakukan proses training, dan program akan

menampilkan pesan kesalahan.

Gambar 4.8. Form training

Form training berfungsi untuk melatih jaringan dari data yang telah

(64)

jaringan. Nilai bobot jaringan yang telah dilatih akan ditampilkan ke dalam

sebuah form. Gambar 4.9. merupakan form yang digunakan untuk

menampilkan hasil modifikasi bobot dari setiap layarnya. Nilai ini akan

digunakan nantinya dalam proses pengujian jaringan.

Gambar 4.9. Form hasil training

Pada sub menu Testing, data akan diuji dan dikenali, dengan menggunakan

bobot yang diperoleh dari hasil training. Caranya user diminta untuk

mengambil citra yang digunakan untuk pengujian. Citra yang ditampilkan

di grafik merupakan citra yang sudah melewati proses preprocessing,

(65)

Gambar 4.10. Form Testing

Hasil pengujian akan ditampilkan di form baru, dimana hasil pengujian

berupa keputusan apakah tanda tangan dikenali atau tidak. Jika dikenali,

maka form akan menampilkan identitas dari pemilik program.

(66)

4. Menu Help

Pada menu ini terdapat sebuah sub menu yaitu about us, yang berisi

informasi sekilas tentang program dan tentang pembuat program.

Gambar 4.12. Form About Us

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.

(67)

Jumlah Epoch Error training

100 0.150494

200 0.169112

300 0.253727

400 0.249435

500 0.0960561

1000 0.0470009

Tabel 4.1. hubungan antara jumlah epoch dan error training

Dari tabel diatas, dapat ditarik kesimpulan bahwa jumlah epoch

mempengaruhi nilai error training. Semakin besar jumlah epoch, semakin kecil

pula error training yang didapat. Sebaliknya, semakin besar jumlah epoch,

semakin lama pula waktu yang dibutuhkan untuk sebuah proses.

Grafik hubungan antara jumlah epoch dengan error training

0 0.05 0.1 0.15 0.2 0.25 0.3

100 200 300 400 500 600 700 800 900 1000

Jumlah epoch

E

rr

or

t

ra

ining

error training

(68)

2. Batas Toleransi

Percobaan berulang ulang juga dilakukan terhadap batas toleransi. Tabel

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.

Tol kesalahan Error training 0.01 0.00992619

0.001 0.00326833 0.0001 9.78E-05 0.0002 0.0017724 0.0005 0.00601012

Tabel 4.2. Hubungan antara batas toleransi dengan error training

Grafik hubungan antara toleransi kesalahan dengan error training

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

Dari grafik dapat dilihat bahwa toleransi kesalahan sangat berpengaruh

(69)

mendekati nol), nilai error training yang diperoleh semakin kecil. Dalam hal ini,

nilai optimal dicapai pada toleransi kesalahan 0.0001.

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

pemahaman 0.02 dan jumlah unit hidden layer adalah 10.

Fungsi Pelatihan Jumlah epoch

Waktu Iterasi (det)

Error training

Traingd Tidak selesai pada epoch ke 100 17.125 0.264628

Traingdm Tidak selesai pada epoch ke 100 17.438 0.0439853

Traingda Tidak selesai pada epoch ke 100 17.422 0.0161458

Traingdx Tidak selesai pada epoch ke 100 12.015 9.93E-05

Tabel 4.3. Hubungan antara fungsi pelatihan dengan jumlah epoch, waktu iterasi dan error training

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

dengan fungsi pelatihan lainnya.

Setiap pola yang diambil oleh user akan melalui proses preprocessing. Hal

ini dilakukan untuk memudahkan dalam perhitungan. Proses ini digunakan untuk

(70)

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

dihasilkan. Percobaan dilakukan terhadap 30 data, dengan epoch 500, toleransi

kesalahan 0.0001, dan learning rate 0.02.

Jumlah unit hidden layer Error training

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

dilihat jelas dari grafik berikut:

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

(71)

Hubungan antara unit hidden layer dengan error training

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

error training yang diperoleh.

5. Pengujian Pola

Pengujian pola dilakukan terhadap 3 model data, yaitu 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

(72)

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

kesalahan 0.0001 dan jumlah unit hidden layer sebanyak 5 buah.

a. Pengujian pola dengan 25 data

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

pelatihan dan 25 buah untuk data pengujian.

Pola Tanda tangan

P-1 Ttd1 Ttd2 Ttd3 Ttd4 Ttd5 Ttd6 Ttd7 Ttd8 Ttd9 Ttd10 P-2 Ttd1 Ttd2 Ttd3 Ttd4 Ttd5 Ttd6 Ttd7 Ttd8 Ttd9 Ttd10 P-3 Ttd1 Ttd2 Ttd3 Ttd4 Ttd5 Ttd6 Ttd7 Ttd8 Ttd9 Ttd10 P-4 Ttd1 Ttd2 Ttd3 Ttd4 Ttd5 Ttd6 Ttd7 Ttd8 Ttd9 Ttd10 P-5 Ttd1 Ttd2 Ttd3 Ttd4 Ttd5 Ttd6 Ttd7 Ttd8 Ttd9 Ttd10

Tabel 4.5. Pembagian pola pelatihan dan pola pengujian Keterangan :

P-1 : Pola ke 1, dst

Ttd1 : Tanda tangan ke 1, dst

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

(73)

Pengujian pola terhadap data training

Pola Ttd1 Ttd2 Ttd3 Ttd4 Ttd5

P-1 P-1 P-1 P-1 P-1 P-1

P-2 P-2 P-2 P-2 P-2 P-2

P-3 P-3 P-3 P-3 P-3 P-3

P-4 P-4 P-4 P-4 P-4 P-4

P-5 ??? ??? ??? ??? ???

Tabel 4.6. hasil pengujian terhadap 25 data training Keterangan :

: Tanda tangan tidak dikenal

Tabel diatas merupakan tabel hasil pengujian pola yang dilakukan

terhadap data yang sudah ditraining. Hal ini berarti data pengujian sama dengan

data pelatihan. Dari hasil pengujian yang dilakukan terhadap 25 buah data

training, pola tanda tangan dapat dikenali dengan benar sebesar 83 %

Pengujian pola terhadap data testing

Pola Ttd1 Ttd2 Ttd3 Ttd4 Ttd5

P-1 P-1 ??? ??? P-1 ???

P-2 ??? P-4 P-2 P-2 ???

P-3 ??? P-4 ??? P-3 ???

P-4 P-4 P-4 P-4 P-4 ???

(74)

Keterangan :

: Tanda tangan tidak dikenal

: Tanda tangan dikenali sebagai tanda tangan lain

Tabel diatas merupakan hasil pengujian pola yang dilakukan terhadap data

testing. Dari tabel diatas dapat dilihat hasil pengujian yang dilakukan terhadap 25

pola, pola dapat dikenali dengan benar sebesar 40 %

Pengujian pola terhadap data lain

Pola Ttd1 Ttd2 Ttd3 Ttd4

P-A ??? P-4 ??? ???

P-B P-2 ??? P-3 ???

P-C P-2 ??? P-1 P-1

Tabel 4.8. hasil pengujian terhadap data lain Keterangan :

P-A : Pola ke A, dst

: Tanda tangan tidak dikenal

: Tanda tangan dikenali sebagai tanda tangan lain

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

Gambar

Gambar 3.1. Flowchart (Alur Kerja) Jaringan syaraf tiruan
Gambar 3.2.  Flowchart sistem secara umum
Gambar 3.3. Perancangan Awal Program
Gambar 3.4. Perancangan Menu Utama Program
+7

Referensi

Dokumen terkait

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

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

Sehubungan dengan itu, Lembaga Penelitian Universitas Negeri Padang bekerjasama dengan Pimpinan Universitas, telah memfasilitasi peneliti untuk melaksanakan penelitian

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