BLANTERORBITv102

Selasa, 02 Agustus 2011
Baru aja saya tulis jawabannya dari tugas praktikum Algoritma dan Pemrograman 2. http://jalannyauzanks.blogspot.com/2011/07/tugas-praktikum-algoritma-dan.html  


Ini jawabannya, sebelumnya jawabannya udah ada cuma belum saya posting hehe. Silahkan dicermati dan dipahami jawabannya.

Nomor 1:
Source Code:

uses crt;

//Nama:M. Iqbal A. A.
//NIM: J1F109006

procedure ambil_perangko1(var uang:longint;var perangko1:integer);
begin
perangko1:=uang div 5000;
uang:=uang mod 5000;
end;

procedure ambil_perangko2(var uang:longint;var perangko2:integer);
begin
perangko2:=uang div 1000;
uang:=uang mod 1000;
end;

procedure ambil_perangko3(var uang:longint;var perangko3:integer);
begin
perangko3:=uang div 500;
uang:=uang mod 500;
end;


//procedure diatas dibuat untuk menghitung beli perangko
//menu utama dibawah untuk menampilkan hasilnya

var uang:longint;
    perangko1,perangko2,perangko3:integer;

begin
clrscr;
write('Masukkan uang : ');readln(uang);
ambil_perangko1(uang,perangko1);
ambil_perangko2(uang,perangko2);
ambil_perangko3(uang,perangko3);
writeln('Perangko anda :');
writeln('  5000 : ',perangko1,' lembar');
writeln('  1000 : ',perangko2,' lembar');
writeln('  500  : ',perangko3,' lembar');
writeln('Kembalian : ',uang);
readkey;
end.



Output:






Nomor 2:
Source Code:

uses crt;

//Nama: M. Iqbal A.A.
//NIM: J1F109006

procedure ambil_perangko1(var uang:longint;var stock:integer;var perangko1:integer);
begin
if (uang div 5000 < stock) then
  begin
  perangko1 := uang div 5000;
  uang := uang mod 5000;
  stock := stock - perangko1;
  end
else
  begin
  if (uang mod 5000 >= 0) then
    begin
    perangko1 := stock;
    uang := uang - (perangko1 * 5000);
    stock := 0;
    end;
  end;
end;

procedure ambil_perangko2(var uang:longint;var stock:integer;var perangko2:integer);
begin
if (uang div 1000 < stock) then
  begin
  perangko2 := uang div 1000;
  uang := uang mod 1000;
  stock := stock - perangko2;
  end
else
  begin
  if (uang mod 1000 >= 0) then
    begin
    perangko2 := stock;
    uang := uang - (perangko2 * 1000);
    stock := 0;
    end;
  end;
end;

procedure ambil_perangko3(var uang:longint;var stock:integer;var perangko3:integer);
begin
if (uang div 500 < stock) then
  begin
  perangko3 := uang div 500;
  uang := uang mod 500;
  stock := stock - perangko3;
  end
else
  begin
  if (uang mod 500 >= 0) then
    begin
    perangko3 := stock;
    uang := uang - (perangko3 * 500);
    stock := 0;
    end;
  end;
end;

//procedure diatas untuk menghitung perangko yg dibeli dan sisa perangko
//menu utama menghasilkan perhitungannya

var stok1,stok2,stok3,perangko1,perangko2,perangko3:integer;
    uang:longint;

begin
clrscr;
stok1:=10;
stok2:=10;
stok3:=10;
writeln('Stok perangko :');
writeln('  5000 : ',stok1,' lembar');
writeln('  1000 : ',stok2,' lembar');
writeln('  500  : ',stok3,' lembar');
writeln;
write('Masukkan uang : ');readln(uang);
ambil_perangko1(uang,stok1,perangko1);
ambil_perangko2(uang,stok2,perangko2);
ambil_perangko3(uang,stok3,perangko3);
writeln('Perangko anda :');
writeln('  5000 : ',perangko1,' lembar');
writeln('  1000 : ',perangko2,' lembar');
writeln('  500  : ',perangko3,' lembar');
writeln('Kembalian : ',uang);
writeln;
writeln('Sisa stok :');
writeln('  5000 : ',stok1,' lembar');
writeln('  1000 : ',stok2,' lembar');
writeln('  500  : ',stok3,' lembar');
readkey;
end.



