Pada pengiriman parameter secara nilai (by value), parameter formal akan berisi nilai yang dikirimkan dari parameter nyata dan nilai parameter tersebut akan local diprocedure yang dikirim. sifat dari pengiriman nilai ini adalah satu arah, sehingga perubahan nilai dari parameter formal tidak akan mempengaruhi nilai parameter nyata.
Contoh :
Program pengiriman_parameter_secara_nilai;
procedure kali(a,b : integer); {parameter formal}
var
hasil : integer; {local variabel}
begin
hasil :=a*b;
writeln('hasil =',hasil:6);
end;
{modul Utama}
var
bil1,bil2 : integer;
begin
write('bilangan 1 =');readln(bil1);
write('bilangan 2 =');readln(bil2);
kali(bil1,bil2); {parameter nyata}
readln;
end.
Di bawah ini merupakan contoh bahwa perubahan pada parameter formal tidak akan mempengaruhi nilai parameter nyata, karena sifatnya adalah satu arah.
Procedure kali(a,b : integer);
kali(bil1,bil2);
Contoh :
Program parameter_nilai_tdk_mempengaruhi_parameter_nyata;
uses crt;
procedure test_hitung(a,b,hasil : integer);
begin
hasil := a*b;
writeln('A =',a:4,' B=',b:4,' Hasil=',hasil:6);
end;
{modul utama}
var
bil1,bil2,bil3 : integer;
begin
bil1:=3;bil2:=4;bil3:=0;
test_hitung(bil1,bil2,bil3);
writeln('bil1=',bil1:4,' bil2=',bil2:4,' bil3=',bil3);
readln;
end.