Analisis pernbandingan pengenalan tanda tangan dengan menggunakan metode perceptron dan backpropagation

(1)

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh:

Haryo Kusuma Pratama 106091002927

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA


(2)

ii

BACKPROPAGATION

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh:

Haryo Kusuma Pratama 106091002927

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA


(3)

(4)

(5)

ix

Halaman Judul ... ii

Persetujuan Penguji ... iii

Halaman Pengesahan ... iv

Halaman Pernyataan ... v

Abstrak ... vi

Kata Pengantar ... vii

Daftar Isi ... ix

Daftar Gambar ... xiii

Daftar Tabel ... xvi

Daftar Lampiran ... xvii

Daftar Istilah ... xviii

BAB I PENDAHULUAN 1.1. Latar Belakang ... 1

1.2. Perumusan Masalah ... 2

1.3. Tujuan dan Manfaat ... 3

1.4. Pembatasan Masalah ... 4

1.5. Metodologi Penelitian ... 5

1.6. Sistematika Penulisan ... 6

BAB II LANDASAN TEORI 2.1. Sistem Biometrika ... 8


(6)

x

2.1.3. Tanda Tangan ... 12

2.2. Kecerdasan Buatan ... 12

2.2.1. Pengertian ... 12

2.2.2. Sejarah ... 16

2.2.3. Lingkup Kecerdasan Buatan pada Aplikasi Komersial ... 18

2.2.4. Kecerdasan Buatan dan Kecerdasan Alami ... 20

2.2.5. Komputasi Kecerdasan Buatan dan Komputasi Konvensional 22 2.3. Jaringan Syaraf Tiruan ... 23

2.3.1. Otak Manusia ... 23

2.3.2. Komponen Jaringan Syaraf ... 25

2.3.3. Arsitektur Jaringan ... 27

2.4. Metode Perceptron ... 30

2.5. Metode Backpropagation ... 32

2.6. Pre-Processing ... 37

2.6.1. Proses Pengambangan ... 37

2.6.2. Ekstraksi Ciri ... 37

2.7. Studi Literatur Sejenis ... 38

2.8. Microsoft Visual Basic ... 41

2.8.1. Sejarah Singkat ... 41

2.8.2. Struktur Aplikasi... 41


(7)

xi

3.1. Metode Pengumpulan Data ... 48

3.2. Metode Pengembangan Perangkat Lunak ... 48

3.3. Analisis Kebutuhan Sistem ... 50

3.4. Analisis Proses Kerja ... 51

3.5. Kerangka Berpikir ... 53

BAB IV PEMBAHASAN DAN IMPLEMENTASI 4.1. Pembahasan ... 54

4.1.1. Pembahasan Cara Kerja Proses ... 54

4.1.1.1. Proses Pengambangan ... 54

4.1.1.2. Proses Pelatihan Pola Tanda Tangan ... 57

4.1.1.3. Proses Pengenalan Pola Tanda Tangan ... 59

4.1.1.4. Proses Backpropagation ... 59

4.1.1.5. Proses Perceptron ... 65

4.1.2. Pembahasan Perancangan ... 68

4.1.2.1. Perancangan Tampilan ... 68

4.1.2.1.1 Rancangan Form Spalsh Screen ... 68

4.1.2.1.2 Rancangan Form Utama ... 69

4.1.2.1.3 Rancangan Form Buka Gambar ... 71

4.1.2.1.4 Form Atur Tebal Pensil ... 72

4.1.2.1.5 Form Pilih Threshold ... 73


(8)

xii

4.1.2.1.9 Rancangan Form Database ... 76

4.1.2.1.10 Rancangan Form About ... 78

4.1.2.2. Perancangan Database ... 78

4.2. Implementasi ... 80

4.2.1. Form Splash Screen ... 80

4.2.2. Form Utama ... 80

4.2.3. Form Buka ... 81

4.2.4. Form Atur Tebal Pensil ... 83

4.2.5. Form Pilih Threshold ... 84

4.2.6. Form Pelatihan ... 84

4.2.7. Form Pengenalan ... 85

4.2.8. Form Hasil Pengenalan ... 85

4.2.9. Form Database ... 86

4.2.10.Form History/log ... 87

4.2.11.Form About ... 87

4.3. Hasil Pengujian ... 87

BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan ... 91

5.2. Saran ... 92

DAFTAR PUSTAKA ... 93 LAMPIRAN-LAMPIRAN


(9)

i

ABSTRAK

Jaringan Syaraf Tiruan (JST) adalah salah satu cabang ilmu dari bidang ilmu Kecerdasan Buatan (Artificial Intelligence) dan merupakan alat untuk memecahkan masalah terutama di bidang-bidang yang melibatkan pengelompokan dan pengenalan pola (pattern recognition). Salah satu manfaat dari JST adalah untuk mengenali pola tanda tangan. Perceptron dan Backpropagation adalah metode JST yang dapat digunakan untuk mengenali pola tanda tangan. Sebelum dapat dikenali, pola tanda tangan harus dilatih terlebih dahulu. Awalnya, gambar tanda tangan akan di-thresholding dan diekstraksi ciri menjadi pola 20 x 20. Bit hasil ekstraksi ciri kemudian dilatih dan dikenali dengan menggunakan metode Perceptron dan Backpropagation. Perbedaan kedua metode terletak pada rumus perhitungan yang digunakan. Aplikasi dapat melakukan pengenalan tanda tangan dengan menggunakan metode Perceptron dan Backpropagation. Proses pelatihan dan pengenalan metode Perceptron jauh lebih cepat dari metode Backpropagation. Tetapi dengan keunggulan arsitektur jaringannya, metode Backpropagation lebih baik dan akurat dari metode Perceptron.


(10)

iv

SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.

Jakarta, Mei 2011

Haryo Kusuma Pratama 106091002927


(11)

vii Bismillahirrahmannirrahiim………

Puji dan syukur penulis panjatkan kehadirat Allah SWT, yang telah memberikan rahmat, taufik dan hidayah-Nya, sehingga penulis dapat menyelesaikan penyusunan skripsi ini. Shalawat serta salam semoga Allah limpahkan kepada Nabi besar Muhammad SAW yang telah membawa pertunjuk dan pedoman hidup bagi manusia, juga kepada keluarga dan sahabat yang telah mewariskan nilai Islam kepada kita semua.

Skripsi ini penulis buat sebagai syarat kelulusan dalam menempuh pendidikan jenjang Strata-1 (S1) di Universitas Islam Negeri Syarif Hidayatullah Jakarta. Selain itu juga penulis berharap penelitian ini dapat bermanfaat sehingga perkembangan ilmu pengetahuan dan teknologi di UIN Syarif Hidayatullah Jakarta dapat lebih maju dan lulusannya dapat bekerja secara kooperatif dengan semua elemen informatika dari seluruh dunia.

Mengingat jasa dan bantuan dari semua pihak maka dalam kesempatan ini penulis menghaturkan terima kasih yang sedalam - dalamnya :

1. Bapak Dr. Syopiansyah Jaya Putra, M.Sis selaku Dekan Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.

2. Bapak Yusuf Durrachman, M.Sc, MIT, Ketua Program Studi Teknik Informatika UI Syarif Hidayatullah Jakarta.

3. Ibu Khodijah Hulliyah, MSi, dosen pembimbing 1 yang telah banyak meluangkan waktu dalam memberikan bimbingan, pengarahan dan


(12)

viii

4. Ibu Viva Arifin, MMSi, selaku Pembimbing 2 yang telah banyak meluangkan waktu dalam memberikan bimbingan, pengarahan dan petunjuk - petunjuk yang berharga kepada penulis sehingga skripsi dapat diselesaikan.

5. Bapak dan Ibu penguji yang memberikan kritik dan saran pada skripsi ini. 6. Dosen-Dosen Fakultas Sains dan Teknologi yang telah mengajarkan

kepada penulis berbagai macam ilmu yang dapat penulis terapkan dalam penulisan skripsi ini.

7. Kedua orang tua penulis, yang telah mendidik, membimbing serta memberikan motivasi dalam penyusunan skripsi ini.

8. Teman-Teman seperjuangan TI UIN 2006 yang telah membantu memberikan support dan motivasi kepada penulis, baik selama perkuliahan terlebih selama menyelesaikan skripsi ini. Semoga segala bantuan dan amal baik yang telah diberikan kepada penulis akan dibalas oleh Allah SWT dengan pahala yang berlipat ganda.

Penulis menyadari masih jauh dari sempurna dalam penelitian ini, baik penulisan maupun aplikasinya sendiri. Oleh karena itu penulis mengharapkan saran dan kritik yang dapat membangun skripsi ini lebih baik lagi.

Jakarta, Mei 2011


(13)

xviii

Blackbox Suatu jenis pengujian perangkat lunak berdasarkan dengan input, output pemakai.

Coding Tahapan dimana pengembangan software melakukan

pembangunan aplikasi.

Design Tahapan dimana pengembangan software melakukan

perancangan.

Error Kesalahan.

JST Jaringan Syaraf Tiruan.

Planning Tahapan dimana pengembangan software melakukan perencanaan.

Recognition Pengenalan

Signature Tulisan tangan seseorang yang mempunyai gaya tulisan ciri khas tertentu.

Testing Tahapan dimana pengembangan software melakukan uji coba terhadap aplikasi.

Training Pelatihan.

UML Unified Modelling Language

User Pengguna dari sistem

User Friendly Bersahabat untuk digunakan, sehingga user mudah untuk menggunakan.


(14)

1 1.1 Latar Belakang Pemilihan Judul

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

Metode JST yang dapat digunakan untuk melakukan pengenalan terhadap karakteristik tanda tangan adalah metode Perceptron dan Backpropagation. Metode Perceptron merupakan bentuk jaringan syaraf yang digunakan untuk mengklasifikasikan suatu pola tertentu yang sering dikenal dengan pemisahan secara linear. Algoritma yang digunakan oleh aturan Perceptron ini akan


(15)

mengatur parameter-parameter bebasnya melalui proses pembelajaran. Untuk mengenali tanda tangan, semua pola tanda tangan akan melalui fase training (pelatihan / pembelajaran). Pada fase ini, semua pola tanda tangan akan dipelajari oleh metode Perceptron. Setelah itu, pola tanda tangan yang telah dipelajari akan dapat dikenali melalui fase recognition (pengenalan). Sedangkan metode Backpropagation merupakan salah satu algoritma pembelajaran yang menyesuaikan bobot-bobot jaringan syaraf tiruan dengan arah mundur berdasarkan nilai error di dalam proses pembelajaran. Sama seperti metode Perceptron, metode Backpropagation juga mempunyai fase pelatihan untuk mempelajari pola tanda tangan dan fase pengenalan untuk mengenali identitas pemilik tanda tangan. Perbedaan kedua metode terletak pada rumus dan konsep perhitungan JST untuk setiap proses pelatihan dan pengenalan.

Penulis tertarik untuk mempelajari cara kerja metode Perceptron dan Backpropagation dalam melakukan pengenalan terhadap karakteristik tanda tangan. Oleh karena itu, penulis ingin merancang aplikasi pengenalan tanda tangan yang menerapkan kedua metode ini dan melakukan analisis perbandingan terhadap kinerja kedua metode, dengan mengambil tugas akhir yang berjudul ”Analisis Perbandingan Pengenalan Tanda Tangan dengan Menggunakan Metode Perceptron dan Backpropagation”.

1.2 Perumusan Masalah

Pencocokan karakteristik tanda tangan dengan pemiliknya dapat dilakukan dengan cepat dengan menggunakan jaringan syaraf tiruan. Untuk melakukan


(16)

pengenalan ini, maka dibutuhkan sebuah aplikasi yang menerapkan metode JST untuk melatih dan mengenali pola tanda tangan. Yang menjadi permasalahan adalah:

1. bagaimana menerapkan salah satu teknik pengolahan citra, yaitu proses thresholding (pengambangan), untuk mengubah gambar scan tanda tangan menjadi gambar hitam putih,

2. bagaimana melakukan proses ekstraksi ciri terhadap gambar hitam putih, 3. bagaimana melakukan pembelajaran pola tanda tangan melalui fase pelatihan

(training) dengan menggunakan metode Perceptron dan Backpropagation, 4. bagaimana melakukan pengenalan terhadap pola tanda tangan dengan

menggunakan metode Perceptron dan Backpropagation, dan

5. bagaimana mencatat waktu eksekusi dan keakuratan dari masing-masing metode, sehingga dapat dibandingkan hasilnya.

1.3 Tujuan dan Manfaat

Adapun tujuan penyusunan tugas akhir ini adalah:

1. Menghasilkan aplikasi yang dapat melakukan proses pelatihan dan pengenalan terhadap pola tanda tangan secara digital dengan menggunakan komputer, melalui metode Perceptron dan Backpropagation,

2. Memahami dan mengetahui cara kerja dari metode Perceptron dan Backpropagation dalam melakukan proses pelatihan dan pengenalan terhadap tanda tangan.


(17)

3. Mengetahui perbedaan kecepatan dan keakuratan dari metode Perceptron dan Backpropagation.

Sedangkan, manfaat penyusunan tugas akhir ini adalah aplikasi yang dihasilkan dapat digunakan untuk melakukan pengenalan terhadap tanda tangan. Selain itu, pembaca juga dapat mengetahui analisis perbandingan kinerja dan keakuratan antara kedua metode tersebut.

1.4 Pembatasan Masalah

Pembatasan masalah dalam merancang perangkat lunak ini antara lain : 1. Input dari aplikasi adalah:

a. Gambar tanda tangan (dalam format bmp, jpg, gif), atau

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

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

tahap menunjukan prosentase keaslian pemilik tanda tangan dan adanya tindak pemalsuan pada tanda tangan.

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

5. User dapat memilih untuk menggunakan metode Perceptron atau Backpropagation di dalam fase pelatihan atau pengenalan.


(18)

6. Aplikasi dibangun dengan menggunakan bahasa pemograman Microsoft Visual Basic 6.0, sedangkan untuk menyimpan bobot hasil pelatihan, aplikasi menggunakan Microsoft Access 2007.

1.5 Metodologi Penelitian

Adapun metodologi penelitian yang dilakukan, terbagi atas: 1. Metodologi Pengumpulan Data, terdiri dari:

a. Studi Pustaka

Pengumpulan data dilakukan dengan cara mengambil sumber referensi dari buku teks ataupun internet mengenai cara kerja metode Perceptron dan Backpropagation.

b. Sampling

Penulis mengumpulkan beberapa contoh gambar tanda tangan dari internet ataupun secara manual, untuk kebutuhan pengujian terhadap aplikasi. 2. Metodologi Pengembangan Perangkat Lunak, terdiri dari:

a. Analisis Kebutuhan Sistem, mengkaji informasi untuk dirangkum agar lebih efektif serta menganalisa kebutuhan sesuai informasi yang dirangkum.

b. Perancangan Sistem, merancang algoritma sesuai metode yang digunakan. c. Konstruksi Sistem, membangun perangkat lunak dengan menggunakan

bahasa pemograman Microsoft Visual Basic 6.0 dan menggunakan database Microsoft Access 2007.


(19)

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

e. Melakukan penyusunan laporan tugas akhir.

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini dibagi menjadi 5 bab, dengan masing-masing bab menjelaskan hal-hal yang berhubungan dengan topik tugas akhir secara sistematis. Berikut adalah sistematika penulisan dari isi setiap bab: BAB I PENDAHULUAN

Pada bab ini, akan dibahas mengenai latar belakang pemilihan judul, perumusan masalah, tujuan dan manfaat, pembatasan masalah, metodologi penelitian serta sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi landasan teori yang berhubungan dengan sistem biometrika, jaringan syaraf tiruan, arsitektur jaringan, metode Perceptron, metode Backpropagation, pre-processing, tinjauan pustaka mengenai hasil penelitian yang sudah ada dan teori mengenai bahasa pemograman Microsoft Visual Basic, serta database Microsoft Access.

BAB III METODOLOGI PENELITIAN

Pada bab ini, akan dibahas mengenai metodologi penelitian yang digunakan dalam menyelesaian tugas akhir ini.


(20)

BAB IV PEMBAHASAN DAN IMPLEMENTASI

Pada bab ini, akan dibahas mengenai semua proses yang dilakukan di dalam aplikasi, perancangan tampilan aplikasi dan hasil implementasi berupa capture-screen dari masing-masing form di dalam aplikasi. Bab ini juga akan menampilkan hasil pengujian aplikasi dan perbandingan di antara kedua metode jaringan syaraf tiruan.

BAB V KESIMPULAN DAN SARAN


(21)

8 2.1 Sistem Biometrika

2.1.1 Pengertian

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

Secara umum, karakteristik pembeda tersebut dapat dikelompokkan menjadi 2, yaitu karakteristik fisiologis atau fisik (physiological / physical characteristics) dan karakteristik perilaku (behavioral characteristics). Biometrika berdasarkan karakteristik fisiologis / fisik menggunakan bagian-bagian fisik dari tubuh seseorang sebagai kode unik untuk pengenalan, seperti DNA, telinga, jejak panas pada wajah, geometri tangan, pembuluh tangan, wajah, sidik jari, iris, telapak tangan, retina, telinga, gigi dan bau (komposisi kimia) dari


(22)

keringat tubuh. Sedangkan biometrika berdasarkan karakteristik perilaku menggunakan perilaku seseorang sebagai kode unik untuk melakukan pengenalan, seperti gaya berjalan, hentakan tombol, tanda tangan dan suara. Khusus untuk suara, lebih tepat disebut sebagai karakteristik gabungan, karena suara dibentuk berdasarkan karakteristik fisik (bagian fisik tubuh manusia yang memproduksi suara) dan karakteristik perilaku (cara atau logat seseorang dalam berbicara).

