Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehSugiarto Susanto Telah diubah "6 tahun yang lalu
1
Data Structure + Algorithm = Program
3. Rekursif Data Structure + Algorithm = Program UNIV. INDONUSA Esa Unggul UNIV. INDONUSA Esa Unggul
2
Apakah Fungsi Rekursif?
Fungsi yang memanggil dirinya sendiri disebut fungsi rekursif. Sebagai contoh di bawah ini diberikan fungsi untuk menghitung nilai faktorial: 0! = 1 1! = 1 = 1 x 0! 2! = 2 x 1 = 2 x 1! 3! = 3 x 2 x 1 = 3 x 2! n! = n x (n-1)! UNIV. INDONUSA Esa Unggul
3
Apakah Fungsi Rekursif? (lanjutan)
, maka fungsi rekursifnya adalah sebagai berikut: int fact(int n){ if(0==n) return 1; return n*fact(n-1); } Setiap fungsi rekursif akan memiliki kondisi berhenti, yang dalam contoh di atas adalah: UNIV. INDONUSA Esa Unggul
4
Apakah Fungsi Rekursif? (lanjutan)
Misal, kita akan menghitung 3! = 6, maka kita memanggil fungsi tersebut sbb: int hasil = fact(3); n=3 0==n? false return 3 * fact(2) fact(2) n = 2 return 2 * fact(1) UNIV. INDONUSA Esa Unggul
5
Apakah Fungsi Rekursif? (lanjutan)
fact(1) n = 1 0==n? false return 1 * fact(0) fact(0) n = 0 0==n? true return 1 Sehingga int hasil = fact(3) = 3 * 2 * 1 * 1 = 6; UNIV. INDONUSA Esa Unggul
6
UNIV. INDONUSA Esa Unggul
Hi Einstein! Setiap fungsi rekursif bisa dikembalikan ke bentuk non-rekursif / iterasi biasa (for/while/do-while). Cobalah untuk membuat fungsi faktorial non-rekursif! Kemudian bandingkan keuntungan dan kerugian fungsi rekursif dan non-rekursif. UNIV. INDONUSA Esa Unggul
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.