Anda di halaman 1dari 21

PROSEDUR

DAN
FUNGSI
Mengapa menggunakan
prosedur dan fungsi?
1. Memecah program yang rumit dan
besar menjadi program-program yang
lebih sederhana.
2. Untuk aktivitas yang dilakukan lebih
dari satu kali / sering dilakukan
berulang-ulang.
PROSEDUR
Algoritma
Deklarasi
Procedure
Deklarasi

Deskripsi

Deskripsi
Algoritma ABCD
Deklarasi
A,B,C,D, Temp : integer
Deskripsi
……
Temp A
A B
B Temp
if C > D then
Temp C
C D
D Temp
endif
endalgo
Algoritma ABCD
Deklarasi

P A,B,C,D, Temp : integer

R Procedure Tukar (input/output P,Q : integer)


Deklarasi
O Temp : integer
Deskripsi
S Temp P
P Q
E Q Temp

D Deskripsi
U Tukar(A,B)
if C >D
R Tukar (C,D)
endalgo
PROSEDUR
Parameter dalam prosedur

 Nilai didalam suatu modul sifatnya


lokal, artinya hanya dapat digunakan
pada modul atau unit program yang
bersangkutan saja, tidak dapat
digunakan pada modul atau unit
program yang lainnya.
PROSEDUR
Parameter dalam prosedur
Algoritma XXX
Deklarasi
Procedure Hitung(input x,output y)
Deklarasi
var
x,y : integer
Deskripsi
write (‘masukan nilai x? ‘,x)
y x*x
write (‘nilai y : ‘,y)
Deskripsi
Hitung(x,y)
Endalgo
PROSEDUR
Parameter dalam prosedur
Pada contoh diatas variabel x dan y
sifatnya adalah lokal untuk prosedur
Hitung, yang artinya hanya dapat
digunakan pada modul tersebut saja.
Pada modul yang lain, variabel tersebut
tidak dapat digunakan.bila digunakan
akan salah.
PROSEDUR
Parameter dalam program yg salah
Algoritma XXX
Deklarasi
Procedure Hitung(input x,output y)
Deklarasi
var
x,y : integer
Deskripsi
write (‘masukan nilai x? ‘,x)
y x*x
write (‘nilai y : ‘,y)
Deskripsi
y 5
Hitung(x,y)
Endalgo
PROSEDUR
Parameter dalam program yg salah

 Contoh program diatas adalah program yang


salah karena modul utama/program utama
menggunakan variabel lokal disuatu modul
prosedur
 Bila program ini dikompilasi, akan dideteksi
kesalahan oleh kompiler, karena variabel y yang
sifatnya lokal diprosedur.
 Error yang muncul pada program pascal : error
31:unknown identifier
PROSEDUR
Parameter dalam program yg benar

 Supaya nilai-nilai variabel dapat


digunakan di modul yang lainnya yang
membutuhkannya, maka dapat dilakukan
dengan beberapa cara yaitu:
2. Dibuat bersifat global, harus
dideklarasikan diatas modul yang
menggunakannya
PROSEDUR
Parameter dalam program yg benar
Algoritma XXX
Deklarasi
Procedure satu
Deklarasi
Deskripsi
Var a,b : integr
Procedure dua
Deklarasi
Deskripsi
Deskripsi
……..
Endalgo
PROSEDUR
Parameter dalam program yg benar
 Pada contoh program diatas variabel a
dan b bersifat global untuk prosedur dua
dan untuk modul utama, tetapi tidak
bersifat global untuk prosedur satu
PROSEDUR
Parameter dalam program yg benar
Algoritma XXX
Deklarasi
Var a,b : integr
Procedure satu
Deklarasi
Deskripsi
Procedure dua
Deklarasi
Deskripsi
Deskripsi
……..
Endalgo
PROSEDUR
Parameter dalam program yg benar
 Pada contoh program diatas variabel a
dan b bersifat global untuk prosedur
dua ,untuk modul utama, dan untuk
prosedur satu
PROSEDUR
Parameter dalam program yg benar

1. Dikirimkan sebagai parameter ke modul


yang membutuhkannya
PROSEDUR
Parameter dalam program yg benar
Procedure XXX (input x,y : integer)
Deklarasi
Deskripsi
x x+1
y y+1
Write(x)
Write(y)
{program utama}
Deklarasi
a,b : integer
Deskripsi
XXX(4,10)
read(a,b)
XXX(a,b)
Translasi notasi algoritmik kedalam
bahasa pascal
Procedure namaprosedur Procedure namaprosedur;
Deklarasi Begin
…… End;
……
Deskripsi

Cara memanggil prosedur: namaprosedur


FUNGSI
 Fungsi sama halnya dengan prosedur
akan tetapi fungsi harus dideklarasikan
dengan tipenya.
 Tipe tersebut ditulis pada akhir deklarasi
fungsi
FUNGSI
Function F(input x:real) real
Deklarasi
y:real
Deskripsi
y 2*x*x + 5*x-8
Return y

{program utama}
Deskripsi
F(5)
write(‘jadi total adalah : ‘,y)
FUNGSI
Function F(input x:real) real
Deklarasi
y:real
Deskripsi
y 2*x*x + 5*x-8
Return y

{program utama}
Deklarasi
a:real
Deskripsi
write(‘masukan nilai x: ’,a)
write(‘jadi total adalah : ‘,F(a))
endalgo

Anda mungkin juga menyukai