Anda di halaman 1dari 99

AUTENTIFIKASI PENGENALAN POLA TANDA TANGAN MANUAL

MENGGUNAKAN JARINGAN SARAF TIRUAN LVQ (Learning Vector


Quantization) DAN TANDA TANGAN DIGITAL MENGGUNAKAN
ALGORITMA RSA (Riset Shamir Adleman)


SKRIPSI



Oleh :
AFIF RAKHMANULLAH
NIM. 05550002











JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN) MAULANA MALIK IBRAHIM
MALANG
2010
AUTENTIFIKASI PENGENALAN POLA TANDA TANGAN MANUAL
MENGGUNAKAN JARINGAN SARAF TIRUAN LVQ (Learning Vector
Quantization) DAN TANDA TANGAN DIGITAL MENGGUNAKAN
ALGORITMA RSA (Riset Shamir Adleman)

SKRIPSI

Diajukan Kepada
Jurusan Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam
Negeri (UIN) Maulana Malik Ibrahim Malang Sebagai Salah Satu Persyaratan
Untuk Memperoleh Gelar Sarjana Komputer Strata Satu (S-1)



Oleh :
AFIF RAKHMANULLAH
NIM. 05550002








JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN) MAULANA MALIK IBRAHIM
MALANG
2010
HALAMAN PERSETUJUAN

AUTENTIFIKASI PENGENALAN POLA TANDA TANGAN MANUAL
MENGGUNAKAN JARINGAN SARAF TIRUAN LVQ (Learning Vector
Quantization) DAN TANDA TANGAN DIGITAL MENGGUNAKAN
ALGORITMA RSA (Riset Shamir Adleman)

SKRIPSI


Oleh :

AFIF RAKHMANULLAH
NIM. 05550002


Telah Disetujui, .......................


Pembimbing I Pembimbing II




M. Ainul Yaqin, M. Kom H. Syahiduz Zaman, M.Kom
NIP. 197610132006041004 NIP. 197005022005011005


Mengetahui,
Ketua Jurusan Teknik Informatika
Fakultas Sains dan Teknologi
Universitas Islam Negeri Maulana Malik Ibrahim Malang


Ririen Kusumawati, M. Kom
NIP. 197203092005012002
HALAMAN PENGESAHAN

AUTENTIFIKASI PENGENALAN POLA TANDA TANGAN MANUAL
MENGGUNAKAN JARINGAN SARAF TIRUAN LVQ (Learning Vector
Quantization) DAN TANDA TANGAN DIGITAL MENGGUNAKAN
ALGORITMA RSA (Riset Shamir Adleman)

SKRIPSI

Oleh

AFIF RAKHMANULLAH
NIM. 05550002
Telah Dipertahankan Di Depan Dewan Penguji Skripsi
Dan Dinyatakan Diterima Sebagai Salah Satu Persyaratan
Untuk Memperoleh Gelar Sarjana Komputer (S.Kom)

Tanggal, ..................

Susunan Dewan Penguji : Tanda Tangan

1. Penguji Utama : Zainal Abidin, M.Kom ( )
NIP. 197606132005011001
2. Ketua Penguji : Ririen Kusumawati, M.Kom ( )
NIP. 197203092005012002
3. Sekretaris Penguji : M. Ainul Yaqin, M.Kom ( )
NIP. 197610132006041004
4. Anggota Penguji : H. Syahiduz Zaman, M.Kom ( )
NIP. 197005022005011005

Mengetahui dan Mengesahkan
Ketua Jurusan Teknik Informatika
Fakultas Sains dan Teknologi
Universitas Islam Negeri Maulana Malik Ibrahim Malang


Ririen Kusumawati, M. Kom
NIP. 197203092005012002
SURAT PERNYATAAN

Yang bertanda tangan di bawah ini :
Nama : Afif Rakhmanullah
NIM : 05550002
Alamat : Jl. Aries Munandar 3C/28 Malang

Menyatakan bahwa skripsi yang saya buat untuk memenuhi persyaratan
kelulusan pada Fakultas Sains dan Teknologi, Jurusan Teknik Informatika
Universitas Islam Negeri Maulana Malik Ibrahim Malang Dengan Judul
AUTHENTIFIKASI PENGENALAN POLA TANDA TANGAN MANUAL
MENGGUNAKAN JARINGAN SARAF TIRUAN LVQ (Learning Vector
Quantization) DAN TANDA TANGAN DIGITAL MENGGUNAKAN
ALGORITMA RSA (Riset Shamir Adleman) ini adalah hasil karya sendiri dan
bukan duplikasi karya orang lain baik sebagian ataupun keseluruhan, kecuali
dalam bentuk kutipan yang telah disebutkan sumbernya.
Demikian surat pernyataan ini saya buat dengan sebenar-benarnya.

Malang, 13 Mei 2010
Yang Menyatakan


Afif Rakhmanullah
NIM. 05550002








MOTTO

Sesungguhnya Allah tidak mengubah keadaan sesuatu kaum sehingga mereka
merubah keadaan yang ada pada diri mereka sendiri. Dan apabila Allah
menghendaki keburukan terhadap sesuatu kaum, maka tak ada yang dapat
menolaknya; dan sekali-kali tak ada pelindung bagi mereka selain Dia.
(Qs. Ar Rad 13 : 11)

Sesungguhnya sesudah kesulitan itu ada kemudahan. Maka apabila kamu Telah
selesai (dari sesuatu urusan), kerjakanlah dengan sungguh-sungguh (urusan)
yang lain. Dan Hanya kepada Tuhanmulah hendaknya kamu berharap.
(Qs. Alam-Nasyrah 94 : 6-8)

Setiap langkah adalah usaha, cita-cita, kesuksesan, dan berkah. Jadikan setiap
langkah menjadi jalan sepiritual dalam kehadirat Allah SWT janganlah berhenti
berjalan selagi kamu bisa melangkah ada hasil karena ada tindakan maka
melangkahlah.
(be the best whatever you do)


LEMBAR PERSEMBAHAN
Yang utama dari segalanya...
Dengan menyebut nama Allah Yang Maha Pengasih dan Maha Penyayang.
Alhamdulillah...sujud syukur kepada Allah SWT, penguasa semesta alam. Atas
karunia, hidayah, petunjuk dan kemudahan yang Engkau berikan dalam
menyelesaikan skripsi ini. Sholawat dan salam selalu terlimpahkan keharibaan
Revolusioner Akbar Rasulullah Muhammad SAW.

Ayah_Q ( Azizi Said ), Bunda_Q ( Henny Ufidah. S.Pd )
Tercinta dan Tersayang Sepanjang Masa
Sebagai tanda bakti, hormat, sayang, pengorbanan, dan rasa terima kasih yang
tiada terhingga Afif Rakhmanullah haturkan kepada Bapak dan Ibu yang telah
memberikan doa. kasih sayang, segala dukungan, dan cinta kasih yang tiada
terhingga yang tiada mungkin dapat Afif balas hanya dengan selembar kertas
persembahan ini. Semoga ini menjadi langkah awal kesuksesan bagi Afif untuk
membuat Bapak dan Ibu bahagia karena Afif sadar, selama ini belum bisa berbuat
yang lebih. Semoga Allah Selalu Menjaga, menyayangi beliau, memberikan
keselamatan dan kebahagiaan di dunia juga di akhirat Amin....

Mas2_Q (Helmy Azhar & Ervita, Zauhar Hanafi & Reta) dan
Adik + Keponakan_Q (Yupi Ayuni & Herdyn)
Untuk Kakakku & mbakku tersayang, terima kasih banyak yang selalu
memberikan doa, segala dukungan, dorongan untuk terus maju, dan atas
pengorbanannya untuk afif selama ini. Dan untuk adik dan keponakanku
tersayang, motivator dan inspirasiku dalam segala hal. Terima kasih banyak
untuk semuanya. Semoga Allah membalas semuanya dan semoga menjadi orang
sukses dan bermanfaat di dunia dan di akhirat, Amin....

KATA PENGANTAR


Bissmillahirrahmanirrahim
Alhamdulillah, puji syukur kehadirat Allah Swt yang telah melimpahkan
segala rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan tugas akhir
yang menjadi salah satu syarat mutlak untuk menyelesaikan program studi Teknik
Informatika jenjang Strata-1 Universitas Islam Negeri (UIN) Maulana Malik
Ibrahim Malang.
Dengan segala kerendahan hati, penulis menyadari bahwa dalam
menyelesaikan tugas akhir ini tidak lepas dari peran berbagai pihak yang telah
banyak memberikan bantuan, bimbingan dan dukungan. Dalam kesempatan ini
penulis ingin mengucapkan terima kasih yang tak terhingga kepada:
1. Prof. DR. H. Imam Suprayogo, selaku Rektor Universitas Islam Negeri
Maulana Malik Ibrahim Malang.
2. Prof. Drs. Sutiman Bambang Sumitro, SU., DSc, selaku Dekan Fakultas Sains
dan Teknologi Universitas Islam Negeri Maulana Malik Ibrahim Malang.
3. Ririen Kusumawati, M.Kom selaku Ketua Jurusan Teknik Informatika.
4. M.Ainul Yaqin, M. Kom selaku Dosen Pembimbing penulisan skripsi ini
yang telah memotivasi, membantu dan memberikan penulis arahan yang baik
dan benar dalam menyelesaikan penulisan skripsi ini .
5. Syahiduz Zaman, M. Kom selaku dosen pembimbing agama yang bersedia
meluangkan waktu untuk memberikan masukan dan arahan terhadap
permasalahan integrasi dalam skripsi ini.
6. Seluruh Dosen Teknik Informatika Universitas Islam Negeri Maulana Malik
Ibarahim Malang, Seluruh Guru yang telah memberikan banyak pelajaran,
pengalaman, tausiyah, doa kepada penulis dan memberikan dukungan untuk
menyelesaikan penulisan skripsi ini.
7. Ayah dan Ibuku tercinta dan tersayang yang telah banyak memberikan cinta,
kasih, sayangnya dan tak pernah berhenti kiriman doanya kepada penulis
hingga penulis mampu menyelesaikan skripsi ini, serta untuk Mas2ku
sekaligus adik dan keponakanku tersayang terima kasih buat doa, dorongan
semangat dan keceriaan yang diberikan kepada penulis.
8. Serta seluruh pihak yang telah suka rela memberikan ilmu, pengalaman dan
bantuan kepada penulis dalam menyelesaikan skripsi ini.
9. Seluruh Asisten Laboratorium Teknik Informatika Universitas Islam Negeri
Maulana Malik Ibrahim Malang yang selalu memberikan bimbingan serta
keceriaan.
10. Seluruh Guru-Guruku Tk Muslimat NU 2, SDN Kauman 2 Malang, SMPN 9
Malang, MAN 3 Malang, yang telah banyak memberikan banyak ilmu kepada
penulis. Terima kasih untuk semuanya, semoga Allah memebalasnya dengan
lebih baik, Amin...
11. Sahabat-sahabat dan teman-teman di Universitas Islam Negeri Maulana
Malik Ibrahim Malang, khususnya Jurusan TI angkatan 2005 yuda, pii, kang
kosim, a2n, azis, gianto, mahya, dan sobat-sobat TI semuanya yang tidak saya
sebutkan.
12. Serta Semua pihak yang mungkin belum saya sebutkan dan sahabat-sahabat
yang telah banyak membantu penulis hingga terselesaikannya tugas akhir ini.
Dan untuk sahabatku Samid, Semoga Allah SWT memberikan balasan yang
sesuai atas jasa dan bantuan yang telah diberikan kepada penulis, Amin...
Penulis menyadari sepenuhnya bahwa sebagai manusia biasa tentunya
tidak akan luput dari kekurangan dan keterbatasan. Maka dengan segenap
kerendahan hati, penulis mengharapkan saran dan kritik yang dapat
menyempurnakan penulisan ini sehingga dapat bermanfaat dan berguna untuk
pengembangan ilmu pengetahuan.


Malang, 13 Mei 2010

Penulis
DAFTAR ISI

HALAMAN JUDUL .......................................................................................ii
HALAMAN PERSETUJUAN ........................................................................iii
HALAMAN PENGESAHAN .........................................................................iv
SURAT PERNYATAAN ................................................................................v
MOTTO ...........................................................................................................vi
LEMBAR PERSEMBAHAN ..........................................................................vii
KATA PENGANTAR ......................................................................................viii
DAFTAR ISI ...................................................................................................x
DAFTAR TABEL ............................................................................................xii
DAFTAR GAMBAR ........................................................................................xiii
ABSTRAK ........................................................................................................xv
BAB I PENDAHULUAN ...............................................................................1
2.1 Latar belakang ......................................................................................1
1.1 Rumusan Masalah ................................................................................5
1.2 Batasan Masalah ..................................................................................5
1.3 Tujuan .................................................................................................6
1.4 Manfaat ................................................................................................6
1.5 Metodologi Penelitian ..........................................................................6
1.6 Sistematika Penulisan ..........................................................................8
BAB II LANDASAN TEORI ..........................................................................10
2.2 Autentifikasi.........................................................................................10
2.3 Tanda Tangan Digital (Digital Signature).............................................11
2.4 Kriptografi ...........................................................................................13
2.4.1 Pengertian Kriptografi...............................................................13
2.4.2 Algoritma Kriptografi ...............................................................15
2.4.2.1 Algoritma Kunci Simetris (Symmetric-Key
2.4.3 Cryptography) ..........................................................................15
2.3.2.2 Algoritma Kunci Asimetris (Asymmetric-Key
Cryptography) ........................................................... .15
2.5 Algoritma Rsa (Rivest-Shamir-Adleman) ..............................................16
2.5.1 Pembentukan Kunci ..................................................................16
2.5.2 Proses Enkripsi (Signing) ..........................................................18
2.5.3 Proses Dekripsi (Verifiying) ......................................................18
2.6 Tanda Tangan Manual (Handwriting Signature) ...................................19
2.7 Pengenalan Pola ...................................................................................20
2.8 Jaringan Syaraf Tiruan .........................................................................22
2.7.1 Jaringan Learning Vector Quantization (LVQ) .........................24
2.7.1.1 Arsitektur Jaringan...................................................................25
2.9 Keaslian Dokumen Dan Keamanan Dokumen Dari Segi Prespektif
Islam Dan Integrasinya ........................................................................26
BAB III PERANCANGAN DAN DESAIN SISTEM.....................................30
3.1 Materi Penelitian ..................................................................................30
3.2 Alat Penelitian ......................................................................................30
3.2.1 Kebutuhan Hardware ...............................................................30
3.2.2 Kebutuhan Software .................................................................31
3.3 Analisis Sistem .....................................................................................32
3.3.1 Proses Pembuatan Template ......................................................33
3.3.2 3.3.1.1 Image Prepocessing .....................................................35
3.3.3 3.3.1.2 Pengkodean Karakter (Feature extraction) ...................39
3.3.4 Pembelajaran Tanda Tangan Manual Dengan LVQ ...................39
3.3.5 Pengenalan Tanda Tangan Manual ............................................40
3.3.6 Pembangkitan Kunci Tanda Tangan Digital RSA ......................41
3.3.7 Proses Enkripsi (Signing) Tanda Tangan Digital .......................42
3.3.8 Proses Verifikasi Tanda Tangan Digital ...................................43
3.3.9 Contoh Perhitungan Dengan LVQ ............................................44
3.4 Perancangan Sistem .............................................................................50
3.4.1 Use Case ...................................................................................50
3.4.2 Sequence Diagram ....................................................................51
3.4.3 3.4.2.1 Sequence diagram proses pengolahan Image.................51
3.4.4 3.4.2.2 Sequence diagram proses signing ..................................52
3.4.5 3.4.2.3 Sequence diagram proses verifikasi ...............................53
3.4.6 Activity Diagram .......................................................................53
3.5 Struktur Basis Data ..............................................................................54
3.6 Perancangan Uji Coba .........................................................................55
3.6.1 Skenario Uji Coba .....................................................................55
3.6.2 3.6.1.1 Pengujian Tanda Tangan Manual LVQ ..........................55
3.6.3 3.6.1.2 Pengujian Tanda Tangan Digital RSA ...........................56
BAB IV IMPELEMENTASI DAN HASIL ....................................................57
4.1 Implementasi Program .........................................................................57
4.1.1 Implementasi Antarmuka ..........................................................57
3.6.4 4.1.1.1 Halaman Menu Utama ...................................................57
3.6.5 4.1.1.2 Form Konfigurasi ..........................................................58
3.6.6 4.1.1.3 Form Makey Key ...........................................................60
3.6.7 4.1.1.4 Form Signing ................................................................61
3.6.8 4.1.1.5 Form Verifiying ............................................................62
3.6.9 Implementasi Pemrosesan Citra (Image Preprocessing) ...........62
4.1.2 Implementasi jaringan Saraf Tiruan LVQ (Learning Vector
Quantization) ...........................................................................65
4.1.3 Implementasi Algoritma RSA ...................................................68
4.2 Hasil Uji Coba Sistem ..........................................................................74
4.2.1 Uji Coba Pembelajaran LVQ ....................................................75
4.2.2 Uji Coba RSA ...........................................................................79
BAB V PENUTUP...........................................................................................81
5.1 Kesimpulan .........................................................................................81
5.2 Saran ..................................................................................................81
DAFTAR PUSTAKA .......................................................................................82
DAFTAR TABEL

Tabel 2.1 Contoh pengelompokan pola berdasarkan cirinya ............................20
Tabel 3.1 Data Matrik input gambar ................................................................44
Tabel 3.2 Data Bobot ......................................................................................44
Tabel 3.3 Data Latih ........................................................................................44
Tabel 3.4 Basis Data Pengguna (User) ............................................................54
Tabel 3.5 Basis Data Tanda Tangan Manual ....................................................54
Tabel 3.6 Basis Data Beban Akhir ...................................................................55
Tabel 3.7 Rancangan tabel Tanda Tangan manual LVQ ..................................56
Tabel 3.8 Rancangan Tabel Avalanche Effect Tanda Tangan Digital RSA .......56
Tabel 4.1 Uji Coba Nilai Max Epoch 10 Dan Nilai Target Erornya 0,1 ............75
Tabel 4.2 Uji Coba Nilai Max Epoch 100, Nilai Target Erornya 0,1 ................75
Tabel 4.3 Uji Coba Nilai Max Epoch 1000, Nilai Target Erornya 0,01 ............76
Tabel 4.4 Uji Coba Nilai Max Epoch 10, Nilai Target Erornya 0,01 ................77
Tabel 4.5 Uji Coba Nilai Max Epoch 100, Nilai Target Erornya 0,01 ..............77
Tabel 4.6 Uji Coba Nilai Max Epoch 1000, Nilai Target Erornya 0,01 ............78
Tabel 4.7 Tabel Uji Coba RSA ........................................................................80




DAFTAR GAMBAR

