Rekursif
Rekursif adalah procedure atau function yang
mengandung atau mendefinisikan dirinya
sendiri
Setiap suatu procedure/function dipanggil
maka nilai argumennya akan berubah dan
proses berhenti jika telah mencapai kondisi
tertentu
Prinsip yang digunakan adalah LILO (Last In
Last Out)
Rekursif dibedakan menjadi :
REKURSIF LANGSUNG
Yaitu bila procedure/function tersebut memanggil
dirinya sendiri
Procedure tampil
Write (‘Halo’)
I 0
I ← I +1
If I < 5 then call tampil
Endif
return
Contoh rekursif langsung
Misal n = 4
Faktorial(0) 1
Faktorial(1) 1 * faktorial(1-1) 1*1
Faktorial(2) 2 * faktorial(2-1) 2 * (1 * 1)
Faktorial(3) 3 * faktorial(3-1) 3 * (2 * (1 * 1))
Faktorial (4) 4 * faktorial(4-1) 4 * (3 * (2 * (1 * 1)))
Contoh rekursif tak langsung
Procedure contoh1
Writeln (‘Stiki Malang’)
Call contoh2
Return
Procedure contoh2
Write (‘Jl. Tidar 100’)
For I ← 1 to 3 do Call contoh1
Write(‘OK’)
Return
Function pangkat (x, y)
Hasil ← 1
If y = 0 then pangkat(x,y) ←1
Else
Hasil ← x * pangkat(x, y-1)
Endif
Return