Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Fungsi Rekursif Dasar Pemrograman.

Presentasi serupa


Presentasi berjudul: "Fungsi Rekursif Dasar Pemrograman."— Transcript presentasi:

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

4

5

6

7

8

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 ?


Download ppt "Fungsi Rekursif Dasar Pemrograman."

Presentasi serupa


Iklan oleh Google