PASUPALI
Tampilkan postingan dengan label Pemrograman Dasar. Tampilkan semua postingan
Tampilkan postingan dengan label Pemrograman Dasar. Tampilkan semua postingan

Senin, 04 Maret 2013

2 Record Array


TUGAS REMEDIAL
PEMROGRAMAN DASAR
JUDUL
PROGRAM BANK ATM

                         NAMA                          : Lucio Almeida da costa
                         Nim                               : 121051003
                         Jurusan                         : TEKNIK INFORMATIAKA
                         Klas                               :  “A”

INSTITUT SAINS & TEKNOLOGI
"AKPRIND"
YOGYAKARTA
2012

program bank_mandiri;
uses wincrt;
Type tabungan_bank=record
     Nama_rekng:string;
     No_rekng:string;
     Alamat:string;
     jumlh_tabungan:longint; 
     end;
     array_tabungan=array[1..30] of tabungan_bank;
type
penarikkan_bank=record
     nama_rekng:string;
     no_rekng:string;
     jumlh_tabungan,total:longint;
     jumlh_penarikkan:longint;
     cek_saldo:integer;
     end;
     array_penarikkan=array[1..30] of penarikkan_bank;
var tabungan:array_tabungan;
    penarikkan:array_penarikkan;
    i,j,n,pil,m:byte;
procedure menu; FORWARD;
procedure My_identity;
   begin
      clrscr;
      gotoXY(50, 8); write('THIS PROGRAM WAS CREATED BY :...     ');
      writeln('');
      gotoXY(50,10); write('Name           : Lucio A. Da Costa   ');
      gotoXY(50,12); write('NIM            : 121051003           ');
      gotoXY(50,14); write('Title          : Programming         ');
      gotoXY(50,16); write('Jurusan        : Teknik Informatika  ');
      gotoXY(50,18); write('Fakultas       : Teknik Industri     ');
      gotoXY(50,20); write('UNIVERSITAS IST AKPRIND YOGYAKARTA   ');
      gotoXY(50,22); write('Tanggal        : Senin, 04 Mar 2013  ');
      gotoXY(50,24); write('Bidang Studi   : Pemrograman Dasar   ');
      gotoXY(5,28); write('Press Enter To Retrun To The Menu..!!_');
      readln; menu;
   end;
procedure Input_data_Bank(var x:array_tabungan);
var lagi:char;
begin
repeat
begin
clrscr;
     inc(n);
     writeln ('::::::::::...MENGISI DATA BANK...:::::::::::');
     writeln;
     write   ('Nama rekening           : ');readln(x[n].nama_rekng);  
     write   ('No.Rekening             : ');readln(x[n].no_rekng);
     write   ('Alamat                  : ');readln(x[n].alamat);
     write   ('jumlah tabungan pertama : ');readln(x[n].jumlh_tabungan);
     writeln;
     write   ('Mau isi lagi...!! [Y/T]..?');readln(lagi);   
     end
     until(lagi<>'y');
end;
procedure cetak_data_bank(var x:array_tabungan);
begin
     clrscr;
     writeln ('===============================================================');
     writeln ('No    Nama_Rekng    NO.Rekng     Alamat      jumTabungan      ');
     writeln ('==============================================================');
     for i:=1 to n do with x[i] do
     writeln (i:2,'',Nama_Rekng:11,'',No_Rekng:12,'',Alamat:14,'  ','Rp:':6,jumlh_Tabungan:6);
     writeln ('================================================================');
     write('Tekan ENTER untuk kembali ke Sub MENU');
     end;
procedure hapus_data(var x:array_tabungan);
var rec_hapus:byte;
    begin
         write('Record mana yg anda ingin di hapus....?');readln(rec_hapus);
         for i:=rec_hapus to (n-1) do x[i]:=x[i+1];
         dec(n);
         write('record no',rec_hapus,'Data telah di hapus...!');
         end;
procedure Tambah_tabungan_uang(var x:array_tabungan);
          var no_tabungan:string;
              ada,tidak_ada:boolean;
              posisi,tambah:byte;
              begin
              write('Masukkan no.Rekening anada         :');readln(no_tabungan);
              for i:=1 to n do
              begin
                   if (x[i].No_rekng= No_tabungan) then
                   begin
                   ada:=true;posisi:=i;
                   tidak_ada:=false;posisi:=i;
                   end;            
                   end;
              if ada=true then
              begin
                   write ('Masukkan jumlah uang yg akan di simpan :');readln(tambah);
                   x[posisi].jumlh_Tabungan:=x[posisi].jumlh_Tabungan+tambah;
              end;
              if tidak_ada=false then
              else write('Mohon Maaf No.rekening anda tidak ada...???');readln;
          end;