Bau dan komposisi kimia dari keringat tubuh juga sering dikatakan sebagai biometrika berdasarkan karakteristik kimia (chemical characteristics). Gambar 2.1 menampilkan beberapa karakteristik biometrika.

Gambar 2.1 Berbagai Karakteristik Biometrika (Sumber : Putra, 2008, 22)

Perkembangan terbaru dari dunia biometrika adalah munculnya teknologi biometrika kognitif (cognitive biometrics), yaitu teknologi biometrika yang didasarkan pada tanggapan spesifik otak manusia sebagai pemicu agar komputer melakukan pencarian pada database. Teknologi ini menggabungkan persepsi manusia dengan suatu database pada komputer melalui suatu antarmuka brain-machine. Saat ini di beberapa negara maju, seperti Amerika, biometrika kognitif


(23)

telah dikembangkan untuk pengenal bau dan pemantau wajah. Penggunaan biometrika untuk sistem pengenalan memiliki beberapa keunggulan dibanding sistem tradisional (penggunaan password, PIN, kartu dan kunci), di antaranya: 1. Non-repudiation

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

2. Keamanan (security).

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

3. Penyaringan (screening)

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

(Putra, 2008, 21-23)

2.1.2 Persyaratan Pemilihan Suatu Biometrika

Tidak semua bagian tubuh atau perilaku seseorang dapat digunakan sebagai biometrika. Ada beberapa persyaratan yang harus dipenuhi agar bagian tubuh atau perilaku manusia dapat digunakan sebagai biometrika, antara lain:


(24)

1. Universal (universality), artinya karakteristik yang dipilih harus dimiliki oleh setiap orang. Tahi lalat di dahi seseorang tidak dapat dijadikan biometrika karena tidak semua orang memiliki tahi lalat di dahi.

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

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

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

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

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

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

Syarat nomor 1 – 4 adalah syarat utama (syarat wajib) yang harus dipenuhi, sedangkan syarat nomor 5 – 7 merupakan syarat tambahan. Bila karakteristik yang dipilih memenuhi persyaratan di atas maka karakteristik tersebut dapat digunakan sebagai biometrika. (Putra, 2008, 23-24)


(25)

2.1.3 Tanda Tangan

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

Sejak berabad-abad lamanya, tanda tangan digunakan untuk membuktikan otentikasi pada dokumen kertas, misalnya: surat, piagam, ijazah, buku, karya seni dan sebagainya. Tanda tangan mempunyai karakteristik sebagai berikut:

1. Tanda tangan adalah bukti yang otentik. 2. Tanda tangan tidak dapat dilupakan.

3. Tanda tangan tidak dapat dipindah untuk digunakan ulang.

4. Dokumen yang telah ditandatangani adalah valid dan tidak dapat diubah. 5. Tanda tangan tidak dapat disangkal (repudiation).

(Schneier, 1996, 34-35)

2.2 Kecerdasan Buatan 2.2.1 Pengertian

Kecerdasan buatan atau Artificial Intelligence (AI) merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. AI adalah cabang dari ilmu komputer yang mempelajari automatisasi tingkah laku cerdas.


(26)

Pada awal diciptakannya, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan zaman, teknologi komputer semakin ditingkatkan dan peran komputer semakin mendominasi kehidupan umat manusia. Komputer tidak lagi hanya digunakan sebagai alat hitung, lebih dari itu, komputer diharapkan untuk dapat diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia.

Manusia bisa menjadi pandai dalam menyelesaikan segala permasalahan di dunia ini karena manusia mempunyai pengetahuan dan pengalaman. Pengetahuan diperoleh dari belajar. Semakin banyak bekal pengetahuan yang dimiliki oleh seseorang tentu saja diharapkan akan lebih mampu dalam menyelesaikan permasalahan. Namun bekal pengetahuan saja tidak cukup, manusia juga diberi akal untuk melakukan penalaran, mengambil kesimpulan berdasarkan pengetahuan dan pengalaman yang mereka miliki. Tanpa memiliki kemampuan menalar yang baik, manusia dengan segudang pengalaman dan pengetahuan tidak akan dapat menyelesaikan masalah dengan baik. Demikian pula, dengan kemampuan menalar yang sangat baik, namun tanpa bekal pengetahuan dan pengalaman yang memadai, manusia juga tidak akan bisa menyelesaikan masalah dengan baik.

Agar komputer bisa bertindak seperti dan sebaik manusia, maka komputer juga harus diberi bekal pengetahuan dan mempunyai kemampuan untuk menalar. Untuk itu AI akan mencoba untuk memberikan beberapa metode untuk membekali komputer dengan kedua komponen tersebut agar komputer bisa menjadi mesin yang pintar.


(27)

Lebih detilnya, pengertian AI dapat dilihat dari berbagai sudut pandang, antara lain:

1. Sudut pandang kecerdasan.

AI akan membuat mesin menjadi ‘cerdas’ (mampu berbuat seperti apa yang dilakukan oleh manusia).

2. Sudut pandang penelitian.

AI adalah suatu studi bagaimana membuat agar komputer dapat melakukan sesuatu sebaik yang dikerjakan oleh manusia. Domain yang sering dibahas oleh para peneliti meliputi:

a. Mundane task

1) Persepsi (vision & speech).

2) Bahasa alami (understanding, generation & translation). 3) Pemikiran yang bersifat commonsense.

4) Robot control. b. Formal task

1) Matematika (geometri, logika, kalkulus integral, pembuktian). 2) Permainan / games.

c. Expert task

1) Analisis finansial. 2) Analisis medikal.

3) Analisis ilmu pengetahuan.

4) Rekayasa (desain, pencarian kegagalan, perencanaan manufaktur) 3. Sudut pandang bisnis.


(28)

AI adalah kumpulan peralatan yang sangat powerful dan metodologis dalam menyelesaikan masalah-masalah bisnis.

4. Sudut pandang pemograman.

AI meliputi studi tentang pemograman simbolik, penyelesaian masalah (problem solving) dan pencarian (searching). (Kusumadewi, 2003, 1-2)

Untuk menciptakan aplikasi AI ada 2 bagian utama yang sangat dibutuhkan, yaitu:

1. Basis Pengetahuan (Knowledge Base), berisi fakta-fakta, teori, pemikiran dan hubungan antara satu dengan yang lainnya.

2. Motor Inferensi (Inference Engine), yaitu kemampuan menarik kesimpulan berdasarkan pengalaman.

Gambar 2.2 Penerapan Konsep AI di Komputer (Sumber : Kusumadewi, 2003, 3)

Beberapa definisi atau pengertian dari AI dapat dilihat pada tabel 2.1 berikut.

Tabel 2.1 Beberapa definisi AI (Sumber : Desiani dan Arhami, 2005, 1-2)

No. Definisi AI

1. “The existing new effort to make computers think … machine with mind, in full, and literal sense” (Haugeland, 1985)

2.

“The automation of activities that we associate with human thinking, activities such as decision making, problem solving, learning …” (Bellman, 1978)


(29)

(Chaniak and mcDermott, 1985)

4. “The study of the computation that make it possible to perceive, reason and act” (Winston, 1992)

5. “The art of creating machine that performs functions that require intelligence when performed by people” (Kurzweil, 1990)

6. “The study of how to make computers to do things at which, at the moment, people are better” (Rich and Knight, 1991)

7. “A field of study that seeks to explain and emulate intelligent behaviour in term of computational processes” (Schalkoff, 1990)

8. “The branch of computer science that is concerned with the automation of intelligent behaviour” (Luger and Stubblefield, 1993)

9. System that thinks like humans. 10. System that acts like humans. 11. System that thinks rationally. 12. System that acts rationally.

Dari beberapa definisi pada tabel 2.1, definisi AI dapat dibagi dalam empat kategori, yaitu:

1. Sistem yang dapat berpikir seperti manusia “Thinking humanly” 2. Sistem yang dapat bertingkah laku seperti manusia “Acting humanly” 3. Sistem yang dapat berpikir secara rasional “Thinking rationally” 4. Sistem yang dapat bertingkah laku secara rasional “Acting rationally

Secara historis, keempat pendekatan tersebut telah dilakukan. Pendekatan manusia haruslah merupakan suatu ilmu empiris, termasuk hipotesa dan konfirmasi percobaan dan pendekatan rasional meliputi kombinasi dari matematika dan rekayasa. (Desiani dan Arhami, 2005, 3)

2.2.2 Sejarah

AI termasuk bidang ilmu yang relatif muda. Pada tahun 1950-an para ilmuan dan peneliti mulai memikirkan bagaimana caranya agar mesin dapat


(30)

