*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.*
*Perhatikan cara merubah dari fungsi ke prosedur :*
a. Tambahkan di parameter formal : var <nama variabel>:tipe data. Contoh di atas adalah
*Procedure Total(B:array of integer;X:integer; var temp:longint);*
*Perhatikan tipe data di var sama dengan tipe data di function*
b. Tambahkan parameter aktual di pemanggil (main program) untuk menampung
perubahan nilai. Contoh disini adalah jumlah . Bila menggunakan fungsi, di main
program statementnya sbb : *Jumlah:=Total(A,n)* , maka bila menggunakan
prosedur, statement di main program menjadi *Total(A,n,jumlah)*.
Berikut hasil perubahan dari program yang menggunakan fungsi ke program yang
menggunakan prosedur.
Program HITUNG_RATA_proc;
{program hitung_rata dng menggunakan prosedur}
uses crt;
var i,k, n, Maksimum, Minimum : integer;
Jumlah : longint; RATA : real;
A : array[0..100] of integer;
Lanjut:char;
*Kita lanjut lagi latihan modifikasi program, merubah dari fungsi ke prosedur*
program maksimum;
{mencari maks dari 2 angka dng function dan dng peubah}
uses crt;
var a,b,hasil:integer;
function maks(x,y:Integer):Integer ;
var temp:integer;
begin
if x<y then temp:=y else temp :=x;
maks:=temp;
end;
begin
clrscr;
write('a : ');ReadLn(a);
Write('b : ');ReadLn(b);
hasil:=maks(a,b);
WriteLn('nilai maks : ',hasil);
writeln('Press enter to continue');
readln;
end.
*Latihan1 : Modifikasi Program diatas (mencari maks dari 2 bilangan) dengan output seperti
berikut tetapi menggunakan prosedur yang memiliki parameter pass by value dan pass
by reference (keduanya harus ada)*
Bila sudah selesai,silahkan *source programnya dan outputnya* di posting di wag ini
Program GenapGanjil;
uses crt;
Var
X : integer;
flag:boolean;
Begin
clrscr;
writeln(‘Program menentukan Ganjil/Genap dengan menggunakan function’);
write('maukkan bilangan : ');Readln(x);
Flag:=genap(x);
if flag
then writeln('Genap')
else writeln('Ganjil');
writeln('Press enter to continue');
readln;
end.
*Bila sudah selesai,silahkan source programnya dan outputnya di posting di wag ini*