Jumat, Desember 13, 2013

program pascal "toko barang"

Diposting oleh ajeng diana di 07.45
program toko_maju;
uses crt;
type barang=record
     nama,satuan:string;
     harga:longint;
     stok:byte;
     end;
   
      larik_barang=array[1..20] of barang;
type jual=record
    nama_j:string;
    harga_j:integer;
    jum: byte;
    total:real;
    end;
    larik_jual=array[1..20] of jual;

var bar:larik_barang;jual_brg:larik_jual;
        i,n,m:byte;
        pil:1..10;
        pendapatan:real;

procedure tambah_bar(var x:larik_barang);
var nama_bar:string;
    ketemu:boolean;
begin
ketemu:=false;
write('masukan nama barang yang baru ');readln(nama_bar);
{cek apakah nama_bar sudah ada}
for i:=1 to n do
    if (x[i].nama=nama_bar) then ketemu:=true;
if not ketemu then
begin
    inc(n);
    x[n].nama:=nama_bar;
    write('satuan ? ');readln(x[n].satuan);
    write('harga satuan ? ');readln(x[n].harga);
end
else writeln('barang sudah ada didaftar');
end;

procedure tambah_stok(var x:larik_barang);
var nama_bar:string;
    tamstok,posisi:byte;
    ketemu:boolean;
begin
write(' masukkan nama barang yang akan ditambah stok==>');
readln(nama_bar);
{cek didalam array apakah nama tsb sudah ada diatas belum}
ketemu:=false;
for i:=1 to n do
    if (x[i].nama=nama_bar) then begin ketemu:=true;posisi:=1;end;
if ketemu then
{lakukan penambahan stok}
begin
    write('barang ',nama_bar,' ditambah stok sbanyak = ');
    readln(tamstok);
    x[posisi].stok:=x[posisi].stok+tamstok;
end
else
    writeln('barang belum ada di daftar, lakukan menu pilihan no 1');
end;

procedure cek_stok(var x:larik_barang);
var
nama_bar:string;
ketemu:boolean;

begin
write('masukan nama stok barang yang akan dicek= ');
readln(nama_bar);
{cek didalam array apakah nama tsb sudah ada diatas belum}
ketemu:=false;
for i:=1 to n do
    if (x[i].nama=nama_bar) then begin ketemu:=true;
if ketemu then
      
end

procedure cetak_bar(var x:larik_barang);
begin
writeln('+++++++++++++++++++++++++++++++++++++++++++++++++++++++');
writeln('No  nama barang          satuan       harga       stok ');
writeln('+++++++++++++++++++++++++++++++++++++++++++++++++++++++');
for i:=1 to n do
    writeln(i:2,'  ',x[i].nama:10,'  ',x[i].satuan:15,' ','Rp',x[i].harga:10, ' ',x[i].stok:10);
writeln('+++++++++++++++++++++++++++++++++++++++++++++++++++++++');
end;

procedure penjualan(var x:larik_barang);
var nama_bar:string;
    jumbeli:byte;
    ketemu:boolean;
    posisi:byte;
begin
    ketemu:=false;
    writeln('selamat berbelanja');
    writeln('masukkan nama barang yang akan dibeli');readln(nama_bar);
        {cek barang ada atau tidak di array barang}
        for i:=1 to n do
            if (x[i].nama=nama_bar) then
            begin ketemu:=true;posisi:=i;end;
        if ketemu then
        begin
            write('berapa buah ',nama_bar,' yang mau dibeli ?');
            readln(jumbeli);
            {cek stok}
            if(x[posisi].stok>= jumbeli) then
            begin
                inc(m);
                jual_brg[m].nama_j:=nama_bar;
                jual_brg[m].harga_j:=x[posisi].harga;
                jual_brg[m].jum:=jumbeli;
                jual_brg[m].total:=jual_brg[m].harga_j*jumbeli;
                x[posisi].stok:=x[posisi].stok-jumbeli;
            end
            else writeln('stok barang tidak cukup');
        end;
            if not ketemu then writeln('barang tidak ada didalam daftar');
            end;
           
            procedure cetak_jual(var y:larik_jual);
            begin
            writeln('============================================================');
            writeln('no   nama barang     harga     jumlah      total   ');
            writeln('============================================================');
            for i:=1 to m do
            begin
                writeln(i:2,'  ',y[i].nama_j:10,'  ','Rp',y[i].harga_j:10,'  ',y[i].jum:8,'  ','Rp',y[i].total:12:2);
                pendapatan:=pendapatan+y[i].total;
            end;
            writeln('===========================================================');
            end;
           
            begin
            repeat
            begin
                clrscr;
                writeln(' TRANSAKSI PENJUALAN TOKO DOMINO');
                writeln('1.Tambah barang');
                writeln('2.Tambah stok');
                writeln('3.Transaksi penjualan');
                writeln('4.Cek ketersediaan barang tertentu');
                writeln('5.Tampilkan barang');
                writeln('6.Tampilkan penjualan');
                writeln('7.Urut barang berdasar nama barang');
                writeln('8.Urut penjualan berdasar jumlah terjual');
                writeln('9.Rekap penjualan hari ini');
                writeln('10.selesai');
                writeln;write('pilihan nomer <1-10> ==> ');readln(pil);
            case pil of
            1: tambah_bar(bar);
            2: tambah_stok(bar);
            3: penjualan(bar);
            {4: cek_stok(bar);}
            5: cetak_bar(bar);
            6: cetak_jual(jual_brg);
            {7: urut_bar(bar);
            8: urut_jual(jual_brg);}
            9: begin
               writeln;
               writeln('jumlah pendapatan hari ini adalah sebesar Rp',pendapatan:8:2);
               end;
            10: writeln('terima kasih sudah mencoba');
            end; {end case}
            readln;
            end
            until (pil=10);
            end.

0 komentar:

Posting Komentar

 

ajeng diana Copyright © 2015 Design by ajengdiana dianastore