melakukan pekerjaannya seperti yang bisa dikerjakan oleh manusia. Alan Turing, seorang matematikawan dari Inggris pertama kali mengusulkan adanya tes untuk melihat bisa tidaknya sebuah mesin dikatakan cerdas. Hasil tes tersebut kemudian dikenal dengan Turing Test, dimana si mesin tersebut menyamar seolah-olah sebagai seseorang di dalam suatu permainan yang mampu memberikan respon terhadap serangkaian pertanyaan yang diajukan. Turing beranggapan bahwa, jika mesin dapat membuat seseorang percaya bahwa dirinya mampu berkomunikasi dengan orang lain, maka dapat dikatakan bahwa mesin tersebut cerdas, seperti layaknya manusia.

AI itu sendiri dimunculkan oleh seorang profesor dari Massachusetts Institute of Technology yang bernama John McCarthy pada tahun 1956 pada Darmouth Conference yang dihadiri oleh para peneliti AI. Pada konferensi tersebut juga didefinisikan tujuan utama dari kecerdasan buatan, yaitu mengetahui dan memodelkan proses-proses berpikir manusia dan mendesain mesin agar dapat menirukan kelakuan mesin tersebut.

Beberapa program AI yang mulai dibuat pada tahun 1956-1966, antara lain:

1. Logic Theorist, diperkenalkan pada Dartmouth Conference, program ini dapat membuktikan teorema-teorema matematika.

2. Sad Sam, diprogram oleh Robert K. Lindsay (1960). Program ini dapat mengetahui kalimat-kalimat sederhana yang ditulis dalam bahasa Inggris dan mampu memberikan jawaban dari fakta-fakta yang didengar dalam sebuah percakapan.


(31)

3. ELIZA, diprogram oleh Joseph Weizenbaum (1967). Program ini mampu melakukan terapi terhadap pasien dengan memberikan beberapa pertanyaan dan jawaban. (Kusumadewi, 2003, 5-6)

2.2.3 Lingkup Kecerdasan Buatan pada Aplikasi Komersial

Makin pesatnya perkembangan teknologi menyebabkan adanya perkembangan dan perluasan lingkup yang membutuhkan kehadiran AI. Karakteristik ‘cerdas’ sudah mulai dibutuhkan di berbagai disiplin ilmu dan teknologi. AI tidak hanya dominan di bidang ilmu komputer (informatika), namun juga sudah merambah di berbagai disiplin ilmu yang lain. Irisan antara psikologi dan AI melahirkan sebuah area yang dikenal dengan nama cognition & psycolinguistics. Irisan antara teknik elektro dengan AI melahirkan berbagai ilmu, seperti: pengolahan citra, teori kendali, pengenalan pola dan robotika. Dewasa ini, AI juga memberikan konstribusi yang cukup besar di bidang manajemen. Adanya sistem pendukung keputusan dan Sistem Informasi Manajemen juga tidak terlepas dari andil AI.

Adanya irisan penggunaan AI di berbagai disiplin ilmu tersebut menyebabkan cukup rumitnya untuk mengklasifikasikan AI menurut disiplin ilmu yang menggunakannya. Untuk memudahkan hal tersebut, maka pengklasifikasian lingkup AI didasarkan pada output yang diberikan, yaitu pada aplikasi komersial (meskipun sebenarnya AI itu sendiri bukan merupakan medan komersial). (Kusumadewi, 2003, 6)


(32)

1. Sistem Pakar (Expert System). Disini, komputer digunakan sebagai sarana untuk menyimpan pengetahuan para pakar. Dengan demikian, komputer akan memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh pakar.

2. Pengolahan Bahasa Alami (Natural Language Processing). Dengan pengolahan bahasa alami ini diharapkan user dapat berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari.

3. Pengenalan Ucapan (Speech Recognition). Melalui pengenalan ucapan diharapkan manusia dapat berkomunikasi dengan komputer menggunakan suara.

4. Robotika & Sistem Sensor (Robotics & Sensory Systems).

5. Computer Vision, mencoba untuk dapat menginterpretasikan gambar atau objek-objek tampak melalui komputer.

6. Intelligent Computer-aided Instruction. Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar.

7. Game Playing. Permainan dapat menghasilkan sejumlah besar pencarian ruang. Hal ini cukup besar dan kompleks dan membutuhkan teknik pencarian untuk menentukan alternatif pengeksplorasian ruang permasalahan. Untungnya, setiap permainan memiliki aturan main. Hal ini mempermudah upaya menghasilkan ruang pencarian.

Beberapa karakteristik yang ada pada sistem yang menggunakan AI adalah pemogramannya yang cenderung bersifat simbolik ketimbang algoritmik, bisa mengakomodasi input yang tidak lengkap, bisa melakukan inferensi dan adanya


(33)

pemisahan antara kontrol dengan pengetahuan. Namun, seiring dengan perkembangan teknologi, muncul beberapa teknologi yang juga bertujuan untuk membuat agar komputer menjadi cerdas sehingga dapat menirukan kerja manusia sehari-hari.

Teknologi ini juga mampu mengakomodasi adanya ketidakpastian dan ketidaktepatan data input. Dengan didasari pada teori himpunan, maka pada tahun 1965 muncul Logika Fuzzy. Kemudian pada tahun 1975, John Holland mengatakan bahwa setiap problem berbentuk adaptasi (alami maupun buatan) secara umum dapat diformulasikan dalam terminologi genetika. Algoritma genetika ini merupakan simulasi proses evolusi Darwin dan operasi genetika atas kromosom. (Kusumadewi, 2003, 7)

2.2.4 Kecerdasan Buatan dan Kecerdasan Alami

Jika dibandingkan dengan kecerdasan alami (kecerdasan yang dimiliki oleh manusia), kecerdasan buatan (AI) memiliki beberapa keuntungan antara lain: 1. AI lebih bersifat permanen.

Kecerdasan alami akan cepat mengalami perubahan. Hal ini dimungkinkan karena sifat manusia yang pelupa. AI tidak akan berubah sepanjang sistem komputer dan program tidak diubah.

2. AI lebih mudah diduplikasi dan disebarkan.

Mentransfer pengetahuan manusia dari satu orang ke orang lain membutuhkan proses yang sangat lama, dan keahlian itu juga tidak akan pernah dapat diduplikasi dengan lengkap. Oleh karena itu, jika pengetahuan terletak pada


(34)

suatu sistem komputer, pengetahuan tersebut dapat disalin atau diduplikasi dari komputer tersebut dan dapat dipindahkan dengan mudah ke komputer yang lain.

3. AI lebih murah dibanding dengan kecerdasan alami.

Menyediakan layanan komputer akan lebih mudah dan lebih murah dibandingkan dengan harus mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama.

4. AI bersifat konsisten.

Hal ini disebabkan karena AI adalah bagian dari teknologi komputer. Sedangkan kecerdasan alami akan senantiasa berubah-ubah.

5. AI dapat didokumentasi.

Keputusan yang dibuat oleh komputer dapat didokumentasi dengan mudah dengan cara melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.

6. AI lebih cepat.

AI dapat mengerjakan pekerjaan jauh lebih cepat dibanding dengan kecerdasan alami.

7. AI lebih baik.

AI dapat mengerjakan pekerjaan lebih baik dibanding dengan kecerdasan alami. (Kusumadewi, 2003, 3-4)

Sedangkan keuntungan dari kecerdasan alami dibandingkan dengan AI adalah:


(35)

1. Kreatif.

Kemampuan untuk menambah ataupun memenuhi pengetahuan itu sangat melekat pada jiwa manusia. Pada kecerdasan buatan, untuk menambah pengetahuan harus dilakukan melalui sistem yang dibangun.

2. Kecerdasan alami memungkinkan orang untuk menggunakan pengalaman secara langsung. Sedangkan AI buatan harus berkerja dengan input-input simbolik.

3. Pemikiran manusia dapat digunakan secara luas, sedangkan AI sangat terbatas. (Kusumadewi, 2003, 4)

2.2.5 Komputasi Kecerdasan Buatan dan Komputasi Konvensional

Pada awal diciptakannya, komputer hanya diperuntukkan sebagai alat hitung (komputasi konvensional). Untuk itu, ada beberapa perbedaan antara komputasi yang dilakukan pada kecerdasan buatan dengan komputasi konvensional tersebut. Perbedaan komputasi kecerdasan buatan dengan komputasi konvensional dapat dilihat pada tabel 2.2.

Tabel 2.2 Perbedaan Kecerdasan Buatan dengan Pemograman Konvensional

(Sumber : Kusumadewi, 2003, 5)

Dimensi Kecerdasan Buatan (AI) Pemograman Konvensional Pemrosesan Mengandung

konsep-konsep simbolik

Algoritmik Sifat Input Tidak harus lengkap Harus lengkap Pencarian Kebanyakan bersifat

Heuristic

Biasanya didasarkan pada algoritma

Keterangan Disediakan Biasanya tidak disediakan


(36)

Struktur Kontrol dipisahkan dari pengetahuan

Kontrol terintegrasi dengan informasi (data)

Sifat Output Kuantitatif Kualitatif Pemeliharandan

update

Relatif mudah Sulit Kemampuan

