Implementasi Pengenalan Tanda Tangan Dengan Menggunakan Metode Backpropagaton.

(1)

Implementasi Pengenalan Tanda Tangan dengan

Menggunakan Metode Backpropagation

TUGAS AKHIR

 

 

Diajukan Oleh :

RENDRA FEBRIANTO

0634015068

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

SURABAYA 2010


(2)

IMPLEMENTASI PENGENALAN TANDA TANGAN

DENGAN MENGGUNAKAN METODE

BACKPROPAGATION

TUGAS AKHIR

Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer

Jurusan Teknik Informatika 

 

 

 

Disusun oleh :

RENDRA FEBRIANTO

NPM. 0634015068

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

SURABAYA 2010


(3)

LEMBAR PENGESAHAN

IMPLEMENTASI PENGENALAN TANDA TANGAN

DENGAN MENGGUNAKAN METODE

BACKPROPAGATION

Disusun oleh :

RENDRA FEBRIANTO

NPM.

0634015068

Telah disetujui untuk mengikuti Ujian Negara Lisan Gelombang II Tahun Akademik 2010/2011

Pembimbing Utama Pembimbing Pendamping

Basuki Rahmat, S,Si, MT Fetty Tri Anggraeny, S.Kom

NPT.36907 060 209 NPT. 38202 060 208

Mengetahui,

Ketua Jurusan Teknik Informatika Fakultas Teknologi Industri UPN “Veteran” Jawa Timur

Basuki Rahmat, S,Si, MT NPT.36907 060 209


(4)

TUGAS AKHIR

IMPLEMENTASI PENGENALAN TANDA TANGAN

DENGAN MENGGUNAKAN METODE

BACKPROPAGATION

Disusun Oleh : RENDRA FEBRIANTO

NPM. 0634015068

Telah dipertahankan di hadapan dan diterima oleh Tim Penguji Tugas Akhir

Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur

Pada tanggal 29 November 2010

Pembimbing : Tim Penguji :

1. 1.

Basuki Rahmat, S,Si, MT Ir. Purnomo Edi Sasongko, MP NPT.36907 060 209 NIP. 030 194 662

2. 2.

Fetty Tri Anggraeny, S.Kom Fetty Tri Anggraeny, S.Kom NPT. 38202 060 208 NPT. 38202 060 208

3.

Ir. M. Rochmad, MT NIP. 19620304 1991 031 002

Mengetahui

Dekan Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran”

Jawa Timur

Ir. Sutiyono, MT NIP. 19600713 1987031001


(5)

YAYASAN KESEJAHTERAAN PENDIDIKAN DAN PERUMAHAN UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR

FAKULTAS TEKNOLOGI INDUSTRI PANITIA UJIAN SKRIPSI / KOMPREHENSIP

KETERANGAN REVISI

Kami yang bertanda tangan di bawah ini menyatakan bahwa mahasiswa berikut : Nama : Rendra Febrianto

NPM : 0634015068

Jurusan : Teknik Informatika

Telah mengerjakan revisi/tidak ada revisi*) Tugas Akhir Ujian Lisan Gelombang II, TA 2010/2011 dengan judul :

“IMPLEMENTASI PENGENALAN TANDA TANGAN DENGAN MENGGUNAKAN METODE BACKPROPAGATION”

Surabaya, 29 November 2011 Dosen Penguji yang memerintahkan revisi:

1)Ir. Purnomo Edi Sasongko, MP

( )

NIP. 196407140 198803 1001

2) Fetty Tri Anggraeny, S.Kom

( )

NPT. 38202 060 208

3) Ir. M. Rochmad, MT

( )

NIP. 19620304 1991 031 002

Mengetahui,

Pembimbing Utama Pembimbing Pendamping

Basuki Rahmat, S,Si, MT Fetty Tri Anggraeny, S.Kom


(6)

Judul : Implementasi Pengenalan Tanda Tangan Dengan Menggunakan Metode Backpropagaton

Nama : Rendra Febrianto

NPM : 0634015068

Dosen Pembimbing I : Basuki Rahmat S,Si, MT Dosen Pembimbing II : Fetty Tri Anggraeny S.Kom Jurusan Teknik Informatika, Fakultas Teknik Industri

Universitas Pembangunan Nasional “Veteran” JATIM Surabaya

ABSTRAK

Pada era teknologi informasi saat ini, hampir semua pekerjaan dapat dilakukan dengan menggunakan komputer untuk meningkatkan efisiensi. Salah satu kegiatan yang dapat dikomputerisasikan adalah pengenalan tanda tangan. Pengenalan tanda tangan dapat dilakukan dengan menerapkan Jaringan Syaraf Tiruan (JST).

Salah satu metode JST yang dapat digunakan untuk mengenali pola tanda tangan adalah Backpropagation. Metode ini mempunyai fase pelatihan (training) dan pengenalan (recognition). Fase pelatihan digunakan untuk mempelajari pola tanda tangan, sedangkan fase pengenalan digunakan untuk mengenali identitas pemilik tanda tangan dengan menggunakan pengetahuan yang sudah pernah dipelajari sebelumnya. Input gambar tanda tangan akan dimasukkan ke fungsi pengambangan (thresholding) dan di-crop (dibuang sisi samping kosong yang tidak diperlukan). Setelah itu dilakukan ekstraksi ciri dengan membagi area tanda tangan menjadi 20 x 20 kotak. Untuk setiap area yang memiliki piksel hitam lebih dari 25%, maka area tersebut akan diwarnai hitam (nilai area 1) dan sebaliknya area tersebut akan diwarnai putih (nilai area 0). Semua nilai area adalah bit hasil ekstraksi ciri yang akan dilatih dan dikenali.

Dari hasil uji coba yang dilakukan pada satu tanda tangan yang memiliki pola berbeda oleh satu orang atau satu identitas dan dilakukan sebanyak 30 kali percobaan, metode bakcpropagatin yang di gunakan dalam jaringan syaraf tiruan ini mempunyai persentase kebenaran sebanyak 96,7% dengan spesifikasi sebagai berikut : jumlah input = 400 , jumlah output = 8, jumlah hidden layer = 50 , nilai laju pembelajaran (α) = 0,2 , dan perulangan (epoch) = 1000. Dan dari uji coba yang dilakukan diketahui bahwa semakin besar perulangan (epoch) pada proses pelatihan, maka nilai error akan semakin menurun, atau dengan kata lain hasil pengenalan akan menjadi semakin akurat. Namun di sisi lain proses pelatihan akan menjadi lebih lama.


(7)

DAFTAR ISI  

 

KATA PENGANTAR... i

UCAPAN TERIMA KASIH ... ii

ABSTRAK.... ... iii

DAFTAR ISI... iv

DAFTAR GAMBAR ... vii

DAFTAR TABEL ... ix

BAB I PENDAHULUAN ... 1  

1.1 Latar Belakang ... 1 

1.2 Perumusan Masalah... 2 

1.3 Batasan Masalah... 2 

1.4 Tujuan dan Manfaat... 3 

1.5 Metodologi... ... 3 

1.6 Sistematika Penulisan... 4

BAB II TINJAUAN PUSTAKA... 5

2.1 Sistem Biometrika ... 5 

2.1.1 Pengertian Biometrika ... 5 

2.1.2 Persyaratan Pemilihan Suatu Biometrika ... 8 

2.1.3 Tanda Tangan... 9 

2.2 Jaringan Syaraf Tiruan ... 9 

2.2.1 Otak Manusia ... 10 

2.2.2 Komponen Jaringan Syaraf ... 11 

2.2.3 Arsitektur Jaringan Syaraf ... 13


(8)

2.3.1 Algoritma Backpropagation ... 17 

2.4 Proses Pengambangan (Thresholding) ... 21

BAB III ANALISA DAN PERANCANGAN ... 22

3.1 Tahapan Analisa... 23

3.1.1 Analisa Kebutuhan Sistem... 24

3.1.2 Perhitungan Proses Pengambangan... 24

3.1.3 Proses Pelatihan Pola Tanda Tangan ... 26

3.1.4 Proses Pengenalan Pola Tanda Tangan... 30

3.1.5 Proses Backpropagation... 30

3.2 Perancangan Tampilan... 34

3.2.1 Rancangan Form Splash Screen... 34

3.2.2 Rancangan Form Utama... 35

3.2.3 Rancangan Form Buka Gambar ... 37

3.2.4 Form Atur Tebal Pensil ... 38

3.2.5 Form Pilih Threshold... 38

3.2.6 Rancangan Form Pelatihan ... 39

3.2.7 Rancangan Form Pengenalan ... 40

3.2.8 Rancangan Form Hasil Pengenalan……… 41

3.2.9 Rancangan Form Database... 41

3.2.10 Rancangan form About... 42

3.3 Perancangan Database... 43

BAB IV IMPLEMENTASI DAN PENGUJIAN... 45

4.1 Implementasi ... 45


(9)

4.1.2 Tampilan Form Utama ... 46

4.1.3 Tampilan Form Atur Tebal Pensil ... 47

4.1.4 Tampilan Form Buka... 49

4.1.5 Tampilan Form Pilih Threshold... 50

4.1.6 Tampilan Form Pelatihan ... 52

4.1.7 Tampilan Form Pengenalan... 53

4.1.8 Tampilan Form Hasil Pengenalan ... 53

4.1.9 Tampilan Form Database... 55

4.1.10 Tampilan Form About... 56

4.2 Pengujian Sistem ... 56

BAB V PENUTUP ... 62

5.1 Kesimpulan... 62

5.2 Saran ... 63

DAFTAR PUSTAKA ... 64

  LAMPIRAN ... 65  

   


(10)

DAFTAR GAMBAR

Gambar 2.1 Berbagai Karakteristik Biometrika... 6

Gambar 2.2 Susunan Syaraf Manusia ... 10

Gambar 2.3 Susunan Neuron Jaringan Syaraf... 11

Gambar 2.4 Jaringan Syaraf dengan 3 Lapisan ... 12

Gambar 2.5 Jaringan Syaraf dengan Lapisan Tunggal ... 14

Gambar 2.6 Jaringan Syaraf dengan Banyak Lapisan... 15

Gambar 2.7 Jaringan Syaraf dengan Lapisan Kompetitif ... 16

Gambar 2.8 Arsitektur Jaringan Backpropagation... 17

Gambar 3.1 Model Sekuensial Linier... 22

Gambar 3.2 Contoh Input Gambar Tanda Tangan ... 24

Gambar 3.3 Nilai Piksel pada Input Gambar... 25

Gambar 3.4 Hasil Grayscale... 25

Gambar 3.5 Hasil Perhitungan Pengambangan ... 26

Gambar 3.6 Hasil Proses Pengambangan ... 26

Gambar 3.7 Flowchart Proses Pelatihan Tanda Tangan (Training) ... 27

Gambar 3.8 Proses Ekstraksi Ciri... 28

Gambar 3.9 Flowchart Proses Pengenalan Tanda Tangan... 30

Gambar 3.10 Keterangan Arsitektur Jaringan Backpropagation... 31

Gambar 3.11 Flowchart Proses Pelatihan Backpropagation... 33

Gambar 3.12 Rancangan Form Splash Screen... 35

Gambar 3.13 Rancangan Form Utama ... 36

Gambar 3.14 Rancangan Form Buka Gambar ... 37

Gambar 3.15 Rancangan Form Atur Tebal Pensil... 38

Gambar 3.16 Rancangan Form Pilih Threshold... 39

Gambar 3.17 Rancangan Form Pelatihan... 39

Gambar 3.18 Rancangan Form Pengenalan ... 40