Gambar 2.1 Sistem Kriptografi ......................................................................13
Gambar 2.2 Skema Algoritma Kunci Publik...................................................16
Gambar 2.3 Jaringan Syaraf Learning Vector Quantization ............................25
Gambar 3.1 Representasi Image LVQ ............................................................32
Gambar 3.2 Diagram Perancangan Sistem ......................................................33
Gambar 3.3 Flowchart Binerisasi Image ........................................................34
Gambar 3.4 Diagram Proses Image Preprocessing ..........................................35
Gambar 3.5 Pseudocode fungsi grayscale ......................................................36
Gambar 3.6 Flowchart Binerisasi ...................................................................37
Gambar 3.7 Flowchart Proses Cropping .........................................................38
Gambar 3.8 Flowchart Proses Pembelajaran LVQ ..........................................40
Gambar 3.9 Flowchart Proses Pengenalan Tanda Tangan Manual .................41
Gambar 3.10 Flowchart Proses Pembangkitan Kunci RSA ...............................42
Gambar 3.11 Flowchart Proses Signing Algoritma RSA ..................................43
Gambar 3.12 Flowchart Proses Verifiying Algoritma RSA ..............................43
Gambar 3.13 Use case Sistem pengenalan pola tanda tangan ............................51
Gambar 3.14 Sequnce diagram proses image preprocessing .............................52
Gambar 3.15 Sequence diagram proses signing ................................................52
Gambar 3.16 Sequence diagram proses verifikasi .............................................53
Gambar 3.17 Activity diagram ..........................................................................53
Gambar 4.1 Struktur Menu program ..............................................................53
Gambar 4.2 Halaman Menu Utama ................................................................58
Gambar 4.3 Form Image Preprocesing ..........................................................59
Gambar 4.4 Form Learning LVQ ...................................................................60
Gambar 4.5 Form Pembentukan Kunci RSA ..................................................61
Gambar 4.6 Implementasi Form Signing ........................................................62
Gambar 4.7 Implementasi Form verifying ......................................................63
Gambar 4.8 Source code fungsi RGBToGray .................................................63
Gambar 4.9 Source code Fungsi Threshold ....................................................64
Gambar 4.10 Source code Fungsi Cropping .....................................................65
Gambar 4.11 Source Code Fungsi Scalling ......................................................65
Gambar 4.12 Source Code Pengkodean Karakter .............................................65
Gambar 4.13 Source Code Procedure Training_2 .............................................68
Gambar 4.14 Cuplikan Source code Pengenalan...............................................68
Gambar 4.15 Cuplikan Source code Fungsi nilai n ...........................................68
Gambar 4.16 Cuplikan Source code Fungsi nilai phi ........................................68
Gambar 4.17 Cuplikan Source code Fungsi Kunci privat d ...............................69
Gambar 4.18 Cuplikan Source code proses Signing ..........................................69
Gambar 4.19 Cuplikan Source code proses RSAEncrypt ...................................70
Gambar 4.20 Cuplikan Source code Convert 256 to 64 ....................................71
Gambar 4.21 Cuplikan Source code Verifiying .................................................72
Gambar 4.22 Cuplikan Source code RSADecrypt .............................................73
Gambar 4.23 Cuplikan Source code Convert 64 to 256 ....................................74
Gambar 4.24 Grafik pembelajaran Maxepoch 10 dan 100, target error 0,1, dan
alpha 0,010,09 ..........................................................................76
Gambar 4.25 Grafik pembelajaran Maxepoch 1000, target error 0,01 ...............77
Gambar 4.26 Grafik pembelajaran Maxepoch 1000, target error 0,01 ...............78
ABSTRAK


Rakhmanullah, Afif. 2005. Autentifikasi Pengenalan Tanda Tangan Manual
Menggunakan Jaringan Saraf Tiruan LVQ (Learning Vector Quantization) Dan
Tanda Tangan Digital Menggunakan Algoritma RSA (Riset Shamir Adleman).
Pembimbing : (I) M. Ainul Yaqin, M. Kom, (II) H. Syahiduz Zaman, M. Kom

Kata Kunci: Pengenalan Pola, Jaringan Saraf Tiruan LVQ, Algoritma RSA

Informasi merupakan kebutuhan manusia, bukan saja pada abad modern
ini, tetapi sejak manusia tercipta. Hal ini disebabkan, antara lain oleh adanya
naluri ingin tahu yang menghiasi makhluk bernama manusia. Internet merupakan
salah satu media untuk bertukar informasi atau berkomunikasi. Ketika saling
berkomunikasi tidak menutup kemungkinan untuk mengirim informasi yang
berbentuk dokumen elektronik (file) yang memiliki tanda tangan untuk
megesahkan dokumen. Hal ini memerlukan adanya mekanisme untuk menjamin
keaslian (autentifikasi) tanda tangan tersebut dengan tujuan informasi yang
dikirim sesuai dengan kebenarannya. Keaslian (autentifikasi) tanda tangan
menjadi aset yang sangat berharga baik dari suatu organisasi, perusahaan,
pemerintah maupun pribadi. Hal ini menyebabkan keaslian (autentifikasi) tanda
tangan menjadi sangat penting untuk dilindungi dari orang-orang yang tidak
bertanggung jawab yang akan memanipulasi tanda tangan untuk kepentingannya
yang dapat merugikan orang lain.
Mekanisme keamanan diperlukan untuk menjamin keaslian dari tanda
tangan tersebut, dalam penelitian ini akan dibangun mekanisme untuk menjamin
keaslian tanda tangan atau autentifikasi dengan menghubungkan pengenalan tanda
tangan manual menggunakan jaringan saraf tiruan LVQ dengan tanda tangan
digital menggunakan algoritma RSA.
Tujuan dari penelitian ini adalah mengimplementasikan algoritma RSA
dan LVQ untuk autentifikasi tanda tangan manual dan digital kedalam aplikasi.
Aplikasi ini dibangun dengan menggunakan bahasa pemograman Delphi dan
menggunakan Database Access. Metode autentifikasi menggunakan jaringan saraf
tiruan LVQ (Learning Vector Quantization) dan algoritma RSA (Riset Shamir
Adleman). LVQ adalah metode pengenalan pola yang melakukan pembelajaran
terlebih dahulu atau supervised learning, sedangkan RSA adalah algoritma
kriptografi yang mempunyai dua kunci yaitu kunci publik dan kunci rahasia.
Berdasarkan hasil uji coba yang telah dilakukan, maka Authentifikasi
tanda tangan manual dengan jaringan saraf tiruan LVQ dan tanda tangan digital
dengan algoritma RSA menghasilkan tingkat keberhasilan sukses sebesar 100 %
untuk tanda tangan digital, dan 74 % untuk tanda tangan manual dengan
pembelajaran menggunakan nilai max epoch 1000, nilai Learning rate 0,01-0,09
dan nilai target error 0,01. Dan ratarata waktu penandatangan (signing) 15
milidetik dan rata-rata untuk verifikasi 53 milidetik.


ABSTRACT

Rakhmanullah, Afif. 2005. Signature authentication Manual Introduction Using
LVQ Neural Networks (Learning Vector Quantization) and Digital Signature
Algorithm Using RSA (Research Shamir Adleman). Supervisor: (I) M. Ainul
Yaqin, M. Kom, (II) H. Syahiduz Zaman, M. Kom


Keywords: Pattern Recognition, LVQ Neural Networks, RSA

Information is a human need, not only in this modern age, but since man is
created. This is due, among others, by the instinct to know that adorned creature
called human. Internet is a medium to exchange information or communicate.
When communicating with each other did not close the possibility to send
information in the form of electronic documents (files) that have megesahkan
signatures to the document. This requires mechanisms to ensure the authenticity
(authentication) with a view to signature information transmitted in accordance
with the truth. Authenticity (authentication) signature becomes a valuable asset
both from an organization, company, government or private. This causes the
authenticity (authentication) signature is very important to be protected from
people who are not responsible who will manipulate signatures to its interests that
could harm others.
Security mechanisms necessary to ensure the authenticity of these
signatures, in this study will be built mechanisms to ensure the authenticity of the
signature or authentication by connecting the manual signature recognition using
LVQ neural networks with digital signatures using RSA algorithm.
The purpose of this study was to implement the RSA algorithm and LVQ
for authentication and digital signatures into applications manually. This
application was built using Delphi programming language and use the Access
database. Authentication method using an artificial neural network LVQ
(Learning Vector Quantization) algorithm and RSA (Research Shamir Adleman).
LVQ is a method of pattern recognition is done prior learning or supervised
learning, while RSA is a cryptographic algorithm that has two keys namely a
public key and secret key.
Based on trial results that have been done, then the manual signature
Authentication with LVQ neural network and digital signatures with RSA
algorithm to produce the success rate of 100% success for digital signatures, and
74% for manual signatures by learning to use the max epoch 1000, the value of
learning rate from 0.01 to 0.09 and 0.01 target value error. And the average time
of signing (signing) 15 milliseconds and the average for the verification of 53
milliseconds.

BAB I
PENDAHULUAN

1.1 Latar Belakang
Informasi merupakan kebutuhan manusia, bukan saja pada abad modern ini,
tetapi sejak manusia tercipta. Hal ini disebabkan, antara lain oleh adanya naluri
ingin tahu yang menghiasi makhluk bernama manusia. Internet merupakan salah
satu media untuk bertukar informasi atau berkomunikasi. Ketika saling
berkomunikasi tidak menutup kemungkinan untuk mengirim informasi yang
berbentuk dokumen elektronik (file) yang memiliki tanda tangan untuk
mengesahkan dokumen. Bentuk obyek tanda tangan yang kita lihat sehari-hari
seperti suatu persoalan yang sederhana. Banyak dari kita mungkin tidak
membayangkan bahwa orang lain tidak akan menduplikasi tanda tangan kita
karena sulit untuk diduplikasi atau tidak ada gunanya menduplikasi tanda tangan
tersebut. Tetapi pada saat-saat tertentu mulai diwaspadai tanda tangan yang kita
buat atau yang dibuat oleh orang lain, dengan tujuan agar kita dapat mengetahui
keaslian dari tanda tangan, baik tanda tangan kita maupun milik orang lain. Hal
tersebut mulai menjadi persoalan bagi kita bila suatu transaksi dokumen menjadi
tidak syah karena terjadi pemalsuan tanda tangan. Dan tentunya dapat merugikan
pihak-pihak yang bersangkutan.
Hal ini memerlukan adanya mekanisme untuk menjamin keaslian
(autentifikasi) tanda tangan tersebut dengan tujuan dokumen yang dikirim sesuai
dengan kebenarannya. Tanda tangan merupakan salah satu bukti untuk
membenarkan atau mengesahkan suatu dokumen, dikarenakan keaslian dokumen
yang memiliki tanda tangan menjadi aset yang sangat berharga baik dari suatu
organisasi, perusahaan, pemerintah maupun pribadi. Hal ini menyebabkan
keaslian (autentifikasi) tanda tangan menjadi sangat penting untuk dilindungi dari
orang-orang yang tidak bertanggung jawab yang akan memanipulasi tanda tangan
untuk kepentingannya yang dapat merugikan orang lain. Di dalam Undang-
Undang Republik Indonesia No 11 tahun 2008 yang mengatur mengenai
informasi dan transaksi elektronik (UU-ITE) dalam pasal 1 ayat ke-12
menyebutkan bahwa alat verifikasi dan autentifikasi dokumen elektronik adalah
tanda tangan elektronik. Dengan demikian kita harus senantiasa berhati-hati dalam
menjaga keaslian (autentifikasi) tanda tangan.
Al Quran juga mengingatkan kita untuk berhati-hati dengan kebenaran
informasi/berita baik si penerima informasi maupun si pemberi informasi, dalam
surat Al-Hujarat ayat 6 Allah Berfirman:
!!., _.] `.., | `,l> _.! |,., `.,. ,,.. !. .> >,`..
_ls !. `.l- _,... . _
Artinya : Hai orang-orang yang beriman, jika datang kepadamu orang Fasik
membawa suatu berita, Maka periksalah dengan teliti agar kamu tidak
menimpakan suatu musibah kepada suatu kaum tanpa mengetahui
keadaannya yang menyebabkan kamu menyesal atas perbuatanmu
itu.(QS.Al Hujaraat/49:6)

Di sisi lain kepada pembawa berita, Al Quran berpesan :
!!., _.] `.., 1. < l .,. . _
Artinya : Hai orang-orang yang beriman, bertakwalah kamu kepada Allah dan
Katakanlah Perkataan yang benar, (QS.Al Ahzab/33:70)

Atas dasar dua surat di atas, para ulama menekankan bahwa semua ucapan
apa pun bentuknya dan kandungannya, di samping harus sesuai dengan kenyataan,
juga harus menjamin sasarannya untuk tidak terjerumus ke dalam kesulitan,
bahkan membutuhkan manfaat. Dari sinilah dikenal dengan ungkapan li kulli
maqam maqal wa likulli maqal maqam (untuk setiap tempat ada ucapan yang
sesuai dan untuk setiap ucapan ada tempat yang sesuai). Boleh jadi ada kebenaran
yang harus di tangguhkan penyampaiannya demi kemaslahatan. Dalam hadits
riwayat Buchary dan Muslim dari Abdullah bin Masud r.a berkata : Bersabda
Nabi s.a.w : Sesungguhnya kebenaran itu membawa kepada kebaikan (taat)
dan kebaikan itu membawa ke sorga. Dan seseorang membiasakan dirinya
berkata benar hingga tercatat di sisi Allah siddiq. Dan dusta membawa kepada
lancung sedang lancung membawa neraka. Dan seseorang suka berdusta
sehingga tercatat di sisi Allah pendusta. (HR Buchary, Muslim). Hadits ini
menjelaskan tentang membiasakan diri berbuat kebaikan dan berkata benar karena
itu akan tercatat sebagai orang yang sidiq di sisi Allah.
Keaslian (autentifikasi) tanda tangan dapat dilakukan dengan
menggunakan pengenalan pola tanda tangan manual menggunakan jaringan saraf
tiruan LVQ (Learning Vector Quantization) dan tanda tangan digital
menggunakan algoritma RSA (Rivest Shamir Adleman).
Jaringan saraf LVQ (Learning Vector Quantization) adalah suatu metode
klasifikasi pola yang masing-masing unit keluaran mewakili kategori atau kelas
tertentu. Suatu lapisan kompetitif akan secara otomatis belajar untuk
mengklasifikasikan vektor vektor input. Kelas-kelas yang didapatkan sebagai
hasil dari lapisan kompetitif ini hanya tergantung pada jarak antara vektor-vektor
input. Jika 2 vektor input mendekati sama, maka lapisan kompetitif akan
meletakkan kedua vektor input tersebut ke dalam kelas yang sama.
Sedangkan Algoritma RSA (Rivest Shamir Adleman) adalah merupakan
algoritma kriptografi kunci publik (asimetris). Ditemukan pertama kali pada tahun
1977 oleh R. Rivest, A. Shamir, dan L. Adleman. RSA disebut sistem sandi
asimetris RSA yang menggunakan algoritma asimetrik dan mempunyai dua kunci
yang berbeda, disebut pasangan kunci (key pair) untuk proses enkripsi dan
dekripsi.
Tanda tangan digital merupakan suatu nilai kriptografis yang bergantung
pada pesan dan pengirim pesan (Munir, 2004). Dengan tanda tangan digital
keaslian informasi dapat dijamin dan juga dapat digunakan untuk membuktikan
asal informasi. Selain tanda tangan digital, pengenalan tanda tangan manual
(handwriting signature) yang digabungkan dengan tanda tangan digital mulai
dikenalkan karena keamanannya lebih terjamin. Dalam tanda tangan digital,
penyerangan (cracking) dilakukan untuk memecahkan kunci atau pesan
(informasi), dan metode penggabungan dari pengenalan tanda tangan manual
(handwriting signature) dan tanda tangan digital merupakan salah satu solusi
keamanan yang lebih baik. Contoh penggabungan tanda tangan digital dengan
tanda tangan manual adalah smart card. Smart card mempunyai pasangan kunci
privat dan kunci publik yang digunakan sebagai autentifikasi tanda tangan digital
dan foto sebagai tanda tangan manual (handwritten signature).
Kunci-kunci yang ada pada pasangan kunci mempunyai hubungan secara
matematis, tetapi tidak dapat dilihat secara komputasi untuk mendeduksi kunci
yang satu ke pasangannya. Algoritma ini disebut kunci publik, karena kunci
enkripsi dapat disebarkan. Orang-orang dapat menggunakan kunci publik ini, tapi
hanya orang yang mempunyai kunci privat sajalah yang bisa mendekripsi data
tersebut.
Berdasarkan latar belakang di atas betapa pentingnya autentifikasi tanda
tangan yang merupakan salah satu bukti untuk mengesahkan atau membenarkan
dokumen, maka penulis membuat tugas akhir dengan judul AUTENTIFIKASI
PENGENALAN POLA TANDA TANGAN MANUAL MENGGUNAKAN
JARINGAN SARAF TIRUAN LVQ (LEARNING VECTOR QUANTIZATION)
DAN TANDA TANGAN DIGITAL MENGGUNAKAN ALGORITMA RSA
(RIVEST SHAMIR ADLEMAN).
1.2 Rumusan Masalah
Berdasarkan uraian pada latar belakang di atas, maka didapatkan rumusan
masalah, yaitu bagaimana mengimplementasikan autentifikasi pengenalan pola
tanda tangan manual menggunakan jaringan saraf tiruan LVQ dan tanda tangan
digital menggunakan algoritma RSA.
1.3 Batasan Masalah
Dari permasalahan diatas, berikut ini diberikan batasan masalah untuk
menghindari melebarnya masalah yang akan diselesaikan:
a. Data input adalah berupa Image tanda tangan manual bertipe bitmap
(bmp). Proses input tanda tangan manual (handwriting signature) berupa
image (offline recognition).
b. Gambar tanda tangan tidak ada kotoran (noise) didalam image tanda
tangan manual seperti stempel.
c. Metode yang digunakan dalam aplikasi ini adalah metode LVQ untuk
tanda tangan manual dan RSA untuk tanda tangan digital.
d. Aplikasi ini menggunakan bahasa pemrogramana Delphi dan
menggunakan Database Acces.
1.4 Tujuan
Tujuan dari penelitian ini adalah mengimplementasikan autentifikasi
pengenalan pola tanda tangan manual dan tanda tangan digital menggunakan
jaringan saraf tiruan LVQ dan algoritma RSA.
1.5 Manfaat
Manfaat yang dapat dihasilkan dari penyusunan skripsi ini adalah untuk
mengetahui autentifikasi (keaslian) tanda tangan pada dokumen teks.
1.6 Metodologi Penelitian
Metodologi yang digunakan dalam aplikasi ini adalah sebagai berikut:
1. Pengumpulan data-data yang diperlukan
Beberapa metode yang akan dipakai dalam pengumpulan data:
a. Studi Literatur
Pada metode ini penulis akan melakukan pencarian, pembelajaran dari
berbagai macam literatur dan dokumen yang menunjang pengerjaan
skripsi ini khususnya yang berkaitan dengan autentifikasi pengenalan pola
tanda tangan manual menggunakan jaringan saraf tiruan LVQ dan tanda
tangan digital menggunakan algoritma RSA.
b. Browsing
Melakukan pengamatan ke berbagai macam website di internet yang
menyedikan informasi yang mendukung dan relevan dengan permasalahan
dalam pembuatan sistem ini.
2. Analisa data yang telah dikumpulkan
Membuat analisa terhadap data yang sudah diperoleh dari hasil studi literatur
dan browsing yaitu menggabungkan dengan laporan dan kebijakan pemakai
menjadi spesifikasi yang terstruktur dengan menggunakan pemodelan.
3. Perancangan dan Desain Sistem
Memahami rancangan aplikasi sesuai data yang ada dan
mengimplementasikan model yang diinginkan oleh pengguna. Pemodelan
sistem ini berupa Context Diagram, Data Flow Diagram, ER-Diagram dan
Flowchart, guna mempermudah dalam proses-proses selanjutnya.
4. Pembuatan Aplikasi
Tahap ini merupakan tahap pembuatan dan pengembangan aplikasi sesuai
dengan desain sistem yang ditetapkan pada tahap sebelumnya. Aplikasi
autentifikasi pengenalan pola tanda tangan manual menggunakan jaringan
saraf LVQ dan tanda tangan digital menggunakan algoritma RSA dibangun
dengan bahasa pemograman Delphi dan Acces.
5. Uji Coba dan Evaluasi
Menguji coba seluruh spesifikasi terstruktur dan sistem secara keseluruhan.
Pada tahap ini, dilakukan uji coba sistem yang telah selesai disusun. Proses
uji coba ini diperlukan untuk memastikan bahwa sistem yang telah dibuat
sudah benar, sesuai dengan karakteristik yang ditetapkan dan tidak ada
kesalahan-kesalahan yang terkandung di dalamnya.
6. Penyusunan Buku Tugas Akhir
Tahap terakhir ini merupakan dokumentasi pelaksanaan tugas akhir.
Diharapkan, buku tugas akhir ini bermanfaat bagi pembaca yang ingin
mengembangkan sistem ini lebih lanjut maupun pada lain kasus.
1.7 Sistematika Penulisan
Adapun sistematika pada Tugas Akhir ini adalah sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisi tentang latar belakang, rumusan masalah, batasan
masalah, tujuan, manfaat, metodologi dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini menjelaskan tentang teori-teori yang terkait dan
menunjang dalam pembuatan tugas akhir ini, meliputi :
1. Autentifikasi
2. Tanda Tangan Digital
3. Kriptografi
4. Algoritma RSA (Rivest-Shamir-Adleman)
5. Tanda Tangan Manual (Handwriting Signature)
6. Pengenalan Pola
7. Jaringan Syaraf Tiruan
BAB III DESAIN DAN PERANCANGAN SISTEM
Bab ini menjelaskan tentang analisa yang dilakukan dalam
merancang dan membuat aplikasi autentifikasi pengenalan pola
tanda tangan manual dan tanda tangan digital yang meliputi
Context Diagram, Data Flow Diagram, ER-Diagram dan
Flowchart.
BAB IV HASIL DAN PEMBAHASAN
Bab ini membahas tentang implementasi dari aplikasi yang
dibuat secara keseluruhan. Serta melakukan pengujian terhadap
aplikasi yang dibuat untuk mengetahui aplikasi tersebut telah
dapat menyelesaikan permasalahan yang dihadapi sesuai
dengan apa yang diharapkan.
BAB V PENUTUP
Bab ini berisi tentang kesimpulan dan saran yang diharapkan
dapat bermanfaat untuk pengembangan program aplikasi
selanjutnya.
BAB II
LANDASAN TEORI

