Prosedur (Procedure), Fungsi (Function)

advertisement
Prosedur (Procedure), Fungsi (Function)
Prosedur
Prosecure adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram
(program bagian). Prosedur diawali dengan kata cadangan Procedure di dalam bagian deklarasi
prosedur. Prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan
menyebutkan judul prosedurnya.
Prosedur banyak digunakan pada program yang terstruktur, karena:
1. Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang
rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedurprosedur.
2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup diruliskan sekali saja dalam
prosedur dan dapat dipanggil atau dipergunakan sewaktu-waltu bila diperlukan.
Contoh1 prosedur tanpa acuan
Procedure Hitung;
Var
x,y:real;
Begin
Writeln(‘Nilai x: ‘);
Readln(x);
Y:=x*x;
Writeln(‘Nilai Y= ‘, y:6;2);
End;
Begin
Hitung;
End.
Hasilnya
Nilai x: 4
16
Contoh2 prosedur secara acuan
Procedure Hitung(var a,b,c);
Begin
C:=a+b;
Writeln(c);
End;
Var
X,y,z:integer;
Begin
X:=2;Y;=3;
Hitung(x,y,z);
End.
Hasilnya
5
Prosedur Memanggil Dirinya Sendiri (Rekursi)
Prosedur memanggil dirinya sendiri merupakan suatu prosedur yang memanggil atau
menggunakan prosedur itu juga. Proses dari suatu program bagian yang memanggil dirinya
sendiri dikenal dengan istilah rekusi.
Contoh
Var
I:integer;
Procedure Cetak;
Begin
Writeln(‘Pascal’);
I:=i+1;
If i<10 then cetak;
End;
Begin
I:=1;
Cetak;
End.
Bila program dijalankan, maka prosedur cetak akan diproses sebanyak 9 kali, yaitu dengan cara
memanggil dirinya sendiri, hasilnya sebagai berikut.
Pascal
Pascal
Pascal
Pascal
Pascal
Pascal
Pascal
Pascal
Pascal
Fungsi
Fungsi hampir sama dengan prosedur, hanya fungsi harus dideklarasikan dengan tipenya. Tipe
deklarasi ini menunjukkan tipe hasil dari fungsi. Tipe tersebut ditulis pada akhir deklarasi fungsi
yang didahului dengn titik koma, sebagai berikut.
Function namafungsi(daftar_parameter):type;
Contoh
Function hitung(var nilai:integer):Integer;
Function pangkat (x,y:real):real
Download