Gambar 3.19 Rancangan Form Hasil Pengenalan... 41

Gambar 3.20 Rancangan FormDatabase Pengenalan ... 42

Gambar 3.21 Rancangan FormAbout... 42

Gambar 4.1 Tampilan Form Splash Screen... 45

Gambar 4.2 Tampilan Form Utama... 46


(11)

Gambar 4.4 Tampilan Form Atur Tebal Pensil... 47

Gambar 4.5 Tampilan Tebal Coretan... 48

Gambar 4.6 Tampilan Tebal Coretan yang diperbesar Threshold nya... 48

Gambar 4.7 Tampilan Form Buka... 49

Gambar 4.8 Gambar Tanda Tangan ter-Load... 49

Gambar 4.9 Tampilan Form Input Threshold... 50

Gambar 4.10 Tampilan Threshold Yang Belum Disesuaikan... 50

Gambar 4.11 Tampilan Form Input Threshold = 90... 51

Gambar 4.12 Tampilan Threshold Yang Sudah Disesuaikan ... 51

Gambar 4.13 Tampilan Form Pelatihan ... 52

Gambar 4.14 Tampilan Message Box Proses Pelatihan Telah Selesai... 52

Gambar 4.15 Tampilan Form Pengenalan... 53

Gambar 4.16 Tampilan Form Hasil Pengenalan ... 54

Gambar 4.17 Tampilan Form Dari Hasil Pengenalan... 54

Gambar 4.18 Tampilan Form Jika Hasil Pengenalan Tidak Dikenali ... 55

Gambar 4.19 Tampilan Form Database... 55

Gambar 4.20 Tampilan Form About... 56


(12)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Tanda tangan (signature) atau Paraf adalah tulisan tangan, yang diberikan gaya tulisan tertentu dari nama seseorang atau tanda identifikasi lainnya yang ditulis pada dokumen sebagai sebuah bukti dari identitas dan kemauan. Tanda tangan berlaku sebagai segel. Fungsi tanda tangan adalah untuk pembuktian. Dalam kehidupan sehari-hari, tanda tangan digunakan sebagai identifikasi dari pemilik tanda tangan. Keberadaan tanda tangan dalam sebuah dokumen menyatakan bahwa pihak yang menandatangani, mengetahui dan menyetujui seluruh isi dari dokumen. Pembubuhan tanda tangan sering dijumpai pada kegiatan administrasi perbankan, seperti: transaksi penarikan uang secara tunai, penyetoran, kliring giro dan transaksi perbankan lainnya. Pada zaman teknologi ini, pencocokan karakteristik tanda tangan dengan pemiliknya dapat dilakukan dengan menggunakan komputer, sehingga akan menghemat waktu bila dibandingkan dengan melakukannya secara manual. Caranya adalah dengan menggunakan Jaringan Syaraf Tiruan (JST).

Salah satu metode JST yang dapat digunakan untuk melakukan pengenalan terhadap pola tanda tangan adalah metode Backpropagation. Untuk melakukan pengenalan terhadap pola tanda tangan, input gambar scan tanda tangan akan dilakukan proses pengambangan (thresholding), untuk menghasilkan gambar biner (hitam / putih), dengan piksel hitam merupakan coretan tanda tangan dan piksel putih merupakan background (latar). Selanjutnya, gambar hasil proses pengambangan akan diekstraksi ciri, dan dilatih serta dikenali dengan


(13)

menggunakan metode Backpropagation. Metode ini merupakan salah satu algoritma pembelajaran yang dapat menyesuaikan bobot-bobot jaringan syaraf tiruan dengan arah mundur berdasarkan nilai error di dalam proses pembelajaran. Jaringan akan dilatih terus menerus sampai diperoleh error minimum dan pengenalan pola tanda tangan dapat dilakukan.

Penulis tertarik untuk mempelajari cara kerja metode Backpropagation dalam melakukan pengenalan terhadap karakteristik tanda tangan. Oleh karena itu, penulis ingin merancang aplikasi pengenalan tanda tangan yang menerapkan metode Backpropagation, dengan mengambil tugas akhir yang berjudul ”Implementasi Pengenalan Tanda Tangan dengan Menggunakan Metode Backpropagation”.

1.2 Perumusan Masalah

Pencocokan karakteristik tanda tangan dengan pemiliknya dapat dilakukan dengan cepat dengan menggunakan jaringan syaraf tiruan. Untuk melakukan pengenalan ini, maka dibutuhkan sebuah aplikasi yang menerapkan metode JST untuk melatih dan mengenali pola tanda tangan. Yang menjadi permasalahan adalah bagaimana menerapkan metode Backpropagation untuk melakukan pengenalan tanda tangan.

1.3 Batasan Masalah

Batasan masalah dalam merancang perangkat lunak ini antara lain : 1) Input dari aplikasi adalah:

a) Gambar tanda tangan (dalam format bmp, jpg, gif) dengan resolusi maksimum 800x600 piksel, atau

b) Tanda tangan yang digambar dengan menggunakan mouse pada area kosong yang disediakan oleh aplikasi.


(14)

2) Bila input merupakan gambar tanda tangan, maka aplikasi akan melakukan proses pengambangan (thresholding) untuk membuang latar yang tidak dibutuhkan. Hasil proses thresholding adalah gambar hitam putih (biner). 3) Output dari aplikasi adalah identitas pemilik tanda tangan.

4) Proses yang dilakukan aplikasi adalah proses pelatihan (training) dan proses pengenalan (recognition).

5) Pengenalan tanda tangan di lakukan dengan 30 buah sampel tanda tangan yang akan dilatih.

6) Aplikasi dibangun dengan menggunakan bahasa pemograman Microsoft Visual Basic 6.0 yang tidak mendukung sistem jaringan antar computer maupun jaringan internet, sedangkan untuk menyimpan bobot hasil pelatihan, aplikasi menggunakan Microsoft Access 2003.

1.4 Tujuan dan Manfaat

Adapun tujuan penyusunan tugas akhir ini adalah:

1) Merancang suatu aplikasi yang dapat melakukan pengenalan terhadap tanda tangan dengan menggunakan metode Backpropagation.

2) Mengenal dan mengetahui cara kerja dari metode Backpropagation dalam melakukan pengenalan terhadap tanda tangan.

Sedangkan, manfaat penyusunan tugas akhir ini adalah aplikasi yang dihasilkan dapat digunakan untuk melakukan pengenalan terhadap tanda tangan dengan menggunakan metode Backpropagation.

1.5 Metodologi Penelitian

Adapun metodologi pengembangan perangkat lunak yang digunakan adalah metode Waterfall dengan perincian sebagai berikut:


(15)

1) Analisa Kebutuhan Sistem, mengkaji informasi untuk dirangkum agar lebih efektif serta menganalisa kebutuhan sesuai informasi yang dirangkum.

2) Perancangan Sistem, merancang algoritma sesuai metode yang digunakan. 3) Konstruksi Sistem, membangun perangkat lunak dengan menggunakan bahasa

pemograman Microsoft Visual Basic 6.0.

4) Pengujian, mengeksekusi program dengan tujuan menemukan kesalahan serta menguji sistem hasil implementasi algoritma.

5) Melakukan penyusunan laporan tugas akhir.

1.6 Sitematika Penulisan

Adapaun sistematika penulisan dalam pembuatan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Pada bab ini diuraikan mengenai Latar Belakang, Perumusan Masalah, Tujuan dan Manfaat, Barasan Masalah, Metodologi Penelitian, serta Sistematika Penulisan.

BAB II TINJAUAN PUSTAKA

Pada bab ini akan disajikan landasan teori yang akan digunakan sebagai penyelesaian permasalahan pada sistem yang dibuat.

BAB III ANALISA DAN PERANCANGAN

Pada bab ini diuraikan mengenai Analisa dan Kebutuhan Sistem serta Perancangan Sistem.

BAB 1V IMPLEMENTASI DAN PENGUJIAN

Pada bab ini akan dibahas Implementasi yang akan berisi hasil output dari pengujian aplikasi.

BAB V PENUTUP

Pada bab ini merupakan bagian terakhir yang berisi Kesimpulan dan Saran.


(16)

BAB II

TINJAUAN PUSTAKA

2.1 Sistem Biometrika

Ditengah kemajuan jaringan komunikasi dan mobilitas alat serta berkembangnya teknologi saat ini, dibutuhkan sebuah metode yang handal untuk mengidentifikasi seseorang. Metode Biometrika sering digunakan untuk mengetahui suatu kedaan fisik tertentu ataupun suatu perilaku unik yang terdapat pada diri seseorang. Teknologi biometrika merupakan sebuah teknologi baru yang memiliki fungsi utama untuk mengenali manusia melalui sidik jari, mata, wajah, atau bagian tubuh lain.

2.1.1 Pengertian Biometrika

“Badanmu adalah password-mu” – itulah ungkapan yang sering melekat pada istilah biometrika. Ungkapan tersebut tidak berlebihan karena memang demikian adanya. Secara harfiah, biometrika atau biometrics berasal dari kata bio dan metrics. Bio berarti sesuatu yang hidup, dan metrics berarti mengukur. Biometrika berarti mengukur karakteristik pembeda (distinguishing traits) pada badan atau perilaku seseorang yang digunakan untuk melakukan pengenalan secara otomatis terhadap identitas orang tersebut, dengan membandingkannya dengan karakteristik yang sebelumnya telah disimpan pada suatu database.engenalan terhadap identitas seseorang dapat dilakukan secara waktu nyata (realtime), tidak membutuhkan waktu berjam-jam atau berhari-hari untuk proses pengenalan itu.


(17)

Secara umum, karakteristik pembeda tersebut dapat dikelompokkan menjadi 2, yaitu karakteristik fisiologis atau fisik (physiological / physical characteristics) dan ka\rakteristik perilaku (behavioral characteristics). Biometrika berdasarkan karakteristik fisiologis / fisik menggunakan bagian-bagian fisik dari tubuh seseorang sebagai kode unik untuk pengenalan, seperti DNA, telinga, jejak panas pada wajah, geometri tangan, pembuluh tangan, wajah, sidik jari, iris, telapak tangan, retina, telinga, gigi dan bau (komposisi kimia) dari keringat tubuh. Sedangkan biometrika berdasarkan karakteristik perilaku menggunakan perilaku seseorang sebagai kode unik untuk melakukan pengenalan, seperti gaya berjalan, hentakan tombol, tanda tangan dan suara. Khusus untuk suara, lebih tepat disebut sebagai karakteristik gabungan, karena suara dibentuk berdasarkan karakteristik fisik (bagian fisik tubuh manusia yang memproduksi suara) dan karakteristik perilaku (cara atau logat seseorang dalam berbicara).

Bau dan komopsisi kimia dari keringat tubuh juga sering dikatakan sebagai biometrika berdasarkan karakteristik kimia (chemical characteristics). (Sumber : Putra, 2008, 19-20)

Gambar 2.1 menampilkan beberapa karakteristik biometrika.

Gambar 2.1 Berbagai Karakteristik Biometrika


(18)

Perkembangan terbaru dari dunia biometrika adalah munculnya teknologi biometrika kognitif (cognitive biometrics), yaitu teknologi biometrika yang didasarkan pada tanggapan spesifik otak manusia sebagai pemicu agar komputer melakukan pencarian pada database. Teknologi ini menggabungkan persepsi manusia dengan suatu database pada komputer melalui suatu antarmuka brain-machine. Saat ini di beberapa negara maju, seperti Amerika, biometrika kognitif telah dikembangkan untuk pengenal bau dan pemantau wajah. Penggunaan biometrika untuk sistem pengenalan memiliki beberapa keunggulan dibanding sistem tradisional (penggunaan password, PIN, kartu dan kunci), di antaranya: 1) Non-repudiation

