Rekursif

Seputar Rekursif
Fungsi Rekursif: Fungsi yang mengulang dirinya sendiri; Fungsi yang memanggil dirinya sendiri dengan cara memasukkan fungsi didalam fungsi.
Contoh sederhana:
int main(){
    int main(){

    }
}

Syarat Ketentuan Rekursif
Contoh sederhana di atas sebenarnya tidak boleh dilakukan, karena akan looping terus menerus/infinite loop. Jadi, harus membuat finite recursion/rekursif terbatas.
Apa itu  finite recursion/rekursif terbatas? Rekursif terbatas adalah rekursif yang berakhir ketika kondisinya terpenuhi.

Contoh Rekursif
1. Kasus Fibonacci
Code C++:
//JUDUL: hitungFibonacci
//Untuk menghitung jumlah dari FIbonacci
#include <iostream>
using namespace std;
//KAMUS GLOBAL
int angka, hasil;

//DESKRIPSI GLOBAL

//JUDUL: Fungsi rekursif untuk menghitung fibonacci
//function fibonacci(n : int) -> integer
int fibonacci(int n){
    //KAMUS LOKAL: Tidak ada
    //DESKRIPSI
    if((n == 0) || (n == 1)){ //kalo n=0 direturn 0; n=1 direturn 1
        return n;
    }else{
        return fibonacci(n - 1) + fibonacci(n - 2);
    }

}

int main()
{
    int angka, hasil;
    cout << "Menghitung fibonacci ke-"; cin >> angka;
    hasil = fibonacci(angka);
    cout << "Nilainya adalah: " << hasil << endl;
    return 0;
}

Hasil Code:
Menghitung fibonacci ke-6
Nilainya adalah: 8

2. Kasus Faktorial
Code C++:
//JUDUL: hitungFaktorial
//Untuk menghitung jumlah dari faktorial
#include <iostream>
using namespace std;
//KAMUS GLOBAL
int angka, hasil;

//DESKRIPSI GLOBAL

//JUDUL: Fungsi rekursif untuk menghitung faktorial
//function factorial(n : int) -> integer
int factorial(int n){
    //KAMUS LOKAL: Tidak ada
    //DEKSKRIPSI
    if(n <= 1){ //kalo n=0 tetep direturn 1
        cout << n;
        return n;
    }else{
        cout << n << "*";
        return n * factorial(n - 1); //10!=10x9x8x7x6x5x4x3x2x1
    }
}

int main()
{
    cout << "Masukkan angka yang akan difaktorialkan: "; cin >> angka;
    hasil = factorial(angka); //untuk mencetak perkalian n
    cout << "\nNilai faktorialnya adalah: " << hasil << endl; //untuk hasil returnnya
    return 0;
}

Hasil Code:
Masukkan angka yang akan difaktorialkan: 6
6*5*4*3*2*1
Nilai faktorialnya adalah: 720

Komentar

Postingan populer dari blog ini

Microsoft PowerPoint