Selasa, 13 Maret 2012

SYNTAX


SYNTAX

1. Program Daftar_Harga;
2. uses crt;
3. Type pembelian = record
a)         nama_barang                      :string[12];
b)         jumlah,harga_satuan,jumlah_harga :longint;
c)         end;
4. var
5. beli                                      : pembelian;
6. filebeli                                  : file of pembelian;
7. l                                         : array [1..20] of pembelian;
8. i,pil, total_harga, diskon, total_bayar,n : longint;
9.       begin
10.        repeat
11.        clrscr;
12.        textbackground(red);clrscr;textcolor(white);
13.        total_harga:=0;
14.        writeln('##>=========================================<##');
15.        writeln('##>                Menu Utama                <##');
16.        writeln('##>              TOKO MAJU JAYA              <##');
17.        writeln('##>=========================================<##');
18.        writeln(' ##                                          ##');
19.        writeln;
20.        writeln('=> 1. Input pembelian barang');
21.        writeln('=> 2. Lihat daftar pembelian barang');
22.        writeln('=> 3. Keluar');
23.        writeln('##>=========================================<##');
24.        writeln;
25.        write('=> Pilihan Anda = ');readln(pil);
26.        case pil of
a)  1:begin
27.        clrscr;
28.        write('Jumlah inputan = ');readln(n);
29.        assign(filebeli,'beli.doc');
30.        {$i-}
31.        reset(filebeli);
32.        {$i+}
33.        if ioresult<>0 then
a)  rewrite(filebeli);
b)  seek(filebeli,filesize(filebeli));

34.        for i :=1 to n do
35.        begin
36.        clrscr;
37.        writeln('##>=========================================<##');
38.        writeln('##>             TOKO MAJU JAYA              <##');
39.        writeln('##>         Input Pembelian Barang          <##');
40.        writeln('##>=========================================<##');
41.        writeln('=> No.          = ',i);
42.        write('=> Nama Barang  = ');readln(l[i].nama_barang);
43.        write('=> Jumlah       = ');readln(l[i].jumlah);
44.        write('=> Harga Satuan = ');readln(l[i].harga_satuan);
45.        writeln('##>=========================================<##');
46.        l[i].jumlah_harga:=l[i].jumlah*(l[i].harga_satuan);
47.        write(filebeli,beli);
48.        end;
49.        close(filebeli);
50.        clrscr;
51.        end;

52.        2    :begin
53.        clrscr;
54.        writeln('##>=========================================<##');
55.        writeln('     ##>             TOKO MAJU JAYA         <##');
56.        writeln('     ##>         Daftar Pembelian Barang    <##');
57.        writeln('##>=========================================<##');
58.        writeln;
59.        writeln('#=============================================#');
60.        writeln('|No| Nama Barang | Jumlah | Harga Satuan | Jumlah Harga |');
61.        writeln('#=============================================#');
62.        assign(filebeli,'beli.doc');
63.        reset(filebeli);
64.        n:=filesize(filebeli);
65.        for i:=1 to n do
66.        begin
67.        total_harga:=total_harga+l[i].jumlah_harga;
68.        if total_harga>100000 then
diskon:=(total_harga*5) div 100
        else
diskon:=0;
69.        total_bayar:=total_harga-diskon;
70.        writeln('|',i:2,'| ',l[i].nama_barang:11,' | ',l[i].jumlah:6,' | ',l[i].harga_satuan:12,' | ',l[i].jumlah_harga:12,' |');
71.        writeln('#=======================================================#');
72.        end;
73.        writeln('                          Total Harga = Rp.',total_harga:9);
74.        writeln('                             Diskon      = Rp.',diskon:9);
75.        writeln('                          Total Bayar = Rp.',total_bayar:9);
76.        readln;
77.        close(filebeli);
78.        end;

79.        3    :begin
80.        clrscr;
81.        writeln('##>=========================================<##');
82.        writeln('                 TERIMA KASIH ');
83.        writeln('##>=========================================<##');
84.        end;
85.        end;
86.        until pil=3;
87.        readln;
88.        end.

PENJELASAN

