LISTING PROGRAM 1. Form Login Imports System.Data.OleDb Imports System.IO Public Class frmlogin Dim strconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Database\Contacts.accdb;Persist Security Info=False;" Dim con As New OleDbConnection Dim cmd As New OleDbCommand Dim da As New OleDbDataAdapter Dim dt As New DataTable Dim save_tag As String Private Sub cmdlogin_click(sender As Object, e As EventArgs) Private Sub frmlogin_deactivate(sender As Object, e As EventArgs) Handles Me.Deactivate Private Sub frmlogin_load(sender As Object, e As EventArgs) Handles MyBase.Load 'frmmenu.show() 'Me.GroupBox1.Anchor = AnchorStyles.Top Or AnchorStyles.Bottom Or AnchorStyles.Left Or AnchorStyles.Right ' Me.Parent = frmmenu Dim constring As String constring = "Microsoft.ACE.OLEDB.12.0;Data Source= DataDirectory \dbminuman.accdb;jet OLEDB:Database Password=nurul" Private Sub cmdcancel_click(sender As Object, e As EventArgs) Private Sub txtpassword_keydown(sender As Object, e As KeyEventArgs) Private Sub txtpassword_textchanged(sender As Object, e As EventArgs)
Private Sub txtuser_lostfocus(sender As Object, e As EventArgs) Private Sub txtuser_textchanged(sender As Object, e As EventArgs) Private Sub cmdcancel_click_1(sender As Object, e As EventArgs) Handles cmdcancel.click Private Sub cmdlogin_click_1(sender As Object, e As EventArgs) Handles cmdlogin.click If txtuser.text = "nurul" And txtpassword.text = "nurul" Then Me.Hide() frmmenu.show() Else Dialog.lbltext.Text = "Maaf, Username atau Password anda salah" Dim a As String = Dialog.ShowDialog If a = "OK" Then 'MsgBox("Username atau Password anda salah!", vbcritical + vbokonly, "Kesalahan") Private Sub txtuser_lostfocus1(sender As Object, e As EventArgs) Handles txtuser.lostfocus If txtuser.textlength <= 0 Then OvalShape3.Visible = True OvalShape3.BackColor = Color.Red RectangleShape1.BorderColor = Color.Red cmdlogin.enabled = False Private Sub txtuser_textchanged_1(sender As Object, e As EventArgs) Handles txtuser.textchanged
OvalShape3.Visible = True If Len(txtUser.Text) = 0 Then OvalShape3.BackColor = Color.Red RectangleShape1.BorderColor = Color.Red cmdlogin.enabled = False Else OvalShape3.BackColor = Color.LimeGreen RectangleShape1.BorderColor = Color.LimeGreen Private Sub txtpassword_keydown1(sender As Object, e As KeyEventArgs) Handles txtpassword.keydown If e.keycode = Keys.Enter Then cmdlogin.performclick() Private Sub txtpassword_keypress(sender As Object, e As KeyPressEventArgs) Handles txtpassword.keypress Private Sub txtpassword_textchanged_1(sender As Object, e As EventArgs) Handles txtpassword.textchanged OvalShape2.Visible = True If Len(txtPassword.Text) = 0 Then OvalShape2.BackColor = Color.Red RectangleShape2.BorderColor = Color.Red cmdlogin.enabled = False Else OvalShape2.BackColor = Color.LimeGreen RectangleShape2.BorderColor = Color.LimeGreen cmdlogin.enabled = True End Class 2. Form Menu Utama Public Class frmmenu Private Sub frmmenu_load(sender As Object, e As EventArgs) Handles MyBase.Load 'Me.Parent = Panel1 Me.SetStyle(ControlStyles.SupportsTransparentBackColor, True)
Dim img As Bitmap = CType(Me.BackgroundImage, Bitmap) ' Panel1.Parent = Panel2 ' Label1.Parent = Panel1 ' Label1.BackColor = Color.Transparent ' Panel1.BackColor = Color.FromArgb(90, Color.OrangeRed) Private Sub KELUARToolStripMenuItem_Click(sender As Object, e As EventArgs) AboutBox1.Show() Private Sub MinumanToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MinumanToolStripMenuItem.Click frmdata.show() Private Sub ProsesUtamaToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ProsesUtamaToolStripMenuItem.Click frmproses.show() Private Sub KELUARToolStripMenuItem1_Click(sender As Object, e As EventArgs) Dim keluar As String = MsgBox("Yakin ingin keluar?", vbyesno + vbquestion) If keluar = vbyes Then End Private Sub LaporanUtamaToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles LaporanUtamaToolStripMenuItem.Click frmlaporan.show() Private Sub Panel2_Paint(sender As Object, e As PaintEventArgs) Handles Panel2.Paint End Class 3. Form Proses Imports System.Math Imports System.Data.OleDb Public Class frmproses Dim nilai As Double
Private Sub btnsugeno_click(sender As Object, e As EventArgs) Handles btnsugeno.click 'Masukkan nilai2 variabel berdasarkan inputan AlSugeno() frmsugeno.show() Private Sub frmproses_gotfocus(sender As Object, e As EventArgs) Handles Me.GotFocus Call GetNilai() Private Sub frmproses_load(sender As Object, e As EventArgs) Handles MyBase.Load dateupdate = False Call GetNilai() Private Sub btntsuka_click(sender As Object, e As EventArgs) Handles btntsuka.click 'Masukkan nilai2 variabel berdasarkan inputan AlTsukamoto() frmtsukamoto.show() Sub GetNilai() Dim strconn3 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:/database\dbMinuman.accdb;Persist Security Info=false;" Dim con3 As New OleDbConnection Dim cmd3 As New OleDbCommand Dim da3 As New OleDbDataAdapter Dim dt3 As New DataTable Dim cmdtxt3 As String = Nothing cmdtxt3 = "SELECT * FROM minuman" Try 'The connection con3.connectionstring = strconn3 con3.open() 'The OLEDB Command With cmd3.connection = con3.commandtype = CommandType.Text.CommandText = cmdtxt3 End With da.selectcommand = cmd3 da.fill(dt)
Dim arrpermintaan(dt.rows.count - 1) As Double Dim arrpersediaan(dt.rows.count - 1) As Double Dim arrproduksi(dt.rows.count - 1) As Double Dim arrtahun(dt.rows.count - 1) As Double Dim arrbulan(dt.rows.count - 1) As Double Dim arrbulantahun(dt.rows.count - 1) As Double Dim maxbulan As Integer Dim maxtahun As Integer Dim lastbulan As Double Dim lasttahun As Double Dim i As Integer For i = 0 To dt.rows.count - 1 arrpermintaan(i) = Val(dt.Rows(i)("permintaan", DataRowVersion.Original)) Next For i = 0 To dt.rows.count - 1 arrpersediaan(i) = dt.rows(i)("persediaan", DataRowVersion.Original) Next For i = 0 To dt.rows.count - 1 arrproduksi(i) = dt.rows(i)("jlh_produksi", DataRowVersion.Original) Next For i = 0 To dt.rows.count - 1 arrtahun(i) = (Val(dt.Rows(i)("tahun", DataRowVersion.Original))) Next maxtahun = nilaimax(arrtahun) 'pilih arrbulan yang tahunnya = maxtahun Dim indeksmaxtahun As Integer = 0 For i = 0 To dt.rows.count - 1 If (Val(dt.Rows(i)("tahun", DataRowVersion.Original)) = maxtahun) Then arrbulan(i) = Val(dt.Rows(i)("bulan", DataRowVersion.Original)) Else arrbulan(i) = 0 Next maxbulan = nilaimax(arrbulan) lasttahun = maxtahun lastbulan = maxbulan
Dim LastDate As DateTime = (DateTime.Parse(lastBulan & "/" & lasttahun)) Dim nextdate As DateTime = LastDate.AddMonths(1) stbulan = (Month(nextDate)) sttahun = Year(nextDate) lblbt.text = (DateTime.Parse(nextDate)).ToString("Y") minta_max = nilaimax(arrpermintaan) minta_min = nilaimin(arrpermintaan) sedia_max = nilaimax(arrpersediaan) sedia_min = nilaimin(arrpersediaan) prod_max = nilaimax(arrproduksi) prod_min = nilaimin(arrproduksi) dt.rows.clear() Catch ex As Exception MsgBox(ex.Message, vbcritical) Finally con3.dispose() con3. End Try Private Sub btnkembali_click(sender As Object, e As EventArgs) Handles btnkembali.click Me.Hide() frmmenu.show() Sub GetMonth() Dim cmdtxt2 As String = Nothing cmdtxt2 = "SELECT * FROM minuman" Try con.connectionstring = strconn con.open() With cmd.connection = con.commandtype = CommandType.Text.CommandText = cmdtxt2 End With
da.selectcommand = cmd da.fill(dt) Dim arrtahun(dt.rows.count - 1) As Double Dim arrbulan(dt.rows.count - 1) As Double Dim arrbulantahun(dt.rows.count - 1) As Double Dim maxtahunbulan As Double Dim lastbulan As Double Dim lasttahun As Double Dim itemindex As Integer Dim i As Integer For i = 0 To dt.rows.count - 1 arrtahun(i) = Val(dt.Rows(i)("tahun")) arrbulan(i) = Val(dt.Rows(i)("bulan")) arrbulantahun(i) = Val(dt.Rows(i)("tahun")) + Val(dt.Rows(i)("bulan")) Next maxtahunbulan = nilaimax(arrbulantahun) itemindex = Array.IndexOf(arrBulanTahun, maxtahunbulan) lasttahun = arrtahun(itemindex) lastbulan = arrbulan(itemindex) lblbt.text = (lasttahun & " " & lastbulan) Catch ex As Exception MsgBox(ex.Message, vbcritical) Finally con.dispose() con. End Try Sub AlSugeno() Dim run_time As Stopwatch = Stopwatch.StartNew() 'Cari Nilai2 X, Y, dan Z berdasarkan variabel2 sebelumnya pminta = Val(txtminta.Text) 'Nilai psediaan = Val(txtSedia.Text) 'Nilai Y run_time.start() 'Mengukur Running Time Algoritma Sugeno : Waktu Mulai '----PERMINTAAN-----
'Terdiri dari 2 himpunan Fuzzy : Turun dan Naik If pminta < minta_min Then s_pmtt = 1 s_pmtn = 0 ElseIf pminta >= minta_min And pminta <= minta_max Then s_pmtt = (minta_max - pminta) / (minta_max - minta_min) s_pmtn = (pminta - minta_min) / (minta_max - minta_min) ElseIf pminta > minta_max Then s_pmtt = 0 s_pmtn = 1 '----PERSEDIAAN----- 'Terdiri dari 2 himpunan Fuzzy : Sedikit dan Banyak If psediaan < sedia_min Then s_sms = 1 s_smb = 0 ElseIf psediaan >= sedia_min And psediaan <= sedia_max Then s_sms = (sedia_max - psediaan) / (sedia_max - sedia_min) s_smb = (psediaan - sedia_min) / (sedia_max - sedia_min) ElseIf psediaan > sedia_max Then s_sms = 0 s_smb = 1 '----PRODUKSI----- 'Tidak mempunyai himpunan Fuzzy 'Nilai alfa-predikat dan Z dari setiap aturan '-RULE 1 - Jika permintaan TURUN dan persediaan BANYAK maka produksi barang = Permintaan - Persediaan Dim rule1 As Double = If(s_pmtT < s_smb, s_pmtt, s_smb) Dim z1 As Double = pminta - psediaan '-RULE 2 - Jika permintaan TURUN dan persediaan SEDIKIT maka produksi barang = permintaan Dim rule2 As Double = If(s_pmtT < s_sms, s_pmtt, s_sms) Dim z2 As Double = pminta '-RULE 3 - Jika permintaan NAIK dan persediaan barang BANYAK maka produksi barang = permintaan Dim rule3 As Double = If(s_pmtN < s_smb, s_pmtn, s_smb) Dim z3 As Double = pminta
'-RULE 4 - Jika permintaan NAIK dan persediaan SEDIKIT maka produksi barang = 1.25 * (permintaan-persediaan) Dim rule4 As Double = If(s_pmtN < s_smb, s_pmtn, s_sms) Dim z4 As Double = 1.25 * pminta - psediaan 'Menghitung Z akhir (Produksi Akhir) dengan merata-rata semua z berbobot s_defuzzy = ((rule1 * z1) + (rule2 * z2) + (rule3 * z3) + (rule4 * z4)) / (rule1 + rule2 + rule3 + rule4) run_time.stop() 'Mengukur Running Time Algoritma Sugeno : Waktu Selesai s_runtime = run_time.elapsed.totalmilliseconds Sub AlTsukamoto() Dim run_time As Stopwatch = Stopwatch.StartNew() 'Cari Nilai2 X, Y, dan Z berdasarkan variabel2 sebelumnya pminta = Val(txtminta.Text) 'Nilai psediaan = Val(txtSedia.Text) 'Nilai Y run_time.start() 'Mengukur Running Time Algoritma Sugeno : Waktu Mulai '----PERMINTAAN----- 'Terdiri dari 2 himpunan Fuzzy : Turun dan Naik If pminta < minta_min Then t_pmtt = 1 t_pmtn = 0 ElseIf pminta >= minta_min And pminta <= minta_max Then t_pmtt = (minta_max - pminta) / (minta_max - minta_min) t_pmtn = (pminta - minta_min) / (minta_max - minta_min) ElseIf pminta > minta_max Then t_pmtt = 0 t_pmtn = 1 '----PERSEDIAAN----- 'Terdiri dari 2 himpunan Fuzzy : Sedikit dan Banyak If psediaan < sedia_min Then t_sms = 1 t_smb = 0 ElseIf psediaan >= sedia_min And psediaan <= sedia_max Then t_sms = (sedia_max - psediaan) / (sedia_max - sedia_min) t_smb = (psediaan - sedia_min) / (sedia_max - sedia_min) ElseIf psediaan > sedia_max Then t_sms = 0 t_smb = 1
'Nilai alfa-predikat dan Z dari setiap aturan '-RULE 1 - Jika permintaan TURUN dan persediaan BANYAK maka produksi barang berkurang Dim rule1 As Double = If(t_pmtT < t_smb, t_pmtt, t_smb) '(produksi max - z)/permintaan terbesar = alfap1 Dim z1 As Double = prod_max - (minta_max * rule1) '-RULE 2 - Jika permintaan TURUN dan persediaan SEDIKIT maka produksi barang berkurang Dim rule2 As Double = If(t_pmtT < t_sms, t_pmtt, t_sms) Dim z2 As Double = prod_max - (minta_max * rule2) '-RULE 3 - Jika permintaan NAIK dan persediaan barang BANYAK maka produksi barang bertambah Dim rule3 As Double = If(t_pmtN < t_smb, t_pmtn, t_smb) Dim z3 As Double = prod_min + (minta_max * rule3) '-RULE 4 - Jika permintaan NAIK dan persediaan SEDIKIT maka produksi barang bertambah Dim rule4 As Double = If(t_pmtN < t_smb, t_pmtn, t_sms) Dim z4 As Double = prod_min + (minta_max * rule4) 'Menghitung Z akhir (Produksi Akhir) dengan merata-rata semua z berbobot t_defuzzy = ((rule1 * z1) + (rule2 * z2) + (rule3 * z3) + (rule4 * z4)) / (rule1 + rule2 + rule3 + rule4) run_time.stop() 'Mengukur Running Time Algoritma Sugeno : Waktu Selesai t_runtime = run_time.elapsed.totalmilliseconds Private Sub btnsekaligus_click(sender As Object, e As EventArgs) Handles btnsekaligus.click Call GetNilai() AlSugeno() AlTsukamoto() frmprosessekaligus.show() Public Function nilaimax(byval itemlist() As Double) Dim max As Integer = Nothing
For i As Integer = 0 To (itemlist.length - 1) If i = 0 Then max = itemlist(i) Else If itemlist(i) > max Then max = itemlist(i) Next nilaimax = max End Function Public Function nilaimin(byval itemlist() As Double) Dim min As Integer = Nothing For i As Integer = 0 To (itemlist.length - 1) If i = 0 Then min = itemlist(i) Else If itemlist(i) < min Then min = itemlist(i) Next nilaimin = min End Function Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked Call GetNilai() Private Sub txtminta_keypress(sender As Object, e As KeyPressEventArgs) Handles txtminta.keypress inputvalidasi(e) Private Sub txtsedia_keypress(sender As Object, e As KeyPressEventArgs) Handles txtsedia.keypress inputvalidasi(e) End Class
4. Form Simpan Ke Laporan Public Class frmprosessekaligus Private Sub frmprosessekaligus_load(sender As Object, e As EventArgs) Handles MyBase.Load If psediaan <= 0 Or pminta <= 0 Then MsgBox("Silahkan mengisi data terlebih dahulu") frmproses.show() Else lblumt.text = Math.Round(s_pmtT, 2) lblumtt.text = Math.Round(t_pmtT, 2) lblumn.text = Math.Round(s_pmtN, 2) lblumnt.text = Math.Round(t_pmtN, 2) lblust.text = Math.Round(s_smB, 2) lblustt.text = Math.Round(t_smB, 2) lblusn.text = Math.Round(s_smS, 2) lblusnt.text = Math.Round(t_smS, 2) lblnama.text = "Teh Botol Sosro" lbldefuz.text = Math.Round(s_defuzzy, 2) lbldefuzt.text = Math.Round(t_defuzzy, 2) lblrun.text = s_runtime lblrunt.text = t_runtime lblmintamax.text = minta_max lblmintamin.text = minta_min lblsediamax.text = sedia_max lblsediamin.text = sedia_min lblpromax.text = prod_max lblpromin.text = prod_min Private Sub btnkembali_click(sender As Object, e As EventArgs) frmproses.show()
Private Sub btnsimpan_click_1(sender As Object, e As EventArgs) Handles btnsimpan.click Dim cmdtxt As String = Nothing Dim cmdtxt2 As String = Nothing cmdtxt = "Insert into fuzzy([bulan],[tahun],[permintaan], [persediaan], [rk sugeno], [rk tsukamoto], [rt sugeno], [rt tsukamoto])" & _ " Values('" & stbulan & "','" & sttahun & "','" & pminta & "'," & psediaan & "," & Math.Round(Val(lblDefuz.Text), 2) & "," & Math.Round(Val(lblDefuzT.Text), 2) & "," & Str(s_runtime) & "," & Str(t_runtime) & ") " cmdtxt2 = "Insert into minuman([nama], [bulan], [tahun], [permintaan], [persediaan], [jlh_produksi])" & _ "Values('" & "Teh Botol Sosro" & "','" & stbulan & "','" & sttahun & "'," & pminta & "," & psediaan & "," & Math.Round(Val(lblDefuz.Text), 0) & " ) " Try con.connectionstring = strconn con.open() With cmd.connection = con.commandtype = CommandType.Text.CommandText = cmdtxt End With cmd.executenonquery() With cmd.connection = con.commandtype = CommandType.Text.CommandText = cmdtxt2 End With cmd.executenonquery() dateupdate = False MsgBox("Data berhasil disimpan") Catch ex As Exception MsgBox(ex.Message, vbcritical) Finally con.dispose() con. End Try Private Sub btnkembali_click_1(sender As Object, e As EventArgs) Handles btnkembali.click frmproses.show()
End Class 5. Form Sugeno Public Class frmsugeno Private Sub frmsugeno_load(sender As Object, e As EventArgs) Handles MyBase.Load If psediaan <= 0 Or pminta <= 0 Then MsgBox("Silahkan mengisi data terlebih dahulu") frmproses.show() Else lblumt.text = Math.Round(s_pmtT, 2) lblumn.text = Math.Round(s_pmtN, 2) lblust.text = Math.Round(s_smB, 2) lblusn.text = Math.Round(s_smS, 2) lblnama.text = "Teh Botol Sosro" lbldefuz.text = Math.Round(s_defuzzy, 2) lblmintamax.text = minta_max lblmintamin.text = minta_min lblsediamax.text = sedia_max lblsediamin.text = sedia_min lblpromax.text = prod_max lblpromin.text = prod_min Private Sub btnkembali_click(sender As Object, e As EventArgs) Handles btnkembali.click frmproses.show() End Class 6. Form Tsukamoto
Public Class frmtsukamoto Private Sub frmtsukamoto_load(sender As Object, e As EventArgs) Handles MyBase.Load If psediaan <= 0 Or pminta <= 0 Then MsgBox("Silahkan mengisi data terlebih dahulu") frmproses.show() Else lblumt.text = Math.Round(t_pmtT, 2) lblumn.text = Math.Round(t_pmtN, 2) lblust.text = Math.Round(t_smB, 2) lblusn.text = Math.Round(t_smS, 2) lblnama.text = "Teh Botol Sosro" lbldefuz.text = Math.Round(t_defuzzy, 2) lblmintamax.text = minta_max lblmintamin.text = minta_min lblsediamax.text = sedia_max lblsediamin.text = sedia_min lblpromax.text = prod_max lblpromin.text = prod_min Private Sub btnkembali_click(sender As Object, e As EventArgs) Handles btnkembali.click Me.Dispose() frmproses.show() End Class 7. Form Laporan Public Class frmlaporan Private Sub LoginForm1_Load(sender As Object, e As EventArgs) Handles MyBase.Load dt2.rows.clear()
DataGridView1.Rows.Clear() Fill_Grid(DataGridView1) With DataGridView1.RowHeadersVisible = False.Columns(0).Visible = False.Columns(1).HeaderText = "Bulan".Columns(2).HeaderText = "Tahun".Columns(3).HeaderText = "Permintaan".Columns(4).HeaderText = "Persediaan".Columns(5).HeaderText = "Ranking Sugeno".Columns(6).HeaderText = "Ranking Tsukamoto".Columns(7).HeaderText = "Runnin Time Sugeno".Columns(8).HeaderText = "Running Time Tsukamoto" End With lbltanggal.text = Date.Now Sub Fill_Grid(grid As Windows.Forms.DataGridView) Dim x As Integer '# Refreshes the grid. '# this method is useful when you want to reload the grid with new values after saving entries If grid.rows.count > 0 Then While x < grid.rows.count grid.rows.removeat(x) End While '# Setting how the grid behaves or looks like when filled/loaded '# you may add more properties here if necessary e.g alternating row background colors With grid.autosizecolumnsmode = DataGridViewAutoSizeColumnsMode.Fill.RowHeadersVisible = False.SelectionMode = DataGridViewSelectionMode.FullRowSelect End With '# Setting and opening a connection to the database via connection string con2.connectionstring = strconn con2.open() '# Represents an SQL statement or stored procedure to execute against a data source. With cmd2
.Connection = con2.commandtype = CommandType.Text.CommandText = "Select * from fuzzy" End With da2.selectcommand = cmd2 grid.datasource = dt2 da2.fill(dt2) '# hide some of the unwanted columns 'For i As Integer = 6 To 17 'grid.columns(i).visible = False 'Next 'grid.columns(0).visible = False '#closing the connection con2.dispose() con2. Private Sub btnkembali_click(sender As Object, e As EventArgs) Handles btnkembali.click frmmenu.show() End Class 8. Module Imports System.Data.OleDb Module Module1 End Module Module Moduleku Public strconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:/database\dbMinuman.accdb;Persist Security Info=false;" Public con As New OleDbConnection Public cmd As New OleDbCommand Public da As New OleDbDataAdapter
Public dt As New DataTable Public con2 As New OleDbConnection Public cmd2 As New OleDbCommand Public da2 As New OleDbDataAdapter Public dt2 As New DataTable Public save_tag As String Public nm As String Public ids As String 'Variabel berawalan s_ menyatakan variabel yang menampung nilai2 proses Algoritma Sugeno 'variabel inputan Public minta_max As Double Public minta_min As Double Public sedia_max As Double Public sedia_min As Double Public prod_max As Double Public prod_min As Double 'variabel proses Public pminta As Double Public psediaan As Double Public produksi As Double Public s_pmtt As Double 'himpunan fuzy Turun Public s_pmtn As Double 'himpunan fuzzy Naik Public s_sms As Double 'himpunan fuzzy : sedikit Public s_smb As Double 'himpunan fuzzy : banyak Public s_defuzzy As Double Public s_runtime As Double 'Variabel berawalan t_ menyatakan variabel yang menampung nilai2 proses Algoritma Tsukamoto Public t_pmtt As Double 'himpunan fuzy Turun Public t_pmtn As Double 'himpunan fuzzy Naik Public t_sms As Double 'himpunan fuzzy : sedikit Public t_smb As Double 'himpunan fuzzy : banyak Public t_pmt As Double Public t_pmn As Double Public t_defuzzy As Double Public t_runtime As Double
Public stbulan As Integer Public sttahun As Integer ' Public isfilled As Boolean = False 'Public session As Boolean = False Public dateupdate As Boolean Sub inputvalidasi(e As KeyPressEventArgs) 'hanya memperbolehkan angka saja If Asc(E.KeyChar) <> 13 AndAlso Asc(E.KeyChar) <> 8 AndAlso Not IsNumeric(E.KeyChar) Then 'Tidak melakukan aksi apapun E.Handled = True End Module