Procedure
Procedure dan Function merupakan suatu program yang terpisah dalam blok sendiri yang berfungsi sebagai subprogram yang merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan program utama.
Prosedur harus diawali dengan kata cadangan Procedure di dalam bagian pendeklarasian prosedure. Prosedure dapat dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul prosedurnya.
Prosedur banyak digunakan pada program yang terstruktur, itu dikarenakan procedure :
- Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.
- Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
Sebagaimana halnya sebuah program yang utuh, suatu procedure juga harus memiliki header dan block. Perbedaan bentuknya dengan program utama hanyalah pada bagian headernya saja. Bentuk Umum header suatu procedure adalah :
PROCEDURE nama;
atau
PROCEDURE nama (formal parameter:jenis);
Jika kita ingin menggunakan procedure dalam suatu program, maka procedure tersebut harus dituliskan pada bagian pendeklarasian.
Procedure nama_procedure (parameter);
Deklarasi variabel,label,…dll;
Begin
Statement procedure;
………………………….
………………………….
End;
Contoh untuk membuat suatu procedure untuk menentukan bilangan bulat terbesar diantara tiga bilangan bulat, maka procedure tersebut bisa dicontoh sebagai berikut :
PROGRAM contoh;
PROCEDURE maksimum;
VAR max:integer;
begin
if a>b then max:=a else max:=b;
if c>max then max:=c;
writeln(max);
end;
begin
readln(a,b,c);
maksimum
end.
keterangan :
Jangkauan identifier yang dideklarasikan dalam suatu blok program hanya berlaku pada blok dimana identifier tersebut didefinisikan.
Nilai parameter dalam suatu modul program Pascal sifatnya adalah lokal, artinya hanya dapat digunakan pada modul atau unit program y.
contoh program1 :
prosedur tanya_hitung;
var X,Y :real;
begin
write ('Nilai X ?');readln(X);
Y:=X*X;
writeln('Nilai Y=',Y:6:2);
end;
begin
tanya_hitung;
end.
Keterangan : Variabel X dan Y sifatnya adalah lokal untuk prosedur Tanya_hitung, artinya hanya dapat digunakan pada modul itu saja, Pada modul yang lain tidak dapat digunakan.
procedure tanya_hitung;
var X,Y:real;
begin
write('Nilai X?');readln(X);
Y:=X*X;
end;
begin
tanya_hitung;
writeln('Nilai Y=',Y:6:2);
end.
Agar nilai variabel dapat digunakan di modul lainnya, maka dapat dilakukan dengan cara pendeklarasikan variabel secara global, yaitu dideklarasikan di atas modul yang menggunakannya.
Pada Struktur kesatu diatas, variabel A dab B bersifat global untuk prosedur kedua, ketiga dan utama, tetapi tidak bersifat global untuk prosedur kesatu, sehingga prosedur kesatu tidak dapat menggunakan variabel-variabel tersebut.
Struktur kedua.
Pada Struktur kedua diatas, variabel A dan B bersifat global untuk semua modul.
Parameter yang dikirim dari modul utama ke modul prosedur disebut actual parameter, dan parameter yang ada dan dituliskan pada judul prosedur disebut formal parameter.
Parameter yang dikirimkan secara nilai, maka parameter formal yang ada di prosedur akan berisi nilai yang dikirimkan yang kemudian bersifat lokal di prosedur.
procedure konversi;
begin
F:=(5/9)*c+32; //f dan c variabel global, c sebagai input dan f sebagai output.
writeln(C,F);
end;
Procedure di atas dapat dipanggil dengan variabel yang berbeda, tetapi penulisannya harus diubah dengan menggunakan parameter sbb:

Contoh Coding :
KALIAN BISA MENCOBANYA KLIK DISINI

Contoh Coding :
KALIAN BISA MENCOBANYA KLIK DISINI
procedure hitung(A,B:integer);
var C:integer;
begin C:=A+B;
writeln('Nilai C = ',C)
end;
var X,Y:integer;
begin
write('Nilai X?');readln(X);
write('Nilai Y?');readln(Y);
hitung(X,Y);
end.
![]() |
hasil coding |

