Rabu, 30 Desember 2015

APLIKASI REKURSIF DALAM BAHASA PEMOGRAMAN C++


Rekursif adalah suatu proses atau prosedur dari fungsi yang memanggil dirinya sendiri secara berulang-ulang. Karena proses dalam Rekursif ini terjadi secara berulang-ulang maka harus ada kondisi yang membatasi pengulangan persebut, jika tidak maka proses tidak akan pernah berhenti sampai memori yang digunakan untuk menampung proses tersebut tidak dapat menampung lagi (Penuh).

1. REKURSIF FACTORIAL
contoh program pada C++ 
 
outputnya adalah
 
ALGORITMA 
—#include <stdio.h> //library untuk proses input - output 
—#include <stdlib.h> // library untuk fungsi pause (fungsi jeda) 
—int main(void){ /* fungsi utama program yang menjalankan seluruh baris code 
—int main (void) mengembalikan nilai 0*/ 
—int m; // deklarasi variabel integer private 
—int Faktorial (int k); // prototype fungsi rekrusif faktorial yang bertipe data integer 
—printf("Masukan sembarang bilangan bulat positif :"); // perintah untuk meminta input ke user, data yang diinput berupa bilangan bulat positif
scanf("%d",&m); // data yang diinputkan user akan ditampung dalam variabel m 
—printf("\nMelalui perhitungan rekursif, %d! = %d\n",m, Faktorial(m)); /*perintah untuk menampilkan kelayar, baik bilangan bulat dalam variabel m yang diinputkan user maupun hasil perhitungan rekrusif, sedangkan Faktorial(m) merupakan pemanggilan fungsi rekursif, dimana nilai yang dihitung dalam fungsi rekrusi diambil dari data yang diinputkan user yang ditampung dalam variabel m*/ 
—system ("pause"); // fungsi jeda program, sehingga kita bisa melihat hasil input dan output program dan untuk mengakhiri program user harus menekan tombol enter 
—return 0; //program utama akan mengembalikan nilai 0
// fungsi rekrusif 
—int Faktorial(int k){ // fungsi yang bernama Faktorial dan bertipe data integer
nilai k = nilai yang diinputkan user yang ditampung dalam variabel m 
—if(k==0) // kondisi, dimana jika k==0, maka fungsi faktorial akan mengembalikan nilai 1 
—return 1; // perintah mengembalikan nilai 1 
—else // kondisi statement else akan dijalankan apabila kondisi k==0 tidak terpenuhi 
—return k*Faktorial(k-1); // pengembalian nilai k*Faktorial(k-1) dan sekaligus pemanggilan fungsi faktorial() sendiri 
—} // batas akhir dari fungsi faktorial