Prosedur memiliki dua bentuk, yang pertama dinamakan procedure sederhana karena tidak
menerima argumen (nilai atau data) ketika dieksekusi.
Program Judul_Program;
Procedure Judul_Prosedur;
Begin
........
........
End;
Begin
.........
.........
End.
Dalam penerapannya, procedure sederhana dipakai untuk menampilkan pilihan menu, dsb. Berikut
contoh programnya:
Program Procedure_Sederhana ;
uses crt;
PROCEDURE MENU;
begin
writeln('Pilihan Menu');
writeln(' 1: Statemen Percabangan');
writeln(' 2: Statemen Perulangan');
writeln(' 3: Statemen Array');
end;
Begin
writeln('Sebelum prosedur');
MENU;
writeln('Sesudah prosedur');
readln;
end.
Untuk memanggil procedure sederhana anda hanya perlu mengetikan nama prosedur lalu diakhiri
dengan tanda titik koma (;)
Yang kedua bernama procedure Kompleks karena menerima nilai yang diproses ketika dieksekusi.
Silahkan perhatikan contoh berikut:
Program KenalanYuk;
uses crt;
var hasil: integer;
Procedure Perkenalan(var nama:string;umur:integer);
Begin
writeln('Hai nama saya ', nama, ' dan umur saya ', umur);
End;
Begin
Perkenalan('Andi', 21);
Perkenalan('Budi', 23);
readln;
end.
Dalam program diatas, saya menggunakan prosedur kompleks dimana kita membutuhkan sebuah
parameter untuk mendapatkan nilai nama dan umur.
Jadi kita memanggil prosedur Perkenalan dengan menyertakan parameter nama dan umur,
kemudian nilai tersebut akan disimpan pada variabel nama dan umur untuk ditampilkan ke layar
menggunakan perintah writeln.
Deklarasi Function (fungsi) dalam pascal hampir sama dengan deklarasi procedure, namun
fungsi harus dideklarasikan dengan tipenya.
Fungsi juga memakai variabel saat dieksekusi, namun mempunyai kemampuan untuk
menghasilkan nilai pada procedure atau program yang memanggilnya.
Pada program diatas saya menggukan fungsi hitung bertipe integer dengan parameter A dan
B sebagai variabel lokal. Kemudian saya juga menggunakan variabel x dan y sebagai variabel
global untuk menyimpan nilai input.
Cara pemanggilan fungsi pun sama dengan prosedur yaitu dengan cara mengetikan nama
fungsi diikuti parameter dan diakhiri dengan titik koma.
Prosedur diawali dengan keyword Procedure sedangkangkan fungsi diawali dengan keyword
Fungtion. Kemudian prosedur dapat terbentuk dengan parameter maupun tanpa paramenter
sedangkan fungsi wajib menggunakan parameter.
Terakhir nilai yang dihasilkan dari fungsi akan disimpan pada nama fungsi itu sendiri dan
dapat dipindah alihkan sedangkan prosedur tidak.
Perbedaan paling utama adalah anda bisa menyimpan nilai pada nama fungsi, anda dapat
mencobanya dengan cara menyimpan nilai fungsi ke sebuah variabel, contoh:
namaVariabel:=hitung(x,y);