Posted by : Rhyf Ahmad Saturday, March 31, 2012

Pada 28 Maret lalu saya mosting Form LogIn Visual Basic tanpa menggunakan Database. Salah satu kelemahannya adalah hanya menggunakan satu username dan juga satu password. Berbeda dengan materi kali ini, dalam sebuah aplikasi bisa menggunakan lebih dari satu username dan password. Study kasus kita kali ini menggunakan database dari Microsoft Access, tadinya mau make database dari MySQL yang Free dan Opensource. Tapi belum sempet download tuh aplikasinya. Ya udah, mari kita menuju TKP..

Seperti halnya kebanyakan tutorial, koneksi database setidaknya menggunakan satu Class dan satu buah Module, tapi kali ini kita menggunakan metode yang lebih simpel saja terlebih dahulu, baru selanjutnya kita akan menggunakan cara yang lebih sulit lagi.. Hoho..
Yang pertama, buat sebuah database Microsoft Access, jangan lupa untuk menyimpannya dalam format Access 2000-2003. Buat sebuah tabel dan beri nama username. Di dalam tabel masukkan juga anggota-anggotanya seperti yang terlihat pada gambar di bawah ini.


Jika sudah, isikan field-field tersebut sesuai keinginan sobat, saya contohin seperti yang terlihat pada gambar di bawah ini.


Udah selesai belum bikin tabelnya? saya tungguin nhe..
kalo udah, silahkan simpan dan tutup Microsoft Accessnya. Terus apa lagi? Ya buka dong Visual Basicnya, buat sebuah form dengan anggota 2 buah Label, 2 buah TextBox dan 2 buah Button.
Untuk propertynya silahkan lihat pada postingan ini.
Desain akhir form akan tampak seperti gambar di bawah ini..


Simpan terlebih dahulu formnya dengan nama fLogin. Lalu copy database yang sudah dibuat tadi ke dalam direktori (contoh) E:\VisualProject\Login\bin\Debug. Ini adalah direktori penyimpanan project sobat. Nah, saatnya bermain dengan kode-kode. Simpel aja koq..
Yang pertama, masukkan kode di bawah ini di bawah Public Class fLogin

UPDATED on February, 8 2013..!

Public Class fLogin

    Dim Koneksi As New OleDb.OleDbConnection
    Dim data1 As New OleDb.OleDbDataAdapter
    Dim data2, data3 As New DataTable
    Dim SQL, SQL2 As String

    Sub cari()
        data2.Clear()
        SQL = "SELECT * FROM Username Where username='" & tUser.Text & "'"
        data1.SelectCommand = New OleDb.OleDbCommand(SQL, Koneksi)
        data1.Fill(data2)
    End Sub

    Sub cari2()
        data3.Clear()
        SQL2 = "SELECT * FROM Username where Password='" & tPassword.Text & "'"
        data1.SelectCommand = New OleDb.OleDbCommand(SQL, Koneksi)
        data1.Fill(data3)
    End Sub