1.      Judul progam.
2.      Uses(unitnya).
3.      (Bagian :  deklarasi)
Typenya:Memakai RECORD yang artinya adalah  kumpulan data yang mempunyai type data yang    berbeda-beda.
a)      Pakai string : Karena string digunakan untuk huruf yang lebih dari satu/simbol.
b)      Pakai longint : Karena datanya lebih dari satu / panjang.
c)      End : Untuk penutup data RECORD.
4.      Var : Untuk mengisi nama/data variabelnya.
5.      beli: pembelian(untuk memanggil data di RECORD).
6.      Memakai file of dengan nama pembelian untuk menyimpan data yang sama dan mengakses data di pembelian.
7.      Memakai Array : 1 dimensi, untuk sejumlah data yang bertipe sama(data di pembelian).
8.      Pakai longint : Karena datanya lebih dari satu / panjang.
9.      (Bagian : Pernyataan)
Yang diawali dengan pernyataan : Begin.
10.     Repeat : Digunakan untuk pengulangan bila ingin memasukkan data di hasil output lagi.
11.    Clrscr : agar hasil output yang ada sebelumnya dibersihkan  & yang ada hanya output yang akan diisi
             kembali.
12.     Textbackground (red) :Untuk latar warna merah ;
Textcolor        (white) :Untuk warna tulisan putih.
13.     Total harga dimulai dari = 0.
14.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output: ##>=========================================<##
15.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output: ##>               Menu Utama                 <##
16.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output: ##>              TOKO MAJU JAYA              <##
17.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output : ##>=========================================<##
18.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output : ##                                            ##
19.     Writeln : Untuk pindah baris ke bawah.
20.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Dengan ket : => 1. Input pembelian barang
(untuk menginputkan keterangan  barang  yang akan di beli).
21.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Dengan ket :=> 2. Lihat daftar pembelian barang
(untuk melihat daftar  barang  yang  di beli).
22.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Dengan ket : => 3. Keluar
(untuk  keluar dari program).
23.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output : ##>=========================================<##
24.     Writeln : Untuk pindah baris ke bawah.
25.     Write : Untuk text tulisan output tanpa  pindah baris ke bawah.
 Dengan ket : => Pilihan Anda =
Readln : inputan data lalu pindah baris.
26.     case pil of :Untuk  pernyataan pilihan yang lebih dari satu.
a) Yang diawali dengan pernyataan :
    angka:begin.
27.    Clrscr : agar hasil output yang ada sebelumnya dibersihkan  & yang ada hanya output yang akan diisi
             kembali.
28.     Write : Untuk text tulisan output tanpa  pindah baris ke bawah.
 Dengan ket : Jumlah inputan =
 Readln : inputan data lalu pindah baris.
29.     Assign      : Untuk menghubungkan variabel file dengan nama file.
filebeli: Nama variabel file;
beli.doc: Nama file (dalam bentuk string, format 8:3 penamaan dos, ditulis
                       dalam bentuk string.
30.     {$i-}:(Untuk menangani kesalahan pada file) $ Kode Kondisi
          ( Agar program tidak berhenti         ) Secara default {$I-} => OFF.
31.     Reset : Untuk membuka file bertipe ;
Filebeli :  Nama variabel file.
32.     {$i+}  : Untuk menangani kesalahan pada file) $ Kode Kondisi
          ( Agar program tidak berhenti         ) Secara default {$I+} => ON.
33.     If..then : Untuk menyeleksi kondisi-kondisi suatu proses;
Ioresult : (bernilai 0 jika operasi berhasil);
a)Rewrite : Untuk membuat file bertipe;
  Filebeli : Nama variabel file.
   b)seek : Untuk menempatkan pointer ke posisi record ke-N;             filebeli,filesize(filebeli): pointer akan  menunjuk  posisi  record filesize.
34.     For to do : Statement untuk perulangan.
35.     diawali dengan pernyataan : Begin.
36.    Clrscr : agar hasil output yang ada sebelumnya dibersihkan  & yang ada hanya output yang akan diisi
             kembali.
37.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output: ##>=========================================<##
38.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output: ##>              TOKO MAJU JAYA              <##
39.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output: ##>           Input pembelian barang         <##
40.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output : ##>=========================================<##
41.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output : => No.          =
42.     Write : Untuk text tulisan output tanpa  pindah baris ke bawah.
 Dengan ket :  => Nama Barang  =
Readln : inputan data lalu pindah baris.
l[i].nama_barang
ket : nama record . nama file
43.     Write : Untuk text tulisan output tanpa  pindah baris ke bawah.
 Dengan ket :  => Jumlah       =
