Gambar 4.4. Gambar Form Master Transaksi.
4.2.5. Form Training
Form Training digunakan untuk memasukkan input sebagai nilai koefisien yang sesuai dengan range tanggal kurs mata uang yang akan dilakukan proses
Training Data yang juga kemudian akan digunakan pada proses training JST dan akan disimpan sebagai bobot baru. Nilai-nilai yang dimasukkan antara lain hidden
layer, epoch max, MGF, laju pelatihan, dan error toleransi. Data-data nilai yang telah dimasukkan akan diproses setelah meng-klik button Train. Dan juga akan
ditampilkan grafik dari error pelatihan. Grafik ini bisa dijadikan sebagai nilai acuan pada bobot pada JST. Kemudian pada form ini juga akan ditampilkan nilai-
nilai dari bobot JST pada Listbox yang telah disediakan. Tampilan dari Form Training ini dapat dilihat pada Gambar 4.5.
Gambar 4.5. Gambar Form Training.
Berikut adalah source code dari proses-proses yang terdapat di form Training, yang meliputi proses Normalisasi, proses Feedforward, dan proses
Training Quickpropagation.
Normalisasi Data form training For
i = 0 To
jmlval - 2 j = i + 1
If mina = 0
Or minb = 0 Or maxa = 0 Or maxb = 0
Then mina = ds.Tablesxuser.Rowsi.Item4 :
minb = ds.Tablesxuser.Rowsi.Item5 : maxa = ds.Tablesxuser.Rowsi.Item4 : maxb =
ds.Tablesxuser.Rowsi.Item5 Else
xa = ds.Tablesxuser.Rowsj.Item4 : xb = ds.Tablesxuser.Rowsj.Item5
If xa 0 Or xb 0 Then
mina = Math.Minmina, xa minb = Math.Minminb, xb
maxa = Math.Maxmaxa, xa maxb = Math.Maxmaxb, xb
End If End If
Next i
Dim tgl200 As Date For
i = 0 To
jmlval - 1
xa = ds.Tablesxuser.Rowsi.Item4 : xb = ds.Tablesxuser.Rowsi.Item5
ai = 2 xa - mina maxa - mina - 1 bi = 2 xb - minb maxb - minb - 1
tgli = Formatds.Tablesxuser.Rowsi.Item2, ddMMyyyy Next
i
Pada Form Training terdapat 3 proses utama, antara lain proses normalisasi, proses Feedforward dan proses Quickpropagation. Proses yang
pertama adalah normalisasi, ditunjukan pada proses perulangan dimana data diambil dari database transaksi sesuai dengan data masukan sesuai dengan user
masukkan. Selanjutnya akan diproses dengan menggunakan rumus normalisasi merunut pada Tabel Rumus 2.11. parameter yang digunakan adalah jumlah data
yang ada i, jumlah data set j, input layer a, data xa, data terendah mina, dan data tertinggi maxa.
‘Feed Forward Dim k As Integer
sigmaa0 = 0 For
i = 0 To
jmlval - 1 j = i + 1 : k = i - 1
hida = ai + aj hidb = bi + bj
If i = 0
Then sigmaai = sigmaai + ai hida
sigmabi = sigmabi + bi hidb Else
sigmaai = sigmaak + ai hida sigmabi = sigmabi + bi hidb
End If yinai = sigmaai + a0
yinbi = sigmabi + b0 exp = Math.Expyinai
youtai = 1 - exp 1 + exp exp = Math.Expyinbi
youtbi = 1 - exp 1 + exp
Next i
sigmaouta0 = 0 sigmaoutb0 = 0
For i = 0
To jmlval - 1
j = i + 1 : k = i - 1 whida = ai + aj
whidb = bi + bj If
i = 0 Then
sigmaoutai = sigmaoutai + youtai whida sigmaoutbi = sigmaoutbi + youtbi whidb
Else sigmaoutai = sigmaoutak + youtai whida
sigmaoutbi = sigmaoutbk + youtbi whidb End If
zinai = sigmaoutai + ai zinbi = sigmaoutbi + bi
exp = Math.Expzinai zoutai = 1 - exp 1 + exp
exp = Math.Expzinbi zoutbi = 1 - exp 1 + exp
Next i
Pada proses Feedforward menggunakan rumus yang merunut pada flowchart Feedforward dengan parameter jumlah data I, jumlah data set J, data
input layer NN.Xin, data input layer dan hidden layer dengan fungsi aktivasi NN.wInHidd, data hidden layer NN.bhidd, serta data output layer NN.bout.
QuickPropagation For
i = 0 To
jmlval - 1 exp = Math.Expzinai
fai = 1 - exp 1 + exp faksena = 0.5 1 + fai 1 - fai
deltaoutai = ai - zoutai faksena exp = Math.Expzinbi
fbi = 1 - exp 1 + exp faksenb = 0.5 1 + fbi 1 - fbi
deltaoutbi = bi - zoutbi faksenb
Next i
dbouta0 = 1 dboutb0 = 1
For i = 0
To jmlval - 1
j = i + 1 : k = i - 1 exp = Math.Expyoutai
fai = 1 - exp 1 + exp exp = Math.Expyoutai
fbi = 1 - exp 1 + exp faksena = 0.5 1 + fai 1 - fai
faksenb = 0.5 1 + fbi 1 - fbi whida = ai + aj
whidb = bi + bj dwhidda = ai + aj
dwhiddb = bi + bj
dwhiddjai = dwhidda ai dwhidda 0.02 + 0.008 deltaoutai youtai
dwhiddjbi = dwhiddb bi dwhiddb 0.02 + 0.008 deltaoutbi youtbi
If i = 0
Then dboutai = dboutai ai dboutai 0.02 + 0.008
deltaoutai dboutbi = dboutbi bi dboutbi 0.02 + 0.008
deltaoutbi
Else dboutai = dboutak ai dboutak 0.02 + 0.008
deltaoutai dboutbi = dboutbk bi dboutbk 0.02 + 0.008
deltaoutbi
End If deltahiddenai = deltahiddenai + deltaoutai + whida faksena
deltahiddenbi = deltahiddenbi + deltaoutbi + whidb faksenb Next
i jmlval = ds.Tablesxuser.Rows.Count
dbhida0 = 1 dbhidb0 = 1
For i = 0
To jmlval - 1
j = i + 1 : k = i - 1 dwina = ai + aj
dwinb = bi + bj windhai = dwina ai dwina 0.02 + 0.008
deltahiddenai ai dwindhbi = dwinb bi dwinb 0.02 + 0.008
deltahiddenbi bi
If i = 0
Then dbhidai = dbhidai ai dbhidai 0.02 + 0.008
deltahiddenai dbhidbi = dbhidbi bi dbhidbi 0.02 + 0.008
deltahiddenbi
Else dbhidai = dbhidak ai dbhidak 0.02 + 0.008
deltahiddenai dbhidbi = dbhidbk bi dbhidbk 0.02 + 0.008
deltahiddenbi
End If Next
i
Proses yang terakhir adalah proses Quickpropagation di proses ini data perhitungan berdasarkan nilai bobot yang telah melewati proses rumus
sebelumnya. Pada proses Quickpropagation ini memiliki parameter antara lain indeks yang dihitung NN.target, inputan MGFkonstanta MGF, inputan laju
pelatihan konstanta, data output yang dihitung NN.dbOut dan data hidden yang dihitung NN.dbhidd
4.2.6. Form Testing
Form Testing ini adalah untuk melakukan pengecekan atas data-data hasil Training, apakah data tersebut sudah layak dijadikan data acuan prediksi. Karena
di dalam form ini memungkinkan user untuk mengetahui persentase kesalahan Error dari data hasil prediksi hari ini. Disini user hanya perlu menginputkan
data yang telah melewati proses Training Data, kemudian sistem akan menghitung persentase kesalahan dari data hasil prediksi dengan data-data yang
ada di dalam database apakah sudah sesuai dengan Error Toleransi yang telah ditentukan, yaitu Rp. 100,-. Berikut ini adalah bentuk tampilan dari Form Testing