2.1 Autentifikasi
Autentifikasi adalah proses pembuktian keaslian dan integritas suatu data
yang dikirim dari seseorang. Sedangkan integritas adalah jaminan bahwa suatu
data yang diterima adalah data yang sama dengan data yang dikirim
Dalam autentifikasi dokumen teks, autentifikasi yang baik adalah
autentifikasi yang memberikan jaminan kerahasiaan (Confidentiality) dan
autorisasi (Authorization). Yang dimaksud jaminan kerahasiaan dalam hal ini
adalah dokumen yang dimaksud mempunyai informasi yang dapat dijadikan suatu
alat pengesahan (biasanya pengesahan dilakukan dengan verifikasi). Hal ini
sejalan dengan Firman Allah SWT pada QS.Al Hujaraat/49:6 sebagai berikut:
!!., _.] `.., `..1. _,, _., < .]. 1. < | < _,.-
,l .
Artinya : Hai orang-orang yang beriman, jika datang kepadamu orang Fasik
membawa suatu berita, Maka periksalah dengan teliti agar kamu tidak
menimpakan suatu musibah kepada suatu kaum tanpa mengetahui
keadaannya yang menyebabkan kamu menyesal atas perbuatanmu
itu.(QS.Al Hujaraat/49:6)

Di sisi lain kepada pembawa berita, Al Quran berpesan:
!!., _.] `.., 1. < l .,. . _
Artinya: Hai orang-orang yang beriman, bertakwalah kamu kepada Allah dan
Katakanlah Perkataan yang benar, (QS.Al Ahzab/33:70)

Atas dasar Surat ini, para ulama menekankan bahwa semua ucapan apa
pun bentuknya dan kandungannya, di samping harus sesuai dengan kenyataan,
juga harus menjamin sasarannya untuk tidak terjerumus ke dalam kesulitan,
bahkan membutuhkan manfaat. Dari sinilah dikenal dengan ungkapan li kulli
maqam maqal wa likulli maqal maqam (untuk setiap tempat ada ucapan yang
sesuai dan untuk setiap ucapan ada tempat yang sesuai). Boleh jadi ada kebenaran
yang harus ditangguhkan penyampaiannya demi kemaslahatan (M Quraish, 1994).
Metode yang digunakan dalam autentifikasi dokumen elektronik adalah
dengan cara menambahkan (meng-embedded) tanda tangan digital (digital
signature) pada dokumen elektronik .
2.2 Tanda Tangan Digital (Digital Signature)
Tanda tangan digital merupakan suatu nilai kriptografis yang bergantung
pada pesan dan pengirim pesan (Munir, 2004). Tanda tangan digital bukanlah
tanda tangan yang didigitasi dengan scanner kemudian ditambahkan (di-
embended) kedalam pesan (Ratna, 2005). Dengan tanda tangan digital keaslian
informasi dapat dijamin dan juga dapat digunakan untuk membuktikan asal
informasi.
Tanda tangan digital juga merupakan salah satu mekanisme untuk menjaga
keautentikan/keaslian pesan beserta pengirimnya. (Baharsyah, 2006). Dalam
Undang-Undang Republik Indonesia No 11 tahun 2008 mengenai informasi dan
transaksi elektronika (UU-ITE) pengertian tanda-tangan elektronik adalah suatu
tanda tangan yang terdiri atas Informasi Elektronik yang dilekatkan, terasosiasi
atau terkait dengan Informasi Elektronik lainnya yang digunakan sebagai alat
verifikasi dan autentikasi. Aturan lebih lanjut mengenai tanda-tangan elektronik
ini ada dalam Pasal 11 ayat 1 yang mengatur bahwa : Tanda Tangan Elektronik
memiliki kekuatan hukum dan akibat hukum yang sah selama memenuhi
persyaratan sebagai berikut :
a) Data pembuatan Tanda Tangan Elektronik terkait hanya kepada Penanda
Tangan.
b) Data pembuatan Tanda Tangan Elektronik pada saat proses penandatanganan
elektronik hanya berada dalam kuasa Penanda Tangan.
c) Segala perubahan terhadap Tanda Tangan Elektronik yang terjadi setelah
waktu penandatanganan dapat diketahui.
d) Segala perubahan terhadap Informasi Elektronik yang terkait dengan Tanda
Tangan Elektronik tersebut setelah waktu penandatanganan dapat diketahui.
e) Terdapat cara tertentu yang dipakai untuk mengidentifikasi siapa
Penandatangannya.
f) Terdapat cara tertentu untuk menunjukkan bahwa Penanda Tangan telah
memberikan persetujuan terhadap Informasi Elektronik yang terkait.
Tanda tangan digital merupakan implementasi dari kriptografi kunci
publik. Didalam kriptografi kunci publik proses enkripsi menggunakan kunci
publik dan proses dekripsi menggunakan kunci privat. Sedangkan didalam skema
tanda tangan digital. Proses enkripsi menggunakan kunci privat (Signing) dan
dekripsi (Verifying) menggunakan kunci publik.
Digital signature adalah sebuah tanda dari pengirim yang ditempatkan
pada data secara unik dengan tujuan untuk merahasiakan data dari orang yang
tidak bertanggung jawab.
2.3 Kriptografi
Cryptography salah satu ilmu yang sangat penting dan mulai menonjol
sejak digunakan pada aplikasi radio dan pengiriman perintah perang pada Perang
Dunia ke II. Aplikasi ini pada PD II digunakan untuk membuat kode dan
membakar atau mengacak kode lawan. Saat ini cryptography semakin
dikembangkan untuk aplikasi-aplikasi pertahanan keamanan maupun untuk
aplikasi bisnis.
2.3.1 Pengertian Kriptografi
Menurut Fidens (2006), kriptografi adalah ilmu yang berguna untuk
mengacak data sehingga tidak dapat dibaca oleh pihak ketiga.

Gambar 2.1 Sistem Kriptografi
Pada intinya sistem pengamanan dokumen dengan Cryptography ada 2
langkah yaitu :
a. Proses Enkripsi
Proses enkripsi adalah suatu proses yang mengubah plainteks (kode
sesungguhnya) menjadi ciperteks (kode rahasia). Untuk merubah plainteks ke
ciperteks digunakan fungsi matematika dan kunci.
b. Proses Dekripsi
Proses dekripsi adalah suatu proses yang mengubah ciperteks menjadi
plainteks, dimana dokumen yang sudah teracak dikembalikan ke dokumen
semula yang juga menggunakan fungsi matematika dan kunci. Sebelum proses
Proses enkripsi maupun dekripsi dilakukan, ada satu pengaman awal yaitu
menentukan kunci sandi kunci pengaman (key pairs) yang terdiri dari private
key, public key dan modulo yang digunakan untuk membuka dan mengunci
system.
Setelah system dapat dibuka dengan kunci pengaman, proses enkripsi
maupun dekripsi dapat dilakukan, baik dilakukan dengan proses enkripsi dan
enkripsi sekali saja maupun proses enkripsi dan dekripsi yang dilakukan berkali-
kali agar semakin terjamin kerahasiaannnya. Banyak metode yang berasal dari
fungsi matematika yang digunakan untuk proses enkripsi maupun dekripsi. Salah
satu metode tersebut yang digunakan dalam penelitian ini adalah metode RSA.
Pada metode RSA yang berperan penting adalah penyandian blok, yaitu setiap
proses perhitungan enkripsi dan dekripsi dilakukan dengan hitungan per blok.
Pada kriptografi modern, algoritma kriptografi modern, algoritma
kriptografi bersifat publik, tetapi kunci harus tetap dijaga kerahasiaannya. Kunci
adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi. Kunci
biasanya berupa string atau deretan bilangan.
Konsep penggunaan kriptografi menurut fidens (2006) yaitu :
1. Kerahasiaan (Confidentiallity) yaitu proses penyembunyian data dari orang-
orang yang tidak mempunyai otoritas.
2. Integritas (Integrity) yaitu proses untuk menjaga agar sebuah data tidak
dirubah-rubah waktu dikirim maupun disimpan.
3. Penghindaran penolakan (Non Repundatition) yaitu proses untuk menjaga
bukti-bukti bahwa suatu data berasal dari seseorang.
4. Autentikasi (Authentication) yaitu proses untuk menjamin keaslian data.
2.3.2 Algoritma Kriptografi
Berdasarkan kunci (Key) yang dipakai dalam kriptografi, algoritma
kriptografi dibagi menjadi 2 yaitu algoritma kunci simetris (symmetric-key
cryptography) dan algoritma kunci asimetris (asimetric-key cryptography).
2.3.2.1 Algoritma Kunci Simetris (Symmetric-Key Cryptography)
Algoritma kunci asimetris menggunakan kunci untuk proses enkripsi yang
sama dengan kunci yang digunakan untuk proses dekripsi. Dalam hal ini pengirim
dan penerima harus menyetujui suatu kunci tertentu atau yang bisa disebut kunci
privat (secret key). Keamanan dari kriptografi ini terletek pada kerahasiaan
kuncinya. Kelebihan dari kriptografi simetris ini lebih cepat dibanding algoritma
asimetris contoh algoritma ini adalah blowish, IDEA, Data encryption standard
(DES).
2.3.2.2 Algoritma Kunci Asimetris (Asymmetric-Key Cryptography)
Dalam algoritma ini kunci yang digunakan untuk proses enkripsi berbeda
dengan kunci yang digunakan untuk proses dekripsi. Untuk proses enkripsi kunci
yang digunakan disebut kunci publik (Public key). Sedangkan untuk dekripsi
kunci yang digunakan kunci rahasia (Privat Key). Algoritma ini juga bisa disebut
algoritma kunci publik. Dalam algoritma asimetris, kunci publik dapat diketahui
orang lain, sedangkan kunci privat hanya diketahu pemiliknya. Contoh dari
algoritma ini adalah RSA (Rivest-Shamir-Adleman), ElGamal, Elliptic Curve
Cryptography (ECC).
2.4 Algoritma RSA (Rivest-Shamir-Adleman)
RSA merupakan algoritma kriptografi kunci publik (asimetris). Ditemukan
pertama kali pada tahun 1977 oleh R. Rivest, A. Shamir, dan L. Adleman. Nama
RSA sendiri diambil dari ketiga penemunya tersebut. Sebagai algoritma kunci
publik, RSA mempunyai dua kunci, yaitu kunci publik dan kunci rahasia. Kunci
publik boleh diketahui oleh siapa saja, dan digunakan untuk proses enkripsi.
Sedangkan kunci rahasia hanya pihak-pihak tertentu saja yang boleh
mengetahuinya, dan digunakan untuk proses dekripsi.
Keamanan sandi RSA terletak pada sulitnya memfaktorkan bilangan yang
besar. Sampai saat ini RSA masih dipercaya dan digunakan secara luas di internet.

Gambar 2.2 Skema Algoritma Kunci Publik
RSA terdiri dari tiga proses, yaitu proses pembentukan kunci, proses
enkripsi dan proses dekripsi. Sebelumnya diberikan terlebih dahulu beberapa
konsep perhitungan matematis yang digunakan RSA.
2.4.1 Pembentukan Kunci
Berikut ini adalah proses pembentukan kunci. Proses ini dilakukan oleh
pihak penerima, dalam hal ini adalah B.
1. Ambil secara random dua bilangan prima p dan q yang besar dan berbeda,
namun ukuran keduanya (jumlah digit dalam basis bilangan yang digunakan)
harus sama.
2. Hitung modulus n dan fungsi Eulers Totient (n) dengan rumus :
n = p q
(n) = (p 1)[q 1]
Ket dengan :
n = modulus (public key)
p dan q = dua bilangan prima yang dimunculkan secara random.
3. Pilih suatu bilangan integer e sedemikian hingga
I<e< (n) dan gcd(e, (n)) = 1
Ket dengan :
I = bilangan integer
e = public key (kunci enkripsi)
gcd = persekutuan pembagi terbesar (greatest common divisor)
4. Hitung nilai integer d dimana I < d < (n) sedemikian hingga
d = e
1
mod (n) atau ed = I(mod (n))
Ket dengan :
d = private key (kunci dekripsi)
5. Membangun tabel untuk mempresentasikan tiap karakter.
6. Plainteks (teks yang akan dienkripsi) disandikan dengan angka-angka sesua
dengan tabel yang terbentuk oleh proses 5 dan akan diperoleh suatu nilai M
yang merupakan kumpulan angka-angka dari plaintext, kemudian kumpulan
angka-angka tersebut diblok tiap 4 angka menjadi m
1
,m
2
, L,m
n
. Proses enkripsi
dilakukan per blok dan masing-masing blok rumus enkripsinya adalah c
1
m
1
e

(modn) 1 = 1 , c
2
m
2
e
(modn) 2 = 2,...dst, sehingga menghasilkan nilai C
dimana C merupakan kumpulan angka-angka dari c
1
,c
2
, L,c
n
.
7. Proses dekripsi dilakukan dengan menggunakan logika seperti langkah 6
dengan melakukan perhitungan terbalik, yaitu m
1
c
1
d
(modn) 1 = 1 , m
2
c
2
d

(modn) 2 = 2 ,dst, sehingga menghasilkan nilai M dimana M = m
1
m
2
m
3
Nilai
akhir M tersebut dipresentasikan balik dengan table yang dibangun seperti pada
proses 5 di atas.
8. Kunci publik: (e,n) dan kunci rahasia/privat : (d,n)
Agar mempermudah dalam memahami sandi RSA, khusus pada tulisan
ini, plainteks yang digunakan hanya berupa bilangan 0 samapai dengan 25 yang
berkorespondensi dengan huruf a sampai dengan z. Akan tetapi pada penggunaan
yang sebenarnya, digunakan korespondensi khusus seperti kode ASCII, serta
bilangan-bilangan yang sangat besar. Perhatikan, dalam pemilihan p dan q harus
memenuhi n = pq lebih dari atau sama dengan nilai plainteks yang mungkin.
Dalam hal ini n = pq 25.
2.4.2 Proses Enkripsi (Signing)
Untuk mengenkripsi sebuah pesan M, maka M harus dipecah menjadi
sejumlah m < n lalu dilanjutkan dengan menghitung chypertext c menggunakan
kunci publik (e,n) dengan menggunakan persamaan :
c = m
e
mod n
Kemudian chypertext c hasil enkripsi dikirim
2.4.3 Proses Dekripsi (Verifiying)
Untuk mendapatkan m dari c yang telah dikirim, pendekripsian dilakukan
menggunakan kunci privat (d,n) dengan persamaan :
m = c
d
mod n
setelah m didapat, maka pesan M dapat diketahui.
2.5 Tanda Tangan Manual (Handwriting Signature)
Tanda tangan manual atau biasa disebut Handwriting Signature
merupakan salah satu bagian dari ciri atau karakter seorang (Biometric) (Alisher,
2003). Tanda tangan manual didigitasi melalui scan, dan tanda tangan manual
yang dimasukkan lewat pen tablet atau mouse disebut online signature. Menurut
Alisher (2005) konsep biometric yang digunakan didalam aplikasi autentifikasi
memiliki kriteria sebagai berikut :
1. Unik
2. Sulit dikopi atau dicuri
3. Diterima Oleh Publik
Beberapa contoh biometric sebagai autentifikasi menurut Fairhurst (2003) adalah :
1. Ciri-ciri wajah
2. Karakteristik Suara
3. Sidik Jari
4. Tanda Tangan Manual
5. Pola selaput mata
6. bentuk tangan
7. pola urat tangan
8. tombol dinamis
9. bau
10. bentuk kuping
11. pola pembuluh darah retina mata
Konsep biometric dibagi menjadi dua kategori yaitu fisik dan kebiasaan.
Fairhurt (2003). Tanda tangan manual merupakan kebiasaan (Behaviour)
biometric. Didalam sistem biometric dapat dilakukan dengan 2 model yaitu
identifikasi dan verifikasi. Identifikasi yaitu sistem untuk melatih data pola dari
beberapa orang kemudian sistem membandingkan data input dengan setiap data
template, dan dan menghasilkan pola dengan data template biometric yang paling
serupa. Sedangkan untuk verifikasi adalah digunakan untuk memberi akses
kedalam sistem dengan cara yang sama seperti identifikasi.
2.6 Pengenalan Pola
Pengenalan pola atau Pattern Recognition adalah disiplin ilmu yang
bertujuan untuk mengklasifikasikan obyek menjadi beberapa kategori atau kelas
(Koutroumbas, 2003).
Pola adalah entitas yang terdefinisi dan dapat diidentifikasi melalui ciri-
cirinya (features). Ciri-ciri tersebut digunakan untuk membedakan suatu pola
dengan pola lainnya. Ciri yang bagus adalah ciri yang memiliki daya pembeda
yang tinggi sehingga pengelompokan pola berdasarkan ciri yang dimiliki dapat
dilakukan dengan keakuratan yang tinggi. Sebagai contoh tabel 2.4 berikut ini:
Tabel 2.1 Contoh pengelompokan pola berdasarkan cirinya
Pola Ciri
Huruf Tinggi, tebal, titik sudut, lengkungan garis
Suara Amplitude, frekuensi, nada, intonasi, warna
Tanda tangan Panjang, kerumitan, tekanan
Sidik jari Lengkungan, jumlah garis

Ciri dari suatu pola diperoleh dari hasil pengukuran terhadap objek uji.
Khusus pada pola yang terdapat di dalam citra, ciri-ciri yang dapat diperoleh
berasal dari informasi:
a. Spasial : intensitas piksel dan histogram
b. Tepi : arah dan kekuatan
c. Kontur : garis, elips, dan lingkaran
d. Wilayah/bentuk : keliling, luas, dan pusat massa
e. Hasil transformasi Fourier : frekuensi
Pendekatan dari pengenalan pola menurut Guiterres (2002) dibedakan
menjadi tiga yaitu Statistical (statPR)n Neural (NeurPR) dean Syntactic (SyntPR).
Pendekatan statistik adalah model pendekatan yang mendefinisikan kondisi
probabilitas dari kelas-kelas Feuture dengan fungsi Pr(x|c
j
) atau dapat dikatakan
probabilitas dari feuture vector x merupakan kelas c
j
Guiterres (2002).
Pendekatan neural adalah model pengklasifikasian dari proses jaringan
unit yang dimasukkan. Pengetahuan dari klasifikasi ini disimpan berdasarkan
kekuatan hubungan dan berat dari setiap unit Guiterres (2002). Sedangkan
pendekatan struktural yang sama dari setiap unit yang dimasukkan Guiterres
(2002). Ada banyak aplikasi yang bisa dijadikan implementasi dari pengenalan
pola, di antaranya adalah pengenalan wajah pada manusia, pengenalan tulisan
tangan, pengenalan penyakit berdasarkan gejala-gejala yang ditemukan pada
objek.
Pengenalan wajah dan tulisan tangan manusia bisa dibuat melalui
pendekatan pemrosesan citra yang mana tujuan akhir dari pemrosesan citra
tersebut digunakan untuk pengelompokan objek sehingga menghasilkan output
yang diinginkan. Sedangkan pengenalan penyakit berdasarkan gejala-gejala yang
ada pada seorang pasien bisa dilakukan dengan pendekatan analisa data, kemudian
mengambil kesimpulan dari data-data yang sudah dikelompokkan. Atau dengan
kata lain, pembuatan aplikasi secara otomatis bercerita dan menjelaskan secara
terperinci tentang informasi yang dikandung objek. Dan bagaimana kelengkapan
informasi yang dikandung dari objek tersebut bergantung kepada kualitas dan
kuantitas dari data statistik.
Beberapa metode yang bisa digunakan untuk pengenalan pola adalah
Jaringan Syaraf Tiruan (JST), metode statistik, metode terstruktur dan lain
sebagainya. Dengan JST, menganalogikan cara berfikir pada otak manusia. Jadi,
informasi di proses sebagaimana otak manusia memproses informasi yang di
dapat. Misalnya di dalam skripsi ini mengenai pengenalan pola tanda tangan
manual pada dokumen teks. Sedangkan metode statistik berdasarkan hasil analisa
data yang sudah terkumpul. Misalnya pengenalan dan analisa penyakit pada
manusia.
2.7 Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan (JST) merupakan representasi buatan dari otak
manusia yang selalu mencoba mensimulasikan proses pembelajaran pada otak
manusia tersebut. Istilah buatan disini digunakan karena jaringan syaraf ini
diimplementasikan dengan menggunakan program komputer yang mampu
menyelesaikan sejumlah proses perhitungan selama proses pembelajaran
(Kusumadewi, 2003).
Jaringan Syaraf Tiruan memodelkan jaringan syaraf biologis yang terdapat
pada otak manusia. Pemodelan terutama hanya didekati dari sudut komputasinya
saja. Jaringan saraf tiruan bisa dibayangkan seperti otak buatan di dalam cerita-
cerita fiksi ilmiah.
Otak buatan manusia ini dapat berpikir seperti manusia buatan sang khalik
dan juga sepandai manusia dalam menyimpulkan sesuatu dari potongan-potongan
informasi yang diterima dari situlah komputer diusahakan agar bisa berpikir sama
seperti cara berpikir manusia. Akal manusia diciptakan agar dapat memikirkan
kejadian-kejadian yang ada, sesuai dengan firman Allah SWT dalam Al-Quran
Az Zumar/39 ayat 21 sebagai berikut:
l . < _. _. ,!..l ,!. .>l. _,,.., _ _ . _> .,
l. !l.>: ..l . _,, .. `.`. . .`-> !..L`> | _ .l:
_.] _|` .,l _
Artinya:Apakah kamu tidak memperhatikan, bahwa Sesungguhnya Allah
menurunkan air dari langit, Maka diaturnya menjadi sumber-sumber air
di bumi kemudian ditumbuhkan-Nya dengan air itu tanam-tanaman yang
bermacam-macam warnanya, lalu menjadi kering lalu kamu melihatnya
kekuning-kuningan, kemudian dijadikan-Nya hancur berderai-derai.
Sesungguhnya pada yang demikian itu benar-benar terdapat pelajaran
bagi orang-orang yang mempunyai akal. (QS Az Zumar/39:21)