Suatu sistem yang menggunakan teknologi biometrika untuk melakukan suatu akses, penggunanya tidak akan dapat melakukan penyangkalan bahwa bukan dia yang melakukan akses atau transaksi. Hal ini berbeda dengan penggunaan password atau PIN.

2) Keamanan (security).

Sistem berbasis password dapat diserang dengan menggunakan metode atau algoritma brute force, sedangkan sistem biometrika tidak dapat diserang dengan cara ini karena sistem biometrika membutuhkan kehadiran pengguna secara langsung pada proses pengenalan.

3) Penyaringan (screening)

Proses penyaringan diperlukan untuk mengatasi seseorang yang menggunakan banyak identitas, seperti teroris yang dapat menggunakan lebih dari satu paspor untuk memasuki suatu negara.


(19)

2.1.2 Persyaratan Pemilihan Suatu Biometrika

Tidak semua bagian tubuh atau perilaku seseorang dapat digunakan sebagai biometrika. Ada beberapa persyaratan yang harus dipenuhi agar bagian tubuh atau perilaku manusia dapat digunakan sebagai biometrika, antara lain: 1) Universal (universality), artinya karakteristik yang dipilih harus dimiliki oleh

setiap orang. Tahi lalat di dahi seseorang tidak dapat dijadikan biometrika karena tidak semua orang memiliki tahi lalat di dahi.

2) Membedakan (distinctiveness), artinya karakteristik yang dipilih memiliki kemampuan membedakan antara satu orang dengan orang lain. Berat dan tinggi badan seseorang tidak dapat digunakan sebagai biometrika karena banyak orang yang memiliki berat dan tinggi badan yang sama.

3) Permanen (permanence), artinya karakteristik yang dipilih tidak cepat berubah dalam periode waktu yang lama.

4) Kolektabilitas (collectability), artinya karakteristik yang dipilih mudah diperoleh dan dapat diukur secara kuantitatif.

5) Unjuk kerja (performance), artinya karakteristik yang dipilih dapat memberikan unjuk kerja yang bagus baik dari segi akurasi maupun kecepatan, termasuk sumber daya yang dibutuhkan untuk meperolehnya.

6) Dapat diterima (acceptability), artinya masyarakat mau menerima karakteristik yang digunakan.

7) Tidak mudah dikelabui (circumvention), artinya karakteristik yang dipilih tidak mudah dikelabui dengan berbagai cara curang.

Syarat nomor 1 – 4 adalah syarat utama (syarat wajib) yang harus dipenuhi, sedangkan syarat nomor 5 – 7 merupakan syarat tambahan. Bila


(20)

karakteristik yang dipilih memenuhi persyaratan di atas maka karakteristik tersebut dapat digunakan sebagai biometrika. (Putra, 2008, 23-24)

2.1.3 Tanda Tangan

Tanda tangan (Inggris: signature berasal dari Latin: signare yang berarti "tanda") atau Paraf adalah tulisan tangan, terkadang diberi gaya tulisan tertentu dari nama seseorang atau tanda identifikasi lainnya yang ditulis pada dokumen sebagai sebuah bukti dari identitas dan kemauan. Tanda tangan berlaku sebagai segel.

Fungsi tradisional dari tanda tangan adalah untuk pembuktian. Tanda tangan memberikan bukti dalam keaslian dokumen dan persetujuan dari seorang individu berkaitan dengan dokumen yang ditandatangani. Di banyak negara, tanda tangan dapat disaksikan dan dicatat di hadapan Notaris Umum untuk menambah kekuatan hukum. Di beberapa negara, penduduk yang buta aksara dapat menggunakan cap jempol untuk menandatangani dokumen hukum.

Di Amerika Serikat, definisi legal dari tanda tangan adalah "setiap memorandum, tanda atau sign yang dibuat dengan maksud untuk mengotentikasi setiap dokumen yang tertulis". (http://id.wikipedia.org/wiki/Tanda_tangan)

2.2 Jaringan Syaraf Tiruan

Jaringan syaraf adalah salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah buatan ini digunakan karena jaringan syaraf diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. (Kusumadewi, 2003, 207)


(21)

2.2.1 Otak Manusia

Otak manusia berisi berjuta-juta sel syaraf yang bertugas untuk memproses informasi. Tiap-tiap sel bekerja seperti suatu prosesor sederhana. Masing-masing sel tersebut saling berinteraksi sehingga mendukung kemampuan kerja otak manusia. Illustrasi susunan syaraf manusia dapat dilihat pada gambar 2.2 berikut.

Gambar 2.2 Susunan Syaraf Manusia

(Sumber : Kusumadewi, 2003, 207)

Gambar 2.2 menunjukkan susunan syaraf pada manusia. Setiap sel syaraf (neuron) akan memiliki satu inti sel, inti sel ini nanti yang akan bertugas untuk melakukan pemrosesan informasi. Informasi yang datang akan diterima oleh dendrit. Selain menerima informasi, dendrit juga menyertai axon sebagai keluaran dari suatu pemrosesan informasi. Informasi hasil olahan ini akan menjadi masukan bagi neuron lainnya dimana antar dendrit kedua sel dipertemukan dengan synapsis. Informasi yang dikirimkan antar neuron ini berupa rangsangan yang dilewatkan melalui dendrit. Informasi yang datang dan diterima oleh dendrit akan dijumlahkan dan dikirim melalui axon ke dendrit akhir yang bersentuhan dengan dendrit dari neuron yang lain. Informasi ini akan diterima oleh neuron lain jika memenuhi batasan tertentu yang sering dikenal dengan nama nilai ambang


(22)

(threshold). Pada kasus ini, neuron tersebut dikatakan teraktivasi. Hubungan antar neuron terjadi secara adaptif, artinya struktur hubungan tersebut terjadi secara dinamis. Otak manusia selalu memiliki kemampuan untuk belajar dengan melakukan adaptasi. (Kusumadewi, 2003, 208)

2.2.2 Komponen Jaringan Syaraf

Ada beberapa tipe jaringan syaraf, namun demikian, hampir semuanya memiliki komponen-komponen yang sama. Seperti halnya otak manusia, jaringan syaraf juga terdiri dari beberapa neuron dan terdapat hubungan antar neuron tersebut. Neuron-neuron tersebut akan mentransformasikan informasi yang diterima melalui sambungan keluarnya menuju ke neuron-neuron yang lain. Pada jaringan syaraf, hubungan ini dikenal dengan bobot. Informasi tersebut disimpan pada suatu nilai tertentu pada bobot tersebut. Gambar 2.3 menunjukkan struktur neuron pada jaringan syaraf.

Gambar 2.3 Susunan Neuron Jaringan Syaraf

(Sumber : Kusumadewi, 2003, 210)

Jika dilihat, neuron buatan ini sebenarnya mirip dengan sel neuron biologis. Neuron-neuron buatan tersebut bekerja dengan cara yang sama pula dengan neuron-neuron biologis. Informasi (disebut dengan: input) akan dikirim ke neuron dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang datang. Hasil penjumlahan ini kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila input tersebut


(23)

melewati suatu nilai ambang tertentu, maka neuron tersebut akan diaktifkan, tapi kalau tidak, maka neuron tersebut tidak akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya. Demikian seterusnya.

Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam lapisan-lapisan (layer) yang disebut dengan lapisan-lapisan neuron (neuron layers). Biasanya neuron-neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya, kecuali lapisan input dan lapisan output. Informasi yang diberikan pada jaringan syaraf akan dirambatkan lapisan ke lapisan, mulai dari lapisan input sampai ke lapisan output melalui lapisan yang lainnya, yang sering dikenal dengan nama lapisan tersembunyi (hidden layer). Tergantung pada algoritma pembelajarannya, bisa jadi informasi tersebut akan dirambatkan secara mundur pada jaringan. Gambar 2.4 menujukkan jaringan syaraf dengan 3 lapisan.

Gambar 2.4 Jaringan Syaraf dengan 3 Lapisan


(24)

Gambar 2.4 bukanlah struktur umum jaringan syaraf. Beberapa jaringan syaraf ada juga yang tidak memiliki lapisan tersembunyi, dan ada juga jaringan syaraf dimana neuron-neuronnya disusun dalam bentuk matriks.

2.2.3 Arsitektur Jaringan Syaraf

Umumnya, neuron-neuron yang terletak pada lapisan yang sama akan memiliki keadaan yang sama. Pada setiap lapisan yang sama, neuron-neuron akan memiliki fungsi aktivasi yang sama. Apabila neuron-neuron dalam suatu lapisan akan dihubungkan dengan neuron-neuron pada lapisan yang lain, maka setiap neuron pada lapisan tersebut juga harus dihubungkan dengan setiap lapisan pada lapisan lainnya. Ada beberapa arsitektur jaringan syaraf, antara lain:

1) Jaringan dengan lapisan tunggal (single layer net)

Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot-bobot terhubung. Jaringan hanya menerima input kemudian secara langsung akan mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi (gambar 2.5). Pada gambar 2.5, lapisan input memiliki 3 neuron, yaitu X1, X2 dan X3. Sedangkan pada lapisan output memiliki 2 neuron, yaitu Y1 dan Y2. Neuron-neuron pada kedua lapisan saling berhubungan. Seberapa besar hubungan antara 2 neuron ditentukan oleh bobot yang bersesuaian. Semua unit input akan dihubungkan dengan setiap unit output.


(25)

Gambar 2.5 Jaringan Syaraf dengan Lapisan Tunggal

(Sumber : Kusumadewi, 2003, 212) 2) Jaringan dengan banyak lapisan(multilayer net)

Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak di antara lapisan input dan lapisan output (memiliki 1 atau lebih lapisan tersembunyi), seperti terlihat pada gambar 2.6. Umumnya, ada lapisan bobot-bobot yang terletak antara 2 lapisan yang bersebelahan. Jaringan dengan banyak lapisan ini menyelesaikan permasalahan yang lebih sulit daripada lapisan dengan lapisan tunggal, tentu saja dengan pembelajaran yang lebih rumit. Namun demikian, pada banyak kasus, pembelajaran pada jaringan dengan banyak lapisan ini lebih sukses dalam menyelesaikan masalah.


(26)

Gambar 2.6 Jaringan Syaraf dengan Banyak Lapisan

(Sumber : Kusumadewi, 2003, 213) 3) Jaringan dengan lapisan kompetitif (competitive layer net)

Umumnya, hubungan antar neuron pada lapisan kompetitif ini tidak diperlihatkan pada diagram arsitektur. Gambar 2.7 menunjukkan salah satu contoh arsitektur jaringan dengan lapisan kompetitif yang memiliki bobot -ŋ.


(27)

 

Gambar 2.7 Jaringan Syaraf dengan Lapisan Kompetitif

(Sumber : Kusumadewi, 2003, 214)

2.3 Metode Backpropagation

Backpropagation merupakan metode pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Metode 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:

f(x) = 1 …(2.1)

1 + e-x


(28)

Gambar 2.8 Arsitektur Jaringan Backpropagation

(Sumber : Kusumadewi, 2003, 236)

2.3.1 Algoritma Backpropagation

Algoritma backpropagation dapat dibagi ke dalam 2 bagian, yaitu:

1) Algoritma Pelatihan / Pembelajaran (Training), terdiri atas 3 tahap yaitu: perambatan maju (forward propagation), perambatan mundur untuk mengubah nilai bobot (backpropagation) dan tahap pengaturan bobot.

