Senin, 28 November 2011

Program ATM menggunakan Pascal

Buat sebuah program aplikasi ATM yang memiliki fungsionalitas sebagai berikut :
a. Membuat Rekening Baru
b. Menabung (Debit)
c. Mangambil Uang (Withdraw)
d. Transfer ke nomor rekening lain
Catatan :
- Terdapat type bentukan nasabah yang berisi field nama, nomor rekening, dan saldo
- Data disimpan dalam file bertipe nasabah
- Data tidak hilang saat program ditutup
- Pada fungsionalitas debit, withdraw, dan transfer harus dicek apakah file yang berisi data nasabah sudah ada atau belum
- Pada fungsionalitas debit, withdraw, dan transfer harus dilakukan pengecekan apakah nomor rekening yang dimaksud terdapat dalam data atau tidak.
- Pada fungsionalitas withdraw dan transfer harus dilakukan pengecekan saldo apakah saldo cukup atau tidak

Jawaban : DOWNLOAD

program atm;
uses crt;
type nasabah=record
    nama:string;
    norek:string;
    saldo:real;
end;
var
    f:file of nasabah;
    nsb,nsb1,temp:nasabah;
    pil,i,i2:integer;
    jumtrans:integer;
begin
repeat
    clrscr;
    writeln('1.buat rekening baru');
    writeln('2.debit');
    writeln('3.withdraw');
    writeln('4.transfer');
    writeln('5.view data rekening');
    writeln('6.exit');
    write('pilihan : ');readln(pil);
    case pil of
        1:begin
                assign(f,'data.dat');
                {$i-}
                reset(f);
                {$i+}
                if IOresult<>0 then
                begin
                    rewrite(f);
                end
                else
                begin
                    seek(f,filesize(f));
                end;
                write('nomor rekening : ');readln(temp.norek);
                write('nama : ');readln(temp.nama);
                write('saldo :');readln(temp.saldo);
                write(f,temp);
                write('sukses.......');
 close(f);
                readln;
            end;
        2:begin
 assign(f,'data.dat');
                {$i-}
                reset(f);
                {$i+}
                if IOresult<>0 then
                begin
                    writeln('belum ada data');
                end
                else
                begin
                    writeln('nomor rekening : ');readln(temp.norek);
                    writeln('jumlah : ');readln(temp.saldo);
  i:=0;
                    while not eof(f) do
                    begin
                        read(f,nsb);
                        if(nsb.norek=temp.norek) then break;
   inc(i);
                    end;
  seek(f,i);
                    nsb.saldo:=nsb.saldo+temp.saldo;
                    write(f,nsb);
                end;
 close(f);
 write('sukses.......');
 readln;
           end;
3:begin
assign(f,'data.dat');
                {$i-}
                reset(f);
                {$i+}
                if IOresult<>0 then
                begin
                    writeln('belum ada data');
                end
                else
                begin
                    writeln('nomor rekening : ');readln(temp.norek);
                    writeln('jumlah : ');readln(temp.saldo);
  i:=0;
                    while not eof(f) do
                    begin
                        read(f,nsb);
                        if(nsb.norek=temp.norek) then break;
   inc(i);
                    end;
  seek(f,i);
                    nsb.saldo:=nsb.saldo-temp.saldo;
                    write(f,nsb);
 end;
 close(f);
 write('sukses.......');
 readln;
end;
4:begin
 assign(f,'data.dat');
                {$i-}
                reset(f);
                {$i+}
                if IOresult<>0 then
                begin
                    writeln('belum ada data');
                end
                else
                begin
                    writeln('nomor rekening anda: ');readln(nsb.norek);
  writeln('nomor rekening tujuan: ');readln(nsb1.norek);
                    writeln('jumlah : ');readln(jumtrans);
  i:=0;
                    while not eof(f) do
                    begin
                        read(f,temp);
                        if(nsb.norek=temp.norek) then break;
   inc(i);
                    end;
  seek(f,i);
                    temp.saldo:=temp.saldo-jumtrans;
                    write(f,temp);
  reset(f);
  i2:=0;
  while not eof(f) do
                    begin
                        read(f,temp);
                        if(nsb1.norek=temp.norek) then break;
   inc(i2);
                    end;
  seek(f,i2);
                    temp.saldo:=temp.saldo+jumtrans;
                    write(f,temp);
 end;
 write('sukses.......');
 close(f);
 readln;
end;
5:begin
assign(f,'data.dat');
                {$i-}
                reset(f);
                {$i+}
                if IOresult<>0 then
                begin
                    writeln('belum ada data');
                end
                else
                begin
                    writeln('nomor rekening : ');readln(temp.norek);
  i:=0;
                    while not eof(f) do
                    begin
                        read(f,nsb);
                        if(nsb.norek=temp.norek) then
   begin
    writeln('nama : ',nsb.nama);
    writeln('nomor rekening : ',nsb.norek);
    writeln('saldo : Rp.',nsb.saldo:0:2);
    break;
   end;
   inc(i);
                    end;

                end;
 close(f);
 readln;
end;
end;
until(pil=6);
end.

Jumat, 11 November 2011

Program Fibonacci pada Pascal


 Fibonacci adalah deretan angka yang dimulai dari angka 0 dan 1 , kemudian angka berikutnya didapat dengan cara menjumlahkan dua angka di belakangnya.

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610...

Pada kesempatan kali ini saya akan memberikan contoh program fibonacci dengan menggunakan bahasa pemrograman pascal.

Ketentuan
  • User menginputkan jumlah deret fibonacci yang akan di tampilkan kelayar

Code :
program contoh;
uses crt;
var
x,y,z,n,i:integer;
begin
clrscr;
write('masukan nilai : ');readln(n);
x:=0;
y:=1;
z:=1;
i:=1;
while (i<= n) do
      begin
           write(z,' ');
           i:=i+1;
           z:=x+y;
           x:=y;
           y:=z;
      end;
readln;

end.
Hasil :