Output:


Nomor 3:
Dalam soal nomor 3 harus ada stok perangko yg dibuat di file teks seperti gambar dibawah ini:






Buat pakai notepad dan gabung di file tempat save program Pascal. Nah di notepad tuh  masih angka 0, ganti aja sama angka 10 dan save. Jadi pada saat dijalankan, stok perangko masing2 harga ada 10 lembar.

Source Code:

uses crt;

//Nama: M. Iqbal A. A.
//NIM: J1F109006

procedure ambil_perangko1(var uang:longint;var stock:integer;var perangko1:integer);
begin
if (uang div 5000 < stock) then
  begin
  perangko1 := uang div 5000;
  uang := uang mod 5000;
  stock := stock - perangko1;
  end
else
  begin
  if (uang mod 5000 >= 0) then
    begin
    perangko1 := stock;
    uang := uang - (perangko1 * 5000);
    stock := 0;
    end;
  end;
end;

procedure ambil_perangko2(var uang:longint;var stock:integer;var perangko2:integer);
begin
if (uang div 1000 < stock) then
  begin
  perangko2 := uang div 1000;
  uang := uang mod 1000;
  stock := stock - perangko2;
  end
else
  begin
  if (uang mod 1000 >= 0) then
    begin
    perangko2 := stock;
    uang := uang - (perangko2 * 1000);
    stock := 0;
    end;
  end;
end;

procedure ambil_perangko3(var uang:longint;var stock:integer;var perangko3:integer);
begin
if (uang div 500 < stock) then
  begin
  perangko3 := uang div 500;
  uang := uang mod 500;
  stock := stock - perangko3;
  end
else
  begin
  if (uang mod 500 >= 0) then
    begin
    perangko3 := stock;
    uang := uang - (perangko3 * 500);
    stock := 0;
    end;
  end;
end;

//procedure dibuat untuk mehitung perangko dan menyimpan stok perangko
//menu utama disisipkan file teks untuk menyimpan sisa stok perangko dan mencetaknya

var stok:array[1..3]of integer;
    uang,sisa:longint;
    i,perangko1,perangko2,perangko3:integer;
    data:text;

begin
clrscr;
assign(data,'dataperangko.txt');
reset(data);
for i:=1 to 3 do
  readln(data,stok[i]);
close(data);
writeln('Stok perangko :');
writeln('  5000 : ',stok[1],' lembar');
writeln('  1000 : ',stok[2],' lembar');
writeln('  500  : ',stok[3],' lembar');
writeln;
write('Masukkan uang : ');readln(uang);
ambil_perangko1(uang,stok[1],perangko1);
ambil_perangko2(uang,stok[2],perangko2);
ambil_perangko3(uang,stok[3],perangko3);
writeln('Perangko anda :');
writeln('  5000 : ',perangko1,' lembar');
writeln('  1000 : ',perangko2,' lembar');
writeln('  500  : ',perangko3,' lembar');
writeln('Kembalian : ',uang);
writeln;
writeln('Sisa stok :');
writeln('  5000 : ',stok[1],' lembar');
writeln('  1000 : ',stok[2],' lembar');
writeln('  500  : ',stok[3],' lembar');
readkey;
assign(data,'dataperangko.txt');
rewrite(data);
for i:=1 to 3 do
  writeln(data,stok[i]);
close(data);
end.



Output:




Author

Iqbal Alghifari

BLOGGER DARI KALIMANTAN SELATAN