2) Algoritma Pengenalan (Recognition), menggunakan perambatan maju. (Diyah Puspitaningrum, 2006, 128)

Algoritma pelatihan backpropagation adalah sebagai berikut:

1) Inisialisasi bobot (ambil bobot awal dengan nilai random yang kecil). Tentukan pula nilai angka pembelajaran (α), nilai toleransi error (bila menggunakan nilai ambang sebagai kondisi berhenti) dan set maksimum epoch (bila menggunakan banyaknya epoch sebagai kondisi berhenti).

2) While kondisi berhenti tidak terpenuhi, maka untuk setiap pasangan elemen yang akan dilatih, lakukan langkah – langkah berikut :


(29)

Langkah pertama yaitu dengan melakukan tahap Feed Forward :

1) Setiap input xi (dari unit ke-1 sampai unit ke-n pada lapisan input) mengirimkan sinyal input ke semua unit yang ada di lapisan atasnya (ke lapisan tersembunyi): xi.

2) Pada setiap unit di lapisan tersembunyi (zj; i = 1,2,...p) menjumlahkan sinyal-sinyal input terbobot:

z_inj = v0j +

n i ij iv x 1 …(2.2)

gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

zj = f(z_inj) …(2.3) dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).

3) Tiap–tiap unit output (Yk, k=1,2,3,...m) menjumlahkan sinyal-sinyal input terbobot.

y_ink = w0k +

p j jk jw z 1 …(2.4) gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

yk = f(y_ink) …(2.5) dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).

Setelah tahap Feed Forward kemudian lakukan Tahap Backpropagation :

4) Tiap–tiap unit output (Yk, k=1,2,3,...m) menerima target pola yang berhubungan dengan pola input pembelajaran, hitung informasi errornya:

δk = (tk – yk) f’(y_ink) …(2.6) kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai wjk):


(30)

hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai w0k):

Δw0k = αδk …(2.8) kirimkan δk ini ke unit-unit yang ada di lapisan bawahnya.

5) Tiap-tiap unit tersembunyi (zj; j = 1,2,...p) menjumlahkan delta inputnya (dari unit-unit yang berada di lapisan atasnya):

δ_inj =

m

k

jk kw 1

 …(2.9) kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error:

δj = δ_inj f’(z_inj) …(2.10) kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai vij):

Δvij = αδj xi …(2.11) hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai v0j):

Δv0j = αδj …(2.12)

Kemudian lakukan Tahap Update Bobot dan Bias :

6) Tiap–tiap unit output (Yk, k=1,2,3,...m) memperbaiki bias dan bobotnya (j=0,1,2,...,p):

wjk (baru) = wjk (lama) + Δwjk …(2.13) Tiap-tiap unit tersembunyi (zj; j = 1,2,...p) memperbaiki bias dan bobotnya (i=0,1,2,...,n):


(31)

7) Tes kondisi berhenti, bila mencapai maksimum epoch atau kuadrat error < target error. (Diyah Puspitaningrum, 2006, 129-130)

Algoritma pengenalan (recognition) dengan menggunakan backpropagation hanya perlu menjalankan tahap feedforward hingga mendapatkan nilai yk. Pasangan yk adalah output dari metode backpropagation.

Keterangan :

Xi : Unit masukan i Zj : Unit tersembunyi j

z_inj : Sinyal input terboboti/masukan untuk unit tersembunyi zj : Sinyal keluaran/aktivasi dari unit tersembunyi Zj v0j : Bias pada unit tersembunyi

Yk : Unit keluaran k

y_ink : Sinyal input terboboti/masukan untuk unit keluaran Yk yk : Sinyak keluaran/aktivasi dari unit keluaran Yk

w0k : Bias pada unti keluaran

δk : Informasi error pada unit keluaran Yk yang dipropagasi balik ke unit tersembunyi

δ_inj : Jumlah delta input pada lapisan tersembunyi dari unit pada lapisan diatasnya/lapisan keluaran Yk

δj : Informasi error/pada unit tersembunyi Zj

Δwjk : Koreksi bobot antara lapisan keluaran Yk dengan lapisan tersembunyi Zj

Δw0k : Koreksi bias antara lapisan keluaran Yk dengan lapisan tersembunyi Zj

Δvij : Koreksi bobot antara lapisan tersembunyi Zj dengan lapisan masukan Xi

α : Laju pembelajaran (learning rate) tk : Target output


(32)

2.4 Proses Pengambangan (Thresholding)

Proses pengambangan (thresholding) akan menghasilkan citra biner, yaitu citra yang memiliki dua nilai tingkat keabuan, yaitu hitam dan putih. Secara umum, proses pengambangan citra grayscale untuk menghasilkan citra biner adalah sebagai berikut:

1, if f(x, y) > T 0, if f(x,y) < T

dengan g(x,y) adalah citra biner dari citra grayscale f(x, y), dan T menyatakan nilai ambang (threshold) yang bernilai di antara 1-255. Nilai T memegang peran sangat penting dalam proses pengambangan. Kualitas hasil citra biner sangat tergantung pada nilai T yang digunakan. (Darma Putra, 2009, 110)


(33)

BAB III

ANALISA DAN PERANCANGAN

Perancangan aplikasi pengenalan tanda tangan menggunakan metode Backpropagation ini menggunakan tahapan SDLC (System Development Life Cycle). Model SDLC yang digunakan adalah Model Sekuensial Linier (Linear Sequential Model) atau Model Air Terjun (Waterfall). Gambar 3.1 menggambarkan model sekuensial linier.

Gambar 3.1 Model Sekuensial Linier

(Sumber : Roger S. Pressman, 2002)

Sekuensial linier mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisa, desain, kode dan pengujian. Model sekuensial linier melingkupi aktivitas-aktivitas sebagai berikut:

1) Rekayasa dan pemodelan sistem / informasi, yaitu: a) Analisa kebutuhan perangkat lunak

Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada aplikasi. Untuk memahami sifat aplikasi yang dibangun, perekayasa (analis) harus memahami domain informasi, tingkah laku, unjuk kerja dan antarmuka yang diperlukan.


(34)

b) Desain

Desain perangkat lunak adalah proses multi langkah yang berfokus pada 4 atribut program yang berbeda, yaitu struktur data, arsitektur perangkat lunak, representasi interface dan detail algoritma. Proses desain menerjemahkan syarat/kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat diperkirakan sebelum dimulai generasi kode.

2) Generasi Kode

Desain harus diterjemahkan ke dalam bentuk kode mesin yang dapat dibaca. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan dengan baik.

3) Pengujian

Sekali kode dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.

Model sekuensial linier adalah paradigma rekayasa perangkat lunak yang paling luas dipakai dan paling tua. (Roger S. Pressman, 2002)

3.1 Tahapan Analisa

Tahapan analisa ini akan mencakup analisa kebutuhan sistem, cara kerja proses pengambangan (thresholding), proses pelatihan, proses pengenalan dan cara kerja algoritma Backpropagation


(35)

3.1.1 Analisa Kebutuhan Sistem

Analisa kebutuhan sistem merupakan proses identifikasi dan evaluasi permasalahan-permasalahan yang ada, sehingga sistem yang dibangun sesuai dengan kriteria yang diharapkan. Metode Backpropagation akan diimplementasikan untuk melakukan pengenalan terhadap pola tanda tangan. Oleh karena itu, aplikasi harus memenuhi kebutuhan sebagai berikut:

1) Aplikasi harus menyediakan fitur penggambaran tanda tangan oleh user. Cara melakukan penggambaran adalah dengan click-and-drag dengan mouse. 2) Aplikasi dapat menerima input berupa gambar scan tanda tangan dalam format

bmp, jpg atau gif dan melakukan proses pengambangan (thresholding) untuk mengubah gambar menjadi gambar biner.

3) Aplikasi harus mampu menambah pengetahuan pola tanda tangan dan identitas pemiliknya di dalam database melalui proses pelatihan dengan menggunakan metode Backpropagation.

4) Aplikasi harus mampu melakukan proses pengenalan terhadap pola tanda tangan dengan menggunakan metode Backpropagation.

5) Output dari aplikasi adalah nama identitas pemilik tanda tangan.

3.1.2 Perhitungan Proses Pengambangan

Sebagai contoh, input gambar tanda tangan adalah sebagai berikut:


(36)

Piksel-1 Piksel-2 dan seterusnya…..

Pada proses pengambangan, gambar harus dilakukan proses grayscale terlebih dahulu. Proses grayscale dilakukan untuk mengubah gambar RGB 24 bit menjadi gambar grayscale 8 bit. Proses grayscale akan mengikuti rumus berikut:

GRAY = (R + G + B) / 3

Setiap piksel di dalam gambar akan memiliki nilai R, G dan B yang sama yaitu GRAY. Proses ini akan menghasilkan gambar keabu-abuan. Sebagai contoh, misalkan input gambar tanda tangan mempunyai nilai piksel seperti gambar 3.2.

185 137 55 121 162 100 127 224 239 223 141 190 73 61 126 134 60 231 222 17 114 13 174 3 84 121 220 129 77 116 170 137 35 226 197 156 232 238 10 24 51 169 130 26 87 222 212 179 53 46 182 159 229 211 148 206 197 149 188 166 225 9 127 233 122 8 19 228 249 133 105 45 150 247 123

Gambar 3.2 Nilai Piksel pada Input Gambar

Pada gambar 3.2 di atas, piksel-1 mempunyai nilai R = 185, G = 137, B = 55, maka perhitungan grayscale adalah:

Gray = (185 + 137 + 55) / 3 Gray = 125.6 (dibulatkan ke 126)

Hasil pemrosesan grayscale dari gambar 3.2 akan mendapatkan hasil seperti pada gambar 3.3 berikut.

126 128 197 185 87

142 118 63 142 107

114 193 160 81 81

204 94 200 184 168

120 121 165 94 173

Gambar 3.3 Hasil Grayscale

Red Green


(37)

HASIL GRAYSCALE THRESHOLD = 140

Setelah dilakukan proses grayscale, kemudian dilakukan proses pengambangan untuk membedakan tulisan dan latar. Jika threshold ditentukan 140, maka piksel-1 diberi warna hitam karena memiliki nilai grayscale lebih kecil dari 140. Dan semakin tinggi nilai threshold yang diberikan maka akan semakin banyak titik piksel yang berwarna hitam, untuk itu pada setiap gambar akan berbeda pula nilai threshold yang diberikan. Hasil proses pengambangan adalah sebagai berikut:

126 128 197 185 87

142 118 63 142 107

114 193 160 81 81

204 94 200 184 168

120 121 165 94 173

Gambar 3.4 Hasil Perhitungan Proses Pengambangan

Gambar hasil proses pengambangan terhadap gambar 3.1 dapat dilihat pada gambar 3.5 berikut:

Gambar 3.5 Hasil Proses Pengambangan

3.1.3 Proses Pelatihan Pola Tanda Tangan

Proses pelatihan akan mengekstraksi ciri dari pola tanda tangan, menyimpannya ke database dan menghitung bobot pelatihan. Bobot pelatihan ini

TEPI (HITAM) TEPI (HITAM) LATAR (PUTIH) LATAR (PUTIH) TEPI (HITAM) LATAR (PUTIH) TEPI (HITAM) TEPI (HITAM) LATAR (PUTIH) TEPI (HITAM) TEPI (HITAM) LATAR (PUTIH) LATAR (PUTIH) TEPI (HITAM) TEPI (HITAM) LATAR (PUTIH) TEPI (HITAM) LATAR (PUTIH) LATAR (PUTIH) LATAR (PUTIH) TEPI (HITAM) TEPI (HITAM) LATAR (PUTIH) TEPI (HITAM) LATAR (PUTIH)


