Monday, April 7, 2014

Rekursif

Rekursif


Pengertian Rekursif

         Rekursif adalah salah satu metode dalam dunia matematika. Definisinya merupakan sebuah fungsi yang mengandung fungsi itu sendiri. Dalam dunia pemrograman, rekursif diimplementasikan dalam sebuah fungsi yang memanggil dirinya sendiri, sehingga terjadilah perulangan didalam fungsi tersebut. Akan tetapi proses perulangan tersebut terjadi secara implisit, sehingga pada proses perulangannya tidak menggunakan for, while, atau do-while tetapi hanya menggunakan if. Pada proses rekursif, akan terjadi secara berulang-ulang. Oleh karena itu, perlu adanya stopping role atau penyetopan dari penghentian proses perulangan tersebut.

Kelebihan Fungsi Rekursif
  • Program lebih singkat.
  • Pada beberapa kasus, lebih mudah menggunakan fungsi rekursif, contohnya: pangkat, factorial, dan fibonacci, dan beberapa proses deret lainnya.
  • Lebih efisien dan cepat dibandingkan proses secara iteratif.

Kekurangan Fungsi Rekursif
  • Memakan memori lebih besar, karena setiap bagian dari dirinya dipanggil, akan membutuhkan sejumlah ruang memori untuk penyimpanan.
  • Rekursif sering kali tidak bisa berhenti sehingga memori akan terpakai habis dan program bisa hang.

Cara Memecahkan Masalah Dengan Metode Rekursif
  1. Tentukan kasus penyetopnya, saat pemanggilan fungsinya tidak diperlukan lagi
  2. Terapkan suatu langkah untuk menggiring kasus kompleks ke kasus penyetopan dengan metode yang mencerminkan fungsi.

  • Contoh Proses Penghitungan Pangkat Secara Rekursif
    10pangkat-rekursif








     

    Contoh – contoh penerapan rekursif:

    1. Fungsi cetak ke layar
    Fungsi ini mencetak  nilai dari paremeter yang dilempar kepadanya.  Jika nilai dari parameter tersebut  > 0, fungsi akan mencetak nilai dari parameter tersebut dan kemudian memanggil dirinya lagi, jika tidak, program berhenti.


     





    Untuk melihat lebih jelas, terapkan fungsi di atas dalam sebuah program

    2. Fungsi pangkat
    Fungsi ini digunakan untuk menghitung nilai: Xn dengan n berupa bilangan bulat positif.  Solusi dari persoalan ini:
    jika n = 1 MAKA Xn = X
    selain itu  Xn = X * Xn-1
    Sebagai contoh diambil nilai X=5 dengan n=3, pelukisan proses pemecahannya:


     
    Berikut adalah fungsi pangkat dengan menggunakan solusi di atas:



    a adalah bilangan yang dipangkatkan, sedangkan b adalah bilangan pemangkatnya.  Jika nilai dari b adalah 1, return a, lainnya return a dikali dengan fungsi pangkat dengan parameter a dan b-1.  Untuk lebih jelas, terapkan dalam program.







    3. Fungsi faktorial
    Faktorial dapat dibuat dengan menerapkan rekursi.  Berikut ini adalah fungsi faktorial rekursif dari sebuah program.








     
    Fungsi faktorial diatas akan melakukan rekursi selama nilainya > 1.  Pelukisan penyelesaiannya:

















    Sumber : 

No comments:

Post a Comment