Form Master Transaksi Form Training

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