'Bagian ini adalah listing kode untuk Button bLogin

    Private Sub bLogin_Click(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles bLogin.Click
        On Error Resume Next
        cari()
        cari2()
        If data2.Rows.Count <> 0 And tPassword.Text = data3.Rows(0)(1) Then
            If data3.Rows.Count <> 0 Then
               'Form kedua muncul jika username dan password benar
               Form2.Show()
             Else
                MessageBox.Show("Maaf, Username atau Password salah!", "Informasi",
                MessageBoxButtons.OK, MessageBoxIcon.Information)
                tPassword.Clear()
                tUser.Clear()
            End If
        Else
            MessageBox.Show("Maaf, Username atau Password salah!", "Informasi",
            MessageBoxButtons.OK, MessageBoxIcon.Information)
            tPassword.Clear()
            tUser.Clear()
        End If
    End Sub

    'Bagian ini adalah listing kode untuk Form onLoad, caranya lakukan double klik pada 
    'Sembarang tempat pada form
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles MyBase.Load
        Koneksi.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;DATA
        SOURCE="Application.StartupPath & "\Login.mdb"
    End Sub


Setelah itu, coba jalankan dengan menekan F5...
jreng-jreng.....
Jika ada masalah, silahkan berkomentar..

Update 29 Juni 2013..!!
Download Source Code Now!! (200 kB)
Password Rar (1 kB)

Baca Juga : Secure Form Login Visual Basic .Net Menggunakan Database Access

{ 34 comments... read them below or Comment }

  1. sip.. lengkap dan jelas tutorial vb net nya..... thks

    ReplyDelete
  2. makasih sob,,, sering2 mampir yah.. :D

    ReplyDelete
  3. tUSER sama tPASSWORD itu apa sih maksudnya?

    ReplyDelete
  4. tUSER adalah TextBox1 yang sudah dirubah Namanya menjadi tUSER, sedangkan tPASSWORD adalah TextBox2 yang sudah dirubah namanya menjadi tPASSWORD.
    agan klik LINK INI jika masih belum jelas..
    Makasih..

    ReplyDelete
  5. data1.fill(DT) = DT itu apa ya maksudnya???

    ReplyDelete
  6. @Dier : postingan sudah saya perbaiki,,
    data.fill merupakan proses pengisian data pada Form VB. Net yang diambil dari database access.
    data1.fill(DT) yang agan tanyain, DT merupakan Data Table yang datanya akan mengisi Form VB melalui proses data1.fill(DT), namun saya menuliskan kode "DT" pada Form onLoad sebagai "data2". Jadi agan ganti saja kode DT menjadi data2.
    posting juga sudah saya perbaiki,,
    terima kasih masukannya..

    ReplyDelete
  7. kok data3.Clear() nya error ya pas di tekan tombol login , data1,2,3 kayanya error smua pas dicompile di laptop saya ( null reference )

    ReplyDelete
  8. Jangan lupa untuk memasukkan terlebih dahulu kode program pada Form onLoad, caranya lakukan double klik pada area kosong pada form, lalu ketikkan listing program yang tertera di atas.
    Postingan ini sudah saya tes dan Work 100%..

    ReplyDelete
  9. sorry om nmpan nnya.. mksudnya data1.fill(data2) ini inisialisasi apa si??tabel DB ato apa gtu, kok tak ganti dengan nama yg ada di form n DB gak bisa jga,

    ReplyDelete
  10. @Fakhruddin Aini : data1 merupakan variabel OleDb.OleDbDataAdapeter, sedangkan data1.fill(data2) dimaksukan agar operasi pengisian data oleh OleDbDataAdapter diambil dari database.
    data2 dan data3 adalah variabel bagi New DataTable, silahkan agan lihat listing kode di bagian bawah postingan.
    semua kode variabel tersebut diletakkan di dalam Form OnLoad.

    ReplyDelete
  11. Kok ane coba ga jln gan..mohon infonya...

    ReplyDelete
  12. Maaf nih gan...kok ga jln ya..cuma tampilan login aja, setelah username dan password diisikan ga ada respon..apanya yang salah ya..

    ReplyDelete
  13. @abdee : ada beberapa kemungkinan gan, mungkin agan salah menempatkan kodenya, kode di atas sudah saya perbaiki koq gan, dan work 100%, atau agan ganti aja kode Microsoft.ACE.OLEDB.12.0 dengan Microsoft.JET.OLEDB.4.0 karena terkadang provider databasenya yang bermasalah.

    ReplyDelete
  14. Kenapa punya saya masih errog bisa log in (form2 g muncul, selalu muncul pesan kalo password atau username yang saya masukan salah. Itu kenapa y gan?

    ReplyDelete
  15. Masukan username dan pasword salah........... itu gimana gan?? padahal user dan pas yang saya masukan apa yang saya buat di databasenya....

    bantu agan

    ReplyDelete
  16. wah gan,, kalo agan mengikuti tutorial di atas Insya Allah Work gan, mungkin ada kesalahan pada koneksi stringnya, coba agan cek lagi..

    ReplyDelete
  17. Kalo 2007 kan Microsoft.ACE.OLEDB.12.0, trus kalo 2010 apakah Microsoft.ACE.OLEDB.14.0 kah, saya punyanya 2010

    ReplyDelete
  18. Kalo Access 2010 masih menggunakan ACE.OLEDB.12.0 karena saya juga membuat tutorial ini menggunakan Access 2010 gan,,
    Tapi beda dengan Access 2013, agan bisa mencoba make ACE.OLEDB.14.0 atau ACE.OLEDB.15.0

    ReplyDelete
  19. Password rar'a udah di hapus gan.
    tolong kasih tau password'a dong.

    ReplyDelete
  20. linknya sudah saya perbaiki gan..
    thanks... :)

    ReplyDelete
  21. username dan password yg saya masukin udh sesuai yg di database, tp kok gk bisa login ya?
    malah muncul message box yg isinya "username/passwrod salah" itu...
    error list jg udh bersih, kira yg salah apa ya gan... :(

    ReplyDelete
  22. kalo emang ga bisa, agan dunlut aja source codenya gan.. :)

    ReplyDelete
  23. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    koneksi.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Datasource=" & Application.StartupPath & "\Login.mdb"
    End Sub

    kok yang ini salah?

    ReplyDelete
  24. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    koneksi.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Datasource=" & Application.StartupPath & "\Login.mdb"
    End Sub

    yang ini salah dimananya ???
    makasih :)

    ReplyDelete
  25. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    koneksi.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Datasource=" & Application.StartupPath & "\Login.mdb"
    End Sub

    salah dimananya min ??
    makasih :)

    ReplyDelete
  26. Yang pertama, agan pastiin database Access berada pada folder yang sama dengan aplikasi, kemudian, pengetikan syntax juga harus diperhatikan,,
    DATA SOURCE dengan DATASOURCE hasilnya jelas beda gan,,
    jadi yang benar DATA SOURCE.
    semoga bisa membantu.
    makasih kembali..

    ReplyDelete
  27. Gan, setahu saya klo format db accessnya itu 2000-2003 ato *.mdb providernya bkn "Microsoft.ACE.OLEDB.12.0" tpi "Microsoft.Jet.OLEDB.4.0". Jadi, seharusnya seperti ini :

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    koneksi.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Application.StartupPath & "\Login.mdb"
    End Sub

    Maaf klo salah. Semoga Membantu.......!!! ^_^ :D

    ReplyDelete
  28. @Faishol -> agan gak salah gak apa gan, Access 2000-2003 memang menggunakan provider Jet.OLEDB.4.0 sebagai providernya.
    Namun yang perlu digaris bawahi, pengggunaan sintak provider merujuk pada jenis aplikasinya gan, bukan pada "jenis databasenya".
    Pada tutorial ini saya menggunakan Access 2010, makanya provider menggunakan ACE.OLEDB.12.0 walaupun jenis databasenya menggunakan format Access 2000-2003.
    Pada saat PC terinstall Access 2000-2003, pada saat ini agan baru menggunakan provider Jet.OLEDB.4.0
    Makasih..

    ReplyDelete
  29. kalo access 2013 providernya opo gan?

    ReplyDelete
    Replies
    1. Kalo Access 2013 agan bisa mencoba make ACE.OLEDB.14.0 atau ACE.OLEDB.15.0.
      makasih.

      Delete
  30. gan, kalau tidak masukan user name sama passwordnya ngapa tetap bisa masuk ke form 2 nya ya.

    ReplyDelete
  31. gan, kalau user name dan passwordnya tidak di masukan, kenapa form2 nya tetap bisa masuk ya,

    ReplyDelete
    Replies
    1. Ah,, masa sih gan? koq saya bener ya?
      hehe,,
      coba agan cek lagi susunan kodenya, kali aja ada yang salah

      Delete
  32. Pertamanya ane nggak bisa setelah ane cek secara detail dan terperinci, ane lupa masukin kode messagebox, pas telah terisi semua ternyata sukses, pas saya coba login eh form 2 nggak kebuka, terus malah muncul messageboxnya gan -_-
    Tolong bantu gan..
    Thanks

    ReplyDelete

Agan bisa request artikel, software atau saran-saran melalui komentar ini.
Mohon tunggu ye balesannya, karena Admin gag tiap hari onlennya.
Hee.. :)
Ato kalo agan pen cepet di bales, invite aja gan BBM ane 7D48F947

Welcome to My Blog

Popular Post

- Copyright © Madriva -Robotic Notes- Powered by Blogger - Designed by Johanes Djogan -