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