Professional Documents
Culture Documents
Lampiran A Listing Program: Admincontrol
Lampiran A Listing Program: Admincontrol
LISTING PROGRAM
AdminControl.vb
Imports MySql.Data.MySqlClient
Public Class AdminControl
Dim conn As MySqlConnection = New
MySqlConnection(My.MySettings.Default.ConnStr)
Dim table As String = ""
Dim lbl As String = ""
Dim id As Integer = 0
Private Sub setRegularFont()
For Each lbl As Label In GroupBox1.Controls
If lbl.Name.ToString().StartsWith("lbl") Then
lbl.Font = New Font(lbl.Font, FontStyle.Regular)
End If
Next
End Sub
Private Function getDataTable(ByVal table As String) As DataTable
Dim dt As DataTable = New DataTable()
Dim sqlString As String = ""
If table = "tbl_Artikel" Then
sqlString = "Select * from " & table & " where Judul <> ''"
Else
sqlString = "Select * from " & table
End If
Dim Data As MySqlDataAdapter = New MySqlDataAdapter(sqlString, conn)
Data.Fill(dt)
Return dt
End Function
Private Function cekUser(ByVal value As String) As Boolean
Dim retValue As Boolean = False
conn.Open()
Dim sqlString As String = "Select * from tbl_User where Username =
@Value"
Dim cmd As MySqlCommand = New MySqlCommand(sqlString, conn)
cmd.Parameters.AddWithValue("@Value", value)
Dim dr As MySqlDataReader = Nothing
Try
dr = cmd.ExecuteReader()
If (dr.HasRows) Then
If (dr.Read()) Then
retValue = True
End If
End If
Catch ex As Exception
Finally
If (dr IsNot Nothing) Then
dr.Close()
dr = Nothing
End If
End Try
conn.Close()
Return retValue
End Function
Private Function editUser(ByVal user As String, ByVal pass As String) As
Boolean
Dim retValue As Boolean = False
conn.Open()
Dim sqlString As String = "update tbl_User set Password = @Pass where
Username = @User"
Dim cmd As MySqlCommand = New MySqlCommand(sqlString, conn)
cmd.Parameters.AddWithValue("@User", user)
cmd.Parameters.AddWithValue("@Pass", pass)
If cmd.ExecuteNonQuery > 0 Then
retValue = True
End If
conn.Close()
Return retValue
End Function
Private Function addUser(ByVal user As String, ByVal pass As String) As
Boolean
Dim retValue As Boolean = False
conn.Open()
Dim sqlString As String = "insert into tbl_User values(@User, @Pass)"
Dim cmd As MySqlCommand = New MySqlCommand(sqlString, conn)
cmd.Parameters.AddWithValue("@User", user)
cmd.Parameters.AddWithValue("@Pass", pass)
If cmd.ExecuteNonQuery > 0 Then
retValue = True
End If
conn.Close()
Return retValue
End Function
Private Function deleteUser(ByVal user As String) As Boolean
Dim retValue As Boolean = False
conn.Open()
Dim sqlString As String = "delete from tbl_User where Username = @User"
Dim cmd As MySqlCommand = New MySqlCommand(sqlString, conn)
cmd.Parameters.AddWithValue("@User", user)
If cmd.ExecuteNonQuery() > 0 Then
retValue = True
End If
conn.Close()
Return retValue
End Function
Private Sub lblUser_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles lblUser.Click
setRegularFont()
lblUser.Font = New Font(lblUser.Font, FontStyle.Bold)
table = "tbl_user"
lbl = "lblUser"
gbUser.Visible = True
gbArtikel.Visible = False
gbNutrisi.Visible = False
gbKalori.Visible = False
gbUser.BringToFront()
Dim data As DataTable = getDataTable(table)
DataGridView1.DataSource = data
End Sub
Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.DataGridViewCellEventArgs) Handles
DataGridView1.CellClick
If lbl = "lblUser" Then
txtUser.Text =
DataGridView1.SelectedRows(0).Cells(0).Value.ToString()
txtPass.Text =
DataGridView1.SelectedRows(0).Cells(1).Value.ToString()
ElseIf lbl = "lblNutrisi" Then
txtNama.Text =
DataGridView1.SelectedRows(0).Cells(0).Value.ToString()
txtUmur.Text =
DataGridView1.SelectedRows(0).Cells(1).Value.ToString()
txtJenis.Text =
DataGridView1.SelectedRows(0).Cells(2).Value.ToString()
txtBerat.Text =
DataGridView1.SelectedRows(0).Cells(3).Value.ToString()
txtTinggi.Text =
DataGridView1.SelectedRows(0).Cells(4).Value.ToString()
txtStatus.Text =
DataGridView1.SelectedRows(0).Cells(5).Value.ToString()
txtBBI.Text =
DataGridView1.SelectedRows(0).Cells(6).Value.ToString()
txtBMI.Text =
DataGridView1.SelectedRows(0).Cells(7).Value.ToString()
ElseIf lbl = "lblKalori" Then
txtNamaKal.Text =
DataGridView1.SelectedRows(0).Cells(0).Value.ToString()
txtUmurKal.Text =
DataGridView1.SelectedRows(0).Cells(1).Value.ToString()
txtJenisKal.Text =
DataGridView1.SelectedRows(0).Cells(2).Value.ToString()
txtBeratKal.Text =
DataGridView1.SelectedRows(0).Cells(3).Value.ToString()
txtTinggiKal.Text =
DataGridView1.SelectedRows(0).Cells(4).Value.ToString()
txtStatusKal.Text =
DataGridView1.SelectedRows(0).Cells(5).Value.ToString()
txtKebutuhanKal.Text =
DataGridView1.SelectedRows(0).Cells(6).Value.ToString()
ElseIf lbl = "lblArtikel" Then
id = DataGridView1.SelectedRows(0).Cells(0).Value.ToString()
txtJudul.Text =
DataGridView1.SelectedRows(0).Cells(1).Value.ToString()
txtIsi.Text =
DataGridView1.SelectedRows(0).Cells(2).Value.ToString()
End If
End Sub
Private Sub LoadDataGrid()
If lbl = "lblArtikel" Then
lblArtikel_Click(Nothing, Nothing)
ElseIf lbl = "lblUser" Then
lblUser_Click(Nothing, Nothing)
cmd.Parameters.AddWithValue("@Judul", txtJudul.Text)
cmd.Parameters.AddWithValue("@Isi", txtIsi.Text)
cmd.Parameters.AddWithValue("@id", id)
cmd.ExecuteNonQuery()
conn.Close()
MessageBox.Show("Data berhasil diupdate", "Update",
MessageBoxButtons.OK, MessageBoxIcon.Information)
LoadDataGrid()
End Sub
Private Sub btnUpdateKal_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnUpdateKal.Click
conn.Open()
Dim sqlString As String = "update tbl_Kalori set JenisKelamin = @Jenis,
BeratBadan = @Berat, TinggiBadan = @Tinggi, " & _
"StatusKalori = @Status, KebutuhanKalori =
@Kebutuhan where Nama = @Nama and Umur = @Umur"
Dim cmd As MySqlCommand = New MySqlCommand(sqlString, conn)
cmd.Parameters.AddWithValue("@Nama", txtNamaKal.Text)
cmd.Parameters.AddWithValue("@Umur", txtUmurKal.Text)
cmd.Parameters.AddWithValue("@Jenis", txtJenisKal.Text)
cmd.Parameters.AddWithValue("@Berat", txtBeratKal.Text)
cmd.Parameters.AddWithValue("@Tinggi", txtTinggiKal.Text)
cmd.Parameters.AddWithValue("@Status", txtStatusKal.Text)
cmd.Parameters.AddWithValue("@Kebutuhan", txtKebutuhanKal.Text)
cmd.ExecuteNonQuery()
conn.Close()
MessageBox.Show("Data berhasil diupdate", "Update",
MessageBoxButtons.OK, MessageBoxIcon.Information)
LoadDataGrid()
End Sub
Private Sub btnHapusKal_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnHapusKal.Click
If (MessageBox.Show("Hapus Data?", "Hapus", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) = DialogResult.Yes) Then
conn.Open()
Dim sqlString As String = "delete from tbl_Kalori where Nama =
@Nama and Umur = @Umur"
Dim cmd As MySqlCommand = New MySqlCommand(sqlString, conn)
cmd.Parameters.AddWithValue("@Nama", txtNamaKal.Text)
cmd.Parameters.AddWithValue("@Umur", txtUmurKal.Text)
cmd.ExecuteNonQuery()
conn.Close()
MessageBox.Show("Data berhasil dihapus", "Hapus",
MessageBoxButtons.OK, MessageBoxIcon.Information)
LoadDataGrid()
btnBaruKal_Click(Nothing, Nothing)
End If
End Sub
Private Sub btnUpdateNutrisi_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnUpdateNutrisi.Click
conn.Open()
Dim sqlString As String = "update tbl_Nutrisi set JenisKelamin =
@Jenis, BeratBadan = @Berat, TinggiBadan = @Tinggi, " & _
"StatusGizi = @Status, BBI = @BBI, BMI = @BMI
where Nama = @Nama and Umur = @Umur"
Dim cmd As MySqlCommand = New MySqlCommand(sqlString, conn)
cmd.Parameters.AddWithValue("@Nama", txtNama.Text)
cmd.Parameters.AddWithValue("@Umur", txtUmur.Text)
cmd.Parameters.AddWithValue("@Jenis", txtJenis.Text)
cmd.Parameters.AddWithValue("@Berat", txtBerat.Text)
cmd.Parameters.AddWithValue("@Tinggi", txtTinggi.Text)
cmd.Parameters.AddWithValue("@Status", txtStatus.Text)
cmd.Parameters.AddWithValue("@BBI", txtBBI.Text)
cmd.Parameters.AddWithValue("@BMI", txtBMI.Text)
cmd.ExecuteNonQuery()
conn.Close()
MessageBox.Show("Data berhasil diupdate", "Update",
MessageBoxButtons.OK, MessageBoxIcon.Information)
LoadDataGrid()
End Sub
Private Sub btnHapusNutrisi_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnHapusNutrisi.Click
If (MessageBox.Show("Hapus Data?", "Hapus", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) = DialogResult.Yes) Then
conn.Open()
Dim sqlString As String = "delete from tbl_Nutrisi where Nama =
@Nama and Umur = @Umur"
Dim cmd As MySqlCommand = New MySqlCommand(sqlString, conn)
cmd.Parameters.AddWithValue("@Nama", txtNama.Text)
cmd.Parameters.AddWithValue("@Umur", txtUmur.Text)
cmd.ExecuteNonQuery()
conn.Close()
MessageBox.Show("Data berhasil dihapus", "Hapus",
MessageBoxButtons.OK, MessageBoxIcon.Information)
LoadDataGrid()
btnBaruNutrisi_Click(Nothing, Nothing)
End If
End Sub
End Class
CaloriesControl.vb
Imports MySql.Data.MySqlClient
Public Class CaloriesControl
Dim conn As MySqlConnection = New
MySqlConnection(My.MySettings.Default.ConnStr)
Private Sub btnProses_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnProses.Click
Dim TEE As Double = 0
Dim Energi As Double = 0
TEE = hitungKalori(txtUmur.Text, txtBerat.Text, txtTinggi.Text,
cmbJenis.Text)
Energi = Math.Round(TEE + (0.05 * TEE), 2)
lblNama.Text = ": " & txtNama.Text
lblBerat.Text = ": " & txtBerat.Text & " Kg"
lblJenis.Text = ": " & cmbJenis.Text
lblTinggi.Text = ": " & txtTinggi.Text & " cm"
lblUmur.Text = ": " & txtUmur.Text & " bulan"
lblStatus.Text = ": " & TEE.ToString() & " Kal"
lblKalori.Text = ": " & Energi.ToString() & " Kal"
conn.Open()
Form1.vb
Public Class Form1
Private Sub btnHome_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnHome.Click
Dim ctrl As New HomeControl
Panel1.Controls.Clear()
Panel1.Controls.Add(ctrl)
btnHome.BackColor = Color.DeepSkyBlue
btnCalories.BackColor = Color.Transparent
btnInfo.BackColor = Color.Transparent
btnNutrition.BackColor = Color.Transparent
btnSetting.BackColor = Color.Transparent
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
btnHome_Click(Nothing, Nothing)
End Sub
Private Sub btnNutrition_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnNutrition.Click
Dim ctrl As New NutritionControl
Panel1.Controls.Clear()
Panel1.Controls.Add(ctrl)
btnNutrition.BackColor = Color.DeepSkyBlue
btnHome.BackColor = Color.Transparent
btnCalories.BackColor = Color.Transparent
btnInfo.BackColor = Color.Transparent
btnSetting.BackColor = Color.Transparent
End Sub
Private Sub btnCalories_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnCalories.Click
Dim ctrl As New CaloriesControl
Panel1.Controls.Clear()
Panel1.Controls.Add(ctrl)
btnCalories.BackColor = Color.DeepSkyBlue
btnHome.BackColor = Color.Transparent
btnInfo.BackColor = Color.Transparent
btnNutrition.BackColor = Color.Transparent
btnSetting.BackColor = Color.Transparent
End Sub
Private Sub btnInfo_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnInfo.Click
Dim ctrl As New InformationControl
Panel1.Controls.Clear()
Panel1.Controls.Add(ctrl)
btnInfo.BackColor = Color.DeepSkyBlue
btnHome.BackColor = Color.Transparent
btnCalories.BackColor = Color.Transparent
btnNutrition.BackColor = Color.Transparent
btnSetting.BackColor = Color.Transparent
End Sub
Private Sub btnSetting_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnSetting.Click
Dim ctrl As New SettingControl
Panel1.Controls.Clear()
Panel1.Controls.Add(ctrl)
btnSetting.BackColor = Color.DeepSkyBlue
btnHome.BackColor = Color.Transparent
btnCalories.BackColor = Color.Transparent
btnInfo.BackColor = Color.Transparent
btnNutrition.BackColor = Color.Transparent
End Sub
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
If Not (MessageBox.Show("Keluar Aplikasi?", "Keluar",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) Then
e.Cancel = True
End If
End Sub
Public Sub AdminForm()
Dim ctrl As New AdminControl
Panel1.Controls.Clear()
Panel1.Controls.Add(ctrl)
End Sub
Private Sub Form1_Resize(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Resize
Dim x, y As Integer
x = (Me.Width - Panel1.Width) / 2 - 10
y = (Me.Height - Panel1.Height) / 2 + 10
Panel1.Location = New System.Drawing.Point(x, y)
btnHome.Location = New System.Drawing.Point(x + 25, y - 73)
btnNutrition.Location = New System.Drawing.Point(btnHome.Location.X +
157, btnHome.Location.Y)
btnCalories.Location = New System.Drawing.Point(btnNutrition.Location.X
+ 157, btnNutrition.Location.Y)
btnInfo.Location = New System.Drawing.Point(btnCalories.Location.X +
157, btnCalories.Location.Y)
btnSetting.Location = New System.Drawing.Point(btnInfo.Location.X +
157, btnInfo.Location.Y)
End Sub
End Class
FormAdmin.vb
Public Class FormAdmin
Private Sub FormAdmin_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim ctrl As New AdminControl
Panel1.Controls.Clear()
Panel1.Controls.Add(ctrl)
End Sub
End Class
FuzzyMamdani.vb
Public Class FuzzyMamdani
Public Function FuzzyBBRingan(ByVal berat As Double) As Double
Dim retValue As Double = 0
If (berat <= 7.8) Then
retValue = 1
ElseIf (berat >= 10.8) Then
retValue = 0
Else
retValue = (10.8 - berat) / 3
End If
Return retValue
End Function
Public Function FuzzyBBNormal(ByVal berat As Double) As Double
Dim retValue As Double = 0
If (berat <= 7.8) Then
retValue = 0
ElseIf (berat >= 7.8 And berat <= 10.8) Then
retValue = (berat - 7.8) / 3
ElseIf (berat >= 10.8 And berat <= 14.3) Then
retValue = (14.3 - berat) / 3
Else
retValue = 0
End If
Return retValue
End Function
Public Function FuzzyBBBerat(ByVal berat As Double) As Double
Dim retValue As Double = 0
If (berat <= 10.8) Then
retValue = 0
ElseIf (berat >= 13.8) Then
retValue = 1
Else
retValue = (berat - 10.8) / 3
End If
Return retValue
End Function
Public Function FuzzyTBRendah(ByVal tinggi As Double) As Double
Dim retValue As Double = 0
If (tinggi <= 65) Then
retValue = 1
ElseIf (tinggi >= 80) Then
retValue = 0
Else
retValue = (65 - tinggi) / 15
End If
Return retValue
End Function
HomeControl.vb
Public Class HomeControl
End Class
InformationControl.vb
Imports MySql.Data.MySqlClient
Public Class InformationControl
Dim lbl_Array As Label() = New Label(10) {}
Dim conn As MySqlConnection = New
MySqlConnection(My.MySettings.Default.ConnStr)
Dim data As MySqlDataAdapter = Nothing
Dim dt As DataTable = New DataTable()
Private Sub InformationControl_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
conn.Open()
Dim sqlString As String = "select Judul from tbl_Artikel"
'Dim cmd As MySqlCommand = New MySqlCommand(sqlString, conn)
data = New MySqlDataAdapter(sqlString, conn)
data.Fill(dt)
create_label()
conn.Close()
End Sub
Private
Dim
Dim
Dim
Dim
Dim
Dim
For
Sub
Y =
H =
W =
create_label()
lbl_Master.Location.Y
lbl_Master.Height
lbl_Master.Width
pos As Integer = 1
idx As Integer = 0
X = lbl_Master.Location.X
i = 0 To 9
lbl_Array(idx) = New Label
Me.Controls.Add(lbl_Array(idx))
lbl_Array(idx).Parent = lbl_Master.Parent
lbl_Array(idx).Location = New System.Drawing.Point(X, Y)
lbl_Array(idx).Size = New System.Drawing.Size(W, H)
lbl_Array(idx).AutoSize = lbl_Master.AutoSize
lbl_Array(idx).Font = lbl_Master.Font
lbl_Array(idx).TextAlign = lbl_Master.TextAlign
lbl_Array(idx).Tag = idx.ToString()
If (dt.Rows.Count > idx) Then
lbl_Array(idx).Text = dt.Rows(idx)(0).ToString()
lbl_Array(idx).Visible = True
End If
lbl_Array(idx).BringToFront()
lbl_Array(idx).Cursor = lbl_Master.Cursor
AddHandler lbl_Array(idx).Click, AddressOf lblArray_click
lbl_Array(idx).Visible = True
Y += 30
idx += 1
Next
End Sub
Private Sub lblArray_click(ByVal sender As Object, ByVal e As EventArgs)
Dim Lbl_tmp As Label = CType(sender, Label)
Dim i As Integer = CInt(Lbl_tmp.Tag)
clear_label()
lbl_Array(i).Font = New Font(lbl_Array(i).Font, FontStyle.Underline Xor
FontStyle.Bold)
lbl_Array(i).ForeColor = Color.Blue
lbl_Judul.Text = lbl_Array(i).Text
conn.Open()
Dim dr As MySqlDataReader = Nothing
Dim sqlString As String = "select Isi from tbl_Artikel where Judul = '"
& lbl_Array(i).Text & "'"
'Dim cmd As MySqlCommand = New MySqlCommand(sqlString, conn)
Dim cmd As MySqlCommand = New MySqlCommand(sqlString, conn)
dr = cmd.ExecuteReader()
If (dr.Read()) Then
If Not dr.IsDBNull(0) Then
txtIsi.Text = dr.GetString(0)
Else
txtIsi.Text = ""
End If
End If
conn.Close()
End Sub
Private Sub clear_label()
For i = 0 To 9
lbl_Array(i).ForeColor = Color.Black
lbl_Array(i).Font = New Font(lbl_Array(i).Font, FontStyle.Regular)
Next
End Sub
End Class
NutritionControl.vb
Imports MySql.Data.MySqlClient
Public Class NutritionControl
Dim conn As MySqlConnection = New
MySqlConnection(My.MySettings.Default.ConnStr)
Dim xBerat As Double()
Dim xTinggi As Double()
Dim statusBerat As String()
Dim statusTinggi As String()
Dim looping As Integer = 0
Dim X As Double = 0
Dim score As Double = 0
Dim status As String = ""
Dim predikat As Double()
Dim Rules As String()
Dim rentang1, rentang2, rentang3, a As Double
Dim fuzzy As New FuzzyMamdani()
Private Sub NutritionControl_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
lblNama.Text = ":"
lblBerat.Text = ":"
lblJenis.Text = ":"
lblTinggi.Text = ":"
lblUmur.Text = ":"
lblStatus.Text = ":"
lblBBI.Text = ":"
lblBMI.Text = ":"
txtBerat.Text = ""
txtNama.Text = ""
txtTinggi.Text = ""
txtUmur.Text = ""
cmbJenis.SelectedIndex = -1
End Sub
Private Sub HimpunanFuzzy()
Dim berat As Integer = 0
Dim tinggi As Integer = 0
Dim ScoreBBBerat, ScoreBBNormal, ScoreBBRingan As Double
Dim ScoreTBTinggi, ScoreTBNormal, ScoreTBRendah As Double
ScoreBBBerat = fuzzy.FuzzyBBBerat(txtBerat.Text)
ScoreBBNormal = fuzzy.FuzzyBBNormal(txtBerat.Text)
ScoreBBRingan = fuzzy.FuzzyBBRingan(txtBerat.Text)
If ScoreBBBerat <> 0 Then
berat += 1
End If
If ScoreBBNormal <> 0 Then
berat += 1
End If
If ScoreBBRingan <> 0 Then
berat += 1
End If
ScoreTBTinggi = fuzzy.FuzzyTBTinggi(txtTinggi.Text)
ScoreTBNormal = fuzzy.FuzzyTBNormal(txtTinggi.Text)
ScoreTBRendah = fuzzy.FuzzyTBRendah(txtTinggi.Text)
If ScoreTBTinggi <> 0 Then
tinggi += 1
End If
If ScoreTBNormal <> 0 Then
tinggi += 1
End If
If ScoreTBRendah <> 0 Then
tinggi += 1
End If
xBerat = New Double(berat - 1) {}
statusBerat = New String(berat - 1) {}
For i = 0 To xBerat.Length - 1
If (ScoreBBBerat <> 0) Then
xBerat(i) = ScoreBBBerat
statusBerat(i) = "Berat"
Continue For
End If
If (ScoreBBNormal <> 0) Then
xBerat(i) = ScoreBBNormal
statusBerat(i) = "Normal"
Continue For
End If
If (ScoreBBRingan <> 0) Then
xBerat(i) = ScoreBBRingan
statusBerat(i) = "Ringan"
Continue For
End If
Next
xTinggi = New Double(tinggi - 1) {}
End Sub
Private Sub KomposisiAturan(ByVal nilai As Double, ByVal aturan As String)
If (aturan = "Gizi Buruk") Then
score = fuzzy.FuzzyGiziBuruk(nilai)
If (score <= -3.5) Then
rentang1 = score
rentang2 = -3.5
rentang3 = 0
ElseIf (score >= -3) Then
rentang1 = -3
rentang2 = score
rentang3 = 0
Else
rentang1 = -3.5
rentang2 = score
rentang3 = -3
a = 3
End If
ElseIf (aturan = "Gizi Kurang") Then
score = fuzzy.FuzzyGiziKurang(nilai)
If (score <= -3) Then
rentang1 = score
rentang2 = -3
rentang3 = 0
ElseIf (score >= -2.5) Then
rentang1 = -2
rentang2 = score
rentang3 = 0
Else
rentang1 = -3
rentang2 = score
rentang3 = -2
a = 2
End If
ElseIf (aturan = "Gizi Baik") Then
score = fuzzy.FuzzyGiziBaik(nilai)
If (score <= -2) Then
rentang1 = score
rentang2 = -2
rentang3 = 0
ElseIf (score >= 2) Then
rentang1 = 2
rentang2 = score
rentang3 = 0
Else
rentang1 = -2
rentang2 = score
rentang3 = 2
a = 2
End If
ElseIf (aturan = "Gizi Lebih") Then
score = fuzzy.FuzzyGiziLebih(nilai)
If (score <= 2) Then
rentang1 = score
rentang2 = 2
rentang3 = 0
ElseIf (score >= 3) Then
rentang1 = 3
rentang2 = score
rentang3 = 0
Else
rentang1 = 2
rentang2 = score
rentang3 = 3
a = 3
End If
End If
End Sub
Private Function Defuzzifikasi(ByVal nilai As Double, ByVal aturan As
String) As Double
Dim retValue As Double = 0
If rentang3 = 0 Then
retValue = hitungIntegral(rentang1, rentang2, nilai)
Else
retValue = hitungIntegral(rentang1, rentang2, rentang3, nilai, a,
aturan)
End If
Return retValue
End Function
Private Function hitungIntegral(ByVal x As Double, ByVal y As Double, ByVal
nilai As Double) As Double
Dim retValue As Double = 0
Dim hasil1, hasil2 As Double
hasil1 = (nilai * (x ^ 2) / 2) - (nilai * (y ^ 2) / 2)
hasil2 = (nilai * x) - (nilai * y)
retValue = hasil1 / hasil2
Return Math.Round(retValue, 3)
End Function
Private Function hitungIntegral(ByVal x As Double, ByVal y As Double, ByVal
z As Double, ByVal nilai As Double, ByVal a As Double, ByVal aturan As String)
As Double
Dim retValue As Double = 0
Dim hasil1, hasil2, hasil3, hasil4 As Double
hasil1 = (nilai * (x ^ 2) / 2) - (nilai * (y ^ 2) / 2)
hasil2 = (nilai * x) - (nilai * y)
If (aturan = "Gizi Buruk" Or aturan = "Gizi Kurang") Then
hasil3 = (((y ^ 3) / 3) + ((a * (y ^ 2)) / 2)) - (((z
((a * (z ^ 2)) / 2))
hasil4 = (((y ^ 2) / 2) + (a * y)) - (((z ^ 2) / 2) +
Else
hasil3 = (((a * (y ^ 2)) / 2) - ((y ^ 3) / 3)) - (((a
2) - ((z ^ 3) / 3))
hasil4 = ((a * y) - ((y ^ 2) / 2)) - ((a * z) - ((z ^
End If
^ 3) / 3) +
(a * z))
* (z ^ 2)) /
2) / 2))
SettingControl.vb
Imports MySql.Data.MySqlClient
Public Class SettingControl
Dim conn As MySqlConnection = New
MySqlConnection(My.MySettings.Default.ConnStr)
Private Function Login() As Boolean
Dim ret As Boolean = False
conn.Open()
Dim sqlString As String = "SELECT * FROM tbl_User WHERE Username =
@Username AND Password = @Password"
Dim cmd As MySqlCommand = New MySqlCommand(sqlString, conn)
cmd.Parameters.AddWithValue("@Username", txtUsername.Text)
cmd.Parameters.AddWithValue("@Password", txtPassword.Text)
Dim dr As MySqlDataReader = cmd.ExecuteReader()
If (dr IsNot Nothing) Then
If (dr.Read) Then
If (dr.HasRows) Then
ret = True
End If
End If
dr.Close()
dr = Nothing
End If
conn.Close()
Return ret
End Function
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnLogin.Click
If (Login()) Then
txtPassword.Text = ""
txtUsername.Text = ""
Dim frm1 As New FormAdmin
frm1.ShowDialog()
Else
MessageBox.Show("Username atau Password salah", "Login gagal",
MessageBoxButtons.OK, MessageBoxIcon.Error)
txtPassword.Text = ""
txtPassword.Focus()
End If
End Sub
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnCancel.Click
txtPassword.Text = ""
txtUsername.Text = ""
txtUsername.Focus()
End Sub
Private Sub txtPassword_KeyDown(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles txtPassword.KeyDown
If (e.KeyData = Keys.Enter) Then
btnLogin_Click(Nothing, Nothing)
End If
End Sub
End Class