Fungsi
Deklarasi fungsi
function NamaFungsi(daftar parameter
masukan) :tipe data
deklarasi
deskripsi
Bagian Pernyataan
Pemanggilan Fungsi
Contoh
Function Maks(X,Y : integer) : integer
Deskripsi
if X > Y then Maks X
else Maks Y
end if
Pemanggilan :
Write(Maks(3,6))
ZMaks(4,5)
If Maks(A,B) > 0 then
ZMaks(A,B) * 2
REKURSI
jika m 0
1x 2 x3 x 4....xm
jika m 0
m!
Fungsi Rekursif
Fungsi
Latihan
function move(input n : integer):integer;
deklarasi
if (n=1) then move 1 else
move 2*move(n-1)+1
end if
Berapa move(8) ?
Latihan
function Z (input ki, ka : integer):integer
deskripsi
if ki<ka then
Z Z(1,((ki+ka) div 2)-1) +
Z( ((ki+ka) div 2 ) +1, ka)+1
else Z 1
end if
Berapakah nilai Z(1,7) ?
Prosedur Rekursif
Procedure Balik (X : integer)
Deklarasi
Sisa : integer
Deskripsi
write (X mod 10)
Sisa X div 10;
If Sisa <> 0 Then Balik(Sisa)
End if
Jika prosedur di atas dipanggil dengan Balik(1024) apa
hasilnya ?
Latihan
Procedure Star(input t : integer)
deskripsi
if (t<2) then write (*)
else
star (t-1)
star (t-2)
end if
Berapa kali simbol * dituliskan jika prosedur dipanggil
dengan perintah Star(6) ?
Latihan
1. Lihat kembali Algoritma Euclidean untuk
menghitung nilai FPB. Buatlah prosedur
untuk menghitung nilai FPB berdasarlan
Algoritma Euclidean, secara rekursif.
2. Buatlah fungsi rekursif dan non rekursif
untuk menghitung nilai XN, dengan X
bilangan riil dan N bilangan bulat