LAMPIRAN C : SOURCE CODE PROGRAM
PROSES PENGUJIAN
Dim X(100, 2), Xs(100, 3), Xs1(100, 3), alfa, palfa, bobot(3), jb1, jb2, jb3, maxi, mini, temp1, temp2, temp3 As Double Dim Xs2(100, 3), Xs3(100, 3), Xs4(100, 3), Xs5(100, 3) As Double
Dim target1(100), target2(100), target3(100), target4(100), target5(100) As Double Dim v1(3, 4), v_11(3, 4), v01(4), w_11(4), w1(4), w01 As Variant
Dim v2(3, 4), v_12(3, 4), v02(4), w_12(4), w2(4), w02 As Variant Dim v3(3, 4), v_13(3, 4), v03(4), w_13(4), w3(4), w03 As Variant Dim v4(3, 4), v_14(3, 4), v04(4), w_14(4), w4(4), w04 As Variant Dim v5(3, 4), v_15(3, 4), v05(4), w_15(4), w5(4), w05 As Variant Dim i, n, j, maxepoh, k As Integer
Dim d_input As String Dim strCode As String
Dim ch(1 To 200, 1 To 5) As Variant
Dim v(3, 4), v_1(3, 4), v0(4), w_1(4), w(4), w0, kuadrat_error_rerata As Variant Dim Z_in(4), Z(4), Y_in, Y_akt, Y_h(100), per_error, kuadrat_error, delta_error As Variant Dim delta_W(4), delta_w0, alfa_bpnn, delta_Inp(4), Delta(4), delta_v0(4) As Variant Dim Target(100), delta_v(2, 4) As Variant
Private Sub Command1_Click() Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "Random input" & vbCrLf & vbCrLf For i = 1 To Val(Text2.Text)
X(i, 1) = X(i, 1) / 100 X(i, 1) = Round(X(i, 1), 3)
Text1.Text = Text1.Text & "x" & i & "= " & X(i, 1) & vbCrLf Next i
Text1.Text = Text1.Text & vbCrLf & vbCrLf alfa = 0.6
bobot(3) = bobot(3) + alfa * (X(i, 1) - bobot(3))
Text1.Text = Text1.Text & vbCrLf & vbCrLf Loop Until n = maxepoh
bobot(1) = bobot(1) * 100 bobot(2) = bobot(2) * 100 bobot(3) = bobot(3) * 100 bobot(1) = Round(bobot(1), 0) bobot(2) = Round(bobot(2), 0) bobot(3) = Round(bobot(3), 0)
Text1.Text = Text1.Text & "Hasil Bobot terakhir adalah" & vbCrLf Text1.Text = Text1.Text & "w1= " & bobot(1) & " w2= " & bobot(2) Text1.Text = Text1.Text & " w3= " & bobot(3) & vbCrLf
maxi = X(1, 1)
If (bobot(1) <> temp1) And (bobot(1) <> temp3) Then temp2 = bobot(1)
End If
If (bobot(2) <> temp1) And (bobot(2) <> temp3) Then temp2 = bobot(2)
End If
If (bobot(3) <> temp1) And (bobot(3) <> temp3) Then temp2 = bobot(3)
End If Text1.Text = ""
Text1.Text = Text1.Text & " Nilai Hasil Kohonen" & vbCrLf
Text1.Text = Text1.Text & " maxi= " & maxi & vbCrLf Text1.Text = Text1.Text & " temp1= " & temp1 & vbCrLf Text1.Text = Text1.Text & " temp2= " & temp2 & vbCrLf Text1.Text = Text1.Text & " temp3= " & temp3 & vbCrLf Text1.Text = Text1.Text & " mini= " & mini & vbCrLf Dim a, b, c, op As Integer
For i = 1 To 200
Next i
Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "input 1" & vbCrLf & vbCrLf set_bobot
Text1.Text = Text1.Text & "Target" & vbCrLf & vbCrLf
Dim hitn, indhit As Integer
Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "input 2" & vbCrLf & vbCrLf set_bobot
Text1.Text = Text1.Text & "Target" & vbCrLf & vbCrLf hitn = 0
w02 = w0
Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "input 3" & vbCrLf & vbCrLf set_bobot
Text1.Text = Text1.Text & "Target" & vbCrLf & vbCrLf hitn = 0
Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "input 4" & vbCrLf & vbCrLf set_bobot
Text1.Text = Text1.Text & "Target" & vbCrLf & vbCrLf hitn = 0
Next j
Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "input 5" & vbCrLf & vbCrLf set_bobot
Text1.Text = Text1.Text & "Target" & vbCrLf & vbCrLf hitn = 0
target_error = 0.001 'data bagus alfa=0.0001 max_epoh = Val(Text3.Text)
End Sub
Private Sub Command2_Click() Text1.Text = "Bilangan Random" & vbCrLf For i = 1 To Val(Text2.Text)
shorting End Sub Sub shorting() Dim temp As Double For i = 1 To Val(Text2.Text)
Text1.Text = Text1.Text & vbCrLf & vbCrLf Text1.Text = Text1.Text & "Hasil Sorting" & vbCrLf For i = 1 To Val(Text2.Text)
Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "Input Hasil Normalisasi" & vbCrLf & vbCrLf For i = 1 To Text2.Text
Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "Bobot Input Ke Hidden" & vbCrLf & vbCrLf For i = 1 To 3
Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "Bias Input Ke Hidden" & vbCrLf & vbCrLf For i = 1 To 4
v0(i) = Round(Rnd(10), 4)
Text1.Text = Text1.Text & v0(i) & " "
Next i
Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "Bobot Hidden Ke Output" & vbCrLf & vbCrLf For i = 1 To 4
'w_1(i) = 0
w(i) = Round(Rnd(10), 4)
Text1.Text = Text1.Text & w(i) & " "
Next i
Text1.Text = Text1.Text & vbCrLf & vbCrLf 'w0 = 0.467
w0 = Round(Rnd(10), 4)
Text1.Text = Text1.Text & "Bias Hidden Ke Output = " & w0 & vbCrLf & vbCrLf End Sub
strCode = strCode & bobot(1) & "{ENTER}"
strCode = strCode & bobot(2) & "{ENTER}"
strCode = strCode & bobot(3) & "{ENTER 2}"
Shell "Notepad.exe", vbNormalFocus SendKeys strCode, True
End Sub Sub simpan1()
strCode = strCode & "Bobot Input Ke Hidden Hasil Trainning {ENTER}"
For j = 1 To 4
strCode = strCode & "Bias Input Ke Hidden Hasil Trainning {ENTER}"
For i = 1 To 4
strCode = strCode & v01(i) & "{ENTER}"
Next i
strCode = strCode & "Bobot Hidden Ke Output Hasil Trainning {ENTER}"
For i = 1 To 4
strCode = strCode & w1(i) & "{ENTER}"
Next i
strCode = strCode & "Bias Hidden Ke Output Hasil Trainning {ENTER}"
strCode = strCode & w01 & "{ENTER}"
End Sub Sub simpan2()
strCode = strCode & "Bobot Input Ke Hidden Hasil Trainning {ENTER}"
For j = 1 To 4
strCode = strCode & v2(1, j) & "{ENTER}"
Next j
strCode = strCode & "Bias Input Ke Hidden Hasil Trainning {ENTER}"
For i = 1 To 4
strCode = strCode & v02(i) & "{ENTER}"
Next i
strCode = strCode & "Bobot Hidden Ke Output Hasil Trainning {ENTER}"
For i = 1 To 4
strCode = strCode & w2(i) & "{ENTER}"
Next i
strCode = strCode & "Bias Hidden Ke Output Hasil Trainning {ENTER}"
strCode = strCode & w02 & "{ENTER}"
End Sub Sub simpan3()
strCode = strCode & "Bobot Input Ke Hidden Hasil Trainning {ENTER}"
For j = 1 To 4
strCode = strCode & "Bias Input Ke Hidden Hasil Trainning {ENTER}"
For i = 1 To 4
strCode = strCode & v03(i) & "{ENTER}"
Next i
strCode = strCode & "Bobot Hidden Ke Output Hasil Trainning {ENTER}"
For i = 1 To 4
strCode = strCode & w3(i) & "{ENTER}"
Next i
strCode = strCode & "Bias Hidden Ke Output Hasil Trainning {ENTER}"
strCode = strCode & w03 & "{ENTER}"
End Sub Sub simpan4()
strCode = strCode & "Bobot Input Ke Hidden Hasil Trainning {ENTER}"
For j = 1 To 4
strCode = strCode & "Bias Input Ke Hidden Hasil Trainning {ENTER}"
For i = 1 To 4
strCode = strCode & v04(i) & "{ENTER}"
Next i
strCode = strCode & "Bobot Hidden Ke Output Hasil Trainning {ENTER}"
For i = 1 To 4
strCode = strCode & w4(i) & "{ENTER}"
Next i
strCode = strCode & "Bias Hidden Ke Output Hasil Trainning {ENTER}"
strCode = strCode & w04 & "{ENTER}"
End Sub
Sub simpan5()
strCode = strCode & "Bobot Input Ke Hidden Hasil Trainning {ENTER}"
For j = 1 To 4
strCode = strCode & "Bias Input Ke Hidden Hasil Trainning {ENTER}"
For i = 1 To 4
strCode = strCode & v05(i) & "{ENTER}"
Next i
strCode = strCode & "Bobot Hidden Ke Output Hasil Trainning {ENTER}"
For i = 1 To 4
strCode = strCode & w5(i) & "{ENTER}"
Next i
strCode = strCode & "Bias Hidden Ke Output Hasil Trainning {ENTER}"
strCode = strCode & w05 & "{ENTER}"
Dim hitn, indhit As Integer hitn = 0
indhit = 0 For i = 1 To 200 If indhit = 0 Then hitn = hitn + 1
ch(i, 1) = Y_h(hitn)
Dim hitn, indhit As Integer hitn = 0
End If
Dim hitn, indhit As Integer hitn = 0
For i = 1 To 3
Dim hitn, indhit As Integer hitn = 0
Next i
Dim hitn, indhit As Integer hitn = 0
w_15(i) = w_1(i) Dim epoh As Variant epoh = 1
Do
kuadrat_error_rerata = 0
'Text1.Text = Text1.Text & "Epoh" & epoh & vbCrLf epoh = epoh + 1
For j = 1 To Val(Text2.Text) iterasi
Next j
kuadrat_error_rerata = kuadrat_error_rerata / 100 kuadrat_error_rerata = Round(kuadrat_error_rerata, 4)
'Text1.Text = Text1.Text & "kuadrat error rata2= " & kuadrat_error_rerata & vbCrLf If kuadrat_error_rerata < target_error Then
GoTo selesai End If
'Text1.Text = Text1.Text & vbCrLf Loop Until epoh = Val(Text3.Text) selesai:
Text1.Text = Text1.Text & "Epoh ke = " & epoh & vbCrLf
Text1.Text = Text1.Text & "kuadrat error= " & kuadrat_error_rerata & vbCrLf For i = 1 To 100
Text1.Text = Text1.Text & "y" & i & "=" & Y_h(i) & vbCrLf Next i
Text1.Text = Text1.Text & vbCrLf Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "Bobot Input Ke Hidden Hasil Trainning" & vbCrLf & vbCrLf For i = 1 To 3
Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "Bias Input Ke Hidden Hasil Trainning" & vbCrLf & vbCrLf For i = 1 To 4
Text1.Text = Text1.Text & v0(i) & " "
Next i
Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "Bobot Hidden Ke Output Hasil Trainning" & vbCrLf & vbCrLf For i = 1 To 4
Text1.Text = Text1.Text & w(i) & " "
Next i
Text1.Text = Text1.Text & vbCrLf & vbCrLf
Text1.Text = Text1.Text & "Bias Hidden Ke Output Hasil Trainning = " & w0 & vbCrLf & vbCrLf End Sub
Sub iterasi()
Dim Sigma_Inp, Sigma_W As Variant For i = 1 To 4
Sigma_Inp = 0
For k = 1 To 3
'Text1.Text = Text1.Text & per_error & vbCrLf kuadrat_error = per_error ^ 2
kuadrat_error = Round(kuadrat_error, 4)
kuadrat_error_rerata = kuadrat_error_rerata + kuadrat_error delta_error = per_error * Y_akt * (1 - Y_akt)
delta_error = Round(delta_error, 4)
'Text1.Text = Text1.Text & delta_error & vbCrLf
v(i, k) = Round(v(i, k), 5)
Dim tempsem, tempsem1 As Double tempsem = ch(1, 1)
Dim tempsem, tempsem1 As Double tempsem = ch(1, 2)
Else
Dim tempsem, tempsem1 As Double tempsem = ch(1, 3)
Dim tempsem, tempsem1 As Double tempsem = ch(1, 4)
Dim tempsem, tempsem1 As Double tempsem = ch(1, 5)