Bila pengiriman parameter secara acuan (by reference), maka perubahan-perubahan yang terjadi pada nilai parameter formal di prosedur akan mempengaruhi nilai actual parameter.
Contoh Coding :
procedure hitung(var A,B,C:integer);
begin
C:=A+B;
end;
var X,Y,Z:integer;
begin
X:=2; y:=3;
hitung(X,Y,Z);
writeln('X=',X,' Y=',Y,' Z=',Z);
end.
Acuan Forward digunakan untuk mendeklarasikan dimuka judul prosedur terpisah dari bloknya.
Contoh Coding :
uses crt;
procedure pro1(var l:integer);
forward;
procedure pro2(var l:integer);
begin
writeln('prosedur pro',l);
end;
procedure pro1(var l:integer);
begin
writeln('prosedur pro',l);
end;
var l:integer;
begin
l:=1;pro1(l);
l:=2;pro2(l);
end.
Prosedur Standar yang disediakan oleh Pascal :
- Prosedur standar EXIT Digunakan untuk keluar dari suatu blok.
- Prosedur standar HALT Digunakan untuk menghentikan proses program baik di program bagian maupun di program utama.
- Prosedur standar MOVE Bentuk umum : MOVE (Var source,dest; count : word); Digunakan untuk menyalin suatu blok sebanyak count byte memori dari blok dimulai byte pertama source dan disalinkan ke byte pertama dest.
- Prosedur standar FILLCHAR Digunakan untuk mengisi sejumlah byte nilai ke dalam suatu variabel, sebagai berikut:
FillChar(x;count :word;ch); X adalah variabel yang dapat bertipe apapun yang akan diisi dengan nilai tipe ordinal Ch sebanyak count byte.
Contoh Coding Program Procedure Hitung Luas dan Procedure Hitung Keliling :
Uses Crt;
Procedure hitungluas(p,l:integer);
Var Ls :Integer;
Begin Ls := p * l;
Writeln ('Luas: ', ls);
End;
Procedure hitkeliling (pp, ll : Integer);
Var Kel : Integer;
Begin Kel := (2 * pp) + (2 * ll);
Writeln ('Keliling: ', kel);
End;
Var
Pj,lbr : Integer;
Begin
Clrscr;
Write ('Masukan panjang : '); Readln(pj);
Write ('Masukan lebar : '); Readln(lbr);
Writeln;
Hitungluas (pj, lbr);
hitkeliling(pj, lbr);
Readln;
End.
![]() |
hasil coding, saya memasukkan 30 untuk panjang dan 40 untuk lebar . procedure berfungsi untuk tiap penghitungan luas dan procedure keliling menampilkan hasil. |
MATERI PASCAL
Jika kalian baru dalam pembelajaran pemrograman Pascal, Silakan belajar dari materi pertama :
Materi Ke-1 : Perintah Output
Materi Ke-2 : Perintah Input
Materi Ke-3 : Looping / Perulangan
Materi Ke-4 : Nested Loop
Materi Ke-5 : Percabangan (IF ELSE)
Materi Ke-6 : Perintah Loncat (GoTo)
Materi Ke-7 : Array
Materi Ke-8 : Array Lanjutan
Materi Ke-9 : Procedure
Materi Ke-10 : Function
Materi Ke-11 : Rekursif
Materi Ke-12 : Pemantapan Contoh Contoh Program Pascal
Materi Ke-2 : Perintah Input
Materi Ke-3 : Looping / Perulangan
Materi Ke-4 : Nested Loop
Materi Ke-5 : Percabangan (IF ELSE)
Materi Ke-6 : Perintah Loncat (GoTo)
Materi Ke-7 : Array
Materi Ke-8 : Array Lanjutan
Materi Ke-9 : Procedure
Materi Ke-10 : Function
Materi Ke-11 : Rekursif
Materi Ke-12 : Pemantapan Contoh Contoh Program Pascal
Comments