Sebagai contoh perhitungan manual, dimisalkan sebuah gambar hasil cropping yang berukuran 277x335 piksel akan diubah menjadi 4x4 piksel. Dalam perubahan
dari ukuran asli citra menjadi ukuran 4x4 dilakukan perbandingan rasio tinggi dan lebarnya. Berikut ini contoh perhitungannya. Gambar 3.3 merupakan ukuran citra asli.
Gambar 3.3 : Citra Ukuran 277x335 Piksel
Ukuran asli: Tinggi = 227 piksel
Lebar = 335 piksel Rasio untuk tinggi 227 : 4 = 56.75
Rasio untuk lebar 335 : 4 = 83.75
3. Konversi RGB to Grayscale Tahap preprocessing selanjutnya adalah proses pengubahan citra RGB Red Green
Blue menjadi Grayscale. Secara matematis perhitungannya adalah sebagai berikut :
, =
�
, +
�
, +
�
, 3
… … … … … … … … … … … … … … 3.1
Gambar 3.4 Perubahan RGB To Grayscale
Berikut ini contoh perhitungannya : F
1
x, y =
3 + 52 + 251 3
= 102 F
2
x, y =
13 + 112 + 249 3
= 125 F
3
x, y =
14 + 125 + 249 3
= 129 F
4
x, y =
3 + 107 + 251 3
= 120 F
5
x, y =
9 + 73 + 246 3
= 109 F
6
x, y =
14 + 108 + 249 3
= 124 F
7
x, y =
16 + 113 + 249 3
= 126 F
8
x, y =
18 + 102 + 250 3
= 123 F
9
x, y =
17 + 98 + 236 3
=117 F
10
x, y =
19 + 122 + 240 3
= 127 F
11
x, y =
24 + 135 + 245 3
= 135 F
12
x, y =
26 + 119 + 245 3
= 130 F
13
x, y =
15+ 62 + 209 3
= 95 F
14
x, y =
17 + 88 + 214 3
= 106 F
15
x, y =
26 + 117 +219 3
= 120 F
16
x, y =
27+ 106 + 223 3
= 118
4. Konversi Grayscale ke Citra Biner Proses tresholding yaitu dengan menggunakan nilai ambang T = 128 akan
menghasilkan citra biner. Dengan menggunakan rumus pada persamaan 2.6 pengambangan citra Grayscale untuk menghasilkan citra biner adalah sebagai berikut:
Gambar 3.5 Proses Thresholding
3.2.2 Proses Pelatihan dan Pengujian Jaringan
Proses Pelatihan merupakan suatu proses iterasi dan pada sistem tertentu akan membutuhkan waktu yang cukup panjang pada proses pelatihan. Selama proses
pelatihan, faktor bobot akan mengalami perubahan dan bila tahapan telah selesai maka nilai-nilai faktor bobot akan disimpan.
Sedangkan pada proses pengujian, proses dilakukan pada data masukan yang baru yang belum pernah dilatih sebelumnya dan dihitung dengan menggunakan bobot
hasil pelatihan yang telah disimpan sebelumnya.
Proses pelatihan dan pengujian pada sistem ini dilakukan dengan menggunakan 2 buah metode, yaitu Learning Vector Quantization dan
Backpropagation. Berikut ini adalah data yang akan dijadikan sebagai input dari proses Pelatihan dan Pengujian.
1. Pelatihan Learning Vector Quantization
a. Tentukan nilai maksimum perulangan epoch, error minimum, rasio pembelajaran
� dan pengurangan rasio. Pada contoh ini digunakan batasan sebagai berikut:
Maksimum perulangan = 4 Error minimum = 0,01
Rasio Pelatihan � = 0,05
Pengurangan rasio = 0,1
b. Misalkan disajikan dua buah vector masukan untuk percobaan, seperti terlihat pada Tabel 3.1
Tabel 3.1 Vector Masukan
c. Tentukan vector w sebagai bobot awal dan input sisanya sebagai vector x, seperti pada Tabel 3.2 berikut ini:
Tabel 3.2 Inisialisasi Bobot Awal w dan Masukan x
d. Tahap Pelatihan. Untuk setiap data masukan x dihitung terhadang setiap data bobot w dengan rumus pada persamaan berikut:
= −
2 =1
… … … … … … … … … … … … … 3.2
Epoch ke-1: Data ke-1
76, 112, 116, 123, 68, 93, 94, 105, 82, 101, 110, 114, 79, 93, 112, 117 Hitung jarak Cj terhadap bobot awal w, seperti terlihat pada Tabel 3.3:
Tabel 3.3 Perhitungan Jarak Cj
e. Hitung bobot w baru berdasarkan jarak terkecil dengan persamaan 2.15, seperti telihat pada Tabel 3.4
Tabel 3.4 Perhitungan Bobot Baru
Wjbaru = Wjlama + α [x – Wjlama] w1
60+0.0576-60 60.800
w2 98+0.05112-98
98.700 w3
106+0.05116-106 106.500
w4 92+0.05123-92
93.550 w5
74+0.0568-74 73.700
w6 96+0.0593-96
95.850 w7
100+0.0594-100 99.700
w8 94+0.05105-94
94.550
w9 90+0.0582-90
89.600 w10
105+0.05101-105 104.800
w11 114+0.05110-114
113.800 w12
106+0.05114-106 106.400
w13 65+0.0579-65
65.700 w14
81+0.0593-81 81.600
w15 101+0.05112-101
101.550 w16
96+0.05117-96 97.050
Dilakukan perhitungan perubahan nilai rasio dengan rumus: � � = �s � −
� � � ∗ � �……………………..3.3 � � = 0.05 – 0.10.05 = 0.045
Epoch ke-2: Data ke-1
76, 112, 116, 123, 68, 93, 94, 105, 82, 101, 110, 114, 79, 93, 112, 117
Hitung jarak Cj terhadap bobot awal w, seperti terlihat pada Tabel 3.5:
Tabel 3.5 Perhitungan Jarak Cj
X W
j
baru x-w baru
2
√ � 76
60.800 231.04000
50.06239 112
98.700 176.89000
116 106.500
90.25000 123
93.550 867.30250
68 73.700
32.49000 93
95.850 8.12250
94 99.700
32.49000 105
94.550 109.20250
82 89.600
57.76000 101
104.800 14.44000
110 113.800
14.44000 114
106.400 57.76000
79 65.700
176.89000 93
81.600 129.96000
112 101.550
109.20250 117
97.050 398.00250
Hitung bobot baru berdasarkan jarak terkecil
Hitung bobot w baru berdasarkan jarak terkecil dengan rasio � = 0.045 , seperti
telihat pada Tabel 3.6
Tabel 3.6 Perhitungan Bobot W
j
baru
Wjbaru = Wjlama + α [x - Wjlama] w1
60.800+0.045[76-60.800] 61.48400
w2 98.700+0.045[112-98.700]
99.29850 w3
106.500+0.045[116-106.500] 106.92750
w4 93.550+0.045[123-93.550]
94.87525 w5
73.700+0.045[68-73.700] 73.44350
w6 95.850+0.045[93-95.800]
95.72175 w7
99.700+0.045[94-99.700] 99.44350
w8 94.550+0.045[105-94.550]
95.02025 w9
89.600+0.045[82-89.600] 89.25800
w10 104.800+0.045[101-104.800]
104.62900 w11
113.800+0.045[110-113.800] 113.62900
w12 106.400+0.045[114-106.400]
106.74200 w13
65.700+0.045[79-65.700] 66.29850
w14 81.600+0.045[93-81.600]
82.11300 w15
101.550+0.045[112-101.550] 102.02025
w16 97.050+0.045[117-97.050]
97.94775
Hitung perubahan nilai rasio, seperti berikut:
� � = 0.045−0.10.045 = 0.0405
Epoch ke-3: Data ke-1
76, 112, 116, 123, 68, 93, 94, 105, 82, 101, 110, 114, 79, 93, 112, 117
Hitung jarak Cj terhadap bobot awal w, seperti terlihat pada Tabel 3.7:
Tabel 3.7 Perhitungan Jarak Cj
X W
j
lama x-w baru
2
√ � 76
61.48400 210.71426
47.80958 112
99.29850 161.32810
116 106.92750
82.31026 123
94.87525 791.00156
68 73.44350
29.63169 93
95.72175 7.40792
94 99.44350
29.63169 105
95.02025 99.59541
82 89.25800
52.67856 101
104.62900 13.16964
110 113.62900
13.16964 114
106.74200 52.67856
79 66.29850
161.32810
93 82.11300
118.52677 112
102.02025 99.59541
117 97.94775
362.98823
Hitung bobot baru berdasarkan jarak terkecil
Hitung bobot w baru berdasarkan jarak terkecil dengan � � = 0.0405 , seperti
telihat pada Tabel 3.8
Tabel 3.8 Perhitungan Bobot W
j
baru
Dilakukan perhitungan perubahan nilai rasio, seperti berikut:
� = 0.0405−0.10.0405 = 0.03645
Epoch ke-4: Data ke-1
76, 112, 116, 123, 68, 93, 94, 105, 82, 101, 110, 114, 79, 93, 112, 117
Hitung jarak Cj terhadap bobot awal w, seperti terlihat pada Tabel 3.9:
Tabel 3.9 Perhitungan Jarak Cj
X w baru
x-w baru
2
√ � 76
62.0719 193.992
45.87329 112
99.81291 148.5251
116 107.2949
75.77813 123
96.0143 728.2279
68 73.22304
27.28013 93
95.61152 6.82003
94 99.22304
27.28013 105
95.42443 91.69154
Wjbaru = Wjlama + α [x - Wjlama] w1
61.48400+0.0405[76-61.48400] 62.07190
w2 99.29850+0.0405[112-99.29850]
99.81291 w3
106.9750+0.0405[116-106.9750] 107.29494
w4 94.87525+0.0405[123-94.87525]
96.01430 w5
73.44350+0.0405[68-73.44350] 73.22304
w6 95.72175+0.0405[93-95.72175]
95.61152 w7
99.44350+0.0405[94-99.44350] 99.22304
w8 95.02025+0.0405[105-95.02025]
95.42443 w9
89.25800+0.0405[82-89.25800] 88.96405
w10 104.62900+0.0405[101-104.62900]
104.48203 w11
113.62900+0.0405[110-113.62900] 113.48203
w12 106.74200+0.0405[114-106.74200]
107.03595 w13
66.29850+0.0405[79-66.29850] 66.81291
w14 82.11300+0.0405[93-82.11300]
82.55392 w15
102.02025+0.0405[112-102.02025] 102.42443
w16 97.94775+0.0405[117-97.94775]
98.71937
82 88.96405
48.49801 101
104.482 12.1245
110 113.482
12.1245 114
107.036 48.49801
79 66.81291
148.5251 93
82.55392 109.1205
112 102.4244
91.69154 117
98.71937 334.1816
Hitung bobot baru berdasarkan jarak terkecil
Hitung bobot w baru berdasarkan jarak terkecil dengan � � = 0.03645 ,
seperti telihat pada Tabel 3.10
Tabel 3.10 Perhitungan Bobot W
j
baru
Wjbaru = Wjlama + α [x - Wjlama] w1
62.07190+0.03645[76-62.07190] 62.63599
w2 99.81291+0.03645[112-99.81291]
100.30649 w3
107.29494+0.03645[116-107.29494] 107.64749
w4 96.01430+0.03645[123-96.01430]
97.10722 w5
73.22304+0.03645[68-73.22304] 73.01151
w6 95.61152+0.03645[93-95.61152]
95.50575 w7
99.22304+0.03645[94-99.22304] 99.01151
w8 95.42443+0.03645[105-95.42443]
95.81224 w9
88.96405+0.03645[82-88.96405] 88.68201
w10 104.48203+0.03645[101-104.48203]
104.34100 w11
113.48203+0.03645[110-113.48203] 113.34100
w12 107.03595+0.03645[114-107.03595]
107.31799 w13
66.81291+0.03645[79-66.81291] 67.30649
w14 82.55392+0.03645[93-82.55392]
82.97699 w15
102.42443+0.03645[112-102.42443] 102.81224
w16 98.71937+0.03645[1170-98.71937]
99.45973
Dilakukan perhitungan perubahan nilai rasio, seperti berikut:
� = 0.03645−0.10.3645 = 0.03281
2. Pengujian Learning Vector Quantization
Proses Pengujian dengan metode Learning Vector Quantization menggunakan rumus yang sama dengan perhitungan bobot pada proses pelatihan. Berikut ini langkah-
langkahnya:
a. Data pengujian dihitung terhadap setiap data bobot w yang telah dihasilkan pada tahap Pelatihan. Untuk setiap data masukan x dihitung terhadap setiap data bobot
w dengan rumus pada persamaan 3.2, seperti pada Tabel 3.11 berikut:
Tabel 3.11 Perhitungan Jarak Cj
x baru x-w akhir
2
√ � 61
2.67645
45.94815 87
177.06262 90
311.43395 82
228.22819 71
4.04615 90
30.31331 92
49.16121 91
23.15766 82
44.64922 96
69.57234 100
177.98237 95
151.73295 65
5.31989 78
24.77043 83
392.52487 79
418.60063
b. Dilihat jarak Cj terkecil yang diperoleh pada perhitungan terhadap data test. Kelas bobot yang memiliki jarak terkecil menjadi hasil dari proses Pengujian ini.
Jarak Cj pelatihan = 45.87329 Jarak Cj data pengujian = 45.94815
Sehingga di peroleh persentasi keasliannya= 45.94815
45.87329 ∗ 100 = 100
3. Proses Pelatihan Backpropagation
Pelatihan dengan metode Backpropagation menggunakan 2 alur perhitungan, yaitu alur maju dan alur mundur. Berikut ini merupakan tahap-tahap perhitungannya.
a. Data masukan proses Pelatihan Backpropagation, seperti terlihat pada Tabel 3.12
berikut ini:
Tabel 3.12 Data Masukan
Gambar Target
Vector P1
1 1
1 1
1 1
1 1
1 1
1 1
1 Masukan
1
b. Ubah nilai target kedalam angka biner seperti berikut ini:
Tabel 3.13 Target Backpropagation
Gambar Target
Biner P1
1 1
c. Tentukan nilai maksimum perulangan, error minimum, dan rasio Pelatihan. Pada
contoh perhitungan ini digunakan batasan sebagai berikut: Maksimum perulangan = 2
Error minimum = 0,01 Rasio Pelatihan = 0,05
d. Inisialisasikan bobot awal dengan nilai acak antara 0 dan 1. a. Bobot awal masukan ke hidden layer v
Tabel 3.14 Bobot Awal v
Bobot awal v
Nilai v01
0.00000 v1
0.78600 v2
0.48700 v3
0.62300 v4
0.34500 v5
0.45900 v6
0.98700 v7
0.21700 v8
0.38900 v9
0.67800 v10
0.27800 v11
0.76800 v12
0.56400 v13
0.28800 v14
0.98700 v15
0.36700 v16
0.46700
b. Bobot awal hidden ke keluaran w
Tabel 3.15 Bobot Awal w
w
01
w
11
0.641 e.
Perulangan dilakukan selama nilai perulangan maksimal perulangan dan nilai kuadrat error nilai error minimum. Setiap data dilakukan perulangan dilakukan
perhitungan seperti pada langkah 5 sampai 8
f. Alur maju:
Data ke-1 Epoch-1
Tiap unit masukan dihitung menggunakan nilai bobot. Berikut ini operasi pada hidden layer dengan menggunakan rumus pada persamaan 2.17:
1
= 0 + 0 ∗ 0,786 + 1 ∗ 0.478 + 1 ∗ 0.623 + 1 ∗ 0.345
+ 0 ∗ 0.459 + 1 ∗ 0.987 + 1 ∗ 0.217 + 1 ∗ 0.389
+ 1 ∗ 0.678 + 1 ∗ 0.278 + 1 ∗ 0.768 + 1 ∗ 0.564
+ 0 ∗ 0.288 + 0 ∗ 0.987 + 1 ∗ 0.367 + 1 ∗ 467 = 6.170
Hitung nilai output sesuai dengan persamaan 3.3 dengan menggunakan fungsi aktivasi yang dipilih.
= 1
1 +
− _
… … … … … … … … … … … … … … … … … … … … … … … … … … … . 3.3 1 =
1 1 +
−6.170
= 0.9979 1
Untuk tiap keluaran, jumlahkan bobot sinyal masukannya dengan menggunakan
rumus pada persamaan 2.19.
y_in
1
= w + z
1
w
1
= 0 + 0.8090.641 = 0.63966
Kemudian hitung nila output dengan menggunakan fungsi aktivasi =
1 1 +
− _
… … … … … … … … … … … … … … … … … … … … … … … … … … . 3.4
1
= 1
1 +
−0.63966
= 0.65468
g. Alur mundur Hitung faktor unit kesalahan informasinya
� : � = � − ∗
1 1 +
− _
∗ 1 − 1
1 +
− _
… … … … … … … … … . . 3.5 �
1
= 1 − 0.65468 ∗ 0.65468 ∗ 1 − 0.65468 = 0.07807
Hitung suku perubahan bobot w Δ
jk
seperti pada persamaan 2.22 : ∆
11
= 0.05 ∗ 0.07807 ∗ 0.99791 = 0.00390
Hitung suku perubahan bobot w Δ
0k
dengan persamaan 2.23 : ∆
01
= 0.05 ∗ 0.07807 = 0.00390
Hitung delta input untuk hidden layer dengan persamaan 2.24: �
1
= 0.07807 ∗ 0.641 = 0.05004
Hitung faktor kesalahan unit tersembunyi : � = �_
∗ 1
1 +
−
∗ 1 − 1
1 +
−
… … … … … … . . 3.6 �
1
= 0.05004 ∗ 0.99791 ∗ 1 − 0.99791 = 0.00010
Hitung suku perubahan bobot v seperti pada persamaan 2.27: ∆
11
= 0.05 ∗ 0.00010 ∗ 0 = 0
∆
21
= 0.05 ∗ 0.00010 ∗ 1 = 0.00010
∆
31
= 0.05 ∗ 0.00010 ∗ 1 = 0.00010
∆
41
= 0.05 ∗ 0.00010 ∗ 1 = 0.00010
∆
51
= 0.05 ∗ 0.00010 ∗ 0 = 0.00000
∆
61
= 0.05 ∗ 0.00010 ∗ 1 = 0.00010
∆
71
= 0.05 ∗ 0.00010 ∗ 1 = 0.00010
∆
81
= 0.05 ∗ 0.00010 ∗ 1 = 0.00010
∆
91
= 0.05 ∗ 0.00010 ∗ 1 = 0.00010
∆
101
= 0.05 ∗ 0.00010 ∗ 1 = 0.00010
∆
111
= 0.05 ∗ 0.00010 ∗ 1 = 0.00010
∆
121
= 0.05 ∗ 0.00010 ∗ 1 = 0.00010
∆
131
= 0.05 ∗ 0.00010 ∗ 0 = 0.00010
∆
141
= 0.05 ∗ 0.00010 ∗ 0 = 0.00010
∆
151
= 0.05 ∗ 0.00010 ∗ 1 = 0.00010
∆
161
= 0.05 ∗ 0.00010 ∗ 1 = 0.00010
Hitung suku perubahan bobot v
0j
dengan menggunakan persamaan 2.26: ∆
= 0.05 ∗ 0.00001 = 0.00001
Hitung bobot w baru dengan persamaan 2.28:
01
= 0 + 0.00390 = 0.00390
11
= 0.641 + 0.00390 = 0.64490
Hitung bobot v baru dengan persamaan 2.29:
01
= 0 + 0.00001 = 0.00001
11
= 0.786 + 0.00043 = 0.78600
21
= 0.487 + 0.00043 = 0.48701
31
= 0.623 + 0.00043 = 0.62301
41
= 0.345 + 0.00043 = 0.34501
51
= 0.459 + 0.00043 = 0.45900
61
= 0.987 + 0.00043 = 0.98701
71
= 0.217 + 0.00043 = 0.21701
81
= 0.389 + 0.00043 = 0.38901
91
= 0.678 + 0.00043 = 0.67801
101
= 0.278 + 0.00043 = 0.27801
111
= 0.786 + 0.00043 = 0.76801
121
= 0.564 + 0.00043 = 0.56401
131
= 0.288 + 0.00043 = 0.28800
141
= 0.987 + 0.00043 = 0.98700
151
= 0.367 +
0.00043 = 0.36701
161
= 0.467 +
0.00043 = 0.46701
4. Proses Pengujian Backpropagation
Proses pengujian merupakan proses dimana komputer mengenali data test dengan menggunakan nilai bobot yang telah diperoleh dari proses pelatihan. Proses pengujian
merupakan proses dimana komputer mengenali data test dengan menggunakan nilai bobot yang telah diperoleh dari proses pelatihan. Berikut ini langkah-langkah
Pengujiannya: a. Hitung data test menggunakan perhitungan pada alur maju. Perhitungan ini
dilakukan satu persatu terhadap setiap hasil w dan v dari setiap data. Jika data hasil sudah sesuai dengan dengan tujuan maka perhitungan dihentikan. Misalkan data
masukan 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1
Hitung dengan persamaan 2.30
1
= 0.00176 + 0 ∗ 0.786 + 1 ∗ 0.4701 + 1 ∗ 0.62301 + 1 ∗ 0.34501
+ 0 ∗ 0.459 + 0 ∗ 0.98701 + 0 ∗ 0.21701 + 1 ∗ 0.38901
+ 0 ∗ 0.67801 + 1 ∗ 0.27801 + 1 ∗ 0.76801 + 1 ∗ 0.56401
+ 0 ∗ 0.288 + 0 ∗ 0.987 + 1 ∗ 36701 + 1 ∗ 0.46701 = 4.28985
= 1
1 +
− _
… … … … … … … … … … … … … … … … . … … … … … … … … … … … … … 2.31
1 = 1
1 +
−4.28985
= 0.98648
b. Operasi pada output layer, dihitungh dengan persamaan 2.32: _
1
= 0.00435 + 0.5971 ∗ 0.64451 =
0.67108
= 1
1 +
− _
… … … … … … … . … … … … … … … … … … … … … … … … . … . . 3.7
1
= 1
1 +
−0.67108
=
0.66174
Nilai y
k
0.5 , maka memenuhi target 1.
3.3 Perancangan Arsitektur Jaringan
Jaringan yang dirancang dalam sistem ini adalah jaringan Learning Vector Quantization dan jaringan Backpropagation. Berikut ini merupakan perancangan
arsitektur jaringan yang akan di implementasikan ke dalam program.
3.3.1 Jaringan Learning Vector Quantization
Arsitektur jaringan Learning Vector Quantization yang dirancang dalam penelitian ini terdiri dari 1600 masukan sesuai dengan jumlah matriks Grayscale citra hasil
prepocessing sebanyak 40x40 piksel nilai masukan x, dan pada penelitian ini jenis kelas yang dimaksud adalah jenis uang kertas rupiah, seperti pada Tabel 3.16
Tabel 3.16 Penentuan Kelas Jaringan LVQ
Kelas Keluaran
Jenis Uang 1
y
1
1000 2
y
2
2000 3
y
3
5000 4
y
4
10000 5
y
5
20000 6
y
6
50000 7
y
7
100000
Arsitektur Jaringan Saraf Tiruan yang digunakan pada penelitian ini dapat dilihat pada Gambar 3.6.
Gambar 3.6 Arsitektur Jaringan LVQ
Keterangan : x
1
-x
1600
adalah nilai piksel dari citra masukan w
1,1
adalah nilai bobot yang dia ambil dari citra masukan ||x=w
1
|| adalah jarak terdekat antara bobot dan nilai masukan y
1
-y
7
adalah kelas yang didefinisikan sebagai keluaran berupa jenis uang kertas rupiah
3.3.2 Jaringan Backpropagation
Arsitektur jaringan Backpropagation yang dirancang dalam penelitian ini terdiri dari 1600 masukan sesuai dengan jumlah matriks biner citra hasil prepocessing sebanyak
40x40 piksel sebagai nilai masukan jaringan, terdiri dari 1 lapisan tersembunyi dengan 6 neuron, dan 1 lapisan keluaran dengan 3 neuron untuk keluaran sebagai target,
fungsi sigmoid biner digunakan sebagai fungsi aktivasi pada semua lapisan Jaringan Saraf Tiruan, dimana vector keluaran sebagai target dapat dilihat pada Tabel 3.17
berikut :
Tabel 3.17 Target keluaran jaringan Backpropagation
Keluaran Target Nilai Biner
Jenis Uang 1
001 1000
2 010
2000 3
011 5000
4 100
10000 5
101 20000
6 110
50000 7
111 100000
Arsitektur Jaringan Saraf Tiruan yang digunakan pada penelitian ini dapat dilihat pada Gambar 3.7.
Gambar 3.7 Arsitektur Jaringan Backpropagation
Keterangan: x = Masukan input berupa nilai piksel citra uang.
v
ij
= Bobot pada lapisan tersembunyi. w
ij
= Bobot pada lapisan keluaran. v
oj
= Bias pada lapisan tersembunyi w
oj
= Bias pada lapisan tersembunyi dan lapisan keluaran. j
= 1,2,3,…..,n. n = Jumlah unit pengolah pada lapisan tersembunyi.
k = Jumlah unit pengolah pada lapisan keluaran. y = Keluaran hasil target.
3.4 Data Flow Diagram DFD
Data Flow Diagram 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.
3.4.1 DFD Level 0
Pada sistem ini digunakan DFD level 0 seperti pada gambar 3.8
Implementasi Metode LVQ dan
Backpropagation User
data pelatihan, data pengujian
hasil pelatihan, hasil pengujian
Gambar 3.8 : DFD Level 0
DFD level 0, merupakan proses dalam sistem secara umum. Pada tahap awal, user menginputkan data pelatihan untuk pelatihan dan data pengujian untuk pengujian
menggunakan metode Jaringan Saraf Tiruan, sedangkan aplikasi menampilkan hasil pelatihan dan hasil pengujian data kepada user
3.4.2 DFD Level 1
Pada sistem ini digunakan DFD level 1 seperti pada Gambar 3.9
1.0 Proses
Pelatihan
User 2.0
Proses Pengujian
Tabel Bobot data_uji
Input image, data_latih, bobot awal, maksimal epoch,
error minimum bobot akhir
Hasil pelatihan
Hasil pengujian Bobot_akhir
Gambar 3.9 DFD Level 1
Pada DFD level 1 ini terlihat terdapat 2 proses yang harus dilakukan dalam sistem ini, antara lain:
1. Proses Pelatihan Proses pelatihan adalah proses melatih data masukan berupa citra masukan,
bobot_awal, maksimal_epoch, error_minimum, rasio pembelajaran � sesuai dengan
aturan Jaringan Saraf Tiruan untuk mengenali data tersebut.
2. Proses Pengujian Proses pengujian merupakan tahap untuk melakukan test terhadap data masukan baru
untuk dibandingkan dengan data pelatihan, dimana data masukan merupakan data baru, tetapi bobot yang digunakan adalah bobot_akhir hasil pelatihan yang telah
disimpan dalam database.
3.4.3 DFD Level 2
Pada sistem ini digunakan DFD level 2 seperti pada Gambar 3.10
1.1 Input Citra
Uang Kertas
User
1.3 Proses
Pelatihan JST
Tabel bobot 1.2
Preprocessing CItra
Citra RGB
Citra grayscale biner
Bobot akhir Hasil keluaran
Epoch, min_error, rasio_pembelajaran
Input citra
Gambar 3.10 DFD Level 2
Pada DFD level 2 pada proses 1 ini dijelaskan setiap tahapan yang dilakukan dalam proses pelatihan, dimana citra uang kertas diambil dari file data untuk kemudian
dilakukan prepocessing terhadap citra RGB tersebut sehingga diperoleh citra Grayscale maupun citra biner sebagai masukan untuk proses pelatihan, sebelum
proses dilakukan tentukan terlebih dahulu maksimal_epoch, minimum_error, laju_pembelajaran, pengurangan_rasio. Setelat dilakukan proses pelatihan, maka
bobot akhir hasil pelatihan disimpan untuk kemudian akan digunakan pada proses pengujian nantinya.
2.1 Input Citra
Uang Kertas
User
2.3 Proses
Pengujian JST
Tabel Bobot 2.2
Preprocessing CItra
Citra RGB
Citra grayscale biner
Hasil keluaran
Bobot pelatihan Input citra
Gambar 3.11 DFD Level 2
Pada DFD level 2 pada proses 2 ini dijelaskan tahapan untuk melakukan pengujian terhadap suatu data masukan citra yang diproses melalui prepocessing untuk
mendapatkan citra biner atau citra Grayscale sebagai msukan, kemudian bobot akhir hasil pelatihan diambil, dan dihitung terhadap setiap target.
3.5 Perancangan Flowchart Sistem
Untuk menggambarkan flowchart semua proses yang dijalankan di dalam program yang diimplementasikan untuk memeriksa keaslian mata uang kertas dengan
mengimplementasikan metode Learning Vector Quantization LVQ dan metode Backpropagation dapat dilihat pada flowchart berikut ini :
3.5.1 Flowchart Pelatihan Learning Vector Quantization LVQ
Berikut ini merupakan flowchart Pelatihan pada metode Learning Vector Quantization LVQ.
start
Inisialisasi bobot, maks_epoch, min_error, rasio
pembelajaran α, pengurangan
rasio
Tentukan target kelas
Epochmaks_epoch, Rasio
αmin_error
Simpan bobot akhir
selesai Input data pelatihan
nilai piksel citra
Hitung Jarak terdekat Cj=totalX-Wi2
Epoch=epoch+1 ya
Hitung bobot baru Wjbaru = Wjlama +
αX-Wjlama ya
Cj=target? Epoch=0
Hitung bobot baru Wjbaru = Wjlama -
αX-Wjlama tidak
BobotW baru
Rasio α= α-pengurangan
rasio α
Tidak
Gambar 3.12 Flowchart Pelatihan LVQ
3.5.2 Flowchart Pengujian Learning Vector Quantization LVQ
Berikut ini merupakan flowchart Pengujian pada metode Learning Vector Quantization LVQ.
Gambar 3.13 Flowchart Pengujian LVQ
3.5.3 Flowchart Pelatihan Backpropagation
Berikut ini merupakan flowchart Pelatihan pada metode Backpropagation
start
Inisialisasi bobotacak, bias, maks_epoch, min_error, rasio
pembelajaran α
Epoch=0 Epoch=
maks_epoch?
Hitung keluaran di unit keluaran Yk Hitung vaktor kesalahan di unit
keluaran δk perubahan bobot Δwjk
Δwok
Hitung nilai error
Nilai error = target error
Simpan bobot akhir
selesai ya
Tidak tidak
Input data pelatihan nilai piksel citra
Hitung keluaran di unit tersembunyi Zj Epoch=epoch+1
ya
Hitung vaktor kesalahan di unit tersembunyi
δj perubahan bobot Δvij Δvoj
Perbaiki bobot dan bias baru pada unit keluaran
Wjibaru=Wjilama+ Δwjk
W0kbaru=W0klama+ Δw0k
Perbaiki bobot dan bias baru pada lapisan tersembunyi
Vijbaru=Vijlama+ ΔVij
V0jbaru=V0jlama+ ΔV0j
Gambar 3.14 Flowchart Pelatihan Backpropagation
3.5.4 Flowchart Pengujian Backpropagation
Berikut ini merupakan flowchart Pengujian pada metode Backpropagation
start
Hitung smua keluaran di unit tersembunyi Zj
Hitung semua nilai keluaran di unit keluaran Yk
Output hasil pengujian
Input data pengujian dan bobot hasil
pelatihan
selesai Pencocokan hasil pengujian
Yk =0.5 Yk=1
Yk=0 ya
tidak
Gambar 3.15 : Flowchart Pengujian Backpropagation
3.6 Perancangan Struktur Tabel
Perancangan struktur Tabel berguna dalam merancang basis data yang akan digunakan untuk keperluan aplikasi ini. Aplikasi ini menggunakan beberapa Tabel
diantaranya Tabel learning_lvq, Tabel bobot_lvq, Tabel learning_Backpropagation, Tabel
bobot_w_Backpropagation, Tabel
bobot_v_Backpropagation, Tabel
hasil_pengenalan. Berikut ini merupakan struktur dari masing-masing Tabel tersebut.
3.6.1 Tabel Learning LVQ
Tabel learning lvq ini berfungsi untuk menyimpan hasil pelatihan dari sebuah citra dengan metode LVQ.
Tabel 3.18 Struktur Tabel Learning LVQ No
Nama Field
Tipe Data Ukuran
Keterangan
1 Id_learning
Integer 4
Nomor identititas pelatihan 2
Jenis_uang Varchar
15 Jenis uang yang disimpan
3 Maks_perulangan
Integer 9
Maksimal perulangan epoch 4
Error_minimum Decimal
9 Minimum error
5 Rasio_pembelajaran
Decimal 9
Rasio pembelajaran 6
Pengurangan rasio Decimal
9 pengurangan rasio
7 Hasil
Decimal 9
Hasil pelatihan 8.
Waktu Varchar
50 Waktu pelatihan
3.6.2 Tabel Bobot LVQ
Tabel bobot LVQ ini berfungsi untuk menyimpan nilai bobot pelatihan dari sebuah citra dengan metode LVQ.
Tabel 3.19 Struktur Tabel Bobot LVQ No
Nama Field
Tipe Data Ukuran
Keterangan
1 Id_bobot
Integer 4
Nomor identititas bobot hasil pelatihan
2 Id_learning
Integer 5
Nomor identititas pelatihan 3
Bobotw Decimal
9 Nilai bobot w hasil pelatihan
3.6.3 Tabel Learning Backpropagation
Tabel learning Backpropagation ini berfungsi untuk menyimpan hasil pelatihan dari sebuah citra dengan metode Backpropagation.
Tabel 3.20 Struktur Tabel Learning Backpropagation
No Nama
Field Tipe Data
Ukuran Keterangan
1 Id_learning
Integer 4
Nomor identititas pelatihan 2
jenis_uang Varchar
15 Jenis uang yang disimpan
3 maks_perulangan
Integer 9
Maksimal perulangan epoch 4
error_min Decimal
9 Minimum error
5 rasio_pelatihan
Decimal 9
Rasio pelatihan 6
y1 Decimal
9 Hasil nilai y1
7 y2
Decimal 9
Hasil nilai y2 8
y3 Decimal
9 Hasil nilai y3
9 Target
Varchar 50
Target 10.
Waktu Varchar
50 Waktu Pelatihan
3.6.4 Tabel Bobot V Backpropagation
Tabel bobot v Backpropagation ini berfungsi untuk menyimpan nilai bobot v hasil pelatihan dari sebuah citra dengan metode Backpropagation.
Tabel 3.21 Struktur Tabel Bobot v Backpropagation
No Nama Field
Tipe Data Ukuran
Keterangan 1
Id_bobot Integer
4 Nomor identititas bobot hasil
pelatihan 2
Id_learning Integer
4 Nomor identititas pelatihan
3 bobot_v
Decimal 9
Bobot v hasil pelatihan
3.6.5 Tabel Bobot W Backpropagation
Tabel bobot W Backpropagation ini berfungsi untuk menyimpan nilai bobot W hasil pelatihan dari sebuah citra dengan metode Backpropagation.
Tabel 3.22 Struktur Tabel Bobot w Backpropagation
No Nama
Field Tipe Data
Ukuran Keterangan
1 Id_bobot
Integer 4
Nomor identititas bobot hasil pelatihan
2 Id_learning
Integer 4
Nomor identititas pelatihan 3
bobot_w Decimal
9 Bobot w hasil pelatihan
3.6.6 Tabel Vnol Backpropagation
Tabel Vnol Backpropagation ini berfungsi untuk menyimpan nilai Vnol hasil pelatihan dari sebuah citra dengan metode Backpropagation.
Tabel 3.23 Struktur Tabel Bobot vnol Backpropagation
No Nama
Field Tipe Data
Ukuran Keterangan
1 Id_bobot
Integer 4
Nomor identititas bobot hasil pelatihan
2 Id_learning
Integer 4
Nomor identititas pelatihan 3
Nilai Decimal
9 Nilai vnol
3.6.7 Tabel Hasil Pengenalan
Tabel hasil pengenalan Backpropagation ini berfungsi untuk menyimpan hasil pelatihan dari sebuah citra dengan metode Backpropagation.
Tabel 3.24 Struktur Tabel Hasil Pengenalan
No Nama Field
Tipe Data Ukuran
Keterangan 1
Id_pengenalan Integer
4 Nomor identititas pengenalan
2 Jenis pengenalan
Varchar 25
Jenis pengenalan 3
Hasil Varchar
20 hasil pengenalan
4. Waktu
Varchar 50
Waktu pengujian
3.7 Perancangan Antarmuka
Perancangan antarmuka merupakan sebuah penggambaran, perencanaan, dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu
kesatuan yang utuh dan berfungsi. Adapun perancangan antarmuka perangkat lunak adalah sebagai berikut :
Gambar 3.16 Tampilan Awal Program
Keterangan : 1.
Menu “Metode LVQ” yang berisi dari 2 seubmenu yaitu “Proses Pelatihan” dan “Proses Pengujian”
2. Submenu “Proses Pelatihan” yang berisi pelatihan yang berisi tampilan proses
pelatihan citra dengan metode LVQ. 3.
Submenu “Proses Pengujian” yang berisi pelatihan yang berisi tampilan proses pengujian citra dengan metode LVQ.
4. Menu “Metode Backpropagation” yang berisi dari 2 seubmenu yaitu “Proses
Pelatihan” dan “Proses Pengujian”
5. Submenu “Proses Pelatihan” yang berisi pelatihan yang berisi tampilan proses
pelatihan citra dengan metode Backpropagation.
6. Submenu “Proses Pengujian” yang berisi pelatihan yang berisi tampilan proses
pengujian citra dengan metode Backpropagation. 7.
Menu “Hasil Akurasi” yang menampilkan persentasi keakurasian dari kedua metode dalam ketepatannya memeriksa uang kertas
8. Menu “Tentang Penulis” berisi data penulis.
Gambar 3.17 Perancangan Proses Pelatihan
Keterangan:
1. Menu image, terdiri dari 3 submenu yaitu 2 Input image, untuk memasukkan gambar yang akan diproses kedalam pictrurebox
“gambar uang” 5.
2.
Submenu “Clear” 3 membersihkan seluruh isi tampilan.
3.
Submenu “Close” 4 membersihkan seluruh isi tampilan. 4. Picturebox 6 penampung hasil cropping pada gambar uang
5. Botton 7 “Konversi RGB to Grayscale” untuk mengubah gambar hasil cropping
ke gambar grayscale yang akan di tampung pada picturebox 8
6. Richtextbox 9 secara otomatis menampilkan nilai piksel dari gambar grayscale 7. Richtextbox 10 untuk mendapat nilai bobot pelatihan
8. Richtextbox 11 untuk mendapat nilai masukan pelatihan 9. Ketentuan pelatihan 12Tentukan epoch, minimum error , rasio pembelajaran
10. Button 13 mulai pelatihan dan selama proses berjalan waktu akan ditampilkan pada textboxt 14
11. Hasil pelatihan akan ditampilkan pada richtextbox 15 12. Uuntuk menyimpan bobot dan hasil pelatihan pilih jenis uang pada combobox 16
kemudian klik button “simpan” 17
Gambar 3.18 Rancangan Form Pengujian
Keterangan:
1. Menu image, terdiri dari 3 submenu yaitu 2 Input image, untuk memasukkan gambar yang akan diproses kedalam pictrurebox
“gambar uang” 5.
2.
Submenu “Clear” 3 membersihkan seluruh isi tampilan.
3.
Submenu “Close” 4 membersihkan seluruh isi tampilan. 4. Picturebox 6 penampung hasil cropping pada gambar uang
5. Botton 8 “Konversi RGB to Grayscale” untuk mengubah gambar hasil cropping
ke gambar grayscale yang akan di tampung pada picturebox 7
6. Richtextbox 9 secara otomatis menampilkan nilai piksel dari gambar grayscale 7. Richtextbox 10 untuk mendapat nilai masukan pengujian
8. Button 11 mulai pengujian dan selama proses berjalan waktu akan ditampilkan pada textboxt 13
9. Hasil pelatihan akan ditampilkan pada richtextbox 12 10.
Pilih hasil pengujian “dikenali” atau “tidak dikenali” 11. Kemudian klik button
“simpan” 17 untuk menyimpan hasil pengujian dan waktu.
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi
Pada bab ini dijelaskan hasil analisis dan perancangan sistem yang akan mengimplementasi metode Learning Vector Quantization LVQ dan Backpropagation
ke dalam bentuk program dengan mengggunakan bahasa pemrograman Visual Basic 2012 dengan database Microsoft SQL server 2005. Pada bab sebelumnya telah dijelaskan
prinsip kerja dari metode Learning Vector Quantization LVQ dan Backpropagation.
4.1.1 Spesifikasi Perangkat Keras dan Perangkat Lunak
Spesifikasi perangkat keras dan perangkat lunak yang digunakan untuk membangun program adalah sebagai berikut:
1. Prosesor Intel® Pentium® CPU B950 2.10 GHz. 2. Kapasitas harddisk 300 GB
3. Memori RAM yang digunakan 4.00 GB. 4. Sistem operasi Windows 7 Ultimate
5. Tools yang digunakanadalahVisual Basic 2012 6. Database Microsoft SQL Server 2005
4.1.2 Proses Pengolahan Citra Uang
Berikut ini adalah tahapan awal program yang dilakukan yaitu setelah input citra awal kemudian lakukan proses cropping citra uang kertas seperti pada Gambar 4.1.
Gambar 4.1 Proses Cropping Citra
Hasil cropping yang dihasilkan telah di scaling untuk penyeragaman ukuran citranya, kemudian pilih button
“Convert RGB to Grayscale” sehingga hasil cropping berubah menjadi grayscale dan ditampilkan nilai piksel dari citra grayscale, seperti pada Gambar
4.2
Gambar 4.2 Proses Perubahan RGB to Citra Grayscale
Setelah didapat bobot dan nilai masukan berdasarkan hasil cropping citra sebelumnya, maka tentukan parameter pelatihan LVQ, seperti pada Gambar 4.3.
Gambar 4.3 Syarat pelatihan
Selanjutnya klil “Start Learning LVQ” , jika telah selesai pelatihan maka akan
ditampilkan hasil perhitungan Cj dan terlihat waktu selama proses pelatihan, seperti pada Gambar 4.4.
Gambar 4.4 Proses Pelatihan LVQ
Kemudian, lakukan proses pengenalan dengan cara yang sama, input citra, lakukan preprocessing
kemudian lanjut klik “mulai pengenalan” seperti pada Gambar 4.5 berikut ini:
Gambar 4.5 Proses Pengujian LVQ
Berikut ini proses pelatihan Backpropagation dengan melakukan proses yang sama seperti LVQ, seperti pada Gambar 4.6 berikut ini:
Gambar 4.6 Proses pelatihan Backpropagation
Berikut ini merupakan proses pengujian dengan metode Backpropagation, seperti pada Gambar 4.7 berikut :
Gambar 4.7 Proses pengujian Backpropagation