menalar

Ya Tidak

2.3 Jaringan Syaraf Tiruan

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

2.3.1 Otak Manusia

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


(37)

Gambar 2.3 Susunan Syaraf Manusia (Sumber : Kusumadewi, 2003, 207)

Gambar 2.3 menunjukkan susunan syaraf pada manusia. Setiap sel syaraf (neuron) akan memiliki satu inti sel, inti sel ini nanti yang akan bertugas untuk melakukan pemrosesan informasi. Informasi yang datang akan diterima oleh dendrit. Selain menerima informasi, dendrit juga menyertai axon sebagai keluaran dari suatu pemrosesan informasi. Informasi hasil olahan ini akan menjadi masukan bagi neuron lainnya dimana antar dendrit kedua sel dipertemukan dengan synapsis. Informasi yang dikirimkan antar neuron ini berupa rangsangan yang dilewatkan melalui dendrit. Informasi yang datang dan diterima oleh dendrit akan dijumlahkan dan dikirim melalui axon ke dendrit akhir yang bersentuhan dengan dendrit dari neuron yang lain. Informasi ini akan diterima oleh neuron lain jika memenuhi batasan tertentu yang sering dikenal dengan nama nilai ambang (threshold). Pada kasus ini, neuron tersebut dikatakan teraktivasi. Hubungan antar neuron terjadi secara adaptif, artinya struktur hubungan tersebut terjadi secara dinamis. Otak manusia selalu memiliki kemampuan untuk belajar dengan melakukan adaptasi. (Kusumadewi, 2003, 208)


(38)

2.3.2 Komponen Jaringan Syaraf Tiruan

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

Gambar 2.4 Susunan Neuron Jaringan Syaraf Tiruan (Sumber : Kusumadewi, 2003, 210)

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


(39)

diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya. Demikian seterusnya.

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

Nilai Input

Neuron-neuron pada lapisan input

Neuron-neuron pada lapisan tersembunyi

Neuron-neuron pada lapisan output

Nilai Output

Gambar 2.5 Jaringan Syaraf dengan 3 Lapisan (Sumber : Kusumadewi, 2003, 211)


(40)

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

2.3.3 Arsitektur Jaringan

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

1. Jaringan dengan lapisan tunggal (single layer net)

Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot-bobot terhubung. Jaringan hanya menerima input kemudian secara langsung akan mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi (gambar 2.5). Pada gambar 2.5, lapisan input memiliki 3 neuron, yaitu X1, X2

dan X3. Sedangkan pada lapisan output memiliki 2 neuron, yaitu Y1 dan Y2.

Neuron-neuron pada kedua lapisan saling berhubungan. Seberapa besar hubungan antara 2 neuron ditentukan oleh bobot yang bersesuaian. Semua unit input akan dihubungkan dengan setiap unit output.


(41)

Gambar 2.6 Jaringan Syaraf dengan Lapisan Tunggal (Sumber : Kusumadewi, 2003, 212)

2. Jaringan dengan banyak lapisan(multilayer net)

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


(42)

Gambar 2.7 Jaringan Syaraf dengan Banyak Lapisan (Sumber : Kusumadewi, 2003, 213)

3. Jaringan dengan lapisan kompetitif (competitive layer net)

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


(43)

Gambar 2.8 Jaringan Syaraf dengan Lapisan Kompetitif (Sumber : Kusumadewi, 2003, 214)

2.4 Metode Perceptron

Perceptron terdiri suatu input dan output. Perceptron merupakan bentuk paling sederhana dari JST yang biasanya digunakan untuk pengklasifikasian jenis pola khusus yang biasa disebut linearly separable (pola-pola yang terletak pada sisi yang berlawanan pada suatu bidang). Fungsi aktivasi yang digunakan algoritma Perceptron adalah fungsi hard limiting. Output unit akan bernilai 1 bila jumlah bobot input lebih besar daripada threshold. Nilai threshold pada fungsi aktivasi adalah non-negatif. (Desiani, 2006, 178)

Algoritma Perceptron dapat dituliskan sebagai berikut: 1. Inisialisasi Bobot

Set semua bobot dan threshold (Ө) untuk bilangan acak kecil atau sama dengan nilai 0.


(44)

a. Tingkatkan aktivasi suatu nilai input dihitung oleh contoh penyajian untuk jaringan.

b. Untuk setiap set data / pola yang akan dilatih, tingkat aktivasi output (Yk, k=1,2,3,...m, dimana m = banyaknya lapisan output)

suatu unit output dihitung dengan:

Yk = Fh (

n i ki iW X 1

+ Ө)

dengan Wki adalah bobot, Xi (i=1,2,3,...n, dimana n = banyaknya

lapisan input) adalah bit input dari pola yang akan dilatih, Ө adalah threshold, dan Fh adalah fungsi hard limit, sebagai berikut:

1, jika a > Ө 0, jika a < Ө 3. Pelatihan Bobot

a. Mengatur bobot dengan:

Wki (t + 1) = Wki(t) – ΔWki

dengan Wki adalah bobot dari input unit i ke k pada waktu t (atau

iterasi ke t) dan ΔWki adalah bobot yang diatur.

b. Perubahan bobot dihitung dengan aturan delta: ΔWki = ŋδkXi

dengan ŋ adalah tingkat pembelajaran percobaan independen (0 < ŋ < 1) dan δk adalah error pada unit k, yaitu:

δj =Tk - Yk

dengan Tk merupakan aktivasi output yang diinginkan dan Yk

adalah aktivasi output yang sebenarnya pada unit output k. Fh(a)


(45)

4. Ulangi iterasi hingga mencapai konvergensi atau tidak ada bobot yang berubah pada langkah 3. (Desiani, 2006, 178-179)

Arsitektur jaringan Perceptron dapat dilihat pada gambar 2.9 berikut.

Gambar 2.9 Arsitektur Jaringan Perceptron (Sumber : Puspitaningrum, 2006, 30)

Algoritma Perceptron ini bisa digunakan baik untuk input biner (0 / 1) maupun bipolar (-1 / 1), dengan Ө tertentu. Pada algoritma tersebut, bobot-bobot yang diperbaiki hanyalah bobot-bobot yang berhubungan dengan input yang aktif (Xi ≠ 0) dan bobot-bobot yang tidak menghasilkan nilai Y yang benar.

(Kusumadewi, 2003, 225)

2.5 Metode Backpropagation

Backpropagation merupakan metode pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah


(46)

bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Metode backpropagation menggunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk mendapatkan error ini, tahap perambatan maju (forward propagation) harus dikerjakan terlebih dahulu. Pada saat perambatan maju, neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid, yaitu:

f(x) = 1 1 + e-x

Arsitektur jaringan backpropagation dapat dilihat pada gambar 2.10 berikut.

Gambar 2.10 Arsitektur Jaringan Backpropagation (Sumber : Kusumadewi, 2003, 236)


(47)

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

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

Algoritma pelatihan backpropagation adalah sebagai berikut:

0. Inisialisasi bobot (ambil bobot awal dengan nilai random yang kecil). Tentukan pula nilai angka pembelajaran (α), nilai toleransi error (bila menggunakan nilai ambang sebagai kondisi berhenti) dan set maksimum epoch (bila menggunakan banyaknya epoch sebagai kondisi berhenti). 1. While kondisi berhenti tidak terpenuhi, maka untuk setiap pasangan elemen

yang akan dilatih, lakukan langkah ke-2 sampai ke-8. Tahap Feedforward

2. Setiap input xi (dari unit ke-1 sampai unit ke-n pada lapisan input)

mengirimkan sinyal input ke semua unit yang ada di lapisan atasnya (ke lapisan tersembunyi): xi.

3. Pada setiap unit di lapisan tersembunyi (zj; i = 1,2,...p) menjumlahkan

sinyal-sinyal input terbobot:

z_inj = v0j +

n i ij iv x 1

gunakan fungsi aktivasi untuk menghitung sinyal outputnya: zj = f(z_inj)

dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).


(48)

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

terbobot.

y_ink = w0k +

p j jk jw z 1

gunakan fungsi aktivasi untuk menghitung sinyal outputnya: yk = f(y_ink)

dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).

Tahap Backpropagation

5. Tiap–tiap unit output (Yk, k=1,2,3,...m) menerima target pola yang

berhubungan dengan pola input pembelajaran, hitung informasi errornya: δk = (tk – yk) f’(y_ink)

kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai wjk):

Δwjk= α δk zj

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

Δw0k= α δk

kirimkan δk ini ke unit-unit yang ada di lapisan bawahnya.

6. Tiap-tiap unit tersembunyi (zj; j = 1,2,...p) menjumlahkan delta inputnya

(dari unit-unit yang berada di lapisan atasnya):

δ_inj =

m k jk kw 1


(49)

kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error:

δj= δ_inj f’(z_inj)

kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai vij):

Δvij= α δj xi

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

Δv0j= α δj

Tahap Update Bobot dan Bias

