Implementasi Jaringan Saraf Tiruan Untuk Pengenalan Tanda Tangan
IMPLEMENTASI JARINGAN SARAF TIRUAN UNTUK
PENGENALAN TANDA TANGAN
SKRIPSI
SARI JULI ANITA SIHOTANG
041401042
PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2010
(2)
IMPLEMENTASI JARINGAN SARAF TIRUAN UNTUK
PENGENALAN TANDA TANGAN
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
SARI JULI ANITA SIHOTANG
041401042
PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2010
(3)
PERSETUJUAN
Judul : IMPLEMENTASI JARINGAN SARAF TIRUAN
UNTUK PENGENALAN TANDA TANGAN
Kategori : SKRIPSI
Nama : SARI JULI ANITA SIHOTANG
Nomor Induk Mahasiswa : 041401042
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 18 Desember 2010
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dr. Nasruddin MN, M.Eng.Sc Drs. Partano Siagian, M.Sc
NIP. 130 900 137 NIP. 130 877 994
Diketahui/Disetujui oleh Prog. Studi Ilmu Komputer S-1 Ketua,
Prof. Dr. Muhammad Zarlis NIP.195707011986011003
(4)
PERNYATAAN
IMPLEMENTASI JARINGAN SARAF TIRUAN UNTUK PENGENALAN TANDA TANGAN
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 18 Desember 2010
SARI JULI ANITA SIHOTANG 041401042
(5)
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas berkat dan karunia yang diberikan-Nya kepada penulis, sehingga penulis dapat menyelesaikan skripsi ini dalam waktu yang telah ditetapkan.
Ucapan terima kasih penulis sampaikan kepada Bapak Drs. Partano Siagian, M.Sc selaku Pembimbing I dan Bapak Dr. Nasruddin MN, M.Eng,Sc selaku Pembimbing II pada penyelesaian skripsi ini, yang telah memberikan panduan dan kepercayaan, serta kebaikannya untuk meluangkan waktu, tenaga, pikiran, dan bantuannya kepada penulis untuk menyelesaikan skripsi ini. Ucapan terima kasih juga
ditujuka n kepada Ketua dan Sekeretaris Departemen Ilmu Komputer
Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syahriol Sitorus, SSi, MIT, Dekan dan pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Departemen Ilmu Komputer FMIPA USU serta pegawai di FMIPA USU dan rekan-rekan kuliah.
Akhirnya tidak terlupakan kepada yang tersayang Ayahanda Drs. M. Sihotang dan Ibunda F. Sidabutar yang memberikan dukungan dan doa setiap hari kepada penulis, kepada abang ipar dan kakak, juga kepada kedua adikku yang selalu memberikan semangat untuk segera menyelesaikan skripsi ini, serta seluruh keluarga dan teman-teman satu kost maupun teman-teman lainnya dimanapun berada baik yang langsung memotivasi maupun yang terus mendukung dalam doa. Semoga Tuhan Yang Maha Esa akan membalasnya.
(6)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Bab 1 Pendahuluan 1
1.1Latar Belakang 1
1.2Rumusan Masalah 2
1.3Batasan Masalah 2
1.4Tujuan Penelitian 2
1.5Manfaat Penelitian 3
1.6Metodologi Penelitian 3
1.7Sistematika Penulisan 4
Bab 2 Landasan Teori 5
2.1 Pengolahan Citra 5
2.1.1 Citra 5
2.1.2 Digitalisasi Citra 5
2.1.3 Citra Grayscale 7
2.1.4 Citra Biner 7
2.1.5 Definisi Pengolahan Citra 7
2.1.6 Operasi Pengolahan Citra 8
2.1.7 Pengambangan 10
2.2 Pengenalan Pola 12
2.3 Verifikasi Tanda Tangan 13
2.4 Jaringan Saraf Tiruan 14
2.4.1 Pengertian Jaringan Saraf Tiruan 14
2.4.2 Algoritma Umum Jaringan Saraf Tiruan 16
2.4.3 Model Neuron 17
2.4.4 Arsitektur Jaringan Saraf Tiruan 18
2.4.5 Kelebihan Jaringan Saraf Tiruan 20
2.4.6 Aplikasi Jaringan Saraf Tiruan 21
2.4.7 Fungsi Aktivasi 21
2.4.8 Pelatihan Terawasi dan Tidak Terawasi 23
2.5 Propagasibalik (Backpropagation) 23
(7)
2.5.3 Parameter Pelatihan 31
2.5.4 Kelemahan Yang Sering Terjadi Pada Propasaibalik 33
Bab 3 Analisis dan Perancangan 35
3.1 Analisis Sistem 35
3.1.1 Akuisisi Data (Pengumpulan data) 36
3.1.2 Prapengolahan 36
3.1.3 Ekstraksi Ciri 37
3.1.4 Fase Pelatihan 38
3.1.5 Fase Pengujian 39
3.2 Pemodelan Sistem 40
3.2.1 Perancangan Arsitektur Jaringan 40
3.2.2 Data Flow Diagram (DFD) dan Spesifikasi Proses 41
3.2.3 Kamus Data 47
3.2.3.1 Kamus Data Proses Pelatihan 48
3.2.3.2 Kamus Data Proses Pengujian 49
3.2.4 Perancangan Antarmuka 49
3.2.5 Perancangan Prosedural 51
Bab 4 Implementasi dan Pengujian 54
4.1 Lingkungan Implementasi 54
4.2 Implementasi Perangkat Lunak 55
4.2.1 Pelatihan 56
4.2.2 Pengujian 58
4.2.3 Pengenalan 60
4.3 Pengujian Dan Hasil 63
Bab 5 Penutup 69
5.1 Kesimpulan 69
5.2 Saran 69
Daftar Pustaka 70
Lampiran A: Listing Program 71
(8)
DAFTAR TABEL
Halaman
Tabel 3.1 Spesifikasi Proses Diagram Konteks 42
Tabel 3.2 Spesifikasi Proses Diagram Level 1 44
Tabel 3.3 Spesifikasi Proses DFD Level 2 Proses Pelatihan 45
Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses Pengujian 46
Tabel 3.5 Kamus Data Proses Pelatihan 48
Tabel 3.6 Kamus Data Proses Pengujian 49
Tabel 4.1 Hasil Pengujian Data Yang Dilatihkan (Kemampuan Memorisasi) 63
(9)
DAFTAR GAMBAR
Halaman
Gambar 2.1 Penentuan Nilai Ambang T 11
Gambar 2.2 Struktur Sistem Pengenalan Pola 13
Gambar 2.3 Struktur Unit Jaringan Saraf Tiruan 17
Gambar 2.4 Jaringan Lapis Tunggal 19
Gambar 2.5 Jaringan dengan Banyak Lapisan 20
Gambar 2.6 Jaringan dengan Lapisan Kompetitif 20
Gambar 2.7 Arsitektur Jaringan Saraf Tiruan Propagasi Balik 26
Gambar 2.8 Alur Kerja Jaringan Propagasi Balik 27
Gambar 3.1 Proses Prapengolahan 37
Gambar 3.2 Proses Ekstraksi Ciri 38
Gambar 3.3 Arsitektur Jaringan Saraf Tiruan untuk Pengenalan Tanda Tangan 41
Gambar 3.4 DFD Level 0 42
Gambar 3.5 DFD Level 1 43
Gambar 3.6 DFD Level 2 Proses Pelatihan 44
Gambar 3.7 DFD Level 2 Proses Pengujian 46
Gambar 3.8 Antarmuka Aplikasi Jaringan Saraf Tiruan 50
Gambar 3.9 Flowcart Pelatihan 52
Gambar 3.10 Flowcart Pengujian 53
Gambar 4.1 Tampilan Perangkat Lunak Pengenalan Tanda Tangan 55
Gambar 4.2 Tampilan Pelatihan 56
Gambar 4.3 Tampilan Grafik Pelatihan 57
Gambar 4.4 Tampilan Pengambilan Data Tanda Tangan 61
(10)
BAB I
PENDAHULUAN
1.1Latar Belakang
Dalam masyarakat modern sekarang ini, banyak sekali hal yang membutuhkan adanya identifikasi maupun pembuktian akan identitas seseorang, mulai dari pelayanan kesehatan, pengurusan rekening bank, pelayanan penerbangan, keimigrasian, dan banyak lainnya. Ada beberapa cara untuk membuktikan atau mengidentifikasi identitas seseorang. Salah satunya dengan menggunakan tanda tangan.
Saat ini, tanda tangan banyak digunakan sebagai sistem identifikasi untuk mengenali seseorang. Pada umumnya, untuk mengenali tanda tangan masih dilakukan secara manual yaitu dengan mencocokkan tanda tangan pada waktu transaksi dengan tanda tangan yang sah. Sistem manual memiliki kelemahan dimana si pemeriksa tanda tangan kurang teliti dalam melakukan pencocokan. Oleh karena itu, diperlukan sebuah sistem yang mampu menganalisis karakteristik tanda tangan sehingga mempermudah dalam mengenali tanda tangan seseorang.
Jaringan saraf tiruan dapat digunakan sebagai salah satu solusi untuk mengenali pola tanda tangan seseorang. Jaringan saraf tiruan merupakan sebuah sistem pemroses informasi yang memiliki performa karakteristik tertentu seperti jaringa n saraf biologi. Jaringan saraf tiruan memiliki beberapa metode seperti perceptron, hopfield diskrit, adaline, propagasibalik, dan kohonen.
(11)
Pada penelitian ini penulis menggunakan jaringan saraf tiruan dengan metode propagasibalik. Dengan menggunakan jaringan saraf tiruan metode propagasibalik (backpropagation) diharapkan dapat dibuat sebuah sistem komputer yang mampu menganalisis dan mengenali tanda tangan seseorang.
1.2Rumusan Masalah
Dari uraian latar belakang tersebut, yang menjadi rumusan masalah pada penelitian ini adalah bagaimana mengimplementasikan jaringan saraf tiruan untuk pengenalan tanda tangan dengan menggunakan metode propagasibalik.
1.3Batasan Masalah
Batasan masalah yang digunakan dalam penelitian ini adalah:
1. Arsitektur jaringan saraf tiruan menggunakan 1 lapisan tersembunyi.
2. Fungsi aktivasi yang dipakai adalah fungsi sigmoid biner.
3. Batas toleransi error adalah 0,05
4. Laju pembelajaran adalah 0,5
5. Maksimum iterasi (epoch) adalah 1000
6. Bahasa pemrograman yang digunakan adalah matlab.
1.4Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk mengimplementasikan jaringan saraf tiruan model propagasibalik (backpropagation) untuk pengenalan tanda tangan seseorang dan pembuatan perangkat lunak (software).
(12)
1.5Manfaat Penelitian
Manfaat penelitian ini adalah terciptanya perangkat lunak pengenalan pola tanda tangan diharapkan dapat mengatasi kelemahan sistem manual dalam mengenali tanda tangan seseorang di berbagai bidang seperti perbankan, pertahanan, dan keimigrasian.
1.6Metodologi Penelitian
Penelitian ini akan dikerjakan dengan metodologi sebagai berikut:
1. Studi Literatur
Metode ini dilaksanakan dengan melakukan studi kepustakaan melalui hasil penelitian lainnya yang relevan maupun artikel-artikel yang didapatkan melalui internet, serta mempelajari lebih dalam teori-teori tentang pengolahan citra, jaringan saraf tiruan, dan metode propagasibalik.
2. Analisis dan Perancangan
Tahap ini meliputi analisis kebutuhan untuk merancang sistem jaringan saraf tiruan dengan model propagasibalik. Desain perancangan akan dibentuk dalam DFD (Data Flow Diagram).
3. Implementasi
Tahap ini meliputi pembangunan perangkat lunak yang telah dirancang pada tahap sebelumnya.
4. Pengujian
Pada tahap ini akan dilakukan pengujian terhadap perangkat lunak yang telah dibangun dan sekaligus melakukan analisis terhadap hasil perangkat lunak.
5. Penulisan Laporan Skripsi
(13)
1.7Sistematika Penulisan
Sistematika penulisan skripsi ini adalah sebagaai berikut:
BAB 1 Pendahuluan
Pada bab ini dibahas tentang perumusan masalah, batasan masalah, tujuan dan manfaat penelitian, metodologi penelitian, tinjauan pustaka, dan sistematika penulisan.
BAB 2 Landasan Teori
Bab ini akan menjelaskan mengenai landasan-landasan teori mengenai pengolahan citra, jaringan saraf tiruan, metode propagasibalik dan lainnya yang berhubungan dengan masalah yang akan dibahas.
BAB 3 Analisis dan Perancangan
Pada bab ini diuraikan analisis kebutuhan untuk merancang sistem jaringan saraf tiruan metode propagasibalik untuk pengenalan tanda tangan. Desain perancangan akan dibentuk dalam DFD (Data Flow Diagram).
BAB 4 Implementasi dan Pengujian
Bab ini berisi teknik implementasi dari perancangan yang telah dibuat dan pengujian terhadap implementasi. Pengujian dilakukan untuk membuktikan perangkat lunak dapat berjalan sesuai dengan spesifikasi yang telah ditentukan di tahapan analisis.
BAB 5 Penutup
(14)
BAB II
LANDASAN TEORI
2.1Pengolahan Citra
2.1.1 Citra
“Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manusia, kamera, dan pemindai (scanner), sehingga bayangan objek yang disebut citra tersebut terekam” (Munir; 2004:2).
Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat:
1. Optik berupa foto.
2. Analog berupa sinyal video, seperti gambar pada monitor televisi.
3. Digital yang dapat langsung disimpan pada suatu pita magnetik.
2.1.2 Digitalisasi Citra
Citra ada dua macam yaitu citra kontinu dan citra diskrit. Citra kontinu dihasilkan dari sistem optik yang menerima sinyal analog, misalnya mata manusia dan kamera analog. Citra diskrit dihasilkan melalui proses digitalisasi terhadap citra kontinu. Beberapa sistem optik dilengkapi dengan fungsi digitalisasi sehingga mampu menghasilkan citra diskrit, misalnya kamera digital dan scanner. Citra diskrit disebut juga citra digital.
(15)
Agar dapat diolah dengan komputer digital, maka suatu citra harus dipresentasikan secara numerik dengan nilai-nilai diskrit. Representasi citra dari fungsi kontinu menjadi nilai-nilai diskrit disebut digitalisasi. Citra yang dihasilkan inilah yang disebut citra digital (digital image). Pada umumnya citra digital berbentuk empat persegi panjang, dan dimensi ukurannya dinyatakan sebagai tinggi x lebar (atau lebar x tinggi).
Citra digital yang berukuran N X M lazim dinyatakan dengan matriks yang berukuran N baris dan M kolom sebagai berikut:
− − − − ≈ ) 1 ( ), 1 ( ) 1 , 1 ( ) 0 , 1 ( ) , 1 ( ) 1 , 1 ( ) 0 , 1 ( ) , 0 ( ) 1 , 0 ( ) 0 , 0 ( ) , ( M N f N f N f M f f f M f f f y x f
Indeks baris (i) dan indeks kolom (j) menyatakan suatu koordinat titik pada citra, sedangkan f(i,j) merupakan intensitas (derajat keabuan) pada titik (i,j). Masing-masing elemen pada citra digital (berarti elemen matriks) disebut image
element, picture element atau piksel atau pel. Jadi, citra yang berukuran N X M
mempunyai NM buah piksel. Sebagai contoh, misalkan sebuah citra berukuran 256 x 256 piksel dan direpresentasikan secara numerik dengan matriks yang terdiri dari 256 buah baris indeks dari 0 sampai 255) dan 256 buah kolom (di-indeks dari 0 sampai 255) seperti contoh berikut:
Piksel pertama pada koordinat (0,0) mempunyai nilai intensitas 0 yang berarti warna piksel tersebut hitam, piksel kedua pada koordinat (0,1) mempunyai intensitas 134 yang berarti warnanya antara hitam dan putih, dan seterusnya. (Munir, 2004)
(16)
2.1.3 Citra Grayscale
Untuk mendapatkan citra grayscale (keabuan) digunakan rumus:
I(x,y) = α.R + β.G + γ.B (2.1)
dengan I(x,y) adalah level keabuan pada suatu koordinat yang diperoleh dengan mengatur komposisi warna R (merah), G (hijau), B (biru) yang ditunjukkan oleh
nilai parameter α, β, dan γ. Secara umum nilai α, β, dan γ adalah 0.33. Nilai yang
lain juga dapat diberikan untuk ketiga parameter tersebut asalkan total keseluruhan nilainya adalah 1. (Putra, 2009)
2.1.4 Citra Biner
Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat keabuan: hitam dan putih. Piksel-piksel objek bernilai 1 dan piksel-piksel latar
belakang bernilai 0. Pada waktu menampilkan gambar, 0 adalah putih dan 1 adalah hitam.
Meskipun saat ini citra berwarna lebih disukai karena memberi kesan yang lebih kaya daripada citra biner, namun tidak membuat citra biner mati. Pada beberapa aplikasi citra biner masih tetap dibutuhkan, misalnya citra logo instansi (yang hanya terdiri atas warna hitam dan putih), citra kode barang (bar code) yang tertera pada label barang, dan citra hasil pemindaian dokumen teks. (Munir, 2004)
2.1.5 Definisi Pengolahan Citra
Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Pengolahan citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi, masukannya adalah citra dan keluarannya juga citra,
(17)
namun citra keluaran mempunyai kualitas lebih baik daripada citra masukan. Termasuk ke dalam bidang ini juga adalah pemampatan citra (image
compression). Pengubahan kontras citra adalah contoh operasi pengolahan citra.
Contoh pengolahan citra lainnya adalah penghilangan derau (noise).
Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra bila:
1. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan
kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra.
2. Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur.
3. Sebagian citra perlu digabung dengan bagian citra yag lain. (Munir, 2004)
2.1.6 Operasi Pengolahan Citra
Operasi-operasi yang dilakukan pada pengolahan citra secara umum dapat dikelompokkan dalam beberapa jenis, yaitu:
1. Perbaikan kualitas citra (image enhancement)
Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan cara memanipulasi parameter-parameter citra. Dengan operasi ini, ciri-ciri khusus yang terdapat di dalam citra lebih ditonjolkan. Beberapa operasi perbaikan citra antara lain: perbaikan kontras gelap/terang, perbaikan tepian objek (edge enhancement), penajaman (sharpening), pemberian warna semu (pseudocoloring), penapisan derau (noise filtering).
2. Pemugaran citra (image restoration)
Operasi ini bertujuan menghilangkan/meminimumkan cacat pada citra. Tujuan pemugaran citra hampir sama dengan operasi perbaikan citra. Bedanya, pada pemugaran citra penyebab degradasi gambar diketahui. Contoh-contoh operasi pemugaran citra, yaitu: penghilangan kesamaran (deblurring), dan penghilangan derau (noise).
(18)
3. Pemampatan citra (image compression)
Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam bentuk yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal penting yang harus diperhatikan dalam pemampatan adalah citra yang telah dimampatkan harus tetap mempunyai kualitas gambar yang bagus. Contoh metode pemampatan citra adalah metode JPEG.
4. Segmentasi citra (image segmentation)
Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat dengan pengenalan pola.
5. Analisis citra (image analysis)
Jenis operasi ini bertujuan menghitung besaran kuantitatif dari citra untuk menghasilkan deskripsinya. Teknik analisis citra mengekstraksi ciri-ciri tertentu yang membantu dalam identifikasi objek. Proses segmentasi kadangkala diperlukan untuk melokalisasi objek yang diinginkan dari sekalilingnya. Contoh-contoh operasi analisis citra, yaitu: pendeteksian tepi objek (edge detection), ekstraksi batas (boundary), dan representasi daerah (region).
6. Rekonstrusi citra (image reconstruction)
Jenis operasi ini bertujuan untuk membentuk ulang objek dari beberapa citra hasil proyeksi. Operasi rekonstruksi citra banyak digunakan dalam bidang medis. Misalnya beberapa foto rontgen dengan sinar-X digunakan untuk membentuk ulang gambar organ tubuh. (Munir, 2004)
(19)
1 if f(x,y) < T
2.1.7 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 (Munir, 2004) (Putra, 2009):
g(x,y) = (2.2)
dengan g(x,y) citra biner dari citra grayscale f(x,y), dan T menyatakan nilai ambang. Nilai T memegang peran sangat penting dalam proses pengambangan. Kualitas hasil citra biner sangat bergantung pada nilai T yang digunakan. Dengan operasi pengambangan tersebut, objek dibuat berwarna gelap (1 atau hitam) sedangkan latar belakang berwarna terang (0 atau putih).
Dua pendekatan yang digunakan dalam operasi pengambangan, yaitu:
1. Pengambangan global (global thresholding)
Pada pengambangan global, seluruh piksel pada citra dikonversi menjadi hitam atau putih dengan satu nilai ambang T. Cara yang umum menentukan nilai T adalah dengan membuat histogram citra. Jika citra mengandung satu buah objek dan latar belakang mempunyai nilai intensitas yang homogen, maka citra tersebut umumnya mempunyai histogram bimodal (mempunyai dua puncak atau dua buah maksimum lokal) seperti yang ditunjukkan pada Gambar 2.1. Nilai T dipilih pada nilai minimum lokal yang terdapat di antara dua puncak. Dengan cara seperti ini, kita tidak hanya mengkonversi citra grayscale ke citra biner, tetapi sekaligus melakukan segmentasi objek dari latar belakangnya.
(20)
Gambar 2.1 Penentuan Nilai Ambang T
Kemungkinan besar pada pengambangan global akan banyak informasi hilang karena hanya menggunakan satu nilai T untuk keseluruhan piksel. Untuk mengatasi masalah ini dapat digunakan pengambangan secara lokal adaptif.
2. Pengambangan lokal (locally adaptive thresholding)
Pada pengambangan lokal, suatu citra dibagi menjadi blok-blok kecil dan kemudian dilakukan pengambangan lokal atas setiap blok itu dengan nilai
T yang berbeda. Sebagai contoh, pengambangan dilakukan terhadap
daerah citra yang berukuran 3 x 3 atau 5 x 5 piksel. Nilai ambangnya ditentukan sebagai fungsi rata-rata derajat keabuan di dalam daerah citra tersebut. Intensitas piksel yang berbeda secara signifikan dari nilai rata-rata tersebut dianggap mengandung informasi kontras dan ini harus dipertahankan di dalam citra biner.
Dengan pengambangan secara lokal adaptif, secara subjektif citra biner yang dihasilkan terlihat lebih menyenangkan dan sedikit informasi yang hilang.
T
Kelas 0 P(r)
(21)
2.2Pengenalan Pola
Pola adalah entitas. 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.
Secara luas, ciri adalah semua hasil pengukuran yang bisa diperoleh. Ciri juga bisa menggambarkan karakteristik objek yang dipantau. Contoh dari ciri level rendah adalah intensitas sinyal. Ciri bisa berupa simbol, numerik, atau keduanya. Contoh dari ciri simbol adalah warna. Contoh dari ciri numerik adalah berat. Ciri bisa diperoleh dengan mengaplikasikan algoritma ekstraksi ciri pada data masukan. Ciri dapat dinyatakan dengan variabel kontinu, diskret, atau diskret-biner. Ciri biner dapat digunakan untuk menyatakan ada tidaknya suatu ciri tertentu.
Ciri yang baik memiliki syarat berikut: mudah dalam komputasi, memiliki
tingkat keberhasilan yang tinggi, dan besarnya data dapat diperkecil tanpa menghilangkan informasi penting.
Secara umum, pengenalan pola adalah suatu ilmu untuk mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif ciri atau sifat dari objek. Pola sendiri merupakan suatu entitas yang terdefinisi dan dapat diidentifikasi dan diberi nama. Sidik jari adalah suatu contoh pola. Pola bisa merupakan kumpulan hasil pengukuran atau pemantauan dan bisa dinyatakan dalam notasi vektor atau matriks.
Struktur sistem pengenalan pola ditunjukkan oleh Gambar 2.2. Perhatikan bahwa sistem terdiri dari suatu sensor (misalnya kamera, dan scanner), teknik prapengolahan, suatu algoritma atau mekanisme ekstraksi ciri dan algoritma untuk klasifikasi atau pengenalan bergantung pada pendekatan yang dilakukan).
(22)
Sebagai tambahan, biasanya beberapa data yang sudah diklasifikasikan diasumsikan telah tersedia untuk melatih sistem.
Prapengolahan adalah transformasi masukan data mentah untuk memebantu kemampuan komputasional dan pencari ciri serta untuk mengurangi derau. Pada prapengolahan citra (sinyal) yang ditangkap oleh sensor akan dinormalisasi agar citra menjadi lebih siap untuk diolah pada tahap pemisahan ciri. Kualitas ciri yang dihasilkan pada proses pemisahan ciri sangat bergantung pada hasil prapengolahan.
Gambar 2.2 Struktur Sistem Pengenalan Pola
Klasifikasi merupakan tahap untuk mengelompokkan masukan data pada satu atau beberapa kelas berdasakan hasil pencarian beberapa ciri yang signifikan dan pemrosesan atau analisis terhadap ciri itu. Setiap kelas terdiri dari sekumpulan objek yang memiliki kedekatan (kemiripan) ciri. (Munir, 2004)(Putra, 2009)
2.3Verifikasi Tanda Tangan
Verifikasi tanda tangan terdiri dari dua jenis, yaitu:
1. Verifikasi tanda tangan dinamis
Metode verifikasi tanda tangan (signature) dengan akuisisi data secara dinamis disebut juga metode online. Dalam metode ini proses akusisi data dilakukan bersamaan dengan proses penulisan. Data yang diambil pada umumnya bermacam-macam, tidak hanya berupa koordinat posisi
titik-Prapengola han
Ekstraksi Ciri
Algoritma Kalsifikasi
Pengukuran mi
Pola data pi
Klasifikasi Sensor
(23)
titik penulisan, tetapi juga informasi dinamis lain seperti tekanan, kecepatan, gaya penekanan tangan pada pena dan lain sebagainya. Jenis data yang dapat diambil sangat bergantung pada kemampuan peralatan masukan yang digunakan. Peralatan masukan yang sering digunakan untuk mengakuisisi data secara dinamis ini disebut digitizer.
2. Verifikasi tanda tangan statis
Metode verifikasi dengan akuisisi data secara statis disebut juga dengan metode offline. Berbalikan dengan metode dinamis, metode statis melakukan akuisisi data setelah proses penulisan selesai dilakukan atau bahkan kemungkinan lama setelah proses penulisan dilakukan. Seseorang menuliskan tanda tangannya pada kertas, yang kemudian diubah menjadi citra digital dengan menggunakan scanner. Dari citra inilah selanjutnya diproses untuk menentukan otentik atau tidaknya tanda tangan tersebut. (Putra, 2009)
2.4Jaringan Saraf Tiruan
2.4.1 Pengertian Jaringan Saraf Tiruan
Jaringan saraf tiruan (artificial neural network), atau disingkat JST, adalah sistem komputasi dimana arsitektur dan operasi diilhami dari pengetahuan tentang sel saraf biologis di dalam otak, yang merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba menstimulasi proses pembelajaran pada otak manusia tersebut.
Selain pengertian di atas, jaringan saraf tiruan dapat diartikan sebagai sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan saraf biologi. Jaringan saraf tiruan tercipta sebagai suatu generalisasi model matematis dari jaringan saraf biologi yang didasarkan atas asumsi sebagai berikut (Hermawan, 2006) (Puspitaningrum, 2006) (Siang, 2009):
(24)
1. Pemrosesan informasi terjadi pada elemen sederhana yang disebut neuron.
2. Sinyal dikirimkan diantara neuron-neuron melalui
penghubung-penghubung.
3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau
memperlemah sinyal.
4. Untuk menentukan keluaran, setiap neuron menggunakan fungsi aktivasi
(biasanya bukan fungsi linier) yang dikenakan pada jumlahan masukan yang diterima. Besarnya keluaran ini selanjutnya dibandingkan dengan suatu batas ambang.
Karakteristik jaringan saraf tiruan ditentuka n oleh tiga hal:
1. Pola hubungan antar-neuron (disebut dengan arsitektur jaringan).
2. Metode penentuan bobot-bobot penghubung disebut metode
pelatihan/training/learning/proses belajar jaringan).
3. Fungsi aktivasi.
Adapun cara belajar jaringan saraf tiruan sebagai berikut (Puspitaningrum, 2006):
Ke dalam jaringan saraf tiruan dimasukankan informasi yang sebelumnya telah diketahui hasil keluarannya. Pemasukan informasi ini dilakukan lewat node-node atau unit-unit masukan. Bobot-bobot antarkoneksi dalam suatu arsitektur diberi nilai awal dan kemudian jaringan saraf tiruan dijalankan. Bobot-bobot ini bagi jaringan digunakan untuk belajar dan mengingat suatu informasi. Pengaturan bobot dilakukan secara terus-menerus dan dengan menggunakan kriteria tertentu sampai diperoleh yang diharapkan.
Hal yang ingin dicapai dengan melatih/mengajari jaringan saraf tiruan adalah untuk mencapai keseimbangan antara kemampuan memorisasi dan generalisasi. Yang dimaksud dengan kemampuan memorisasi adalah kemampuan jaringan saraf tiruan untuk memanggil kembali secara sempurna sebuah pola yang telah dipelajari. Kemampuan generalisasi adalah kemampuan jaringan saraf tiruan untuk menghasilkan respon yang bisa diterima terhadap pola-pola masukan yang
(25)
serupa (namun tidak identik) dengan pola-pola yang sebelumnya telah dipelajari. Hal ini sangat bermanfaat bila pada suatu saat ke dalam jaringan saraf tiruan itu dimasukankan informasi baru yang belum pernah dipelajari, maka jaringan saraf tiruan itu masih akan tetap dapat memberikan tanggapan yang baik, memberikan keluaran yang paling mendekati.
2.4.2 Algoritma Umum Jaringan Saraf Tiruan
Algoritma pembelajaran/pelatihan jaringan saraf tiruan:
Dimasukkan n contoh pelatihan ke dalam jaringan saraf tiruan. Lakukan: 1. Inisialisasi bobot-bobot jaringan. Set i=1.
2. Masukkan contoh ke-i (dari sekumpulan contoh pembelajaran yang
terdapat dalam set pelatihan) ke dalam jaringan pada lapisan masukan.
3. Cari tingkat aktivasi unit-unit output menggunakan algoritma aplikasi.
If kinerja jaringan memenuhi standar yang ditentukan sebelumnya
(memenuhi syarat berhenti)
Then exit.
4. Update bobot-bobot dengan menggunakan aturan pembelajaran jaringan.
5. If i=n, then reset i=1
Else i=i – 1 Ke langkah 2
Algoritma aplikasi/pengujian jaringan saraf tiruan:
Dimasukkan sebuah contoh pelatihan ke dalam jaringan saraf tiruan. Lakukan:
1. Masukkan kasus ke dalam jaringan pada lapisan masukan.
2. Hitung tingkat aktivasi node-node jaringan.
3. Untuk jaringan koneksi umpan maju, jika tingkat aktivasi dari semua unit
keluarannya telah dikalkulasi, maka exit. Untuk jaringan koneksi balik, jika tingkat aktivasi dari semua keluaran menjadi konstan atau mendekati konstan, maka exit. Jika tidak, kembali ke langkah 2. Jika jaringannya tidak stabil, maka exit dan fail.
(26)
2.4.3 Model Neuron
Neuron adalah unit pemroses informasi yang menjadi dasar dalam pengoperasian jaringan saraf tiruan. Neuron terdiri dari tiga elemen pembentuk:
1. Himpunan unit-unit yang dihubungkan dengan jalur koneksi. Jalur-jalur
tersebut memiliki bobot / kekuatan yang berbeda-beda. Bobot yang bernilai positip akan memperkuat sinyal dan yang bernilai negatif akan memperlemah sinyal yang dibawanya. Jumlah, struktur dan pola hubungan antar unit-unit tersebut akan menentukan arsitektur jaringan (dan juga model jaringan yang terbentuk).
2. Suatu unit penjumlah yang akan menjumlahkan masukan-masukan sinyal
yang sudah dikalikan dengan bobotnya.
Misalkan x1, x2, … , xm, adalah unit-unit masukan dan wj1, wj2, … , wjm
adalah bobot penghubung dari unit-unit tersebut ke unit keluaran yj, maka
unit penjumlah akan memberikan keluaran sebesar uj = x1 wj1 + x2 wj2 +
… + xm wjm.
3. Fungsi aktivasi yang akan menentukan apakah sinyal dari masukan neuron
akan diteruskan ke neuron lain ataukah tidak.
Gambar 2.3 Struktur Unit Jaringan Saraf Tiruan
Unit pengolah j
∑ X1
Xj2
Xj1
Xjn
X2
Xn
Masukan Kekuatan Keluaran
(27)
Gambar 2.3 menunjukkan contoh suatu neuron atau struktur unit pengolah jaringan saraf tiruan. Pada sisi sebelah kiri terlihat beberapa masukan yang menuju ke unit pengolah yang masing-masing dating dari unit-unit yang berbeda x(n). Setiap sambungan mempunyai kekuatan hubungan terkait (bobot) yang disimbolkan dengan w(n). Unit pengolah akan membentuk penjumlahan berbobot dari tiap masukannya dan menggunakan fungsi ambang non-linier (fungsi aktivasi) untuk menghitung keluarannya. Hasil perhitungan akan dikirimkan melalui hubungan keluaran seperti tampak pada gambar sisi sebelah kanan. (Hermawan, 2006) (Siang, 2009)
2.4.4 Arsitektur Jaringan Saraf Tiruan
Pembagian arsitektur jaringan saraf tiruan dapat dilihat dari kerangka kerja dan skema interkoneksi. Kerangka kerja jaringan saraf tiruan bisa dilihat dari jumlah lapisan (layer) dan jumlah unit sel pada setiap lapisan.
Lapisan-lapisan penyusun jaringan saraf tiruan dapat dibagi menjadi tiga, yaitu:
1. Lapisan masukan
unit sel di dalam lapisan masukan disebut unit-unit masukan. Unit-unit masukan menerima masukan dari dunia luar. Masukan yang dimasukkan merupakan penggambaran dari suatu masalah.
2. Lapisan tersembunyi
Unit-unit sel di dalam lapisan tersembunyi disebut unit-unit tersembunyi. Keluaran dari lapisan ini tidak secara langsung dapat diamati.
3. Lapisan keluaran
Unit-unit sel pada lapisan keluaran disebut unit-unit keluaran. Keluaran dari lapisan ini merupakan keluaran jaringan saraf tiruan terhadap suatu permasalahan. (Puspitaningrum, 2006)
Jaringan saraf tiruan dirancang dengan menggunakan suatu aturan yang bersifat menyeluruh (general rule) dimana seluruh model jaringan memiliki
(28)
konsep dasar yang sama. Arsitektur sebuah jaringan akan menentukan keberhasilan target yang akan dicapai karena tidak semua permasalahan dapat diselesaikan dengan arsitektur yang sama.
Beberapa arsitektur jaringan yang sering dipakai dalam jaringan saraf tiruan antara lain (Hermawan, 2006) (Puspitaningrum, 2006) (Siang, 2009):
1. Jaringan dengan lapisan tunggal (single layer network)
Jaringan dengan lapisan tunggal hanya memiliki satu buah lapisan bobot koneksi. Jaringan ini hanya menerima masukan dan kemudian secara langsung akan mengolahnya menjadi keluaran tanpa harus melalui lapisan tersembunyi.
Gambar 2.4 Jaringan Lapis Tunggal
2. Jaringan dengan banyak lapisan (multilayer network)
Jaringan dengan banyak lapisan merupakan perluasan dari lapisan tunggal. Jaringan ini memiliki satu atau lebih lapisan yang terletak di antara lapisan masukan dan lapisan keluaran (sering disebut lapisan tersembunyi). Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih sulit daripada lapisan dengan lapisan tunggal, dengan pembelajaran yang lebih rumit.
Wnj
W1j Wi1
W11
Wn1
Y1
Yj
Ym
Wij
Wnm
Wim
W1m
X1
Xi
(29)
Gambar 2.5 Jaringan dengan Banyak Lapisan
3. Jaringan dengan lapisan kompetitif (competitive layer network)
Pada jaringan ini sekumpulan neuron bersaing untuk mendapatkan hak menjadi aktif.
Gambar 2.6 Jaringan dengan Lapisan Kompetitif
2.4.5 Kelebihan Jaringan Saraf Tiruan
Jaringan saraf tiruan memiliki sejumlah besar kelebihan dibandingkan dengan metode perhitungan lainnya, yaitu (Hermawan, 2006):
1. Kemampuan mengakuisisi pengetahuan walaupun dalam kondisi ada
gangguan dan ketidakpastian. Hal ini karena jaringan saraf tiruan mampu melakukan generalisasi, abstraksi, dan ekstraksi terhadap properti statistik dari data.
2. Kemampuan merepresentasikan pengetahuan secara fleksibel. Jaringan
saraf tiruan dapat menciptakan sendiri representasi melalui pengaturan diri sendiri atau kemampuan belajar (self organizing).
Vnj
V1j Vi1
V11 Vn1 Y1 Yj Ym Vij Vnp Vip V1p X1 Xi Xn Wpk
W1k Wj1
W11 Wp1 Y1 Yk Ym Wjk Wpm Wim W1m Z1 Zj Zp -є -є -є
-є -є -є 1 1 1 1 A1 Ai Am Aj
(30)
3. Kemampuan untuk memberikan toleransi atas suatu distorsi (error/fault), dimana gangguan kecil pada data dapat dianggap hanya sebagai noise (guncangan) belaka.
4. Kemampuan memproses pengetahuan secara efisien karena memakai
sistem paralel, sehingga waktu yang diperlukan untuk mengoperasikannya menjadi lebih singkat.
2.4.6 Aplikasi Jaringan Saraf Tiruan
Beberapa aplikasi jaringan saraf tiruan adalah sebagai berikut:
1. Pengenalan Pola (Pattern Recognation)
Jaringan saraf tiruan dapat dipakai untuk mengenali pola (misal huruf, angka, suara, atau tanda tangan) yang sudah sedikit berubah.
2. Signal Processing
Jaringan saraf tiruan (model ADALINE) dapat dipakai untuk menekan
noise dalam saluran telepon.
3. Peramalan
Jaringan saraf tiruan juga dapat dipakai untuk meramalkan apa yang akan terjadi di masa yang akan datang berdasarkan pola kejadian yang ada di masa yang akan datang berdasarkan pada kejadian yang ada di masa lampau. (Siang, 2009)
2.4.7 Fungsi Aktivasi
Dalam jaringan saraf tiruan, fungsi akivasi dipakai untuk menentukan keluaran suatu neuron. Argumen fungsi aktivasi adalah net masukan (kombinasi linier
masukan dan bobotnya). Jika net = ∑ x i wi, maka fungsi aktivasinya adalah
(31)
Beberapa fungsi aktivasi yang sering dipakai adalah sebagai berikut (Hermawan, 2006) (Siang, 2009):
1. Fungsi identitas
f(x) = x, untuk semua x (2.3)
Fungsi identitas sering dipakai apabila kita menginginkan keluaran jaringan berupa sembarang bilangan riil (bukan hanya pada range [0,1] atau [-1,1].
2. Fungsi threshold (batas ambang)
f(x) = (2.4)
Untuk beberapa kasus, fungsi threshold yang dibuat tidak berharga 0 atau 1, tapi berharga -1 atau 1 (sering disebut threshold bipolar).
Jadi,
f(x) = (2.5)
3. Fungsi sigmoid biner
f(x) = (2.6)
Fungsi sigmoid sering dipakai karena nilai fungsinya yang terletak antara 0 dan 1 dan dapat diturunkan dengan mudah.
f’(x) = f(x) (1 – f(x)) (2.7)
4. Fungsi sigmoid bipolar
Bentuk fungsinya mirip dengan fungsi sigmoid biner, tapi dengan range (-1, 1).
1 jika x ≥ 0
1 jika x < 0
1 jika x ≥ 0
-1 jika x < 0
1 1 + e-x
(32)
f(x) = − 1 (2.8)
dengan turunan f’(x) = (2.9)
2.4.8 Pelatihan Terawasi dan Tidak Terawasi
Berdasarkan cara memodifikasi bobotnya, ada dua macam pelatihan yang dikenal yaitu pelatihan atau pembelajaran terawasi (supervised learning) dan pelatihan tidak terawasi (unsupervised learning).
Pada pelatihan terawasi, kumpulan masukan yang digunakan, keluaran-keluarannya telah diketahui. Perbedaan antara keluaran-keluaran aktual dengan keluaran-keluaran yang diinginkan digunakan untuk mengoreksi bobot jaringan saraf tiruan agar jaringan saraf tiruan dapat menghasilkan jawaban sedekat (semirip) mungkin dengan jawaban yang benar yang telah diketahui oleh jaringan saraf tiruan.
Pada pelatihan tidak terawasi, atau pelatihan tanpa guru, jaringan saraf tiruan mengorganisasi dirinya sendiri untuk membentuk vektor-vektor masukan yang serupa, tanpa menggunakan data atau contoh-contoh pelatihan. Struktur menggunakan dasar data atau korelasi antara pola-pola data yang dieksplorasi. Paradigma pelatihan ini mengorganisasi pola-pola ke dalam kategori-kategori berdasarkan korelasi yang ada. (Puspitaningrum, 2006)
2.5Propagasibalik (Backpropagation)
Kelemahan jaringan saraf tiruan terdiri dari layar tunggal membuat perkembangan jaringan saraf tiruan menjadi berhenti pada sekitar tahun 1970-an. Algoritma pelatihan backpropagation atau ada yang menterjemahkannya menjadi propagasibalik pertama kali dirumuskan oleh Werbos dan dipopulerkan oleh
2 1 + e-x
(1 + f(x)) (1 – f(x)) 2
(33)
Rumelhart bersama McClelland untuk dipakai pada jaringan saraf tiruan. Algoritma ini termasuk metoda pelatihan terbimbing (supervised) dan didesain untuk operasi pada jaringan saraf tiruan feed forward lapis jamak (multi-layer).
Jaringan saraf tiruan dengan lapisan tunggal memiliki keterbatasan dalam pengenalan pola. Kelemahan ini bisa ditanggulangi dengan menambahkan satu/beberapa lapisan tersembunyi diantara lapisan masukan dan keluaran. Meskipun penggunaan lebih dari satu lapisan tersembunyi memiliki kelebihan manfaat untuk beberapa kasus, tapi pelatihannya memerlukan waktu yang lama. Maka umumnya orang mulai mencoba dengan sebuah lapisan tersembunyi terlebih dahulu.
Penemuan propagasibalik yang terdiri dari beberapa lapisan membuka kembali cakrawala. Terlebih setelah berhasil ditemukannya berbagai aplikasi yang dapat diselesaikan dengan propagasibalik, membuat jaringan saraf tiruan semakin diminati, diantaranya diterapkan di bidang finansial, pengenalan pola tulisan tangan, pengenalan pola suara, sistem kendali, pengolah citra medika dan masih banyak lagi keberhasilan propagasibalik sebagai salah satu metoda komputasi yang handal.
Seperti halnya model jaringan saraf tiruan yang lain, propagasibalik melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai selama pelatihan. (Siang, 2009)
Istilah “propagasibalik” (atau “penyiaran kembali”) diambil dari cara kerja jaringan ini, yaitu bahwa gradient error unit-unit tersembunyi diturunkan dari penyiaran kembali error-error yang diasosiasikan dengan unit-unit keluaran. Hal ini karena nilai target untuk unit-unit tersembunyi tidak diberikan.
(34)
Metode ini menurunkan gradien untuk meminimkan penjumlahan error kuadrat keluaran jaringan. Nama lain dari propagasibalik adalah aturan delta yang digeneralisasi (generalized delta rule). (Puspitaningrum, 2006)
2.5.1 Arsitektur Propagasibalik
Di dalam jaringan propagasibalik, setiap unit yang berada di lapisan masukan terhubung dengan setiap unit yang ada di lapisan tersembunyi. Hal serupa berlaku pula pada lapisan tersembunyi. Setiap unit yang ada di lapisan tersembunyi terhubung dengan setiap unit yang ada di lapisan keluaran. (Puspitaningrum, 2006)
Jaringan saraf tiruan propagasibalik terdiri dari banyak lapisan (multilayer
neural network):
1. Lapisan masukan (1 buah). Lapisan masukan terdiri dari neuron-neuron
atau unit-unit masukan, mulai dari masukan 1 sampai unit masukan n.
2. Lapisan tersembunyi (minimal 1). Lapisan tersembunyi terdiri dari
unit-unit tersembunyi mulai dari unit-unit tersembunyi 1 sampai unit-unit tersembunyi p.
3. Lapisan keluaran (1 buah). Lapisan keluaran terdiri dari unit-unit keluaran
mulai dari unit keluaran 1 sampai unit keluaran m.
n,p,m masing-masing adalah bilangan integer sembarang menurut arsitektur jaringan saraf tiruan yang dirancang.
(35)
Gambar 2.7 Arsitektur Jaringan Saraf Tiruan Propagasibalik
Gambar 2.7 adalah arsitektur propagasibalik dengan n buah masukan (ditambah sebuah bias), sebuah lapisan tersembunyi yang terdiri dari p unit
(ditambah sebuah bias), serta m buah unit keluaran. Vij marupakan bobot garis
dari unit masukan xi ke unit lapisan tersembunyi zj (vj0 merupakan bobot garis
yang menghubungkan bias di unit masukan ke unit lapisan tersembunyi zj). wkj
merupakan bobot dari unit lapisan tersembunyi zj ke unit keluaran yj ke unit
keluaran yk (wk0 merupakan bobot dari bias di lapisan tersembunyi ke unit
(36)
2.5.2 Algoritma Propagasibalik
Seperti diperlihatkan pada Gambar 2.8, agar dapat digunakan untuk suatu aplikasi, jaringan saraf tiruan perlu ‘belajar’ terlebih dahulu. Caranya, pada jaringan dimasukkan sekumpulan contoh pelatihan yang disebut set pelatihan. Set pelatihan ini digambarkan dengan sebuah vektor feature yang disebut vektor masukan yang diasosiasikan dengan sebuah keluaran yang menjadi target pelatihannya. Pelatihan kemudian dilangsungkan dengan maksud membuat jaringan saraf tiruan beradaptasi terhadap karakterisik-karakteristik dari contoh-contoh pada set pelatihan dengan cara melakukan pengubahan peng-update-an bobot-bobot yang ada dalam jaringan.
Gambar 2.8 Alur Kerja Jaringan Propagasibalik
P E L A T I H A N J A R I N G A N
Tahap Pemropagasi-
Balikan error
Tahap umpan maju
Output Aktual
+
OutputTarget
∑
LAPISAN
OUTPUT
LAPISAN TERSEMBUNYI
LAPISAN
INPUT
Input
(37)
Cara kerja jaringan propagasibalik adalah sebagai berikut:
Mula-mula jaringan diinisialisasi dengan bobot yang diset dengan bilangan acak. Lalu contoh-contoh pelatihan dimasukkan ke dalam jaringan. Contoh pelatihan terdiri dari pasangan vektor masukan dan vektor keluaran target. Keluaran dari jaringan berupa sebuah vektor keluaran aktual. Selanjutnya vektor keluaran aktual jaringan dibandingkan dengan vektor keluaran target untuk mengetahui apakah keluaran jaringan sudah sesuai dengan harapan (keluaran aktual sudah sama dengan keluaran target). Error yang timbul akibat perbedaan antara keluaran aktual dengan keluaran target tersebut kemudian dihitung dan digunakan untuk meng-update bobot-bobot yang relevan dengan jalan mempropagasikan kembali
error. Setiap perubahan bobot yang terjadi diharapkan dapat mengurangi besar error. Epoch (siklus setiap pola pelatihan) seperti dilakukan pada semua set
pelatihan sampai unjuk kerja jaringan mencapai tingkat yang diinginkan atau sampai kondisi berhenti terpenuhi. Yang dimaksud kondisi berhenti di sini misalnya: pelatihan akan dihentikan setelah epoch mencapai 1000 kali, atau pelatihan akan dihentikan sampai sebuah nilai ambang yang ditetapkan terlampaui. Setelah proses pelatihan selesai, barulah diterapkan algoritma aplikasi. Biasanya sebelum digunakan untuk aplikasi yang sebenarnya, pengujian unjuk kerja jaringan dilakukan dengan cara memasukkan set pengujian (set tes) ke dalam jaringan. Karena bersifat untuk menguji, set pengujian hanya berupa masukan saja. Dari respon jaringan dapat dinilai kemampuan memorisasi dan generalisasi jaringan dalam menebak keluaran berdasarkan pada apa yang telah dipelajarinya selama ini.
Algoritma propagasibalik dapat dibagi ke dalam dua bagian:
1. Algoritma pelatihan
Algoritma pelatihan terdiri dari tiga tahap, yaitu: tahap propagasi maju, tahap propagasi mundur, dan tahap perubahan bobot.
2. Algoritma aplikasi
Algoritma aplikasi hanya menggunakan tahap umpan maju saja. (Puspitaningrum, 2006)
(38)
Algoritma pelatihan untuk jaringan dengan satu lapisan tersembunyi (dengan fungsi aktivasi sigmoid biner) adalah sebagai berikut:
Langkah 0: Inisialisasi semua bobot dengan bilangan acak kecil.
Langkah 1: Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9. Langkah 2: Untuk setiap pasangan data pelatihan, lakukan langkah 3-8.
Fase I: Propagasi maju
Langkah 3: Tiap unit masukan menerima sinyal dan meneruskannya ke unit
tersembunyi di atasnya.
Langkah 4: Hitung semua keluaran di unit tersembunyi zj (j=1,2,…,p).
∑
= + = n i ji i jj v xv
net z 1 0 _ (1) j net z j j e net z f z _ 1 1 ) _ ( − + = = (2)
Langkah 5: Hitung semua keluaran jaringan di unit keluaran yk (k=1,2,…,m).
∑
=+
=
p j kj j kk
v
z
w
net
y
1 0_
(3) k net y k k e net y f y _ 1 1 ) _ ( − + = = (4)Fase II: Propagasi mundur
Langkah 6: Hitung faktor kesalahan δ unit keluaran berdasarkan kesalahan di setiap unit keluaran yk (k=1,2,…,m).
)
1
(
)
(
)
_
(
'
)
(
k k k k k k kk
=
t
−
y
f
y
net
=
t
−
y
y
−
y
δ
(5)δk merupakan unit kesalahan yang akan dipakai dalam perubahan
bobot lapisan di bawahnya (langkah7)
Hitung suku perubahan bobot wkj (yang akan dipakai nanti untuk
merubah bobot wkj) dengan laju percepatan α.
j k
kj
z
w
=
αδ
∆
(k=1,2,…,m;j=0,1,…,p) (6)Langkah 7: Hitung faktor kesalahan δ unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj (j=1,2,…,p).
(39)
∑
==
mk
kj k
j
w
net
1
_
δ
δ
(7)Faktor δ unit tersembunyi:
)
1
(
_
)
_
(
'
_
j j j j jj
=
δ
net
f
z
net
=
δ
net
z
−
z
δ
(8)Hitung suku perubahan bobot vij (yang akan dipakai nanti untuk
merubah bobot vij)
i j
ji
x
v
=
αδ
∆
(j=1,2,…,p ; i=0,1,…,n) (9)Fase III: Perubahan bobot
Langkah 8: Hitung semua perubahan bobot
Perubahan bobot garis yang menuju ke unit keluaran: kj
kj
kj
baru
w
lama
w
w
(
)
=
(
)
+
∆
(k=1,2,…,m ; j=0,1,…,p) (10)Perubahan bobot garis yang menuju ke unit tersembunyi: ji
ji
ji
baru
v
lama
v
v
(
)
=
(
)
+
∆
(j=1,2,…,p ; i=0,1,…,n) (11)Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola. Dalam hal ini, hanya propagasi maju (langkah 4 dan 5) saja yang dipakai untuk menentukan keluaran jaringan. Hasil pengaktif unit-unit pada lapisan keluaran merupakan keputusan dari jaringan saraf tiruan.
Biasanya pada perangkat lunak yang dibuat, hasil pengaktif unit sebagai keputusan jaringan saraf tiruan ditampilkan dalam skala kebenaran, dipilih nilai skala kebenaran terbesar sebagai keputusan akhir dari jaringan saraf tiruan.
(40)
2.5.3 Paramater Pelatihan
Parameter-parameter yang turut menentukan keberhasilan proses pelatihan pada algoritma propagasibalik:
1. Inisialisasi bobot
Bobot sebagai interkoneksi jaringan saraf tiruan yang akan dilatih biasanya diinisialisasi dengan nilai nyata kecil, bobot dapat diinisialisasi secara acak (random).
Banyak studi empiris membuktikan bahwa meneruskan pelatihan pada saat galat mencapai nilai yang kecil dan stabil atau datar akan menghasilkan nilai-nilai bobot yang tak diinginkan. Hal ini berpengaruh pada peningkatan galat dan kualitas mapping menurun.
Pada banyak penelitian menunjukkan bahwa konvergensi tidak akan dicapai bila bobot kurang bervariasi, juga jika acaknya terlalu kecil. Konvergensi hampir selalu tercapai untuk inisialisasi acak pada -0,5 sampai 0,5 atau -1 sampai 1.
2. Adaptasi bobot
Ada dua jenis adaptasi bobot pada pelatihan jaringan saraf tiruan, yaitu:
a. Adaptasi kumulatif (commulative weight adjustment)
Pada adaptasi kumulatif, bobot baru diadaptasi setelah semua bobot yang masuk dilatih.
b. Adaptasi biasa (incremental updating)
Pada adaptasi biasa, bobot diadaptasi pada setiap pola yang masuk.
3. Parameter laju pelatihan (η)
Parameter laju pelatihan (learning rate) sangat berpengaruh pada intensitas proses pelatihan, begitu pula terhadap efektivitas dan kecepatan mencapai konvergensi dari pelatihan.
(41)
Nilai optimum dari laju pelatihan tergantung masalah yang diselesaikan, prinsipnya dipilih sedemikian rupa sehingga tercapai konvergensi yang optimal dalam proses pelatihan.
Nilai laju pelatihan yang cukup kecil menjamin penurunan gradien terlaksana dengan baik, namun ini berakibat bertambahnya jumlah iterasi. Pada umumnya, besarnya nilai laju pelatihan tersebut dipilih mulai 0,001 sampai 1 selama proses pelatihan.
4. Momentum (α)
Disamping koefisien laju pelatihan, pada metoda ini ada koefisien lain yang tujuan penggunaannya untuk mempercepat konvergensi dari algoritma error backpropagation. Prinsip dari metoda ini adalah menambahkan sebagian dari perubahan bobot sebelumnya. Hal ini dapat dirumuskan dengan:
)
(
)
1
(
t
z
w
t
w
kj+
=
k j+
∆
kj∆
αδ
µ
(2.10)
∆
v
ji(
t
+
1
)
=
αδ
jx
i+
µ
∆
v
ji(
t
)
(2.11)dengan α adalah nilai konstanta momentum yang berupa bilangan positif
antara 0,5 sampai dengan 0,9. Penggunaan koefisien momentum ini disarankan apabila konvergensi berlangasung terlalu lama, dan juga untuk mencegah terjadinya optimum lokal (local optimum/minimum).
5. Jumlah lapisan tersembunyi yang digunakan
Satu buah lapisan tersembunyi dapat dikatakan cukup memadai untuk menyelesikan masalah sembarang fungsi pendekatan. Dengan menggunakan lebih dari satu buah lapisan tersembunyi, kadang-kadang suatu masalah lebih mudah untuk diselesaikan. Mengenai banyaknya jumlah lapisan tersembunyi yang dibutuhkan, tidak ada ketentuan khusus. Untuk itu, hanya dibutuhkan sedikit modifikasi terhadap algoritma propagasi. (Purnomo,2006) (Puspitaningrum, 2006)
(42)
2.5.4 Kelemahan Yang Sering Terjadi Pada PropagasiBalik
1. Pada Fase Pelatihan (Training)
Seringnya terjebak pada kondisi yang disebut sebagai kondisi optimum lokal (local minimal), sehingga sulit mencapi konvergen sesuai dengan galat yang diinginkan. Keadaan jaringan saraf tiruan tersebut sulit atau bahkan tidak dapat berkembang menjadi lebih “pintar” lagi, walaupun dilatih berulang-ulang. Hal ini biasanya diatasi dengan menggunakan koefisien momentum.
2. Pada Fase Pengujian (Testing)
Pada fase ini hal tak diinginkan yang sering terjadi adalah kondisi
overfitting/overtraining, yaitu suatu kondisi jaringan saraf tiruan
kehilangan sifat generalitasnya (lost of generalisation). Generalitas adalah kemampuan untuk memberikan jawaban yang benar, untuk suatu masukan yang berbeda namun sejenis dari data-data yang dilatihkan pada jaringan saraf tiruan tersebut. Ketidaksesuaian pada saat pengujian masukan terhadap keluaran yang diinginkan tersebut dapat terjadi karena kesalahan
sampling data atau adanya derau (noise) pada data pelatihan sehingga
target data pelatihan kurang handal.
Bila jaringan saraf tiruan kehilangan sifat tersebut, pada fase pengujian, salah satu ciri yang muncul adalah biasanya jaringan saraf tiruan hanya mengenali bagian akhir dari pasangan data yang dilatihkan pada fase pelatihan. Kondisi tersebut dapat diakibatkan oleh jumlah pelatihan yang berlebihan, sehingga dapat diatasi dengan memberhentikan pelatihan lebih dini. Penambahan bias pada lapisan keluaran ataupun pada masing-masing lapisan struktur jaringan saraf tiruan, juga merupakan salah satu cara untuk mengatasi hal tersebut. Keandalan untuk memperoleh struktur jaringan saraf tiruan sesuai dengan kapasitas yang diperlukan tersebut sangat erat sekali dengan jumlah unit sel pada lapisan tersembunyi, sekaligus jumlah bobotnya juga ikut menentukan. Sebaliknya
(43)
kondisi undertraining juga dapat terjadi, untuk hal ini biasanya terjadi oleh karena proses pelatihan belum sempurna.
(44)
BAB III
ANALISIS DAN PERANCANGAN
Bab ini menjelaskan proses sistem jaringan saraf tiruan metode propagasibalik untuk pengenalan tanda tangan dan analisis kebutuhan sistem yang akan dibangun serta perancangannya. Tindakan yang akan dilakukan pada tahap perancangan adalah mentransformasikan model analisis ke model perancangan.
3.1Analisis Sistem
Sistem yang dimaksud pada penelitian ini terbagi atas dua fase, yaitu fase pelatihan dan fase pengujian. Pada fase pelatihan dilakukan pelatihan jaringan saraf tiruan menggunakan data latihan. Jaringan saraf tiruan tidak dapat digunakan tanpa adanya fase pelatihan ini. Setelah fase pelatihan selesai, jaringan saraf tiruan akan siap untuk digunakan pada fase pengujian. Dalam sistem ini, jaringan saraf tiruan akan digunakan untuk melakukan pengenalan terhadap citra tanda tangan.
Suatu citra tanda tangan yang akan dikenali menggunakan jaringan saraf tiruan, haruslah melalui tahapan-tahapan tertentu terlebih dahulu sehingga dapat menjadi masukan yang baik bagi jaringan saraf tiruan. Masukan yang dapat diterima dengan baik oleh jaringan saraf tiruan adalah berupa kumpulan data numerik atau data biner. Dengan demikian, suatu citra tanda tangan perlu dikonversi menjadi kumpulan data numerik atau data biner.
(45)
3.1.1 Akuisisi Data (Pengumpulan Data)
Data atau sampel yang akan digunakan adalah tanda tangan yang dibubuhkan pada kertas putih menggunakan tinta warna hitam. Setelah dilakukan pengambilan data, kemudian dipindahkan dengan menggunakan sebuah scanner Canon dengan resolusi 300 dpi. Citra hasil scanning disimpan dengan format bitmap.
Jumlah data yang dikumpulkan adalah sebanyak 150 tanda tangan dari 10 orang, 15 tanda tangan dari tiap orang. Dari total data tersebut, dibagi penggunaannya untuk data pelatihan dan pengujian. Banyaknya data pelatihan adalah 100 tanda tangan, 10 tanda tangan dari tiap orang, sedangkan untuk pengujian digunakan data tanda tangan yang telah dilatih untuk menguji keakuratan kemampuan memorisasi sistem dan 50 tanda tangan lainnya, 5 tanda tangan dari tiap orang, yang bertujuan untuk menguji keakuratan kemampuan generalisasi sistem.
3.1.2 Prapengolahan
Sebelum memasuki proses jaringan saraf tiruan, citra hasil pemindaian harus diolah terlebih dahulu untuk dapat digunakan dalam fase pelatihan dan pengujian. Proses-proses pengolahan yang digunakan dimulai dengan pengubahan citra RGB menjadi citra grayscale, kemudian dilakukan thresolding untuk memisahkan objek tanda tangan dengan latar belakangnya. Citra yang sudah di-thresold akan diubah resolusi warnanya menjadi citra biner (binerisasi). Setelah itu, dilakukan pemotongan sesuai dengan posisi batas maksimum dan batas minimum objek tanda tangan, kemudian citra hasil pemotongan diubah ukurannya menjadi 200 x 300 piksel seperti pada Gambar 3.1.
(46)
Gambar 3.1 Proses Prapengolahan
3.1.3 Ekstraksi Ciri
Setiap data yang akan diamati dan dianalisa oleh jaringan saraf tiruan harus direpresentasikan secara baik ke dalam bentuk data numerik atau data biner. Untuk itu, diperlukan suatu cara yang dapat mengekstraksi ciri dari setiap data tadi secara konsisten. Data hasil ekstraksi haruslah benar-benar dapat mewakili karakteristik atau ciri-ciri dari data yang diamati, sehingga diharapkan dari sekumpulan data dengan target yang sama akan dihasilkan suatu generalisasi atau pencirian secara umum terhadap suatu target yang sejenis.
Pada tahap ini, citra dibagi-bagi menjadi 20 baris dan 30 kolom
(matriks 20 x 30). Setiap kotak dilakukan scanning piksel dan seluruh piksel dalam kotak dijumlahkan. Kotak yang jumlah pikselnya kurang dari nilai yang ditentukan diberi nilai 0, jika tidak diberi nilai 1, sehingga dihasilkan sejumlah 600 data biner yang diharapkan dapat mewakili ciri dari data yang diamati seperti pada Gambar 3.2. Data biner tersebut akan menjadi data masukan (input) pada jaringan saraf tiruan.
citra hasil scanning citra hasil grayscaling citra hasil thresolding
citra hasil binerisasi citra hasil pemotongan
citra hasil pembesaran menjadi 200x300 piksel
(47)
Gambar 3.2 Proses Ekstraksi Ciri
3.1.4 Fase Pelatihan
Pelatihan dilakukan secara terbimbing (supervised learning), artinya untuk melatih jaringan saraf tiruan digunakan pasangan data (masukan – target keluaran). Tujuan pelatihan jaringan ini adalah untuk mendapatkan keseimbangan antara kemampuan tanggapan yang benar terhadap masukan yang dipakai untuk pelatihan jaringan (memorisasi) dan kemampuan memberikan tanggapan yang benar untuk masukan yang sejenis namun tidak identik dengan yang dipakai pada pelatihan (generalisasi). 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 0 0
1 1 1 1 1 1 1 1 1
1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1
1 1
1 0 0 0 0
1 1 0 0 0 0 0 0 0
1 1 1 1
0 0 0 0 1
0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1
1 1 1
1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0
1 1 1
1 1 1 1 0 0 0 0
1 1 1 1
1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1
1 1 1 1
1 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0
1 1 1 1 1 1 1 1
0 0 0 0 0
0 0
1 1 1
1 1 1 1 0 0 0 0 0 0 0 1
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 0 0 1 1 0 0 1
0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 0
1 1
1 1 1
0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 1 1 1 1 1
0 0 0 0 1 1
1 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1
1
0 0 0 0 0 0 0
0 0 0 0
0 0 0 0 0 0 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 1 1 1 1 1 1 1 1 1 0
1 1 1 1 1
0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0
0 0 1 1 1 1
1
1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 0
0 1 0 0 0 0
0 0
0
1 1 1 1 1
1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0
1 1 1 1 0 1 1 1 1 1
0 0 0
0 1 0
1
1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 1 0 0 0 0
0 0 0 1 0 1 1 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
B A R I S
(48)
Pada penelitian ini, pelatihan jaringan saraf tiruan menggunakan algoritma propagasibalik. Pelatihan jaringan propagasibalik melibatkan tiga fase. Fase pertama adalah fase umpan-maju yang dipakai untuk mencari nilai lapisan tersembunyi dan nilai lapisan keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur. Jika hasil keluaran (output jaringan) tidak sesuai dengan target, maka dilakukan propagasibalik untuk mencari nilai
error yang ada di lapisan keluaran dan lapisan tersembunyi. Fase ketiga adalah
memperbaharui nilai bobot yang ada di lapisan tersembunyi dan lapisan masukan untuk menurunkan error yang terjadi. Setelah itu dilakukan lagi umpan-maju dan propagasibalik jika nilai keluaran tidak sesuai dengan nilai target. Proses ini dilakukan secara berulang sampai nilai keluaran sesuai dengan nilai target atau sampai pada maksimum iterasi (epoch).
3.1.5 Fase Pengujian
Fase pengujian dilakukan melalui dua tahap, yaitu pengujian terhadap data yang dilatihkan dan pengujian terhadap data baru yang belum pernah dilatihkan. Ketika jaringan diuji dengan menggunakan data pelatihan, yang diuji adalah kemampuan memorisasi jaringan (ingatan jaringan), sebab kasus-kasus yang dimasukkan telah dipelajari sebelumnya. Sebaliknya, pada saat jaringan diuji dengan menggunakan data baru, yang diuji adalah kemampuan generalisasi jaringan. Dari pengalaman selama pelatihan diharapkan jaringan akan mampu menggeneralisasikan kasus yang dihadapi dan kemudian menarik kesimpulan yang cenderung terhadap keluaran tertentu. Fase pengujian hanya menggunakan tahap umpan maju yang dipakai untuk mencari nilai keluaran lapisan tersembunyi dan lapisan keluaran.
Hasil dari proses pengujian ini juga akan berbentuk matriks dengan ukuran yang sama dengan matriks target yang pernah dilatihkan. Pada sistem jaringan saraf tiruan ini, hasil pengujian telah dipolakan pada suatu kondisi tertentu. Jika hasil keluaran kurang dari 0,5 maka dianggap memiliki keluaran 0 dan jika hasil keluaran lebih besar atau sama dengan 0,5 dianggap memiliki output 1.
(49)
3.2Pemodelan Sistem
Perancangan memiliki tujuan untuk menentukan kondisi akhir yang diharapkan dari perangkat lunak yang akan dibangun dan merumuskan cara yang harus dilakukan untuk memperoleh hasil tersebut.
Pada perangkat lunak pengenalan tanda tangan dengan menggunakan jaringan saraf tiruan metode propagasibalik, tahap perancangan yang dilakukan mencakup perancangan arsitektur jaringan, perancangan data flow diagram, kamus data, perancangan antarmuka dan perancangan prosedural.
3.2.1 Perancangan Arsitektur Jaringan
Jaringan yang akan dirancang dalam penelitian ini adalah jaringan propagasibalik (backpropagation). Arsitektur jaringan yang akan dibangun memiliki 1 lapisan tersembunyi. Masukan terdiri dari 600 neuron sesuai dengan jumlah data biner (matriks 20 x 30) yang dihasilkan pada proses ekstraksi ciri tanda tangan, lapisan tersembunyi dengan 100 neuron, dan 4 neuron untuk keluaran sebagai target,
dimana: vektor keluaran target 1 adalah 0 0 0 1, vektor keluaran target 2 adalah 0 0 1 0, vektor keluaran target 3 adalah 0 0 1 1, vektor keluaran target 4 adalah 0 1 0 0, vektor keluaran target 5 adalah 0 1 0 1, vektor keluaran target 6 adalah 0 1 1 0, vektor keluaran target 7 adalah 0 1 1 1, vektor keluaran target 8 adalah 1 0 0 0, vektor keluaran target 9 adalah 1 0 0 1, vektor keluaran target 10 adalah 1 0 1 0.
Fungsi sigmoid biner digunakan sebagai fungsi aktivasi pada semua lapisan jaringan saraf tiruan.
(50)
Y1
Z1
1 . . . Zj
1 X1 . . . Xi . . . X600 Lapisan masukan
d 600 i l Lapisan tersembunyi dengan 100 unit sel
. . .
Lapisan keluaran d 4 i l
Z100
Y2 Y3 Y4
Arsitektur jaringan saraf tiruan yang digunakan pada penelitian ini dapat dilihat pada Gambar 3.3.
Gambar 3.3 Arsitektur Jaringan Saraf Tiruan untuk Pengenalan Tanda Tangan
3.2.2 Data Flow Diagram (DFD) dan Spesifikasi Proses
DFD adalah suatu model logika data atau proses yang dibuat untuk menggambarkan darimana asal data dan kemana tujuan data yang keluar dari sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut dan interaksi antara data yang tersimpan dan proses yang dikenakan pada data tersebut. DFD menunjukan hubungan antar data pada sistem dan proses pada sistem.
DFD rinci dari perancangan sistem jaringan saraf tiruan metode propagasibalik yang dirancang terdiri dari tiga level, yaitu level 0 yang dapat dilihat pada Gambar 3.4, level 1 yang dapat dilihat pada Gambar 3.5, level 2 yang dapat dilihat pada Gambar 3.6 dan Gambar 3.7.
(51)
Gambar 3.4 DFD Level 0
DFD level 0 di atas menggambarkan sistem secara garis besar yang memperlihatkan masukan, proses, dan keluaran dari sistem yang akan dirancang.
Proses yang terjadi pada diagram konteks atau DFD Level 0 di atas dapat dijelaskan dengan menggunakan spesifikasi proses pada Tabel 3.1 berikut:
Tabel 3.1 Spesifikasi Proses Diagram Konteks
Nama Input Keterangan Proses Output
Proses 0 data_lthn, laju_bljr,
bts_tlrns_error, epoch, bobot_awal, data_uji, target
Pengenalan pola tanda tangan dengan jaringan saraf tiruan
nilai_keluaran
data_lthn, laju_bljr, bts_tlrns_error, epoch, bobot_awal, data_uji, target,
order_perintah
nilai_keluaran
P.0 Sistem Jaringan Saraf
Tiruan Propagasibalik Pengguna
(52)
Pengembangan proses yang terjadi pada DFD level 0 di atas dapat dijabarkan pada DFD level 1 berikut:
Gambar 3.5 DFD Level 1
Pada gambar di atas dapat dilihat bahwa terdapat 2 pilihan proses yang dapat dilakukan pada sistem jaringan saraf tiruan ini yaitu:
1. Proses Pelatihan
Proses pelatihan merupakan proses yang dilakukan untuk melatih jaringan saraf tiruan, yaitu dengan cara melatih jaringan saraf tiruan dengan data pelatihan sampai jaringan saraf tiruan berhasil mengenali data pelatihan tersebut.
2. Proses Pengujian
Proses pengujian merupakan proses yang dilakukan untuk menguji kemampuan memorisasi dan generalisasi jaringan saraf tiruan dalam mengenali tanda tangan.
bobot_akhir
nilai_keluaran nilai_keluaran
data_uji
data_lthn, target, laju_bljr, bts_tlrns_error, epoch, bobot_awal
Pengguna
P.2 Proses Pengujian
P.1 Proses Pelatihan
bobot_akhir bobot_akhir
(53)
Pengujian dilakukan melalui dua tahap, yaitu pengujian terhadap data yang telah dilatihkan dan pengujian terhadap data baru yang belum pernah dilatihkan.
Spesifikasi proses dari DFD level 1 pada Gambar 3.3 dijelaskan pada tabel berikut:
Tabel 3.2 Spesifikasi Proses Diagram Level 1
No/ Nama Proses
Input Keterangan Proses Output
P.1/ Proses Pelatihan
data_lthn, target, laju_bljr,
bts_tlrns_error, epoch, bobot_awal
Proses pelatihan jaringan
nilai_keluaran, bobot_akhir
P.2/ Proses Pengujian
data_uji, bobot_akhir Proses pengujian jaringan
nilai_keluaran
Proses 1 pada Gambar 3.6 merupakan proses pelatihan jaringan saraf tiruan. Untuk lebih jelasnya, proses pelatihan jaringan saraf tiruan dapat dilihat pada gambar DFD level 2 proses pelatihan berikut ini:
Gambar 3.6 DFD Level 2 Proses Pelatihan
nilai_keluaran
bobot_akhir
citra_biner citra_rgb Pengguna
P.1.1
Browsing File
Citra Tanda
P.1.2 Prapengolahan
Citra P.1.3
Ekstraksi Ciri P.1.4
Pelatihan JST
data biner target, laju_bljr, bts_tlrns_error,
file_data
(54)
Spesifikasi DFD level 2 proses pelatihan ditunjukkan pada tabel berikut:
Tabel 3.3 Spesifikasi Proses DFD Level 2 Proses Pelatihan
No/ Nama Proses
Input Keterangan Proses Output
P.1.1/ Proses Browsing File Citra Tanda Tangan
file_data Melakukan browsing
file citra tanda tangan yang akan dilatih
citra_rgb
P.1.2/ Proses Prapengolahan Citra
citra_rgb Melakukan
pengolahan citra sehingga diperoleh citra biner
citra_biner
P.1.3/ Proses Ekstraksi Ciri
citra_biner Mengubah tanda
tangan yang terdapat dalam file gambar menjadi susunan kode angka
data_biner
P.1.4/ Proses Pelatihan JST
target, laju_bljr, bts_tlrns_error, epoch,
bobot_awal data_biner
Melatih jaringan saraf tiruan
nilai_keluaran, bobot akhir
(55)
Untuk menguji jaringan saraf tiruan, maka dilakukan proses pengujian. Proses pengujian dapat dilihat pada gambar DFD level 2 proses pengujian berikut:
Gambar 3.7 DFD Level 2 Proses Pengujian
Spesifikasi DFD level 2 proses pengujian ditujukkan pada tabel berikut:
Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses Pengujian
No/ Nama Proses
Input Keterangan Proses Output
P.2.1/ Proses Browsing File Citra Tanda Tangan
file_data Melakukan browsing file
citra tanda tangan yang akan diuji
citra_rgb
P.2.2/ Proses Prapengolahan Citra
citra_rgb Melakukan pengolahan
citra sehingga diperoleh citra biner
citra_biner
citra_rgb Pengguna
P.2.1 Browsing File
Citra Tanda Tangan
file_data
P.2.2 Prapengolahan
citra data_biner
nilai_keluaran
citra_biner P.2.3
Ekstraksi Ciri P.2.4
Pengujian JST
(56)
Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses Pengujian (lanjutan)
No/ Nama Proses
Input Keterangan Proses Output
P.2.3/ Proses Ekstraksi Ciri
citra_biner Mengubah tanda tangan
yang terdapat dalam file gambar menjadi susunan kode angka
data_biner
P.2.4/ Proses Pengujian JST
bobot_akhir, data_biner
Menguji jaringan saraf tiruan
nilai_keluaran
3.2.3 Kamus Data
Kamus data merupakan suatu data yang disusun untuk memudahkan selama proses analisis dan desain. Selain suatu dokumen, kamus data mengumpulkan dan mengkoordinasi istilah-istilah data yang terdapat pada diagram alir. Penganalisis sistem harus hati-hati dalam mengkatalogkan istilah-istilah yang berbeda-beda yang menunjuk pada item yang sama. Kehati-hatian ini membantu dalam menghindari duplikasi, memungkinkan adanya komunikasi yang baik antara bagian-bagian yang saling berbagi basis data, dan membuat upaya pemeliharaan lebih bermanfaat. Kamus data juga bertindak sebagai standar tetap untuk elemen-elemen data.
Masukan-masukan kamus data bisa dibuat setelah diagram aliran data dilengkapi atau bisa juga disusun saat diagram aliran data sedang dikembangkan. Penganalisis sistem bisa saja membuat suatu diagram aliran data level 0 dan sekaligus membuat masukan-masukan data awal. Selanjutnya, sewaktu penganalisis sistem mengembangkan diagram level data menjadi diagram anak, penganalisis juga bisa memodifikasi masukan-masukan kamus data yang baru sesuai dengan aliran data pada diagram alir anak.
(57)
Berikut ini merupakan kamus data yang berisikan data yang digunakan pada diagram alir data pada proses pelatihan dan pengujian:
3.2.3.1Kamus Data Proses Pelatihan
Kamus data untuk proses pelatihan adalah sebagai berikut:
Tabel 3.5 Kamus Data Proses Pelatihan
Nama Tipe Data Deskripsi
file_data integer File citra bitmap hasil scanning
yang tersimpan di komputer
citra_rgb integer File yang akan mengalami proses
pengolahan citra
target boolean Data yang menjadi target pelatihan
citra_biner boolean File yang akan diekstraksi cirinya
data_biner real Data masukan untuk proses
pelatihan
laju_lthn real Laju pelatihan yang akan digunakan
bts_tlrns_error real Batas toleransi error yang akan
digunakan
epoch real Maksimum iterasi yang akan
digunakan
bobot_awal real Bobot awal yang akan digunakan
bobot_akhir real Bobot akhir yang dihasilkan pada
(58)
3.2.3.2Kamus Data Proses Pengujian
Kamus data untuk proses pengujian adalah sebagai berikut:
Tabel 3.6 Kamus Data Proses Pengujian
Nama Tipe Data Deskripsi
file_data integer File citra bitmap hasil scanning yang tersimpan di
komputer
citra_rgb integer File yang akan mengalami proses pengolahan citra
citra_biner boolean File yang akan diekstraksi cirinya
data_biner boolean Data masukan untuk proses pengujian
nilai keluaran real Nilai akhir dari proses pengujian
3.2.4 Perancangan Antarmuka
Perancangan antarmuka menguraikan bagaimana komunikasi internal perangkat lunak, komunikasi terhadap sistem yang digunakan dan komunikasi terhadap pengguna. Tujuan utama dari perancangan antarmuka pengguna adalah untuk menciptakan suatu komunikasi yang efektif antara manusia dan komputer.
Form pelatihan dan pengenalan tanda tangan memuat 7 buah tombol, yaitu tombol pelatihan, tombol simpan bobot & bias, tombol uji memorisasi, tombol uji generalisasi, tombol buka data, tombol pengenalan, dan tombol keluar. Tombol pelatihan digunakan untuk pelatihan, tombol simpan bobot & bias digunakan untuk menyimapn bobot akhir hasil pelatihan, tombol uji memorisasi digunakan untuk menguji kemampuan memorisasi jaringan, tombol uji generalisasi digunakan untuk menguji kemampuan generalisasi jaringan, tombol buka data digunakan untuk mengambil data tanda tangan yang akan dikenali dari tempat penyimpanan, tombol pengenalan digunakan untuk proses pengenalan tanda tangan, dan tombol keluar digunakan untuk keluar dari aplikasi.
(59)
Gambar 3.8 Antarmuka Aplikasi Jaringan Saraf Tiruan
PROGRAM JARINGAN SARAF TIRUAN PROPAGASIBALIK UNTUK PENGENALAN TANDA TANGAN
PELATIHAN
Node Layar Tersembunyi Laju Pembelajaran Fungsi Aktivasi Batas Toleransi Error
Maksimum Iterasi PELATIHAN SIMPAN BOBOT & BIAS
Gambar:
Ukuran Gambar: x PENGENALAN
BUKA DATA
PENGENALAN
KELUAR PENGUJIAN
UJI MEMORISASI UJI GENERALISASI
(60)
3.2.5 Perancangan Prosedural
Tahapan selanjutnya dalam perancangan perangkat lunak adalah tahapan perancangan prosedural atau detail algoritma. Hal ini dilakukan untuk mempermudah dalam pengkodean yang akan dilakukan.
Algoritma dan Flowchart Proses Pelatihan
Berikut ini algoritma proses pelatihan, yaitu:
1. Mulai.
2. Inisialisasi bobot awal dengan bilangan acak kecil, bias,
dan parameter-parameter.
3. Tentukan target.
4. Masukkan data pelatihan.
5. Hitung semua keluaran di unit tersembunyi zj.
6. Hitung semua keluaran di unit keluaran yk.
7. Periksa apakah kuadrat error > 0,05, jika ya maka lakukan
langkah ke-8, jika tidak maka lakukan langkah ke-12.
8. Periksa apakah epoch > 1000, jika tidak maka lakukan
langkah ke-9, jika ya maka lakukan langkah ke-13.
9. Hitung faktor δ unit keluaran dan suku perubahan bobot wkj
10. Hitung faktor δ unit tersembunyi dan suku perubahan bobot vji
11. Update bobot.
12. Simpan bobot akhir.
13. Selesai.
Gambaran aliran proses kerja dari algoritma pelatihan di atas dapat ditunjukkan oleh Gambar 3.9 pada flowchart berikut:
(61)
Gambar 3.9 Flowchart Pelatihan
Ya Mulai
Inisialisasi
bobot (secara random), bias, dan parameter-parameter
Tidak Error > 0,05
Tidak
Ya
Hitung semua keluaran di unit tersembunyi zj
Epoch > 1000
Simpan bobot akhir (Basisdata)
Selesai Update
bobot
Hitung semua keluaran di unit keluaran yk
Hitung faktor δ unit keluaran
dan suku perubahan bobot wkj
Hitung faktor δ unit
tersembunyi dan suku perubahan bobot vji
Data Pelatihan Tentukan target
(62)
Algoritma dan Flowchart Proses Pengujian
Berikut ini algoritma proses pengujian, yaitu:
1. Mulai.
2. Gunakan bobot akhir pelatihan.
3. Masukkan data pengujian.
4. Hitung semua keluaran di unit tersembunyi zj.
5. Hitung semua keluaran di unit keluaran yk.
6. Menentukan keputusan, benar sesuai target atau tidak.
7. Selesai.
Gambaran aliran proses kerja dari algoritma pengujian di atas dapat ditunjukkan oleh Gambar 3.10 pada flowchart berikut:
Gambar 3.10 Flowchart Pengujian
Selesai
Gunakan bobot akhir (Hasil pelatihan)
Mulai
Data Uji
Hitung semua keluaran di unit tersembunyi zj
Hitung semua keluaran di unit keluaran yk
Keputusan benar sesuai target atau tidak
(63)
BAB 4
IMPLEMENTASI DAN PENGUJIAN
Pada bab ini akan dilakukan implementasi dan pengujian perangkat lunak. Perangkat lunak dibuat dengan menggunakan bahasa pemrograman Matlab 7.0 yang telah menyediakan fungsi-fungsi di dalamnya (toolbox Neural Network). Pengujian perangkat lunak untuk memrepresentasikan review akhir dari analisis, perancangan dan implementasi.
4.1Lingkungan Implementasi
Lingkungan implementasi merupakan lingkungan perangkat keras dan perangkat lunak yang digunakan untuk membangun dan mengoperasikan perangkat lunak.
Spesifikasi perangkat keras yang digunakan:
1. CPU Intel Core 2 Duo T5600 1,83 Ghz
2. RAM 1 Gb
3. Harddisk 120 Gb
4. Kartu VGA Intel Graphics Media Accelerator (GMA) 950, up to 224 Mb
5. Monitor 14.1’’
Spesifikasi perangkat lunak yang digunakan adalah:
1. Windows XP Professional Service pack 2
2. Software Matlab 7.0
(1)
disp(['Persentase Kebenaran Generalisasi =>' num2str(persen) '%']);
% FUNGSI PRAPENGOLAHAN
function img_ekstraksi = img_preprocess(S) Igray = rgb2gray(S);
Ibw = im2bw(Igray,graythresh(Igray)); bw2 = edu_imgcrop(Ibw);
img_ekstraksi = img_ekstrak(bw2);
% FUNGSI MEMOTONG CITRA
function bw2 = edu_imgcrop(Ibw) [y2temp x2temp] = size(Ibw); x1=1;
y1=1; x2=x2temp; y2=y2temp;
% Menentukan batas kiri cntB=1;
while (sum(Ibw(:,cntB))==y2temp) x1=x1+1;
cntB=cntB+1; end
% Menentukan batas kanan cntB=1;
while (sum(Ibw(cntB,:))==x2temp) y1=y1+1;
cntB=cntB+1; end
% Menentukan batas atas cntB=x2temp;
while (sum(Ibw(:,cntB))==y2temp) x2=x2-1;
cntB=cntB-1; end
% Menentukan batas bawah cntB=y2temp;
while (sum(Ibw(cntB,:))==x2temp) y2=y2-1;
cntB=cntB-1; end
% Memotong citra sesuai batas
(2)
% FUNGSI MENGUBAH UKURAN CITRA BINER MENJADI 200X300 DAN % MENGUBAHNYA MENJADI MATRIKS 20X30 (EKSTRAKSI CIRI) function lett = img_ekstrak(bw2)
img_resize=imresize(bw2,[200,300]); for cnt=1:20
for cnt2=1:30
Atemp=sum(img_resize((cnt*10-9:cnt*10),(cnt2*10-9:cnt2*10)));
if Atemp < 10 Atemp = 1; else
Atemp = 0; end
lett((cnt-1)*30+cnt2)=sum(Atemp); end
(3)
LAMPIRAN B: HASIL SCANNING TANDA TANGAN
1.
Tanda Tangan yang Dilatih
NAMA
TANDA TANGAN
S
A
R
I
1
2
3
4
5
6
7
8
9
10
S
E
L
L
I
1
2
3
4
5
6
7
8
9
10
U
T
R
I
1
2
3
4
5
6
7
8
9
10
E
W
I
D
1
2
3
4
5
(4)
NAMA
TANDA TANGAN
B
E
N
N
I
1
2
3
4
5
6
7
8
9
10
D
E
S
I
1
2
3
4
5
6
7
8
9
10
A
N
D
R
I
A
N
Y
1
2
3
4
5
6
7
8
9
10
A
R
N
E
N
1
2
3
4
5
6
7
8
9
10
D
E
D
I
1
2
3
4
5
(5)
NAMA
TANDA TANGAN
E
L
L
E
N
1
2
3
4
5
6
7
8
9
10
2.
Tanda Tangan yang Diuji
NAMA
TANDA TANGAN
SARI
1
2
3
4
5
SELLI
1
2
3
4
5
UTRI
1
2
3
4
5
EWID
1
2
3
4
5
BENNI
(6)