Anda di halaman 1dari 19

Dasar-Dasar Pemrograman

Prosedur dan Fungsi


Definisi

Prosedur dan fungsi adalah subprogram


terpisah dalam blok sendiri yang
merupakan bagian dari program utama.
Prosedur dan fungsi diletakkan pada
bagian deklarasi program.
Prosedur

Menggunakan reserved word procedure.


Bentuk:
PROCEDURE nama;
atau
PROCEDURE nama (parameter
formal:tipe data);
Prosedur
Bentuk:
uses crt;
var x:integer; Variabel x berlaku di
procedure coba; semua program,
var y:real; sedangkan variabel y
begin
hanya berlaku di prosedur
coba.
end;

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

Terdapat dua jenis parameter:


Parameter aktual
Parameter formal
Parameter Aktual

Parameter yang dikirim dari modul utama


ke modul prosedur.
Parameter Formal

Parameter yang ada pada prosedur dan


dituliskan pada judul prosedur.
Pengiriman Parameter

Terdapat 2 pengiriman parameter:


Pengiriman berdasarkan referensi (call by
reference)
Pengiriman berdasarkan nilai (call by value)
Pengiriman berdasarkan Nilai

Parameter formal yang ada di prosedur


akan berisi nilai yang dikirimkan yang
kemudian bersifat lokal di prosedur.
Pengiriman berdasarkan Nilai Ex.
uses crt;
var x,y,jumlah:integer;

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

Perubahan-perubahan yang terjadi pada


nilai parameter formal di prosedur akan
mempengaruhi nilai parameter aktual.
Pengiriman berdasarkan Acuan Ex.
uses crt;
var x,y,jumlah:integer;

procedure hitung(a,b:integer; var 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 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.

Anda mungkin juga menyukai