(38)

akan digunakan dalam fase pengenalan. Backpropagation dapat mempelajari beberapa sampel pola sekaligus untuk 1 identitas. Semakin banyak sampel yang dilatih, maka semakin akurat pula proses pengenalan dari pola tanda tangan tersebut. Proses pelatihan dapat digambarkan dalam bentuk flowchart sebagai berikut.

Gambar 3.6 Flowchart Proses Pelatihan Tanda Tangan (Training)

Sesuai pada flowchart (gambar 3.6), sebelum gambar tanda tangan dilatih dengan menggunakan JST (Jaringan Syaraf Tiruan), gambar tanda tangan akan terlebih dahulu dilakukan proses pengambangan dan diekstraksi ciri (binerisasi). Proses ekstraksi ciri dapat dilihat pada gambar 3.7 berikut.


(39)

Gambar 3.7 Proses Ekstraksi Ciri

Selanjutnya, hasil ekstraksi ciri dari gambar tanda tangan dimasukkan ke metode pelatihan Backpropagation.


(40)

Untuk detail-nya, algoritma proses ekstraksi ciri dapat dituliskan sebagai berikut:

1) Pada gambar hitam-putih (hasil proses thresholding), periksa dari kiri ke kanan. Apabila suatu kolom mempunyai piksel hitam, maka set X1 = nomor atau posisi kolom.

2) Periksa dari kanan ke kiri. Apabila suatu kolom mempunyai piksel hitam, maka set X2 = nomor atau posisi kolom.

3) Periksa dari atas ke bawah. Apabila suatu baris mempunyai piksel hitam, maka set Y1 = nomor atau posisi baris.

4) Periksa dari bawah ke atas. Apabila suatu baris mempunyai piksel hitam, maka set Y2 = nomor atau posisi baris.

5) Crop gambar dari posisi (X1, Y1) sampai posisi (X2, Y2). Hasil crop adalah coretan tanda tangan.

6) Hasil crop kemudian dibagi menjadi 20 x 20 kotak.

7) Periksa setiap area kotak, apabila 25% atau lebih dari piksel yang terdapat pada area kotak adalah piksel hitam, maka set warna kotak ke hitam. Bila tidak, maka set warna kotak ke putih.

8) Lakukan proses nomor-7 pada semua kotak yang berjumlah 400 buah (20 x 20), sehingga semua kotak mempunyai warna hitam / putih.

9) Lakukan digitalisasi bit biner untuk setiap kotak. Kotak yang berwarna hitam diwakili oleh nilai 1, sedangkan kotak yang berwana putih diwakili oleh nilai 0.

10) Hasil ekstraksi ciri adalah berupa barisan bit biner 0 atau 1 sebanyak 400 digit.


(41)

3.1.4 Proses Pengenalan Pola Tanda Tangan

Proses pengenalan pola tanda tangan juga akan melakukan proses ekstraksi ciri terhadap gambar tanda tangan. Hasil ekstraksi ciri kemudian dimasukkan sebagai bit input pada fase pengenalan. Dengan menggunakan nilai bobot hasil pelatihan yang telah tersimpan di dalam database dan perhitungan metode JST, identitas pemilik tanda tangan dapat diketahui. Proses pengenalan ini dapat digambarkan dalam bentuk flowchart seperti terlihat pada gambar 3.8.

Gambar 3.8 Flowchart Proses Pengenalan Tanda Tangan

3.1.5 Proses Backpropagation

Metode Backpropagation digunakan untuk mengenali hasil ekstraksi pola dari tanda tangan. Proses ini terdiri dari fase pelatihan dan pengenalan.

Fase pelatihan adalah proses dimana setiap ciri atau pola karakter dilatih dan hasil perhitungan bobot disimpan ke database untuk digunakan pada fase pengenalan. Arsitektur jaringan Backpropagation dapat dilihat pada gambar 3.9.


(42)

Gambar 3.9 Keterangan Arsitektur Jaringan Backpropagation

Secara ringkas, fase pelatihan Backpropagation adalah sebagai berikut: Pertama lakukan Inisialisasi nilai awal :

a) Isi nilai bobot (v dan w) dengan nilai acak yang kecil. b) Tentukan learning rate (α)

c) Set maksimum epoch atau toleransi error. Perulangan akan berhenti bila epoch mencapai maksimum epoch atau kuadrat error berada dibawah toleransi error.

Tahap Feedforward

1) Isi Nilai pada neuron lapisan tersembunyi (z). Untuk j = 1 to p, hitung:

z_inj = v0j +

n i ij iv x 1 …(3.1) zj = f(z_inj) …(3.2) 2) Isi Nilai pada neuron lapisan output (y).

Untuk k = 1 to m, hitung: y_ink = w0k +

p j jk jw z 1 …(3.3) yk = f(y_ink) …(3.4)

Tahap Backpropagation

3) Hitung informasi errornya untuk mengubah nilai bobot w. Untuk k=1 to m, lakukan:


(43)

Oleh karena f’(x) = f(x) [1 – f(x)], maka:

δk = (tk – yk) f(y_ink) (1 - f(y_ink)) …(3.6) Oleh karena yk = f(y_ink), maka:

δk = (tk – yk) yk (1 - yk) …(3.7) Hitung perubahan bobot w:

Δwjk = αδk zj dan Δw0k = αδk …(3.8) 4) Hitung informasi error untuk mengubah nilai bobot v.

Untuk j=1 to p, lakukan:

δ_inj =

m

k

jk kw 1

 …(3.9) kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error:

δj = δ_inj f’(z_inj) …(3.10) Oleh karena f’(x) = f(x) [1 – f(x)], maka:

δj = δ_inj z_inj (1 - z_inj) …(3.11) Oleh karena zk = f(z_ink), maka:

δj = δ_inj zj (1 - zj) …(3.12) Hitung perubahan bobot v :

Δvij = αδj xi dan Δv0j = αδj …(3.13)

Tahap Update Bobot dan Bias

5) Hitung: wjk (baru) = wjk (lama) + Δwjk …(3.14) vij (baru) = vij (lama) + Δvij …(3.15) 6) Tes kondisi berhenti, bila epoch mencapai maksimum epoch atau kuadrat

error < target error.

Dengan demikian, setiap perulangan 1x epoh akan terjadi hal berikut: a) Tahap feedforward: update semua nilai neuron, z dan kemudian nilai y. b) Tahap backpropagation: hitung nilai error w dan v.


(44)

Hasil perhitungan bobot, w dan v ini akan dihitung dan disimpan ke dalam database untuk digunakan dalam fase pengenalan. Proses pelatihan Backpropagation dapat digambarkan dalam bentuk flowchart seperti terlihat pada gambar 3.10 berikut.

 


(45)

Hasil proses pelatihan backpropagation adalah bobot v dan w yang akan disimpan dan digunakan pada saat proses pengenalan. Pada fase pengenalan, hanya tahap feedforward yang perlu dijalankan untuk mendapatkan nilai y. Deretan nilai y adalah bit-bit output yang menunjuk pada salah satu pola yang paling mirip dengan pola input.

3.2 Perancangan Tampilan

Perancangan aplikasi identifikasi tanda tangan dengan menggunakan metode Backpropagation ini dilakukan dengan menggunakan bahasa pemograman Microsoft Visual Basic 6.0 (VB6). Aplikasi memiliki 10 buah form, antara lain: 1. Form Splash Screen

2. Form Utama 3. Form Buka Gambar 4. Form Atur Tebal Pensil 5. Form Pilih Threshold, 6. Form Pelatihan

7. Form Pengenalan 8. Form Hasil Pengenalan

9. Form Database Pengenalan, dan 10. Form About.

3.2.1 Rancangan Form Splash Screen

Form ini menampilkan logo dan nama aplikasi serta identitas mahasiswa penyusun tugas akhir (nama dan NPM). Form ini akan tampil pertama sekali saat aplikasi dijalankan. Rancangan form dapat dilihat pada gambar berikut.


(46)

Gambar 3.13 Rancangan Form Splash Screen

Keterangan:

1 : picture box, menampilkan logo (icon) aplikasi. 2 : label, berisi nama aplikasi.

3 : label, berisi nama dan NPM dari penulis / penyusun tugas akhir. 4 : label, berisi nama universitas, kota dan jurusan serta program studi.

3.2.2 Rancangan Form Utama

Form Utama berfungsi untuk menampilkan gambar tanda tangan yang di-scan untuk dikenali. Pada form ini, user juga dapat langsung membuat tanda tangannya pada daerah penggambaran. Rancangan form dapat dilihat pada gambar berikut.


(47)

Gambar 3.14 Rancangan Form Utama

Keterangan:

1 : tombol ‘Buka’, untuk membuka Form “Buka Gambar”.

2 : tombol ‘Kosongkan’, untuk mengosongkan daerah tampilan gambar. 3 : tombol ‘Proses Pengambangan’, untuk melakukan proses thresholding. 4 : tombol ‘Pelatihan Pola’, untuk melatih pola tanda tangan.

5 : tombol ‘Pengenalan Pola’, untuk menampilkan hasil pengenalan tanda tangan dengan membuka Form Proses Pengenalan.

6 : tombol ‘Database’, untuk menampilkan pola tanda tangan yang telah dilatih dan disimpan pada database, dengan membuka Form Database.

7 : tombol ‘About’, untuk membuka Form About. 8 : tombol ‘Keluar’, untuk menutup form.

9 : daerah tampilan gambar tanda tangan atau tempat membubuhkan tanda tangan user secara manual.


(48)

3.2.3 Rancangan Form Buka Gambar

Form Buka Gambar berfungsi untuk memilih gambar tanda tangan hasil scan yang tersimpan pada harddisk dan akan ditampilkan pada Form Utama. Rancangan Form dapat dilihat pada gambar berikut.

x Buka Gambar

4 Cari di :

Nama File :

Ukuran File : 2

5

6

7 1

OK

3

Gambar 3.15 Rancangan Form Buka Gambar

Keterangan:

1 : combobox, untuk memilih drive.

2 : listbox, untuk menampilkan direktori / folder. 3 : textbox, untuk menampilkan nama file gambar.

4 : listbox, untuk menampilkan list file yang berupa gambar. 5 : tombol “OK”, untuk memilih file gambar.

6 : daerah tampilan gambar.


(49)

3.2.4 Form Atur Tebal Pensil

Form ini berfungsi untuk mengatur ketebalan pensil yang akan digunakan untuk melakukan coretan tanda tangan. Semakin besar nilai ini, maka semakin tebal pula coretan tinta tanda tangan pada area penggambaran. Form ini akan muncul setelah user menekan klik kanan mouse pada area kosong di form Utama. Rancangan form dapat dilihat pada gambar berikut.

 

 

Gambar 3.16 Rancangan Form Atur Tebal Pensil

Keterangan:

1 : label, menampilkan nilai lebar pensil. 2 : slider, untuk memilih nilai lebar pensil.

3 : tombol “OK”, untuk memilih nilai lebar pensil.

4 : tombol “Batal”, untuk membatalkan pengaturan nilai pensil.

3.2.5 Form Pilih Threshold

Form ini berfungsi untuk memilih nilai threshold (yang akan digunakan untuk melakukan proses pengambangan terhadap gambar). Form pengaturan akan muncul sesaat setelah user menekan tombol “Proses Pengambangan” pada toolbar. Rancangan form dapat dilihat pada gambar berikut.


(50)

Gambar 3.17 Rancangan Form Pilih Threshold

Keterangan:

1 : label, menampilkan nilai threshold. 2 : slider, untuk memilih nilai threshold.

