Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Fungsi Rekursif Dasar Pemrograman
2
Fungsi Rekursif Fungsi Rekursif : fungsi yang memanggil dirinya sendiri Pemanggilan fungsi : Dari fungsi main Dari fungsi lain Dari fungsi itu sendiri Rekursif
3
Rekursif Generative Structural
Memecah masalah besar menjadi masalah-masalah kecil Structural Biasa untuk pengolahan data, terutama struktur data tree
9
rekursif() Fungsi Rekursif rekursif()
… void rekursif() { rekursif(); } int main() { rekursif() rekursif() main() rekursif()
10
Kegunaan Fungsi rekursif digunakan untuk menyelesaikan masalah yang kompleks dengan cara “membelah” menjadi potongan-potongan kecil yang sederhana (Generative) Structural : rekursif untuk struktur data tertentu, contohnya Tree
11
Perlu diperhatikan Tidak semua masalah bisa diselesaikan secara rekursif Fungsi rekursif biasanya lebih lambat Fungsi rekursif harus memiliki titik berhenti Jumlah maksimal tingkat rekursif ditentukan oleh sistem operasi
12
Contoh function rekursif
13
Hasil program
14
Kasus : Faktorial 5! = 5 x 4 x 3 x 2 x 1 = 5 x 4!
1! = 1
15
Kasus : Faktorial 5! = 5 x 4! 4! = 4 x 3! 3! = 3 x 2! 2! = 2 x 1!
Titik berhenti 3! = 3 x 2! 2! = 2 x 1! 1! = 1 5! = 5 x 4 x 3 x 2 x 1
16
Kasus : Faktorial faktorial(5) hasilnya : 120
17
Contoh program Titik berhenti Rekursif
18
Hasil program
19
Rekursif vs Iteratif Pola rekursif adalah konstruksi program fungsional yang didasari oleh definisi rekurens persoalan Pola iteratif adalah bagaimana membuat sebuah pengulangan dengan memanfaatkan menjadi sebuah aplikasi rekursif. Pada pola iteratif, hasil disebut sebagai akumulator, dimana pada aplikasi rekursif mencapai basis, akan berhenti dan akumulator tersebut harus berisi nilai komputasi yang diinginkan
20
Tabel perbandingan Pokok persoalan Versi Rekursif Versi Iteratif
Bentuk teks program rekurens Aplikasi fungsi dalam sebuah ekspresi sesuai dengan definisi Aplikasi fungsi untuk mengubah nilai parameter yang diharapkan akan menampung nilai hasil Basis atau nilai awal Kondisi basis adalah kondisi dimana tidak ada lagi aplikasi rekursif, ekspresi basis adalah awal komputasi: yaitu komputasi mulai dilakukan Kondisi basis adalah kondisi berhenti dan ekpresi basis adalah “peniriman” hasil komputasi lewat parameter Aplikasi Tidak perlu memikirkan awal, inisialisasi, elemen pengontrol. Fokus persoalan adalah bagaiamana melakukan apliasik sebauh fungsi sesuai dengan definisi dan spesifikasinya Harus dipikirkan bagaimana melakukan inisialisasi dan elemen pengontrol supaya kondisi basis tercapai dan nilai hasil diperoleh.
21
Tabel perbandingan (lanjt.)
Pokok persoalan Versi Rekursif Versi Iteratif Pola rekurens Hanya ada satu pola yaitu berdasarkan rekursif persoalan Ada dua pola rekurens. Berdasarkan pencacah, atau berdasarkan kondisi parameter. Yang penting adalah menentukan elemen pengontrol iterasi yang menjamin bahwa suatu saat ietrasi dapat berhenti dan hasil komputasi dapat diperoleh
22
Kasus Deret Fibonaci Deret fibonacci mempunyai nilai suku-suku bilangan berikut: 0, 1, 1, 2, 3, 5, 8, 13, 21, Ciri khusus deret ini adalah tiap-tiap suku adalah hasil penjumlahan dari nilai dua suku sebelumnya
23
Kasus Deret Fibonaci untuk mencari bilangan fibonacci ke- 5, maka urutan pengerjaannya adalah sebagai berikut:
24
Fibo iteratif vs Fibo rekursif
25
Iteratif vs Rekursif Kesimpulannya ?
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.