Pembahasan Cara Kerja Proses .1 Proses Pengambangan

1 54

BAB IV PEMBAHASAN DAN IMPLEMENTASI

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. 55 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. Gambar 4.3 Hasil Grayscale 56 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: Gambar 4.5 Hasil Proses Pengambangan 57

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. 58 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. 59

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. 60 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: 61 z_in j = v 0j +   n i ij i v x 1 z j = fz_in j 2. Isi Nilai pada neuron lapisan output y. Untuk k = 1 to m, hitung: y_in k = w 0k +   p j jk j w z 1 y k = fy_in k Tahap Backpropagation 3. Hitung informasi errornya untuk mengubah nilai bobot w. Untuk k=1 to m, lakukan: δ k = t k – y k f’y_in k Oleh karena f’x = fx [1 – fx], maka: δ k = t k – y k fy_in k 1 - fy_in k Oleh karena y k = fy_in k , maka: δ k = t k – y k y k 1 - y k Hitung perubahan bobot w: Δw jk = α δ k z j dan Δw 0k = α δ k 4. Hitung informasi error untuk mengubah nilai bobot v. Untuk j=1 to p, lakukan: δ_in j =   m k jk k w 1  kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error: 62 δ j = δ_in j f’z_in j Oleh karena f’x = fx [1 – fx], maka: δ j = δ_in j fz_in j 1 – fz_in j Oleh karena z j = fz_in j , maka: δ j = δ_in j z j 1 - z j Hitung perubahan bobot v : Δv ij = α δ j x i dan Δv 0j = α δ j Tahap Update Bobot dan Bias 5. Hitung: w jk baru = w jk lama + Δw jk v ij baru = v ij lama + Δv ij 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. 63 Hitung nilai pada lapisan tersembunyi z dan lapisan output y : UPDATE BOBOT TAHAP BACKPROPAGATION START Tentukan bobot Vi, j dan Wj,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: Gambar 4.10 Flowchart Proses Pelatihan Backpropagation 64 Hasil proses pelatihan backpropagation adalah bobot v dan w yang akan disimpan dan digunakan pada saat proses pengenalan. Agar lebih jelas mengenai proses pelatihan backpropagation, perhatikan contoh berikut. Misalkan, hasil ekstraksi ciri tanda tangan yang akan dilatih seperti terlihat pada gambar 4.11. Gambar 4.11 Contoh Proses Pelatihan Parameter yang akan digunakan dalam algoritma Backpropagation adalah: 1. Banyak lapisan input n = 15 hasil ekstraksi ciri berupa 3 x 5 kotak 2. Banyak lapisan hidden p = 10 3. Banyak lapisan output m = 4 target output bernilai 4 bit 4. alpha = 0.2 dan Maksimum Epoh = 10 Maka, proses pelatihan pola tanda tangan pada gambar 4.11 dengan menggunakan algoritma Backpropagation adalah sebagai berikut: Lihat pada Lampiran B-1 Pada fase pengenalan Backpropagation, hanya tahap feedforward yang perlu dijalankan untuk mendapatkan nilai y. Deretan nilai y adalah bit-bit output yang menunjuk pada salah satu pola yang paling mirip dengan pola input. 65 Sebagai contoh, misalkan dimasukkan gambar tanda tangan hasil ekstraksi ciri untuk dikenali, seperti terlihat pada gambar 4.12. Gambar 4.12 Pola Tanda Tangan yang Akan Dikenali Hasil ekstraksi ciri dari karakter pada gambar 4.12 adalah “0 0 1 0 0 1 0 1 1 1 0 1 1 1 1”. Dengan mengambil nilai bobot w dan v pada contoh proses pelatihan sebelumnya, maka proses pengenalan dengan mengikuti tahap feedforward adalah sebagai berikut: Lihat pada Lampiran B-46 Pada contoh di atas, bit output yang dihasilkan adalah nilai y1, y2, y3 dan y4. Dengan demikian, pola tanda tangan yang dirujuk adalah pola yang memiliki target bit output = 0010. Pada gambar 4.11, pola tanda tangan yang memiliki bit output 0010 adalah pola TTD-2. Dengan demikian, pola TTD-2 pada contoh proses perhitungan backpropagation ini dapat dikenali dengan baik.

4.1.1.5 Proses Perceptron

Metode Perceptron terdiri dari suatu input dan output. Arsitektur jaringannya terdiri dari beberapa unit masukan ditambah sebuah bias, dan memiliki sebuah unit keluaran. Arsitektur jaringan Perceptron dapat dilihat pada gambar 4.13. 66 Gambar 4.13 Arsitektur Jaringan Perceptron Secara ringkas, fase pelatihan Perceptron adalah sebagai berikut: 1. Inisialisasi Bobot Untuk nilai awal, set semua bobot w sama dengan 0. Threshold Ө yang digunakan bernilai 0. 2. Kalkulasi aktivasi a. Tingkatkan aktivasi suatu nilai input dihitung oleh contoh penyajian untuk jaringan. b. Untuk setiap set data pola yang akan dilatih, tingkat aktivasi output Y k , k=1,2,3,...m, dimana m = banyaknya lapisan output suatu unit output dihitung dengan: Y k = F h   n i ki i W X 1 + Ө dengan W ki adalah bobot, X i i=1,2,3,...n, dimana n = banyaknya lapisan input adalah bit input dari pola yang akan dilatih, Ө adalah threshold, dan F h adalah fungsi hard limit, sebagai berikut: 1, jika a Ө 0, jika a Ө F h a 67 3. Pelatihan Bobot a. Mengatur bobot dengan: W ki t + 1 = W ki t – ΔW ki dengan W ki adalah bobot dari input unit i ke k pada waktu t atau iterasi ke t dan ΔW ki adalah bobot yang diatur. b. Perubahan bobot dihitung dengan aturan delta: ΔW ki = ŋδ k X i dengan ŋ adalah tingkat pembelajaran percobaan independen 0 ŋ 1 dan δ k adalah error pada unit k, yaitu: δ j =T k - Y k dengan T k merupakan aktivasi output yang diinginkan dan Y k adalah aktivasi output yang sebenarnya pada unit output k. 4. Ulangi iterasi hingga tidak ada bobot w yang berubah pada langkah 3. Untuk fase pengenalan pada metode Perceptron, cukup lakukan poin 2, sehingga mendapatkan deretan nilai output y. Dengan menggunakan pola yang sama seperti terlihat pada gambar 4.11, maka langkah-langkah proses pelatihan metode Perceptron adalah sebagai berikut: Lihat pada lampiran B-48 Untuk proses pengenalan pola pada gambar 4.12, maka langkah-langkah proses pengenalan metode Perceptron adalah sebagai berikut: Lihat pada Lampiran B-57 68 4.1.2 Pembahasan Perancangan 4.1.2.1 Perancangan Tampilan