Dari Ayat diatas telah dijelaskan inafidzalika ladzikroo liuuulil albab
potongan ayat tersebut menjelaskan bahwa kita sebagai Hamba Allah SWT untuk
dapat mengambil pelajaran dari setiap kejadian bagi mereka yang mempunyai
akal. Seperti halnya Jaringan Saraf Tiruan dapat melakukan peniruan terhadap
aktivitas-aktivitas yang terjadi di dalam suatu jaringan saraf biologi, aktivitas-
aktivitas yang terjadi adalah aktivitas mengingat, memahami, menyimpan, dan
memanggil kembali apa yang pernah dipelajari oleh otak.
Jaringan saraf tiruan tidak diprogram untuk menghasilkan keluaran
tertentu. Dengan kata lain, penyelesaian masalah dengan jaringan saraf tiruan
tidak memerlukan pemrograman. Semua keluaran atau kesimpulan yang ditarik
oleh jaringan saraf tiruan didasarkan pada pengalaman selama mengikuti proses
pembelajaran melalui contoh-contoh yang diberikan (Ririen, 2007:96). Selama
proses pembelajaran, pola-pola input disajikan bersama-sama dengan pola output
yang diinginkan. Sebagai tanggapan atas pola-pola input dan output yang
disajikan tersebut, jaringan akan menyesuaikan nilai bobotnya. Jika pelatihan
telah berhasil, bobot-bobot yang dohasilkan selama pelatihan jaringan akan
memberikan tanggapan atau jawaban yang benar terhadap input yang diberikan.
JST terdiri dari sejumlah simpul (node) yang merupakan elemen pemroses.
Setiap simpul tersebut memodelkan sebuah sel saraf biologis (neuron). Hubungan
antar simpul dicapai melalui bobot koneksi (weight). Bobot koneksi menentukan
apakah sinyal yang mengalir bersifat peredam (inhibitory connection). Bobot
koneksi yang bersifat meredam dapat dinyatakan, misalnya oleh bilangan negatif,
sedangkan yang bersifat merangsang oleh bilangan positif. Selain ditentukan oleh
karakteristik bobot koneksinya, besrnya sinyal yang keluar dari sebuah simpul
juga ditentukan oleh fungsi aktifasi (activation function) yang digunakannya.
Artinya, pemilihan fungsi aktifasi menentukan derajat keaktifan dari sebuah
simpul (Liman, 2005).
2.7.1 Jaringan Learning Vector Quantization (LVQ)
LVQ merupakan metode pengenalan pola yang melakukan pembelajaran
terlebih dahulu atau supervised learning Kusumadewi (2003). Didalam
pengenalan tanda tangan manual, kumpulan tanda tangan atau yang disebut
template yang dipelajari terlebih dahulu sebelum dilakukan pencocockan (fenton
2004)
LVQ adalah suatu metoda klasifikasi pola yang masing-masing unit
keluaran mewakili kategori atau kelas tertentu (beberapa unit keluaran seharusnya
digunakan untuk masing-masing kelas). Vektor bobot untuk suatu unit keluaran
sering dinyatakan sebagai sebuah vektor referens.
Diasumsikan bahwa serangkaian pola pelatihan dengan klasifikasi yang
tersedia bersama dengan distribusi awal vektor referens. Sesudah pelatihan,
jaringan LVQ mengklasifikasi vektor masukan dengan menugaskan ke kelas
yang sama sebagai unit keluaran, sedangkan yang mempunyai vektor referens
diklasifikasikan sebagai vektor masukan.
2.7.1.1 Arsitektur Jaringan
LVQ merupakan jaringan syaraf dengan tipe arsitektur jaringan lapis-
tunggal umpan-maju (Single Layer Feedforward) yang terdiri atas unit masukan.

Gambar 2.3 Jaringan Syaraf Learning Vector Quantization
Algoritma LVQ (Kusumadewi,2003) :
1. Tetapkan: Bobot (W), Maksimum Epoh (MaxEpoh), error minimum yang
diharapkan (Eps), learning rate ()
2. Masukkan :
a. Data input: x(m,n)
b. Target berupa kelas : T(1,n)
3. Tetapkan kondisi awal :
a. Epoh = 0;
b. Err = 1.
4. Kerjakan selama : (epoh < MaxEpoh) dan ( >Eps)
a. Epoh = epoh+1;
b. Kerjakan untuk i= 1 sampai n
i. Memilih (J) jarak sedemikian hingga || X Wj || minimum
(sebut sebagai Cj)
ii. Perbaiki Wj dengan ketentuan:
- Jika T = Cj maka :
- Wj(baru) = Wj (lama) + (X Wj(lama))
- Jika Cj T maka: Wj (baru) = Wj (lama) - (X Wj(lama))
c. Kurangi nilai Pengurangan .
2.8 Keaslian Dokumen Dan Keamanan Dokumen Dari Segi Prespektif
Islam Dan Integrasinya
.1 l ...> ..>, ..l. _ls l. _.> .- ,1l `..`, __
Artinya:Dan Sesungguhnya Kami telah mendatangkan sebuah kitab (Al Quran)
kepada mereka yang Kami telah menjelaskannya atas dasar
pengetahuan Kami[546]; menjadi petunjuk dan rahmat bagi orang-
orang yang beriman. (QS. Al Araaf/7:52)

Al Quran merupakan kitab suci agama islam yang diturunkan di dunia ini
sebagai petunjuk dan rahmat bagi yang beriman, atas dasar pengetahuan Kami
tentang apa yang menjadi kemashlahatan bagi hamba-hamba Kami di dunia dan
akhirat. Al Quran merupakan kitab yang benar-benar berasal dari Allah SWT
(Kalamullah) sesuai dengan firman Allah SWT surat Al Imran/3 ayat 7:
> _.] _. ,,ls ..>l .. .,, ..>>: _> ..>l `>
.,.:.`. !.! _.] _ `,l _, `-,., !. ,.:. .. ,!-., ..l
,!-., .,!. !. `l-, .`,! . | < `>.l _ l-l l1, !.., .,
_ _. ..s !., !. `., | l` .,l _

Artinya: Dia-lah yang menurunkan Al kitab (Al Quran) kepada kamu. di antara
(isi) nya ada ayat-ayat yang muhkamaat], Itulah pokok-pokok isi Al
qur'an dan yang lain (ayat-ayat) mutasyaabihaat. Adapun orang-orang
yang dalam hatinya condong kepada kesesatan, Maka mereka mengikuti
sebahagian ayat-ayat yang mutasyaabihaat daripadanya untuk
menimbulkan fitnah untuk mencari-cari ta'wilnya, Padahal tidak ada
yang mengetahui ta'wilnya melainkan Allah. dan orang-orang yang
mendalam ilmunya berkata: "Kami beriman kepada ayat-ayat yang
mutasyaabihaat, semuanya itu dari sisi Tuhan kami." dan tidak dapat
mengambil pelajaran (daripadanya) melainkan orang-orang yang
berakal. (QS. Ali Imran/3:7)

Oleh karena itu sebagai umat yang beriman dan berilmu tidaklah kita ragu-
ragu terhadap keaslian dan kebenaran Al Quran karena Al Quran dijaga
langsung keaslianya oleh Allah SWT melalui hamba-hambanya yang beriman dan
bertakwa.
Dari sinilah kita dapat mengambil pelajaran dari arti sebuah kebenaran,
yang dapat kita terapkan dalam kehidupan sehari-hari. Autentifikasi atau keaslian
dokumen merupakan salah satu hal yang harus dilindungi dari orang-orang yang
tidak bertanggung jawab. Salah satu solusi untuk menjaga keaslian sebuah
dokumen adalah dengan megamankan dokumen tersebut dari pihak-pihak yang
tidak berkepentingan. Sebagaimana firman Allah dalam surat Al Hasyr/59:23:
> < _.] .l| | > ,l.l '_.1l `.l.l _..l _., .l ',-l
'!,>l ..l _.>,. < !.s _: __

Artinya: Dialah Allah yang tiada Tuhan selain Dia, Raja, yang Maha Suci, yang
Maha Sejahtera, yang Mengaruniakan Keamanan, yang Maha
Memelihara, yang Maha perkasa, yang Maha Kuasa, yang memiliki
segala Keagungan, Maha suci Allah dari apa yang mereka
persekutukan. (QS. Al Hasyr/59:23)

Keamanan erat hubungannya dengan keimanan, dimana ketika keimanan
lemah niscaya keamanan akan tergoncang. Dua unsur inilah harus saling
mendukung, sesuai firman Allah dalam surat Al Anam/6:82:
_.] `. ., `l .,l, ...,| lL, ,.l` `l _. > ... __
Artinya: orang-orang yang beriman dan tidak mencampuradukkan iman mereka
dengan kezaliman (syirik), mereka Itulah yang mendapat keamanan dan mereka
itu adalah orang-orang yang mendapat petunjuk. (QS. Al Anam/6:82)

Seorang muslim akan dapat melaksanakan kewajibannya sebagai seorang
muslim jika dirinya merasa aman dari ketakutan-ketakutan. Begitu penting
sampai-sampai Nabi Ibrahim memohon kepada Allah curahan kezmanan sebelum
meminta kemudahan rizki, sebab orang yang di dera rasa takut tidak akan dapat
menikmati lezatnya makan dan minum. Didalam surat Al Baqorah ayat 126 Allah
menceritakan permohonan Nabi Ibrahim:
:| _! `.>,| , _-> ..> ., !.., _` .`> _. ,.:l _. _.,
.. <!, ,,l > _! _. .`-..! ,l . .:L. _|| ,.s !.l
_., ,..l __

Artinya: Dan (ingatlah), ketika Ibrahim berdoa: "Ya Tuhanku, Jadikanlah
negeri ini, negeri yang aman sentosa, dan berikanlah rezki dari buah-
buahan kepada penduduknya yang beriman diantara mereka kepada
Allah dan hari kemudian. Allah berfirman: "Dan kepada orang yang
kafirpun aku beri kesenangan sementara, kemudian aku paksa ia
menjalani siksa neraka dan Itulah seburuk-buruk tempat
kembali.(QS. Al Baqoroh/2:126)
Secara eksplisit beliau mendahulukan permohonan keamanan dari pada
permohonan rizki. Dari sini dapat kita ketahui bersama betapa pentingnya nilai
keamanan bagi setiap bangsa. Setiap negara pasti menginginkan negaranya aman
segala mekanisme ditempuh untuk menciptakan suasana aman. Namun ada negara
yang memiliki pemahaman keliru dalam mewujudkan rasa aman tersebut
pemukulan, penganiayaan dan memaksakan kehendak kepada rakyat demi
keamanan.
Tindakan inilah yang disebut diktatorisme, adapula dengan cara
membebaskan penjahat dengan istilah liberalisme. Adapaula negara yang
memanfaatkan perkembangan teknologi untuk menciptakan rasa aman di
negaranya baik secara individu maupun secara berbangsa dan bernegara.
Negara kita Republik Indonesia juga menginginkan rasa aman demi
terwujudnya kemerdekaan baik kemerdekaan dalam beragama maupun bersosial
dari tujuan itulah para pahlawan kita rela berjuang untuk merebut rasa aman dari
penjajah. Demikian pula di dalam dunia komputer tidak lepas pula dengan
keamanan salah satunya dengan enkripsi untuk menjaga keaslian sebuah dokumen
dari orang yang tidak berkepentingan.
BAB III
PERANCANGAN DAN DESAIN SISTEM

3.1 Materi Penelitian
Materi yang digunakan dalam penelitian ini diantaranya :
a. Rancangan Aplikasi Autentifikasi pengenalan pola tanda tangan manual
menggunakan jaringan saraf tiruan LVQ dan tanda tangan digital
menggunakan algoritma RSA.
b. Data yang digunakan untuk mendukung sistem yang terdiri dari :
1) Image preprocessing yaitu sistem ini dapat mengubah image berwarna
kedalam bentuk citra biner.
2) Melakukan pembelajaran terhadap pola tanda tangan yang terlebih dahulu
melalui tahap Image preprocessing.
3) Melakukan proses pengenalan terhadap pola tanda tangan dengan
menggunakan jaringan saraf tiruan LVQ.
4) Membuat kunci publik dan privat untuk proses enkripsi dan dekripsi pada
tanda tangan digital.
3.2 Alat Penelitian
3.2.1 Kebutuhan Hardware
Kebutuhan hardware dalam Aplikasi Autentifikasi pengenalan pola tanda
tangan manual menggunakan jaringan saraf tiruan LVQ dan tanda tangan digital
menggunakan algoritma RSA mulai tahap design, perancangan, dan
implementasinya mengunakan sebuah perangkat Komputer dengan spesifikasi
sebagai berikut :
Hardware yang digunakan:
a. Prosesor Intel Dual Core 2,66 GHz
b. RAM 256 MB
c. Hardisk dengan kapasitas 40 GB
d. Monitor 17
e. Keyboard
f. Mouse PS2
Hardware minimum untuk menjalankan program :
a. Processor Pentium III 450 MHz.
b. Hardisk 40 GB.
c. Memory 128 MB.
d. Mouse, Keyboard, dan Monitor.
3.2.2 Kebutuhan Software
Adapun untuk kebutuhan software dalam Aplikasi Autentifikasi
pengenalan pola tanda tangan manual menggunakan jaringan saraf tiruan LVQ
dan tanda tangan digital menggunakan algoritma RSA mulai tahap design,
perancangan, dan implementasinya mengunakan software sebagai berikut:
Software yang digunakan :
a. Sistem Operasi Windows XP Service Pack 2
b. Borland Delphi 6.0
c. Microsoft Office Access 2003
Software minimum untuk menjalankan progam :
a. Sistem Operasi Windows XP Service Pack 2
b. Borland Delphi 5
c. Microsoft Office Access xp

