Vous êtes sur la page 1sur 10

Pertemuan 7: Fungsi Rekursif

Pendahuluan: Rekursif
Fungsi Rekursif
 Fungsi biasa dipanggil oleh fungsi lain. Sedangkan
fungsi rekursif dipanggil oleh dirinya sendiri.

A B C D A A A A

Fungsi Biasa Fungsi Rekursif


Contoh Rekursif Sederhana
main Fungsi endless (bersifat rekursif)
Fungsi Rekursif
 Setara dengan proses looping/ iterasi  faktorial,
perkalian
 Kadang rekursif lebih baik dari iterasi  Contoh: tower of
hanoi
 Terkadang sebaliknya  Contoh: deret Fibonacci
 Komponen dalam fungsi rekursif:
 Way out  if – else + return(), harus ada kondisi yang pada
akhirnya bernilai false dan menyebabkan eksekusi program
keluar dari rekursi
 Recursive call dengan value baru, merupakan pemanggilan
fungsi rekursif dengan parameter input baru
Contoh 1: Faktorial
Perhitungan:

n! = 1 if n == 0 Algoritma:
n! = n * ( n – 1 )! if n > 0
4! = 4 x 3! n! = 1 if n == 0
3! = 3 x 2! n! = n * ( n – 1 )! if n > 0
2! = 2 x 1!
1! = 1 x 0!
0! = 1
Contoh 1: Flowchart faktorial
rekursif
main Fungsi faktorial(n,f)
Contoh 2: Perkalian
Perhitungan
Algoritma
a * b = a if b == 1
mult(a,b)
a * b = a * ( b – 1 ) + a if b > 1
if b==1
6x3=(6x2)+6
hasil=a
=(6x1)+6+6
c=b-1
=6+6+6
hasil=mult(a,c)
= 18
hasil=hasil+a
return hasil
Contoh 2: Flowchart perkalian
dengan fungsi rekursif
main
main
Tracing (Penelusuran) Algoritma
 Merupakan kegiatan yang dilakukan untuk
menelusuri sebuah algoritma/flowchart langkah-per-
langkah dan mengecek nilai setiap variabel yang ada
 Tracing digunakan untuk memastikan kebenaran dari
algoritma yang sudah kita buat dengan mengikuti alur
flowchart
 Pada Raptor, tracing dapat dilakukan dengan menekan
tombol pada toolbar

Vous aimerez peut-être aussi