Showing posts with label user access. Show all posts
Showing posts with label user access. Show all posts

Membuat Validasi Login User Berbasis Database di Borland Delphi

Saturday, February 9, 2008

Jika Anda membuat aplikasi untuk beberapa user group atau user level. Misalnya aplikasi anda digunakan untuk mengolah data penjualan suatu barang dan di aplikasi anda tersebut misalnya terdapat beberapa modul/menu diantaranya input data barang, input data penjualan, input data pembelian, laporan barang masuk, laporan barang keluar, laporan rugi laba, administrasi user dan lain sebagainya.




Nah tidak semua orang/user tentunya mempunyai hak untuk mengakses semua modul/menu tersebut. Misalnya ada dua level user yaitu Administrator dan operator. Operator hanya bertugas untuk menginput data barang, input data pembelian, input data penjualan, laporan barang masuk dan laporan barang keluar. Untuk Laporan Keuangan Rugi Laba dan administrasi user hanya boleh diakses oleh Administrator yang mempunyai kewenangan penuh terhadap seluruh aplikasi. Untuk itu tentunya aplikasi anda membutuhkan sebuah validasi user yaitu lewat sebuah proses login.



berikut ini saya akan memberikan sebuah contoh pembuatan aplikasi untuk validasi login user berbasis databases di borland delphi. Disini saya menggunakan borland delphi versi 7.



Sebelum mulai dengan Delphi anda harus membuat dahulu sebuah database misalnya kita gunakan database Microsoft Access.


  • Masuk ke Microsoft Access buat database baru : File | New | Blank Database. Simpan di folder C:\APP\Login dengan nama DelphiTutorial.mdb.

  • Buat table baru : Insert | Table. Pada kotak dialog yang muncul pilih Design View klik ok.




Buat struktur tabel seperti dibawah ini :























Filed Name Data Type Size
Username Text 30
Password Text 50
Status Text 1


Field Status digunakan untuk pengenalan level user (0 untuk operator dan 1 untuk administrator). Berikan primary key pada field Username dan simpan table dengan nama Login. Kemudian isikan beberapa data, contoh :



















Username Password Status
yana belajar 0
yanadoe delphi tutor 1





  • Buat sebuah project baru di Delphi : File | New | Aplication

  • Tambahkan dua buah komponen Edit dan dua buah komponen Button dan dua buah komponen Label

  • Tambahkan sebuah form lagi : File | New | Form.



Set property tiap komponen sebagai berikut :










































































Nama Komponen Nama Property Nilai
- Form1 Name FLogin
- Form2 Name FMenu
- Label1 Name Label1
Caption Username
- Label2 Name Label2
Caption Password
- Edit1 Name EUsername
- Edit2 Name EPassword
PasswordChar *
- Button1 Name BtnOk
Caption Login
- Button2 Name BtnCancel
Caption Batal


Sehingga tampilannya seperti ini





  • Simpan project di C:\APP\Login dengan nama PLogin.dpr.
  • Klik Flogin, tambahkan sebuah komponen AdoQuery (ada di tab ADO)

  • Set Property Namenya : AQLogin

  • Set Property ConnectionString : Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DelphiTutorial.mdb;Persist Security Info=False

  • klik form Fmenu kemudian tambahkan komponen MainMenu.

  • Dobel klik komponen MainMenu dan tambahkan satu menu dan beberapa submenu sehingga tampilannya seperti dibawah ini :






  • dobel klik komponen BtnOk di form FLogin kemudian isikan kode berikut :





aqlogin.Close;
aqlogin.SQL.Text := 'select * from login where username = :un and password = :pw';
aqlogin.Prepared := true;
aqlogin.Parameters[0].Value := EUsername.Text;
aqlogin.Parameters[1].Value := EPassword.Text;
aqlogin.Open;

if aqlogin.RecordCount < 1 then // jika data tidak ada, tampilkan pesan error
Messagedlg('Username tidak dikenal',mterror,[mbok],0)
else if aqlogin.RecordCount > 0 then // jika data ada, cek status
begin
if aqlogin.FieldValues['status'] = '0' then // jika status 0, maka menu administrator disembunyikan
begin
fMenu.caption := 'Anda login sebagai Operator';
fmenu.Administrator1.visible := false;
end
else if aqlogin.FieldValues['status'] = '1' then
fMenu.caption := 'Anda login sebagai Administrator'
else
begin
Messagedlg('User level tidak jelas, login gagal',mterror,[mbok],0);
exit;
end;
end;

