Anda di halaman 1dari 14

BAB V

SUBRUTIN

STMIK “AMIKOM “PURWOKERTO


SUBRUTIN
 Ada dua macam subrutin pada pascal,
yaitu prosedur dan fungsi.
 Prosedur dan fungsi memiliki fungsi yang
sama yaitu melakukan tugas tertentu,
perbedaannya adalah apabila fungsi
mengembalikan suatu nilai setelah
dipanggil sedangkan untuk prosedur
tidak.
Mengapa Kita
perlu
SUbRUTin……?
Jawabnya adalah sederhana saja
kerena dalam program pascal yang
besar, akan lebih baik jika tugas
tertentu dilakukan oleh subrutin
tertentu, dengan demikian program
akan menjadi lebih mudah dibaca
Contioh :
Begin
Bacadata;
Prosesdata;
Tulishasil;
End;
PROSEDUR DAN FUNGSI
 Berikut ini adalah sintak penulisan prosedur
secara umum :
Procedur
nama_prosedur(parameter1;parameter2;…)
Begin
(pernyataan-pernyataan)
End.
Berikut ini adalah sintak penulisan fungsi secara
umum :
function
nama_fungsi(perameter1;parameter2;….).
tipe_kembalian
begin
(pernyataan-pernyataan)
end;
 Nama procedure dan Nama_fungsi merupakan nama
yang anda berikan ke prosedur atau fungsi.
 Tipe kembalian adalah tipe data dari nilai yang
dikembalikan oleh fungsi.
 Parameter1,parameter2…… adalah merupakan
informasi yang diberikan ke prosedur atau fungsi.
 Berikut adalah sebuah contoh prosedur dengan nama
procedurku dan sebuah fungsi dengan nama fungsiku:
Procedure prosedurku;
Begin
(pernyataan-pernyataan);
End;
Fungction fungsiku : integer;
Begin
(pernyataan-pernyataan);
End;
Kedua subrutin diatas belum memiliki paramter
CONTOH SUBRUTIN YANG MEMILIKI
PARAMETER
 Perhatikan dalam memberikan parameter, anda
harus menentukan tipe parameter :
procedur coba (b : string);
begin
(pernyataan-pernyataan);
end;
 Berikut adalah contoh prosedur dan fungsi
dengan beberpa parameter, masing-masing
perameter dipisahkan dengan tanda titik koma
(;)
procedure cobalagi (b:string ; x:string );
begin
(pernyataan-pernyataan)
end;
 Untuk beberapa parameter dengan tipe
yang sama, anda cukup menuliskan tipe
satu kali, tetapi masing-masing parameter
dipisahkan dengan tanda (,) contoh ;

function lagilagicoba (I,j : longint); longint;


begin
(pernyataan-pernyataan)
end;
 Fungsi LagiLagiCoba diatas memerlukan dua
parameter bertipe longint, yaitu I dan j.
 Untuk mengembalikan nilai pada suatu fungsi,
berilah nilai pada variabel yang bernama sama
dengan nama fungsinya.
 Contohnya pada LagiLagiCoba dpt ditulis :

function LagiLagiCoba (i,j:longint): longint;


begin
LagiLagiCoba := i + j;
end;
 Pemanggilan sebuah prosedur atau fungsi
dilakukan dengan menyebutkan namanya.
Contoh :
prosedurku;
 Bila terdapat parameter, letakkan parameter di
dalam tanda kurung.
Contoh :
Coba (‘Pascal’);
 Memanggil prosedur Coba dengan parameter
‘Pascal’
Contoh :
CobaLagi (‘Pascal’, 100);
 Untuk menangkap nilai kembalian dari sebuah
fungsi, harus menyediakan variabel.
Contoh :
x := LagiLagiCoba (2, 5);
 Untuk melewatkan parameter dengan
referensi, tambahkan kata kunci var di
depan nama parameter.
Contoh :
procedure Coba (var i, j : longint);
begin
i := 100;
j := 200;
end;
 Dalam sebuah prosedur atau fungsi, dpt
mendeklarasikan tipe, variabel atau
konstanta yg bersifat lokal. Bisa juga
mendeklarasikan tipe, variabel atau
konstanta diluar prosedur, dgm demikian
sifatnya global.
Contoh :
var
Global: integer;
procedure Coba;
var
Lokal : integer;
begin
end;
CONTOH PROGRAM
uses wincrt;
var
p,q,x,y : byte;
procedure tambahkali(a,b :byte);
begin
p:= a+b;
q:= a*b;
writeln('x+y =',p);
writeln('x*y =',q);
end;
begin
write('x =');readln(x);
write('y =');readln(y);
tambahkali(x,y);
end.
program contohfungsi; begin
pangkat :=0.0;
uses wincrt;
writeln('tidak dapat diselesaikan');
function pangkat (x,y : real): real; exit;
end ;
var end
s : real; else if ( x > 0.0 ) then
begin s := exp ( y * ln (x))
if (x < 0.0) then else
begin s:= 0.0;
if (round (y) = y ) then
pangkat := s;
begin
end;
if (round (y) mod 2 = 0)
then var
x,y : real;
s := exp ( y * ln (-x))
begin
else write('masukan x = ');
s := -exp (y * ln (-x)); readln(x);
end write('masukan y = ');
else readln(y);
writeln('x^y :', pangkat (x,y):1:3);
end.

Anda mungkin juga menyukai