procedure penarikkan_uang;
var penarikkan_uang:string;
    cukup,tidak_cukup:boolean;
    posisi:byte;
    begin
    clrscr;
           inc(j);
           writeln (':::::::...PENARIKKAN UANG DATRI MESIN ATM...::::::');
           write (' Nama rekening         :');readln(penarikkan[j].nama_rekng);
           write (' No.rekening           :');readln(penarikkan[j].no_rekng);
           write (' Jumlah penarikkan     :');readln(penarikkan[j].jumlh_penarikkan);
           penarikkan[j].no_rekng:=penarikkan_uang;
           for i:=1 to n do      
           begin
           cukup:=true;posisi:=i;
           tidak_cukup:=false;posisi:=i;
           end;
           if (tabungan[i].no_rekng=penarikkan_uang) and (tabungan[i].jumlh_tabungan>50) then
           if cukup then
           penarikkan[j].cek_saldo:=penarikkan[j].jumlh_penarikkan-tabungan[posisi].jumlh_tabungan;
           dec(tabungan[posisi].jumlh_tabungan);
           if tidak_cukup=false then
           else writeln('Maaf uang anda tidak cukup untuk penarikan anda...!!');readln;
    end;
    procedure cek_saldo (var y:array_penarikkan);
              begin
                   writeln('=====================================================================');
                   writeln(' NO    Nama Rekng        No.rekng      Jum_penarikan       sisa saldo');
                   writeln('=====================================================================');
                   for i:=1 to j do with y[i] do
                   begin
                   cek_saldo:=Jumlh_tabungan-jumlh_penarikkan;
                   writeln(i:2,' ',Nama_rekng:12,' ',No_rekng:14,'',Jumlh_penarikkan:16,'',cek_saldo:18);
                   writeln('=====================================================================');
    end;
end;
procedure sub_menu;
begin
repeat
begin
     clrscr;
            Writeln ('******************SUB MENU****************');
            writeln('');
            writeln (':::::::::::...BANK MANDIRI...:::::::::::::');
            writeln('');
            writeln ('1. Input data Bank            ===>        ');
            writeln ('2. Lihat data yg di inputkan  ===>        ');
            writeln ('3. Hapus data                 ===>        ');
            writeln ('4. Tambah tabungan uang       ===>        ');
            writeln ('5. Penarikkan uang            ===>        ');
            writeln ('6. Cek saldo                  ===>        ');
            writeln ('7. Keluar                     ===.        ');
            write ('masukkan pilihan anda (1==>7).....!!!...... ');readln(pil);
            case pil of
            1 : Input_data_Bank(tabungan);
            2 : cetak_data_bank(tabungan);
            3 : Hapus_data (tabungan);
            4 : Tambah_tabungan_uang(tabungan);
            5 : Penarikkan_uang;
            6 : Cek_saldo(penarikkan);
            7 : begin
                     menu;
                end;
          else
      gotoXY(20, 26); write('Data Belum di Input Mas.../mbak...Bro (Press Enter To Select Return)');readln;
      Sub_menu;
      end;
      readln;
      end
      until (pil=7);
   end;
procedure menu;
begin
     clrscr;
     writeln (':::::::::...MENU...:::::::::');
     writeln ('1. Author Identity          ');
     writeln ('2. Entry Data               ');
     writeln ('3. Keluar dari program      ');
     write ('Masukkan Pilihan anda (1-3)....!! ');readln(pil);
     case pil of
     1 : My_Identity;
     2 : begin
              clrscr;
              Sub_Menu;
              end;
     3 : begin
               gotoXY(24,16); write('_____Thank you for using this Simple Program_____');readln;
               donewincrt;
               end;
          else
          gotoXY(20,20);write('  Option Only 1 – 3….!!!!!'); readln;
          menu;
      end;
   end;
{Program Utama}
begin
   screensize.x := 600;
   screensize.y := 800;
   menu;
   begin
      Sub_Menu;
   end;
   donewincrt;
end.