flogin.Hide;
fMenu.show;



  • Dobel klik komponen BtnCancel, kemudian tambahkan kode berikut :



  • application.Terminate;



    Kode pada BtnOk akan memeriksa username dan password dengan data yang ada di tabel login. Jika data ada (login sukses) maka akan ditampilkan form FMenu. Main Form untuk project ini adalah Flogin jadi meskipun anda sudah menutup form FMenu dan seolah-olah aplikasi sudah tertutup, padahal sebenarnya aplikasi tersebut masih berjalan dikarenakan Flogin yang jadi Main Form belum tertutup. Untuk membuktikannya, klik kanan di taskbar dan pilih Task Manager. Klik pada tab Proses kemudian cari entry dengan nama Plogin.exe.



    Untuk mengatasi masalah tersebut, klik di FMenu kemudian pada Object Inspector klik tab Events kemudian dobel klik pada event OnClose, lalu tambahkan kode berikut :




    application.Terminate;



    Dengan demikian aplikasi akan di terminate ketika anda menutup form Fmenu

    .

    Membuat Validasi Login User Berbasis Database dengan Borland Delphi

    Jika Anda membuat aplikasi untuk beberapa user group atau user level. Misalnya aplikasi anda digunakan untuk mengolah data penjualan suatu barang dan di aplikasi anda tersebut misalnya terdapat beberapa modul/menu diantaranya input data barang, input data penjualan, input data pembelian, laporan barang masuk, laporan barang keluar, laporan rugi laba, administrasi user dan lain sebagainya.




    Nah tidak semua orang/user tentunya mempunyai hak untuk mengakses semua modul/menu tersebut. Misalnya ada dua level user yaitu Administrator dan operator. Operator hanya bertugas untuk menginput data barang, input data pembelian, input data penjualan, laporan barang masuk dan laporan barang keluar. Untuk Laporan Keuangan Rugi Laba dan administrasi user hanya boleh diakses oleh Administrator yang mempunyai kewenangan penuh terhadap seluruh aplikasi. Untuk itu tentunya aplikasi anda membutuhkan sebuah validasi user yaitu lewat sebuah proses login.



    berikut ini saya akan memberikan sebuah contoh pembuatan aplikasi untuk validasi login user berbasis databases di borland delphi. Disini saya menggunakan borland delphi versi 7.



    Sebelum mulai dengan Delphi anda harus membuat dahulu sebuah database misalnya kita gunakan database Microsoft Access.




    • Masuk ke Microsoft Access buat database baru : File | New | Blank Database. Simpan di folder C:\APP\Login dengan nama DelphiTutorial.mdb.

    • Buat table baru : Insert | Table. Pada kotak dialog yang muncul pilih Design View klik ok.




    Buat struktur tabel seperti dibawah ini :























    Filed Name Data Type Size
    Username Text 30
    Password Text 50
    Status Text 1


    Field Status digunakan untuk pengenalan level user (0 untuk operator dan 1 untuk administrator). Berikan primary key pada field Username dan simpan table dengan nama Login. Kemudian isikan beberapa data, contoh :



















    Username Password Status
    yana belajar 0
    yanadoe delphi tutor 1





    • Buat sebuah project baru di Delphi : File | New | Aplication

    • Tambahkan dua buah komponen Edit dan dua buah komponen Button dan dua buah komponen Label

    • Tambahkan sebuah form lagi : File | New | Form.



    Set property tiap komponen sebagai berikut :










































































    Nama Komponen Nama Property Nilai
    - Form1 Name FLogin
    - Form2 Name FMenu
    - Label1 Name Label1
      Caption Username
    - Label2 Name Label2
      Caption Password
    - Edit1 Name EUsername
    - Edit2 Name EPassword
      PasswordChar *
    - Button1 Name BtnOk
      Caption Login
    - Button2 Name BtnCancel
      Caption Batal



    Sehingga tampilannya seperti ini :





    • Simpan project di C:\APP\Login dengan nama PLogin.dpr.
    • Klik Flogin, tambahkan sebuah komponen AdoQuery (ada di tab ADO)

    • Set Property Namenya : AQLogin

    • Set Property ConnectionString : Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DelphiTutorial.mdb;Persist Security Info=False

    • klik form Fmenu kemudian tambahkan komponen MainMenu.

    • Dobel klik komponen MainMenu dan tambahkan satu menu dan beberapa submenu sehingga tampilannya seperti dibawah ini :






    • dobel klik komponen BtnOk di form FLogin kemudian isikan kode berikut :





    aqlogin.Close;

    aqlogin.SQL.Text := 'select * from login where username = :un and password = :pw';

    aqlogin.Prepared := true;

    aqlogin.Parameters[0].Value := EUsername.Text;

    aqlogin.Parameters[1].Value := EPassword.Text;

    aqlogin.Open;


    if aqlogin.RecordCount < 1 then // jika data tidak ada, tampilkan pesan error

    begin

    Messagedlg('Username tidak dikenal',mterror,[mbok],0);

    Exit;

    end

    else if aqlogin.RecordCount > 0 then // jika data ada, cek status

    begin

    if aqlogin.FieldValues['status'] = '0' then // jika status 0, maka menu administrator disembunyikan

    begin

    fMenu.caption := 'Contoh Database Login ...on ['+

    uppercase(aqlogin.FieldValues['username'])+'] as Operator';

    fmenu.Administrator1.visible := false;

    end

    else if aqlogin.FieldValues['status'] = '1' then

    fMenu.caption := 'Contoh Database Login ...on ['+

    uppercase(aqlogin.FieldValues['username'])+'] as Administrator';

    else

    begin

    Messagedlg('User level tidak jelas, login gagal',mterror,[mbok],0);

    exit;

    end;

    end;

    flogin.Hide;

    fMenu.show;





    • Dobel klik komponen BtnCancel, kemudian tambahkan kode berikut :




    application.Terminate;



    Kode pada BtnOk akan memeriksa username dan password dengan data yang ada di tabel login. Jika data ada aplikasi kemudian akan memeriksa status user. Jika status user tersebut "0" maka yang menu yang ditampilkan di form FMenu hanya menu untuk operator saja dan apabila status user "1" maka semua menu di form FMenu akan ditampilkan.



    Main Form untuk project ini adalah Flogin jadi jika anda menutup form FMenu, maka seolah-olah aplikasi sudah tertutup, padahal sebenarnya aplikasi tersebut masih berjalan di background, karena Flogin yang jadi Main Form belum tertutup. Untuk membuktikannya, klik kanan di taskbar dan pilih Task Manager. Klik pada tab Proses kemudian cari entry dengan nama Plogin.exe.



    Untuk mengatasi masalah tersebut, klik di FMenu kemudian pada Object Inspector klik tab Events kemudian dobel klik pada event OnClose, lalu tambahkan kode berikut :




    application.Terminate;



    Dengan demikian aplikasi akan di terminate ketika anda menutup form Fmenu

    .

    Recent Comments

    Tags Cloud

    Blogumulus by Roy Tanck and Amanda Fazani