Anda di halaman 1dari 4

*Parameter dalam Procedure*

Pada umumnya parameter yang dikirim dari modul utama (program utama) ke modul
procedure disebut dengan *"Parameter Nyata (Actual Parameter)" yang ada pada
program utama atau procedure pemanggil*

dan parameter yang ada dan di tuliskan pada *judul procedure disebut dengan
"parameter formal (formal parameter)".*

Proses pengiriman data dari actual parameter ke formal parameter disebut dengan
"parameter passing" baik secara *pass by value atau pass by reference.*
Parameter secara acuan adalah parameter formal dan parameter actual harus bertipe
sama.

*Parameter secara value (pass by value)*

Dalam deklarasi parameter, jika kata var tidak ditulis, maka parameter disebut parameter
nilai atau value parameter, yang artinya bahwa parameter tersebut hanya mengambil nilai
dari parameter actual yang sesuai. *nilai parameter aslinya tidak akan berubah
meskipun parameter formalnya mengalami perubahan.*

Bentuk Umum :
PROCEDURE nama procedure (variabel 1, variabel 2, ... Variabel n : Type data);
Contoh :
Procedure satu (A,B,C,D :Integer);
Procedure satu (A :integer;B,C,D:real); *bila berbeda type data, dipisahkan dng titik
koma(;)*

*Parameter Secara Acuan (pass By Reference)*


*Perubahan yang terjadi pada nilai parameter formal di procedure akan mempengaruhi nilai
parameter nyata.*
Dideklarasikan dengan kata var.
Bentuk Umum :
PROCEDURE Nama Procedure (Var Variabel 1, Variabel 2, ...Variabel n : Type Data);
Contoh :
Procedure Satu (var A,B,C,D : integer);
Procedure Dua (A,B:integer; var C,D : integer);
{A,B adalah pass by value, dan C,D adalah pass by reference}
*Sebelah kiri adalah program hanya menggunakan parameter pass by value yaitu parameter
A dan B*, sedangkan program *sebelah kanan menggunakan par pass by value (A dan B)
dan par pass by reference (Z)*.

*Contoh program dengan menggunakan 2 parameter: by value dan by reference*

Program penjumlahan;
uses crt;

procedure contoh (A,B :integer;var Z:integer);


{ *A,B : parameter pass by value, Z : parameter pass by reference* }
begin
Z:=A+B;
end;

var x,y,c:integer;

begin {main program}


clrscr;
write('Nilai x = ');
readln(x);
write('Nilai y = ');
readln(y);
contoh(x,y,c);
write('Nilai C : ' ,C);
readln;
end.
*Silahkan run program diatas, kemudian hasilnya di posting di wag ini*.

*Contoh Program Hitung Rata2 dng Array dan menggunakan Function*

Program HITUNG_RATA;
uses crt; {Contoh Penggunaan Function dan array}
var i,k, n, Maksimum, Minimum : integer;
Jumlah : longint; RATA : real;
A : array[0..100] of integer;
Lanjut:char;

function Total (B:array of integer; X:integer):longint;


var i : integer; temp : longint;
begin
temp := 0;
for i := 1 to X do temp := temp + B[i];
Total := temp;
end; {end of function}

begin { Program Utama}


clrscr;
lanjut:='y';
while lanjut = 'y'
do begin
write('Jumlah Bilangan ? ');readln(n);
For i:=1 to n do begin
write('Masukkan bilangannya ',i,': '); readln(A[i]);
end; {end of for}
write('Elemen array-nya adalah : ');
for i := 1 to n do write(A[i]:4);
writeln;
Jumlah := Total(A,n);
writeln('Jumlah akhir = ',Jumlah);
RATA := Jumlah/n;
writeln('Rata-rata = ',RATA:5:1);
write('Mau lanjut (y/t)?'); readln(lanjut);
end;
writeln(' --Press Enter to Continue--'); readln;
end.

*Silahkan run program diatas, kemudian hasilnya di posting di wag ini*.

*Program di atas menggunakan* :


1. Iterasi while
2. Iterasi for
3. Array 1 dimensi
4. Function dng nilai dng tipe var longint.
*Bagi yang sudah coba run program di atas, silahkan kerjakan Latihan sbb:*

*Modifikasi program function hitung rata2 sebelumnya menjadi program hitung rata2
dengan menggunakan PROCEDURE (bukan FUNCTION) yang memiliki *parameter
pass by value dan parameter pass by reference* dengan output spt diatas dan
menggunakan array 1 dimensi.*

*Untuk merubah menjadi program dari fungsi ke prosedur*


1. Tambahkan pamater pass by ref pada parameter formal (parameter di procedur).
2. Nilai fungsi diganti dng parameter formal yg menggunakan *var* yang dikenal dng
nama parameter pass by reference , dimana *tipe data nilai fungsi harus sama dng
tipe data parameter pass by reference*.
3. Menambah 1 parameter aktual di main program yang nantinya berpasangan dng
parameter formal (pass by ref)

*Bagi yang sudah selesai modifikasi program, silahkan *source program dan output*
diposting disini*.

Anda mungkin juga menyukai