Anda di halaman 1dari 5

{contoh program melewatkan parameter berdasarkan nilai}

uses wincrt;
procedure TukarBilangan(x,y : integer);
var
temp: integer;
begin
temp:=x;
x:=y;
y:=temp;
writeln ('nilai-nilai di dalam prosedur');
writeln('nilai ke-1:',x);
writeln('nilai ke-2:',y);
end;

var
a,b:integer;
begin
a:=100;
b:=200;
writeln('nilai-nilai di dalam prosedur');
writeln('nilai ke-1:',a);
writeln('nilai ke-2:',b);

TukarBilangan(a,b);
writeln;

writeln('nilai-nilai di dalam prosedur');


writeln('nilai ke-1:',a);
writeln('nilai ke-2:',b);
readln;
end.
{contoh program melewatkan parameter berdasarkan
referensi}

uses wincrt;
procedure TukarBilangan(var x,y : integer);
var
temp: integer;
begin
temp:=x;
x:=y;
y:=temp;
writeln ('nilai-nilai di dalam prosedur');
writeln('nilai ke-1:',x);
writeln('nilai ke-2:',y);
end;

var
a,b:integer;
begin
a:=100;
b:=200;
writeln('nilai-nilai di dalam prosedur');
writeln('nilai ke-1:',a);
writeln('nilai ke-2:',b);

TukarBilangan(a,b);
writeln;

writeln('nilai-nilai di dalam prosedur');


writeln('nilai ke-1:',a);
writeln('nilai ke-2:',b);
readln;
end.
{program factorial dengan fungsi)
uses wincrt;
function faktorial(x:integer):integer;
begin
if (x=0) then
faktorial :=1
else
faktorial:= x*faktorial(x-1);
end;

var
bil,hasil :integer;
begin
write ('masukkan bilangan yang akan dihitung:');
readln(bil);
hasil:=faktorial(bil);
writeln(bil,'!=',hasil);
readln;
end.
{contoh prosedur/jawaban tugas kelompok procedure no.7}
uses wincrt;

type
larik =array[1..100] of integer;

procedure menu(var pilih: integer);


begin
writeln ('Menu Pilihan');
writeln ('1. input data array dan hitung total dan rata-rata');
writeln ('2. selesai');
write('input pilihan = ');
readln(pilih);

end;

procedure input (var jum:integer; var bilangan :larik);


var i:integer;
begin
write('input jumlah data array = ');
readln(jum);
for i :=1 to jum do
begin
write ('data [',i,']=');
readln (bilangan [i]);
end;
end;
procedure hitung (jum:integer;bilangan :larik; var tot:integer; var
rerata :real);
var
i:integer;
begin
tot :=0;
for i:=1 to jum do
begin
tot:=tot+bilangan[i];
end;
rerata := tot/jum;
end;

var
pil : integer;
i, jml, tot: integer;
bil:larik;
rata:real;
begin
clrscr;
menu(pil);
if (pil=1) then
begin
input(jml,bil);
hitung(jml,bil,tot,rata);
writeln ('total data array = ',tot);
writeln ('rata-rata array = ',rata:6:2);
end
else
exit;
end.

Anda mungkin juga menyukai