3.3 Analisis Sistem
Autentifikasi pengenalan pola tanda tangan manual menggunakan jaringan
saraf tiruan LVQ dan tanda tangan digital menggunakan algoritma RSA.
Merupakan pembuatan perangkat lunak yang mengimplementasikan kedua
metode tersebut yaitu Jaringan saraf tiruan LVQ (Learning Vektor quantization)
dan Algoritma RSA (Rivest-Shamir-Adleman).
Tujuan pembuatan system ini adalah mengenali pola tanda tangan yang
berupa citra, baik citra grayscale 8 bit atau citra warna 24 bit. Kemudian
dilakukan image preprocessing yaitu proses awal agar citra tersebut dapat
diproses selanjutnya. Jika semua operasi pada preprocessing telah dikerjakan,
maka sistem siap melakukan proses pengkodean dalam bentuk matrik. Matrik
atau vektor-vektor dari tanda tangan manual akan dirubah dalam bentuk hash
untuk keamanannya.
.



(a) (b)
Gambar 3.1 Representasi image LVQ (a) image karakter, (b) matrik image
Hasil pengenalan berupa nim, nama dan nilai hash dari tanda tangan
tersebut akan dienkripsi dengan algoritma RSA menggunakan kunci publik. Hasil
enkripsi akan disimpan dan akan didekripsikan menggunakan kunci privat. Hasil
yang diinginkan oleh sistem adalah dapat mengenali pola tanda tangan yang telah
di scan terlebih dahulu dengan menggunakan jaringan saraf tiruan LVQ, setelah
diketahui polanya tanda tangan akan dienkripsi dengan tanda tangan digital
menggunakan algoritma RSA.
Aplikasi ini dalam pengimplementasiannya menggunakan input berupa
data identitas user meliputi nama, nim, image tanda tangan bmp, nilai learning
rate, target error, max epoch ,dan bil prima p, q, e. Kemudian dilakukan proses
pembuatan template, proses pembentukan nilai hash, proses learning LVQ, Proses
Pengenalan Tanda Tangan Manual, Proses Pembangkitan kunci Tanda Tangan
RSA, Proses Enkripsi, lalu Proses verifikasi Tanda Tangan.
Output dari aplikasi ini berupa hasil pembelajaran, kunci privat dan kunci
publik, binerisasi image, plain teks, nama, nim, dan nilai hash user serta image
tanda tangan. Berikut diagram perancanga sistem untuk aplikasi Autentifikasi
pengenalan pola tanda tangan manual menggunakan jaringan saraf tiruan LVQ
dan tanda tangan digital menggunakan algoritma RSA:

Gambar 3.2 Diagram Perancangan Alur Sistem
3.3.1 Proses Pembuatan Template
Proses pembuatan template ini meliputi proses image prepocessing dan
pengkodean karakter. Proses ini harus dilalui terlebih dahulu agar inputan image
dapat disimpan dalam database yang nantinya akan digunakan dalam proses
learning LVQ dan juga proses RSA.
Dalam hal ini, akan dijelaskan bagaimana diagram alir proses pembuatan
template yang dapat dilihat pada flowchart di bawah ini:

Gambar 3.3 Flowchart Binerisasi Image
Berikut adalah penjelasan flowchart pembuatan template :
1. Image berwarna berupa tanda tangan dimasukkan ke perangkat lunak secara
manual bertipe bmp.
2. Image akan mengalami proses image preprocesing yaitu melalui tahap
grayscale, threshold, thining, crooping sehinga terbentuk citra biner.
3. Image akan disesuaikan dengan ukuran matrik 20 x 20 berdasarkan
pengamatan visual ukuran tersebut sesuai dengan standart image pada
aplikasi ini, penyesuaian tersebut melalui proses scalling.
4. Image akan dikodekan kedalam bentuk matrik apabila warna hitam kurang
dari threshold maka akan bernilai 1 dan 0 jika lebih.
5. Hasil matrik dimasukkan dalam database bersama id tanda tangan.

3.3.1.1 Image Preprocessing
Sebelum suatu citra mengalami pemrosesan lebih lanjut, perlu dilakukan
proses awal (preprocessing) terlebih dahulu, yaitu pengolahan citra (image)
dengan tujuan mendapatkan gambar dengan pola yang dapat dikodekan dengan
menggunakan metode template matching yang menghasilkan kode tertentu
menurut warna pikselnya. Sehingga dapat digunakan dalam program untuk
pengenalan tanda tangan. Tahapan-tahapan pada proses ini dapat dilihat pada
diagram di bawah ini:

Gambar 3.4 Diagram proses image preprocessing
Adapun uraian dari gambar diatas adalah sebagai berikut: data tanda
tangan yang akan diproses, dilakukan proses scanning terlebih dahulu dengan
menggunakan alat yang disebut scanner dan dengan format bitmap (*.bmp).
Setelah data tersebut diperoleh berupa data gambar dengan format bitmap,
langkah selanjutnya yaitu pemrosesan pada komputer. Berikut penjelasan diagram
alir image prepocessing :
1. GrayScale
Proses awal yang banyak dilakukan dalam image preprocessing adalah
mengubah citra warna menjadi citra grayscale untuk menyederhanakan model
citra. Citra berwarna terdiri atas 3 layer matriks, yaitu : R-layer, G-layer, B-layer.
Agar dapat mgubah citra berwarna menjadi citra keabuan kita daapat melakukan
konversi dengan mengambil rata-rata nilai r, g, dan b sehingga dapat dirumuskan
menjadi:
S = R+G+B
3
Berikut pseudocode untuk fungsi grayscale:





Gambar 3.5 Pseudocode fungsi grayscale
2. Thresholding
Thresholding berfungsi untuk mengatur derajat keabuan pada citra sesuai
keinginan. Untuk mengatur derajat keabuan kita dapat menggunakan rumus
sebagai berikut : X = b.int (w/b)
Keterangan : w adalah nilai derajat keabuan sebelum thresholding
x adalah nilai derajat keabuan setelah thresholding
Function ToGray
Var
R,G,B
Begin
R GerRValue(clr);
G GetGValue(clr);
B GetBValue(clr);
Result := Round(R*n + G*n +B*n);
End

Pemilihan nilai threshold yang digunakan berpengaruh terhadap ketajaman
suatu citra. Biasanya rentangan nilai graylevel yang sering digunakan adalah
antara 0-255. Pada skripsi ini, nilai treshold yang digunakan adalah 180.
Proses pengubahan ini, dilakukan dengan memeriksa piksel citra. Jika
piksel kurang dari 180 maka warna piksel berubah menjadi hitam, begitu juga
sebaliknya jika piksel lebih dari 180 maka warna piksel akan berubah menjadi
putih. Berikut diagram alir untuk proses binerisasi:

Gambar 3.6 Flowchart Binerisasi
3. Thining
Setelah melalui proses binerisasi, dalam hal ini membuat citra menjadi
berwarna hitam putih. Maka proses selanjutnya yaitu thinning atau penipisan
biasanya digunakan untuk skeletonizing yang sering digunakan dalam aplikasi
pattern recognition. Pada citra tersebut dilakukakn thinning untuk mendapatkan
gambar dengan ukuran 1 piksel.
Adapun manfaat setelah mendapatkan citra 1 piksel yaitu agar kode
tersebut mempunyai ukuran piksel yang sama meskipun tebal dan tipisnya
berbeda-beda.
4. Cropping
Crooping adalah memotong satu bagian dari citra sehingga diperoleh citra
yang berukuran lebih kecil. Operasi ini pada dasarnya adalah operasi translasi,
yaitu menggeser koordinat titik citra. Rumus yang digunakanuntuk operasi ini
adalah : x = x x
L
untuk x = x
L
sampai x
R

x = y y
T
untuk y = y
T
sampai y
B
(x
L,
y
T
) dan (x
R,
y
B
) masing-masing adalah koordinat titik pojok kiri atas
dan pojok kanan bawah bagian citri yang akan di-crop. Berikut diagram alir untuk
proses croping. Berikut adalah flowchart untuk proses cropping:

Gambar 3.7 Flowchart proses cropping
5. Scaling
Proses scalling bertujuan untuk memperbesar atau memperkecil image
agar kode yang akan dihasilkan memiliki lebar dan tinggi yang sama.
3.3.1.2 Pengkodean Karakter (Feature extraction)
Feature extraction merupakan salah satu cara untuk mengenali
karakter dengan melihat ciri-ciri khusus yang dimiliki oleh karakter tersebut. Oleh
karena itu, setelah melakukan proses scalling proses selanjutnya adalah feature
ekstraction. Pada proses ini, citra masukan dibagi menjadi 20 bagian yang sama
tinggi dan lebarnya. Setelah itu dikodekan menurut pikselnya, jika berwarna hitam
atau kurang dari nilai treshold maka citra tersebut dikodekan 1 sebaliknya jika
berwarna putih dan lebih dari nilai threshold maka dikodekan 0.
Tujuan dari proses ini yaitu untuk memberi kode yang berbeda pada setiap
karakter sehingga karakter yang satu dengan karakter yang lain dapat dipisahkan
berdasarkan kode yang dimilikinya. Disamping itu, proses pengkodean karakter
ini dimaksudkan untuk mengambil ciri (feature) dari sebuah huruf.
Pengambilan ciri dalam penelitian ini, menggunakan teknik integral
proyeksi yaitu sebuah teknik yang menjumlahkan nilai setiap kolom atau setiap
baris. Integral proyeksi tersebut dapat didefinisikan dengan rumus:

