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
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
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
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
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 10012) Fetty Tri Anggraeny, S.Kom
( )
NPT. 38202 060 2083) Ir. M. Rochmad, MT
( )
NIP. 19620304 1991 031 002Mengetahui,
Pembimbing Utama Pembimbing Pendamping
Basuki Rahmat, S,Si, MT Fetty Tri Anggraeny, S.Kom
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.
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
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
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
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
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
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).
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
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
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
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
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
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.
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
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.
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
(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
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
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
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
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
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
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
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):
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):
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
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)
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
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
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:
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.
[image:36.612.130.438.243.458.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
[image:36.612.226.417.596.766.2]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,
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
[image:38.612.209.429.222.542.2]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).
Gambar 3.7 Proses Ekstraksi Ciri
Selanjutnya, hasil ekstraksi ciri dari gambar tanda tangan dimasukkan ke
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
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
[image:41.612.206.433.268.559.2]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
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:
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.
Hasil perhitungan bobot, w dan v ini akan dihitung dan disimpan ke dalam
database untuk digunakan dalam fase pengenalan. Proses pelatihan
[image:44.612.142.607.187.744.2]Backpropagation dapat digambarkan dalam bentuk flowchart seperti terlihat pada
gambar 3.10 berikut.
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
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
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
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.
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
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.
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
[image:51.612.170.474.335.578.2]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
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
[image:52.612.190.447.189.409.2]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
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.
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
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 array‐1.
3. Indeks2 Integer Indeks array‐2.
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.
[image:56.612.129.514.396.685.2]
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
[image:57.612.125.516.268.620.2]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
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
[image:58.612.120.522.200.421.2]Utama, dan form pengaturan akan muncul seperti pada gambar berikut.
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
[image:59.612.131.510.234.436.2]kenal. Berikut gambar tampilan besar nilai ketebalan pensil
Gambar 4.5 Tampilan Tebal Coretan
[image:59.612.129.513.482.733.2]4.1.4 Tampilan Form Buka
Bila user ingin membuka gambar scan tanda tangan, maka klik tombol
[image:60.612.172.470.157.424.2]”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.
[image:60.612.125.517.506.743.2]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
[image:61.612.124.517.460.726.2]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.
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
[image:62.612.145.495.417.720.2]sesuaikan dengan nilai threshold=90.
Gambar 4.11 Tampilan Form Input Threshold = 90
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
[image:63.612.184.459.271.555.2]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.
[image:63.612.251.391.651.728.2]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
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.
[image:65.612.189.452.412.693.2]Dan apabila pada proses pengenalan tidak dapat dikenali dengan baik maka akan
[image:66.612.194.445.141.370.2]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.
[image:66.612.152.489.485.749.2]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
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
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
[image:69.612.121.530.83.287.2]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 )