3 : tombol “OK”, untuk memilih nilai threshold dan melakukan proses pengambangan terhadap gambar yang terdapat pada Form Utama.

4 : tombol “Batal”, untuk membatalkan proses pengambangan.

3.2.6 Rancangan Form Pelatihan

Form Pelatihan berfungsi untuk melakukan pelatihan pola terhadap input gambar tanda tangan yang ditampilkan pada Form Utama. Gambar tanda tangan akan diekstraksi ciri dan dilatih dengan menggunakan metode Backpropagation. Rancangan form dapat dilihat pada gambar berikut.


(51)

Keterangan:

1 : textbox, untuk memasukkan nama dari pemilik tanda tangan.

2 : tombol “Latih Pola Tanda Tangan”, untuk melakukan proses pelatihan pola dan menyimpannya ke dalam database.

3 : picturebox, merupakan daerah hasil ekstraksi ciri tanda tangan (20 x 20 kotak).

3.2.7 Rancangan Form Pengenalan

Form Pengenalan berfungsi untuk melakukan proses pengenalan dan menampilkan hasil pengenalan pada Form Hasil Pengenalan. Rancangan form dapat dilihat pada gambar berikut.

Gambar 3.19 Rancangan Form Pengenalan

Keterangan:

1 : textbox, untuk menampilkan nama dari pemilik tanda tangan. 2 : textbox, untuk menampilkan nomor urut database.

3 : tombol “Kenali Pola TTD”, untuk melakukan proses pengenalan dan menampilkan gambar tanda tangan pada form Hasil Pengenalan.

4 : picturebox, merupakan daerah hasil ekstraksi ciri tanda tangan (20 x 20 kotak).


(52)

3.2.8 Rancangan Form Hasil Pengenalan

Form Hasil Pengenalan berfungsi untuk menampilkan hasil dari proses pengenalan yang telah dilakukan oleh Form Proses Pengenalan. Rancangan form dapat dilihat pada gambar berikut.

OK

x

Hasil Pengenalan

3

Hasil Pengenalan :

Pemilik tanda tangan adalah X

2 1

Gambar 3.20 Rancangan Form Hasil Pengenalan

Keterangan:

1 : nama pemilik tanda tangan.

2 : gambar tanda tangan yang dikenali. 3 : tombol “OK”, untuk menutup form.

3.2.9 Rancangan Form Database

Form Database berfungsi untuk menampilkan semua pola tanda tangan yang telah dilatih dan disimpan di dalam database. Form ini dibutuhkan user untuk melihat pola tanda tangan beserta identitas pemilik tanda tangan yang telah tersimpan di dalam database. Rancangan form dapat dilihat pada gambar berikut.


(53)

Gambar 3.21 Rancangan FormDatabase Pengenalan

Keterangan:

1 : list, untuk memilih nama pemilik.

2 : picturebox, untuk menampilkan gambar tanda tangan.

3 : pola tanda tangan dari pemilik yang sedang ditunjuk pada list nama. 4 : tombol “OK”, untuk menutup form.

3.2.10 Rancangan Form About

Form ini berfungsi untuk menampilkan identitas dari mahasiswa penyusun tugas akhir dan sekaligus pembuat aplikasi. Rancangan form dapat dilihat pada gambar berikut.


(54)

Keterangan:

1 : foto mahasiswa penyusun tugas akhir. 2 : nama aplikasi.

3 : nama dan NPM mahasiswa penyusun tugas akhir.

4 : nama jurusan, program studi, nama universitas dan tahun pembuatan. 5 : tombol ‘OK’, untuk menutup form About.

6 : tombol ‘System Info’, untuk menampilkan kotak dialog “System Information” dari windows, yang berisi spesifikasi software dan hardware dari komputer yang sedang digunakan.

3.3 Perancangan Database

Penulis menggunakan Microsoft Access 2003 untuk menyimpan pola tanda tangan dan bobot hasil pelatihan untuk metode Backpropagation. Di dalam database, terdapat 3 (dua) buah tabel, yaitu:

1) Tabel ”Pola”.

Tabel ini berfungsi untuk menyimpan semua nama pemilik serta pola tanda tangan hasil ekstraksi ciri. Struktur tabelnya adalah sebagai berikut.

Tabel 3.1 Tabel ’POLA’

No.  Field Name  Data Type  Keterangan 

1.  NamaPemilik  Text (50)  Berisi nama pemilik tanda tangan. 

2.  Input  Text (400)  Berisi 400 bit biner hasil ekstraksi ciri dari 

pola 20 x 20. 

3.  Output  Text (8)  Berisi nomor urut pola dalam bentuk 8 bit 


(55)

2) Tabel ”BobotBackpropagation”.

Fungsi dari tabel ini adalah untuk menyimpan bobot V dan W hasil pelatihan dari metode Backpropagation. Struktur tabelnya adalah sebagai berikut.

Tabel 3.2 Struktur Tabel ’BobotBackpropagation

No.  Field Name  Data Type  Keterangan 

1.  Variabel  Text (1)  Berisi nama variabel ”v” atau ”w”. 

2.  Indeks1  Integer  Indeks array1. 

3.  Indeks2  Integer  Indeks array2. 


(56)

BAB IV

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Subbab implementasi akan berisi hasil output dari pengujian aplikasi. Output disertai dengan capture screen dari masing-masing form.

4.1.1 Tampilan Form Splash Screen

Setelah aplikasi dijalankan, form splash screen akan muncul. Form ini berisi nama aplikasi dan identitas penyusun tugas akhir sekaligus pembuat program. Tampilan form splash screen dapat dilihat pada gambar berikut.

 


(57)

4.1.2 Tampilan Form Utama

Beberapa saat kemudian, form utama akan muncul. Form ini berisi beberapa tombol untuk membuka gambar, mengosongkan area penggambaran tanda tangan, melakukan proses pelatihan pola, melakukan proses pengenalan pola, melihat pola tanda tangan yang ada di dalam database dan menampilkan identitas pembuat tugas akhir melalui form About. Tampilan form utama dapat dilihat pada gambar berikut.

Gambar 4.2 Tampilan Form Utama

Pengguna dapat memilih untuk melakukan penggambaran tanda tangan secara manual dengan mencoret menggunakan mouse pada area penggambaran (kotak yang berwarna putih) atau memilih dan membuka gambar tanda tangan yang berformat bmp, jpg atau gif.


(58)

Bila pengguna atau user memilih untuk melakukan penggambaran tanda tangan secara manual, dapat secara langsung mencoret dengan menggunakan mouse pada area penggambaran (kotak berwarna putih) seperti pada gambar berikut.

Gambar 4.3 Tampilan Penggambaran Tanda Tangan secara manual

4.1.3 Tampilan Form Atur Tebal Pensil

Jika menggunakan coretan tanda tangan secara manual, user dapat mengatur tebalnya coretan tinta pada area penggambaran, dengan menggunakan klik kanan pada mouse di area kosong berwarna putih yang terdapat pada form Utama, dan form pengaturan akan muncul seperti pada gambar berikut.


(59)

Semakin besar nilai ketebalan pensil, maka semakin tebal pula coretan tanda tangan pada area penggambaran. Hal ini dapat berpengaruh terhadap proses pelatihan dan pengenalan, maka dari itu user diwajibkan menggunakan ketebalan pensil yang sama pada tanda tangan yang akan di latih maupun yang akan di kenal. Berikut gambar tampilan besar nilai ketebalan pensil

Gambar 4.5 Tampilan Tebal Coretan


(60)

4.1.4 Tampilan Form Buka

Bila user ingin membuka gambar scan tanda tangan, maka klik tombol ”Buka” pada toolbar dan form Buka akan tampil seperti pada gambar berikut.

Gambar 4.7 Tampilan Form Buka

Pilih tombol ”OK” dan gambar tanda tangan akan ter-load pada form Utama seperti terlihat pada gambar 4.4.


(61)

4.1.5 Tampilan Form Pilih Threshold

Untuk melakukan proses pengambangan, tekan tombol “Proses Pengambangan” pada form Utama, dan form input Threshold akan muncul seperti pada gambar berikut.

Gambar 4.9 Tampilan Form Input Threshold

Fungsi dari proses pengambangan adalah untuk membersihkan gambar latar dari bercak-bercak piksel yang ada pada sekitar coretan gambar tanda tangan, yang bertujuan untuk membedakan tulisan dan latar. Nilai Threshold (pengambangan) dapat disesuaikan dengan keadaan kualitas gambar tanda tangan. Berikut gambar hasil dari dua nilai Threshold (pengambangan) yang berbeda.


(62)

Gambar 4.10 diatas merupakan hasil threshold dengan nilai 125, gambar dipenuhi bercak-bercak hitam dikarenakan kualitas gambar yang jelek, maka perlu di bersihkan dengan cara mengganti nilai threshold yang sesuai dengan coretan tanda tangan hingga dapat dibedakan antara tulisan dan latar.

Berikut gambar tampilan tanda tangan dengan threshold yang sudah di sesuaikan dengan nilai threshold=90.

Gambar 4.11 Tampilan Form Input Threshold = 90


(63)

4.1.6 Tampilan Form Pelatihan

Untuk melakukan proses pelatihan, tekan tombol “Pelatihan” pada form Utama, dan form Pelatihan akan muncul. Kemudian isi nama pemilik tanda tangan pada tempat yang sudah disediakan.

Kemudian tekan tombol “Latih Pola Tanda Tangan” untuk memulai proses Pelatihan tanda tangan. Progress bar proses pelatihan Backpropagation akan muncul seperti pada gambar berikut.

Gambar 4.13 Tampilan Form Pelatihan

Jika proses pelatihan selesai akan muncul massage box “Proses Pelatihan Telah selesai” seperti pada gambar berikut.


(64)

4.1.7 Tampilan Form Pengenalan

Setelah proses pelatihan selesai, maka pengguna dapat menggunakan gambar tanda tangan untuk dikenali. Tekan tombol “Pengenalan” untuk melakukan proses pengenalan pada tanda tangan. Form pengenalan akan tampil seperti terlihat pada gambar berikut.

Gambar 4.15 Tampilan Form Pengenalan 4.1.8 Tampilan Form Hasil Pengenalan

Tekan tombol “Proses Pengenalan” pada Form Pengenalan dan aplikasi akan melakukan proses pengenalan terhadap pola tanda tangan dengan menggunakan metode Backpropagation. Tampilan hasil pengenalan dapat dilihat pada gambar berikut.


(65)

Gambar 4.16 Tampilan Form Hasil Pengenalan

Setelah Form hasil pengenalan muncul, maka pada Form hasil pengenalan akan terisi nama pemilik serta nomer urut data base seperti pada gambar berikut.


(66)

Dan apabila pada proses pengenalan tidak dapat dikenali dengan baik maka akan muncul massage box “Nama Pemilik Tidak Dikenal” seperti pada gambar berikut.

Gambar 4.18 Tampilan form jika hasil pengenalan tidak dikenali 4.1.9 Tampilan Form Database

Tekan tombol “Database” pada form Utama dan aplikasi akan menampilkan Form Database seperti terlihat pada gambar berikut.


(67)

4.1.10 Tampilan Form About

Untuk membuka form About, pengguna dapat mengklik tombol “About” pada form Utama. Form About akan muncul seperti pada gambar berikut.

Gambar 4.20 Tampilan Form About

4.2 Pengujian Sistem

