Rabu, 30 Maret 2011

Membuat Form Password(2)_Validasi dengan Tabel

Materi ini adalah penyempurnaan dari materi Membuat Form Password(1)_Sistem Textbox. dikatakan penyempurnaan sebab memiliki kelebihan yakni program dapat diakses oleh siapa saja sepanjang nama dan passwordnya terdaftar didalam tabel user (nama tabel terserah anda tentunya). Sedangkan sistem sebelumnya hanya mencari dan mencocokkan nama dan password terhadap isian textbox...jadi tidak dapat diubah atau ditambah. Hal ini tentunya menjadi ribet jika nama dan password sudah banyak diketahui oleh orang lain...kita tidak dapat lagi merubah atau menambahkan user baru sehingga keamanan aplikasi tidak terjamin baik.


Adapun cara membuat aplikasi ini adalah sebagai berikut :
Buatlah sebuah tabel dengan nama Tuser, kemudian lengkapi field-fieldnya seperti gambar dibawah ini :





  1. Kemudian buatlah index dengan nama index = IdxUser, dengan field yang diindeks adalah field Nama
  2. Kembalilah pada project Visual basic anda, dan gantilah form1 name menjadi Frmlogin, kemudian tambahkan satu (add) form lagi dengan nama FrmMenu untuk mencek nantinya apakah aplikasi yang kita buat berjalan dengan baik atau tidak.
  3. Pada FrmLogin tambahkan komponen textbox, CommandButton dan sebuah komponen Data dan beberapa label.  Dengan pengaturan properties sebagai berikut :
Komponen
Properties
Value
Text1
Name
Text
Txtnama
“   “ (dikosongkan)
Text2
Name
Text
txtPassword
“   “ (dikosongkan)
Data1
DatabaseName
Recordset Type
RecordSource
Cari lokasi database anda
0-table
Tuser
CommandButton1
Name
Caption
CmdOK
&Ok
CommandButton2
Name
Caption
CmdCancel
&Cancel
Label1
Alligment
Backstyle
Caption

Font
Forecolor
0-left justify
0-Transparent
PT. RAFLY TEKNIK SENTOSA JAYA
Ms Sans Serif, Bold, 12
Vbred
Label2
Backstyle
Font
Caption
Forecolor
0-Transparent
Ms Sans Serif, Bold, 8
Nama
Vbwhite (putih)
Label3
Backstyle
Font
Caption
Forecolor
0-Transparent
Ms Sans Serif, Bold, 8
Password
Vbwhite (putih)
Label4
Alligment
Backstyle
Caption
Font
Forecolor
0-left Justify
0-Transparent
Selamat dating ……………………
Ms Sans Serif, Bold, 8
VBwhite
Label5
Backcolor
Vbblack (hitam)

  1. Susunlah komponen-komponennya sehingga menjadi seperti berikut ini :


    Tampilan diatas adalah tampilan yang sudah dihiasi dan dipercantik. Hanya sebagai contoh bahwa nama dan pengelola kantor administrasi dapat dimunculkan di form login. Anda tentu dapat membuat yang lebih sederhana J
    1. Setelah itu masukkan listing berikut pada masing-masing komponen terkait :
    Private Sub cmdcancel_Click()
        End 'keluar dari program
    End Sub


    Private Sub cmdok_Click()
        Rem meminta isian jika text kosong
        If txtnama.Text = "" Then: MsgBox "Isi dulu nama anda", , "informasi": txtnama.SetFocus: Exit Sub
         
        Rem deteksi nama dan password
        With Data1.Recordset
            .Index = "idxuser"
            .Seek "=", txtnama
            If .NoMatch Then
                MsgBox "Isian nama salah!", vbCritical, "Informasi"
                txtnama = ""
                txtnama.SetFocus
                Exit Sub
            Else
                If Trim(!Password) = Trim(txtpassword) Then
                    MsgBox "Selamat Datang " + txtnama + " !", , "Informasi"
                    frmmenu.Show
                    frmlogin.Hide
                Else
                    MsgBox "Isian password salah!", vbCritical, "Informasi"
                    txtpassword = ""
                    txtpassword.SetFocus
                End If
            End If
        End With
    End Sub

    Private Sub Form_Activate()
    Rem menonaktifkan tombol OK dan txtpassword
        cmdok.Enabled = False
        txtpassword.Enabled = False
        txtpassword.BackColor = vbBlack
    End Sub

    Private Sub txtnama_Change()
    Rem mengaktifkan kembali txtpassword
        If Trim(txtnama) <> "" Then
            txtpassword.Enabled = True
            txtpassword.BackColor = vbWhite
        Else
            txtpassword.Enabled = False
            txtpassword.BackColor = vbBlack
        End If
    End Sub

    Private Sub txtnama_KeyPress(KeyAscii As Integer)
    Rem menjadikan isian huruf besar
        KeyAscii = Asc(UCase(Chr(KeyAscii)))
    End Sub

    Private Sub txtpassword_Change()
    Rem jika txtpassword telah diisi
        If txtpassword <> "" Then
            cmdok.Enabled = True
            'cmdok.SetFocus
        End If
    End Sub

    Private Sub txtpassword_KeyPress(KeyAscii As Integer)
    Rem menjadikan isian huruf besar
        KeyAscii = Asc(UCase(Chr(KeyAscii)))
    End Sub

    6.       Sebelum menjalankan program, terlebih dahulu bukalah table  Tuser dan isilah name dan password dengan nama = FADLY dan password = FADLY seperti gambar dibawah ini:



    7.       Jalankan program yang sudah anda buat lalu masukkan nama dan password FADLY pada frmlogin, jika penulisan kode tidak bermasalah, maka form menu (frmmenu) akan muncul.
    8.       Sekarang gantilah nama dan password di table dengan nama dan password anda sendiri. Lalu masukkan kembali di frmlogin. Coba juga dengan memasukkan nama dan password yang salah untuk mencoba validasi program.

    Semoga berhasil dan selamat mencoba !!!

    2 komentar: