Procedure Pertemuan 6 Jurusan Sistem Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma 2015
Procedure Suatu program terpisah dalam blok sendiri yang berfungsi sebagai sub program (modul program) yang merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan program utama. Prosedure diawali dengan kata Procedure dibagian deklarasi prosedure. Prosedure dipanggil dan digunakan dalam blok program yang lainnya dengan menyebutkan judul prosedurenya.
Procedure Penerapan konsep program modular yaitu memecah-mecah program yang rumit menjadi program bagian yang lebih sederhana dalam bentuk prosedure. Untuk yang dilakukan berulang hanya ditulis sekali dalam prosedure dan dapat dipanggil atau dipergunakan sewaktuwaktu bila diperlukan.
Procedure
Bentuk umum prosedure : Procedure nama;
Procedure nama(formal parameter:jenis);
Prosedure dalam suatu program ditulis pada bagian deklarasi.
Contoh Procedure Program balok; Uses Crt; Var p, l, t:real; Procedure balok; Var v, lp:real; Begin Clrscr; v:=p*l*t; lp:=p+2*t; Writeln(v,lp); readln; End; Begin Clrscr; Writeln(‘Panjang :’); readln(p); Writeln(‘Lebar : ‘); readln(l)’ Writeln(‘Tinggi : ‘); readln(t); Balok; End.
Jangkauan Identifier
Identifier yang dideklarasikan dalam suatu blok program hanya berlaku pada blok dimana identifier tersebut didefinisikan.
Program p; Var x:real; Procedure q; Var y:integer; Begin …; …; End; Begin …; …; End.
Program P; Var x, y:real; Procedure P1; Var y:integer; Begin …; …; End; Procedure P2; Var x:char; Begin …; …; End; Begin …; x:=…; y:=…; …; End.
Procedure dalam Parameter
Nilai dalam suatu modul program pascal bersifat lokal artinya hanya dapat digunakan pada modul atau unit program yang bersangkutan saja, tidak dapat digunakan pada modul atau unit pemrograman yang lainnya.
Contoh : Program Kesatu; Procedur Hitung; Var X,Y:real; Begin Write(‘Nilai X=’); Readln(X); Y:=X*X; Writeln(‘Nilai Y=‘,Y:6:2); End; Begin Hitung; End.
Program Kedua; Procedur Hitung; Var X,Y:real; Begin Write (‘Nilai X=’); Readln(X); Y:=X*X; End; Begin Hitung; Writeln(‘Nilai Y=‘,Y:6:2); End.
Procedure kesatu; Begin ……. …….. End; Var A,B : word; Procedure kedua; Begin …….. …….. End; Procedure ketiga; Begin …….. …….. End; Begin …….. …….. End.
Var A,B : word; Procedure kesatu; Begin ……. …….. End; Procedure kedua; Begin …….. …….. End; Procedure ketiga; Begin …….. …….. End; Begin …….. …….. End.
2. Parameter dalam Procedure Actual Parameter : Parameter yang dikirim dari modul utama ke modul prosedure. Formal Parameter : Parameter yang ada dan dituliskan pada judul prosedure.
2. Parameter dalam Procedure
Pengiriman Parameter Secara Nilai Parameter yang dikirimkan secara nilai, maka parameter formal yang ada di prosedur akan berisi nilai yang dikirimkan yang kemudian bersifat lokal di prosedur.
Contoh Parameter secara Nilai Procedure Hitung(A,B:integer); Var C:integer; Begin C:=A+B; Writeln(‘Nilai C=‘,C); Readln; End; Var X,Y:integer; Begin Write(‘Nilai X=‘); Readln; Write(‘Nilai Y=‘); Readln; Hitung(X,Y); End.
Parameter dalam Procedure
Pengiriman Parameter Secara Acuan Bila pengiriman parameter secara acuan (by reference), maka perubahanperubahan yang terjadi pada nilai parameter formal di prosedur akan mempengaruhi nilai actual parameter .
Contoh Parameter sebagai Acuan Program angka; Uses crt; 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); Readln; End.
Acuan Forward
Digunakan untuk mendeklarasikan diawal judul prosedure terpisah dari bloknya. Contoh : Procedure pertama(var i:integer); forward; Procedure kedua(var i:integer); Begin Writeln(‘Prosedure Kedua’,i); Readln; End; Procedure Pertama; Begin Writeln(‘Prosedure Pertama’,i);Readln; End; Var i:integer; Begin i:=10; Kedua(i); i:=20; Pertama(i); End.
Prosedure Standar Prosedure standar di Pascal : Prosedure standar EXIT Untuk keluar dari suatu blok. Prosedure standar HALT Untuk menghentikan proses program. Prosedure standar MOVE Untuk menyalin suatu blok sebanyak count byte memori dari blok dimulai byte pertama source dan disalinkan ke byte pertama. Prosedure standar FILLCHAR Untuk mengisi sejumlah byte nilai ke dalam suatu variabel.