Pengertian Pascal
Pemrograman Pascal adalah bahasa tingkat tinggi (High Level Languange) yaitu bahasa pemrograman yang mudah dipahami oleh bahasa manusia. Pascal merupakan bahasa yang terstruktur tersusun atas sejumlah blok.Blok-blok yang kecil selanjutnya dapat dapat dipakai untuk membuat blok yang lebih besar. Blok ini lebih dikenal dengan sebutan subprogram, yang dibedakan atas prosedur dan fungsi. Dalam pembahasan kali ini kami akan membahas tentang prosedur yang diaplikasikan dalam program Data Barang .1. LISTING PROGRAM
program data_barang;
uses wincrt;
var
kd,nm_brg,bonus :string;
hrg :longint;
ds_brg,jml,jml_tot :real;
ulang :char;
label atas;
procedure input;
begin
gotoxy (21,2);writeln('===============================');
gotoxy (27,3);writeln('PROGRAM DATA BARANG');
gotoxy (32,4);writeln('KELOMPOK 1');
gotoxy (30,5);writeln('STRUKTUR DATA');
gotoxy (21,6);writeln('===============================');
writeln;
write('Inputkan Kode Barang : ');readln(kd);
write('Inputkan Jumlah Barang : ');readln(jml);
writeln('-------------------------------');
end;
procedure barang;
begin
if (kd='KB001') or (kd='kb001') then
begin
nm_brg:='Baju';
hrg:=75000;
end
else if (kd='KB002') or (kd='kb002') then
begin
nm_brg:='Celana';
hrg:=120000;
end
else if (kd='KB003') or (kd='kb003') then
begin
nm_brg:='Tas';
hrg:=200000;
end
else
begin
nm_brg:='-';
hrg:=0;
end
end;
procedure hitung_diskon;
begin
ds_brg:= hrg * 0.2;
end;
procedure hitung_jmltot;
begin
jml_tot:=(jml*hrg) - ds_brg;
end;
procedure hitung_bonus;
begin
if jml_tot>=500000 then
bonus:='Selamat Anda Mendpatkan Jam Tangan Alba'
else if jml_tot>=300000 then
bonus:='Selamat Anda Mendpatkan Jaket'
else if jml_tot = 0 then
bonus:='Tidak Ada'
else
bonus:='Maaf, Anda Mendapatkan Zonk'
end;
begin
atas:
clrscr;
input;
barang;
writeln('Nama Barang : ',nm_brg);
writeln('Harga : ',hrg);
hitung_diskon;
hitung_jmltot;
hitung_bonus;
writeln('Diskon : ',ds_brg:0:0);
writeln('Jumlah Total : ',jml_tot:0:0);
writeln('Anda Mendapatkan ',bonus);
writeln('-------------------------------');
write('Ulang? (y/n) : ');readln(ulang);
if (ulang = 'y') or (ulang = 'Y') then
goto atas;
end.
1.1 PEMBAHASAN LISTING PROGRAM
1.1.1 Variabel
Var
kd,nm_brg,bonus:string;
hrg:longint;
ds_brg,jml,jml_tot:real;
ulang:char;
label atas;
|
Fungsinya untuk penamaan dan pendeklarasian jenis tipe data.
1.1.2 Prosedur
Prosedur merupakan suatu program yang terpisah dalam blok sendiri yang berfungsi sebagai sub-program (modul program) yang merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan program utama. Procedure berguna untuk mengumpulkan statemen-statement (Pernyataan) yang dapat dijalankan menjadi satu dalam blok dan untuk menjalankan kembali hanya dengan menuliskan nama procedure yang menampungnya, yaitu pemanggilan dilakukan pada program utama.
A. Prosedure Input
procedure input;
begin
gotoxy (21,2);writeln('===============================');
gotoxy (27,3);writeln('PROGRAM DATA BARANG');
gotoxy (32,4);writeln('KELOMPOK 1');
gotoxy (30,5);writeln('STRUKTUR DATA');
gotoxy (21,6);writeln('===============================');
writeln;
write('Inputkan Kode Barang : ');readln(kd);
write('Inputkan Jumlah Barang : ');readln(jml);
writeln('-------------------------------');
end;
|
B. Procedure Barang
procedure barang;
begin
if (kd='KB001') or (kd='kb001') then
begin
nm_brg:='Baju';
hrg:=75000;
end
else if (kd='KB002') or (kd='kb002') then
begin
nm_brg:='Celana';
hrg:=120000;
end
else if (kd='KB003') or (kd='kb003') then
begin
nm_brg:='Tas';
hrg:=200000;
end
else
begin
nm_brg:='-';
hrg:=0;
end
end;
|
C. Procedure Hitung Diskon
procedure hitung_diskon;
begin
ds_brg:= hrg * 0.2;
end;
|
D. Procedure Hitung Jumlah Total
procedure hitung_jmltot;
begin
jml_tot:=(jml*hrg) - ds_brg;
end;
|
E. Prosedure Hitung Bonus
procedure hitung_bonus;
begin
if jml_tot>=500000 then
bonus:='Selamat Anda Mendpatkan Jam Tangan Alba'
else if jml_tot>=300000 then
bonus:='Selamat Anda Mendpatkan Jaket'
else if jml_tot = 0 then
bonus:='Tidak Ada'
else
bonus:='Maaf, Anda Mendapatkan Zonk'
end;
|
1.1.3. Procedure Utama
Begin
atas:
clrscr;
input;
barang;
writeln('Nama Barang : ',nm_brg);
writeln('Harga : ',hrg);
hitung_diskon;
hitung_jmltot;
hitung_bonus;
writeln('Diskon : ',ds_brg:0:0);
writeln('Jumlah Total : ',jml_tot:0:0);
writeln('Anda Mendapatkan ',bonus);
writeln('-------------------------------');
write('Ulang? (y/n) : ');readln(ulang);
if (ulang = 'y') or (ulang = 'Y') then
goto atas;
end.
|
FlowChart :

Tidak ada komentar:
Posting Komentar