Pada Sub bab pengujian ini akan di beri contoh pola tanda tangan yang berbeda dari satu pemilik identitas yang akan dilatih. Tabel 4.2 menampilkan 30 buah sampel tanda tangan yang akan dilatih, satu pemilik tanda tangan mempunyai 3 sampel tanda tangan yang berbeda. Hal ini bertujuan untuk menunjang keakuratan dari sistem pengenalan nantinya. Adapun Spesifikasi metode JST yang digunakan, seperti pada table berikut:

Tabel 4.1 Spesifikasi Metode JST

Spesifikasi Backpropagation

Banyaknya lapisan Input (n) 400 Banyaknya lapisan tersembunyi (m) 50

Banyaknya lapisan Output (k) 8 Alpha (tingkat pembelajaran) 0.2

Perulangan Proses Pelatihan 1000 (maksimum epoh)


(68)

Tabel 4.2 Pola Tanda Tangan yang Dilatih

No Nama TTD-1 TTD-2 TTD-3

1 Rendra Febrianto

2 Anisa Ambarwaty

3 Amir Sarifuddin

4 Citra Farel

5 Oemar Thamrin

6 Okie Saputra

7 Zakaria Amiluddin

8 Andi Prasetyo


(69)

No. Nama TTD-1 TTD-2 TTD-3 9 Hany

Rahmat

10 Anas Parmanto

Pada fase pelatihan, sampel tanda tangan dimasukkan dan dilatih satu-per-satu sehingga pola tanda tangan dapat dikenali pada fase pengenalan.

Pada sub bab pengujian ini dilakukan uji coba pada salah satu pola tanda tangan dengan nilai epoch ,nilai laju pembelajaran (α), dan jumlah lapisan hidden yang berbeda.

Pada tabel berikut akan ditampilkan hasil uji coba perubahan jumlah lapisan tersembunyi (hidden layer) dengan nilai laju pembelajaran (α) = 0,2 , toleransi error = 0.002 dan epoch =1000 , pada satu tanda tangan yang memiliki pola berbeda oleh satu orang atau satu identitas dan dilakukan sebanyak 30 kali percobaan.

Tabel 4.3 Perubahan jumlah hidden layer

α = 0,2 , epoch = 1000, toleransi error = 0,002 , jumlah uji coba =30 Jumlah

hidden layer

Jumlah

keberhasilan Persentase kebenaran 15 7

23,3% x 100 = 23,3% )

20 14

46,7% x 100 = 46,7%

50 29

96,7% x 100 = 46,7%

Tabel 4.3 Perubahan jumlah hidden layer ( lanjutan )

   7_  

  30 

  14_ 

  30 

  29_ 

  30 

( )

( )

( )


(70)

α = 0,2 , epoch = 1000, toleransi error = 0,002 , jumlah uji coba =30 Jumlah

hidden layer

Jumlah

keberhasilan Persentase kebenaran

75 29 96,7%

x 100 = 96,7% 100 29

96,7% x 100 = 96,7%

Pada tabel 4.3 diketahui, semakin besar jumlah hidden layer maka persentase kebenarannya akan semakin tinggi. Hal ini menunjukkan bahwa perubahan jumlah hidden layer berpengaruh pada persentase kebenaran.

Tabel 4.4 Perubahan jumlah epoch

α = 0,2 , hidden layer =50 , toleransi error = 0,002, jumlah uji coba = 30 Jumlah epoch Jumlah

keberhasilan Persentase Kebenaran Waktu pelatihan 100 5

16,7% x 100 = 16,7%

21 detik

300 19

63,3% x 100 = 63,3%

24 detik

1000 29

96,7% x 100 = 96,7%

36 detik

1500 29

96,7% x 100 = 96,7%

46 detik

2000 29

96,7% x 100 = 96,7%

52 detik

Pada tabel 4.4 diketahui semakin besar jumlah epoch maka persentase kebenarannya akan semakin tinggi tetapi waktu yang dibutuhkan selama pelatihan akan bertambah. Hal ini menunjukkan bahwa perubahan jumlah epoch berpengaruh pada persentase kebenaran dan waktu pelatihan.

   5_ 

  30 

  19_ 

  30 

  29_ 

  30 

  29_ 

  30 

  29_ 

  30 

( )

( )

( )

( )

( )

  29_ 

  30 

( )

  29_ 

  30 


(71)

Tabel 4.5 Perubahan nilai laju pembelajaran (α)

hidden layer =50 , epoch = 1000, toleransi error = 0,002 , jumlah uji coba=30

(α) Jumlah

Kebenaran Persentase kebenaran 0,1 29

96,7% x 100 = 96,7%

0,2 29

96,7% x 100 = 96,7%

0,3 29

96,7% x 100 = 96,7%

0,4 29

96,7% x 100 = 96,7%

0,5 29

96,7% x 100 = 96,7%

Pada tabel 4.5 diketahui semakin besar nilai laju pembelajaran (α) maka persentase kebenarannya tidak mengalami perubahan. Hal ini menunjukan bahwa perubahan nilai laju pembelajaran (α) tidak terlalu berpengaruh pada persentase kebenaran

Pada fase pengenalan, apabila sampel tanda tangan yang dimasukkan sama dengan gambar sampel tanda tangan ketika dilatih, penulis mendapatkan hasil keakuratan pengenalan sebesar 100%, atau dengan kata lain, semua pola dapat dikenali dengan baik oleh metode Backpropagation. Sedangkan apabila sampel tanda tangan yang dimasukkan tidak sama dengan sampel tanda tangan ketika dilatih, (seperti pada table 4.5) penulis mendapat kebenaran pengenalan 96,7% dengan pola tanda tangan yang berbeda tetapi dimiliki oleh satu orang atau satu identitas.

  29_ 

  30 

  29_ 

  30 

  29_ 

  30 

  29_ 

  30 

  29_ 

  30 

( )

( )

( )

( )

( )


(72)

Sedangkan, untuk pemantauan mengenai akurasi metode Backpropagation terhadap konstanta epoh (perulangan), penulis menemukan bahwa semakin besar nilai epoh, maka semakin menurun nilai error. Dengan kata lain, proses pengenalan akan menjadi semakin baik seiring dengan bertambahnya epoh di dalam proses pelatihan. Namun, maksimum epoh yang tinggi akan membuat proses pelatihan menjadi semakin lama. Grafik perbandingan antara nilai epoh dengan variabel error (Delta) ditampilkan pada gambar 4.12. 

 

Gambar 4.21 Grafik Error (Delta) vs Epoch

Data-data (nilai epoh dan nilai delta) untuk membuat grafik 4.12, diambil dari nilai-nilai di dalam variabel program ketika terjadi proses pelatihan. Dari grafik, dapat terlihat bahwa nilai error (delta) menurun seiring dengan bertambahnya epoh, sehingga dapat disimpulkan bahwa semakin besar maksimum epoh, maka akurasi pengenalan menjadi semakin baik.


(73)

BAB V

PENUTUP

5.1 Kesimpulan

Setelah menyelesaikan aplikasi pengenalan tanda tangan dengan menggunakan metode Backpropagation ini, penulis menarik kesimpulan sebagai berikut:

1) Aplikasi dapat melakukan pengenalan tanda tangan dengan menggunakan metode Backpropagation.

2) Pelatihan pola (fase training) dengan menggunakan metode Backpropagation dapat dilakukan beberapa kali untuk 1 identitas pemilik. Ini ditujukan untuk meningkatkan akurasi dan meminimalkan kesalahan pengenalan pola terhadap suatu pola tanda tangan.

3) Semakin besar perulangan (maksimum epoh) pada proses pelatihan, maka nilai error akan semakin menurun, atau dengan kata lain hasil pengenalan akan menjadi semakin akurat. Namun di sisi lain, proses pelatihan akan menjadi lebih lama.

4) Dari hasil uji coba didapat Konfigurasi terbaik yang digunakan dalam jaringan syaraf tiruan metode backpropagation dengan persentase kebenaran mencapai 97,6% adalah dengan menggunakan banyak lapisan input = 400, banyak lapisan output = 8, banyak hidden layer = 50, laju pembelajaran (α) = 0,2 , toleransi error = 0,002 , dan epoch =1000.


(74)

5.2 Saran

Beberapa saran yang dapat diberikan dan mungkin dapat membantu dalam pengembangan aplikasi ini lebih lanjut adalah :

1) Aplikasi dapat dikembangkan dengan menambahkan metode Jaringan Syaraf Tiruan (JST) lainnya, seperti: Perceptron, jaringan Kohonen dan metode JST lainnya, sehingga dapat dianalisis dan diketahui metode pengenalan bentuk yang terbaik.

2) Aplikasi ini dapat menjadi dasar bagi aplikasi pengenalan bentuk lainnya yang menggunakan metode jaringan syaraf tiruan, seperti: aplikasi pengenalan karakter tulisan dan aplikasi pengenalan wajah.


(75)

DAFTAR PUSTAKA

Desiani, A. dan Arhami, M., 2006, Konsep Kecerdasan Buatan, Penerbit Andi, Yogyakarta.

Kusumadewi, S., 2003, Artificial Intelligence (Teknik dan Aplikasinya), Penerbit Graha Ilmu, Yogyakarta.

Puspitaningrum, D., 2006, Pengantar Jaringan Syaraf Tiruan, Penerbit Andi, Yogyakarta.

Pressman, R., 2002, Rekayasa Perangkat Lunak, Penerbit Andi, Yogyakarta.

Putra, D., 2008, Sistem Biometrika, Penerbit Andi, Yogyakarta.

www.widada.staff.gunadarma.ac.id/Downloads/files/13075/FLOWCHART.doc (tanggal akses: 02 November 2010)


(76)

LAMPIRAN

TABEL UJI COBA

Pada uji coba ini dilakukan 30 kali percobaan pada pola tanda tangan yang berbeda yang dimiliki oleh satu pemilik identitas, dengan perubahan jumlah hidden layer, jumlah epoch, dan laju (α)

Pola tanda tangan yang di uji dengan beberapa pola yang berbeda dengan satu identitas pemilik yaitu Rendra Febrianto adalah sebagai berikut :

Hidden layer = 15, α = 0,2 , epoch = 1000 , toleransi error = 0,002 , ∑ data = 30

No. Pola Tanda Tangan Dikenali / Tidak

1 Pola tanda tangan 1 Dikenali 2 Pola tanda tangan 2 Tidak 3 Pola tanda tangan 3 Tidak 4 Pola tanda tangan 4 Dikenali 5 Pola tanda tangan 5 Tidak 6 Pola tanda tangan 6 Tidak 7 Pola tanda tangan 7 Tidak 8 Pola tanda tangan 8 Tidak 9 Pola tanda tangan 9 Dikenali 10 Pola tanda tangan 10 Tidak

11 Pola tanda tangan 11 Tidak

12 Pola tanda tangan 12 Tidak 13 Pola tanda tangan 13 Tidak 14 Pola tanda tangan 14 Tidak 15 Pola tanda tangan 15 Tidak 16 Pola tanda tangan 16 Dikenali 17 Pola tanda tangan 17 Tidak 18 Pola tanda tangan 18 Tidak 19 Pola tanda tangan 19 Dikenali 20 Pola tanda tangan 20 Tidak 21 Pola tanda tangan 21 Tidak 22 Pola tanda tangan 22 Dikenali 23 Pola tanda tangan 23 Tidak 24 Pola tanda tangan 24 Tidak 25 Pola tanda tangan 25 Dikenali 26 Pola tanda tangan 26 Tidak 27 Pola tanda tangan 27 Tidak 28 Pola tanda tangan 28 Tidak 29 Pola tanda tangan 29 Tidak 30 Pola tanda tangan 30 Tidak


(77)

Hidden layer =20, α = 0,2 , epoch = 1000 , toleransi error = 0,002 , ∑ data = 30