7. Tiap–tiap unit output (Yk, k=1,2,3,...m) memperbaiki bias dan bobotnya

(j=0,1,2,...,p):

wjk (baru) = wjk(lama) + Δwjk

Tiap-tiap unit tersembunyi (zj; j = 1,2,...p) memperbaiki bias dan bobotnya

(i=0,1,2,...,n):

vij (baru) = vij(lama) + Δvij

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

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


(50)

2.6 Pre-Processing

2.6.1 Proses Pengambangan

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

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

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

2.6.2 Ekstraksi Ciri

Proses ekstraksi ciri berfungsi untuk mengubah suatu pola menjadi bit-bit digital sehingga dapat dimengerti oleh komputer. Misalkan dilakukan proses ekstraksi ciri terhadap citra karakter sebagai berikut,

Gambar 2.11 Karakter ‘T’ g(x,y)


(51)

Citra pola karakter dibagi menjadi matriks berukuran m x n (m baris dan n kolom). Pada contoh ini, matriks yang digunakan adalah 10 x 10. Pada setiap kotak (elemen), dilakukan penelusuran. Jika ditemukan nilai 0 (piksel hitam) dalam jumlah tertentu, maka diberikan nilai 0 (warna hitam) pada kotak tersebut. Namun, jika tidak demikian, maka diberikan nilai 1 (warna putih) untuk kotak tersebut. Dari sini, diperoleh hasil ekstraksi ciri berupa nilai barisan bit 0 dan 1 sebanyak 100 bit. (Kusumadewi, 2003, 269)

Gambar 2.12 Proses Ekstraksi Ciri

2.7 Studi Literatur Sejenis

Berdasarkan jurnal "Identifikasi Tanda Tangan Menggunakan Jaringan Syaraf Tiruan Perambatan Balik (Backpropagation)" yang ditulis oleh Achmad dkk., pengujian dilakukan terhadap tanda tangan yang telah dilatih sebelumnya. Hasil pengenalan tanda tangan dapat dilihat pada tabel 2.3.


(52)

