Turbo Pascal
Turbo Pascal
Prosedur adalah suatu program terpisah dalam blok tersendiri yang berfungsi sebagai sub program (program bagian) dan diawali dengan kata cadangan Procedure.
Bentuk Umum Prosedur :

PROCEDURE nama_prosedur (Daftar_Parameter);
Bagian deklarasi;
Bagian pernyataan;


Parameter pada Prosedur
Terdapat 2 (dua) parameter pada prosedur, yaitu :
Parameter Lokal (Local Parameter)
Parameter Lokal adalah nilai paramter yang terdapat didalam suatu modul program hanya dapat digunakan pada modul atau unit program yang bersangkutan saja sehingga tidak dapat digunakan pada modul atau unit program lain.
01.Procedure Kali;
02.Var
03.A, B : Byte;
04.Begin
05.Write ('Isi nilainya : '); Readln (A);
06.B := A * A;
07.End;
08.{Program Utama}
09.Begin
10.Kali;
11.Writeln ('Nilai B = ', B);
12.End.
Pada saat anda kompile program diatas, maka akan menampilkan pesan kesalahan : Error 3: Unknown Identifier, yang artinya bahwa variabel B tidak dikenali di program utama, akan tetapi hanya dikenal pada prosedur Kali saja.
Parameter Global (Global Parameter)
Paramater Global adalah kebalikan dari Paramter Lokal. Agar nilainya dapat digunakan untuk beberapa atau semua modul/unit program maka nilai tersebut harus dideklarasikan diatas modul yang akan menggunakannya.
01.Var
02.A, B : Byte;
03.Procedure Kali;
04.Begin
05.Write ('Isi nilainya : '); Readln (A);
06.B := A * A;
07.End;
08.{Program Utama}
09.Begin
10.Kali;
11.Writeln ('Nilai B = ', B);
12.End.
Istilah Penting Parameter
  1. Actual parameter (parameter nyata) yaitu parameter yang dikirimkan dari modul utama ke modul prosedur.
  2. Formal Parameter (parameter formal) yaitu parameter yang ada dan dituliskan pada judul prosedur.
  3. Parameter Passing yaitu proses Pemanggilan data lewat parameter nyata ke parameter formal.
  4. By Value yaitu Pemanggilan parameter secara nilai.
  5. By Reference yaitu Pemanggilan parameter secara acuan
  6. Value Parameter yaitu parameter-parameter yang digunakan dalam Pemanggilan secara nilai
Pemanggilan Parameter pada Prosedur
Terdapat 3 (tiga) cara Pemanggilan Parameter pada Prosedur :
1. Pemanggilan Secara Nilai (Call by Value)
Pemanggilan parameter secara nilai bersifat searah yaitu dari parameter nyata ke parameter formal. Bila nilai parameter formal berubah, maka nilai parameter nyata tidak berubah.
01.Procedure Hitung (X, Y, Z : Byte);
02.Begin
03.Z := X + Y;
04.Writeln ('Nilai X = ', X);
05.Writeln ('Nilai Y = ', Y);
06.Writeln ('Nilai Z = ', Z);
07.End;
08. 
09.Var
10.A, B, C : Byte;
11.Begin
12.A := 5; B:= 7; C:=3;
13.Hitung (A, B, C);
14.WriteLn;
15.WriteLn ('Nilai A = ',A);
16.WriteLn ('Nilai B = ',B);
17.WriteLn ('Nilai C = ',C);
18.Readln;
19.End.
2. Pemanggilan Secara Referensi (Call by Reference)
Pemanggilan parameter secara acuan bersifat dua arah (bolak – balik). Bila nilai parameter formal berubah, maka nilai parameter nyata ikut berubah.
01.Procedure Hitung (Var X, Y, Z : Byte);
02.Begin
03.Z := X + Y;
04.Writeln ('Nilai X = ', X);
05.Writeln ('Nilai Y = ', Y);
06.Writeln ('Nilai Z = ', Z);
07.End;
08. 
09.Var
10.A, B, C : Byte;
11.Begin
12.A := 5; B:= 7; C:=3;
13.Hitung (A, B, C);
14.WriteLn;
15.WriteLn ('Nilai A = ',A);
16.WriteLn ('Nilai B = ',B);
17.WriteLn ('Nilai C = ',C);
18.Readln;
19.End
3. Pemanggilan Parameter Sebagian Secara Nilai dan Sebagian Secara Acuan.
Berikut contoh program Pemanggilan Parameter Sebagian Secara Nilai dan Sebagian Secara Acuan.
01.Procedure Hitung (X, Y : Byte; Var Z : Byte);
02.Begin
03.Z := X + Y;
04.End;
05. 
06.Var
07.A, B, C : Byte;
08.Begin
09.A := 5; B:= 7; C:=3;
10.Hitung (A, B, C);
11.Writeln ('Nilai A = ', A);
12.Writeln ('Nilai B = ', B);
13.Writeln ('Nilai C = ', C);
14.ReadLn;
15.End.