Tutorial Pemrograman Delphi : Membuat Validasi Login User Berbasis Database dengan Borland Delphi

Untuk 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.


maka 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 contoh pembuatan aplikasi untuk validasi login user berbasis databases di borland delphi. Disini digunakan borland delphi versi 7.

Sebelum mulai dengan Delphi anda harus membuat dahulu sebuah database misalnya menggunakan 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
User
User
0
Admin
admin
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 Priority 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 tampil 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



0 komentar:

Article on same category :