Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pertemuan 1 Rekursi jual [Valdo] Lunatik Chubby Stylus.

Presentasi serupa


Presentasi berjudul: "Pertemuan 1 Rekursi jual [Valdo] Lunatik Chubby Stylus."— Transcript presentasi:

1 Pertemuan 1 Rekursi jual [Valdo] Lunatik Chubby Stylus

2 Fungsi Rekursif Definisi fungsi rekursif. Contoh 1 : Triangle
Contoh 2 : Faktorial Contoh 3 : Perkalian Contoh 4 : Fibonacci Contoh 5 : Tower of Hanoi

3 Fibonacci 0,1,1,2,3,5,8,13,21,34,55,89,144,..  The Fibonacci series fn≥0 is a famous series defined by: f0 :≡ 0, f1 :≡ 1, fn≥2 :≡ fn−1 + fn−2 f2 = f0 + f1 = = 1 f3 = f1 + f2 = = 2 f4 = f2 + f3 = = 3 f5 = f3 + f4 = = 5 …. Leonardo Fibonacci

4

5 Fibonacci ALGORITMA fibo( n ) = n if n == 0 or n == 1
fibo( n ) = fibo( n – 2 ) + fibo( n – 1 ) if n >= 2 fibo( 4 ) = fibo( 2 ) + fibo( 3 ) = fibo( 0 ) + fibo ( 1 ) + fibo( 3 ) = fibo( 1 ) + fibo( 2 ) = fibo( 0 ) + fibo( 1 ) = = 3 SOURCE CODE int fibo ( int n ) { int x, y; if ( n <= 1 ) return ( n ); }else{ x = fibo( n - 1 ); y = fibo( n - 2 ); return ( x + y ); }

6 Tracing Fibonacci fibo (4) = ? F(4) F(2) F(3) F(2) F(0) F(1) F(1) F(0)

7

8 Towers of Hanoi Sebuah game /puzzle matematika kuno dimana ada ada tiga buah tiang, dimana salah satu tiang terdapat beberapa piringan Piringan akan dipindahkan ke tiang yang lain dengan salah satu tiang menjadi tiang bantu Untuk memindahkan ada beberap syarat Hanya ada satu piringan yang berpindah dalam satu langkah Tidak boleh ada piringan yang berada di atas piringan yang lebih kecil Total langkah yang dibutuhkan untuk menyelesaikan puzzle secara matematika adalah 2n -1 dengan n adalah banyaknya piringan

9

10

11 ALGORITMA If n == 1, move the single disk from A to C and stop. Move the top n – 1 disks from A to B, using C as auxiliary. Move the remaining disk from A to C. Move the n – 1 disks from B to C, using A as auxiliary. SOURCE CODE void towers( int n, char from, char to, char aux) { if ( n == 1 ) { printf(“\nmove disk 1 from %c to %c”, from, to); return; }else{ towers( n – 1, from, aux, to ); printf(“\nmove disk %d from %c to %c”, n, from, to); towers( n – 1, aux, to, from ); }

12 Tracing Towers of Hanoi
towers(3, A, C, B) = ?

13 resume Kelebihan : Kekurangan :
Program menjadi lebih singkat/sederhana Dalam beberapa kasus kasus memang dibutuhkan penggunaan rekursi Kekurangan : Kurang efektif dalam hal kecepatan Membutuhkah memori lebih, karena ketika satu fungsi / method memanggil dirinya , dibutuhkan tambahan alokasi memori. Sehingga alokasi memori total menjadi lebih besar

14 Tugas Rumah : TRACING 1. NPM genap : towers (4, A, C, B) = ?
NPM ganjil : towers (4, C, A, B ) = ? 2. fibo(6) = ?

15 wikipedia


Download ppt "Pertemuan 1 Rekursi jual [Valdo] Lunatik Chubby Stylus."

Presentasi serupa


Iklan oleh Google