Otorisasi dalam Delphi

Otorisasi Menu sangat penting karena sistem dibuat bukan hanya untuk satu orang. Klo cuman dibuat untuk satu orang saja biasanya nyebutnya sistem standalone atau biasa nyebutnya program komputer. Menurut Definisi Sistem Informasi terdiri dari elemen hardware, software, prosedur dan manusia yang terlibat dalam sistem informasi. Sistem informasi dibentuk dan menghasilkan output berupa laporan, saran untuk pengambilan keputusan, bahkan sistem informasi bisa langsung menghasilkan keputusan jika parameter setiap masalah bisa didefinisikan ke dalam sistem.

Karena dalam suatu organisasi sistem informasi dipakai oleh banyak orang yang berbeda-beda sehingga membutuhkan pengaturan kewenangan atau otorisasi.

Otorisasi biasanya dibagi per Jabatan. Seorang Accountan biasanya hanya bisa melihat laporan keuangan dan transaksi jurnal, seorang administrasi penjualan bisa melihat menu input penjualan dan laporan penjualan tapi tidak bisa menginput jurnal dan lain sebagainya.

Bagaimanakah penerepannya di Delphi? so what gituloh
Menu bisa kita buat variabel dan disimpan dalam database dan menu dibuatnya pada saat form tersebut dicreate.

Sehingga pemunculan menu dihasilkan dari tabel kewenangan dan jabatan dan juga tabel menu, sehingga seorang dengan jabatan a hanya muncul menu sesuai jabatannya. Untuk membuat menu dinamis tersebut biasanya bisa menggunakan komponen menu dan variabel-variabel menu dibuat dengan tipe pointer..

5 komentar:

Agung Prabowo mengatakan...

Contoh scriptnya seperti apa?

Admin mengatakan...

procedure TFMenu.FormActivate(Sender: TObject);
var namamenu:string;
i:integer;
begin

isimenu[1]:=pointer(MenuMaster);
isimenu[2]:=pointer(MenuAdmin);
isimenu[3]:=pointer(MenuUtility);
isimenu[4]:=pointer(MenuProcurement);
isimenu[5]:=pointer(MenuOrderTaking);
isimenu[6]:=pointer(MenuFakturPajak);
isimenu[7]:=pointer(MenuLaporan);

if nama <> 'admin' then
for i:=1 to 7 do
begin
isimenu[i].visible:=false;
end;

with DM.ADOQView do
begin
close;
sql.text:='select menu from kewenangan where kewenangan="'+kewenangan+'" ';
//showmessage(sql.Text);
open;
first;
while not EOF do
begin
namamenu:='Menu'+fields[0].asstring;
// showmessage(namamenu+' '+isimenu[i].name);
for i:=1 to 7 do
begin


if isimenu[i].name=namamenu then
isimenu[i].visible:=true;



end;
DM.ADOQView.Next;
end;
end;


end;

Anonim mengatakan...

mohon penjelasan isimenu[], nama, kewenangan

Anonim mengatakan...

contoh tabelnya? mohon query untuk membuat tabel nya?

Admin mengatakan...

table kewenangan
CREATE TABLE `kewenangan` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`kewenangan` varchar(20) NOT NULL DEFAULT '',
`menu` varchar(20) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE KEY `kunci` (`menu`,`kewenangan`)
)

Baca Juga