Dokumen ini akan memberikan langkah-langkah yang akan dilakukan dalam tahap Desain, berikut hasil yang dikeluarkan pada tahap ini.
Di bawah ini diberikan diagram tahapan pekerjaan desain :
Dengan mempertimbangkan seluruh pertimbangan teknis yang akan berlaku pada lingkungan Sistem Informasi baru yang akan dikembangkan, tahap Disain mengubah seluruh model logikal yang dihasilkan pada tahap Analisa, menjadi model implementasi yang menjadi dasar kegiatan konstruksi pada tahap Implementasi. Secara umum, tahap Disain ini menjawab pertanyaan mengenai bagaimana cara kerja Sistem Informasi yang akan dikembangkan.
Berbeda dengan Tahap Analisa yang memiliki tujuan utama untuk menghasilkan model dalam problem domain yang mengabaikan seluruh kebutuhan non fungsional seperti performansi dan banyak isu teknis lainnya, seluruh kegiatan dalam Tahap Disain bertujuan untuk menghasilkan seluruh model dalam solution domain yang menjawab kebutuhan fungsional dan non fungsional Sistem Informasi.
Beberapa faktor teknis yang harus dipertimbangkan dalam penyusunan Sistem Informasi dari
model logikal sistem antara lain.
1. Lingkungan komputasi yang digunakan
2. Bahasa pemrograman yang digunakan
3. Teknologi basis data yang digunakan
4. Jenis aplikasi yang dihasilkan
Meskipun tidak secara khusus di atur dalam Rekayasa Perangkat Lunak hal-hal yang harus diikutkan dalam Tahap Disain adalah proses penyiapan infrastruktur aplikasi untuk menjamin ketersediaan aplikasi sesuai dengan kebutuhan sistemik / non fungsional Sistem Informasi.
Proses penyiapan infrastruktur tersebut meliputi seluruh kegiatan berikut.
1. Perancangan kapasitas (Capacity Planning) untuk penyimpanan dan/atau database Sistem Informasi
2. Perancangan rencana backup (Backup Plan) Sistem Informasi
3. Konfigurasi jaringan yang memenuhi kebutuhan pendistribusian data dalam Sistem Informasi
Sistem yang dibangun harus memiliki kriteria atau karakteristik seperti dibawah :
Sistem aplikasi ini akan menggunakan environment sebagai berikut:
· Operating System sistem existing yang digunakan Microsoft Windows XP.
· Database engine menggunakan Notepad.
· Programming Language Borlan Delphi 7.
Perubahan platform atau penambahan perangkat tidak boleh berdampak pada sistem sehingga harus di-kompilasi ulang.
Sistem dapat beroperasi secara terus menerus selama 24 jam, dengan syarat stok uang/ database uang yang ada di box mesin atm masih ada (asumsi : uang masih tersedia di mesin atm).
Faktor security / keamanan data :
· Perihal management user dan hak akses user mengacu kepada PIN atau kode yang otentik, sehingga PIN atau kode tersebut harus dirahasiakan.
· Dilakukan enhancement dengan menyediakan fungsi otentikasi user melalui User Identity Management yang baru diimplementasikan di BANK.
-Diagram konteks ATIB (ATM nya Testing Implementasi Bank)
-Line Of code dari input data nasabah
procedure TForm2.Button1Click(Sender: TObject);
var tdk_ada :boolean;
data :string;
i :byte;
begin
if edit2.text<>Edit3.text then
Begin showmessage('PIN Harus Sama'); edit3.setfocus; End
Else
Begin
tdk_ada:=true;
AssignFile(filevar,'nasabah.txt');
if fileExists('nasabah.txt') then
Begin
Reset(filevar);
i:=1;
While not eof(filevar) do
Begin
readln(filevar,Data);
datanasabah[i].nama:=data;
readln(filevar,Data);
datanasabah[i].pin:=data;
readln(filevar,Data);
datanasabah[i].saldo:=data;
if datanasabah[i].pin = edit2.text then
Begin
showmessage('Nomor PIN sudah dipakai orang');
edit2.SetFocus;
edit3.clear;
tdk_ada:=false;
End;
Inc(i);
End;
closeFile(filevar);
if tdk_ada=true then
Begin
AssignFile(filevar,'nasabah.txt');
if not FileExists('nasabah.txt') then rewrite(filevar)
else append(filevar);
Writeln(filevar,edit1.text);
Writeln(filevar,edit2.text);
Writeln(filevar,edit4.text);
closeFile(FileVar);
edit1.clear; edit2.clear; edit3.clear; edit4.clear;
edit1.setfocus;
close;form1.show;
End;
End;
End;
End;
-Line of code dari form transaksi [proses]
procedure TForm4.Button1Click(Sender: TObject);
var i,Nkali : byte;
data :string;
saldox :real;
Proses,tampilkan:boolean;
begin
Proses:=true;
tampilkan:=true;
if radiobutton1.Checked=true then pengurang:=100000
Else if radiobutton2.Checked=true then pengurang:=200000
Else if radiobutton3.Checked=true then pengurang:=300000
Else if radiobutton4.Checked=true then pengurang:=400000
Else if radiobutton5.Checked=true then pengurang:=500000
Else if edit2.text<>'' then pengurang:=strtofloat(edit2.text)
Else
Begin
Proses:=false;
ShowMessage('Jumlah penarikan uang harus ditentukan');
Edit1.setfocus;
End;
If proses=true then
Begin
AssignFile(filevar,'nasabah.txt');
Reset(filevar);
i:=1;
while not Eof(filevar) do
Begin
readln(filevar,Data);
datanasabah[i].nama:=data;
readln(filevar,Data);
datanasabah[i].pinx:=data;
readln(filevar,Data);
datanasabah[i].saldo:=data;
With datanasabah[i] do
Begin
if label2.caption = pinx then
Begin
saldox:=strtofloat(edit1.text)-pengurang;
if saldox<=0 then
Begin
showmessage('Saldo Anda tidak mencukupi');
datanasabah[i].saldo:=edit1.text;
tampilkan:=false;
End
Else
Begin
datanasabah[i].saldo:= floatToStr(saldoX);
edit1.Text:=floattostr(Saldox);
End;
End
end;
Inc(i);
End;
closeFile(FileVar);
AssignFile(filevar2,'nasabah2.txt');
Rewrite(filevar2);
Nkali := i-1;
for i:= 1 to Nkali do
begin
writeln(filevar2,Datanasabah[i].nama);
writeln(filevar2,Datanasabah[i].pinX);
writeln(filevar2,Datanasabah[i].saldo);
end;
closeFile(FileVar2);
erase(filevar);
renameFile('nasabah2.txt','nasabah.txt');
if tampilkan=true then form5.show;
End;
end;
-Line of code dari input PIN
type file_data = record
nama : string[20];
PinX : string[6];
saldo: string;
end;
var
Form3: TForm3;
filevar : textfile;
DataNasabah: array[1..255] of file_data;
Pin : Array[1..6]of string;
Pinke : byte;
begin
Pinke:=0;
panel1.caption := '';
end;
procedure TForm3.Button12Click(Sender: TObject);
begin
close; form1.show;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Inc(pinke);
if pinke > 6 then pinke:= 6;
panel1.Caption:= panel1.caption + '*';
pin[pinke]:='1';
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
Inc(pinke);
if pinke > 6 then pinke:= 6;
panel1.Caption:= panel1.caption + '*';
pin[pinke]:='2';
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
Inc(pinke);
if pinke > 6 then pinke:= 6;
panel1.Caption:= panel1.caption + '*';
pin[pinke]:='3';
end;
procedure TForm3.Button4Click(Sender: TObject);
begin
Inc(pinke);
if pinke > 6 then pinke:= 6;
panel1.Caption:= panel1.caption + '*';
pin[pinke]:='4';
end;
procedure TForm3.Button5Click(Sender: TObject);
begin
Inc(pinke);
if pinke > 6 then pinke:= 6;
panel1.Caption:= panel1.caption + '*';
pin[pinke]:='5';
end;
procedure TForm3.Button6Click(Sender: TObject);
begin
Inc(pinke);
if pinke > 6 then pinke:= 6;
panel1.Caption:= panel1.caption + '*';
pin[pinke]:='6';
end;
procedure TForm3.Button7Click(Sender: TObject);
begin
Inc(pinke);
if pinke > 6 then pinke:= 6;
panel1.Caption:= panel1.caption + '*';
pin[pinke]:='7';
end;
procedure TForm3.Button8Click(Sender: TObject);
begin
Inc(pinke);
if pinke > 6 then pinke:= 6;
panel1.Caption:= panel1.caption + '*';
pin[pinke]:='8';
end;
-User Interface