nkolom
j
j i x i h
1
) , ( ) (

nbaris
i
j i x j h
1
) , ( ) (

3.3.2 Pembelajaran Tanda Tangan Manual Dengan LVQ
Dalam proses pembelajaran kumpulan data dalam template dicari beban
akhir dalam proses pembelajaran, beban akhir dari pembelajaran digunakan dalam
proses pengenalan tanda tangan manual. Berikut flowchart proses pembelajaan
tanda tangan manual dengan LVQ tampak pada gambar 3.8.
3.3.3 Pengenalan Tanda Tangan Manual
Dalam proses pengenalan, beban akhir dari proses pembelajaran
digunakan sebagai penentu hasil karena dalam algoritma LVQ, jarak terdekat dari
input data dengan beban akhir adalah hasil dari pengenalan. Berikut flowchart
pengenalan tanda tangan manual pada gambar 3.9.

Gambar 3.8 Flowchart proses pembelajaran LVQ

Gambar 3.9 Flowchart proses pengenalan tanda tangan manual
3.3.4 Pembangkitan Kunci Tanda Tangan Digital RSA
Dalam pemrosesan tanda tangan digital, kunci adalah parameter yang
sangat penting. Parameter yang utama dalam pembangkitan kunci algoritma RSA
adalah bilangan prima p dan q, untuk menghasilkan n. Semakin besar nilai prima
p dan q semakin besar pula tingkat kesulitan untuk memfaktorkan bilangan
menjadi faktor primanya. Menurut Munir (2005) nilai p dan q disarankan lebih
dari 100 digit agar pemfaktoran menjadi sangat sukar dan hampir tidak mungkin
dilakukan. Flowchart Proses pembangkitan kunci publik dan kunci privat dalam
algoritma RSA sebagai berikut :

Gambar 3.10 Flowchart pembangkitan kunci RSA
Agar algoritma RSA dapat dimplementasikan dalam algoritma
pemrograman nilai dari p dan q diasumsikan diatas 2 sampai 5 digit bilangan
positif. Algoritma RSA dalam proses enkripsi dilakukan dengan kunci publik (e)
dan proses dekripsi dengan kunci privat (d), sedangkan dalam tanda tangan digital
kebalikan dari kriptografi kunci publik yaitu proses enkripsi (signing) dilakukan
dengan kunci privat dan dekripsi (Verifying) dilakukan dengan kunci publik.
3.3.5 Proses Enkripsi (Signing) Tanda Tangan Digital
Proses enkripsi dengan algoritma RSA menggunakan kunci publik (e, n).
Flowchart proses signing tanda tangan digital dapat dilihat pada Gambar berikut:

Gambar 3.11 Flowchart Proses Signing algoritma RSA
3.3.6 Proses Verifikasi Tanda Tangan Digital
Dalam proses pemverifikasian sebuah dokumen yang dikirim proses
pertama yaitu pengenalan dari user dalam perangkat lunak menggunakan tanda
tangan manual. Kemudian proses pemverifikasian dilakukan dengan kunci privat
(d,n) dari user yang mengirim pesan. Flowchart proses verifying tanda tangan
digital dapat dilihat pada gambar 3.12.

Gambar 3.12 Flowchart Proses verifiying algoritma RSA
3.3.7 Contoh Perhitungan Dengan LVQ
Pada subbab ini tidak menggunakan perhitungan dengan data yang
sebenarnya, namun memakai nilai yang sederhana sehingga muda untuk dipahami
maksud dari sistem kerja perangkat lunak ini. Misalkan diketahui 10 input vector
dalam 2 kelas sebagai berikut :
Tabel 3.1 Data Matrik input gambar
No Matrik Input (X) Kelas
1 1, 0, 0, 0, 1, 0 1
2 0, 0, 1, 0, 0, 1 1
3 0, 0, 1, 0, 1, 0 1
4 0, 1, 0, 0, 0, 1 1
5 1, 0, 1, 0, 1, 1 1
6 0, 1, 1, 1, 1, 0 2
7 0, 0, 1, 1, 0, 0 2
8 0, 1, 0, 1, 0, 0 2
9 1, 0, 0, 1, 0, 1 2
10 0, 1, 1, 1, 1, 1 2

Dua inputan yang pertama akan diinisialisasi sebagia bobot :
Tabel 3.2 Data Bobot
No Matrik Bobot Target
1 1, 0, 0, 0, 1, 0 1
2 0, 1, 1, 1, 1, 0 2
Sedangkan 8 inputan sisanya akan digunakan sebagai data yang akan dilatih :
Tabel 3.3 Data Latih
No Matrik Latih Target
1 0, 0, 1, 0, 0, 1 1
2 0, 0, 1, 0, 1, 0 1
3 0, 1, 0, 0, 0, 1 1
4 1, 0, 1, 0, 1, 1 1
5 0, 0, 1, 1, 0, 0 2
6 0, 1, 0, 1, 0, 0 2
7 1, 0, 0, 1, 0, 1 2
8 0, 1, 1, 1, 1, 1 2

Sebagai Nilai awal dipilih Learning Rate ( ) = 0.05, dengan pengurangan
sebesar 0.1* , dan maksimum epoch (MaxEpoch) = 100
Epoch ke-1 :
Data Ke-1 : (0, 0, 1, 0, 0, 1)
Jarak pada bobot ke 1
= ( 0 - 1 )
2
+ ( 0 0 )
2
+ ( 1 0 )
2
+ ( 0 0 )
2
+ ( 0 1 )
2
+ ( 1 0 )
2

= 2
Jarak Pada bobot ke 2
= ( 0 - 0 )
2
+ ( 0 1 )
2
+ ( 1 1 )
2
+ ( 0 1 )
2
+ ( 0 1 )
2
+ ( 1 0 )
2

= 2
Jarak Terkecil adalah pada w ke-1
Target data ke-1 adalah 1
Karena target data ke-1 = w ke-1, maka w ke-1 baru adalah :
W
j(baru)
= W
j(lama)
+ ( X
i
- W
j(lama)
)
= 1 + 0.05*(0-1) = 0.95
= 0 + 0.05*(0-0) = 0
= 0 + 0.05*(1-0) = 0.05
= 0 + 0.05*(0-0) = 0
= 1 + 0.05*(0-1) = 0.95
= 0 + 0.05*(1-0) = 0.05
W
1(baru)
= (0.95, 0, 0.05, 0, 0.95, 0.05)
Data Ke-2 : (0, 0, 1, 0, 1, 0)
Jarak pada bobot ke 1
= (0 0.95)
2
+ (0 0)
2
+ (1 0.05)
2
+ (0 0)
2
+ (1 0.95)
2
+ (1 0.05)
2

= 1.345
Jarak Pada bobot ke 2
= ( 0 - 0 )
2
+ ( 0 1 )
2
+ ( 1 1 )
2
+ ( 0 1 )
2
+ ( 1 1 )
2
+ ( 0 0 )
2

= 1.414
Jarak Terkecil adalah pada w ke-1
Target data ke-2 adalah 1
Karena target data ke-2 = w ke-1, maka w ke-1 baru adalah :
W
j(baru)
= W
j(lama)
+ ( X
i
- W
j(lama)
)
= 0.95 + 0.05*(0-0.95) = 0.9025
= 0.00 + 0.05*(0-0.00) = 0
= 0.05 + 0.05*(1-0.05) = 0.0975
= 0.00 + 0.05*(0-0.00) = 0
= 0.95 + 0.05*(1-0.95) = 0.9525
= 0.05 + 0.05*(0-0.05) = 0.0475
W
1(baru)
= (0.9025, 0, 0.0975, 0, 0.9525, 0.0475)
Data Ke-3 : (0, 1, 0, 0, 0, 1)
Jarak pada bobot ke 1
= (0 0.9025)
2
+ (1 0)
2
+ (0 0.0975)
2
+ (0 0)
2
+ (0 0.9525)
2
+ (1
0.0475)
2

= 1.907
Jarak Pada bobot ke 2
= ( 0 - 0 )
2
+ ( 1 1 )
2
+ ( 0 1 )
2
+ ( 0 1 )
2
+ ( 0 1 )
2
+ ( 1 0 )
2

= 2
Jarak Terkecil adalah pada w ke-1
Target data ke-3 adalah 1
Karena target data ke-3 = w ke-1, maka w ke-1 baru adalah :
W
j(baru)
= W
j(lama)
+ ( X
i
- W
j(lama)
)
= 0.9025 + 0.05*(0-0.9025) = 0.8574
= 0.0000 + 0.05*(0-0.0000) = 0.0500
= 0.0975 + 0.05*(1-0.0975) = 0.0926
= 0.0000 + 0.05*(0-0.0000) = 0.0000
= 0.9525 + 0.05*(1-0.9525) = 0.9049
= 0.0475 + 0.05*(0-0.0475) = 0.0951
W
1(baru)
= (0.8574, 0.0500, 0.0926, 0.0000, 0.9049, 0.0951)
Data Ke-4 : (1, 0, 1, 0, 1, 1)
Jarak pada bobot ke 1
=(10.8574)
2
+(00.0500)
2
+(10.0926)
2
+(00.0000)
2
+(10.9049)
2
+(1
0.0951)
2

= 1.293
Jarak Pada bobot ke 2
= ( 1- 0 )
2
+ ( 0 1 )
2
+ ( 1 1 )
2
+ ( 0 1 )
2
+ ( 1 1 )
2
+ ( 1 0 )
2

= 2
Jarak Terkecil adalah pada w ke-1
Target data ke-4 adalah 1
Karena target data ke-4 = w ke-1, maka w ke-1 baru adalah :
W
j(baru)
= W
j(lama)
+ ( X
i
- W
j(lama)
)
= 0.8574+ 0.05*(0-0.8574) = 0.8645
= 0.0500+ 0.05*(0-0.0500) = 0.0475
= 0.0926 + 0.05*(1-0.0975) = 0.1380
= 0.0000+ 0.05*(0-0.0000) = 0.0000
= 0.9049 + 0.05*(1-0.9049) = 0.9096
= 0.0951 + 0.05*(0-0.0951) = 0.1404
W
1(baru)
= (0.8645, 0.0475, 0.1380, 0.0000, 0.9096, 0.1404)
Data Ke-5 : (0, 0, 1, 1, 0, 0)
Jarak pada bobot ke 1
=(10.8645)
2
+(00.0475)
2
+(10.1380)
2
+(00.0000)
2
+(10.9096)
2
+(1
0.1404)
2

= 1.827
Jarak Pada bobot ke 2
= ( 0 - 0 )
2
+ ( 0 1 )
2
+ ( 1 1 )
2
+ ( 1 1 )
2
+ ( 0 1 )
2
+ ( 0 0 )
2

= 1.414
Jarak Terkecil adalah pada w ke-2
Target data ke-5 adalah 2
Karena target data ke-5 = w ke-2, maka w ke-2 baru adalah :
W
j(baru)
= W
j(lama)
+ ( X
i
- W
j(lama)
)
= 0 + 0.05*(1-0) = 0.0000
= 1 + 0.05*(0-1) = 0.9500
= 1 + 0.05*(1-1) = 1.0000
= 1 + 0.05*(0-1) = 1.0000
= 1 + 0.05*(1-1) = 0.9500
= 0 + 0.05*(1-0) = 0.0000
W
2(baru)
= (0.0000, 0.9500, 1.0000, 1.0000, 0.9500, 0.0000)
Data Ke-6 : (0, 1, 0, 1, 0, 0)
Jarak pada bobot ke 1
=(10.8645)
2
+(00.0475)
2
+(10.1380)
2
+(00.0000)
2
+(10.9096)
2
+(1
0.1404)
2

= 1.876
Jarak Pada bobot ke 2
= ( 0 - 0 )
2
+ ( 1 0.95 )
2
+ ( 0 1 )
2
+ ( 1 1 )
2
+ ( 0 0.95 )
2
+ ( 0 0 )
2

= 1.380
Jarak Terkecil adalah pada w ke-2
Target data ke-6 adalah 2
Karena target data ke-6 = w ke-2, maka w ke-2 baru adalah :
W
j(baru)
= W
j(lama)
+ ( X
i
- W
j(lama)
)
= 0.0000 + 0.05*(0-0.0000) = 0.0000
= 0.9500 + 0.05*(1-0.9500) = 0.9525
= 1.0000 + 0.05*(0-1.0000) = 0.9500
= 1.0000 + 0.05*(1-1.0000) = 1.0000
= 0.9500 + 0.05*(0-0.9500) = 0.9025
= 0.0000 + 0.05*(0-0.0000) = 0.0000
W
2(baru)
= (0.0000, 0.9525, 0.9500, 1.0000, 0.9025, 0.0000)
Data Ke-7 : (1, 0, 0, 1, 0, 1)
Jarak pada bobot ke 1
=(10.8645)
2
+(00.0475)
2
+(10.1380)
2
+(00.0000)
2
+(10.9096)
2
+(1
0.1404)
2

= 1.614
Jarak Pada bobot ke 2
= ( 1 - 0 )
2
+ ( 0 0.9525 )
2
+ ( 0 0.95 )
2
+ ( 1 1 )
2
+ ( 0 0.9025 )
2
+ ( 0
1 )
2

= 2.150
Jarak Terkecil adalah pada w ke-2
Target data ke-7 adalah 2
Karena target data ke-7 w ke-1, maka w ke-1 baru adalah :
W
j(baru)
= W
j(lama)
+ ( X
i
- W
j(lama)
)
= 0.8645+ 0.05*(0-0.8645) = 0.8577
= 0.0475 + 0.05*(1-0.0475) = 0.0499
= 0.1380 + 0.05*(0-0.1380) = 0.1449
= 0.0000 + 0.05*(1-0.0000) = -0.050
= 0.9096 + 0.05*(0-0.9096) = 0.9551
= 0.1404 + 0.05*(0-0.1404) = 0.0974
W
1(baru)
= (0.8577, 0.0499, 0.1449, -0.050, 0.9551, 0.0974)
Data Ke-8 : (0, 1, 1, 1, 1, 1)
Jarak pada bobot ke 1
=(10.8577)
2
+(00.0499)
2
+(10.1449)
2
+(0+0.050)
2
+(10.9551)
2
+(1
0.0974)
2

= 2.071
Jarak Pada bobot ke 2
= ( 0 - 0 )
2
+ ( 1 0.9525 )
2
+ ( 1 0.95 )
2
+ ( 1 1 )
2
+ ( 1 0.9025 )
2
+ ( 1
0 )
2

= 1.002
Jarak Terkecil adalah pada w ke-2
Target data ke-8 adalah 2
Karena target data ke-8 w ke-2, maka w ke-2 baru adalah :
W
j(baru)
= W
j(lama)
+ ( X
i
- W
j(lama)
)
= 0.0000 + 0.05*(0-0.0000) = 0.0000
= 0.9525 + 0.05*(1-0.9525) = 0.9549
= 0.9500 + 0.05*(0-0.9500) = 0.9525
= 1.0000 + 0.05*(1-1.0000) = 1.0000
= 0.9025 + 0.05*(0-0.9025) = 0.9074
= 0.0000 + 0.05*(0-0.0000) = 0.0500
W
2(baru)
= (0.0000, 0.9549, 0.9525, 1.0000, 0.9074, 0.0500)
= 0.1 * = 0.05 0.1 * 0.05 = 0.045
Proses ini diteruskan untuk epoch ke-2 sampai dengan epoch ke 100.
setelah mencapai epoch yang ke-100 diperoleh bobot akhir :
W
1
= (0.3727 0.2161 0.6347 0.2164 0.7901 0.4254)
W
1
= (0.0000 0.7969 0.7900 1.0000 0.5869 0.2171)
Maka jika kita mau menstimulasikan inpit (1, 0, 0, 0, 0, 1) maka kita cari
terlebih dahulu jarak input tersebut terhadap kedua bobot. Nomor dari bobot
dengan jarak terpendek akan menjadi kelasnya.
Jarak pada bobot ke 1
= (10.3727)
2
+(00.2161)
2
+(10.6347)
2
+(0-0.2164)
2
+(00.7901)
2
+(1
0.4254)
2

=1.3581
Jarak Pada bobot ke 2
= (1- 0.0000)
2
+(0 0.7969)
2
+(1 0.7900)
2
+(0 1.0000)
2
+(0 0.5869)
2
+(1
0.2171)
2

= 2.0534
Jarak Terkecil pada bobot ke-1, Sehingga input tersebut termasuk pada kelas-1
3.4 Perancangan Sistem
3.4.1 Use Case
Use case dibuat untuk menggambarkan aktivitas-aktivitas yang dilakukan
dalam sistem. Model analisa use case diwakili dengan diagram use case. Diagram
use case menggambarkan fungsionalitas sistem sebagai prosedur/aturan yang
disepakati sistem berjalan sesuai dengan yang diinginkan.
User
Proses image preprocessing
Proses pembentukan hash
Proses pembelajaran LVQ
Form konfigurasi
Proses Pembentukan kunci RSA
Proses pengenalan tanda tangan Form Signing
Proses enkripsi
Form Verifyng Proses dekripsi

Gambar 3.13 Use case Sistem pengenalan pola tanda tangan
3.4.2 Sequence Diagram
Diagram ini menjelaskan interaksi objek yang disusun dalam suatu urutan
waktu dan memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk
menghasilkan sesuatu didalam use case.
3.4.2.1 Sequence Diagram Proses Pengolahan Image Preprocessing
Proses ini proses untuk mengubah bentuk citra menjadi citra biner
kemudian peringkasan citra biner menggunkan fungsi hash satu arah.
: User
Image
preprocessing
Grayscale
citra keabuan
Threshold Thining Crooping Scalling Chain code Hash
: TGambar Get Image
Pengolahan image
Set image
setting derajat keabuan
Penipisan image
set image
set image menjadi 20x20
pengubahan bentuk matrix
peringakasan matrix
Simpan hasil hash

Gambar 3.14 Sequnce diagram proses image preprocessing
3.4.2.2 Sequence Diagram Proses Signing
Proses ini melalui tahap pembelajaran terlebih dahulu kemudian
pengenalan tanda tangan, hasil dari pengenalan berupa nim, nama dan nilai hash
dari peringkasan citra biner. menggunkan kunci publik e dan n dari hasil
pembentukan kunci.
: User
Training LVQ
: TGambar
Pengenalan
tanda tangan
enkripsi
Set Learning Rate
Set Max Epoch
Set target error
Get training data
Get data bobot
Hitung jarak terdekat
set nim, nama, nilai hash
set kunci publik (e,n)

Gambar 3.15 Sequence diagram proses signing
3.4.2.3 Sequence Diagram Proses Verifikasi
Proses verifikasi yaitu mendekripsikan file dari hasil enkripsi di dalam
proses signing. Proses dekripsi menggunkan kunci privat d dan n setelah
pendekripsian data tersebut akan dicek apakah terdaftar atau belum terdaftar
: User
Data Enkripsi Kunci privat
: TGambar
Verifikasi
Get file
Set kunci d
Set junci n
Pengecekan data
Hasil dekripsi
Terdaftar

Gambar 3.16 Sequence diagram proses verifikasi
3.4.3 Activity Diagram
Diagram aktivitas memodelkan alur kerja (work flow) sebuah proses atau
use case dan urutan aktivitas dalam suatu proses. Berikut proses aktivitas
keseluruhan dari proses pengenalan pola tanda tangan manual dan tanda tangan
digital.
Mengambil image
berwarna 24 bit *.bmp
proses image
preprocessing
mendapatkan
hasil citra biner
melalukan funsi hash
untuk peringkasan biner
simpan data
hash
melakukan proses pembelajaran
tanda tangan manual
pembentukan kunci
tanda tangan digital
Pengenalan
tanda tangan
proses
enkripsi
simpan file
hasil enkripsi
memasukkan kunci
publik e dan n
ambil file hasil
enkripsi
memasukkan kunci
privat d dan n
proses
dekripsi
proses
pengecekan data
Form verifyng Form Signing Form Konfigurasi User

Gambar 3.17 Activity diagram
3.5 Struktur Basis Data
Basis data adalah suatu pengorganisasian sekumpulan data yang saling
terkait sehigga memudahkan aktivitas untuk memperoleh informasi. (Kadir, 2003:
254). Berikut adalah tabel yang digunakan dalam proses jalanya aplikasi.
1. Nama Tabel : TGambar
Kunci utama (*) : Id_gambar
Fungsi : Tabel ini berisi pengguna yang mempunyai tanda
tangan manual dan tanda tangan digital.

Tabel 3.4 Basis Data pengguna (User)
Field Type Allow Null
Id_gambar AutoNumber (LongInt) No
Id_user Number (LongInt) No
Nim Number (LongInt) No
Nama_user Text (50) No
Nama_file Text (50) No
publik_e Text (50) No
Publik_n Text (50) No
Hash Text (100) No

2. Nama Tabel : Tbtm
Kunci utama (*) : Id_user
Fungsi : Tabel ini digunakan pengguna yang menyimpan
vektor dari tanda tangan manual.
Tabel 3.5 Basis Data Tanda tangan manual
Field Type Allow Null
Id_user AutoNumber (LongInt) No
Nama_user Text (50) No
Vektor Memo No
Threshold Number No

3. Nama Tabel : Tbobot
Kunci utama (*) : Id
Fungsi : Tabel ini digunakan pengguna yang menyimpan
vektor dari tanda tangan manual.
Tabel 3.6 Basis Data beban akhir
Field Type Allow Null
Id_user Text (50) No
Id_bobot AutoNumber (LongInt) No
Input_ke Number No
Nilai Number No

3.6 Perancangan Uji Coba
Tujuan dari subbab ini adalah untuk mencari arsitektur jaringan saraf
tiruan yang optimal dalam proses pelatihan dan pengenalan. Arsitektur jaringan
saraf tiruan yang dimaksudkan adalah nilai learning rate dan target error.
3.6.1 Skenario Uji Coba
Pengujian dilakukan dalam 2 bagian yaitu pengujian tanda tangan manual
dan pengujian tanda tangan digital. Data tanda tangan berjumlah 13 orang dengan
masing-masing orang memberikan 3 contoh tanda tangan sebagai data latih jadi
data keseluruhan sebanyak 39 tanda tangan.
3.6.1.1 Pengujian Tanda Tangan Manual LVQ
Pengujian ini dilakukan dengan cara mecoba jumlah unit pada learning
rate antara 0,01 sampai 0,09. nilai max epoch adalah 100 dan 1000 untuk
mendapatkan hasil yang maksimal maka epoch dapat diperbesar hingga 10.000
epoch Hasil dari uji coba disajikan pada tabel 3.7.
Tabel 3.7 Rancangan tabel Tanda tangan manual LVQ
Learning
Rate
Max
Epoch
Target
Error
Waktu
Training
(milidetik)
Hasil
Training
Konvergen Hasil





3.6.1.2 Pengujian Tanda Tangan Digital RSA
Pengujian dilakukan dengan mencatat waktu yang dibutuhkan terhadap
file plaintext, dekripsi terhadap file hasil enkripsi. Penyajian pengujian tanda
tangan digital RSA dapat dilihat pada tabel dibawah ini:
Tabel 3.8 Rancangan Tabel Tanda Tangan digital RSA
Uji Ke
Ukuran
File kb
Nilai
n
Kunci
e
Kunci
d
Waktu
signing
Waktu
Verfiyng



BAB IV
IMPLEMENTASI DAN HASIL

4.1 Implementasi Program
4.1.1 Implementasi Antarmuka
Di dalam penjelasan program ini dijelaskan tentang alur pembuatan dan
kegunaan program yang dibuat beserta tampilan desain. Berikut ini struktur
program yang menggambarkan tampilan-tampilan halaman yang ada dalam
program.


Gambar 4.1 Struktur Menu program
4.1.1.1 Halaman Menu Utama
Halaman menu utama ini merupakan tampilan awal saat program
dijalankan, dimana dalam menu utama ini terdapat pilihan untuk memasuki form
yang lain yaitu terdapat form konfigurasi, form make key, form signing dan form
verifiying. Masing-masing form memiliki fungsi yang berbeda-beda dalam
aplikasi ini. Berikut penjelasan dari setiap form dalam halaman menu utama dan
juga gambarnya:
1. Konfigurasi : untuk melakukan proses image preprocessing dan
pembelajaran tanda tangan
2. Make Key : untuk setting tanda tangan manual dan tanda tangan
digital
3. Signing : untuk proses signing
4. Verifikasi : untuk verifikasi tanda tangan
5. Close : untuk keluar dari program

Gambar 4.2 Halaman Menu Utama
4.1.1.2 Form Konfigurasi
Pada halaman form konfigurasi terdapat proses untuk melakukan
konfigurasi perangkat lunak terdiri dari pengenalan pola tanda tangan manual
berupa inputan image *.bmp yang diproses dengan image preprocessing dan
Proses pembelajaran LVQ.
1. Form Image Preprocesing
Form Image Preprocesing digunakan untuk mengenali pola tanda tangan
berupa image .bmp. Proses yang dilalui dalam tahap image preprocessing yaitu
grayscale, thining, crooping, scalling.

Gambar 4.3 Form Image Preprocesing
Halaman ini berfungsi untuk mengkonfigurasi antara tanda tangan
manual dengan tanda tangan digital, gambar hasil scan di ambil dari filelist box
yang disesuaikan dengan alamat drive dan foldernya, selanjutnya gambar diproses
dengan image preprocesing yang terdapat pada menu image preprocesing. Menu-
menu yang ada adalah :
1. Button Image Preprocessing terdapat Grayscale, Threshold, Thining,
Crooping, Scalling.
2. Page control terdapat 2 page yaitu halaman untuk hasil proses image
preprocessing dan halaman ke 2 untuk hasil kode binerisasi.
3. Button simpan untuk menyimpan data hasil Image Preprocessing dan
identitas pemilik tanda tangan.
2. Form Learning LVQ
Form Learning LVQ digunakan untuk proses pembelajaran pada jaringan
saraf tiruan dengan 3 inputan yaitu Max epoch, Learning Rate, Target error.

Gambar 4.4 Form Learning LVQ
1. Button Pembelajaran, tentang proses pembelajaran LVQ setelah
memberikan inputan max epoch, learnrate, error rate.
2. Memo1 untuk proses thread dan pembelajaran sedangkan memo 2 untuk
hasil lama waktu training dan load data.
3. Button simpan file untuk menyimpan data.
4.1.1.3 Form Pembentukan Kunci RSA
Form Pembentukan Kunci RSA digunakan untuk pembuatan kunci tanda
tangan digital dengan inputan bilangan prima p dan bilangan prima q.

Gambar 4.5 Form Pembentukan Kunci RSA
Pada pembuatan kunci tanda tangan digital lebih ke segi matematikanya
keterangan gambar tersebut adalah :
1. Button hitung n berfungsi untuk mencari nilai n dari dua bilangan prima p
dan q.
2. Kemudian untuk button hitung kunci untuk menghitung kunci privat d
yang dihasilkan dari bilangan prima.
3. Button random untuk mengacak bilangan prima.
4.1.1.4 Form Signing
Form signing digunakan untuk mengenali tanda tangan dengan jaringan
saraf tiruan LVQ (Learning Vector Quantization) dan melakukan proses enkripsi
dengan algoritma RSA (Rivest Shamir Adleman).

Gambar 4.6 Implementasi Form Signing
Form ini berfungsi untuk melakukan proses signing dengan mengambil
image yang telah disimpan terlebih dahulu. Proses signing merupakan proses
pengengkripsian tanda tangan dari kunci d, dan n.
Menu-Menu yang terdapat pada halaman ini antara lain :
2. Button Load Image, digunakan untuk mengambil gambar yang ada
didalam file berupa *.bmp.
3. Button Pengenalan yaitu untuk mengenali tanda tangan manual dari LVQ.
4. Button signing untuk menandatangani dengan kunci e dan n yang akan di
tanda tangani digital.
5. Hasil pengenalan berupa image, nim, nama dan Hash tanda tangan.
6. Button save untuk menyimpan hasil dari enkripsi data.
7. Ltime unuk hasil waktu signing.
4.1.1.5 Form Verifying
Form verifying digunakan untuk dekripsi file menggunakan kunci privat d
dan kunci privat publik n untuk mengetahui bahwa data tersebut telah terdaftar.

Gambar 4.7 Implementasi Form verifying
Halaman ini berfungsi untuk mengecak keaslian dari tanda tangan yaitu
tanda tangan manual menggunakan metode LVQ dan tanda tangan digital dengan
metode RSA. Menu-menu yang ada pada halaman ini adalah :
1. Button Load File digunakan untuk memangil file hasil enkripsi.
2. Button verifikasi digunakan untuk mengecek tanda tangan digital untuk
mengetahui data tersebut terdaftar.
4.1.2 Implementasi Pemrosesan Citra (Image Preprocessing)
Implementsai pemrosesan citra terdiri dari beberapa subproses seperti
yang dijelaskan sebagai berikut :
a. Grayscale
Metode pengubahan warna dari RGB ke Grayscale menggunakan fungsi
pengubah. Untuk melakukan perhitungan tersebut perlu diambil intensitas tiap
warna pada tiap blok pixel.







Gambar 4.8 Source code fungsi RGBToGray
b. Thresholding
Proses Thresholding (nilai ambang) dilakukan dengan membandingkan nilai
grayscale dari tiap Pixel dengan nilai yang digunakan untuk thresholding.








Gambar 4.9 Source code Fungsi Threshold
var
x,y,r,g,b:integer;
Clr:TColor;
begin
for y := 0 to image1.Height-1 do
begin
for x := 0 to image1.width-1 do
begin
Clr := image1.canvas.Pixels[x,y];
r := GetRValue(clr);
g := GetGValue(clr);
b := GetBValue(Clr);
clr := Round((r+g+b)/3);// Mengubah RGB ke graysacale
image1.canvas.Pixels[x,y] := RGB(clr,clr,clr);
end; end; end;

FunctionTForm1.Thres(ABitmap:TBitmap;AThreshold:byte;Intensi
ty,Saturation : boolean):TBitmap;
Var
LRowIn, LRowOut : PRGBTripleArray;
Ly, Lx : integer;
LBlack, LWhite : TRGBTriple;
if Intensity then begin
then LRowOut[Lx] := LWhite
else LRowOut[Lx] := LBlack;
end else if Saturation then begin
LR1 := trunc( (-0.105465 * LR)+(-0.207424 *
LG)+(0.312889 * LB) ); //perhitungan nilai ambang
if (0.3 * LR) + (0.59 * LG) + (0.11 * LB) >= AThreshold
LR2 := trunc( (0.445942 * LR) + (-0.445942 * LG) );
if Sqrt( Sqr(LR1) + Sqr(LR2) ) >= AThreshold then
LRowOut[Lx] := LWhite
else LRowOut[Lx] := LBlack;
end; end; end;end;

c. Cropping
Cropping dilakukan dengan mengambil perpotongan x dan y. berikut
implementasi untuk cropping.











Gambar 4.10 Source code Fungsi Cropping
d. Scalling
Pada tahap ini ukuran citra diperbesar dan diperkecil sesuai dengan yang
ditetapkan pada implementasi skripsi ini yaitu diperkecil menjadi ukuran 20 x 20.





var
TmpBmp : TBitmap;
warna,titik,x,y : integer;
begin
Image1.Canvas.DrawFocusRect(Rect(PDown.x, PDown.y,
PActually.x, PActually.y));
TmpBmp := TBitmap.Create;
with TmpBmp do
try
Width := Round(abs(PActually.x - PDown.x));
Height := Round(abs(PActually.y - PDown.y));
BitBlt(Canvas.Handle, 0, 0, Width, Height,
//untuk drag obyek yang dipotong
Image1.Canvas.Handle, PDown.x,PDown.y, SRCCOPY);
for x:=1 to 20 do
for y:=1 to 20 do
begin
titik:=0;
warna:=getRValue(TmpBmp.Canvas.Pixels[x,y]);
if warna<255 then
begin
warna:=clBlack;
titik:=1;

var
a,b:real;
i,j,warna,titik:integer;
begin
image1.Picture.Bitmap.PixelFormat:=pf8bit;
image3.Picture:=image1.Picture;
lebar:=20;









Gambar 4.11 Source code Fungsi Scalling
e. Pengkodean Karakter
Setelah proses awal selesai dilakukan maka proses selanjutnya yaitu
pengkodean. Gambar dikodekan menjadi biner dan ditampilkan pada stringgrid.
Gambar discalling menjadi 20 x 20 piksel selanjutnya dikodekan jika berwarna
hitam maka dikodekan satu dan juga sebaliknya jika berwarna putih maka
dikodekan 0. Listing programnya sebagai berikut :




Gambar 4.12 Source code Pengkodean karakter
4.1.3 Implementasi Jaringan Saraf Tiruan LVQ (Learning Vector
Quantization)
Pada awal tahap pengenalan tanda tangan harus melalui proses
pembelajaran terlebih dahulu keseluruhan data image menggunakan Jaringan saraf
Tiruan LVQ.

tinggi:=20;// untuk menyamakan ukuran 20x20
a:=image1.Width/lebar;
b:=image1.Height/tinggi;
scalling(1/a,1/b);
image3.Picture.Bitmap.Width:=lebar;
image3.Picture.Bitmap.Height:=tinggi;
for i:=0 to lebar-1 do
for j:=0 to tinggi-1 do
begin
titik:=0;
warna:=getRValue(image3.Canvas.Pixels[i,j]);
if warna<255 then
begin
warna:=clBlack;
titik:=1; end;

Begin for x:=1 to 20 do
for y:=1 to 20 do
begin
stringGrid1.Cells[x,y]:=intToStr(tempData[x,y]);
StringGrid1.Cells[x,y+1]:=IntToStr(tempData[x,1]+tempData[x
,2]+tempData[x,3].
StringGrid1.Cells[x+1,y]:=IntToStr(tempData[1,y]+tempData[2
,y]+tempData[3,y]. end;end;
a. Pembelajaran Vektor























procedure TLVQ.Training2;
var
i,j,k:integer;
epsilon,l,selisih,s,w,dmin1,dmin2:double;
pattern: PPattern;
bobot: PPattern;
bobotterupdate,bobotterupdate2 :PPattern;
bStop:boolean;
listjarakbobot:TList;
jarak:PJarakBobot;
jarak1,jarak2:PJarakBobot;
begin
epsilon := 0.25;
bStop:= false;
currentepoch:=0;
txtStatus.Lines.Add('Training.....');
procedure TLVQ.Training2;
var
i,j,k:integer;
epsilon,l,selisih,s,w,dmin1,dmin2:double;
pattern: PPattern;
bobot: PPattern;
bobotterupdate,bobotterupdate2 :PPattern;
bStop:boolean;
listjarakbobot:TList;
jarak:PJarakBobot;
jarak1,jarak2:PJarakBobot;
begin
epsilon := 0.25;
bStop:= false;
currentepoch:=0;
txtStatus.Lines.Add('Training.....');
//hitung window
w:=0.25;
s := (1-w)/(1+w);
//list jarak bobot
listjarakbobot := TList.Create;
while not bStop do
begin
inc(currentepoch);
txtStatus.Lines.Add('Epoh : '+
inttostr(currentepoch));
//untuk setiap datapembelajaran
for i := 0 to (ListPembelajaran.Count - 1) do
begin
pattern := ListPembelajaran.Items[i];
//hitung jarak tiap pattern dengan tiap data bobot
listjarakbobot.Clear;
for j:= 0 to ListBobot.Count-1 do

bobot := ListBobot.Items[j];
//hitung jarak
l:=0;
for k:= 0 to NumInput-1 do
begin



























jarak1 := listjarakbobot.Items[0]; //terdekat pertama
jarak2 := listjarakbobot.Items[1]; //terdekat kedua
dmin1:=jarak1.jarak;
dmin2:=jarak2.jarak;
bobotterupdate := ListBobot.Items[jarak1.idbobot];
bobotterupdate2 := ListBobot.Items[jarak2.idbobot];

//cek apakah masuk window jika masuk hitung bobot
yang baru
if(min(dmin1/dmin2,dmin2/dmin1)>s)then
begin
//jika id user pattern = id user kedua bobot maka
ditambah semua bobot terdekat 1 dan 2
if(pattern.iduser = bobotterupdate.iduser) and
(pattern.iduser = bobotterupdate2.iduser) then
begin
for k:=0 to NumInput -1 do
begin
bobotterupdate^.TandaTangan[k]:=
bobotterupdate^.TandaTangan[k] + epsilon*alpha
*(pattern^.TandaTangan[k]-bobotterupdate^.TandaTangan[k]);
bobotterupdate2^.TandaTangan[k]:=
bobotterupdate2^.TandaTangan[k] + epsilon*alpha
*(pattern^.TandaTangan[k]-bobotterupdate2^.TandaTangan[k]);
end;
end
else
begin
//jika id user pattern sama dengan id user bobot terdekat 1
maka bobot terdekat 1 ditambah sedangkan bobot terdekat 2
dikurangi
if(pattern.iduser = bobotterupdate.iduser)then
begin
for k:=0 to NumInput -1 do
begin
bobotterupdate^.TandaTangan[k]:=
bobotterupdate^.TandaTangan[k] + alpha
*(pattern^.TandaTangan[k]-bobotterupdate^.TandaTangan[k]);
bobotterupdate2^.TandaTangan[k]:=
bobotterupdate2^.TandaTangan[k] - alpha
*(pattern^.TandaTangan[k]-bobotterupdate2^.TandaTangan[k]);
end;
end
else
begin
for k:=0 to NumInput -1 do
begin
bobotterupdate^.TandaTangan[k]:=
bobotterupdate^.TandaTangan[k] - alpha
*(pattern^.TandaTangan[k]-bobotterupdate^.TandaTangan[k]);
bobotterupdate2^.TandaTangan[k]:=
bobotterupdate2^.TandaTangan[k] + alpha
*(pattern^.TandaTangan[k]-bobotterupdate2^.TandaTangan[k]);













Gambar 4.13 Source code Procedure Training_2
b. Pengenalan Tanda Tangan


Gambar 4.14 Cuplikan Source code Pengenalan
4.1.4 Implementasi Algoritma RSA (Riset Shamir Adleman)
a. Pembuatan Kunci Tanda Tangan Digital



Gambar 4.15 Cuplikan Source code Fungsi nilai n



end;
end;
end;
end;

end;
CekKesalahan;
alpha:= alpha*0.95;
if (currentepoch=maxepoch) then
txtStatus.Lines.Add('max epoch tercapai');
if (alpha < targeterror) then
txtStatus.Lines.Add('alpha tercapai');
if (currentepoch=maxepoch) {or (alpha < targeterror)
}then
begin
bStop:=true;
end;

end;
MessageDlg('Training selesai!',mtInformation,[mbOK],0);
end;



LVQthread.kenali(image2.Picture.Bitmap,imgMirip1,imgMirip2,i
mgMirip3);
.
Function getnilain(nilaip,nilaiq : int64):int64;
begin
result := nilaip*nilaiq;
end;

Function getnilaiphi(nilaip,nilaiq : int64):int64;
begin
result := (nilaip-1) * (nilaiq-1);
end;
Gambar 4.16 Cuplikan Source code Fungsi nilai phi






Gambar 4.17 Cuplikan Source code Fungsi Kunci privat d
b. Proses Signing Menggunakan Kunci Publik (Enkripsi)










Gambar 4.18 Cuplikan Source code proses Signing






Function getkunciprivatd(nilaie,nilaiphi : int64):int64;
var
nilaid : int64;
k: integer;
begin
k:=1;
repeat
nilaid:= (1+(k*nilaiphi))div nilaie;
inc(k);
until (((nilaie*nilaid)-1) mod nilaiphi = 0);
result := nilaid;
end;
var
test, s,b64:string;
e,n:tfgint;
stin,ms:integer;
begin
//memecah tiap edit
test := nim.text + '_' + namaorang.text + '_' + Hash.Text;
edit11.Lines.Add(test);
Base10StringToFGInt(edit2.Text, e);//input password e,n
Base10StringToFGInt(edit3.text, n);
RSAEncrypt(test, e, n, test);
edit13.Clear;
ConvertBase256to64(test,b64);//fungsi mengubah 256
edit13.lines.A
dd(b64);
FGIntDestroy(e);
FGIntDestroy(n);
end;
Procedure RSAEncrypt(P : String; Var exp, modb : TFGInt;
Var E : String);
Var
i, j, modbits : longint;
PGInt, temp, zero : TFGInt;
tempstr1, tempstr2, tempstr3 : String;
Begin
Base2StringToFGInt('0', zero);
FGIntToBase2String(modb, tempstr1);
modbits := length(tempstr1);
convertBase256to2(P, tempstr1);
tempstr1 := '111' + tempstr1;
j := modbits - 1;














Gambar 4.19 Cuplikan Source code proses RSAEncrypt









While (length(tempstr1) Mod j) <> 0 Do tempstr1 := '0' +
tempstr1;
j := length(tempstr1) Div (modbits - 1);
tempstr2 := '';
For i := 1 To j Do
Begin // mengubah tiap string ke bentuk ascii
tempstr3 := copy(tempstr1, 1, modbits - 1);
While (copy(tempstr3, 1, 1) = '0') And
(length(tempstr3) > 1) Do delete(tempstr3, 1,
1);
Base2StringToFGInt(tempstr3, PGInt);
delete(tempstr1, 1, modbits - 1);
If tempstr3 = '0' Then FGIntCopy(zero, temp) Else
FGIntMontgomeryModExp(PGInt, exp, modb, temp);
FGIntDestroy(PGInt);
tempstr3 := '';
FGIntToBase2String(temp, tempstr3);
While (length(tempstr3) Mod modbits) <> 0 Do
tempstr3 := '0' + tempstr3;
tempstr2 := tempstr2 + tempstr3;
FGIntdestroy(temp);
End;
While (tempstr2[1] = '0') And (length(tempstr2) > 1)
Do delete(tempstr2, 1, 1);
ConvertBase2To256(tempstr2, E);
FGIntDestroy(zero);
End;

Var
temp, x, a : String;
i, len6 : longint;
g : integer;
trans : Array[0..255] Of String;
Begin
initialize8(trans);
temp := '';
For i := 1 To length(str256) Do temp := temp +
trans[ord(str256[i])];
If (length(temp) Mod 6) = 0 Then a := '' Else
If (length(temp) Mod 6) = 4 Then
Begin
temp := temp + '00';
a := '='
End
Else
Begin
temp := temp + '0000';
a := '==' End;
Var
temp, x, a : String;
i, len6 : longint;
g : integer;
trans : Array[0..255] Of String;













Gambar 4.20 Cuplikan Source code Convert 256 to 64
c. Proses Verifying Menggunakan Kunci Privat (Dekripsi)









procedure Tfrmverifikasi.Button4Click(Sender: TObject);
var
test,b64,nim,nama,hash2:string;
d,n,nilgint:tfgint;
i, x : integer;
begin
Query1:=DMod1.query1;
test:=memo1.text;
nim:='';
nama:='';
hash2:='';
ConvertBase64to256(test,b64);
test:='';
Base10StringToFGInt(edit6.Text, d);
Base10StringToFGInt(edit9.text, n);
RSADecrypt(b64, d, n, Nilgint, Nilgint, Nilgint, Nilgint,
test);// pemanggilan procedure dekripsi RSA
edit11.text:=test;
FGIntDestroy(d);
FGIntDestroy(n);
FGIntDestroy(nilgint);
x:=1;
Begin
initialize8(trans);
temp := '';
For i := 1 To length(str256) Do temp := temp +
trans[ord(str256[i])];
If (length(temp) Mod 6) = 0 Then a := '' Else
If (length(temp) Mod 6) = 4 Then
Begin
temp := temp + '00';
a := '='
End
Else
Begin
temp := temp + '0000';
a := '=='
End;
str64 := '';
len6 := length(temp) Div 6;
For i := 1 To len6 Do
Begin
x := copy(temp, 1, 6);
zeronetochar6(g, x);
str64 := str64 + PGPchr64[g];
delete(temp, 1, 6);
End;
str64 := str64 + a;
End;










Gambar 4.21 Cuplikan Source code Verifiying















Begin
Base2StringToFGInt('0', zero);
FGIntToBase2String(modb, tempstr1);
modbits := length(tempstr1);
convertBase256to2(E, tempstr1);
While copy(tempstr1, 1, 1) = '0' Do delete(tempstr1, 1,
1);
While (length(tempstr1) Mod modbits) <> 0 Do tempstr1 :=
'0' + tempstr1;
If exp.Number = Nil Then
Begin
FGIntModInv(q, p, temp1);
FGIntDestroy(temp1);
FGIntModInv(p, q, temp1);
FGIntDestroy(temp1);
End;
j := length(tempstr1) Div modbits;
tempstr2 := '';
For i := 1 To j Do
Begin
tempstr3 := copy(tempstr1, 1, modbits);
While (copy(tempstr3, 1, 1) = '0') And
(length(tempstr3) > 1) Do delete(tempstr3, 1, 1);
Base2StringToFGInt(tempstr3, EGInt);
delete(tempstr1, 1, modbits);
If tempstr3 = '0' Then FGIntCopy(zero, temp) Else
Begin
If exp.Number <> Nil Then
FGIntMontgomeryModExp(EGInt, exp, modb, temp) Else
Begin
FGIntCopy(temp3, temp1);
FGIntCopy(temp3, temp2);
FGIntAddMod(temp1, temp2, modb, temp);
FGIntDestroy(temp1);
FGIntDestroy(temp2);
End;
End;
Begin
Base2StringToFGInt('0', zero);
FGIntToBase2String(modb, tempstr1);

begin
if test[i]='_' then
x:=x+1
else if x=1 then
nim:=nim+test[i]
else if x=2 then
nama:=nama+test[i]
else if x=3 then
hash2:=hash2+test[i];
end;
nim2.Text:=nim;
edit2.Text:=nama;
edit1.Text:=hash2;
cekverifikasi (nim,nama,hash2);end;























Gambar 4.22 Cuplikan Source code RSADecrypt
modbits := length(tempstr1);
convertBase256to2(E, tempstr1);
While copy(tempstr1, 1, 1) = '0' Do delete(tempstr1, 1,
1);
While (length(tempstr1) Mod modbits) <> 0 Do tempstr1 :=
'0' + tempstr1;
If exp.Number = Nil Then
Begin
FGIntModInv(q, p, temp1);
FGIntDestroy(temp1);
FGIntModInv(p, q, temp1);
FGIntDestroy(temp1);
End;
j := length(tempstr1) Div modbits;
tempstr2 := '';
For i := 1 To j Do
Begin
tempstr3 := copy(tempstr1, 1, modbits);
While (copy(tempstr3, 1, 1) = '0') And
(length(tempstr3) > 1) Do delete(tempstr3, 1, 1);
Base2StringToFGInt(tempstr3, EGInt);
delete(tempstr1, 1, modbits);
If tempstr3 = '0' Then FGIntCopy(zero, temp) Else
Begin
If exp.Number <> Nil Then
FGIntMontgomeryModExp(EGInt, exp, modb, temp) Else
Begin
FGIntCopy(temp3, temp1);
FGIntCopy(temp3, temp2);
FGIntAddMod(temp1, temp2, modb, temp);
FGIntDestroy(temp1);
FGIntDestroy(temp2);
End;
End;
FGIntDestroy(EGInt);
tempstr3 := '';
FGIntToBase2String(temp, tempstr3);
While (length(tempstr3) Mod (modbits - 1)) <> 0 Do
tempstr3 := '0' + tempstr3;
tempstr2 := tempstr2 + tempstr3;
FGIntdestroy(temp);
End;
If exp.Number = Nil Then
While (Not (copy(tempstr2, 1, 3) = '111')) And
(length(tempstr2) > 3) Do delete(tempstr2, 1, 1);
delete(tempstr2, 1, 3);
ConvertBase2To256(tempstr2, D);
FGIntDestroy(zero);
End;












Gambar 4.23 Cuplikan Source code Convert 64 to 256
4.2 Hasil Uji Coba Sistem
Pada subbab ini akan dilakukan pembahasan mengenai pengujian yang
telah dilakukan perangkat lunak. Uji coba dalam hal ini dibagi menjadi 2 yaitu
pengujian pembelajaran tanda tangan manual LVQ dan pengujian signing
verifikasi RSA.





Procedure PGPConvertBase64to256(str64 : String; Var str256 :
String);
Var
temp, x : String;
i, j, len8 : longint;
g : char;
trans : Array[0..255] Of String;
Begin
initialize6PGP(trans);
temp := '';
str256 := '';
If str64[length(str64) - 1] = '=' Then j := 2 Else
If str64[length(str64)] = '=' Then j := 1 Else j := 0;
For i := 1 To (length(str64) - j) Do temp := temp +
trans[ord(str64[i])];
If j <> 0 Then delete(temp, length(temp) - 2 * j + 1, 2 *
j);
len8 := length(temp) Div 8;
For i := 1 To len8 Do
Begin
x := copy(temp, 1, 8);
zeronetochar8(g, x);
str256 := str256 + g;
delete(temp, 1, 8);
End; End;


4.2.1 Uji Coba Pembelajaran LVQ
a. Tabel Uji Coba Dengan Nilai Max Epoch 10, Nilai Target Erornya 0,1, dan
alpha 0,01 - 0,09 (Learning rate < target error)

Tabel 4.1 Uji Coba Dengan Nilai Max Epoch 10 Dan Nilai Target Erornya 0,1
Learning
Rate
Max
Epoch
Target
Error
Waktu
Training
(milidetik)
Konvergen Persentase
True False True False
0,01 10 0,1 52775 12 27 31% 69%
0,02 10 0,1 170588 17 22 44% 56%
0,03 10 0,1 99388 17 22 44% 56%
0,04 10 0,1 81448 19 20 49% 51%
0,05 10 0,1 201912 13 26 33% 67%
0,06 10 0,1 163817 15 24 38% 62%
0,07 10 0,1 191928 17 22 44% 56%
0,08 10 0,1 240912 21 18 54% 46%
0,09 10 0,1 67782 15 24 38% 62%

b. Tabel Uji Coba Dengan Nilai Max Epoch 100, Nilai Target Erornya 0,1, dan
alpha 0,01 - 0,09 (Learning rate < target error)

Tabel 4.2 Uji Coba Dengan Nilai Max Epoch 100, Nilai Target Erornya 0,1
Learning
Rate
Max
Epoch
Target
Error
Waktu
Training
(milidetik)
Konvergen Persentase
True False True False
0,01 100 0,1 505942 12 27 31% 69%
0,02 100 0,1 543507 18 21 46% 54%
0,03 100 0,1 626219 18 21 46% 54%
0,04 100 0,1 721021 27 12 69% 31%
0,05 100 0,1 550527 18 21 46% 54%
0,06 100 0,1 805589 24 15 62% 38%
0,07 100 0,1 4535449 21 18 54% 46%
0,08 100 0,1 603755 29 10 74% 26%
0,09 100 0,1 660804 26 13 67% 33%

Berdasarkan hasil uji coba di atas, dimana nilai target errornya lebih besar
dari learning rate didapatkan hasil untuk maksimal epoh 10 adalah 47 % untuk
hasil kebenaranya dengan rata-rata waktu yang dibutuhkan 141 detik sedangkan
untuk epoh 100 dengan target error 0,1 dibutuhkan waktu 1061 detik dengan
persentase untuk kebenarannya 55%. Tabel 4.1 dan 4.2 dapat direpresentasikan
dalam bentuk grafik yang ditunjukkan pada gambar 4.24
1
2
3
4
5
6
7
8
9
10
Nilai learning rate
Waktu ( MiliDetik)
0
1000000
2000000
3000000
4000000
5000000
Nilai learning rate Max Epoch 10 Target Error
Waktu ( MiliDetik) Max Epoch 100 Waktu ( MiliDetik)

Gambar 4.24 Grafik pembelajaran Maxepoch 10 dan 100, target error 0,1, dan
alpha 0,010,09

c. Tabel Uji Coba Dengan Nilai Max Epoch 100, Nilai Target Erornya 0,01, dan
alpha 0,01 - 0,09 (Learning Rate = Target Error)

Tabel 4.3 Uji Coba Dengan Nilai Max Epoch 1000, Nilai Target Erornya 0,01
Learning
Rate
Max
Epoch
Target
Error
Waktu
Training
(milidetik)
Konvergen Persentase
True False True False
0,01 1000 0,01 1814735 12 27 31% 69%
0,02 1000 0,01 1842250 18 21 46% 54%
0,03 1000 0,01 2002641 18 21 46% 54%
0,04 1000 0,01 1835375 27 12 69% 31%
0,05 1000 0,01 2218328 18 21 46% 54%
0,06 1000 0,01 4470984 24 15 62% 38%
0,07 1000 0,01 1847641 21 18 54% 46%
0,08 1000 0,01 1989578 29 10 74% 26%
0,09 1000 0,01 2869453 26 13 67% 33%

Dari tabel 4.3 diperoleh nilai minimal kesalahan pada learning rate 0,08 yaitu
total kesalahan 10 dari 39 data dengan nilai presentase kebenaran 74 %. Rata-rata
waktu yang ditempuh untuk melalukan proses training dengan epoch 1000 dan
target error 0,01 adalah 2321 detik dengan persentase kebenaran 55%. Tabel 4.3
dapat direpresentasikan dalam bentuk grafik dibawah ini.
1
2
3
4
5
6
7
8
9
Nilai learning rate
0
1000000
2000000
3000000
4000000
5000000
Nilai learning rate Waktu ( MiliDetik) Training 10

Gambar 4.25 Grafik pembelajaran Maxepoch 1000, target error 0,01

c. Tabel Uji Coba Dengan Nilai Max Epoch 10, 100, dan 1000, Target Erornya
0,01 dan Alpha 0,10,9 (Learning rate > target error)

Tabel 4.4 Uji Coba Dengan Nilai Max Epoch 10, Nilai Target Erornya 0,01
Learning
Rate
Max
Epoch
Target
Error
Waktu
Training
(milidetik)
Konvergen Persentase
True False True False
0,1 10 0,01 73399 13 26 33 % 67 %
0,2 10 0,01 63462 18 21 46 % 54 %
0,3 10 0,01 58469 6 33 15 % 85 %
0,4 10 0,01 56519 9 30 23 % 77 %
0,5 10 0,01 111260 3 36 8 % 92 %
0,6 10 0,01 60388 3 36 8 % 92 %
0,7 10 0,01 100511 3 36 8 % 92 %
0,8 10 0,01 77189 3 36 8 % 92 %
0,9 10 0,01 92556 3 36 8 % 92 %

Tabel 4.5 Uji Coba Dengan Nilai Max Epoch 100, Nilai Target Erornya 0,01
Learning
Rate
Max
Epoch
Target
Error
Waktu
Training
(milidetik)
Konvergen Persentase
True False True False
0,1 100 0,01 411375 23 16 58 % 42 %
0,2 100 0,01 369359 21 18 53 % 47 %
0,3 100 0,01 336500 24 15 61 % 39 %
0,4 100 0,01 338312 20 19 51 % 49 %
0,5 100 0,01 525031 12 27 31 % 69 %
0,6 100 0,01 341953 9 30 23 % 77 %
0,7 100 0,01 322016 7 32 17 % 68 %
0,8 100 0,01 369516 6 33 15 % 85 %
0,9 100 0,01 444062 6 33 15 % 85 %

Tabel 4.6 Uji Coba Dengan Nilai Max Epoch 1000, Nilai Target Erornya 0,01
Learning
Rate
Max
Epoch
Target
Error
Waktu
Training
(milidetik)
Konvergen Persentase
True False True False
0,1 1000 0,01 4230266 23 16 60% 40%
0,2 1000 0,01 4937094 21 18 54% 46%
0,3 1000 0,01 4955610 25 14 64% 36%
0,4 1000 0,01 15356250 20 19 51% 49%
0,5 1000 0,01 10182500 12 27 31% 69%
0,6 1000 0,01 2373984 10 29 26% 74%
0,7 1000 0,01 2483344 7 32 18% 82%
0,8 1000 0,01 2504422 6 33 15% 85%
0,9 1000 0,01 2409516 6 33 15% 85%

1
2
3
4
5
6
7
8
9
Nilai learning rate
0
5000000
10000000
15000000
20000000
Nilai learning rate Waktu ( MiliDetik) Training

Gambar 4.26 Grafik pembelajaran Maxepoch 1000, target error 0,01

Dari hasil uji coba pada tabel 4.4, 4.5, 4.6 terlihat jelas bahwa semakin
banyak epoch yang diproses makaa semakin sedikit tingkat kesalahannya terbukti
pada epoch 1000 dengan learning rate 0,3 dengan waktu pembelajaran 4955610
milidetik mendapatkan tingkat kesalahan 14 dari 39 data sedangankan pada epoch
10 dan 100 tingkat kesalahannya adalah 33 dan 15. Ratarata waktu yang
ditempuh untuk epoch 10 adalah 67 detik presentase tingkat kesalahan 82 %,
untuk epoch 100 rata-rata waktu yang ditempuh 384 detik persentase tingkat
kesalahan 62 %. Dengan meningkatkan jumlah maksimal epoch menjadi 1000
maka rata-rata waktu yang ditempuh 5492 milidetik dengan persentase tingkat
kesalahan 63 %.
4.2.2 Uji Coba RSA
Pengujian tanda tangan digital menggunakan algoritma RSA dilakukan 5
kali untuk mengetahui kebenaran tanda tangan dan apakah tanda tangan tersebut
telah terdaftar apa belum. Form Signig pada gambar 4.6 diatas digunakan untuk
mengenali tanda tangan seseorang yang sudah terdaftar selanjutnya enkripsi data
tersebut menggunakan kunci n dan kunci publik e. Untuk form verifyng digunakan
untuk mengdeskripsikan file yang berisi chiper text dari hasil enkripsi menjadi
plain text menggunakan kunci privat d dan n apakah data tersebut benar-benar
terdaftar untuk lebih jelas hasil dari enkripsi dan dekripsi tersebut berikut
pemaparan hasil dalam bentuk tabel 4.7.



Tabel 4.7 Tabel Uji Coba RSA
Uji
Ke
Ukuran
File
Byte
Nilai
n
Kunci
e
Kunci
d
Waktu
signing
Waktu
Verfiyng
Hasil
1 68 962163043 65537 312836937 47 49
1234567890_brian_vNQq/D+olsXhl/jmzfyB+7aoStW
=
2 62 818834363 65537 409740401 31 65
90897_ageng_SyZnD8xK8mfTBRmWKiwPZiGc+dG
=
3 58 261888749 65537 128838785 15 49 66565_agis_cDru/mbXdSUqcq0NiR2mOIotNoM=
4 58 984758849 65537 317779901 16 50 12345_adi_2PVnm08iGIYEGqdyTobbH42JOlW=
5 64 135324661 65537 30067377 16 65
234234_dirga_MvnRlTkGumtxMjhGsOCAsCqSVmy
=
6 61 400169923 65537 48518441 31 49 3234414_doni_Haw1eL6QsOM3xxSjqlY7QfQU3s4=
7 64 187821551 65537 64062905 16 81
12345678_mel_S5z547M2sT0opCaXCXUsYLA268c
=
8 68 1064547271 65537 711292337 79 49
667574747_meynar_CsmjEvnxO2Cap1/sKa9kVoyvO
Va=
9 62 1036342271 65537 508546961 31 34
53522525_nanda_zUa6uOGBsfBjqpY6u5TqBV5DnC
p=
10 65 294936311 65537 94025729 31 65
123456789_rey_cvCFCGhWwTaVWukMEj0U+reLO
fu=
11 65 524697031 65537 204331873 15 34 1234567_vildan_zI8oiOg32im3PCN7nBKvPamiI8S=
12 62 960553537 65537 744493265 16 81 123456_wulan_DZHtJvGx7P5SP4jUc7bkvzhZTRJ=
13 61 499539433 65537 372812901 16 65 1234_yudha_7chvJjb9g8bFupkDQHm5wfFR7xJ=

BAB V
KESIMPULAN DAN SARAN

5.1 Kesimpulan
Setelah melakukan uji coba sistem maka dapat disimpulkan :
- Tingkat keberhasilan dari jaringan saraf tiruan LVQ dipengaruhi oleh 3
inputan yaitu maksimal epoch (set training jaringan), learning rate (laju
pembelajaran), serta target error. Semakin besar nilai maksimal epoch maka
semakin sedikit tingkat kesalahan dalam pembelajaran dengan menambah
pula nilai learning rate-nya dan meminimalkan target errornya.
- Authentifikasi tanda tangan manual dengan jaringan saraf tiruan dan tanda
tangan digital dengan algoritma RSA mengahsilkan tingkat keberhasilan
sukses sebesar 100 % untuk tanda tangan digital, dan 85 % untuk tanda
tangan manual dengan pembelajaran menggunakan nilai max epoch 100,
nilai Learning rate 0,1-0,9 dan nilai target error 0,01.
5.2 Saran
1. Menambah jumlah percobaan di edalam pengenalan tanda tangan manual dengan
kelas dan jumlah data vector yang berbeda agar didapatkan keakuratan nilai
persentase.
2. Mencoba menerapkan metode jaringan saraf tiruan LVQ dan metode algoritma
RSA dengan kasus yang lainnya.
DAFTAR PUSTAKA

Ahmad, Balaza dan firdausy kartika. 2005. Teknik Pengolahan Citra Digital
Menggunakan Delphi. Yogyakarta: Andi Publishing.

Alisher, 2005. Biometric Cryptosystem Using Online Signatures.
http://www.google.co.id/#hl=id&q=biometric+alisher+2005, 17 januari
2010.

Anonymous. http://www.wikipedia.org/signature recognition.

Azizah, Rizqina. 2006. Analisis Tiga metode Ekstraksi ciri Pada Pola Tanda
Tangan. Surabaya: Institut Teknologi Sepuluh Nopember.

Bahri,S, Kusnassriyanto dan Siachriyanto wawan. 2008. Teknik Pemrograman
Delphi Edisi Revisi. Bandung: Informatika.

Bahreisy, H. Salim. 1984. Tarjamah Riadhus Shalihin. Bandung: P.T Almaarif.

Baharsyah, M. Pramana. 2006 Undeniable Signature.
http://www.google.co.id/search?hl=id&q=tanda+tangan+digital+baharsya
h+2006. 17 januari 2010.

DPR RI, 2008. Undang-Undang Republik Indonesia no 11 tahun 2008.
www.djkn.depkeu.go.id/index.php/20080529636/Undang-undang-
nomor_11_tahun 2008.html.auntizatio-44219.pdf.

Duda, P. Hart and D.Stork. LVQ Pattern Classification. John Wiley and sony inc.

Fairhurst, 2003. Biometrics for Secure Authentication .
http://www.google.co.id/#hl=id&q=contoh+biometric+fairhurst+2003. 17
januari 2010

Gonzalez, R.C, and woods,RS. 2002. Digital Image Processing, 2
nd
ed., Prentice
Hall, Upper Sadle river,Nj.

Gultom, Bernadus Surya Perdana. 2006. Analisis Kinerja Algoritma RSA dan
Pengacakan Citra pada Image enggunakan Transformasi wavelet.
Bandung: STT Telkom.

Kadir, Abdul. 2003. Pengenalan Sistem Informasi. Yogyakarta: Andi Offset.

Kusuma, Dewi. 2003. Artificial Intelegence (Teknik dan Aplikasinya).
Yogyakarta: Graha Ilmu.

KusumoPutro, Benyamin. 2001. Pengenalan Huruf Tulisan Menggunakan
Ekstraksi Ciri Berbasis Fuzzy dan Jaringan Syaraf Tiruan. Jurnal Ilmu
Komputer dan Teknologi Informasi.

Kusuma, Dewi, S. 2004. Membangun jaringan saraf tiruan menggunakan matlab
dan excel link. Yogyakarta: Graha Ilmu.

Kurniawa, Agus dan Purnomo Hery. 2006. Supervised Pada Neural Networks dan
Aplikasinya. Yogyakarta: Graha Ilmu.

Kusumawati, Ririen. 2007.Artificial Intelligence Menyamai Kecerdasan Buatan
Illahi?. Malang: UIN-Malang Press.

Liman, J. (2005). Feedforward Neural Network. www.ukrida.co.id, diakses
tanggal 12 November 2009.

Munir, Rinaldi.. 2004. Pengolahan Citra Digital dengan Pendekatan Algoritmik.
Informatika Bandung.

Munir, Rinaldi. 2006. Kriptografi. Bandung: Informatika Bandung.

Ratna, M. 2005. Studi dan Implementasi Cramer Shoup untuk Tanda Tangan
Dijital.
http://www.google.co.id/search?hl=id&q=tanda+tangan+digital+ratna+20
05. 17 Januari 2010

Susetyoko, R., Iman, B.N dan Harsono, T. 2005. LVQ Neural Network Dengan
Pembangkitan Variabel Random Uniform Untuk Vektor Training pada
Pengenalan Tanda Tangan. Surabaya: PENS-Institu Teknologi Sepuluh
Nopember.

Shihab, M. Quraish 1994. Lentera hati : kisah dan hikmah .Bandung: Mizan.

Winarko, Edi. 2006. Perancangan Database Dengan Power Designer 6.32.
Jakarta: Prestasi Pustaka.

Zainal. 2002. Aplikasi Neural Network Pada Pengenalan Pola Tanda Tangan.
Politeknik elektronika Negeri Surabaya.

http://reference.kfpum.edu.sa/content/v/lvq_pak_the_Learning_vector_www.wiki
pedia.org/signature.

http://tedi heriyanto.net/papers/jst.htm informatika.org/~rinaldi/kriptografi/2006-
2007/makalah-makalah/makalah-025.pdf.

Anda mungkin juga menyukai