No. Pola Tanda Tangan Dikenali / Tidak

1 Pola tanda tangan 1 Tidak 2 Pola tanda tangan 2 Dikenali 3 Pola tanda tangan 3 Tidak 4 Pola tanda tangan 4 Dikenali 5 Pola tanda tangan 5 Tidak 6 Pola tanda tangan 6 Tidak 7 Pola tanda tangan 7 Dikenali 8 Pola tanda tangan 8 Tidak 9 Pola tanda tangan 9 Dikenali 10 Pola tanda tangan 10 Dikenali 11 Pola tanda tangan 11 Dikenali 12 Pola tanda tangan 12 Tidak 13 Pola tanda tangan 13 Dikenali 14 Pola tanda tangan 14 Tidak 15 Pola tanda tangan 15 Dikenali 16 Pola tanda tangan 16 Dikenali 17 Pola tanda tangan 17 Tidak 18 Pola tanda tangan 18 Tidak 19 Pola tanda tangan 19 Dikenali 20 Pola tanda tangan 20 Tidak 21 Pola tanda tangan 21 Tidak 22 Pola tanda tangan 22 Dikenali 23 Pola tanda tangan 23 Tidak 24 Pola tanda tangan 24 Tidak 25 Pola tanda tangan 25 Dikenali 26 Pola tanda tangan 26 Tidak 27 Pola tanda tangan 27 Tidak 28 Pola tanda tangan 28 Dikenali 29 Pola tanda tangan 29 Dikenali 30 Pola tanda tangan 30 Tidak


(1)

 

 

85

epoch = 2000, α = 0,2 , hidden layer = 50 , toleransi error = 0,002 , ∑ data = 30

No. Pola Tanda Tangan Dikenali / Tidak 1 Pola tanda tangan 1 Dikenali

2 Pola tanda tangan 2 Dikenali 3 Pola tanda tangan 3 Dikenali 4 Pola tanda tangan 4 Dikenali 5 Pola tanda tangan 5 Dikenali 6 Pola tanda tangan 6 Dikenali 7 Pola tanda tangan 7 Dikenali 8 Pola tanda tangan 8 Dikenali 9 Pola tanda tangan 9 Dikenali 10 Pola tanda tangan 10 Dikenali 11 Pola tanda tangan 11 Dikenali 12 Pola tanda tangan 12 Dikenali 13 Pola tanda tangan 13 Dikenali 14 Pola tanda tangan 14 Dikenali 15 Pola tanda tangan 15 Dikenali 16 Pola tanda tangan 16 Dikenali 17 Pola tanda tangan 17 Dikenali 18 Pola tanda tangan 18 Dikenali 19 Pola tanda tangan 19 Dikenali 20 Pola tanda tangan 20 Tidak 21 Pola tanda tangan 21 Dikenali 22 Pola tanda tangan 22 Dikenali 23 Pola tanda tangan 23 Dikenali 24 Pola tanda tangan 24 Dikenali 25 Pola tanda tangan 25 Dikenali 26 Pola tanda tangan 26 Dikenali 27 Pola tanda tangan 27 Dikenali 28 Pola tanda tangan 28 Dikenali 29 Pola tanda tangan 29 Dikenali 30 Pola tanda tangan 30 Dikenali


(2)

 

 

86

α = 0,1 , epoch = 2000, hidden layer = 50 , toleransi error = 0,002 , ∑ data = 30 No. Pola Tanda Tangan Dikenali / Tidak

1 Pola tanda tangan 1 Dikenali 2 Pola tanda tangan 2 Dikenali 3 Pola tanda tangan 3 Dikenali 4 Pola tanda tangan 4 Dikenali 5 Pola tanda tangan 5 Dikenali 6 Pola tanda tangan 6 Dikenali 7 Pola tanda tangan 7 Dikenali 8 Pola tanda tangan 8 Dikenali 9 Pola tanda tangan 9 Dikenali 10 Pola tanda tangan 10 Dikenali 11 Pola tanda tangan 11 Dikenali 12 Pola tanda tangan 12 Dikenali 13 Pola tanda tangan 13 Dikenali 14 Pola tanda tangan 14 Dikenali 15 Pola tanda tangan 15 Dikenali 16 Pola tanda tangan 16 Dikenali 17 Pola tanda tangan 17 Dikenali 18 Pola tanda tangan 18 Dikenali 19 Pola tanda tangan 19 Tidak 20 Pola tanda tangan 20 Dikenali 21 Pola tanda tangan 21 Dikenali 22 Pola tanda tangan 22 Dikenali 23 Pola tanda tangan 23 Dikenali 24 Pola tanda tangan 24 Dikenali 25 Pola tanda tangan 25 Dikenali 26 Pola tanda tangan 26 Dikenali 27 Pola tanda tangan 27 Dikenali 28 Pola tanda tangan 28 Dikenali 29 Pola tanda tangan 29 Dikenali 30 Pola tanda tangan 30 Dikenali


(3)

 

 

87

α = 0,2 , epoch = 2000, hidden layer = 50 , toleransi error = 0,002 , ∑ data = 30 No. Pola Tanda Tangan Dikenali / Tidak

1 Pola tanda tangan 1 Dikenali 2 Pola tanda tangan 2 Dikenali 3 Pola tanda tangan 3 Dikenali 4 Pola tanda tangan 4 Dikenali 5 Pola tanda tangan 5 Dikenali 6 Pola tanda tangan 6 Dikenali 7 Pola tanda tangan 7 Dikenali 8 Pola tanda tangan 8 Dikenali 9 Pola tanda tangan 9 Dikenali 10 Pola tanda tangan 10 Dikenali 11 Pola tanda tangan 11 Dikenali 12 Pola tanda tangan 12 Dikenali 13 Pola tanda tangan 13 Dikenali 14 Pola tanda tangan 14 Dikenali 15 Pola tanda tangan 15 Dikenali 16 Pola tanda tangan 16 Dikenali 17 Pola tanda tangan 17 Dikenali 18 Pola tanda tangan 18 Dikenali 19 Pola tanda tangan 19 Dikenal 20 Pola tanda tangan 20 Dikenali 21 Pola tanda tangan 21 Tidak 22 Pola tanda tangan 22 Dikenali 23 Pola tanda tangan 23 Dikenali 24 Pola tanda tangan 24 Dikenali 25 Pola tanda tangan 25 Dikenali 26 Pola tanda tangan 26 Dikenali 27 Pola tanda tangan 27 Dikenali 28 Pola tanda tangan 28 Dikenali 29 Pola tanda tangan 29 Dikenali 30 Pola tanda tangan 30 Dikenali


(4)

 

 

88

α = 0,3 , epoch = 2000, hidden layer = 50 , toleransi error = 0,002 , ∑ data = 30 No. Pola Tanda Tangan Dikenali / Tidak

1 Pola tanda tangan 1 Dikenali 2 Pola tanda tangan 2 Dikenali 3 Pola tanda tangan 3 Dikenali 4 Pola tanda tangan 4 Dikenali 5 Pola tanda tangan 5 Dikenali 6 Pola tanda tangan 6 Dikenali 7 Pola tanda tangan 7 Dikenali 8 Pola tanda tangan 8 Dikenali 9 Pola tanda tangan 9 Dikenali 10 Pola tanda tangan 10 Dikenali 11 Pola tanda tangan 11 Dikenali 12 Pola tanda tangan 12 Dikenali 13 Pola tanda tangan 13 Dikenali 14 Pola tanda tangan 14 Dikenali 15 Pola tanda tangan 15 Dikenali 16 Pola tanda tangan 16 Dikenali 17 Pola tanda tangan 17 Dikenali 18 Pola tanda tangan 18 Dikenali 19 Pola tanda tangan 19 Dikenali 20 Pola tanda tangan 20 Tidak 21 Pola tanda tangan 21 Dikenali 22 Pola tanda tangan 22 Dikenali 23 Pola tanda tangan 23 Dikenali 24 Pola tanda tangan 24 Dikenali 25 Pola tanda tangan 25 Dikenali 26 Pola tanda tangan 26 Dikenali 27 Pola tanda tangan 27 Dikenali 28 Pola tanda tangan 28 Dikenali 29 Pola tanda tangan 29 Dikenali 30 Pola tanda tangan 30 Dikenali


(5)

 

 

89

α = 0,4 , epoch = 2000, hidden layer = 50 , toleransi error = 0,002 , ∑ data = 30 No. Pola Tanda Tangan Dikenali / Tidak

1 Pola tanda tangan 1 Dikenali 2 Pola tanda tangan 2 Dikenali 3 Pola tanda tangan 3 Dikenali 4 Pola tanda tangan 4 Dikenali 5 Pola tanda tangan 5 Dikenali 6 Pola tanda tangan 6 Dikenali 7 Pola tanda tangan 7 Dikenali 8 Pola tanda tangan 8 Dikenali 9 Pola tanda tangan 9 Dikenali 10 Pola tanda tangan 10 Dikenali 11 Pola tanda tangan 11 Dikenali 12 Pola tanda tangan 12 Dikenali 13 Pola tanda tangan 13 Dikenali 14 Pola tanda tangan 14 Dikenali 15 Pola tanda tangan 15 Dikenali 16 Pola tanda tangan 16 Dikenali 17 Pola tanda tangan 17 Dikenali 18 Pola tanda tangan 18 Dikenali 19 Pola tanda tangan 19 Tidak 20 Pola tanda tangan 20 Dikenali 21 Pola tanda tangan 21 Dikenali 22 Pola tanda tangan 22 Dikenali 23 Pola tanda tangan 23 Dikenali 24 Pola tanda tangan 24 Dikenali 25 Pola tanda tangan 25 Dikenali 26 Pola tanda tangan 26 Dikenali 27 Pola tanda tangan 27 Dikenali 28 Pola tanda tangan 28 Dikenali 29 Pola tanda tangan 29 Dikenali 30 Pola tanda tangan 30 Dikenali


(6)

 

 

90

α = 0,5 , epoch = 2000, hidden layer = 50 , toleransi error = 0,002 , ∑ data = 30 No. Pola Tanda Tangan Dikenali / Tidak

1 Pola tanda tangan 1 Dikenali 2 Pola tanda tangan 2 Dikenali 3 Pola tanda tangan 3 Dikenali 4 Pola tanda tangan 4 Dikenali 5 Pola tanda tangan 5 Dikenali 6 Pola tanda tangan 6 Dikenali 7 Pola tanda tangan 7 Dikenali 8 Pola tanda tangan 8 Dikenali 9 Pola tanda tangan 9 Dikenali 10 Pola tanda tangan 10 Dikenali 11 Pola tanda tangan 11 Dikenali 12 Pola tanda tangan 12 Dikenali 13 Pola tanda tangan 13 Dikenali 14 Pola tanda tangan 14 Dikenali 15 Pola tanda tangan 15 Dikenali 16 Pola tanda tangan 16 Dikenali 17 Pola tanda tangan 17 Dikenali 18 Pola tanda tangan 18 Dikenali 19 Pola tanda tangan 19 Dikenali 20 Pola tanda tangan 20 Dikenali 21 Pola tanda tangan 21 Dikenali 22 Pola tanda tangan 22 Tidak 23 Pola tanda tangan 23 Dikenali 24 Pola tanda tangan 24 Dikenali 25 Pola tanda tangan 25 Dikenali 26 Pola tanda tangan 26 Dikenali 27 Pola tanda tangan 27 Dikenali 28 Pola tanda tangan 28 Dikenali 29 Pola tanda tangan 29 Dikenali 30 Pola tanda tangan 30 Dikenali