1. WIRATSOFT INC CORPORATION 2012
PENGKODEAN
AKSES FORM
SISTEM USER
MICROSOFT VISUAL BASIC.NET 2005
WIRAT.NET
10/11/2012
2. Hak Akses USER
Pengantar Tulisan
Pada saat membuat aplikasi (vb.net) untuk materi skripsi, saya terbesit pertanyaan.
“Bagaimana cara memberikan akses form secara dinamis pada sistem untuk user yang ada ??”
Coba browsing dan tanya-tanya sama master-master vb.net akhirnya bisa nemuin sebuah cara
untuk mewujudkan hal itu.
Nah, bagi agan-agan sekalian yang mau ikut sama-sama belajar mari diikutin secara seksama
bagaimana cara membuatnya. Dicoba pelan-pelan bagian demi bagian.
Salam,
Illuminator372
Tahapan Proses
Bikin Database
Bikin Layout Form
Bikin Coding
Page 2 of 9
3. Bikin Database
Beberapa tabel yang akan dibuat adalah seperti gambar diatas, pada tutorial ini saya
menggunakan Ms. Access 2007. Detailnya design tabel-tabelnya sebagai berikut :
FORM_TABLE
Field Name Data Type Field Size Keterangan
IDFORM Text 7 Primary Key
FORMNAME Text 25
USER_TABLE
Field Name Data Type Field Size Keterangan
IDUSER Text 7 Primary Key
USERNAME Text 25
PASSWORD Text 25
STATUS Text 15
Page 3 of 9
4. AKSES_TABLE
Field Name Data Type Field Size Keterangan
IDUSER Text 7 Foreign Key
IDFORM Text 7 Foreign Key
AKSES_FORM Text 1
Page 4 of 9
5. Bikin Layout Form
Silahkan dibuat design form sesuai toolbox yang terlihat pada gambar. ComboBox, Button,
DataGridView.
Page 5 of 9
6. Bikin Coding
Class Koneksi Database
Imports System.Data.OleDb
Namespace AKSES_DATABASE
Public Class DATABASEClass
Dim KONEKSI As New
OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" _
& "Data Source=DB_GRIDVIEW.accdb;" _
& "Jet OLEDB:Database Password=321;")
Public Function BUKAKONEKSI() As OleDbConnection
KONEKSI.Open()
Return KONEKSI
End Function
Public Function TUTUPKONEKSI() As OleDbConnection
KONEKSI.Close()
Return KONEKSI
End Function
End Class
End Namespace
Class Proses
Imports System.Data.OleDb
Namespace AKSES_DML
Public Class PROSESClass
Dim KONEKSI As New AKSES_DATABASE.DATABASEClass
Dim CMD As New OleDbCommand
Public Function SIMPAN_AKSES(ByVal IDUSER As String, ByVal
IDFORM As String, ByVal AKSES As String)
CMD.CommandType = CommandType.Text
CMD.CommandText = "INSERT INTO AKSES_TABLE VALUES('" &
IDUSER & "','" & IDFORM & "','" & AKSES & "')"
CMD.Connection = KONEKSI.BUKAKONEKSI
CMD.ExecuteNonQuery()
KONEKSI.TUTUPKONEKSI()
Return KONEKSI
End Function
End Class
End Namespace
Page 6 of 9
7. Script Form
Imports System.Data.OleDb
Public Class DGVCheckBox
Dim KONEKSI As New AKSES_DATABASE.DATABASEClass
Dim xSIMPAN As New AKSES_DML.PROSESClass
Dim DTA As New OleDbDataAdapter
Dim DTS As New DataSet
Dim CMD As New OleDbCommand
Dim DTR As OleDbDataReader
Dim A As String
Dim B As String
Private Sub ISI_GRID()
Try
KONEKSI.TUTUPKONEKSI()
DTA = New OleDbDataAdapter("SELECT * FROM FORM_TABLE
ORDER BY IDFORM ASC", KONEKSI.BUKAKONEKSI)
Try
DTS.Tables("FORM_TABLE").Clear()
Catch ex As Exception
End Try
DTA.Fill(DTS, "FORM_TABLE")
Dim GRID As New DataView(DTS.Tables("FORM_TABLE"))
DGVSample.DataSource = GRID
'ngunci columns tertentu
DGVSample.Columns.Item(1).ReadOnly = True
DGVSample.Columns.Item(2).ReadOnly = True
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Private Sub DGVCheckBox_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles MyBase.Load
Call ISI_GRID()
Call ISI_Combo()
End Sub
Private Sub ISI_Combo()
KONEKSI.TUTUPKONEKSI()
CMD = New OleDbCommand("SELECT * FROM USER_TABLE ORDER BY
IDUSER ASC", KONEKSI.BUKAKONEKSI)
DTR = CMD.ExecuteReader
CmbUSER.Items.Clear()
While DTR.Read
A = DTR.Item("IDUSER")
B = DTR.Item("USERNAME")
CmbUSER.Items.Add(A & " - " & B)
End While
End Sub
Page 7 of 9
8. Private Sub BtnSIMPAN_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles BtnSIMPAN.Click
Dim Y As String = Mid(CmbUSER.Text, 1, 7)
Dim iROW As Integer
Dim AKSES As String
For iROW = 0 To DGVSample.Rows.Count - 1
'AksesBox = Nama CheckBox yang ada di DatagridView
If DGVSample.Rows(iROW).Cells("AksesBox").Value Then
AKSES = "1"
Else
AKSES = "0"
End If
'Class Proses DML (Simpan Data)
xSIMPAN.SIMPAN_AKSES(Y,
DGVSample.Rows(iROW).Cells(1).Value, AKSES)
Next iROW
End Sub
End Class
Sedikit penjelasan, tujuan dari coding ini yang bernilai “1” adalah form yang boleh diakses oleh
user tersebut. Sedangkan yang bernilai “0” adalah form yang tidak boleh diakses oleh user.
Untuk pengembangan berikutnya. Jangan lewatkan tutorial lanjutan dari penjelasan kali ini.
So don’t missed it later !!
Page 8 of 9
9. Illuminator372
Kuliah D3nya diselesaikan pada tahun 2008 lalu di Kampus STMIK Bina
Insani, Jurusan Teknik Informatika dan kemudian kembali melanjutkan
S1nya pada tahun 2011 ditempat dan jurusan yang sama. Bekerja di PT
Bridgestone Tire Indonesia sejak 2008. Bercita-cita dapat selalu
mendedikasikan dirinya dalam bidang IT Indonesia dan Dunia.
Kontak : bambang.wiratmojo@gmail.com
bambangwiratmojo.blogspot.com
PEMBERIAN HAK AKSES USER SISTEM
SUPPORTED BY WIRATSOFT2012
Page 9 of 9