6 Prosedur Dan Fungsi
6 Prosedur Dan Fungsi
begin
end.
Prosedur dengan Parameter
Nilai di dalam suatu modul program sifatnya
lokal, artinya hanya dapat digunakan pada
modul yang bersangkutan saja, tidak dapat
digunakan pada modul yang lain.
Supaya nilai variabel dapat digunakan di modul
lainnya, maka dapat dilakukan dengan cara :
Dibuat bersifat global: harus dideklarasikan di atas
modul yang menggunakannya.
Dikirimkan sebagai parameter ke modul yang
membutuhkannya
Parameter
procedure hitung(a,b,jum:integer);
begin
jum:=a+b;
writeln('Di dalam prosedur: ',a,'+',b,'=',jum);
end;
begin
clrscr;
write('Masukkan nilai x = ');readln(x);
write('Masukkan nilai y = ');readln(y);
hitung(x,y,jumlah);
writeln('Di luar prosedur: ',x,'+',y,'=',jumlah);
readln;
end.
Pengiriman berdasarkan Nilai Ex.
Hasil:
Masukkan nilai x = 4
Masukkan nilai y = 5
Di dalam prosedur: 4+5=9
Di luar prosedur: 4+5=0
Pengiriman berdasarkan Acuan
begin
clrscr;
write('Masukkan nilai x = ');readln(x);
write('Masukkan nilai y = ');readln(y);
hitung(x,y,jumlah);
writeln('Di luar prosedur: ',x,'+',y,'=',jumlah);
readln;
end.
Pengiriman berdasarkan Acuan Ex.
Hasil:
Masukkan nilai x = 4
Masukkan nilai y = 5
Di dalam prosedur: 4+5=9
Di luar prosedur: 4+5=9
Fungsi
Menggunakan reserved word function.
Fungsi hampir sama dengan prosedur, hanya
hasil fungsi harus dideklarasikan dengan tipe
datanya.
Bentuk:
FUNCTION nama:tipe data hasil;
atau
FUNCTION nama (parameter formal:tipe
data):tipe data hasil;
Contoh
uses crt;
var x,y,jumlah:integer;
function hitung(a,b:integer):integer;
begin
hitung:=a+b;
end;
begin
clrscr;
write('Masukkan nilai x = ');readln(x);
write('Masukkan nilai y = ');readln(y);
writeln(x,'+',y,'=',hitung(x,y));
readln; Hasil:
end.
Masukkan nilai x = 4
Masukkan nilai y = 5
4+5=9
Prosedur vs Fungsi
Nama fungsi harus digunakan untuk
menampung hasil yang akan dikirimkan dari
fungsi ke program.
Contoh:
function hitung
(a,b:integer):integer;
begin
hitung:=a+b;
end;
Jika prosedur, hasil dikirimkan dengan
parameter yang dikirimkan secara acuan.
Prosedur vs Fungsi
Karena hasil berada di nama fungsi tersebut, maka
fungsi dapat langsung digunakan untuk dicetak hasilnya
pada program utama.
Contoh:
begin
a:=4;
b:=3;
write(hitung(a,b));
readln;
end.
Jika prosedur, nama prosedur tidak dapat langsung
digunakan langsung, yang dapat langsung digunakan
adalah parameternya yang mengandung nilai balik.