Tabel 2.3 Tingkat Keberhasilan Pengenalan Data Internal (Sumber: http://eprints.undip.ac.id/172/1/100_106_ahmad_rizal.pdf)

Berdasarkan tabel 2.3, terlihat bahwa sistem memiliki tingkat keberhasilan sebesar 95% untuk mengenali tanda tangan seseorang yang telah dilatihkan. Sedangkan apabila pengujian dilakukan terhadap data tanda tangan di luar basisdata. Hasil pengenalan terhadap tanda tangan sebagai data luar dapat dilihat pada tabel 2.4.


(53)

Tabel 2.4 Tingkat Keberhasilan Pengenalan Data Eksternal (Sumber: http://eprints.undip.ac.id/172/1/100_106_ahmad_rizal.pdf)

Berdasarkan jurnal "Pengenalan Huruf Berbasis Jaringan Syaraf Tiruan Menggunakan Algoritma Perceptron" yang ditulis oleh Wahyono dkk. (Universitas Gadjah Mada), Perceptron digunakan untuk melakukan pengklasifikasian pola huruf.

Hasil kesimpulan yang didapat dari penelitian adalah:

“Dengan menggunakan algoritma Perceptron, ternyata bisa dilakukan pengklasifikasian pola huruf. Meskipun dalam pelatihan data yang sedikit, saat pengujiannya hasil yang didapat menunjukkan bahwa beberapa pola tidak sesuai dengan klasifikasi polanya tetapi persentase ketidaksesuaian ini lebih kecil dibandingkan dengan pengujian data yang memiliki data pelatihan lebih banyak.”


(54)

2.8 Microsoft Visual Basic

Microsoft Visual Basic adalah bahasa pemograman yang digunakan untuk membuat aplikasi Windows yang berbasis grafis (GUI – Graphical User Interface).

Visual Basic merupakan event-driven programming (pemograman terkendali kejadian) artinya program menunggu sampai adanya respon dari pemakai berupa event atau kejadian tertentu (tombol diklik, menu dipilih, dan event lainnya). Ketika event terdeteksi, kode yang berhubungan dengan event (prosedur event) akan dijalankan. (Kusumo, 2000, 1)

2.8.1 Sejarah Singkat

Berikut ini adalah point-point penting dalam sejarah perkembangan Visual Basic, sebagai berikut:

1. Visual Basic pertama sekali diperkenalkan pada tahun 1991, yaitu program Visual Basic untuk DOS dan untuk Windows.

2. Visual Basic 3.0 dirilis tahun 1993.

3. Visual Basic 4.0 dirilis pada akhir 1995 (tambahan dukungan untuk aplikasi 32 bit).

4. Visual Basic 6.0 dirilis pada akhir tahun 1998. (Kusumo, 2000, 1)

2.8.2 Struktur Aplikasi


(55)

1. Form adalah windows atau jendela, di mana programmer akan membuat tampilan user interface.

2. Kontrol (control) adalah tampilan berbasis grafis yang dimasukkan pada form untuk membuat interaksi dengan pemakai. Contoh kontrol adalah textbox, label, scroll bar, command button (tombol) dan kontrol lainnya. Form dan kontrol adalah objek.

3. Properti (properties) adalah nilai atau karakteristik yang dimiliki oleh sebuah objek Visual Basic. Contoh: Name, Captions, Size, Color, Position dan Text. Visual Basic menerapkan properti default atau standard. Programmer dapat mengubah properti saat mendesain program atau run time (ketika program dijalankan).

4. Metode (methods) adalah serangkaian perintah yang sudah tersedia pada suatu objek yang dapat diminta untuk mengerjakan tugas khusus.

5. Prosedur Kejadian (event procedures) adalah kode yang berhubungan dengan suatu objek. Kode ini akan dieksekusi ketika ada respon dari pemakai berupa event tertentu.

6. Prosedur Umum (general procedures) adalah kode yang tidak berhubungan dengan suatu objek. Kode ini harus diminta oleh aplikasi.

7. Modul (module) adalah kumpulan dari prosedur umum, fungsi umum, deklarasi variabel dan definisi konstanta yang digunakan oleh aplikasi.

Langkah-langkah untuk mengembangkan aplikasi adalah: 1. Membuat user interface atau tampilan.


(56)

3. Menulis kode program. (Kusumo, 2000, 2)

Gambar 2.13 Struktur Aplikasi Visual Basic (Sumber : Kusumo, 2000, 2)

2.8.3 Tampilan Layar

Tampilan layar Microsof Visual Basic terdiri dari:

1. Main Windows (jendela utama) terdiri dari title bar (baris judul), menu bar dan toolbar. Baris judul berisi nama proyek, mode operasi Visual Basic sekarang dan form yang aktif. Menu bar merupakan menu drop-down dimana programmer dapat mengatur operasi dari lingkungan Visual Basic. Toolbar berisi kumpulan gambar yang mewakili perintah yang ada di menu. Jendela utama juga menampilkan lokasi dari form yang aktif relatif terhadap sudur kiri atas layar (satuan ukurannya twips), juga panjang dan lebar dari form yang aktif.


(57)

(Sumber : Ario Suryo Kusumo, 2000, 3)

2. Form Windows (jendela form) adalah pusat dari pengembangan aplikasi Visual Basic. Di sinilah, tempat programmer mendesain atau “menggambar” aplikasi.

Gambar 2.15 Form Visual Basic (Sumber : Kusumo, 2000, 4)

3. Project Windows (jendela proyek) menampilkan daftar form dan modul dari proyek. Proyek merupakan kumpulan dari modul form, modul class, modul standar dan file sumber yang membentuk suatu aplikasi.

Gambar 2.16 Jendela Proyek (Sumber : Kusumo, 2000, 4)


(58)

4. Toolbox adalah kumpulan dari objek yang digunakan untuk membuat user interface serta kontrol bagi program aplikasi. Ada dua cara untuk menempatkan kontrol pada suatu form, yaitu:

a. Klik ganda kontrol di dalam toolbox. Selanjutnya, kita dapat mengubah besar dan ukurannya serta memindahkannya dengan metode drag and drop.

b. Klik kontrol di dalam toolbox, kemudian pindahkan pointer mouse pada jendela form. Kursor berubah menjadi tanda tambah (cross). Tempatkan mouse pointer pada sudut kiri atas dimana kontrol ingin diletakkan, tekan tombol mouse kiri dan tahan ketika menyeret (drag) kursor ke arah sudut kanan bawah. Pointer Label Frame Check Box Combo Box Horizontal Scroll Bar Timer Directory List Box Shape Image OLE Picture Box Text Box Command Button Option Button List Box

Vertical Scroll Bar Drive List Box File List Box Line Data

Gambar 2.17 Toolbox (Sumber : Kusumo, 2000, 5)


(59)

5. Properties Windows (jendela properti) berisi daftar struktur setting properti yang digunakan pada sebuah objek terpilih. Kotak drop-down pada bagian atas jendela berisi daftar semua objek pada form yang aktif. Ada dua tab tampilan: Alphabetic (urut berdasarkan abjad) dan Categorized (urut berdasarkan kategori / kelompok). Di bagian bawah kotak terdapat properti dari objek terpilih.

Gambar 2.18 Jendela Properti (Sumber : Kusumo, 2000, 6)

6. Form Layout Windows (jendela layout form) menampilkan posisi form relatif terhadap layar monitor.


(60)

Gambar 2.19 Jendela Layout Form (Sumber : Kusumo, 2000, 6) 2.9 Microsoft Access

Microsoft Access (atau Microsoft Office Access) adalah sebuah program aplikasi basis data komputer relasional yang ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari beberapa aplikasi Microsoft Office, selain tentunya Microsoft Word, Microsoft Excel, dan Microsoft PowerPoint. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna. Versi terakhir adalah Microsoft Office Access 2007 yang termasuk ke dalam Microsoft Office System 2007.

Microsoft Access dapat menggunakan data yang disimpan di dalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis data yang mendukung standar ODBC. Para pengguna / programmer yang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang kompleks, sementara para programmer yang kurang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang sederhana. (http://office.microsoft.com/en-gb/access-help/introduction-to-importing-and-exporting-data-HA101790599.aspx)


(61)

48 3.1 Metodologi Pengumpulan Data

Dalam melakukan pengumpulan data, penulis menggunakan dua macam teknik untuk mendapatkan bahan - bahan sebagai dasar penelitian, yaitu studi pustaka, sampling :

1. Studi Pustaka

Pengumpulan data dilakukan dengan cara mengambil sumber referensi dari buku teks ataupun internet mengenai cara kerja metode Perceptron dan Backpropagation.

2. Sampling

Penulis mengumpulkan beberapa contoh gambar tanda tangan dari internet ataupun secara manual, untuk kebutuhan pengujian terhadap aplikasi.

3.2. Metodologi Pengembangan Perangkat Lunak

Perancangan aplikasi pengenalan tanda tangan menggunakan metode Perceptron dan Backpropagation ini menggunakan tahapan Model Sekuensial Linier (Linear Sequential Model) Gambar 3.1 menggambarkan model sekuensial linier.


(62)

Gambar 3.1 Model Sekuensial Linier (Sumber : Pressman, 2002)

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

1. Rekayasa dan pemodelan sistem / informasi, yaitu: a. Analisis kebutuhan perangkat lunak

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

b. Desain

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


(63)

2. Generasi Kode

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

3. Pengujian

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

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

Tahapan analisis akan mencakup analisis kebutuhan sistem serta analisis proses kerja aplikasi yang digambarkan secara umum dengan menggunakan flowchart.

3.3 Analisis Kebutuhan Sistem

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


(64)

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

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

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

4. Aplikasi harus mampu melakukan proses pengenalan terhadap pola tanda tangan dengan menggunakan metode Perceptron dan Backpropagation. 5. Output dari aplikasi adalah nama identitas pemilik tanda tangan.

3.4 Analisis Proses Kerja

Proses kerja aplikasi mencakup: penerimaan input gambar scan tanda tangan, proses pengambangan (thresholding), proses ekstraksi ciri dan proses pelatihan serta proses pengenalan. Proses pengenalan hanya akan dapat mengenali semua pola tanda tangan yang sudah dilatih sebelumnya.

Secara garis besar, proses kerja aplikasi dapat digambarkan dalam bentuk flowchart seperti terlihat pada gambar 3.2.


(65)

(66)

3.5 Kerangka Berpikir

Dalam melakukan penelitian ini, penulis melakukan tahapan - tahapan kegiatan dengan mengikuti rencana kegiatan yang tertuang dalam model konseptual penelitian ini.

Gambar 3.3 Kerangka Berpikir Metode Pengembangan Sistem

Merumuskan masalah dan analisis

Studi Pustaka dan Sampling

Analisis

Desain

Kode

Tes

Analisis Kebutuhan Sistem Analisis Proses Kerja Perancangan Aplikasi

Perancangan Basis Data

Perancangan Tampilan

Implementasi kode

Pengujian Sampling

Kesimpulan dan saran pembuatan sistem


(67)

1

54 4.1 Pembahasan

Pembahasan akan mencakup pembahasan cara kerja semua proses yang dilakukan di dalam aplikasi dan pembahasan perancangan. Pembahasan perancangan meliputi perancangan tampilan dan perancangan database.

4.1.1 Pembahasan Cara Kerja Proses 4.1.1.1 Proses Pengambangan

Sebagai contoh, input gambar tanda tangan adalah gambar 4.1:

Gambar 4.1 Contoh Input Gambar Tanda Tangan

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

GRAY = (R + G + B) / 3

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


(68)

Gambar 4.2 Nilai Piksel pada Input Gambar

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

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

Hasil pemrosesan grayscale dari gambar 4.2 akan mendapatkan hasil seperti pada gambar 4.3.


(69)

Setelah dilakukan proses grayscale, kemudian dilakukan proses pengambangan untuk membedakan tulisan dan latar. Jika threshold ditentukan 140, maka piksel-1 diberi warna hitam karena memiliki nilai grayscale lebih kecil dari 140. Hasil proses pengambangan adalah seperti pada gambar 4.4 :

Gambar 4.4 Hasil Perhitungan Proses Pengambangan

Gambar hasil proses pengambangan terhadap gambar 4.1 dapat dilihat pada gambar 4.5 berikut:


(70)

4.1.1.2 Proses Pelatihan Pola Tanda Tangan

Proses pelatihan akan mengekstraksi ciri dari pola tanda tangan, menyimpannya ke database dan menghitung bobot pelatihan. Bobot pelatihan ini akan digunakan dalam fase pengenalan. Backpropagation dan Perceptron dapat mempelajari beberapa sampel pola sekaligus untuk 1 identitas. Semakin banyak sampel yang dilatih, maka semakin akurat pula proses pengenalan dari pola tanda tangan tersebut. Proses pelatihan dapat digambarkan dalam bentuk flowchart sebagai berikut.

Gambar 4.6 Flowchart Proses Pelatihan Tanda Tangan (Training) Sesuai pada flowchart (gambar 4.6), sebelum gambar tanda tangan dilatih dengan menggunakan JST, gambar tanda tangan akan terlebih dahulu dilakukan proses pengambangan dan diekstraksi ciri (binerisasi). Proses ekstraksi ciri dapat dilihat pada gambar 4.7 berikut.


(71)

Sampel Tanda Tangan Hasil proses pengambangan di-Crop dan dibuang sisi yang kosong

20 kotak

20 kotak

Ekstraksi Ciri 20 x 20

0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Hasil Ekstraksi Ciri 20 x 20 Thresholding

Gambar 4.7 Proses Ekstraksi Ciri

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


(72)

4.1.1.3 Proses Pengenalan Pola Tanda Tangan

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

Gambar 4.8 Flowchart Proses Pengenalan Tanda Tangan

4.1.1.4 Proses Backpropagation

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


(73)

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

Gambar 4.9 Arsitektur Jaringan Backpropagation

Secara ringkas, fase pelatihan Backpropagation adalah sebagai berikut: 0. Inisialisasi nilai awal berikut:

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

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

Tahap Feedforward

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


(74)

z_inj = v0j +

n i ij iv x 1

zj = f(z_inj)

2. Isi Nilai pada neuron lapisan output (y). Untuk k = 1 to m, hitung:

y_ink = w0k +

p j jk jw z 1

yk = f(y_ink)

Tahap Backpropagation

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

δk = (tk – yk) f’(y_ink)

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

δk = (tk – yk) f(y_ink) (1 - f(y_ink))

Oleh karena yk = f(y_ink), maka:

δk = (tk – yk) yk (1 - yk)

Hitung perubahan bobot w:

Δwjk= α δk zj dan Δw0k= α δk

4. Hitung informasi error untuk mengubah nilai bobot v. Untuk j=1 to p, lakukan:

δ_inj =

m k jk kw 1

kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error:


(75)

δj= δ_inj f’(z_inj)

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

Oleh karena zj = f(z_inj), maka:

δj= δ_inj zj (1 - zj)

Hitung perubahan bobot v :

Δvij= α δj xi dan Δv0j= α δj

Tahap Update Bobot dan Bias

5. Hitung: wjk (baru) = wjk(lama) + Δwjk

vij (baru) = vij(lama) + Δvij

6. Tes kondisi berhenti, bila epoch mencapai maksimum epoch atau kuadrat error < target error.

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

c. tahap update bobot: ubah nilai bobot garis w dan v.

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


(76)

Hitung nilai pada lapisan tersembunyi (z) dan lapisan output (y) :

UPDATE BOBOT TAHAP BACKPROPAGATION

START

Tentukan bobot V(i, j) dan W(j,k) secara acak dengan: i = 1 ... n dan j = i ... p Tetapkan MaxEpoh, limit (error minimum yang

diharapkan) dan α (Learning Rate) Masukkan: Input : x (n) Target : T (m)

dengan m = banyak lapisan output dan n = 400 (hasil ekstraksi ciri 20 x 20)

While (Epoh < MaxEpoh) atau (δ2 > limit)

Untuk setiap pola data yang akan dilatih

Xi = angka biner 0 atau 1 dari hasil ekstraksi ciri data

Next End While END TAHAP FEEDFORWARD

Hitung Informasi Error:

Hitung Bobot:


(1)

B-57

Y(3) = nilai T(3), tidak perlu melakukan update bobot.

Y(4) = (X(1) * w(4,1)) + (X(2) * w(4,2)) + (X(3) * w(4,3)) + (X(4) * w(4,4)) + (X(5) * w(4,5)) + (X(6) * w(4,6)) + (X(7) * w(4,7)) + (X(8) * w(4,8)) + (X(9) * w(4,9)) + (X(10) * w(4,10)) + (X(11) * w(4,11)) + (X(12) * w(4,12)) + (X(13) * w(4,13)) + (X(14) * w(4,14)) + (X(15) * w(4,15)) + 0

Y(4) = (0 * 0) + (0 * 0.2) + (1 * -0.2) + (0 * 0.2) + (0 * 0) + (1 * 0) + (0 * 0.2) + (1 * 0) + (1 * 0) + (1 * -0.2) + (0 * 0.2) + (1 * -0.2) + (1 * 0) + (1 * -0.2) + (1 * 0) + 0

Y(4) = -0.8

Fungsi hardlimit: Y(4) < 0, sehingga Y(4) = 0

Y(4) = nilai T(4), tidak perlu melakukan update bobot.

Tidak ada bobot yang berubah. Proses Pelatihan selesai.

D.

Proses pengenalan pola pada gambar 4.12, maka langkah-langkah proses pengenalan

metode

Perceptron

hal(

X = 001001011101111

Y(1) = (X(1) * w(1,1)) + (X(2) * w(1,2)) + (X(3) * w(1,3)) + (X(4) * w(1,4)) + (X(5) * w(1,5)) + (X(6) * w(1,6)) + (X(7) * w(1,7)) + (X(8) * w(1,8)) + (X(9) * w(1,9)) + (X(10) * w(1,10)) + (X(11) * w(1,11)) + (X(12) * w(1,12)) + (X(13) * w(1,13)) + (X(14) * w(1,14)) + (X(15) * w(1,15)) + 0

Y(1) = (0 * 0) + (0 * -0.2) + (1 * 0) + (0 * -0.2) + (0 * 0) + (1 * -0.2) + (0 * -0.2) + (1 * -0.2) + (1 * -0.2) + (1 * 0) + (0 * -0.2) + (1 * 0) + (1 * -0.2) + (1 * 0) + (1 * -0.2) + 0

Y(1) = -1

Fungsi hardlimit: Y(1) < 0, sehingga Y(1) = 0

Y(2) = (X(1) * w(2,1)) + (X(2) * w(2,2)) + (X(3) * w(2,3)) + (X(4) * w(2,4)) + (X(5) * w(2,5)) + (X(6) * w(2,6)) + (X(7) * w(2,7)) + (X(8) * w(2,8)) + (X(9) * w(2,9)) + (X(10) * w(2,10)) + (X(11) * w(2,11)) + (X(12) * w(2,12)) + (X(13) * w(2,13)) + (X(14) * w(2,14)) + (X(15) * w(2,15)) + 0

Y(2) = (0 * 0) + (0 * -0.2) + (1 * 0) + (0 * -0.2) + (0 * 0) + (1 * -0.2) + (0 * -0.2) + (1 * -0.2) + (1 * -0.2) + (1 * 0) + (0 * -0.2) + (1 * 0) + (1 * -0.2) + (1 * 0) + (1 * -0.2) + 0

Y(2) = -1

Fungsi hardlimit: Y(2) < 0, sehingga Y(2) = 0

Y(3) = (X(1) * w(3,1)) + (X(2) * w(3,2)) + (X(3) * w(3,3)) + (X(4) * w(3,4)) + (X(5) * w(3,5)) + (X(6) * w(3,6)) + (X(7) * w(3,7)) + (X(8) * w(3,8)) + (X(9) * w(3,9)) + (X(10) * w(3,10)) + (X(11) * w(3,11)) + (X(12) * w(3,12)) + (X(13) * w(3,13)) + (X(14) * w(3,14)) + (X(15) * w(3,15)) + 0

Y(3) = (0 * 0) + (0 * -0.2) + (1 * 0.2) + (0 * -0.2) + (0 * 0) + (1 * 0) + (0 * -0.2) + (1 * 0) + (1 * 0) + (1 * 0.2) + (0 * -0.2) + (1 * 0.2) + (1 * 0) + (1 * 0.2) + (1 * 0) + 0

Y(3) = 0.8

Fungsi hardlimit: Y(3) >= 0, sehingga Y(3) = 1

Y(4) = (X(1) * w(4,1)) + (X(2) * w(4,2)) + (X(3) * w(4,3)) + (X(4) * w(4,4)) + (X(5) * w(4,5)) + (X(6) * w(4,6)) + (X(7) * w(4,7)) + (X(8) * w(4,8)) + (X(9) * w(4,9)) + (X(10) * w(4,10)) + (X(11) * w(4,11)) + (X(12) * w(4,12)) + (X(13) * w(4,13)) + (X(14) * w(4,14)) + (X(15) *


(2)

Y(4) = (0 * 0) + (0 * 0.2) + (1 * -0.2) + (0 * 0.2) + (0 * 0) + (1 * 0) + (0 * 0.2) + (1 * 0) + (1 * 0) + (1 * -0.2) + (0 * 0.2) + (1 * -0.2) + (1 * 0) + (1 * -0.2) + (1 * 0) + 0

Y(4) = -0.8

Fungsi hardlimit: Y(4) < 0, sehingga Y(4) = 0

Hasil = 0010


(3)

A-1

LAMPIRAN A

HASIL PENGUJIAN APLIKASI

A.1

Fase Pelatihan

Pada fase pelatihan, sampel tanda tangan dimasukkan dan dilatih

satu-per-satu sehingga pola tanda tangan dapat dikenali pada fase pengenalan. Berikut

adalah 10 (sepuluh) buah sampel tanda tangan yang dilatih:

01. Sri Dewi

02. Diah Puspita

03. Emha Taufik

04. Budi Suryo

05. Aditya Siregar

06. Tribowo Kuswanto

07. Dessy Sabine

08. Dwi Wahyu


(4)

Waktu pelatihan yang dibutuhkan untuk melakukan proses pelatihan

terhadap sampel tanda tangan dapat dilihat pada tabel A.1.

Tabel A.1 Waktu Proses Pelatihan

Data ke-

Perceptron

(detik)

Backpropagation

(detik)

1

3.014

26.204

2

3.015

35.625

3

3.015

43.765

4

3.016

52.672

5

3.047

61.641

6

3.062

70.687

7

3.063

79.313

8

3.078

88.14

9

3.078

96.891

10

3.109

105.672

A.2

Fase Pengenalan

Pada fase pengenalan, apabila sampel tanda tangan yang dimasukkan sama

dengan gambar sampel tanda tangan ketika dilatih, penulis mendapatkan hasil

keakuratan pengenalan sebesar 100%, atau dengan kata lain, semua pola dapat

dikenali dengan baik oleh metode

Perceptron

maupun

Backpropagation

.

Oleh karena itu, penulis mencoba membuat 10 (sepuluh) buah sampel

tanda tangan secara manual untuk menguji akurasi masing-masing metode.

Berikut adalah sampel tanda tangan yang akan dikenali:


(5)

A-3

01. Sri Dewi

02. Diah Puspita

03. Emha Taufik

04. Budi Suryo

05. Aditya Siregar

06. Tribowo Kuswanto

07. Dessy Sabine

08. Dwi Wahyu

09. Dave Saleh

10. Heri Kuwanto

Hasil pengenalan dan waktu yang dibutuhkan untuk proses pengenalan

dapat dilihat pada tabel A.2.


(6)

Tabel A.2 Waktu dan Hasil Proses Pengenalan

Data ke-

Perceptron

Backpropagation

Dikenali Waktu (detik) Dikenali Waktu (detik)

1

Ya

0.047

Ya

0.360

2

Ya

0.047

Ya

0.343

3

Tidak

-

Ya

0.359

4

Ya

0.046

Ya

0.343

5

Ya

0.063

Ya

0.360

6

Ya

0.063

Ya

0.359

7

Ya

0.063

Ya

0.344

8

Ya

0.062

Ya

0.360

9

Ya

0.047

Ya

0.343

10

Ya

0.063

Ya

0.343

Pada contoh kasus pengenalan di atas, metode

Backpropagation

berhasil

mengenali semua sampel dengan baik, sedangkan

Perceptron

gagal satu buah

sampel, yaitu sampel ke-3.