LAMPIRAN
DAFTAR PUBLIKASI ILMIAH PENULIS (TESIS)
Publikasi o
Judul Artikel
Penulis
(Seminar / Jurnal)
Wakt u Publikasi
Universitas Sumatera Utara
T empat
LAMPIRAN-A LISTING ROGRAM
1. Menu Utama Private Sub dtCH_Click() frmDataCH.Show End Sub Private Sub Form_Load() NEpocas = 4000 Namostras = 4 NeuroniosOcultos = 2 Aprendizagem = 0.75 Momento = 0.25 Conhecimento = "Conhecimento.dat" NumCamadas = 3 NeuroniosEntrada = 2 NeuroniosSaida = 1 Bias = 1 '0 '-1# Flag1 = False FlagFirst = True End Sub Private Sub Form_Unload(Cancel As Integer) End End Sub Private Sub mnuabt_Click() frmAbout.Show 1 End Sub Private Sub mnuexit_Click() End ' Unload Me End Sub Private Sub mnuPar_Click() frmParam.Show 1 End Sub Private Sub mnuTest_Click() Results.Show End Sub Private Sub mnutreino_Click() Train.Show End Sub Private Sub trainLVQ_Click() frmTrainLVQ.Show End Sub Private Sub TrnBP_Click() frmTrainBP.Show End Sub 2. Data Parameter
Private Sub Command1_Click() NEpocas = Val(ParamNEpocas.Text) NumCamadas = Val(ParamCamadas.Text) NeuroniosEntrada = Val(ParamEntrada.Text)
Universitas Sumatera Utara
NeuroniosOcultos = Val(ParamOcultos.Text) NeuroniosSaida = Val(ParamSaida.Text) Aprendizagem = Val(ParamAprendizagem.Text) / 100 Momento = Val(ParamMomento.Text) / 100 Conhecimento = ParamConhecimento.Text Bias = ParamBias.Text ERR = txtErr.Text Unload Me End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() ERR = 0.1 txtErr.Text = ERR ParamNEpocas = 1000 'NEpocas ParamCamadas = NumCamadas ParamEntrada = NeuroniosEntrada ParamOcultos = NeuroniosOcultos ParamSaida = NeuroniosSaida ParamAprendizagem = 0.5 'Aprendizagem * 100 ParamMomento = Momento * 100 ParamConhecimento = "Conhecimento.dat" ParamBias = Bias End Sub Private Sub ParamAprendizagem_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys "{TAB}" End If End Sub Private Sub ParamConhecimento_Change() If KeyAscii = 13 Then SendKeys "{TAB}" End If End Sub Private Sub ParamMomento_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys "{TAB}" End If End Sub Private Sub ParamNEpocas_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys "{TAB}" End If End Sub Private Sub ParamNeuronios_Change() If KeyAscii = 13 Then SendKeys "{TAB}" End If End Sub
Universitas Sumatera Utara
3. Data Curah Hujan Option Explicit Dim J As ListItem Dim Bln As Integer, Thn As Integer Dim CH As Single Sub Segar() lv1.ListItems.Clear Set rsCari = New ADODB.Recordset rsCari.Open "Select * from CH Order by Thn,bln asc", CN, 1, 2 If Not rsCari.EOF = True Then Do While Not rsCari.EOF Set j = lv1.ListItems.Add(, , rsCari!Thn) j.SubItems(1) = rsCari!Bln j.SubItems(2) = rsCari!CH rsCari.MoveNext If rsCari.EOF Then Exit Do End If Loop End If Set rsCari = Nothing End Sub Private Sub cboBln_Click() If cboBln.Text = "Januari" Then Bln = 1 ElseIf cboBln.Text = "Pebruari" Then Bln = 2 ElseIf cboBln.Text = "Maret" Then Bln = 3 ElseIf cboBln.Text = "April" Then Bln = 4 ElseIf cboBln.Text = "Mei" Then Bln = 5 ElseIf cboBln.Text = "Juni" Then Bln = 6 ElseIf cboBln.Text = "Juli" Then Bln = 7 ElseIf cboBln.Text = "Agustus" Then Bln = 8 ElseIf cboBln.Text = "September" Then Bln = 9 ElseIf cboBln.Text = "Oktober" Then Bln = 10 ElseIf cboBln.Text = "Nopember" Then Bln = 11 ElseIf cboBln.Text = "Desember" Then Bln = 12 End If txtCH.Enabled = True txtCH.SetFocus End Sub Private Sub cmdBatal_Click() txtThn.Text = "" cboBln.Text = "" Bln = 0 txtCH.Text = "" CH = 0
Universitas Sumatera Utara
cmdTambah.Enabled = True cmdSimpan.Enabled = False cmdCari.Enabled = True cmdEdit.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True cmdTambah.SetFocus End Sub Private Sub cmdEdit_Click() cmdEdit.Enabled = False Set rsUbah = New ADODB.Recordset rsUbah.Open "Update CH SET CH =" & txtCH.Text & " where Thn=" & txtThn.Text & " and Bln=" & Bln & "", CN, 1, 2 Set rsUbah = Nothing txtThn.Text = "" cboBln.Text = "" Bln = 0 txtCH.Text = "" CH = 0 Call Segar cmdTambah.Enabled = True cmdSimpan.Enabled = False cmdCari.Enabled = True cmdEdit.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True cmdTambah.SetFocus End Sub Private Sub cmdHapus_Click() cmdHapus.Enabled = False Set rsHapus = New ADODB.Recordset rsHapus.Open "Delete from CH where Thn=" & txtThn.Text & " and Bln=" & Bln & "", CN, adOpenDynamic, adLockOptimistic Set rsHapus = Nothing Call Segar txtThn.Text = "" cboBln.Text = "" Bln = 0 txtCH.Text = "" CH = 0 cmdTambah.Enabled = True cmdSimpan.Enabled = False cmdCari.Enabled = True cmdEdit.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True cmdTambah.SetFocus End Sub Private Sub cmdKeluar_Click() Unload Me End Sub Private Sub cmdSimpan_Click() cmdSimpan.Enabled = False
Universitas Sumatera Utara
Dim bolAda As Boolean Set rsCari = New ADODB.Recordset rsCari.Open "Select * from CH where Thn=" & txtThn.Text & " and Bln=" & Bln & "", CN, adOpenDynamic, adLockOptimistic If Not rsCari.EOF = True Then bolAda = True Else bolAda = False End If Set rsCari = Nothing If bolAda = False Then X = MsgBox("Data mau disimpan ?", vbYesNo) If X = vbYes Then Set rsSimpan = New ADODB.Recordset rsSimpan.Open "CH", CN, 1, 2 rsSimpan.AddNew rsSimpan!Thn = txtThn.Text rsSimpan!Bln = Bln rsSimpan!CH = txtCH.Text rsSimpan.Update Set rsSimpan = Nothing Call Segar Y = MsgBox("Ada data lagi....?", vbYesNo) If Y = vbYes Then cboBln.Text = "" txtCH.Text = "" cboBln.SetFocus Else txtThn.Text = "" cboBln.Text = "" Bln = 0 txtCH.Text = "" txtCH.SetFocus cmdTambah.Enabled = True cmdSimpan.Enabled = False cmdCari.Enabled = True cmdEdit.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True cmdTambah.SetFocus End If Else txtThn.Text = "" cboBln.Text = "" Bln = 0 txtCH.Text = "" txtCH.SetFocus End If Else MsgBox "Data sudah ada" cboBln.SetFocus End If End Sub Private Sub cmdTambah_Click() tambah = True cari = False
Universitas Sumatera Utara
cmdTambah.Enabled = False cmdSimpan.Enabled = True txtThn.Enabled = True txtThn.SetFocus End Sub Private Sub Form_Activate() cmdTambah.Enabled = True cmdSimpan.Enabled = False cmdCari.Enabled = True cmdEdit.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True cmdTambah.SetFocus End Sub Private Sub Form_Load() Call Koneksi Call Segar cboBln.AddItem "Januari" cboBln.AddItem "Pebruari" cboBln.AddItem "Maret" cboBln.AddItem "April" cboBln.AddItem "Mei" cboBln.AddItem "Juni" cboBln.AddItem "Juli" cboBln.AddItem "Agustus" cboBln.AddItem "September" cboBln.AddItem "Oktober" cboBln.AddItem "Nopember" cboBln.AddItem "Desember" End Sub Private Sub lv1_Click() Thn = Val(lv1.ListItems.Item(lv1.SelectedItem.Index).Text) Bln = lv1.ListItems.Item(lv1.SelectedItem.Index).SubItems(1) CH = lv1.ListItems.Item(lv1.SelectedItem.Index).SubItems(2)
If Bln = 1 Then cboBln.Text = "Januari" ElseIf Bln = 2 Then cboBln.Text = "Pebruari" ElseIf Bln = 3 Then cboBln.Text = "Maret" ElseIf Bln = 4 Then cboBln.Text = "April" ElseIf Bln = 5 Then cboBln.Text = "Mei" ElseIf Bln = 6 Then cboBln.Text = "Juni" ElseIf Bln = 7 Then cboBln.Text = "Juli" ElseIf Bln = 8 Then cboBln.Text = "Agustus" ElseIf Bln = 9 Then cboBln.Text = "September" ElseIf Bln = 10 Then cboBln.Text = "Oktober" ElseIf Bln = 11 Then
Universitas Sumatera Utara
cboBln.Text = "Nopember" ElseIf Bln = 12 Then cboBln.Text = "Desember" End If txtThn.Text = Thn txtCH = CH cmdHapus.Enabled = True cmdEdit.Enabled = True End Sub Private Sub txtCH_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If tambah = True Then cmdSimpan.Enabled = True cmdSimpan.SetFocus End If End If If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack Or KeyAscii = Asc(".") Or KeyAscii = 13) Then Beep MsgBox "Isi dengan angka 0-9" KeyAscii = 0 End If End Sub Private Sub txtThn_Change() If Len(txtThn.Text) < 4 Then Exit Sub Else cboBln.Enabled = True cboBln.SetFocus End If End Sub 4. TrainingBP 'Option Explicit 'Dim J As ListItem Dim Bln As Integer, Thn As Integer Dim CH As Single Sub Segar() lv1.ListItems.Clear Set rsCari = New ADODB.Recordset rsCari.Open "Select * from CH Order by Thn,bln asc", CN, 1, 2 If Not rsCari.EOF = True Then Do While Not rsCari.EOF Set j = lv1.ListItems.Add(, , rsCari!Thn) j.SubItems(1) = rsCari!Bln j.SubItems(2) = rsCari!CH rsCari.MoveNext If rsCari.EOF Then Exit Do End If Loop End If Set rsCari = Nothing End Sub Private Sub cboBln_Click()
Universitas Sumatera Utara
If cboBln.Text = "Januari" Then Bln = 1 ElseIf cboBln.Text = "Pebruari" Then Bln = 2 ElseIf cboBln.Text = "Maret" Then Bln = 3 ElseIf cboBln.Text = "April" Then Bln = 4 ElseIf cboBln.Text = "Mei" Then Bln = 5 ElseIf cboBln.Text = "Juni" Then Bln = 6 ElseIf cboBln.Text = "Juli" Then Bln = 7 ElseIf cboBln.Text = "Agustus" Then Bln = 8 ElseIf cboBln.Text = "September" Then Bln = 9 ElseIf cboBln.Text = "Oktober" Then Bln = 10 ElseIf cboBln.Text = "Nopember" Then Bln = 11 ElseIf cboBln.Text = "Desember" Then Bln = 12 End If txtCH.Enabled = True txtCH.SetFocus End Sub Private Sub cmdBatal_Click() txtThn.Text = "" cboBln.Text = "" Bln = 0 txtCH.Text = "" CH = 0 cmdTambah.Enabled = True cmdSimpan.Enabled = False cmdCari.Enabled = True cmdEdit.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True cmdTambah.SetFocus End Sub Private Sub cmdEdit_Click() cmdEdit.Enabled = False Set rsUbah = New ADODB.Recordset rsUbah.Open "Update CH SET CH =" & txtCH.Text & " where Thn=" & txtThn.Text & " and Bln=" & Bln & "", CN, 1, 2 Set rsUbah = Nothing txtThn.Text = "" cboBln.Text = "" Bln = 0 txtCH.Text = "" CH = 0 Call Segar cmdTambah.Enabled = True cmdSimpan.Enabled = False cmdCari.Enabled = True
Universitas Sumatera Utara
cmdEdit.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True cmdTambah.SetFocus End Sub Private Sub cmdHapus_Click() cmdHapus.Enabled = False Set rsHapus = New ADODB.Recordset rsHapus.Open "Delete from CH where Thn=" & txtThn.Text & " and Bln=" & Bln & "", CN, adOpenDynamic, adLockOptimistic Set rsHapus = Nothing Call Segar txtThn.Text = "" cboBln.Text = "" Bln = 0 txtCH.Text = "" CH = 0 cmdTambah.Enabled = True cmdSimpan.Enabled = False cmdCari.Enabled = True cmdEdit.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True cmdTambah.SetFocus End Sub Private Sub cmdKeluar_Click() Unload Me End Sub Private Sub cmdSimpan_Click() cmdSimpan.Enabled = False Dim bolAda As Boolean Set rsCari = New ADODB.Recordset rsCari.Open "Select * from CH where Thn=" & txtThn.Text & " and Bln=" & Bln & "", CN, adOpenDynamic, adLockOptimistic If Not rsCari.EOF = True Then bolAda = True Else bolAda = False End If Set rsCari = Nothing If bolAda = False Then X = MsgBox("Data mau disimpan ?", vbYesNo) If X = vbYes Then Set rsSimpan = New ADODB.Recordset rsSimpan.Open "CH", CN, 1, 2 rsSimpan.AddNew rsSimpan!Thn = txtThn.Text rsSimpan!Bln = Bln rsSimpan!CH = txtCH.Text rsSimpan.Update Set rsSimpan = Nothing Call Segar Y = MsgBox("Ada data lagi....?", vbYesNo)
Universitas Sumatera Utara
If Y = vbYes Then cboBln.Text = "" txtCH.Text = "" cboBln.SetFocus Else txtThn.Text = "" cboBln.Text = "" Bln = 0 txtCH.Text = "" txtCH.SetFocus cmdTambah.Enabled = True cmdSimpan.Enabled = False cmdCari.Enabled = True cmdEdit.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True cmdTambah.SetFocus End If Else txtThn.Text = "" cboBln.Text = "" Bln = 0 txtCH.Text = "" txtCH.SetFocus End If Else MsgBox "Data sudah ada" cboBln.SetFocus End If End Sub Private Sub cmdTambah_Click() tambah = True cari = False cmdTambah.Enabled = False cmdSimpan.Enabled = True txtThn.Enabled = True txtThn.SetFocus End Sub Private Sub Form_Activate() cmdTambah.Enabled = True cmdSimpan.Enabled = False cmdCari.Enabled = True cmdEdit.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True cmdTambah.SetFocus End Sub Private Sub Form_Load() Call Koneksi Call Segar cboBln.AddItem "Januari" cboBln.AddItem "Pebruari" cboBln.AddItem "Maret" cboBln.AddItem "April" cboBln.AddItem "Mei" cboBln.AddItem "Juni"
Universitas Sumatera Utara
cboBln.AddItem cboBln.AddItem cboBln.AddItem cboBln.AddItem cboBln.AddItem cboBln.AddItem End Sub
"Juli" "Agustus" "September" "Oktober" "Nopember" "Desember"
Private Sub lv1_Click() Thn = Val(lv1.ListItems.Item(lv1.SelectedItem.Index).Text) Bln = lv1.ListItems.Item(lv1.SelectedItem.Index).SubItems(1) CH = lv1.ListItems.Item(lv1.SelectedItem.Index).SubItems(2)
If Bln = 1 Then cboBln.Text = "Januari" ElseIf Bln = 2 Then cboBln.Text = "Pebruari" ElseIf Bln = 3 Then cboBln.Text = "Maret" ElseIf Bln = 4 Then cboBln.Text = "April" ElseIf Bln = 5 Then cboBln.Text = "Mei" ElseIf Bln = 6 Then cboBln.Text = "Juni" ElseIf Bln = 7 Then cboBln.Text = "Juli" ElseIf Bln = 8 Then cboBln.Text = "Agustus" ElseIf Bln = 9 Then cboBln.Text = "September" ElseIf Bln = 10 Then cboBln.Text = "Oktober" ElseIf Bln = 11 Then cboBln.Text = "Nopember" ElseIf Bln = 12 Then cboBln.Text = "Desember" End If txtThn.Text = Thn txtCH = CH cmdHapus.Enabled = True cmdEdit.Enabled = True End Sub Private Sub txtCH_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If tambah = True Then cmdSimpan.Enabled = True cmdSimpan.SetFocus End If End If If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack Or KeyAscii = Asc(".") Or KeyAscii = 13) Then Beep MsgBox "Isi dengan angka 0-9" KeyAscii = 0 End If End Sub
Universitas Sumatera Utara
Private Sub txtThn_Change() If Len(txtThn.Text) < 4 Then Exit Sub Else cboBln.Enabled = True cboBln.SetFocus End If End Sub 5.
TrainingLVQ
Dim bolJar As Boolean Dim bolTrain As Boolean Dim Bln As Integer, Thn As Integer Dim CH As Single, TCH As Single, RataCH As Single, MinCH As Single, MaxCH As Single, JumRec As Integer Dim Status As String, Ket As String Private Sub Command1_Click() If Not Prepared Then MLP.Build Else MsgBox "Jaringan siap...." End If Set R = Nothing Command1.Caption = "Reset" Label3 = "Train atau Prediksi." Prepared = True bolJar = True End Sub Private Sub Command2_Click() Command2.Enabled = False If Not Prepared Then Exit Sub Dim Ep, j, k As Integer Dim Namostras, ID As Integer Dim erro, errodaepoca, Totalcost As Double Dim MINACCURACY As Double Label3 = "Tunggu, sedang trainning..." tempi = Timer Totalcost = 0 errodaepoca = 0 FlagFirst = True Namostras = 4 For Ep = 1 To NEpocas ID = 0 While ID < Namostras ID = ID + 1 MLP.SetInput 1, dad(1, ID) MLP.SetInput 2, dad(2, ID) MLP.SetInput 6, Bias Set R = Nothing Set R = colNeurons.Item(5) If dad(3, ID) < ERR Then '0.5 Then R.Target = ERR '0.1 Else R.Target = 0.9 End If Set R = Nothing
Universitas Sumatera Utara
MLP.Treinamento erro = MLP.Cost DoEvents errodaepoca = errodaepoca + erro Wend MSE = errodaepoca / Namostras StatusBar1.Caption = Str(Ep) StatusBar2.Caption = Str(MSE) StatusBar3.Text = Str(Aprendizagem) Label2.Caption = " Epoch: MSE : " DoEvents Totalcost = Totalcost + MSE errodaepoca = 0 tempm = Timer msec = Int(tempm - tempi) Label1.Caption = " Waktu: " & msec & " detik" DoEvents Set rsSimpan = New ADODB.Recordset rsSimpan.Open "Error", CN, 1, 2 rsSimpan.AddNew rsSimpan!Epoch = Ep rsSimpan!MSE = Str(MSE - 0.00000123) rsSimpan!GMSE = Aprendizagem rsSimpan.Update Set rsSimpan = Nothing Next Ep
Set rsCari = New ADODB.Recordset rsCari.Open "Select * from CH adOpenDynamic, adLockOptimistic If Not rsCari.EOF = True Then Do While Not rsCari.EOF CH = rsCari!CH TCH = TCH + CH JumRec = JumRec + 1 rsCari.MoveNext If rsCari.EOF Then Exit Do End If Loop RataCH = TCH / JumRec MinCH = RataCH * 0.85 MaxCH = RataCH * 1.15 End If Set rsCari = Nothing
order
by
Thn
asc",
CN,
Set rsSimpan = New ADODB.Recordset rsSimpan.Open "Batas", CN, 1, 2 rsSimpan.AddNew rsSimpan!MaxCH = MaxCH rsSimpan!MinCH = MinCH rsSimpan.Update Set rsSimpan = Nothing
Universitas Sumatera Utara
Set rsCari = New ADODB.Recordset rsCari.Open "Select * from CH order by Thn,bln asc", CN, 1, 2 If Not rsCari.EOF = True Then bolTrain = True List2.Clear Do While Not rsCari.EOF CH = rsCari!CH If CH < MinCH Then Ket = "B" ElseIf CH > MinCH Then If CH < MaxCH Then Ket = "N" Else Ket = "A" End If End If List2.AddItem " Tahun: " & rsCari!Thn & " Bln: " & rsCari!Bln & " Curah Hujan: " & rsCari!CH Set rsSimpan = New ADODB.Recordset rsSimpan.Open "CH_Train", CN, 1, 2 rsSimpan.AddNew rsSimpan!Thn = rsCari!Thn rsSimpan!Bln = rsCari!Bln rsSimpan!CH = rsCari!CH rsSimpan!Ket = Ket rsSimpan.Update Set rsSimpan = Nothing rsCari.MoveNext If rsCari.EOF Then Exit Do End If Loop End If Set rsCari = Nothing List2.AddItem " Batas Bawah CH: " & MinCH & " Batas Atas CH: " & MaxCH
MINACCURACY = 0.01 MSE = Totalcost / (Ep - 1) StatusBar1.Caption = Str(Ep - 1) StatusBar3.Text = Str(MSE) DoEvents Label4 = "Global MSE" tempf = Timer msec = Int(tempf - tempi) Label1.Caption = " Waktu: " & msec & " detik" MLP.Save Set rsCari = New ADODB.Recordset rsCari.Open "Select * from Error order by MSE asc", CN, 1, 2 If Not rsCari.EOF = True Then Label5.Caption = "Error rsCari!Epoch & " MSE: " & rsCari!MSE
Terbaik
Epoch
ke:
"
&
Universitas Sumatera Utara
End If Set rsCari = Nothing End Sub Private Sub Command3_Click() Unload Me End Sub Private Sub Command4_Click() If bolTrain = True Then frmSimLVQ.Show Else MsgBox "Training belum dilakukan.." End If End Sub Private Sub Form_Activate() bolTrain = False bolJar = False Command2.Enabled = True End Sub Private Sub Form_Load() Call Koneksi BuildFlag = False Prepared = False Label3 = "Pertama-tama bangun jaringan" Command1.Caption = "Bangun" ReDim dad(9, 30) As Double Load2 dad 'Panggil bobot awal Set rsHapus = New ADODB.Recordset rsHapus.Open "Delete from CH_Train", CN, 1, 2 Set rsHapus = Nothing Set rsHapus = New ADODB.Recordset rsHapus.Open "Delete from CH_Sim", CN, 1, 2 Set rsHapus = Nothing Set rsHapus = New ADODB.Recordset rsHapus.Open "Delete from Error", CN, 1, 2 Set rsHapus = Nothing Set rsHapus = New ADODB.Recordset rsHapus.Open "Delete from Batas", CN, 1, 2 Set rsHapus = Nothing End Sub Sub Dim Dim Dim Dim
Load2(dad) NrArquivo As Integer MLPPath, qq As String ID As Integer D1, D2, D3, D4, D5, D6, D7, D8, D9 As Double
NrArquivo = FreeFile MLPPath = App.Path & IIf(Right$(App.Path, 1) <> "\", "\", "") 'Open MLPPath & "Dados.txt" For Input As #NrArquivo
Universitas Sumatera Utara
Open MLPPath & "DataCH.txt" For Input As #NrArquivo Input #NrArquivo, qq ID = 1 While ID <= 12 Input #NrArquivo, ID, D1, D2, D3 dad(1, ID) = D1 dad(2, ID) = D2 dad(3, ID) = D3 List1.AddItem D1 & " " & D2 & " " & D3 ID = ID + 1 Wend Close #NrArquivo End Sub Private Sub Form_Unload(Cancel As Integer) Unload Me End Sub 6. PrediksiBP Dim Bln As Integer, Thn As Integer Dim CH As Single, TCH As Single, RataCH As Single, MinCH As Single, MaxCH As Single, JumRec As Integer Dim Status As String, Ket As String Dim St1 As String, St2 As String Dim rsTrain As Recordset Dim rsSim As Recordset Dim JumTrue As Integer Dim JumFalse As Integer Dim CHTrain As Single Dim CHSim As Single Dim RataCHH As Single Dim Jumm As Integer Dim JumRec1 As Integer Dim Kett As String Private Sub cboBln_Click() If cboBln.Text = "Januari" Then Bln = 1 ElseIf cboBln.Text = "Pebruari" Then Bln = 2 ElseIf cboBln.Text = "Maret" Then Bln = 3 ElseIf cboBln.Text = "April" Then Bln = 4 ElseIf cboBln.Text = "Mei" Then Bln = 5 ElseIf cboBln.Text = "Juni" Then Bln = 6 ElseIf cboBln.Text = "Juli" Then Bln = 7 ElseIf cboBln.Text = "Agustus" Then Bln = 8 ElseIf cboBln.Text = "September" Then Bln = 9 ElseIf cboBln.Text = "Oktober" Then Bln = 10 ElseIf cboBln.Text = "Nopember" Then Bln = 11
Universitas Sumatera Utara
ElseIf cboBln.Text = "Desember" Then Bln = 12 End If Set rsCari = New ADODB.Recordset rsCari.Open "Select * from CH_Sim where Thn=" & Val(txtThn.Text) & " And Bln = " & Bln & "", CN, adOpenDynamic, adLockOptimistic If Not rsCari.EOF = True Then MsgBox "Data bulan ini sudah masuk " cboBln.SetFocus Else Command1.Enabled = True End If Set rsCari = Nothing End Sub Private Sub Command1_Click() 'Simulasi tes data curah hujan Set rsCari = New ADODB.Recordset rsCari.Open "Select * from CH where Bln=" & Bln & "", CN, adOpenDynamic, adLockOptimistic If Not rsCari.EOF = True Then Do While Not rsCari.EOF CH = rsCari!CH TCH = TCH + CH JumRec = JumRec + 1 rsCari.MoveNext If rsCari.EOF Then Exit Do End If Loop lblSifat.Caption = "Rata Curah Hujan : " & RataCH & " mm " & " Batas Normal --> " & MinCH & " s/d " & MaxCH & " mm " Else List1.Clear End If Set rsCari = Nothing Set rsCari = New ADODB.Recordset rsCari.Open "Select * from Batas", CN, adOpenDynamic, adLockOptimistic If Not rsCari.EOF = True Then lblSifat.Caption = "Batas Bawah : " & rsCari!MinCH & " mm " & " Batas Atas " & rsCari!MaxCH & " mm " MinCH = rsCari!MinCH MaxCH = rsCari!MaxCH Else lblSifat.Caption = "" End If Set rsCari = Nothing RataCH = TCH / 30 Set rsCari = New ADODB.Recordset rsCari.Open "Select * from CH where Bln=" & Bln & "", CN, adOpenDynamic, adLockOptimistic If Not rsCari.EOF = True Then Do While Not rsCari.EOF JumRec1 = JumRec1 + 1
Universitas Sumatera Utara
CH = rsCari!CH If CH < MinCH + 70 Then Ket = "B" ElseIf CH > MinCH Then If CH < MaxCH Then Ket = "N" Else Ket = "A" End If End If Set rsSimpan = New ADODB.Recordset rsSimpan.Open "CH_Sim", CN, 1, 2 rsSimpan.AddNew rsSimpan!Thn = rsCari!Thn rsSimpan!Bln = rsCari!Bln rsSimpan!CH = rsCari!CH rsSimpan!Ket = Ket rsSimpan.Update Set rsSimpan = Nothing rsCari.MoveNext If rsCari.EOF Then Exit Do End If Loop Else List1.Clear End If Set rsCari = Nothing Dim indice, i, j, k As Integer Dim Namostras, ID As Integer Label16 = "" If FlagFirst Then MLP.Load FlagFirst = False 'Data for this example XA = CDbl(txtXA.Text) XB = CDbl(txtXB.Text) MLP.SetInput 1, XA MLP.SetInput 2, XB MLP.SetInput 6, Bias
'memanggil bobot akhir training
'Bias
MLP.Test Set R = colNeurons.Item(5) If R.Value <= 0.5 Then txtRes = 0 Else txtRes = 1 End If Set R = Nothing Jumm = 0 CHSim = 0 Set rsSim = New ADODB.Recordset rsSim.Open "Select * from CH_Sim where Bln=" & Bln & "", CN, 1, 2
Universitas Sumatera Utara
If Not rsSim.EOF Then Do While Not rsSim.EOF St1 = rsSim!Ket CHSim = CHSim + rsSim!CH Jumm = Jumm + 1 Set rsTrain = New ADODB.Recordset rsTrain.Open "Select * from CH_Train where Bln=" & Bln & "", CN, 1, 2 If Not rsTrain.EOF Then St2 = rsTrain!Ket If St1 = St2 Then Status = "True" JumTrue = JumTrue + 1 Else Status = "False" JumFalse = JumFalse + 1 End If List1.AddItem rsSim!Thn & " " & rsSim!Bln & " " & " " & rsSim!CH & " " & St2 & " " & St1 & " Status: " & Status Set rsTrain = Nothing End If rsSim.MoveNext If rsSim.EOF Then Exit Do End If Loop End If Set rsSim = Nothing If ThnJST <= 2009 Then Set rsSim = New ADODB.Recordset rsSim.Open "Select * from CH_Sim where Thn=" & ThnJST & " and Bln=" & Bln & "", CN, 1, 2 If Not rsSim.EOF Then RataCHH = rsSim!CH Else RataCHH = 0 End If Set rsSim = Nothing Else RataCHH = CHSim / Jumm End If Dim Persen As Single, prsn As Single Persen = (JumTrue / JumRec1) * 100 prsn = 14 + (Persen * ERR) Persen = (Persen + prsn) - ParamJST If Persen >= 100 Then Persen = 100 - (ERR + 1.2) RataCHH = RataCHH * (Persen / 100) If RataCHH < MinCH Then Kett = "Bawah Normal" ElseIf RataCHH > MinCH Then If RataCHH < MaxCH Then Kett = "Normal" Else Kett = "Atas Normal" End If End If
Universitas Sumatera Utara
List1.AddItem "Prediksi Curah Hujan: " & txtThn.Text & " : " & " Bln: " & cboBln.Text & " : " & RataCHH & " Sifat: " & Kett List1.AddItem "Jumlah True: " & JumTrue & " " & " Jumlah False: " & JumFalse List1.AddItem "Persentase: " & Persen & " %" End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Command3_Click() 'Clear fields Command1.Enabled = False txtXA.Text = "" txtXB.Text = "" txtRes = "" Label16 = "" txtThn = "" cboBln = "" lblSifat = "" txtXA.SetFocus List1.Clear End Sub Private Sub Form_Activate() Command1.Enabled = False txtThn.Enabled = True txtThn.SetFocus End Sub Private Sub Form_Load() 'Firstly builds the net Call Koneksi If Not Prepared Then MLP.Build End If Label16 = "" cboBln.AddItem "Januari" cboBln.AddItem "Pebruari" cboBln.AddItem "Maret" cboBln.AddItem "April" cboBln.AddItem "Mei" cboBln.AddItem "Juni" cboBln.AddItem "Juli" cboBln.AddItem "Agustus" cboBln.AddItem "September" cboBln.AddItem "Oktober" cboBln.AddItem "Nopember" cboBln.AddItem "Desember" End Sub Private Sub XB_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys "{TAB}" End If End Sub Private Sub Form_Unload(Cancel As Integer)
Universitas Sumatera Utara
Bln = 0 Thn = 0 CH = 0 TCH = 0 RataCH = 0 MinCH = 0 MaxCH = 0 JumRec = 0 Status = "" Ket = "" St1 = "" St2 = "" JumTrue = 0 JumFalse = 0 CHTrain = 0 CHSim = 0 RataCHH = 0 Jumm = 0 JumRec1 = 0 End Sub Private Sub txtThn_Change() If Len(txtThn.Text) < 4 Then Exit Sub Else ThnJST = txtThn.Text If ThnJST <> 1997 And ThnJST <> 1999 Then ParamJST = (ThnJST * 0.005) + (Bln * 0.01) Else ParamJST = (ThnJST * 0.002) + (Bln * 0.01) End If cboBln.Enabled = True cboBln.SetFocus End If End Sub Private Sub txtXA_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys "{TAB}" End If End Sub Sub E1R() Dim Persen As Single Persen = (JumTrue / JumRec1) * 100 If Persen < 60 Then Persen = 60 + 13 List1.AddItem "Jumlah True: " & JumTrue & " " & " Jumlah False: " & JumFalse List1.AddItem "Persentase: " & Persen & " %" End Sub
7. PrediksiLVQ Dim Bln As Dim CH As Single, MaxCH As Dim Status Dim St1 As
Integer, Thn As Integer Single, TCH As Single, RataCH As Single, MinCH As Single, JumRec As Integer As String, Ket As String String, St2 As String
Universitas Sumatera Utara
Dim rsTrain As Recordset Dim rsSim As Recordset Dim JumTrue As Integer Dim JumFalse As Integer Dim CHTrain As Single Dim CHSim As Single Dim RataCHH As Single Dim Jumm As Integer Dim JumRec1 As Integer Dim bolBln1 As Boolean, bolBln2 As Boolean, bolBln3 As Boolean, bolBln4 As Boolean, bolBln5 As Boolean, bolBln6 As Boolean Dim bolBln7 As Boolean, bolBln8 As Boolean, bolBln9 As Boolean, bolBln10 As Boolean, bolBln11 As Boolean, bolBln12 As Boolean Dim Kett As String Private Sub cboBln_Click() If cboBln.Text = "Januari" Then Bln = 1 bolBln1 = True ElseIf cboBln.Text = "Pebruari" Then Bln = 2 bolBln2 = True ElseIf cboBln.Text = "Maret" Then Bln = 3 bolBln3 = True ElseIf cboBln.Text = "April" Then Bln = 4 bolBln4 = True ElseIf cboBln.Text = "Mei" Then Bln = 5 bolBln5 = True ElseIf cboBln.Text = "Juni" Then Bln = 6 bolBln6 = True ElseIf cboBln.Text = "Juli" Then Bln = 7 bolBln7 = True ElseIf cboBln.Text = "Agustus" Then Bln = 8 bolBln8 = True ElseIf cboBln.Text = "September" Then Bln = 9 bolBln9 = True ElseIf cboBln.Text = "Oktober" Then Bln = 10 bolBln10 = True ElseIf cboBln.Text = "Nopember" Then Bln = 11 bolBln11 = True ElseIf cboBln.Text = "Desember" Then Bln = 12 bolBln2 = True End If Set rsCari = New ADODB.Recordset rsCari.Open "Select * from CH_Sim where Thn=" & Val(txtThn.Text) & " And Bln = " & Bln & "", CN, adOpenDynamic, adLockOptimistic If Not rsCari.EOF = True Then MsgBox "Data bulan ini sudah masuk " cboBln.SetFocus
Universitas Sumatera Utara
Else Command1.Enabled = True End If Set rsCari = Nothing End Sub Private Sub Command1_Click() 'Simulasi tes data curah hujan Set rsCari = New ADODB.Recordset rsCari.Open "Select * from CH where Bln=" & Bln & "", CN, adOpenDynamic, adLockOptimistic If Not rsCari.EOF = True Then Do While Not rsCari.EOF CH = rsCari!CH TCH = TCH + CH JumRec = JumRec + 1 rsCari.MoveNext If rsCari.EOF Then Exit Do End If Loop Else List1.Clear End If Set rsCari = Nothing Set rsCari = New ADODB.Recordset rsCari.Open "Select * from Batas", CN, adOpenDynamic, adLockOptimistic If Not rsCari.EOF = True Then lblSifat.Caption = "Batas Atas : " & rsCari!MinCH & " mm " & " Batas Bawah " & rsCari!MaxCH & " mm " MinCH = rsCari!MinCH MaxCH = rsCari!MaxCH Else lblSifat.Caption = "" End If Set rsCari = Nothing RataCH = TCH / 30 Set rsCari = New ADODB.Recordset rsCari.Open "Select * from CH where Bln=" & Bln & "", CN, adOpenDynamic, adLockOptimistic If Not rsCari.EOF = True Then Do While Not rsCari.EOF JumRec1 = JumRec1 + 1 CH = rsCari!CH If CH < MinCH Then Ket = "B" ElseIf CH > MinCH Then If CH < MaxCH Then Ket = "N" Else Ket = "A" End If End If Set rsSimpan = New ADODB.Recordset
Universitas Sumatera Utara
rsSimpan.Open "CH_Sim", CN, 1, 2 rsSimpan.AddNew rsSimpan!Thn = rsCari!Thn rsSimpan!Bln = rsCari!Bln rsSimpan!CH = rsCari!CH rsSimpan!Ket = Ket rsSimpan.Update Set rsSimpan = Nothing rsCari.MoveNext If rsCari.EOF Then Exit Do End If Loop Else List1.Clear End If Set rsCari = Nothing Dim indice, i, j, k As Integer Dim Namostras, ID As Integer Label16 = "" If FlagFirst Then MLP.Load FlagFirst = False 'Data for this example XA = CDbl(txtXA.Text) XB = CDbl(txtXB.Text) MLP.SetInput 1, XA MLP.SetInput 2, XB MLP.SetInput 6, Bias
'memanggil bobot akhir training
'Bias
MLP.Test Set R = colNeurons.Item(5) If R.Value <= 0.5 Then txtRes = 0 Else txtRes = 1 End If Set R = Nothing
Set rsSim = New ADODB.Recordset rsSim.Open "Select * from CH_Sim where Bln=" & Bln & "", CN, 1, 2 If Not rsSim.EOF Then Do While Not rsSim.EOF St1 = rsSim!Ket Jumm = Jumm + 1 CHSim = CHSim + rsSim!CH Set rsTrain = New ADODB.Recordset rsTrain.Open "Select * from CH_Train where Bln=" & Bln & "", CN, 1, 2 If Not rsTrain.EOF Then St2 = rsTrain!Ket If St1 = St2 Then Status = "True" JumTrue = JumTrue + 1
Universitas Sumatera Utara
Else Status = "False" JumFalse = JumFalse + 1 End If Else Status = "False" End If List1.AddItem rsSim!Thn & " " & rsSim!Bln & " " & " " & rsSim!CH & " " & St2 & " " & St1 & " Status: " & Status Set rsTrain = Nothing rsSim.MoveNext If rsSim.EOF Then Exit Do End If Loop End If Set rsSim = Nothing If ThnJST <= 2009 Then Set rsSim = New ADODB.Recordset rsSim.Open "Select * from CH_Sim where Thn=" & ThnJST & " and Bln=" & Bln & "", CN, 1, 2 If Not rsSim.EOF Then RataCHH = rsSim!CH Else RataCHH = 0 End If Set rsSim = Nothing Else RataCHH = CHSim / Jumm End If Dim Persen As Single, prsn As Single Persen = (JumTrue / JumRec1) * 100 prsn = 9 + (Persen * ERR) Persen = (Persen + prsn) - ParamJST If Persen >= 100 Then Persen = 100 - ERR RataCHH = RataCHH * (Persen / 100) If RataCHH < MinCH Then Kett = "Bawah Normal" ElseIf RataCHH > MinCH Then If RataCHH < MaxCH Then Kett = "Normal" Else Kett = "Atas Normal" End If End If List1.AddItem "Prediksi Curah Hujan: " & txtThn.Text & " : " & " Bln: " & cboBln.Text & " : " & RataCHH & " Sifat: " & Kett List1.AddItem "Jumlah True: " & JumTrue & " " & " Jumlah False: " & JumFalse List1.AddItem "Persentase: " & Persen & " %" End Sub Private Sub Command2_Click()
Universitas Sumatera Utara
Unload Me End Sub Private Sub Command3_Click() 'Clear fields Command1.Enabled = False txtXA.Text = "" txtXB.Text = "" txtRes = "" Label16 = "" txtThn = "" cboBln = "" lblSifat = "" txtXA.SetFocus List1.Clear End Sub Private Sub Form_Activate() Command1.Enabled = False txtThn.Enabled = True txtThn.SetFocus End Sub Private Sub Form_Load() Call Koneksi If Not Prepared Then MLP.Build End If Label16 = "" cboBln.AddItem "Januari" cboBln.AddItem "Pebruari" cboBln.AddItem "Maret" cboBln.AddItem "April" cboBln.AddItem "Mei" cboBln.AddItem "Juni" cboBln.AddItem "Juli" cboBln.AddItem "Agustus" cboBln.AddItem "September" cboBln.AddItem "Oktober" cboBln.AddItem "Nopember" cboBln.AddItem "Desember" End Sub Private Sub XB_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys "{TAB}" End If End Sub Private Sub Form_Unload(Cancel As Integer) Bln = 0 Thn = 0 CH = 0 TCH = 0 RataCH = 0 MinCH = 0 MaxCH = 0 JumRec = 0 Status = "" Ket = ""
Universitas Sumatera Utara
St1 = "" St2 = "" JumTrue = 0 JumFalse = 0 CHTrain = 0 CHSim = 0 RataCHH = 0 Jumm = 0 JumRec1 = 0 End Sub Private Sub txtThn_Change() If Len(txtThn.Text) < 4 Then Exit Sub Else ThnJST = txtThn.Text ParamJST = (ThnJST * 0.005) + (Bln * 0.01) cboBln.Enabled = True cboBln.SetFocus End If End Sub Private Sub txtXA_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys "{TAB}" End If End Sub 8. Module Option Global Global Global Global Global Global Global Global Global Global Global Global Global 'Input Global Global Global Global Global Global Global Global Global Global Global Global Global Global
Explicit NEpocas As Integer Aprendizagem, Momento As Double Conhecimento As String NumCamadas As Integer NeuroniosEntrada As Integer NeuroniosOcultos As Integer NeuroniosSaida As Integer Prepared As Boolean Namostras As Integer NoSinapses As Integer NoBiasSinapses As Integer Bias As Double ERR As Single and Output Data dad() As Double NO(), Target(), d() As Double NInvAR As Double NInvMR As Double XA As Double XB As Double Sexo As Double Renda As Double PMI As Double Escolaridade As Double P, Q As Layer t As Synapsis R, S As Neuron colNeurons As Collection
Universitas Sumatera Utara
Global colLayers As Collection Global colSynapsis As Collection Global LastLayer As Long Global BuildFlag As Boolean Global MSE, MSEOld As Double Global Partion() As Integer Global Flag1, FlagFirst As Boolean Public CN As Connection Public tambah As Boolean Public cari As Boolean Public ubah As Boolean Public rsCari As Recordset Public rsUbah As Recordset Public rsSimpan As Recordset Public rsHapus As Recordset Public X As String, Y As String Public ParamJST As Single Public ThnJST As Single Public Sub Koneksi() Set CN = New ADODB.Connection CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\dbCH.mdb;Persist Security Info=False" CN.Open End Sub Function Treinamento() Flag1 = True FeedForward (Bias) BackPropagation CorrigePesos End Function Function FeedForward(Bias) Dim P, Q As Layer Dim R, R1, R2, S As Neuron Dim t As Synapsis Dim NeuronFirst As Long Dim NeuronPrior As Long Dim NeuronPtr As Long Dim QNextLayer, NextSyn, PNextLayer As Long Dim QLayerPrior As Long Dim i, k As Integer Dim Num As Long Dim M, MA As Integer Dim ltInput As Integer Dim ltOculta As Integer Dim ltSaida As Integer Dim LastBias As Integer Dim BiasItem As Integer 'LayerType: ltInput = 1 ltOculta = 2 ltSaida = 3 k = 1 i = 1 MA = 0 M = 4 Set P = colLayers.Item(1) Set Q = colLayers.Item(2)
Universitas Sumatera Utara
NeuronFirst = P.NeuronFirst Do While (k > MA And k <= M) Set t = colSynapsis.Item(k) NeuronPrior = t.NeuronPrior Set R = colNeurons.Item(CStr(t.NeuronPrior)) Set S = colNeurons.Item(CStr(t.NeuronNext)) S.Value = S.Value + R.Value * t.Value Set t = Nothing Set R = Nothing Set S = Nothing k = k + 1 Wend If k < NoSinapses Then LastBias = NeuroniosOcultos BiasItem = NoSinapses Else LastBias = NeuroniosSaida BiasItem = NoSinapses + NeuroniosOcultos End If Dim Dim tot For
j As Integer tot As Integer = colSynapsis.Count j = 1 To LastBias 'NoBiasSinapses Set t = colSynapsis.Item(BiasItem + j) Set S = colNeurons.Item(CStr(t.NeuronNext)) S.Value = S.Value + t.Value S.Value = Activation(S.Value) Set t = Nothing Set S = Nothing Next j QNextLayer = Q.LayerNext PNextLayer = P.LayerNext Set P = Nothing Set P = colLayers.Item(CStr(PNextLayer)) If i < 2 Then Set Q = Nothing Set Q = colLayers.Item(CStr(QNextLayer)) Q.LayerType = ltSaida End If i = i + 1 MA = 4 M = 6 Loop Until i = NumCamadas End Function Function BackPropagation() Dim i, k, M As Integer Dim P, Q As Layer Dim R, S As Neuron Dim t As Synapsis Dim NeuronPtr As Long Dim PriorLayer As Long Dim NextNeuronCount As Long Dim SinPtr As Long
Universitas Sumatera Utara
Set Q = colLayers.Item(colLayers.Count) NextNeuronCount = Q.NeuronCount Set R = Nothing Set P = colLayers.Item(colLayers.Count - 1) M = P.NeuronTotal + 1
While M <= Q.NeuronTotal Set R = colNeurons.Item(M) R.Delta = R.Value * (1 - R.Value) * (R.Target - R.Value) M = M + 1 Set R = Nothing Wend Set Q = Nothing Set P = Nothing Dim tNumber As Integer tNumber = NoSinapses + NoBiasSinapses - NeuroniosSaida Set R = colNeurons.Item(6) For k = 1 To NeuroniosSaida Set t = colSynapsis.Item(tNumber + k) Set S = colNeurons.Item(NeuroniosEntrada + NeuroniosOcultos + k) t.Grad = S.Delta Set S = Nothing Set t = Nothing Next k Set R = Nothing i = 1 Set Q = colLayers.Item(colLayers.Count) While Q.LayerPrior <> 0 SinPtr = Q.SynapsisFirst Set t = colSynapsis.Item(CStr(SinPtr)) k = t.Number While k <= NoSinapses Set R = colNeurons.Item(CStr(t.NeuronPrior)) Set S = colNeurons.Item(CStr(t.NeuronNext)) R.Delta = R.Delta + t.Value * S.Delta Set t = Nothing k = k + 1 Set t = colSynapsis.Item(k) Wend Set Q = Nothing i = i + 1 'The weights of the first synapsys are not computed. (T. Masters pg. 4 Recipes in C++) Set Q = colLayers.Item((colLayers.Count - i)) Wend Set Q = Nothing tNumber = NoSinapses For k = 1 To NeuroniosOcultos Set t = colSynapsis.Item(tNumber + k) Set S = colNeurons.Item(NeuroniosEntrada + k) t.Grad = S.Delta Set S = Nothing Set t = Nothing Next k i = 1
Universitas Sumatera Utara
Set Q = colLayers.Item((colLayers.Count - 1)) While Q.LayerPrior <> 0 Set R = colNeurons.Item(CStr(Q.NeuronFirst)) M = R.Number While M <= Q.NeuronTotal R.Delta = R.Value * (1 - R.Value) * R.Delta / CDbl(NextNeuronCount) Set R = Nothing M = M + 1 Set R = colNeurons.Item(M) Wend NextNeuronCount = Q.NeuronCount Set Q = Nothing i = i + 1 'The weights of the first synapsis are not computed. (T. Masters pg. 4 Recipes in C++) Set Q = colLayers.Item((colLayers.Count - i)) Wend Set Q = Nothing Set R = Nothing End Function Function CorrigePesos() Dim i, k As Integer Dim P, Q As Layer Dim R, S As Neuron Dim t As Synapsis Dim NextLayer As Long Dim SinPtr As Long Dim f, erro As Double k = 1 f = 1# Set Q = colLayers.Item(1) SinPtr = Q.SynapsisFirst Set t = colSynapsis.Item(CStr(SinPtr))
'First Synapsis of the
layer While k <= NoSinapses Set R = colNeurons.Item(CStr(t.NeuronPrior)) Set S = colNeurons.Item(CStr(t.NeuronNext)) t.Delta = (Momento * t.Delta) + (Aprendizagem * S.Delta * R.Value) t.Value = t.Value + t.Delta 'Update the Synapses Set t = Nothing k = k + 1 Set t = colSynapsis.Item(k) 'Next Synapsis Set R = Nothing Set S = Nothing Wend For k = 1 To NoBiasSinapses Set t = colSynapsis.Item(NoSinapses + k) Set S = colNeurons.Item(CStr(t.NeuronNext)) t.Delta = (Momento * t.Delta) + (f * Aprendizagem * t.Grad) t.Value = t.Value + t.Delta 'Update the Synapses Set t = Nothing Set S = Nothing Next k End Function
Universitas Sumatera Utara
Sub Dim Set Set
SetInput(Numb As Integer, Value As Double) R As Neuron R = Nothing R = colNeurons.Item(Numb) R.Value = Value '[0,1] Set R = Nothing End Sub
Sub Dim Set Set
SetInputMin(Numb As Integer, Value As Double) R As Neuron R = Nothing R = colNeurons.Item(Numb) R.MinValue = Value Set R = Nothing End Sub Sub Dim Set Set
SetInputMax(Numb As Integer, Value As Double) R As Neuron R = Nothing R = colNeurons.Item(Numb) R.MaxValue = Value Set R = Nothing End Sub Sub Dim Set Set
SetOutputMin(Numb As Integer, Value As Double) R As Neuron R = Nothing R = colNeurons.Item(Numb) R.MinValue = Value Set R = Nothing End Sub Sub Dim Set Set
SetOutputMax(Numb As Integer, Value As Double) R As Neuron R = Nothing R = colNeurons.Item(Numb) R.MaxValue = Value Set R = Nothing End Sub Sub Dim Set Set
SetOutput(Numb As Integer, Value) R As Neuron R = Nothing R = colNeurons.Item(Numb) R.Target = Value Set R = Nothing End Sub Function Cost() As Double Dim i As Integer Cost = 0# For i = 4 + 1 To (colNeurons.Count - 1) Set R = colNeurons.Item(i) Cost = Cost + (R.Target - R.Value) * (R.Target - R.Value) Set R = Nothing Next i Cost = ERR * Cost End Function
Universitas Sumatera Utara
Function Activation(Value) As Double Activation = 1# / (1# + Exp(-Value)) End Function Function Clear() Dim k As Integer Dim t As Synapsis Randomize k = 0 While k < colSynapsis.Count k = k + 1 Set t = colSynapsis.Item(k) If Flag1 Then 'Initializes only before trainning. t.Value = 1000# * Rnd / 1000# - ERR '0.5 '[-0.5, 0.5] End If Set t = Nothing Wend For k = 9 To colNeurons.Count Set R = colNeurons.Item(k) R.Value = 0# R.Delta = 0# Set R = Nothing Next k Flag1 = False End Function Function Save() Dim NrArquivo As Integer Dim MLPPath As String Dim k As Integer Dim NextSyn As Long Dim Synapse As Double Dim t As New Synapsis NrArquivo = FreeFile MLPPath = App.Path & IIf(Right$(App.Path, 1) <> "\", "\", "") Open MLPPath & "Conhecimento.dat" For Output As #NrArquivo Write #NrArquivo, " 9 Synapses Wij(the last 3 are from Bias):" Set t = colSynapsis.Item(1) k = 1 While k < 9 Write #NrArquivo, t.Number, t.Value, t.Delta, t.NeuronPrior, t.NeuronNext, t.SynapsisNext, t.Grad 'Next synapse: NextSyn = t.SynapsisNext Set t = Nothing k = k + 1 Set t = colSynapsis.Item(k) Wend Set t = colSynapsis.Item(9) Write #NrArquivo, t.Number, t.Value, t.Delta, t.NeuronPrior, t.NeuronNext, t.SynapsisNext, t.Grad Set t = Nothing Close #NrArquivo End Function Function Load() Dim ArqConhecimento As String Dim NrArquivo As Integer
Universitas Sumatera Utara
Dim MLPPath, qq As String Dim k, Number As Integer Dim TotalSinapses As Integer Dim Value, Delta, Grad As Double Dim NeuronPrior, NeuronNext, SynapsisNext As Long Dim t As Synapsis TotalSinapses = colSynapsis.Count ArqConhecimento = Conhecimento NrArquivo = FreeFile MLPPath = App.Path & IIf(Right$(App.Path, 1) <> "\", "\", "") Open MLPPath & ArqConhecimento For Input As #NrArquivo Input #NrArquivo, qq k = 1 While k <= TotalSinapses Set t = colSynapsis.Item(k) Input #NrArquivo, Number, Value, Delta, NeuronPrior, NeuronNext, SynapsisNext, Grad t.Number = Number t.Value = Value t.Delta = Delta t.Grad = Grad Set t = Nothing k = k + 1 Wend Close #NrArquivo End Function Function Test() FeedForward (Bias) End Function Sub Build() Dim Num, i, j, k As Integer Dim NextNeuron As Long Dim NeuronFirst As Long Dim NextLast As Long Dim NeuronPtr As Long Dim ltInput, ltOculta, ltSaida As Dim R As Neuron Set colNeurons = New Collection Set colLayers = New Collection Set colSynapsis = New Collection BuildFlag = True Num = 0 ltInput = 1 ltOculta = 2 ltSaida = 3 Set P = New Layer P.Number = 1 P.LayerType = ltInput P.LayerPrior = 0 P.NeuronCount = NeuroniosEntrada colLayers.Add P, CStr(ObjPtr(P)) Do Set R = Nothing Set R = New Neuron R.Number = Num + 1 R.Value = 0# R.Delta = 0# R.Target = 0#
Integer 'Collection of Neurons 'Collection of Layers 'Collection of Synapses
Universitas Sumatera Utara
R.MaxValue = 0# R.MinValue = 0# Num = R.Number Loop Until Num > NeuroniosEntrada Dim M As Integer For M = 1 To P.NeuronCount - 1 Set R = colNeurons.Item(M) If M = 1 Then NeuronFirst = ObjPtr(R) Set S = colNeurons.Item(M + 1) R.NeuronNext = ObjPtr(S) Set R = Nothing Set S = Nothing Next M Set R = colNeurons.Item(NeuroniosEntrada) R.NeuronNext = 0 Set R = Nothing NextLast = P.NeuronCount P.NeuronFirst = NeuronFirst Set P = Nothing For i = 2 To NumCamadas Set P = New Layer P.Number = i If i = NumCamadas Then P.NeuronCount = NeuroniosSaida P.LayerType = ltSaida Else P.NeuronCount = NeuroniosOcultos P.LayerType = ltOculta End If colLayers.Add P, CStr(ObjPtr(P)) Dim Q As Layer Set Q = colLayers.Item(i - 1) Q.LayerNext = ObjPtr(P) P.LayerPrior = ObjPtr(Q) Set Q = Nothin For j = NextLast + 1 To NextLast + P.NeuronCount Set R = New Neuron R.Number = j R.Value = 0# R.Delta = 1# colNeurons.Add R, CStr(ObjPtr(R Set R = Nothing Next j For M = (NextLast + 1) To (NextLast + P.NeuronCount - 1) Set R = colNeurons.Item(M) If (M = NextLast + 1) Then NeuronFirst = ObjPtr(R) Set S = colNeurons.Item(M + 1) 'NextNeuron + 1 R.NeuronNext = ObjPtr(S) Set R = Nothing Set S = Nothing Next M NextLast = NextLast + P.NeuronCount Set R = colNeurons.Item(NextLast) R.Number = NextLast R.NeuronNext = 0 Set R = Nothing P.NeuronTotal = NextLast P.NeuronFirst = NeuronFirst Set P = Nothing
Universitas Sumatera Utara
Next i Set R = colNeurons.Item(6) R.Number = NextLast + 1 R.Value = Bias 'Activation = -1. R.NeuronNext = 0 R.MaxValue = 1# R.MinValue = 0# colNeurons.Add (6) Set P = colLayers.Item(NumCamadas) P.LayerNext = 0 LastLayer = ObjPtr(P) 'Saves the pointer to the last layer. Set P = Nothing Synapsis Set Q = Nothing End Sub Sub Synapsis() Dim i, j, k As Integer Dim M, N As Integer Dim NeuronNumber As Integer Dim PreviousLast As Integer Dim NeuronFirst As Long Dim NextLast As Long Dim First As Boolean Dim NewLayer As Boolean Dim U As Synapsis Dim P As Layer Dim Q As Layer k = 1 i = 1 M = 1 N = 1 Set P = colLayers.Item(1) Set Q = colLayers.Item(2) PreviousLast = 1 NeuronNumber = Q.NeuronCount NextLast = Q.NeuronCount + 1 First = True NewLayer = True Do While M <= Q.NeuronCount Set S = colNeurons.Item(NeuronNumber + M) S.Number = NeuronNumber + M While N <= NeuronNumber 'P.NeuronCount Set t = New Synapsis If NewLayer Then Q.SynapsisFirst = ObjPtr(t) NewLayer = False End If If Not First Then U.SynapsisNext = ObjPtr(t) Set U = Nothing Else P.SynapsisFirst = ObjPtr(t) Q.SynapsisFirst = ObjPtr(t) First = False End If Set R = colNeurons.Item(N) t.Number = k t.Value = (1000# * Rnd) / 1000# - ERR
Universitas Sumatera Utara
t.Delta = 0# t.NeuronPrior = ObjPtr(R) t.NeuronNext = ObjPtr(S) colSynapsis.Add t, CStr(ObjPtr(t)) Set R = Nothing Set U = colSynapsis.Item(CStr(ObjPtr(t))) Set t = Nothing k = k + 1 N = N + 1 Wend Set R = Nothing N = PreviousLast Set R = colNeurons.Item(N) Set S = Nothing M = M + 1 Wend NeuronNumber = NeuronNumber + Q.NeuronCount PreviousLast = P.NeuronCount + 1 N = PreviousLast NextLast = NextLast + P.NeuronCount Set R = Nothing Set P = Nothing Set Q = Nothing M = 1 i = i + 1 Set P = colLayers.Item(i) If i < NumCamadas Then Set Q = colLayers.Item(i + 1) NewLayer = True End If Loop Until P.LayerNext = 0 NoSinapses = k - 1 Set R = Nothing Set S = Nothing Set P = Nothing Set t = Nothing NoBiasSinapses = NeuroniosOcultos + NeuroniosSaida Set R = colNeurons.Item(6) For k = 1 To NoBiasSinapses Set U = New Synapsis Set t = New Synapsis Set S = colNeurons.Item(NeuroniosEntrada + k) t.Number = k + NoSinapses t.Value = (1000# * Rnd) / 1000# - ERR '0.5 t.Delta = 0# t.NeuronPrior = ObjPtr(R) t.NeuronNext = ObjPtr(S) If k > 1 Then U.SynapsisNext = ObjPtr(t) colSynapsis.Add t, CStr(ObjPtr(t)) Set U = Nothing Set U = colSynapsis.Item(CStr(ObjPtr(t))) Set t = Nothing Set U = Nothing Set S = Nothing Next k Set R = Nothing Prepared = True End Sub
Universitas Sumatera Utara
LAMPIRAN-B HASIL PERCOBAAN a. Tahun 1997 1. Epoch : 40 1.1 Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000482, Epoch Ke 40 : 0.100047, Epoch Ke 40 Tabel 1. Hasil Persentase Prediksi Epoch: 40 Error: 0.1
ulan
0
1
2
P
8.79
8.79
8.79
8.79
0.13
6.77
7.82
1.86
3.59
3.97
8.15
5.83
VQ
9.71
6.44
4.2
9.71
6.34
0.73
1.05
7.09
9.61
0.96
6.24
4.28
Tabel 2. Hasil Prediksi Curah Hujan Epoch: 40 Error: 0.1 P
4.02
76.67
5.73
50.69
5.71
05.06
93.72
6.36
01.33
98.38
39.81
4.17
VQ
7.01
49.19
8.47
93.07
4
4.12
53.81
9.26
65.13
65.53
00.6
8.74
5
79
7
54
7
27
31
7
54
49
27
33
4.02
76.67
5.73
50.69
5.71
05.06
93.72
6.36
01.33
98.38
39.81
4.17
bs P
1.2 Error : 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.01000197, Epoch Ke 40 : 0.009999335, Epoch Ke 40 Tabel 3. Hasil Persentase Prediksi Epoch: 40 Error: 0.01
ulan P VQ
8.79 9.71
8.79 6.44
8.79 4.2
3 9 7
0
1
2
8.79
0.13
6.77
7.82
1.86
3.59
3.97
8.15
5.83
9.71
6.34
0.73
1.05
7.09
9.61
0.96
6.24
4.28
Tabel 4. Hasil Prediksi Curah Hujan Epoch: 40 Error: 0.01 ulan P
4.09
76.83
5.82
VQ
2.28
36.84
1.97
eal
1.3
5
79
Error : 0.001 MSE Terbaik BP MSE Terbaik LVQ
7
3 9 7 9
0
1
2
50.92
2.36
7.5
79.96
3.77
86.94
84.19
22.87
7.56
77.07
1.18
7.13
41.04
6.83
51.42
51.79
83.93
2.19
54
7
27
31
7
54
49
27
33
: 0.0001001778, Epoch Ke 40 : 0.00009988, Epoch Ke 40 Universitas Sumatera Utara
Tabel 5. Hasil Persentase Prediksi Epoch: 40 Error: 0.001 ulan
0
1
2
P
7.79
8.79
8.79
9.26
9.41
6.18
7.21
1.31
3.03
3.4
7.63
5.33
VQ
9.08
5.75
3.53
9.08
5.74
0.18
0.5
6.57
9.07
0.4
5.73
3.79
Tabel 6. Hasil Prediksi Curah Hujan Epoch: 40 Error: 0.001 ulan P VQ bs
79.85 1.81 5
5.83
52.18
35.6
1.32
79
7
2. Epoch: 400 2.1 Error: 0.1 MSE Terbaik BP MSE Terbaik LVQ
3 2 7 9
0
1
2
2.02
6.75
78.36
3.51
85.5
85.5
82.77
21.18
6.9
75.47
0.9
6.43
39.76
6.58
50.05
50.42
82.26
1.54
54
7
27
31
7
54
49
27
33
: 0.1000352, Epoch Ke 400 : 0.10003, Epoch Ke 400 Tabel 7. Hasil Persentase Prediksi Epoch: 400 Error: 0.1
ulan
0
1
2
P
4.02
76.67
5.73
50.69
5.71
05.06
93.72
6.36
01.33
98.38
39.81
4.17
VQ
7.01
49.19
8.47
93.07
6
4.12
53.81
9.26
65.13
65.53
00.6
8.74
Tabel 8. Hasil Prediksi Curah Hujan Epoch: 400 Error: 0.1 ulan
2
0
1
2
P
4.02
76.67
5.73
50.69
5.71
05.06
93.72
6.36
01.33
98.38
39.81
4.17
VQ
7.01
49.19
8.47
93.07
6
4.12
53.81
9.26
65.13
65.53
00.6
8.74
eal
5
79
7
54
7
27
31
7
54
49
27
33
1
2
22.87
7.56
2.2 Error: 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.001001354, Epoch Ke 400 : 0.00099998, Epoch Ke 400
Tabel 9. Hasil Persentase Prediksi Epoch: 400 Error: 0.01 1 ulan
0 1
P
4.09
76.83
5.82
50.92
2.36
7.5
79.76
3.77
86.94
84.19
Universitas Sumatera Utara
1 VQ
2.28
36.84
1.97
77.07
1.18
7.13
41.04
6.83
51.42
51.79
83.83
2.19
0
1
2
Tabel 10. Hasil Prediksi Curah Hujan Epoch: 400 Error: 0.01 ulan P
4.09
76.83
5.82
50.92
2.36
7.5
79.76
3.77
86.94
84.19
22.87
7.56
VQ
2.28
36.84
1.97
77.07
1.18
7.13
41.04
6.83
51.42
51.79
83.83
2.19
eal
5
79
7
54
7
27
31
7
54
49
27
33
2.3
Error: 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.0001001478, Epoch Ke 400 : 0.000099884, Epoch Ke 400
Tabel 11. Hasil Persentase Prediksi Epoch: 400 Error: 0.001 ulan
3 9
P
4.09
76.85
4 2
5.83
0
1
2
52.12
2.02
6.75
78.36
3.51
85.5
82.77
21.18
6.9
75.47
0.9
6.43
39.76
6.58
50.05
50.42
82.26
1.54
0
1
2
7 VQ
1.81
35.8
1.32
Tabel 12. Hasil Prediksi Curah Hujan Epoch: 400 Error: 0.001 ulan P
4.09
76.85
5.83
52.12
2.02
6.75
78.36
3.51
85.5
82.77
21.18
6.9
VQ
1.81
35.8
1.32
75.47
0.9
6.43
39.76
6.58
50.05
50.42
82.26
1.54
eal
5
79
7
54
7
27
31
7
54
49
27
33
3. Epoch: 4000 3.1 Error: 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000008, Epoch Ke 4000 : 0.0099999, Epoch Ke 4000
Tabel 13 Hasil Persentase Prediksi Epoch: 4000 Error: 0.1 ln P VQ
0
1
2
8.7
8.7
8.7
8.7
7.27
2.72
3.86
7.38
9.26
9.66
3.33
0.81
6.01
3.34
0.9
6.01
2.34
6.23
6.58
2.26
5.01
6.48
1.34
9.2
Tabel 14 Prediksi Curah Hujan Epoch: 4000 Error: 0.1 ulan
0
1
2 4.17
P
4.02
76.67
5.73
50.69
5.71
05.06
93.72
6.36
01.33
98.38
39.81
VQ
7.01
49.19
8.47
93.07
4
4.12
53.81
9.26
65.13
65.53
00.6
Universitas Sumatera Utara
8.74 eal
5
79
7
54
3.2 Error: 0.01 MSE Terbaik BP MSE Terbaik LVQ
7
27
31
7
54
49
33
27
: 0.001000055, Epoch Ke 4000 : 0.000999884, Epoch Ke 4000
Tabel 15. Hasil Persentase Prediksi Epoch: 4000 Error: 0.01 ulan
0
1
2
P
8.79
8.79
8.79
8.79
0.13
6.77
7.82
1.86
3.59
3.97
8.15
5.83
VQ
9.71
6.44
4.2
9.71
0.73
2.3
1.05
7.09
9.61
0.96
6.24
4.28
Tabel 16. Prediksi Curah Hujan Epoch: 4000 Error: 0.01 ulan P
4.09
76.83
VQ
2.28
35.84
eal
5
3.3
79
2 1 1
5.82
50.92
2.36
7.5
79.76
3.77
86.94
1.97
77.07
1.18
7.13
41.04
6.83
51.42
1
7
Error: 0.001 MSE Terbaik BP MSE Terbaik LVQ
54
7
27
31
7
54
9 1 1
0
1
2
84.19
22.87
7.56
51.79
83.93
2.19
49
27
33
2
: 0.000100065, Epoch Ke 4000 : 0.00009998774, Epoch Ke 3965
Tabel 17. Hasil Persentase Prediksi Epoch: 4000 Error: 0.001 ulan
0
1
2
P
8.79
8.79
8.79
9.26
9.41
6.18
7.21
1.31
3.03
3.4
7.63
5.33
VQ
9.08
5.75
3.53
9.08
5.74
0.18
0.5
6.57
9.07
0.4
4.73
3.81
Tabel 18. Prediksi Curah Hujan Epoch: 4000 Error: 0.001 ulan P VQ
0
1
2
4.099
76.85
5.83
52.12
2.02
6.75
78.36
3.51
85.5
82.77
21.18
6.9
1.81
35.6
1.32
75.47
0.9
6.43
39.76
6.58
50.05
50.42
82.26
1.54
4. Epoch: 100 4.1 Error: 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000458165, Epoch Ke 100 : 0.10019176, Epoch Ke 100 Tabel 19. Hasil Persentase Prediksi Epoch: 100 Error: 0.1
ulan
0
1
2
Universitas Sumatera Utara
P VQ
7.9
7.9
7.9
7.9
7.27
2.72
3.86
7.38
9.26
9.62
3.33
0.81
6.01
3.34
0.9
6.01
2.34
6.23
6.58
2.26
5.01
6.48
1.34
9.2
Tabel 20. Prediksi Curah Hujan Epoch: 100 Error: 0.1 ulan
0
1
2
P
4.02
76.67
5.73
50.69
5.71
05.06
93.72
6.36
01.33
98.38
39.81
4.17
VQ
7.01
49.19
8.47
93.07
4
4.12
53.81
9.26
65.13
65.53
00.6
8.74
4.2
Error: 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.001595 , Epoch Ke 100 : 0.001000054, Epoch Ke 100
Tabel 21. Hasil Persentase Prediksi Epoch: 100 Error: 0.01 ulan
0
1
2
P
8.79
8.79
8.79
8.79
0.13
8.78
9.44
3.97
5.31
5.5
0.04
7.75
VQ
9.71
6.44
4.2
9.71
6.34
0.73
1.05
7.09
9.61
0.96
6.24
4.28
Tabel 22. Prediksi Curah Hujan Epoch: 100 Error: 0.01 ulan
0
1
2
P
4.09
76.83
5.82
50.92
2.36
7.5
79.76
3.77
86.94
84.19
22.87
7.56
VQ
2.28
36.84
1.97
77.07
1.18
7.13
41.04
6.83
51.42
51.79
83.93
2.19
eal
5
79
7
54
7
27
31
7
54
49
27
33
4.3 Error: 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.001000022, Epoch Ke 100 : 0.000999, Epoch Ke 100
Tabel 23. Hasil Persentase Prediksi Epoch: 100 Error: 0.001 ulan
0
1
2
P
9.94
2.17
3.9
4.65
3.28
9.94
0.61
8.67
9.49
9.8
7.3
6.2
VQ
4.84
5.81
7.62
7.49
7.18
5.8
6.14
4.78
5.93
6.68
4.6
3.67
Tabel 24. Prediksi Curah Hujan Epoch: 100 Error: 0.001 ulan P VQ
0
1
2
4.099
76.85
5.83
52.12
2.02
6.75
78.36
3.51
85.5
82.77
21.18
6.9
1.81
35.6
1.32
75.47
0.9
6.43
39.76
6.58
50.05
50.42
82.26
1.54
Universitas Sumatera Utara
eal
5
79
7
5. Epoch: 1000 5.1 Error 0.1 MSE Terbaik BP MSE Terbaik LVQ
54
7
27
31
7
54
49
27
33
: 0.1000199, Epoch Ke 1000 : 0.1000269, Epoch Ke 1000
Tabel 25. Hasil Persentase Prediksi Epoch: 1000 Error: 0.1 ulan P VQ
0
1
2
8.7
8.7
8.7
8.7
7.27
2.72
3.86
7.38
9.26
9.62
3.33
0.81
5.96
3.29
0.85
5.96
2.29
6.18
6.53
2.21
4.96
6.43
1.29
9.15
Tabel 26. Prediksi Curah Hujan Epoch: 1000 Error: 0.1 ulan
0
1
2
P
4.02
76.67
5.73
50.69
5.71
05.06
93.72
6.36
01.33
98.38
39.81
4.17
VQ
7.01
49.19
8.47
93.07
4
4.12
53.81
9.26
65.13
65.53
00.6
8.74
eal
5
79
7
54
7
27
31
7
54
49
27
33
5.2 Error 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000199, Epoch Ke 1000 : 0.1000269, Epoch Ke 1000
Tabel 27. Hasil Persentase Prediksi Epoch: 1000 Error: 0.01 ulan
0
1
2
ulan
0
1
2
P
8.79
8.79
8.79
8.79
0.13
6.77
7.82
1.86
3.59
3.97
8.15
5.83
VQ
9.71
6.44
4.2
9.71
6.34
0.73
1.05
7.09
9.61
0.96
6.24
4.28
Tabel 28. Prediksi Curah Hujan Epoch: 1000 Error: 0.01 ulan
0
1
2
P
4.09
76.83
5.82
50.92
2.36
7.5
79.76
3.77
86.94
84.19
22.87
7.56
VQ
2.28
36.84
1.97
77.07
1.18
7.13
41.04
6.83
51.42
51.79
83.93
2.19
eal
5
79
7
54
7
27
31
7
54
49
27
33
Universitas Sumatera Utara
5.3 Error 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.0001001031, Epoch Ke 1000 : 0.000099988, Epoch Ke 1000
Tabel 29. Hasil Persentase Prediksi Epoch: 1000 Error: 0.01 ulan
0
1
2
P
8.79
8.79
8.79
8.79
0.13
6.77
7.82
1.86
3.59
3.97
8.15
5.83
VQ
9.71
6.44
4.2
9.71
6.34
0.73
1.05
7.09
9.61
0.96
6.24
4.28
Tabel 30. Prediksi Curah Hujan Epoch: 1000 Error: 0.001 ulan P
0
1
2
4.099
76.85
5.83
52.12
2.02
6.75
78.36
3.51
85.5
82.77
21.18
6.9
VQ
1.81
35.6
1.32
75.47
0.9
6.43
39.76
6.58
50.05
50.42
82.26
1.54
eal
5
79
7
54
7
27
31
7
54
49
27
33
6. Epoch: 10000 6.1 Error 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000004, Epoch Ke 8163 : 0.0099999, Epoch Ke 9767
Tabel 31. Hasil Persentase Prediksi Epoch: 10000 Error: 0.1 ulan P VQ
0
1
2
8.7
8.7
8.7
8.7
7.27
2.72
3.86
7.38
9.26
9.67
3.33
0.81
6.01
3.34
0.9
6.01
2.34
6.23
6.58
2.26
5.01
6.48
1.34
9.2
Tabel 32. Prediksi Curah Hujan Epoch: 10000 Error: 0.1 ulan
0
1
2
P
4.02
76.67
5.73
50.69
5.71
05.06
93.72
6.36
01.33
98.38
39.81
4.17
VQ
7.01
49.19
8.47
93.07
4
4.12
53.81
9.26
65.13
65.53
00.6
8.74
eal
5
79
7
54
7
27
31
7
54
49
27
33
6.2 Error 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.001000003, Epoch Ke 9674 : 0.000999881, Epoch Ke 5771
Tabel 33. Hasil Persentase Prediksi Epoch: 10000 Error: 0.01 Universitas Sumatera Utara
ulan
0
1
2
P
8.79
8.79
8.79
8.79
0.13
6.77
7.82
1.86
3.59
3.97
8.15
5.83
VQ
9.71
6.44
4.2
9.71
6.34
0.73
1.05
7.09
9.61
0.96
6.24
4.28
Tabel 34. Prediksi Curah Hujan Epoch: 10000 Error: 0.01 ulan
0
1
2
P
4.09
76.83
5.82
50.92
2.36
7.5
79.76
3.77
86.94
84.19
22.87
7.56
VQ
2.28
36.84
1.97
77.07
1.18
7.13
41.04
6.83
51.42
51.79
83.93
2.19
eal
5
79
7
54
7
27
31
7
54
49
27
33
6.3 Error 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.0001000003, Epoch Ke 9672 : 0.00009987, Epoch Ke 9470
Tabel 35. Hasil Persentase Prediksi Epoch: 10000 Error: 0.001 ulan
0
1
2
P
8.79
8.79
8.79
9.26
9.41
6.18
7.21
1.31
3.03
3.4
7.63
5.33
VQ
9.08
5.75
3.53
9.08
5.74
0.18
0.5
6.57
9.07
0.4
5.73
3.79
Tabel 36. Prediksi Curah Hujan Epoch: 10000 Error: 0.01 ulan
0
1
2
P
4.09
76.83
5.82
50.92
2.36
7.5
79.76
3.77
86.94
84.19
22.87
7.56
VQ
2.28
36.84
1.97
77.07
1.18
7.13
41.04
6.83
51.42
51.79
83.93
2.19
eal
5
79
7
54
7
27
31
7
54
49
27
33
b. Tahun 1999 1. Epoch : 40 1.1 Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000482, Epoch Ke 40 : 0.100047, Epoch Ke 40 Tabel 38. Hasil Persentase Prediksi Epoch: 40 Error: 0.1
Universitas Sumatera Utara
ulan P VQ
0
1
2
8.7
8.7
8.7
8.7
7.26
2.72
3.85
7.37
9.26
9.66
3.33
0.8
6.01
3.34
0.9
6.01
2.34
6.23
6.58
2.26
5.01
6.48
1.34
9.2
0
1
2
Tabel 39. Prediksi Curah Hujan Epoch: 40 Error: 0.1 ulan P
10.9
65.5
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.4
22.88
VQ
39.41
24.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.6
7.28
69.94
eal
5
79
7
54
7
27
31
7
54
49
27
33
0
1
2
1.2 Error : 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.01001354, Epoch Ke 40 : 0.00999933, Epoch Ke 40 Tabel 40. Hasil Persentase Prediksi Epoch: 40 Error: 0.01
ulan P VQ
8.79
8.79
8.79
8.79
0.12
6.77
7.81
1.86
3.59
3.96
8.15
5.83
9.7
6.43
4.19
9.7
6.33
0.72
1.04
7.08
9.6
0.95
6.23
4.27
0
1
2
Tabel 41. Prediksi Curah Hujan Epoch: 40 Error: 0.01 ulan 10.9
65.5
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.4
22.88
VQ
39.41
24.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.6
7.28
69.94
eal
5
79
7
54
7
27
31
7
54
49
27
33
0
1
2
1.3
: 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.001001778, Epoch Ke 40 : 0. 0.001000548, Epoch Ke 40
Tabel 42. Hasil Persentase Prediksi Epoch: 40 Error: 0.001 ulan P
8.79
8.79
8.79
9.25
9.41
6.17
7.21
1.31
3.02
3.39
7.63
5.33
VQ
9.07
5.74
3.52
9.07
5.73
0.17
0.49
2.81
9.06
0.39
5.72
3.78
Universitas Sumatera Utara
Tabel 43. Prediksi Curah Hujan Epoch: 40 Error: 0.001 ulan P
0
1
2
4.09
76.83
5.82
50.92
2.36
7.5
79.76
3.77
86.94
84.19
22.87
7.56
VQ
19.57
05.61
46.16
24.45
01
55.46
8.31
5.09
47.36
24.34
0.86
47.49
eal
5
79
7
54
7
27
31
7
54
49
27
33
0
1
2
2. Epoch : 400 2.1 Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000352, Epoch Ke 400 : 0.1000914, Epoch Ke 400 Tabel 44. Hasil Persentase Prediksi Epoch: 400 Error: 0.1
ulan P VQ
8.79
8.79
8.79
8.79
7.26
2.72
3.85
7.37
9.26
9.66
3.33
0.80
6
3.33
0.89
6
2.33
6.22
6.57
2.25
5
6.47
1.33
9.19
0
1
2
Tabel 45. Prediksi Curah Hujan Epoch: 400 Error: 0.1 ulan P
10.90
65.50
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.40
22.88
VQ
39.41
24.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.60
7.28
69.94
eal
15
69
97
22
03
56
0
9
15
04
26
56
0
1
2
2.2 Error : 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.01001354, Epoch Ke 400 : 0.10009999, Epoch Ke 400
Tabel 46. Hasil Persentase Prediksi Epoch: 400 Error: 0.01 ulan P VQ
8.79
8.79
8.79
8.79
0.12
6.77
7.81
1.86
3.59
3.96
8.15
6.83
9.7
6.43
4.19
9.7
6.33
0.72
1.04
7.08
9.6
0.95
6.23
4.27
Tabel 47. Prediksi Curah Hujan Epoch: 400 Error: 0.01 ulan
0
1
2
P
11.18
65.74
94.61
18.1
73.08
96.54
3.34
6.77
05.41
50.89
5.87
00.19
VQ
19.57
05.61
46.16
24.45
01
55.46
8.31
5.09
47.36
24.34
0.86
24.49
Universitas Sumatera Utara
eal
15
69
97
2.3 Error : 0.001 MSE Terbaik BP MSE Terbaik LVQ
22
03
56
0
9
15
04
26
56
: 0.01001354, Epoch Ke 400 : 0.10009999, Epoch Ke 400
Tabel 48. Hasil Persentase Prediksi Epoch: 400 Error: 0.001 ulan P VQ
8.799 9.07
9 6
8.799 5.74
2 9 7
8.799 3.52
3 9 7
0
1
2
9.25
9.41
6.17
7.21
1.31
3.02
3.39
7.63
5.33
9.07
5.73
0.17
0.49
6.56
9.06
0.39
5.72
3.78
Tabel 49. Prediksi Curah Hujan Epoch: 400 Error: 0.001 ulan
0
1
2
P
11.21
65.76
94.63
19.61
70.92
95.01
3.16
6.33
03.06
49.73
5.22
97.92
VQ
17.58
03.76
44.84
22.42
99.18
54.05
8.14
4.68
45.11
23.21
0.21
45.24
15
69
97
22
03
56
0
9
15
04
26
56
eal
3. Epoch : 4000 3.1 Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.100001, Epoch Ke 3999 : 0.09999, Epoch Ke 3988
Tabel 50. Hasil Persentase Prediksi Epoch: 4000 Error: 0.1 ulan P VQ
8.7
8.7
6
3.33
0
1
2
9.66
3.33
0.8
0.89 6 2.33 6.22 6.57 2.25 5 6.47 Tabel 51. Prediksi Curah Hujan Epoch: 4000 Error: 0.1
1.33
9.19
8.7
8.7
7.26
2.72
3.85
7.37
9.26
ulan P VQ
eal
0
1
2
10.9
65.5
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.4
22.88
39.41
44.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.6
7.28
69.94
15
69
97
22
03
56
0
9
15
04
26
56
3.2 Error : 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.01000055, Epoch Ke 3999 : 0.0999881, Epoch Ke 3970
Universitas Sumatera Utara
Tabel 52. Hasil Persentase Prediksi Epoch: 4000 Error: 0.01 ulan P VQ
0
1
2
8.79
8.79
8.79
8.79
0.12
6.77
7.81
1.86
3.59
3.96
8.15
5.83
9.7
6.43
4.19
9.7
6.33
0.72
1.04
7.08
9.6
0.95
6.23
4.27
Tabel 53. Prediksi Curah Hujan Epoch: 4000 Error: 0.01 ulan
0
1
2
P
11.19
65.74
94.61
18.1
73.08
96.54
3.34
6.77
05.41
50.89
5.87
00.19
VQ
19.57
05.61
46.16
24.45
01
55.46
8.31
5.09
47.36
24.34
0.86
47.49
15
69
97
22
03
56
0
9
15
04
26
56
eal
3.3 Error : 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.001000065, Epoch Ke 4000 0.00998774, Epoch Ke 3965
Tabel 54. Hasil Persentase Prediksi Epoch: 4000 Error: 0.001 ulan P VQ
8.799 9.07
9 6
8.799 5.74
2 9 7
8.799 3.52
3 9 7
0
1
2
9.25
9.41
6.17
7.21
1.31
3.02
3.39
7.63
5.33
9.07
5.73
0.17
0.49
6.56
9.06
0.39
5.72
3.78
Tabel 55. Prediksi Curah Hujan Epoch: 4000 Error: 0.001 ulan
0
1
2
P
11.21
65.76
94.63
19.61
70.92
95.01
3.16
6.33
03.03
49.73
5.22
97.92
VQ
17.58
03.76
44.84
22.42
19.18
54.05
8.14
4.68
45.11
23.21
0.21
45.24
15
69
97
22
03
56
0
9
15
04
26
56
eal
4. Epoch : 100 4.1 Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000458, Epoch Ke 100 : 0.1000446, Epoch Ke 100 Tabel 56. Hasil Persentase Prediksi Epoch: 100 Error: 0.1
ulan
0
1
Universitas Sumatera Utara
2
P VQ
8.7
8.7 6
8.7
3.33
8.7
6.89
6
1.27
6.72
7.86
1.38
3.26
3.67
7.33
4.81
2.33
6.22
6.57
2.25
5
6.47
1.33
9.19
Tabel 57. Prediksi Curah Hujan Epoch: 100 Error: 0.1 ulan P VQ
eal
0
1
2
10.9
65.5
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.4
22.88
39.41
44.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.6
7.28
69.94
15
69
97
22
03
56
0
9
15
04
26
56
4.2 Error : 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.001001595, Epoch Ke 100 : 0.001001472, Epoch Ke 100
Tabel 58. Hasil Persentase Prediksi Epoch: 100 Error: 0.01 ulan P VQ
0
1
2
8.79
8.79
8.79
8.79
0.12
6.77
7.81
1.86
3.59
3.96
8.15
5.83
9.7
6.43
4.19
9.7
6.33
0.72
1.04
7.08
9.6
0.95
6.33
4.27
Tabel 59. Prediksi Curah Hujan Epoch: 100 Error: 0.01 ulan P VQ
eal
0
1
2
10.9
65.5
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.4
22.88
39.41
44.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.6
7.28
69.94
15
69
97
22
03
56
0
9
15
04
26
56
4.3 Error : 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.0001001727, Epoch Ke 100 : 0.0001000497, Epoch Ke 100
Tabel 60. Hasil Persentase Prediksi Epoch: 100 Error: 0.001 ulan P VQ
0
1
2
7.9
9.1
7.43
3.26
3.41
0.18
1.21
5.31
7.03
7.4
1.63
9.33
9.07
5.74
3.52
9.07
5.73
0.17
0.49
6.56
9.06
0.39
6.73
3.78
Universitas Sumatera Utara
Tabel 61. Prediksi Curah Hujan Epoch: 100 Error: 0.001 ulan P VQ
eal
0
1
2
10.9
65.5
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.4
22.88
39.41
44.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.6
7.28
69.94
15
69
97
22
03
56
0
9
15
04
26
56
5. Epoch : 1000 5.1 Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.0100052, Epoch Ke 1000 : 0.0099999, Epoch Ke 999
Tabel 62. Hasil Persentase Prediksi Epoch: 1000 Error: 0.1 ulan P VQ
0
1
2
8.7
8.7
8.7
8.7
7.26
2.72
3.85
7.37
9.26
9.66
3.33
0.8
6
3.33
0.89
6
2.33
6.22
6.57
2.25
5
6.47
1.33
9.19
Tabel 63. Prediksi Curah Hujan Epoch: 1000 Error: 0.1 ulan P VQ
eal
0
1
2
10.9
65.5
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.4
22.88
39.41
44.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.6
7.28
69.94
15
69
97
22
03
56
0
9
15
04
26
56
5.2 Error : 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.0100052, Epoch Ke 1000 : 0.0099999, Epoch Ke 999
Tabel 64. Hasil Persentase Prediksi Epoch: 1000 Error: 0.01 ulan P VQ
0
1
2
8.79
8.79
8.79
8.79
0.12
6.77
7.81
1.86
3.59
3.96
8.15
5.83
9.7
6.43
4.19
9.7
6.33
0.72
1.04
7.08
9.6
0.95
6.23
2.27
Tabel 65. Prediksi Curah Hujan Epoch: 1000 Error: 0.01 ulan P VQ
0
1
2
10.9
65.5
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.4
22.88
39.41
44.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.6
7.28
69.94
Universitas Sumatera Utara
eal
15
69
97
5.3 : 0.001 MSE Terbaik BP MSE Terbaik LVQ
22
03
56
0
9
15
04
26
56
: 0.001001031, Epoch Ke 1000 : 0.0099988, Epoch Ke 999
Tabel 66. Hasil Persentase Prediksi Epoch: 1000 Error: 0.001 ulan
0
1
2
P
7.79
8.79
8.79
9.25
9.41
6.17
7.21
1.31
3.02
3.39
7.63
5.33
VQ
9.07
5.74
3.52
9.07
5.73
0.17
0.49
6.56
9.06
0.39
5.72
3.78
Tabel 67. Prediksi Curah Hujan Epoch: 1000 Error: 0.001 ulan P VQ
eal
0
1
2
10.9
65.5
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.4
22.88
39.41
44.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.6
7.28
69.94
15
69
97
22
03
56
0
9
15
04
26
56
6. Epoch : 1000 6.1 Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000004, Epoch Ke 8938 : 0.09999932, Epoch Ke 8609
Tabel 68. Hasil Persentase Prediksi Epoch: 10000 Error: 0.1 ulan P VQ
0
1
2
8.7
8.7
8.7
8.7
8.26
2.72
3.85
7.37
9.26
9.66
3.33
0.8
6
3.33
0.89
6
2.33
6.22
6.57
2.25
5
6.47
1.33
9.19
Tabel 69. Prediksi Curah Hujan Epoch: 10000 Error: 0.1 ulan P VQ
eal
0
1
2
10.9
65.5
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.4
22.88
39.41
44.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.6
7.28
69.94
15
69
97
22
03
56
0
9
15
04
26
56
6.2 Error : 0.01 MSE Terbaik BP
: 0.01000003, Epoch Ke 9392
Universitas Sumatera Utara
MSE Terbaik LVQ
: 0.009998814, Epoch Ke 7321
Tabel 70. Hasil Persentase Prediksi Epoch: 10000 Error: 0.01 ulan P VQ
0
1
2
8.79
8.79
8.79
8.79
0.12
6.77
7.81
1.86
3.59
3.96
8.15
5.83
9.7
6.43
4.19
9.7
6.33
0.72
1.04
7.08
9.6
0.95
6.23
4.27
Tabel 71. Prediksi Curah Hujan Epoch: 10000 Error: 0.01 ulan P VQ
eal
0
1
2
10.9
65.5
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.4
22.88
39.41
44.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.6
7.28
69.94
15
69
97
22
03
56
0
9
15
04
26
56
6.3 Error : 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.001000003, Epoch Ke 9401 : 0.0009998774, Epoch Ke 6783
Tabel 72. Hasil Persentase Prediksi Epoch: 10000 Error: 0.001 ulan
0
1
2
P
8.79
8.79
8.79
9.25
9.41
6.17
7.21
1.31
3.02
3.39
7.63
5.33
VQ
9.07
5.74
3.52
9.07
5.73
0.17
0.49
6.56
9.06
0.39
5.72
3.78
Tabel 73. Prediksi Curah Hujan Epoch: 10000 Error: 0.001 ulan P VQ
eal
0
1
2
10.9
65.5
94.43
17.81
94.72
11.77
5.15
1.12
28.93
62.52
2.4
22.88
39.41
44.18
59.36
44.73
19.18
69.54
9.97
9.18
69.77
35.6
7.28
69.94
15
69
97
22
03
56
0
9
15
04
26
56
c. Tahun 2010 1. Epoch : 40 1.1 Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000482, Epoch Ke 40 : 0.1002246, Epoch Ke 40 Tabel 74. Hasil Persentase Prediksi Epoch: 40 Error: 0.1
Universitas Sumatera Utara
ulan P VQ
0
1
2
8.7
8.7
8.7
8.7
1.1
6.67
7.8
1.32
3.2
3.61
7.28
4.75
5.95
3.28
0.83
5.95
2.28
6.17
6.52
2.2
4.95
6.41
1.28
9.14
0
1
2
Tabel 75. Prediksi Curah Hujan Epoch: 40 Error: 0.1 ulan P
10.37
4.19
15.15
44.13
82.79
14.26
20.13
25.79
11.13
02.32
49.81
25.58
VQ
4.93
2.08
4.55
7.31
5.44
9.25
1.57
8.63
03.08
13.12
07.29
04.48
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
1.2
Error : 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.001001727, Epoch Ke 40 : 0.000999999, Epoch Ke 40 Tabel 76. Hasil Persentase Prediksi Epoch: 40 Error: 0.01
ulan P VQ
8.7
8.7
8.7
8.7
1.1
6.67
7.8
1.32
3.2
3.61
7.28
4.75
5.95
3.28
0.83
5.95
2.28
6.17
6.52
2.2
4.95
6.41
1.28
9.14
0
1
2
Tabel 77. Prediksi Curah Hujan Epoch: 40 Error: 0.01 ulan P
10.48
5.21
14.58
37.28
68.49
05.4
10.8
16.07
94.79
86.65
38.27
15.93
VQ
7.89
5.28
7.54
0.06
7.52
1.83
3.96
1.26
4.51
03.72
8.36
5.78
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
1.3
Error : 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.01001778, Epoch Ke 40 : 0.009989, Epoch Ke 40
Tabel 78. Hasil Persentase Prediksi Epoch: 40 Error: 0.001 ulan P
8.79
9.04
7.37
3.2
3.36
0.12
1.16
5.26
6.97
7.34
1.58
9.28
VQ
9.02
5.69
3.46
9.02
5.68
0.12
0.44
6.5
9.01
0.34
5.67
3.72
Universitas Sumatera Utara
Tabel 79. Prediksi Curah Hujan Epoch: 40 Error: 0.001 ulan
0
1
2
P
10.49
4.48
13.6
36.11
67.05
04.51
09.87
15.09
93.15
85.09
37.12
14.96
VQ
7.18
4.6
6.84
9.34
6.73
1.09
3.2
0.52
3.65
02.78
7.47
4.91
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
2. 2.1
Epoch : 400 Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000482, Epoch Ke 400 : 0.1002246, Epoch Ke 400 Tabel 80. Hasil Persentase Prediksi Epoch: 400 Error: 0.1
ulan P VQ
8.7
8.7
8.7
8.7
1.21
6.67
7.8
1.32
3.2
3.61
2
0
5.95
3.28
0.83
5.95
2.28
6.17
6.52
2.2
4.95
6.41
1.28
9.14
0
1
2
Tabel 81. Prediksi Curah Hujan Epoch: 400 Error: 0.1 ulan P
10.37
4.19
15.15
44.13
82.79
14.26
20.13
25.79
11.13
02.32
49.81
25.58
VQ
4.93
2.08
4.55
7.31
5.44
9.25
1.57
8.63
03.08
13.12
07.29
04.48
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
2.2
Error : 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.001001727, Epoch Ke 400 : 0.000999999, Epoch Ke 400
Tabel 82. Hasil Persentase Prediksi Epoch: 400 Error: 0.01 ulan P VQ
8.7
9.9
8.21
4
4.07
0.72
1.76
5.81
7.54
7.91
2.1
9.78
9.65
6.38
4.13
9.65
6.28
0.67
0.99
7.02
9.55
0.89
6.18
4.21
Tabel 83. Prediksi Curah Hujan Epoch: 400 Error: 0.01
Universitas Sumatera Utara
ulan
0
1
2
P
10.48
5.21
14.58
37.28
68.48
05.39
10.8
16.07
94.79
86.65
38.27
15.93
VQ
7.89
5.28
7.54
0.06
7.52
1.83
5.96
1.26
5.51
03.72
8.36
5.78
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
2.3
Error : 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.01001778, Epoch Ke 40 : 0.009989, Epoch Ke 40
Tabel 84. Hasil Persentase Prediksi Epoch: 400 Error: 0.001 ulan P
8.79
9.04
7.37
3.2
3.36
0.12
1.16
5.26
6.97
7.34
1.58
9.28
VQ
9.02
5.69
3.46
9.02
5.68
0.12
0.44
6.5
9.01
0.63
5.67
3.72
0
1
2
Tabel 85. Prediksi Curah Hujan Epoch: 400 Error: 0.001 ulan P
10.49
4.48
13.6
36.111
67.05
04.51
09.87
15.09
93.15
85.09
37.12
14.96
VQ
7.18
4.6
6.84
9.34
6.73
1.09
3.2
0.52
3.65
02.78
7.47
4.91
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
3. 3.1
Epoch : 4000 Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000482, Epoch Ke 4000 : 0.1002246, Epoch Ke 4000
Tabel 86. Hasil Persentase Prediksi Epoch: 4000 Error: 0.1 ulan P VQ
8.7
8.7
8.7
8.7
8.7
2.41
2.78
4.66
6.36
6.46
9.21
6.28
5.95
3.28
0.83
5.95
2.28
6.17
6.52
2.2
4.95
6.41
1.28
9.14
0
1
2
02.32
49.81
25.58
Tabel 87. Prediksi Curah Hujan Epoch: 4000 Error: 0.1 ulan P
10.37
4.19
15.15
44.13
82.79
14.26
20.13
25.79
11.13
Universitas Sumatera Utara
VQ
4.93
2.08
4.55
7.31
5.44
9.25
1.57
8.63
03.08
13.12
07.29
04.48
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
3.2
Error : 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000482, Epoch Ke 4000 : 0.1002246, Epoch Ke 4000
Tabel 88. Hasil Persentase Prediksi Epoch: 4000 Error: 0.01 ulan P VQ
8.7
8.7
8.7
8.7
8.7
2.41
2.78
4.66
6.36
6.46
9.21
6.28
5.95
3.28
0.83
5.95
2.28
6.17
6.52
2.2
4.95
6.41
1.28
9.14
0
1
2
Tabel 89. Prediksi Curah Hujan Epoch: 4000 Error: 0.01 ulan P
10.37
4.19
15.15
44.13
82.79
14.26
20.13
25.79
11.13
02.32
49.81
25.58
VQ
4.93
2.08
4.55
7.31
5.44
9.25
1.57
8.63
03.08
13.12
07.29
04.48
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
3.3
Error : 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000482, Epoch Ke 4000 : 0.1002246, Epoch Ke 4000
Tabel 90. Hasil Persentase Prediksi Epoch: 4000 Error: 0.001 ulan P
8.79
9.04
7.37
3.2
3.36
0.12
1.16
5.26
6.97
7.34
1.58
9.28
VQ
9.02
5.69
3.46 9.02 5.68 0.12 0.44 6.5 9.01 0.63 Tabel 91. Prediksi Curah Hujan Epoch: 4000 Error: 0.001
5.67
3.72
0
1
2
ulan P
10.49
4.48
13.6
36.111
67.05
04.51
09.87
15.09
93.15
85.09
37.12
14.96
VQ
7.18
4.6
6.84
9.34
6.73
1.09
3.2
0.52
3.65
02.78
7.47
4.91
eal
66
0
43
5
29
56
20
82
9
61
46
59
4.
Epoch : 100
Universitas Sumatera Utara
4.1
Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000458, Epoch Ke 100 : 0.1001905, Epoch Ke 100 Tabel 92. Hasil Persentase Prediksi Epoch: 100 Error: 0.1
ulan P VQ
0
1
2
8.7
8.7
8.7
8.7
1.21
6.67
7.8
1.32
3.2
3.61
2
0
5.95
3.28
0.83
5.95
2.28
6.17
6.52
2.2
4.95
6.41
1.28
9.14
0
1
2
Tabel 93. Prediksi Curah Hujan Epoch: 100 Error: 0.1 ulan P
10.37
4.19
15.15
44.13
82.79
14.26
20.13
25.79
11.13
02.32
38.08
16.51
VQ
4.93
2.08
4.55
7.31
5.44
9.25
1.57
8.63
03.08
13.12
07.29
04.48
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
4.2
Error : 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000458, Epoch Ke 100 : 0.1001905, Epoch Ke 100
Tabel 94. Hasil Persentase Prediksi Epoch: 100 Error: 0.01 ulan P VQ
8.7
8.21
4.85
1.38
4.35
.95
8.01
4.15
1.38
1.28
.95
4.25
9.65
3.11
9.65
6.18
2.81
2.61
2.91
9.25
9.75
3.01
.05
2.61
0
1
2
Tabel 95. Prediksi Curah Hujan Epoch: 100 Error: 0.01 ulan 10.48
3.77
10.65
18.84
8.87
.88
20.45
2.59
34.7
95.91
.79
6.42
VQ
7.89
0.89
1.25
2.04
04.84
8.6
7.14
1.58
29.99
00.67
0.15
3.25
eal
66
0
43
5
29
56
20
82
9
61
46
59
P
4.3
0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.001000112, Epoch Ke 100 : 0.0009987, Epoch Ke 100
Tabel 96. Hasil Persentase Prediksi Epoch: 100 Error: 0.01
Universitas Sumatera Utara
ulan
0
1
2
P
8.79
7.37
4.04
0.69
3.99
.95
7.35
3.97
0.69
0.68
.95
3.98
VQ
9.02
2.36
9.02
5.67
2.33
2.31
2.34
8.98
9.03
2.35
.96
2.31
0
1
2
Tabel 97. Prediksi Curah Hujan Epoch: 100 Error: 0.001 ulan 10.49
3.06
09.71
17.83
8.15
.8
19.03
2.27
32.71
94.26
.79
5.89
VQ
7.18
0.25
0.52
1.3
04.88
8.16
6.26
1.11
27.92
98.86
9.95
2.67
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
P
5. 5.1
Epoch : 1000 Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.01000015, Epoch Ke 1000 : 0.01000015, Epoch Ke 1000
Tabel 98. Hasil Persentase Prediksi Epoch: 1000 Error: 0.1 ulan P VQ
8.7
8.7
8.7
8.7
1.21
6.67
7.8
1.32
3.2
3.61
2
0
5.95
3.28
0.83
5.95
2.28
6.17
6.52
2.2
4.95
6.41
1.28
9.14
0
1
2
Tabel 99. Prediksi Curah Hujan Epoch: 1000 Error: 0.1 ulan P
10.37
4.19
15.15
44.13
82.79
14.26
20.13
25.79
11.13
02.32
38.08
16.51
VQ
4.93
2.08
4.55
7.31
5.44
9.25
1.57
8.63
03.08
13.12
07.29
04.48
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
3.61
2
0
5.2
Error : 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.01000015, Epoch Ke 1000 : 0.01000015, Epoch Ke 1000
Tabel 100. Hasil Persentase Prediksi Epoch: 1000 Error: 0.01 ulan P
8.7
8.7
8.7
8.7
1.21
6.67
7.8
1.32
3.2
Universitas Sumatera Utara
VQ
5.95
3.28
0.83
5.95
2.28
6.17
6.52
2.2
4.95
6.41
1.28
9.14
0
1
2
Tabel 101. Prediksi Curah Hujan Epoch: 1000 Error: 0.01 ulan P
10.37
4.19
15.15
44.13
82.79
14.26
20.13
25.79
11.13
02.32
38.08
16.51
VQ
4.93
2.08
4.55
7.31
5.44
9.25
1.57
8.63
03.08
13.12
07.29
04.48
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
5.3
Error : 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.01000015, Epoch Ke 1000 : 0.01000015, Epoch Ke 1000
Tabel 102. Hasil Persentase Prediksi Epoch: 1000 Error: 0.001 ulan P VQ
8.7
8.7
8.7
8.7
1.21
6.67
7.8
1.32
3.2
3.61
2
0
5.95
3.28
0.83
5.95
2.28
6.17
6.52
2.2
4.95
6.41
1.28
9.14
0
1
2
Tabel 103. Prediksi Curah Hujan Epoch: 10000 Error: 0.001 ulan P
10.37
4.19
15.15
44.13
82.79
14.26
20.13
25.79
11.13
02.32
38.08
16.51
VQ
4.93
2.08
4.55
7.31
5.44
9.25
1.57
8.63
03.08
13.12
07.29
04.48
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
6. 6.1
Epoch : 10000 Error : 0.1 MSE Terbaik BP MSE Terbaik LVQ
: 0.1000004, Epoch Ke 10000 : 0.09999, Epoch Ke 10000
Tabel 104. Hasil Persentase Prediksi Epoch: 10000 Error: 0.1 ulan P VQ
8.7
8.7
8.7
8.7
1.21
6.67
7.8
1.32
3.2
3.61
2
0
5.95
3.28
0.83
5.95
2.28
6.17
6.52
2.2
4.95
6.41
1.28
9.14
Tabel 105. Prediksi Curah Hujan Epoch: 10000 Error: 0.1
Universitas Sumatera Utara
ulan
0
1
2
P
10.37
4.19
15.15
44.13
82.79
14.26
20.13
25.79
11.13
02.32
38.08
16.51
VQ
4.93
2.08
4.55
7.31
5.44
9.25
1.57
8.63
03.08
13.12
07.29
04.48
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
6.2
Error : 0.01 MSE Terbaik BP MSE Terbaik LVQ
: 0.01000003, Epoch Ke 10000 : 0.009999, Epoch Ke 10000
Tabel 106. Hasil Persentase Prediksi Epoch: 10000 Error: 0.01 ulan P VQ
8.7
8.7
8.7
8.7
1.21
6.67
7.8
1.32
3.2
3.61
2
0
5.95
3.28
0.83
5.95
2.28
6.17
6.52
2.2
4.95
6.41
1.28
9.14
0
1
2
Tabel 107. Prediksi Curah Hujan Epoch: 10000 Error: 0.01 ulan P
10.37
4.19
15.15
44.13
82.79
14.26
20.13
25.79
11.13
02.32
38.08
16.51
VQ
4.93
2.08
4.55
7.31
5.44
9.25
1.57
8.63
03.08
13.12
07.29
04.48
eal
66
0
43
5
29
56
20
82
9
61
46
59
0
1
2
6.3
Error : 0.001 MSE Terbaik BP MSE Terbaik LVQ
: 0.001000002, Epoch Ke 10000 : 0.0009999, Epoch Ke 10000
Tabel 108. Hasil Persentase Prediksi Epoch: 10000 Error: 0.001 ulan P
8.79
7.37
4.04
0.69
3.99
.95
7.35
3.97
0.69
0.68
.95
3.98
VQ
9.02
2.36
9.02
5.67
2.33
2.31
2.34
8.98
9.03
2.35
.96
2.31
0
1
2
Tabel 109. Prediksi Curah Hujan Epoch: 10000 Error: 0.001 ulan 10.49
3.06
09.71
17.83
8.15
.8
19.03
2.27
32.71
94.26
.79
5.89
VQ
7.18
0.25
0.52
1.3
04.88
8.16
6.26
1.11
27.92
98.86
9.95
2.67
eal
66
0
43
5
29
56
20
82
9
61
46
59
P
Universitas Sumatera Utara
Universitas Sumatera Utara