Readln : inputan data lalu pindah baris.
l[i].jumlah
ket : nama record . nama file
44.     Write : Untuk text tulisan output tanpa  pindah baris ke bawah.
 Dengan ket :  => Harga Satuan =
Readln : inputan data lalu pindah baris.
l[i].harga_satuan
ket : nama record . nama file
45.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output : ##>=========================================<##
46.     l[i].jumlah_harga:=l[i].jumlah*(l[i].harga_satuan)
ket :(Untuk mencari JUMLAH HARGA)=jumlah *harga satuan.
47.     Write : Untuk text tulisan output tanpa  pindah baris ke bawah.
(filebeli,beli): Memanggil data filebeli.
48.     End : Untuk penutup data di pernyataan 1.
49.     Close : Menutup file;
Filebeli :data yang di tutup.
50.    Clrscr : agar hasil output yang ada sebelumnya dibersihkan  & yang ada hanya output yang akan diisi
             kembali.
51.     End : Untuk penutup pernyataan begin .
52.      Yang diawali dengan pernyataan  selanjutnya:
 angka:begin.
53.    Clrscr : agar hasil output yang ada sebelumnya dibersihkan  & yang ada hanya output yang akan diisi
             kembali.
54.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output: ##>=========================================<##
55.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output: ##>              TOKO MAJU JAYA              <##
56.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output: ##>           Daftar Pembelian Barang        <##
57.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output : ##>=========================================<##
58.     Writeln : Untuk pindah baris ke bawah.
59.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output : #===========================================#
60.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output : |No| Nama Barang | Jumlah | Harga Satuan | Jumlah Harga |
61.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output : #===========================================#
62.     Assign      : Untuk menghubungkan variabel file dengan nama file.
filebeli: Nama variabel file;
beli.doc: Nama file (dalam bentuk string, format 8:3 penamaan dos, ditulis
                       dalam bentuk string.
63.     Reset : Untuk membuka file bertipe ;
Filebeli :  Nama variabel file.
64.     n:=filesize(filebeli)
ket: membuka data yang sudah di inputkan.
65.     For to do : Statement untuk perulangan
66.     Yang diawali dengan pernyataan : Begin.
67.     total_harga:=total_harga+l[i].jumlah_harga
ket :(Untuk mencari TOTAL HARGA)=total harga + jumlah harga.
68.     If  then  else :Untuk menyeleksi kondisi-kondisi  yang lebih dari satu.
        Ket : TOTAL HARGA >100.000
   mendapat diskon  dengan rumus:(total_harga*5) div 100
                      jika kurang dari 100.000                      :diskon:=0
69.     total_bayar:=total_harga-diskon
ket :(Untuk mencari TOTAL BAYAR)=total harga – diskon.
70.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Ket : untuk menampilkan hasil dari total bayar.
71.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output : #===========================================#
72.     End : Untuk penutup pernyataan begin
73.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Total Harga = Rp.',total_harga:9
Ket: tampilan hasil output Total  Harga = Rp...(dengan max 9 krakter di belakang koma)
74.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Diskon      = Rp.',diskon:9
Ket: tampilan hasil output Diskon = Rp...(dengan max 9 krakter di belakang koma)
75.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Total Bayar = Rp.',total_bayar:9
Ket: tampilan hasil output Total Bayar = Rp...(dengan max 9 krakter di belakang koma)
76.     Readln : inputan data lalu pindah baris.
77.     Close : Menutup file;
Filebeli :data yang di tutup.
78.     End : Untuk penutup pernyataan begin .
79.     Yang diawali dengan pernyataan  selanjutnya:
 angka:begin.
80.    Clrscr : agar hasil output yang ada sebelumnya dibersihkan  & yang ada hanya output yang akan diisi
             kembali.
81.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output: ##>=========================================<##
82.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output:                                      Terima Kasih
83.     Writeln : Untuk text tulisan output dengan pindah baris ke bawah.
Hasil output: ##>=========================================<##
84.     End : Untuk penutup pernyataan begin .
85.     End : Untuk penutup pernyataan begin .
86.     until pil=3
ket: sampai pilihan 3.
87.     Readln : inputan data lalu pindah baris.
88.     End : Untuk penutup pernyataan begin
         dan mengakhiri program.