- [message]
- Ringkasan
- Pada halaman ini, akan dijelaskan bagaimana cara membuat form login aplikasi VB .NET dengan hak akses.
- [message]
- Catatan
- 1. Pada tutorial ini, admin menggunakan database Ms Access.
2. Aplikasi yang admin contohkan disini dimulai dari Menu Utama terlebih dahulu, dengan keadaan menu-menu tidak aktif, kecuali menu File.
Apa itu Hak Akses?
Hak akses adalah hak yang diberikan kepada user untuk mengakses sistem. Dalam strategi security, setiap objek dalam sistem (user, administrator, software dan sistem itu sendiri) harus diberikan hak akses yang berguna untuk menunjang fungsi kerja dari objek tersebut. Dengan kata lain, objek hanya memperoleh hak akses minimum. Sehingga, aksi objek terhadap sistem dapat dibatasi.
Berikut ini adalah hal yang harus kalian siapkan sebelum membuat form login dengan hak akses pada VB .Net
Keterangan:
Provider: Sesuaikan dengan database yang kalian gunakan. Disini admin menggunakan database format .accdb. Jika menggunakan .mdb maka gunakan 'Microsoft.JET.OLEDB.4.0'
Data Source: Sesuaikan dengan nama database kalian
2. Buka Form Menu Utama, Tambahkan MenuStrip kemudian buat menu-menu program yang kalian inginkan, atau seperti contoh gambar dibawah ini:
Name Properties:
File: MnFile
Login: MnLogin
Exit: ExitToolStripMenuItem
3. Buka code editor pada Menu Utama, kemudian tambahkan code program seperti dibawah ini:
Berikut ini adalah hal yang harus kalian siapkan sebelum membuat form login dengan hak akses pada VB .Net
- Membuat Database
Buatlah sebuah database dengan nama DbLogin. - Membuat Table
Buatlah sebuah tabel dengan nama Petugas, dengan 3 field masing-masing (KdPetugas, Password, dan AksesLevel). - Mengisi Field Table
Isilah field tabel petugas dengan field berikut:
- Membuat Project pada VB .Net
Buatlah sebuah project baru dengan nama AksesLogin - Membuat Form Login dan Menu Utama
Buatlah 2 buah form dengan nama masing-masing FormLogin.vb dan MenuUtama.vb
Setelah kelima hal diatas sudah disiapkan, kita akan langsung menuju pada aplikasi VB .Net
1. Tambahkan sebuah Module pada project, kemudian tambahkan kode program pada code editor seperti dibawah ini:
1. Tambahkan sebuah Module pada project, kemudian tambahkan kode program pada code editor seperti dibawah ini:
[Imports System.Data.OleDb
Module Module1
Public OLECMD As New OleDbCommand
Public OLEDR As OleDbDataReader
Public OLEDA As New OleDbDataAdapter
Public conn As New OleDbConnection
Public ds As New DataSet
Public dt As New DataTable
Public lokasidata As String
Public sql As String
Sub koneksi()
lokasidata = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=DbLogin.accdb"
conn = New OleDbConnection(lokasidata)
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
End Sub
End Module]
Keterangan:
Provider: Sesuaikan dengan database yang kalian gunakan. Disini admin menggunakan database format .accdb. Jika menggunakan .mdb maka gunakan 'Microsoft.JET.OLEDB.4.0'
Data Source: Sesuaikan dengan nama database kalian
2. Buka Form Menu Utama, Tambahkan MenuStrip kemudian buat menu-menu program yang kalian inginkan, atau seperti contoh gambar dibawah ini:
Name Properties:
File: MnFile
Login: MnLogin
Exit: ExitToolStripMenuItem
Master: MnMaster
Transaksi: MnTransaksi
Laporan: MnLaporan
Utilitas: MnUtilitas
[Public Class MenuUtama
Dim x As String
Private Sub MenuUtama_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
MnMaster.Enabled = False
MnTransaksi.Enabled = False
MnLaporan.Enabled = False
MnUtilitas.Enabled = False
End Sub
Private Sub MnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnLogin.Click
If MnLogin.Text = "Login" Then
FormLogin.Show()
ElseIf MnLogin.Text = "Logout" Then
x = MsgBox("Anda yakin ingin Logout dari program?", vbQuestion + vbYesNo, "Konfirmasi")
If x = vbYes Then
MnLogin.Text = "Login"
MnMaster.Enabled = False
MnTransaksi.Enabled = False
MnLaporan.Enabled = False
MnUtilitas.Enabled = False
End If
End If
End Sub
Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
x = MsgBox("Anda yakin ingin keluar?", vbQuestion + vbYesNo, "Konfirmasi")
If x = vbYes Then
Me.Hide()
Me.Close()
End If
End Sub
End Class]
4. Buka Form Login, kemudian tambahkan 2 Label, 2 TextBox dan 2 Button, dan sesuaikan seperti gambar dibawah ini:
TextBox 1: txtUser
TextBox 2: txtPassword
Button 1: BLogin
Button 2: BExit
5. Buka code editor pada Form Login, kemudian tambahkan code program seperti dibawah ini:
[Imports System.Data.OleDb
Public Class FormLogin
Dim a, b As String
Private Sub FormLogin_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
txtUser.Enabled = True
txtPassword.Enabled = False
txtUser.Focus()
txtPassword.PasswordChar = "*"
BLogin.Enabled = False
End Sub
Private Sub FormLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call koneksi()
End Sub
Private Sub BLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BLogin.Click
Try
If txtUser.Text = "" Or txtPassword.Text = "" Then
MsgBox("Harap Input Kode Petugas dan Password")
Else
OLECMD = New OleDb.OleDbCommand("SELECT * FROM Petugas WHERE KdPetugas = '" & txtUser.Text & "' AND Password = '" & txtPassword.Text & "'", conn)
OLEDR = OLECMD.ExecuteReader
OLEDR.Read()
If OLEDR.HasRows Then
Me.Hide()
Me.Close()
If OLEDR("AksesLevel").ToString = "Admin" Then
MenuUtama.Show()
MenuUtama.MnMaster.Enabled = True
MenuUtama.MnTransaksi.Enabled = True
MenuUtama.MnLaporan.Enabled = True
MenuUtama.MnUtilitas.Enabled = True
MenuUtama.MnLogin.Text = "Logout"
MsgBox("Anda Berhasil Login", vbInformation + vbOKOnly, "Konfirmasi")
ElseIf OLEDR("AksesLevel").ToString = "User" Then
MenuUtama.Show()
MenuUtama.MnMaster.Enabled = True
MenuUtama.MnTransaksi.Enabled = True
MenuUtama.MnLogin.Text = "Logout"
MsgBox("Anda Berhasil Login", vbInformation + vbOKOnly, "Konfirmasi")
End If
Else
MsgBox("Kode Petugas atau Password yang anda masukan salah, Mohon periksa kembali")
End If
End If
Catch ex As Exception
End Try
End Sub
Private Sub BExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BExit.Click
Me.Hide()
Me.Close()
End Sub
Private Sub txtUser_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtUser.KeyPress
If Asc(e.KeyChar) = 13 Then
Dim OLECMD As New OleDb.OleDbCommand("Select*From Petugas where KdPetugas='" & txtUser.Text & "'", conn)
Dim OLEDR As OleDb.OleDbDataReader
OLEDR = OLECMD.ExecuteReader
If OLEDR.HasRows = False Then
a = a + 1
If 1 - a = 0 Then
MsgBox("Kode Petugas " & txtUser.Text & " Tidak Dikenal", vbCritical + vbOKOnly, "Akses Ditolak")
txtUser.Text = ""
txtUser.Focus()
ElseIf 2 - a = 0 Then
MsgBox("Kode Petugas " & txtUser.Text & " Tidak Dikenal", vbCritical + vbOKOnly, "Akses Ditolak")
txtUser.Text = ""
txtUser.Focus()
ElseIf 3 - a = 0 Then
MsgBox("Kode Petugas " & txtUser.Text & " Tidak Dikenal", vbCritical + vbOKOnly, "Akses Ditolak")
MsgBox("Kesempatan Anda Sudah Habis", vbExclamation + vbOKOnly, "Program akan ditutup secara otomatis")
End
End If
Else
txtUser.Enabled = False
txtPassword.Enabled = True
txtPassword.Focus()
BLogin.Enabled = True
End If
End If
End Sub
Private Sub txtPassword_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPassword.KeyPress
If Asc(e.KeyChar) = 13 Then
BLogin.Focus()
End If
End Sub
End Class]
6. Jalankan Program
Sampai disini, aplikasi Login dengan Hak Akses sudah selesai dibuat. Silahkan atur coding diatas sesuai kebutuhan program jika kalian ingin menggunakannya.
Project File
Berikut ini adalah file project dari contoh program diatas, kalian bisa mendownloadnya melalui tombol download dibawah.
[Download AksesLogin ##download##]