Your SlideShare is downloading. ×
Bab 8 struktur rekursif
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Bab 8 struktur rekursif

2,797
views

Published on


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,797
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
90
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Struktur Rekursif
  • 2. Perulangan Rekursif danPerulangan Iteratif Rekursif adalah suatu proses yang bisa memanggil dirinya sendiri . Perulangan rekursif merupakan salah satu metode didalam pemrograman yang mana dalam sebuah fungsi terdapat instruksi yang memanggil fungsi itu sendri, atau lebih sering disebut memanggil dirinya sendiri. Perulangan iteratif merupakan perulangan yang melakukan proses perulangan terhadap sekelompok instruksi. Perulangan dilakukan dalam batasan syarat tertentu. Ketika syarat tersebut tidak terpenuhi lagi maka perulangan akan terhenti.
  • 3.  Persamaan :  Iteratif dan rekursif merupakan metode atau teknik didalam perulangan(looping)  Sama-sama memiliki bagian yang berfungsi sebagai batas dalam sebuah perulangan Perbedaan : Iteratif dalam melakukan perulangan membutuhkan suatu instruksi program seperti for, repeat until dan while do, sedangkan rekursi tidak memakai instruksi program seperti itu. Cukup dengan fungsi tersebut.
  • 4. Contoh Penggunaan ProsesRekursif Masalah : Memotong roti tawar tipis-tipis sampai habis. Algoritma : 1. Jika roti sudah habis atau potongannya sudah paling tipis maka pemotongan roti selesai. 2. Jika roti masih bisa dipotong, potong tipis dari tepi roti tersebut. 3. Lakukan prosedur 1 dan 2 untuk sisa potongannya.
  • 5. Contoh Fungsi Rekursif Fungsi Pangkat Faktorial Deret Fibonacci Menara Hanoi
  • 6. Fungsi Pangkat Menghitung 10 pangkat n dengan menggunakan konsep rekursif. Secara notasi pemrograman dapat dituliskan sebagai berikut : 100 = 1.......................................(1) 10n = 10. 310n-1..............................(2) 10 = 10. 102Contoh : 102 = 10. 101 101 = 10. 100 100 = 1
  • 7. Faktorial 0!=1 N ! = N x (N-1) ! Untuk N > 0 Secara notasi pemrograman dapat dituliskan sebagai berikut : FAKT(0) = 1...................................(1) FAKT(N) = N * FAKT(N-1)................(2)Contoh :FAKT(5) = 5 * FAKT(4) FAKT(4) = 4 * FAKT(3) FAKT(3) = 3 * FAKT(2) FAKT (2) = 2 * FAKT(1) FAKT(1) = 1 * FAKT (0) Nilai awal;
  • 8.  Misal : Hitung 5 ! dapat dihitung dengan cara rekursif sebagai berikut : 5!=5*4! secara rekursif nilai dari 4 ! dapat dihitung kembali dengan cara : 4 * 3 ! sehingga 5 ! menjadi 5! = 5 * 4 * 3! secara rekursif nilai dari 3 ! dapat dihitung kembali dengan cara : 3 * 2 ! sehingga 5 ! menjadi 5! = 5 * 4 * 3 * 2 ! secara rekursif nilai dari 2 ! dapat dihitung kembali dengan cara : 2 * 1 sehingga 5 ! menjadi 5! = 5 * 4 * 3 * 2 * 1
  • 9. Deret Fibonacci Deret Fibonacci : 0, 1, 1,2, 3, 5, 8, 13,... Secara notasi pemrograman dapat dituliskan sebagai berikut : FIBO (1) = 0 dan FIBO (2) = 1.....................(1) FIBO (N) = FIBO (N-1) + FIBO (N-2)............(2) Contoh : FIBO(5) = FIBO (4) + FIBO (3) FIBO (4) = FIBO(3) + FIBO (2) FIBO (3) = FIBO (2) + FIBO (1) Nilai Awal
  • 10. Konsep Menara Hanoi Tujuan permainan ini adalah memindahkan n buah piringan dari tonggak asal A melalui tonggak bantu B menuju tonggak tujuan C. dengan aturan piring yang lebih kecil tidak boleh berada di bawah piringan yang lebih besar.
  • 11.  Bayangkan keadaan berikut: Ada 3 tiang (a, b, c) tempat piringan dengan ukuran yang bervariasi dapat ditumpuk. Pada mulanya semua piringan ada di “a”. Tugasnya adalah Memindah semua piringan ke “c” dengan aturan sbb:  pada satu saat hanya boleh memindah 1 piringan  setiap perpindahan berupa pengambilan piringan teratas dari satu tiang dan memasukannya ketiang lain, diatas piringan lain yang mungkin sudah ada pada tiang tersebut.  Tidak boleh meletakan piringan diatas piringan lain yang lebih kecil. (piringan yang lebih besar tidak boleh berada di atas piringan yang lebih kecil).
  • 12.  Dalam notasi algoritma dapat dituliskan sebagai berikut :  Jika n = 1, maka langsung pindahkan saja piringan dari tiang A ke tiang C dan selesai.  Pindahkan n- 1 piringan yang paling atas dari tiang A ke tiang B.  Pindahkan piringan ke n ( piringan terakhir) dari tiang A ke tiang C.  Pindahkan n-1 piringan dari tiang B ke tiang C.
  • 13.  Untuk Penyelesaian masalah kita daftarkan terlebih dahulu langkah-langkah penyelesaiannya: ketika kondisi piringan  N= 1 Piringan 1 dipindahkan dari A ke C. N =2 Pindahkan piringan 1 dari A ke B Pindahkan piringan 2 dari A ke C Pindahkan piringan 1 dari B ke C
  • 14.  Langkah pemindahan tersebut di atas dapat diubah menjadi notasi sebagai berikut : Menara (n, asal, bantu, tujuan)  Untuk jumlah piringan n > 1 dapat dibagi menjadi tiga notasi penyelesaian.  Menara(n-1, asal, bantu, tujuan);  Menara (n, asal, bantu, tujuan); atau asal → tujuan  Menara (n, bantu, asal, tujuan);
  • 15. Langkah Pemindahan Piring Menara (1, A, C, B).................A→ B Menara (2,A, B, C) A→ C......... A→ C Menara (1, B, A, C).................B → C Menara (3, A, C, B) A→ B......... A→ B Menara (1, C, B, A).................C→ A Menara (2, C, A, B)C→ B..........C → B Menara (1, A, C, B).................A→ B Menara (4, A, B, C) A→ C......... A→ C Menara (1, B, A, C).................B→ C Menara (2, B, C, A) B→ A.........B→ A Menara (1, C, B, A).................C→ A Menara (3, B, A, C) B → C....... B→ C Menara (1, A, C, B).................A→ B Menara (2, A, B, C) A → C ......A→ C Menara (1, B, A, C).................B→ C
  • 16.  Ilustrasi di atas menghasilkan 15 langkah penyelesaian dari permasalahan konsep menara Hanoi dengan jumlah piringan sebanyak 4 buah. Rumus Langkah Pemindahan : 2N –1 N = jumlah piringan