Pages

Sunday, September 28, 2014

Case Study 'ATM Program'

program atm;
uses wincrt;

var
pin     : integer;
no      : integer;
ulang   : char;
setoran : real;
tarik   : real;
saldo   : real;
begin
   writeln ('--SELAMAT DATANG DI BANK KAMI--');
   repeat
   write ('SILAHKAN MASUKAN PIN ATM ANDA : ' ); readln (pin);
       if pin = 12345 then
       begin              
             writeln ('MENU TRANSAKSI :');
             writeln ('1. SETOR');
             writeln ('2. TARIK TUNAI');
             writeln ('3. CEK SALDO');
             writeln ('4. CETAK RESI (MENCETAK SALDO TERAKHIR)');
             writeln ('5. KELUAR');
          repeat
             write ('PILIH TRANSAKSI (1/2/3/4/5) '); readln (no);
             case no of
             1 : begin
                 saldo := 0;
                 write ('masukan jumlah setoran : Rp. '); readln (setoran);
                 saldo := saldo+setoran;
                 end;



             2 : begin
                   if saldo <= 10000 then
                   begin
                      writeln ('mohon maaf anda tidak dapat melakukan penarikan, sisa saldo anda hari ini Rp. ', saldo:1:0);
                   end
                   else if saldo > 10000 then
                   begin
                      write ('masukan jumlah tarikan : Rp. '); readln (tarik);
                   end;

                 
                   if tarik > saldo  then
                   begin
                      writeln ('mohon maaf anda tidak dapat melakukan penarikan,');
                      writeln ('sisa saldo anda hari ini Rp. ', saldo:1:0);
                   end
                   else if saldo-tarik < 10000 then
                   begin
                      writeln ('mohon maaf anda tidak dapat melakukan penarikan,');
                      writeln('anda harus menyisakan dana dalam rekening anda minimal Rp. 10000');
                      writeln ('sisa saldo anda hari ini Rp. ', saldo:1:0);
                   end
                   else
                   begin
                      saldo := saldo-tarik;
                   end;
                 end;

             3 : begin
                 writeln ('sisa saldo hari ini Rp. ',saldo:1:0);
                 end;

             4 : begin
                 writeln ('----------------------------------------------');
                 writeln ('                 PT. BANK KAMI                ');
                 writeln ('----------------------------------------------');
                 writeln ('TARIK TUNAI Rp. ', tarik:1:0);
                 writeln ('SISA SALDO REKENING ANDA Rp. ',saldo:1:0);
                 writeln ('');
                 writeln ('TERIMAKASIH ATAS KUNJUNGAN ANDA');
                 writeln ('----------------------------------------------');
                 end;

             5 : begin
                 writeln ('KElUAR...');
                 end;
             end;
          until (no = 5) or (no = 4);
         
           
       end
       else
       begin
          write ('PIN ANDA SALAH ULANGI LAGI [Y/N] ? '); readln (ulang);
       end;
 
   until (ulang = 'n') or (ulang = 'N');
end.

1 comment: