LISTING PROGRAM
Kode Program Form Login:
Public Class FrmLogin
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
dr = openDR("SELECT * FROM tb_admin WHERE user='" & TxtUsername.Text & "' AND pass='" & TxtPassword.Text & "'")
If dr.Read Then
user = dr("user") FrmUtama.Show() Me.Close() Else
msgError("Salah kombinasi username dan password") TxtUsername.Focus()
End If End Sub
Private Sub txtUsername_KeyPress(ByVal sender As
System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) If e.KeyChar = Chr(13) Then
TxtPassword.Focus() End If
End Sub
Private Sub txtPassword_KeyPress(ByVal sender As
System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) If e.KeyChar = Chr(13) Then
BtnLogin_Click_1(Nothing, Nothing) End If
End Sub
Private Sub BtnLogin_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLogin.Click
dr = openDR("SELECT * FROM tb_admin WHERE user='" & TxtUsername.Text & "' AND pass='" & TxtPassword.Text & "'")
If dr.Read Then
user = dr("user") FormBeasiswa.Show() Me.Hide()
Else
msgError("Salah kombinasi username dan password") TxtUsername.Focus()
End If End Sub
Private Sub BtnKeluar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
Dim PS As String
If PS = vbYes Then End
ElseIf PS = vbNo Then Me.Show()
End If End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label16.Text = Format(Now, "dd / MM / yyyy") Label15.Text = Format(Now, "HH:mm:ss")
End Sub
Private Sub FrmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Start() End Sub
End Class
Kode Program Form Pilihan Beasiswa :
Public Class FormBeasiswa
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label16.Text = Format(Now, "dd / MM / yyyy") Label15.Text = Format(Now, "HH:mm:ss")
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Start() End Sub
Private Sub Btn_Input_PPA_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Input_PPA.Click
FrmUtama.Show() Me.Hide()
End Sub
Private Sub Btn_Input_BBM_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Input_BBM.Click
FrmUtama2.Show() Me.Hide()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim PS As String
PS = MessageBox.Show("Anda yakin ingin keluar ?", "EXIT", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If PS = vbYes Then End
Me.Show() End If
End Sub
End Class
Kode Program Form Halaman Utama Beasiswa PPA :
Public Class FrmUtama
Private Sub BtnAlternatif_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAlternatif.Click
Dim f As New FrmAlternatif f.ShowDialog()
End Sub
Private Sub FrmUtama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
sb1.Text = "User: " & user
sb2.Text = Format(Date.Now, "dd MMMM yyyy HH:mm:ss") End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
sb2.Text = Format(Date.Now, "dd MMMM yyyy HH:mm:ss") End Sub
Private Sub BtnRelasi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRelasi.Click
FrmRelAlternatif.ShowAsChild(Me) End Sub
Private Sub BtnHitung_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHitung.Click
FrmHitung.ShowAsChild(Me) End Sub
Private Sub BtnKriteria_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKriteria.Click
Dim f As New FrmKriteria f.ShowDialog()
End Sub
Private Sub BtnLapAlternatif_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLapAlternatif.Click
LapAlternatif.ShowAsChild(Me) End Sub
Private Sub BtnLapKriteria_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLapKriteria.Click
LapKriteria.ShowAsChild(Me) End Sub
Private Sub MnPassword_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub BtnCrips_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCrips.Click
Dim f As New FrmCrips f.ShowDialog()
End Sub
Private Sub BtnLapRangking_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLapRangking.Click
LapRangking.ShowAsChild(Me)
End Sub
Private Sub BtnLogout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLogout.Click
FormBeasiswa.Show() Me.Hide()
End Sub
Private Sub BtnPassword_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPassword.Click
Dim f As New FrmPassword f.ShowDialog()
End Sub
End Class
Kode Program Form Halaman Utama Beasiswa BBM :
Public Class FrmUtama2
Private Sub BtnLogout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLogout.Click
FormBeasiswa.Show() Me.Hide()
End Sub
Private Sub FrmUtama2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
sb1.Text = "User: " & user
sb2.Text = Format(Date.Now, "dd MMMM yyyy HH:mm:ss") End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
sb2.Text = Format(Date.Now, "dd MMMM yyyy HH:mm:ss") End Sub
Private Sub BtnAlternatif_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAlternatif.Click
f.ShowDialog() End Sub
Private Sub BtnKriteria_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKriteria.Click
Dim f As New FrmKriteria2 f.ShowDialog()
End Sub
Private Sub BtnCrips_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCrips.Click
Dim f As New FrmCrips2 f.ShowDialog()
End Sub
Private Sub BtnRelasi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRelasi.Click
Dim f As New FrmRelAlternatif2 f.ShowDialog()
End Sub
Private Sub BtnPassword_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPassword.Click
Dim f As New FrmPassword f.ShowDialog()
End Sub
Private Sub BtnHitung_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHitung.Click
Dim f As New FrmHitung2 f.ShowDialog()
End Sub
Private Sub BtnLapAlternatif_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLapAlternatif.Click
Dim f As New LapAlternatif2 f.ShowDialog()
End Sub
Private Sub BtnLapKriteria_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLapKriteria.Click
LapKriteria2.ShowAsChild(Me.MdiParent)
End Sub
Private Sub BtnLapRangking_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLapRangking.Click
Lap3.ShowAsChild(Me.MdiParent) End Sub
Kode Program Form Menu Alternatif PPA :
Public Class FrmAlternatif
Dim editState As Boolean = False
Private Sub isiGrid()
Dgv.DataSource = openDT("SELECT Kode_Alternatif, Nama_Alternatif, Keterangan, No_Rekening, Pekerjaan_OrangTua, No_Hp FROM tb_alternatif WHERE kode_alternatif LIKE @0 OR
nama_alternatif LIKE @0 OR keterangan ORDER BY kode_alternatif", "%" + TxtCari.Text + "%")
tampil() End Sub
Private Sub enbText(ByVal enb As Boolean) TxtKode.Enabled = enb
TxtNama.Enabled = enb
TxtKeterangan.Enabled = enb Txt_Rekening.Enabled = enb Txt_Pekerjaan.Enabled = enb Txt_Hp.Enabled = enb
End Sub
Private Sub enbBtn(ByVal add As Boolean, ByVal edit As Boolean, ByVal save As Boolean, ByVal cancel As Boolean, ByVal delete As Boolean)
BtnTambah.Enabled = add BtnUbah.Enabled = edit BtnSimpan.Enabled = save BtnBatal.Enabled = cancel BtnHapus.Enabled = delete End Sub
Private Sub FrmKaryawan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dgv.SetDefault() isiGrid()
End Sub Sub tampil()
enbBtn(True, True, False, False, True) enbText(False)
If Dgv.CurrentCell Is Nothing Then Exit Sub With Dgv.Rows(Dgv.CurrentCell.RowIndex)
TxtKode.Text = .Cells("kode_alternatif").Value TxtNama.Text = .Cells("nama_alternatif").Value TxtKeterangan.Text = .Cells("keterangan").Value Txt_Rekening.Text = .Cells("No_Rekening").Value Txt_Pekerjaan.Text =
.Cells("Pekerjaan_OrangTua").Value
Txt_Hp.Text = .Cells("No_Hp").Value End With
Private Sub txtCari_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
If e.KeyChar = Chr(13) Then isiGrid()
End If End Sub
Private Sub Dgv_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs)
tampil() End Sub
Private Sub BtnTambah_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTambah.Click
enbText(True)
TxtKode.Text = "" TxtNama.Text = ""
TxtKeterangan.Text = "" Txt_Rekening.Text = ""
Txt_Pekerjaan.Text = ""
Txt_Hp.Text = ""
enbBtn(False, False, True, True, False) End Sub
Private Sub BtnUbah_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
editState = True enbText(True)
TxtKode.Enabled = False
enbBtn(False, False, True, True, False) End Sub
Private Sub BtnSimpan_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click
Dim kode_exist As Boolean = openDT("SELECT * FROM
tb_alternatif WHERE kode_alternatif=@0", TxtKode.Text).Rows.Count > 0
Dim f0, f1, f2, f3, f4, f5 As String f0 = TxtKode.Text
f1 = TxtNama.Text
f2 = TxtKeterangan.Text f3 = Txt_Rekening.Text
f4 = Txt_Pekerjaan.Text
f5 = Txt_Hp.Text
If Not editState And kode_exist Then msgError("Kode sudah ada")
ElseIf TxtKode.Text = "" Or TxtNama.Text = "" Then msgError("Field bertanda * tidak boleh kosong") Else
If editState Then
execute("UPDATE tb_alternatif SET nama_alternatif=@0, keterangan=@1, No_Rekening=@2,
Pekerjaan_OrangTua=@3, No_Hp=@4 WHERE kode_alternatif=@5", f1, f2, f3, f4, f5, f0)
execute("INSERT INTO tb_alternatif
(kode_alternatif, nama_alternatif, keterangan, No_Rekening, Pekerjaan_OrangTua, No_Hp) VALUES (@0, @1, @2, @3, @4, @5)", f0, f1, f2, f3, f4, f5)
execute("INSERT INTO tb_rel_alternatif (kode_kriteria, kode_alternatif, kode_crips) SELECT kode_kriteria, @0, -1 FROM tb_kriteria", f0)
End If
msgInfo("Data tersimpan") isiGrid()
End If
End Sub
Private Sub BtnBatal_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click
isiGrid() End Sub
Private Sub BtnHapus_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
If msgAsk("Hapus data?") = DialogResult.Yes Then execute("DELETE FROM tb_alternatif WHERE kode_alternatif=@0", TxtKode.Text)
execute("DELETE FROM tb_rel_alternatif WHERE kode_alternatif=@0", TxtKode.Text)
msgInfo("Data terhapus") isiGrid()
End If End Sub
Private Sub BtnKeluar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
Me.Close() End Sub
Private Sub BtnCari_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCari.Click
isiGrid() End Sub
End Class
Kode Program Form Menu Alternatif BBM :
Public Class FrmAlternatif2
Dim editState As Boolean = False
Private Sub isiGrid()
Dgv.DataSource = openDT("SELECT NIM, Nama_Mahasiswa, Jenjang_Studi, No_Rekening, Pekerjaan_OrangTua, No_Hp FROM tb_alternatif2 WHERE nim LIKE @0 OR nama_mahasiswa LIKE @0 OR jenjang_studi ORDER BY nim", "%" + TxtCari.Text + "%")
Private Sub enbText(ByVal enb As Boolean) TxtKode.Enabled = enb
TxtNama.Enabled = enb
TxtKeterangan.Enabled = enb Txt_Rekening.Enabled = enb Txt_Pekerjaan.Enabled = enb Txt_Hp.Enabled = enb
End Sub
Private Sub enbBtn(ByVal add As Boolean, ByVal edit As Boolean, ByVal save As Boolean, ByVal cancel As Boolean, ByVal delete As Boolean)
BtnTambah.Enabled = add BtnUbah.Enabled = edit BtnSimpan.Enabled = save BtnBatal.Enabled = cancel BtnHapus.Enabled = delete End Sub
Sub tampil()
enbBtn(True, True, False, False, True) enbText(False)
If Dgv.CurrentCell Is Nothing Then Exit Sub With Dgv.Rows(Dgv.CurrentCell.RowIndex)
TxtKode.Text = .Cells("nim").Value
TxtNama.Text = .Cells("nama_mahasiswa").Value TxtKeterangan.Text = .Cells("jenjang_studi").Value Txt_Rekening.Text = .Cells("No_Rekening").Value
Txt_Pekerjaan.Text =
.Cells("Pekerjaan_OrangTua").Value
Txt_Hp.Text = .Cells("No_Hp").Value End With
editState = False End Sub
Private Sub FrmAlternatif2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dgv.SetDefault() isiGrid()
End Sub
Private Sub Dgv_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs)
tampil() End Sub
Private Sub TxtCari_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
If e.KeyChar = Chr(13) Then isiGrid()
End If End Sub
Private Sub BtnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTambah.Click
enbText(True)
TxtKode.Text = "" TxtNama.Text = ""
TxtKeterangan.Text = "" Txt_Rekening.Text = ""
Txt_Hp.Text = ""
enbBtn(False, False, True, True, False) End Sub
Private Sub BtnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
editState = True enbText(True)
TxtKode.Enabled = False
enbBtn(False, False, True, True, False) End Sub
Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click
Dim kode_exist As Boolean = openDT("SELECT * FROM tb_alternatif2 WHERE nim=@0", TxtKode.Text).Rows.Count > 0
Dim f0, f1, f2, f3, f4, f5 As String f0 = TxtKode.Text
f1 = TxtNama.Text
f2 = TxtKeterangan.Text f3 = Txt_Rekening.Text
f4 = Txt_Pekerjaan.Text
f5 = Txt_Hp.Text
If Not editState And kode_exist Then msgError("Kode sudah ada")
ElseIf TxtKode.Text = "" Or TxtNama.Text = "" Then msgError("Field bertanda * tidak boleh kosong") Else
If editState Then
execute("UPDATE tb_alternatif2 SET nama_mahasiswa=@0, jenjang_studi=@1, No_Rekening=@2, Pekerjaan_OrangTua=@3, No_Hp=@4 WHERE nim=@4", f1, f2, f3, f4, f5, f0)
Else
execute("INSERT INTO tb_alternatif2 (nim, nama_mahasiswa, jenjang_studi, No_Rekening, Pekerjaan_OrangTua, No_Hp) VALUES (@0, @1, @2, @3, @4, @5)", f0, f1, f2, f3, f4, f5)
execute("INSERT INTO tb_rel_alternatif2 (kode_kriteria, nim, kode_crips) SELECT kode_kriteria, @0, -1 FROM tb_kriteria", f0)
End If
msgInfo("Data tersimpan") isiGrid()
End If End Sub
Private Sub BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click
Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
If msgAsk("Hapus data?") = DialogResult.Yes Then
execute("DELETE FROM tb_alternatif2 WHERE nim=@0", TxtKode.Text)
execute("DELETE FROM tb_rel_alternatif2 WHERE nim=@0", TxtKode.Text)
msgInfo("Data terhapus") isiGrid()
End If End Sub
Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
Me.Close() End Sub
Private Sub BtnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCari.Click
isiGrid() End Sub
End Class
Kode Program Form Menu Crips PPA :
Public Class FrmCrips
Dim editState As Boolean
Private Sub isiGrid()
Dgv.DataSource = openDT("SELECT k.Kode_Kriteria, k.Nama_Kriteria, c.Kode_Crips, c.Nama_Crips, c.Nilai " &
" FROM tb_crips c INNER JOIN tb_kriteria k ON k.kode_kriteria=c.kode_kriteria " &
" WHERE k.nama_kriteria LIKE '%" + TxtCari.Text + "%' OR c.nama_crips LIKE '%" + TxtCari.Text + "%' " &
" ORDER BY k.kode_kriteria, c.kode_crips")
Dgv.Columns("kode_kriteria").Visible = False Dgv.Columns("kode_crips").Visible = False End Sub
Sub tampil()
enbBtn(True, True, True, True, True, True, False, False, True)
enbText(False)
If Dgv.CurrentCell Is Nothing Then Exit Sub
With Dgv.CurrentRow
TxtKriteria.SelectedValue = .Cells("kode_kriteria").Value
TxtKode.Text = .Cells("kode_crips").Value TxtNama.Text = .Cells("nama_crips").Value TxtNilai.Text = .Cells("nilai").Value End With
Private Sub enbText(ByVal enb As Boolean) TxtKode.Enabled = False
TxtKriteria.Enabled = enb TxtNama.Enabled = enb TxtNilai.Enabled = enb End Sub
Private Sub enbBtn(ByVal First As Boolean, ByVal Prev As
Boolean, ByVal Nxt As Boolean, ByVal Last As Boolean, ByVal add As Boolean, ByVal edit As Boolean, ByVal save As Boolean, ByVal
cancel As Boolean, ByVal del As Boolean) BtnFirst.Enabled = First
BtnPrev.Enabled = Prev BtnNext.Enabled = Nxt BtnLast.Enabled = Last
BtnTambah.Enabled = add BtnUbah.Enabled = edit BtnSimpan.Enabled = save BtnBatal.Enabled = cancel BtnHapus.Enabled = del End Sub
Private Sub awal()
TxtKriteria.setDS(openDT("SELECT kode_kriteria, nama_kriteria AS nama_kriteria FROM tb_kriteria ORDER BY kode_kriteria"))
isiGrid() tampil()
editState = False End Sub
Private Sub FrmKaryawan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dgv.SetDefault() awal()
End Sub
Private Sub btnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTambah.Click
TxtKode.Text = "Auto" TxtNama.Text = "" TxtNilai.Text = ""
enbBtn(False, False, False, False, False, False, True, True, False)
enbText(True) End Sub
Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click
awal() End Sub
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCari.Click
isiGrid() End Sub
Private Sub txtCari_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtCari.KeyPress
If e.KeyChar = CChar(ChrW(13)) Then isiGrid()
End If End Sub
Private Sub btnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
editState = True enbText(True)
enbBtn(False, False, False, False, False, False, True, True, False)
TxtKriteria.Enabled = False TxtKode.Enabled = False TxtNama.Focus()
End Sub
Private Sub btnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
If Not Dgv.CurrentCell Is Nothing Then If msgAsk("Hapus Data?") = vbYes Then
execute("DELETE FROM tb_crips WHERE kode_crips=@0", TxtKode.Text)
msgInfo("Data terhapus") awal()
End If End If End Sub
Private Sub BtnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFirst.Click
Dgv.SelectFirst() tampil()
End Sub
Private Sub BtnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPrev.Click
Dgv.SelectPrevious() tampil()
End Sub
Private Sub BtnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNext.Click
Dgv.SelectNext() tampil()
End Sub
Private Sub BtnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLast.Click
Dgv.SelectLast() tampil()
Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click
Dim kode_exist As Boolean = openDT("SELECT * FROM tb_crips WHERE kode_crips=@0", TxtKode.Text).Rows.Count > 0
If Not editState And kode_exist Then msgError("Kode sudah ada")
ElseIf TxtKriteria.Text = "" Or TxtNama.Text = "" Or TxtNilai.Text = "" Then
msgError("Field bertanda * tidak boleh kosong") Else
Dim f0, f1, f2 As String f0 = TxtKode.Text
f1 = TxtNama.Text
f2 = TxtKriteria.SelectedValue
Dim f3 As Single = Val(TxtNilai.Text)
If editState Then
execute("UPDATE tb_crips SET nama_crips=@0, kode_kriteria=@1, nilai=@2 WHERE kode_crips=@3", f1, f2, f3, f0)
Else
execute("INSERT INTO tb_crips (kode_crips, nama_crips, kode_kriteria, nilai) VALUES (@0, @1, @2, @3)", f0, f1, f2, f3)
End If
msgInfo("Data tersimpan") awal()
End If End Sub
Private Sub dgv_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Dgv.SelectionChanged
tampil() End Sub
End Class
Kode Program Form Menu Crips BBM :
Public Class FrmCrips2
Dim editState As Boolean
Private Sub isiGrid()
Dgv.DataSource = openDT("SELECT k.Kode_Kriteria, k.Nama_Kriteria, c.Kode_Crips, c.Nama_Crips, c.Nilai " &
" FROM tb_crips2 c INNER JOIN tb_kriteria2 k ON k.kode_kriteria=c.kode_kriteria " &
" WHERE k.nama_kriteria LIKE '%" + TxtCari.Text + "%' OR c.nama_crips LIKE '%" + TxtCari.Text + "%' " &
Dgv.Columns("kode_kriteria").Visible = False Dgv.Columns("kode_crips").Visible = False End Sub
Sub tampil()
enbBtn(True, True, True, True, True, True, False, False, True)
enbText(False)
If Dgv.CurrentCell Is Nothing Then Exit Sub
With Dgv.CurrentRow
TxtKriteria.SelectedValue = .Cells("kode_kriteria").Value
TxtKode.Text = .Cells("kode_crips").Value TxtNama.Text = .Cells("nama_crips").Value TxtNilai.Text = .Cells("nilai").Value End With
End Sub
Private Sub enbText(ByVal enb As Boolean) TxtKode.Enabled = False
TxtKriteria.Enabled = enb TxtNama.Enabled = enb TxtNilai.Enabled = enb End Sub
Private Sub enbBtn(ByVal First As Boolean, ByVal Prev As
Boolean, ByVal Nxt As Boolean, ByVal Last As Boolean, ByVal add As Boolean, ByVal edit As Boolean, ByVal save As Boolean, ByVal
cancel As Boolean, ByVal del As Boolean) BtnFirst.Enabled = First
BtnPrev.Enabled = Prev BtnNext.Enabled = Nxt BtnLast.Enabled = Last
BtnTambah.Enabled = add BtnUbah.Enabled = edit BtnSimpan.Enabled = save BtnBatal.Enabled = cancel BtnHapus.Enabled = del End Sub
Private Sub awal()
TxtKriteria.setDS(openDT("SELECT kode_kriteria, nama_kriteria AS nama_kriteria FROM tb_kriteria2 ORDER BY kode_kriteria"))
isiGrid() tampil()
editState = False End Sub
Private Sub FrmCrips2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dgv.SetDefault() awal()
Private Sub BtnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTambah.Click
TxtKode.Text = "Auto" TxtNama.Text = "" TxtNilai.Text = ""
enbBtn(False, False, False, False, False, False, True, True, False)
enbText(True) End Sub
Private Sub BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click
awal() End Sub
Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
Me.Close() End Sub
Private Sub BtnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCari.Click
isiGrid() End Sub
Private Sub txtCari_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtCari.KeyPress
If e.KeyChar = CChar(ChrW(13)) Then isiGrid()
End If End Sub
Private Sub BtnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
editState = True enbText(True)
enbBtn(False, False, False, False, False, False, True, True, False)
TxtKriteria.Enabled = False TxtKode.Enabled = False TxtNama.Focus()
End Sub
Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
If Not Dgv.CurrentCell Is Nothing Then If msgAsk("Hapus Data?") = vbYes Then
execute("DELETE FROM tb_crips2 WHERE kode_crips=@0", TxtKode.Text)
msgInfo("Data terhapus") awal()
End If End If End Sub
Private Sub BtnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFirst.Click
End Sub
Private Sub BtnPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPrev.Click
Dgv.SelectPrevious() tampil()
End Sub
Private Sub BtnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNext.Click
Dgv.SelectNext() tampil()
End Sub
Private Sub BtnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLast.Click
Dgv.SelectLast() tampil()
End Sub
Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click
Dim kode_exist As Boolean = openDT("SELECT * FROM tb_crips2 WHERE kode_crips=@0", TxtKode.Text).Rows.Count > 0
If Not editState And kode_exist Then msgError("Kode sudah ada")
ElseIf TxtKriteria.Text = "" Or TxtNama.Text = "" Or TxtNilai.Text = "" Then
msgError("Field bertanda * tidak boleh kosong") Else
Dim f0, f1, f2 As String f0 = TxtKode.Text
f1 = TxtNama.Text
f2 = TxtKriteria.SelectedValue
Dim f3 As Single = Val(TxtNilai.Text)
If editState Then
execute("UPDATE tb_crips2 SET nama_crips=@0, kode_kriteria=@1, nilai=@2 WHERE kode_crips=@3", f1, f2, f3, f0)
Else
execute("INSERT INTO tb_crips2 (kode_crips, nama_crips, kode_kriteria, nilai) VALUES (@0, @1, @2, @3)", f0, f1, f2, f3)
End If
msgInfo("Data tersimpan") awal()
End If
End Sub
Private Sub dgv_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Dgv.SelectionChanged
Kode Program Form Hitung PPA :
Public Class FrmHitung
Private Sub FrmHitung_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dt As DataTable = openDT("SELECT * FROM
tb_rel_alternatif WHERE kode_crips NOT IN (SELECT kode_crips FROM tb_crips)")
If dt.Rows.Count > 0 Then
msgError("Anda belum mengatur nilai untuk setiap alternatif, silahkan atur di menu Nilai Bobot")
BtnCetak.Enabled = False Else
Dgv1.AllowUserToAddRows = False Dgv1.AllowUserToDeleteRows = False Dgv1.ReadOnly = True
Dgv1.AutoGenerateColumns = False awal()
End If End Sub
Sub awal()
Dgv1.Columns.Clear() Dgv1.Rows.Clear()
Dgv1.Columns.Add("kode_alternatif", "Kode") Dgv1.Columns("kode_alternatif").ReadOnly = True Dgv1.Columns.Add("nama_alternatif", "Nama") Dgv1.Columns("nama_alternatif").ReadOnly = True
dr = openDR("SELECT * FROM tb_alternatif ORDER BY kode_alternatif")
While dr.Read()
Dgv1.Rows.Add(dr(0), dr(1)) End While
dr = openDR("SELECT kode_kriteria, atribut FROM tb_kriteria ORDER BY kode_kriteria")
While dr.Read()
Dgv1.Columns.Add(dr(0), dr(0))
Dgv1.Columns(dr(0).ToString()).ToolTipText = dr(1).ToString()
End While
For a = 0 To Dgv1.Rows.Count - 1
dr = openDR("SELECT c.nama_crips FROM tb_rel_alternatif r " &
" LEFT JOIN tb_crips c ON c.kode_crips = r.kode_crips " &
" WHERE kode_alternatif='" &
Dgv1.Rows(a).Cells(0).Value & "' ORDER BY r.kode_kriteria") Dim b As Integer = 2
While dr.Read
b = b + 1 End While Next
Dgv1.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells BtnCetak.Enabled = False
End Sub
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
Me.Close() End Sub
Function get_col_max(ByVal dgv As DataGridView, ByVal col_name As String) As Double
Dim max As Double = 0
If dgv.Rows.Count > 0 Then max = Val(dgv.Rows(0).Cells(col_name).Value)
For Each row As DataGridViewRow In dgv.Rows If Val(row.Cells(col_name).Value) > max Then
max = Val(row.Cells(col_name).Value) End If
Next
get_col_max = max End Function
Function get_col_min(ByVal dgv As DataGridView, ByVal col_name As String) As Double
Dim min As Double = 0
If dgv.Rows.Count > 0 Then min = Val(dgv.Rows(0).Cells(col_name).Value)
For Each row As DataGridViewRow In dgv.Rows If Val(row.Cells(col_name).Value) < min Then
min = Val(row.Cells(col_name).Value) End If
Next
get_col_min = min End Function
Private Sub btnCetak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCetak.Click
LapRangking.ShowAsChild(Me.MdiParent) End Sub
Private Sub BtnHitung_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHitung.Click
Dim a, b As Integer
awal()
Dgv1.copyTo(Dgv2)
For a = 0 To Dgv2.Rows.Count - 1
dr = openDR("SELECT c.nilai FROM tb_rel_alternatif r " &
" LEFT JOIN tb_crips c ON c.kode_crips = r.kode_crips " &
" WHERE kode_alternatif='" &
b = 2
While dr.Read
Dgv2.Rows(a).Cells(b).Value = dr(0) b = b + 1
End While Next
Dgv2.copyTo(Dgv3)
For Each row As DataGridViewRow In Dgv2.Rows For b = 2 To Dgv2.Columns.Count - 1
Dim v = row.Cells(b).Value
If Dgv2.Columns(b).ToolTipText = "benefit" Then Dgv3.Rows(row.Index).Cells(b).Value = v / get_col_max(Dgv2, Dgv2.Columns(b).Name)
Else
Dgv3.Rows(row.Index).Cells(b).Value = get_col_min(Dgv2, Dgv2.Columns(b).Name) / v
End If Next
Next
dr = openDR("SELECT kode_kriteria, bobot FROM tb_kriteria ORDER BY kode_kriteria")
While dr.Read()
Dgv3.Columns(dr(0).ToString()).ToolTipText = dr(1).ToString()
End While
Dgv3.copyTo(Dgv4)
For Each row As DataGridViewRow In Dgv3.Rows For b = 2 To Dgv3.Columns.Count - 1
Dim v = row.Cells(b).Value
Dgv4.Rows(row.Index).Cells(b).Value = v * Val(Dgv3.Columns(b).ToolTipText)
Next Next
Dgv4.Columns.Add("total", "Total")
For Each row As DataGridViewRow In Dgv4.Rows For b = 2 To Dgv2.Columns.Count - 1
row.Cells("total").Value = row.Cells("total").Value + row.Cells(b).Value
Next Next
Dgv4.copyTo(Dgv5)
Dgv5.Sort(Dgv5.Columns("total"),
System.ComponentModel.ListSortDirection.Descending) For Each row As DataGridViewRow In Dgv5.Rows
execute("UPDATE tb_alternatif SET total=@0, rank=@1 WHERE kode_alternatif=@2", row.Cells("total").Value, row.Index + 1, row.Cells("kode_alternatif").Value)
Next
TabControl1.SelectedTab = TabRangking BtnCetak.Enabled = True
End Sub
Kode Program Form Menu Hitung BBM :
Public Class FrmHitung2
Private Sub FrmHitung2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dt As DataTable = openDT("SELECT * FROM
tb_rel_alternatif WHERE kode_crips NOT IN (SELECT kode_crips FROM tb_crips)")
If dt.Rows.Count > 0 Then
msgError("Anda belum mengatur nilai untuk setiap alternatif, silahkan atur di menu Nilai Bobot")
BtnCetak.Enabled = False Else
Dgv1.AllowUserToAddRows = False Dgv1.AllowUserToDeleteRows = False Dgv1.ReadOnly = True
Dgv1.AutoGenerateColumns = False awal()
End If End Sub Sub awal()
Dgv1.Columns.Clear() Dgv1.Rows.Clear()
Dgv1.Columns.Add("kode_alternatif", "Kode") Dgv1.Columns("kode_alternatif").ReadOnly = True Dgv1.Columns.Add("nama_alternatif", "Nama") Dgv1.Columns("nama_alternatif").ReadOnly = True
dr = openDR("SELECT * FROM tb_alternatif ORDER BY kode_alternatif")
While dr.Read()
Dgv1.Rows.Add(dr(0), dr(1)) End While
dr = openDR("SELECT kode_kriteria, atribut FROM tb_kriteria ORDER BY kode_kriteria")
While dr.Read()
Dgv1.Columns.Add(dr(0), dr(0))
Dgv1.Columns(dr(0).ToString()).ToolTipText = dr(1).ToString()
End While
For a = 0 To Dgv1.Rows.Count - 1
dr = openDR("SELECT c.nama_crips FROM tb_rel_alternatif r " &
" LEFT JOIN tb_crips c ON c.kode_crips = r.kode_crips " &
" WHERE kode_alternatif='" &
Dgv1.Rows(a).Cells(0).Value & "' ORDER BY r.kode_kriteria") Dim b As Integer = 2
While dr.Read
Dgv1.Rows(a).Cells(b).Value = dr(0) b = b + 1
Next
Dgv1.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells BtnCetak.Enabled = False
End Sub
Function get_col_max(ByVal dgv As DataGridView, ByVal col_name As String) As Double
Dim max As Double = 0
If dgv.Rows.Count > 0 Then max = Val(dgv.Rows(0).Cells(col_name).Value)
For Each row As DataGridViewRow In dgv.Rows If Val(row.Cells(col_name).Value) > max Then
max = Val(row.Cells(col_name).Value) End If
Next
get_col_max = max End Function
Function get_col_min(ByVal dgv As DataGridView, ByVal col_name As String) As Double
Dim min As Double = 0
If dgv.Rows.Count > 0 Then min = Val(dgv.Rows(0).Cells(col_name).Value)
For Each row As DataGridViewRow In dgv.Rows If Val(row.Cells(col_name).Value) < min Then
min = Val(row.Cells(col_name).Value) End If
Next
get_col_min = min End Function
Private Sub BtnHitung_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHitung.Click
Dim a, b As Integer
awal()
Dgv1.copyTo(Dgv2)
For a = 0 To Dgv2.Rows.Count - 1
dr = openDR("SELECT c.nilai FROM tb_rel_alternatif r " &
" LEFT JOIN tb_crips c ON c.kode_crips = r.kode_crips " &
" WHERE kode_alternatif ='" &
Dgv2.Rows(a).Cells(0).Value & "' ORDER BY r.kode_kriteria") b = 2
While dr.Read
Dgv2.Rows(a).Cells(b).Value = dr(0) b = b + 1
End While Next
Dgv2.copyTo(Dgv3)
For Each row As DataGridViewRow In Dgv2.Rows For b = 2 To Dgv2.Columns.Count - 1
Dim v = row.Cells(b).Value
If Dgv2.Columns(b).ToolTipText = "benefit" Then Dgv3.Rows(row.Index).Cells(b).Value = v / get_col_max(Dgv2, Dgv2.Columns(b).Name)
Dgv3.Rows(row.Index).Cells(b).Value = get_col_min(Dgv2, Dgv2.Columns(b).Name) / v
End If Next
Next
dr = openDR("SELECT kode_kriteria, bobot FROM tb_kriteria ORDER BY kode_kriteria")
While dr.Read()
Dgv3.Columns(dr(0).ToString()).ToolTipText = dr(1).ToString()
End While
Dgv3.copyTo(Dgv4)
For Each row As DataGridViewRow In Dgv3.Rows For b = 2 To Dgv3.Columns.Count - 1
Dim v = row.Cells(b).Value
Dgv4.Rows(row.Index).Cells(b).Value = v * Val(Dgv3.Columns(b).ToolTipText)
Next Next
Dgv4.Columns.Add("total", "Total")
For Each row As DataGridViewRow In Dgv4.Rows For b = 2 To Dgv2.Columns.Count - 1
row.Cells("total").Value = row.Cells("total").Value + row.Cells(b).Value
Next Next
Dgv4.copyTo(Dgv5)
Dgv5.Sort(Dgv5.Columns("total"),
System.ComponentModel.ListSortDirection.Descending) For Each row As DataGridViewRow In Dgv5.Rows
execute("UPDATE tb_alternatif SET total=@0, rank=@1 WHERE kode_alternatif=@2", row.Cells("total").Value, row.Index + 1, row.Cells("kode_alternatif").Value)
Next
TabControl1.SelectedTab = TabRangking BtnCetak.Enabled = True
End Sub
Private Sub BtnCetak_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCetak.Click
LapRangking.ShowAsChild(Me.MdiParent) End Sub
Private Sub BtnKeluar_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
Me.Close() End Sub
End Class
Kode Program Form Menu Kriteria PPA :
Public Class FrmKriteria
Private Sub isiGrid()
Dgv.DataSource = openDT("SELECT Kode_Kriteria, Nama_Kriteria, Atribut, Bobot FROM tb_kriteria k " &
"WHERE kode_kriteria LIKE @0 OR nama_kriteria LIKE @0 OR atribut LIKE @0 ORDER BY kode_kriteria", "%" + TxtCari.Text + "%%" + TxtCari.Text + "%")
tampil() End Sub
Sub tampil()
enbBtn(True, True, False, False, True) enbText(False)
If Dgv.CurrentCell Is Nothing Then Exit Sub With Dgv.CurrentRow
TxtKode.Text = .Cells("kode_kriteria").Value TxtNama.Text = .Cells("nama_kriteria").Value If .Cells("atribut").Value = "benefit" Then
RbBenefit.Checked = True Else
RbCost.Checked = True End If
TxtBobot.Text = .Cells("bobot").Value End With
editState = False
End Sub
Private Sub enbText(ByVal enb As Boolean) TxtKode.Enabled = enb
TxtNama.Enabled = enb RbBenefit.Enabled = enb RbCost.Enabled = enb TxtBobot.Enabled = enb End Sub
Private Sub enbBtn(ByVal add As Boolean, ByVal edit As Boolean, ByVal save As Boolean, ByVal cancel As Boolean, ByVal delete As Boolean)
BtnTambah.Enabled = add BtnUbah.Enabled = edit BtnSimpan.Enabled = save BtnBatal.Enabled = cancel BtnHapus.Enabled = delete End Sub
Private Sub FrmKaryawan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dgv.SetDefault() isiGrid()
End Sub
Private Sub btnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTambah.Click
TxtKode.Text = "" TxtNama.Text = ""
RbBenefit.Checked = True TxtBobot.Text = ""
enbBtn(False, False, True, True, False) End Sub
Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click
isiGrid() End Sub
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
Me.Close() End Sub
Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCari.Click
isiGrid() End Sub
Private Sub txtCari_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtCari.KeyPress
If e.KeyChar = Chr(13) Then isiGrid()
End If End Sub
Private Sub btnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
editState = True enbText(True)
TxtKode.Enabled = False
enbBtn(False, False, True, True, False)
End Sub
Private Sub btnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
If msgAsk("Hapus data?") = DialogResult.Yes Then execute("DELETE FROM tb_kriteria WHERE
kode_kriteria=@0", TxtKode.Text)
execute("DELETE FROM tb_rel_alternatif WHERE kode_kriteria=@0", TxtKode.Text)
msgInfo("Data terhapus") isiGrid()
End If End Sub
Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click
Dim kode_exist As Boolean = openDT("SELECT * FROM
tb_kriteria WHERE kode_kriteria=@0", TxtKode.Text).Rows.Count > 0
ElseIf TxtNama.Text = "" Or TxtBobot.Text = "" Then msgError("Field bertanda * tidak boleh kosong") Else
Dim f0, f1, f2 As String f0 = TxtKode.Text
f1 = TxtNama.Text
If RbBenefit.Checked Then f2 = "benefit"
Else
f2 = "cost" End If
Dim f3 As Single = Val(TxtBobot.Text)
If editState Then
execute("UPDATE tb_kriteria SET nama_kriteria=@0, atribut=@1, bobot=@2 WHERE kode_kriteria=@3", f1, f2, f3, f0)
Else
execute("INSERT INTO tb_kriteria (kode_kriteria, nama_kriteria, atribut, bobot) VALUES (@0, @1, @2, @3)", f0, f1, f2, f3)
execute("INSERT INTO tb_rel_alternatif (kode_alternatif, kode_kriteria, kode_crips) SELECT kode_alternatif, @0, '-1' FROM tb_alternatif", f0)
End If
msgInfo("Data tersimpan") isiGrid()
End If End Sub
Private Sub Dgv_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Dgv.SelectionChanged
tampil() End Sub End Class
Kode Program Form Menu Kriteria BBM :
Public Class FrmKriteria2
Dim editState As Boolean = False
Private Sub isiGrid()
Dgv.DataSource = openDT("SELECT Kode_Kriteria, Nama_Kriteria, Atribut, Bobot FROM tb_kriteria2 k " &
"WHERE kode_kriteria LIKE @0 OR nama_kriteria LIKE @0 OR atribut LIKE @0 ORDER BY kode_kriteria", "%" + TxtCari.Text + "%%" + TxtCari.Text + "%")
tampil() End Sub Sub tampil()
enbBtn(True, True, False, False, True) enbText(False)
TxtKode.Text = .Cells("kode_kriteria").Value TxtNama.Text = .Cells("nama_kriteria").Value If .Cells("atribut").Value = "benefit" Then
RbBenefit.Checked = True Else
RbCost.Checked = True End If
TxtBobot.Text = .Cells("bobot").Value End With
editState = False
End Sub
Private Sub enbText(ByVal enb As Boolean) TxtKode.Enabled = enb
TxtNama.Enabled = enb RbBenefit.Enabled = enb RbCost.Enabled = enb TxtBobot.Enabled = enb End Sub
Private Sub enbBtn(ByVal add As Boolean, ByVal edit As Boolean, ByVal save As Boolean, ByVal cancel As Boolean, ByVal delete As Boolean)
BtnTambah.Enabled = add BtnUbah.Enabled = edit BtnSimpan.Enabled = save BtnBatal.Enabled = cancel BtnHapus.Enabled = delete End Sub
Private Sub FrmKriteria2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dgv.SetDefault() isiGrid()
End Sub
Private Sub BtnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTambah.Click
enbText(True)
TxtKode.Text = "" TxtNama.Text = ""
RbBenefit.Checked = True TxtBobot.Text = ""
enbBtn(False, False, True, True, False) End Sub
Private Sub BtnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
editState = True enbText(True)
TxtKode.Enabled = False
enbBtn(False, False, True, True, False) End Sub
Dim kode_exist As Boolean = openDT("SELECT * FROM
tb_kriteria2 WHERE kode_kriteria=@0", TxtKode.Text).Rows.Count > 0
If Not editState And kode_exist Then msgError("Kode sudah ada")
ElseIf TxtNama.Text = "" Or TxtBobot.Text = "" Then msgError("Field bertanda * tidak boleh kosong") Else
Dim f0, f1, f2 As String f0 = TxtKode.Text
f1 = TxtNama.Text
If RbBenefit.Checked Then f2 = "benefit"
Else
f2 = "cost" End If
Dim f3 As Single = Val(TxtBobot.Text)
If editState Then
execute("UPDATE tb_kriteria2 SET nama_kriteria=@0, atribut=@1, bobot=@2 WHERE kode_kriteria=@3", f1, f2, f3, f0)
Else
execute("INSERT INTO tb_kriteria2 (kode_kriteria, nama_kriteria, atribut, bobot) VALUES (@0, @1, @2, @3)", f0, f1, f2, f3)
execute("INSERT INTO tb_rel_alternatif2 (nim, kode_kriteria, kode_crips) SELECT nim, @0, '-1' FROM
tb_alternatif2", f0) End If
msgInfo("Data tersimpan") isiGrid()
End If End Sub
Private Sub BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click
isiGrid() End Sub
Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
If msgAsk("Hapus data?") = DialogResult.Yes Then execute("DELETE FROM tb_kriteria2 WHERE kode_kriteria=@0", TxtKode.Text)
execute("DELETE FROM tb_rel_alternatif2 WHERE kode_kriteria=@0", TxtKode.Text)
msgInfo("Data terhapus") isiGrid()
End If End Sub
Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
Me.Close() End Sub
Private Sub BtnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCari.Click
End Sub
Private Sub txtCari_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtCari.KeyPress
If e.KeyChar = Chr(13) Then isiGrid()
End If End Sub End Class
Kode Program Form Menu Ubah Password :
Public Class FrmPassword
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKeluar.Click
Me.Close() End Sub
Private Sub BtnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
dr = openDR("SELECT * FROM tb_admin WHERE user='" & user & "' AND pass='" & TxtPass1.Text & "'")
If Not dr.Read Then
msgError("Password lama salah!")
ElseIf TxtPass2.Text <> TxtPass3.Text Then
msgError("Password baru dan konfirmasi passwrod baru tidak sama")
ElseIf TxtPass2.Text.Length < 4 Then
msgError("Password minimal 4 karakter") Else
execute("UPDATE tb_admin SET pass='" & TxtPass2.Text & "' WHERE user='" & user & "'")
msgInfo("Password berhasil diubah!") Me.Close()
End If End Sub
End Class
Kode Program Form Menu Relasi Alternatif:
Public Class FrmRelAlternatif Private Sub isiGrid()
Dgv.Columns.Clear()
Dgv.Columns.Add("kd_peserta", "Kode") Dgv.Columns(0).ReadOnly = True
Dgv.Columns.Add("nama_peserta", "Nama") Dgv.Columns(1).ReadOnly = True
dr = openDR("SELECT kode_alternatif, nama_alternatif FROM tb_alternatif WHERE kode_alternatif LIKE '%" & TxtCari.Text & "%' OR nama_alternatif LIKE '%" & TxtCari.Text & "%' ORDER BY
While dr.Read()
Dgv.Rows.Add(dr(0), dr(1)) End While
Dim kriteria As DataTable = openDT("SELECT kode_kriteria, nama_kriteria FROM tb_kriteria ORDER BY kode_kriteria")
For Each row As DataRow In kriteria.Rows
Dim col As New DataGridViewComboBoxColumn() col.Name = row(0).ToString()
col.HeaderText = row(1).ToString()
col.DataSource = openDT("SELECT kode_crips, nama_crips FROM tb_crips WHERE kode_kriteria=@0", row(0))
col.ValueMember = "kode_crips" col.DisplayMember = "nama_crips" Dgv.Columns.Add(col)
Next
For Each row As DataGridViewRow In Dgv.Rows
dr = openDR("SELECT kode_crips, kode_kriteria FROM tb_rel_alternatif r WHERE kode_alternatif=@0 ORDER BY
r.kode_kriteria", row.Cells(0).Value) Dim b As Integer = 2 While dr.Read
Dim cel As New DataGridViewComboBoxCell() cel = row.Cells(dr("kode_kriteria")) setComboValue(cel, dr(0))
b = b + 1 End While Next
Dgv.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells
End Sub
Sub setComboValue(ByRef cell As DataGridViewComboBoxCell, ByVal newValue As Object)
Dim dt As DataTable = cell.DataSource For Each item As DataRow In dt.Rows
If newValue = item(0) Then cell.Value = newValue Return
End If Next
End Sub
Private Sub awal()
Dgv.AllowUserToAddRows = False Dgv.AllowUserToDeleteRows = False isiGrid()
End Sub
Private Sub FrmKaryawan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
awal() End Sub
Private Sub btnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
End Sub
Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCari.Click
isiGrid() End Sub
Private Sub txtCari_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtCari.KeyPress
If e.KeyChar = CChar(ChrW(13)) Then isiGrid()
End If End Sub
Private Sub btnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
Dim b As Integer
For Each row As DataGridViewRow In Dgv.Rows For b = 2 To Dgv.Columns.Count - 1
execute("UPDATE tb_rel_alternatif SET
kode_crips=@0 WHERE kode_alternatif=@1 AND kode_kriteria=@2", row.Cells(b).Value, row.Cells(0).Value, Dgv.Columns(b).Name)
Next Next
msgInfo("Data tersimpan") awal()
End Sub End Class
Kode Program Form Laporan Alternatif:
Public Class LapAlternatif Public sql As String = ""
Private Sub CrystalReportViewer1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
CrystalReportViewer1.Load
If sql = "" Then sql = "SELECT * FROM tb_alternatif ORDER BY kode_alternatif"
Me.RptAlternatif1.SetDataSource(openDT(sql)) CrystalReportViewer1.RefreshReport()
End Sub
End Class
Kode Program Form Laporan Kriteria :
Public Class LapKriteria Public sql As String = ""
Private Sub CrystalReportViewer1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
If sql = "" Then sql = "SELECT * FROM tb_kriteria k INNER JOIN tb_crips c ON c.kode_kriteria=k.kode_kriteria ORDER BY
k.kode_kriteria, kode_crips"
Rpt.SetDataSource(openDT(sql))
CrystalReportViewer1.RefreshReport() End Sub
End Class
Kode Program Form Laporan Rangking :
Public Class LapRangking Public sql As String = ""
Private Sub CrystalReportViewer1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
CrystalReportViewer1.Load
If sql = "" Then sql = "SELECT * FROM tb_alternatif ORDER BY Total DESC"
Me.RptRangking1.SetDataSource(openDT(sql)) CrystalReportViewer1.RefreshReport()
End Sub
End Class
Kode Program Modulo Mysql :
Imports MySql.Data.MySqlClient Imports vb = Microsoft.VisualBasic Imports System.Globalization
Module ModMySQL
Private conn As New MySqlConnection Private cmd As MySqlCommand
Private da As MySqlDataAdapter Private ds As New DataSet Public dr As MySqlDataReader Public user, level As String
Private Sub connect() Try
If conn.State = ConnectionState.Open Then Exit Sub conn = New
MySqlConnection("SERVER=localhost;UID=root;PASSWORD=;DATABASE=db_s pk_saw")
conn.Open()
Application.CurrentCulture = New CultureInfo("en-US") Catch ex As Exception
msgError("ERROR: " & ex.Message) End Try
Public Function getConnection() As MySqlConnection connect()
Return conn End Function
Public Function openDT(ByVal sql As String, ByVal ParamArray parameters() As Object) As DataTable
Try
closeDR()
ds.Tables.Clear()
cmd = New MySqlCommand(sql, getConnection()) SetParameter(cmd, parameters)
da = New MySqlDataAdapter(cmd) da.Fill(ds)
Return ds.Tables(0) Catch ex As Exception
msgError("ERROR: " & ex.Message & vbCrLf & sql) Return Nothing
End Try End Function
Public Function openDR(ByVal sql As String, ByVal ParamArray parameters() As Object) As MySqlDataReader
Try
closeDR()
cmd = New MySqlCommand(sql, getConnection()) SetParameter(cmd, parameters)
Return cmd.ExecuteReader() Catch ex As Exception
msgError("ERROR: " & ex.Message & vbCrLf & sql) Return Nothing
End Try End Function
Private Sub closeDR() Try
dr.Close()
Catch ex As Exception
End Try End Sub
Public Sub execute(ByVal sql As String, ByVal ParamArray parameters() As Object)
Try
closeDR()
cmd = New MySqlCommand(sql, getConnection()) SetParameter(cmd, parameters)
cmd.ExecuteNonQuery() Catch ex As Exception
msgError("ERROR: " & ex.Message & vbCrLf & sql) End Try
End Sub
Private Sub SetParameter(ByVal cmd As MySqlCommand, ByVal ParamArray parameters() As Object)
Dim parameterName As String = "@" & Trim(Str(a)) Dim value As Object = parameters(a)
cmd.Parameters.AddWithValue(parameterName, value) Next
End Sub
Public Function sRight(ByVal str As String, ByVal Length As Integer) As String
Return vb.Right(str, Length) End Function
Public Sub msgError(ByVal msg As String)
MsgBox(msg, vbExclamation + MsgBoxStyle.OkOnly, "Error") End Sub
Public Sub msgInfo(ByVal msg As String)
MsgBox(msg, vbInformation + MsgBoxStyle.OkOnly, "Informasi")
End Sub
Public Function msgAsk(ByVal msg As String) As MsgBoxResult Return MsgBox(msg, vbYesNo + vbQuestion, "Konfirmasi") End Function
End Module
Kode Program Modulo Mysql Extension :
Imports MySql.Data.MySqlClient
Imports System.Runtime.CompilerServices
Module ModMySQLExtension '===== DATABASE ===== <Extension()>
Public Sub Buka(ByVal dataReader As OleDb.OleDbDataReader, ByVal sql As String, ByVal ParamArray parameters() As String)
'MsgBox("")
'dataReader = openDR(sql, parameters) 'msgAsk("")
End Sub
'===== FORM ===== <Extension()>
Public Sub ShowAsChild(ByVal frm As System.Windows.Forms.Form, ByVal parent As System.Windows.Forms.Form)
frm.WindowState = FormWindowState.Maximized frm.MdiParent = parent
frm.Show() End Sub
'===== DataGridView ===== <Extension()>
Public Sub SelectFirst(ByVal Dgv As DataGridView) If Not Dgv.CurrentCell Is Nothing Then
Dgv.CurrentCell =
End If End Sub
<Extension()>
Public Sub SelectNext(ByVal Dgv As DataGridView) If Not Dgv.CurrentCell Is Nothing And
Dgv.CurrentCell.RowIndex + 1 < Dgv.Rows.Count Then
Dgv.CurrentCell = Dgv.Rows(Dgv.CurrentCell.RowIndex + 1).Cells(Dgv.CurrentCell.ColumnIndex)
End If End Sub
<Extension()>
Public Sub SelectPrevious(ByVal Dgv As DataGridView) If Not Dgv.CurrentCell Is Nothing And
Dgv.CurrentCell.RowIndex > 0 Then
Dgv.CurrentCell = Dgv.Rows(Dgv.CurrentCell.RowIndex -1).Cells(Dgv.CurrentCell.ColumnIndex)
End If End Sub
<Extension()>
Public Sub SelectLast(ByVal Dgv As DataGridView) If Not Dgv.CurrentCell Is Nothing Then
Dgv.CurrentCell = Dgv.Rows(Dgv.Rows.Count -1).Cells(Dgv.CurrentCell.ColumnIndex)
End If End Sub
<Extension()>
Public Sub SetDefault(ByVal Dgv As DataGridView) Dgv.ReadOnly = True
Dgv.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells Dgv.RowHeadersWidthSizeMode =
DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders Dgv.AllowUserToAddRows = False
End Sub
<Extension()>
Public Sub copyTo(ByVal dgvFrom As DataGridView, ByVal dgvTo As DataGridView)
dgvTo.AutoGenerateColumns = dgvFrom.AutoGenerateColumns dgvTo.AllowUserToAddRows = dgvFrom.AllowUserToAddRows dgvTo.ReadOnly = dgvFrom.ReadOnly
dgvTo.AutoSizeColumnsMode = dgvFrom.AutoSizeColumnsMode dgvTo.RowHeadersWidthSizeMode =
DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders dgvTo.Columns.Clear()
For Each c As DataGridViewColumn In dgvFrom.Columns dgvTo.Columns.Add(c.Name, c.HeaderText)
dgvTo.Columns(c.Name).DefaultCellStyle = c.DefaultCellStyle
dgvTo.Columns(c.Name).ToolTipText = c.ToolTipText Next
For a = 0 To dgvFrom.Rows.Count - 1 dgvTo.Rows.Add(1)
For b As Integer = 0 To dgvFrom.Columns.Count - 1 dgvTo.Rows(a).Cells(b).Value =
dgvFrom.Rows(a).Cells(b).Value Next
dgvTo.Rows(a).HeaderCell.Value = dgvFrom.Rows(a).HeaderCell.Value
Next End Sub
<Extension()>
Public Function SumColums(ByVal dgv As DataGridView, ByVal col As String) As Double
Dim total As Double = 0
For Each row As DataGridViewRow In dgv.Rows If Not IsDBNull(row.Cells(col).Value) Then
total = total + Val(row.Cells(col).Value) End If
Next
SumColums = total End Function
<Extension()>
Public Sub fillFromArray(ByVal dgv As DataGridView, ByVal matriks(,) As Double, Optional ByVal row As Integer = 0, Optional ByVal col As Integer = 0)
For a = 0 To matriks.GetUpperBound(0)
For b As Integer = 0 To matriks.GetUpperBound(1) dgv.Rows(row + a).Cells(b + col).Value = matriks(a, b)
Next Next End Sub
<Extension()>
Public Function getValAt(ByVal dgv As DataGridView, ByVal row As Integer, ByVal col As String) As Object
getValAt = dgv.Rows(row).Cells(col).Value End Function
<Extension()>
Public Function getValAt(ByVal dgv As DataGridView, ByVal row As Integer, ByVal col As Integer) As Object
getValAt = dgv.Rows(row).Cells(col).Value End Function
<Extension()>
Public Function getSelAt(ByVal dgv As DataGridView, ByVal col As Integer) As Object
getSelAt =
dgv.Rows(dgv.CurrentCell.RowIndex).Cells(col).Value End Function
<Extension()>
Public Function getSelAt(ByVal dgv As DataGridView, ByVal col As String) As Object
getSelAt =
End Function
<Extension()>
Public Sub formatNumber(ByVal col As DataGridViewColumn) col.DefaultCellStyle.Format = "N0"
col.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
End Sub
'===== KeyPressEventArgs ===== <Extension()>
Public Function isEnter(ByVal e As
System.Windows.Forms.KeyPressEventArgs) As Boolean isEnter = (e.KeyChar = Chr(13))
End Function
'===== KeyEventArgs ===== <Extension()>
Public Function isSearch(ByVal e As
System.Windows.Forms.KeyEventArgs) As Boolean isSearch = (e.KeyCode = Keys.F1) End Function
<Extension()>
Public Function isAdd(ByVal e As
System.Windows.Forms.KeyEventArgs) As Boolean isAdd = (e.KeyCode = Keys.F2)
End Function
<Extension()>
Public Function isSave(ByVal e As
System.Windows.Forms.KeyEventArgs) As Boolean isSave = (e.KeyCode = Keys.F3)
End Function
<Extension()>
Public Function isPay(ByVal e As
System.Windows.Forms.KeyEventArgs) As Boolean isPay = (e.KeyCode = Keys.F4)
End Function
<Extension()>
Public Function isRefresh(ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean
isRefresh = (e.KeyCode = Keys.F5) End Function
<Extension()>
Public Function isPrint(ByVal e As
System.Windows.Forms.KeyEventArgs) As Boolean isPrint = (e.KeyCode = Keys.F6)
End Function
<Extension()>
Public Function isEdit(ByVal e As
System.Windows.Forms.KeyEventArgs) As Boolean isEdit = (e.KeyCode = Keys.F7)
<Extension()>
Public Function isDelete(ByVal e As
System.Windows.Forms.KeyEventArgs) As Boolean isDelete = (e.KeyCode = Keys.F8) End Function
<Extension()>
Public Function isCancel(ByVal e As
System.Windows.Forms.KeyEventArgs) As Boolean isCancel = (e.KeyCode = Keys.F9) End Function
<Extension()>
Public Function isClose(ByVal e As
System.Windows.Forms.KeyEventArgs) As Boolean isClose = (e.KeyCode = Keys.Escape) End Function
'===== DateTimePicker ===== <Extension()>
Public Sub Today(ByVal dtp As DateTimePicker) dtp.Value = Now
End Sub
<Extension()>
Public Sub ThisMonth(ByVal dtp As DateTimePicker) dtp.Value = Now.AddDays(Now.Day * -1 + 1) End Sub
'===== ComboBox ===== <Extension()>
Public Sub setDS(ByVal cmb As ComboBox, ByVal dt As DataTable) cmb.DataSource = dt
cmb.ValueMember = dt.Columns(0).ColumnName
If dt.Columns.Count > 1 Then cmb.DisplayMember = dt.Columns(1).ColumnName
If dt.Rows.Count > 0 Then cmb.SelectedIndex = 0 End Sub
<Extension()>
Public Sub fillTerm(ByVal cmb As ComboBox, ByVal taxonomy As String, Optional ByVal selected As String = "", Optional ByVal addDefault As String = "")
dr = openDR("SELECT term_name FROM tb_terms WHERE taxonomy='" & taxonomy & "' ORDER BY term_name")
cmb.fill(dr, selected, addDefault) End Sub
<Extension()>
Public Sub fill(ByVal cmb As ComboBox, ByVal dr As
MySqlDataReader, Optional ByVal selected As String = "", Optional ByVal addDefault As String = "")
cmb.Items.Clear()
If addDefault <> "" Then cmb.Items.Add(addDefault) While dr.Read()
cmb.Items.Add(dr(0)) End While
cmb.Text = selected End Sub