Bilangan Fibonacci Rekursif Bahasa C


Hi guys, sekedar catatan untuk belajar pemerograman dengan pendekatan rekursif. Di dalam rekursif ada dua kondisi yang penting yang menjadi acuan untuk membangun sebuah program. Pertama adalah basis, basis adalah kondisi dimana looping/pengulangan itu menghasilkan sesuatu nilai. Basis menjadi acuan dasar dimana program akan mengembalikan sebuah nilai yang nantinya di proses secara berulang-ulang sehingga menghasilkan nilai yang diinginkan.  Yang kedua adalah rekurens, rekurens merupakan kondisi pengulangan untuk memperoses nilai yang ada pada basis. Rekurens menjadi tempat untuk memanipulasi nilai yang ada pada basis menjadi hasil yang diinginkan. Pada umumnya, basis mempunyai dua kondisi yaitu basis-0, dimana kondisi pengulang berada pada index 0 dan basis-1 dimana kondisi pengulangan berada pada index-1.    

Berikut contoh program fibonacci dengan pendekatan rekursif. Bilangan Fibonacci adalah bilangan dengan menjumlah dua nilai di awal untuk menghasilkan nilai berikutnya yaitu dengan mengikuti rumus berikut.

 F_n=F_(n-1)+F_(n-2)

dimana F_1=F_2=1 , n adalah bilangan bulat 1, 2, ... dan hasil bilangan fibonacci = 1, 1, 2, 3, 5, 8, 13, 21, ....



/* File Name : fibonacci.c  */
/* Author : Sabitudddin Bigbang */

#include <stdio.h>

int fibonacci(int number) {
    if ((number == 0) || (number == 1)) { /* Basis */
        return 1;  
    } else { /* Rekurens */
        return fibonacci(number-1) + fibonacci(number-2);
    }
}

int main() {
    printf("Bilangan Fibonacci Rekursif\n");
    int i,count;
    printf("Masukkan jumlah Bilangan : ");
    scanf("%d", &count);
    for (i = 0; i < count; i++)    {
        printf(" %d ", fibonacci(i));
    }  
    printf("\n");
    return 0;
}

Steps :
  1.  Tentukan basis, basis-0 atau basis-1, atau dua-duanya
  2.  Buatlah rekurens dengan menggunakan fungsi itu sendiri.

Notes : 
Basis : kondisi pada  index 0 untuk basis-0, index 1 untuk basis-1 dan mengembalikan sebuah nilai.
Rekurens : Kondisi pengulangan untuk memproses nilai pada basis yaitu dengan menggunakan fungsi itu sendiri. 
Biangan Fibonacci  = 1, 1, 2, 3, 5, 8, 13, 21, ...



1 komentar: