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