Procedure dengan Parameter

A. Procedure dengan Parameter
Nilai di dalam suatu modul program Pascal sifatnya adalah lokal, artinya hanya dapat digunakan pada modul atau unit program yang bersangkutan saja, tidak dapat digunakan pada modul atau unit program yang lainnya.
Variabel Global dan variabel Lokal
·         Variabel Global adalah variabel yang dapat dikenali diseluruh bagian program biasanya variabel ini merupakan variabel yang dideklarasikan pada deklarasi program umum.
·         Variabel Lokal adalah variabel yang dikenal pada lingkup yang lebih sempit dari pada variabel global.
1.   Procedure parameter dg Variabel global.
Program PersegiPanjang;                         {judul Program Utama}
uses wincrt;
var                                                             {deklarasi variabel global}
    p,l:byte;                                                {p :panjang, l:lebar}
    ls,kel:integer;                                         {ls:luas, kel:keliling}

Procedure Hitung_Luas;                            {Prosedur untuk menghitung luas}
begin
 ls:=p*l;
 writeln('Luas     :',ls);
end;

Procedure Hitung_Keliling;                       {Prosedur untuk menghitung keliling}
begin
 kel:=(2*p)+(2*l);
 writeln('Keliling :',kel);
end;

{===program utama===}
begin
  clrscr;
  writeln('Hitung luas dan keliling persegipanjang');
  writeln;
  write('Masukan panjang : ');readln(p);
  write('Masukan lebar   : ');readln(l);
  writeln;
  Hitung_Luas;                                          {Memanggil prosedur Hitung_Luas}
  Hitung_Keliling;                                  {Memanggil prosedur Hitung_Keliling}
  readln;
end.

2.   Procedure parameter dg Variabel Lokal
Program PersegiPanjang;                          {judul Program Utama}
uses wincrt;

Procedure Hitung_Luas(p,l:integer);       {Prosedur dengan parameter}
var
  ls:integer;                                                {variabel lokal}
begin
  ls:=p*l;
  writeln('Luas     :',ls);
end;

Procedure Hitung_Keliling(p,l:integer);    {Prosedur dengan parameter}
var
  kel:integer;                                                          {variabel lokal}
begin
  kel:=(2*p)+(2*l);
  writeln('Keliling :',kel);
end;

{===program utama===}
var
  pj,lbr:integer;
begin
  clrscr;
  writeln(' Menghitung luas dan keliling persegipanjang');
  writeln;
  write('Masukan panjang : ');readln(pj);
  write('Masukan lebar   : ');readln(lbr);
  writeln;
  Hitung_Luas(pj,lbr);                       {Memanggil prosedur Hitung_Luas}
  Hitung_Keliling(pj,lbr);                 {Memanggil prosedur Hitung_Keliling}
  readln;
end.
B. Program Function
Apa yang dimaksud dengan fungsi?. Fungsi tidak jauh berbeda dengan rosedur, yaitu suatu modul program terpisah dari progam utama yang diletakan dalam blok tersendiri yang berfungsi sebagai bagian dari program. Namun fungsi memiliki perbedaan mendasar dengan prosedur yaitu : fungsi memberikan nilai balik (return) sedangkan prosedur tidak. Cara penulisan fungsi di Turbo Pascal seperti dibawah ini :

Program PersegiPanjang;                               
uses wincrt;
Function Luas(p,l:integer ):integer;
begin
  Luas:=p*l;
end;
{===program utama===}
var
  pj,lbr:integer;
begin
  clrscr;
  writeln(' Menghitung luas persegipanjang');
  writeln;
  write('Masukan panjang : ');readln(pj);
  write('Masukan lebar   : ');readln(lbr);
  write('Luasnya = ',Luas(pj,lbr));
  readln;
end.

C. Program Record
Record dapat dikatakan sebagai suatu kumpulan data item  yang masing-masing mempunyai jenis data berbeda.
Data item yang merupakan elemen record biasanya disebut dengan FIELD.
Type barang= RECORD
nmbrg:string[20];
jmlbrg:array[1..3]of byte;
hrgbrg:real;
total:real;
end;
var  jual:barang;
tbarang, i:integer;
Begin
clrscr;
write(‘Nama Barang :’);readln(jual.nmbrg);
for i:=1to 3 do
begin
write(‘Jumlah barang ’,I,’ : ’);readln(jual.jmlbrg[i]);
tbarang:=tbarang+jual.jmlbrg[i];
end;
write(‘Harga barang  :’);readln(jual.hrgbrg);
jual.total:=tbarang*jual.hrgbrg;
writeln(‘Total Harga Barang = ‘, jual.total:10:2);
end.

D. Set (Himpunan)
Set  adalah kumpulan dari nilai-nilai yang memiliki kesamaan sifat, yaitu tipe data yang sama dan urutan penulisannya tidak diperhatikan. Setiap obyek dalam himpunan disebut dengan anggota atau elemen himpunan. Contoh :
  1. Huruf vokal dalam alfabet
  1. kendaraan bermotor
  1. binatang menyusui
  1. bilangan genap 1 sampai 100
  1. dan sebagainya
Program set1;
uses wincrt;
type karakter= set of char;
var  kapital : karakter;
hidup : karakter;
jumlahh,jumlahk : integer;
kalimat : string;
i:integer;
begin
clrscr;
kapital:=[‘A’..’Z’];
hidup:=[‘A’,’E’,’I’,’O’,’U’,’a’,’e’,’i’,’o’,’u’];
jumlahh:=0;
jumlahk:=0;
writeln(‘Masukkan suatu kalimat :’);
readlne (kalimat);
for I:=1 to length(kalimat) do
begin
if kalimat[i] in kapital then inc(jumlahk);
if kalimat[i] in hidup then inc(jumlahh);
end;
writeln(‘Jumlah kapital =‘,jumlahk);
writeln(‘Jumlah huruf hidup =‘,jumlahh);
end.






Komentar