Selasa, 17 April 2012

Tentang Rekursif

Moshi-moshi...
ane mau share nii...
lngsung aja deh,,,,




Rekursif adalah sub program yang dapat memanggil dirinya sendiri selama kondisi pemanggilannya masih terpenuhi. Karena sifatnya ini, maka rekursif harus memiliki :
1. kondisi yang menyebabkan pemanggilan dirinya berhenti (disebut kondisi khusus atau special condition)
2. pemanggilan diri sub program (yaitu bila kondisi khusus tidak dipenuhi)
Secara umum bentuk dari sub program rekursif memiliki statemen kondisional ( if – else )  –>
if kondisi khusus tak dipenuhi
then panggil diri-sendiri dengan parameter yang sesuai
else lakukan instruksi yang akan dieksekusi bila kondisi khusus dipenuhi
Sub program rekursif umumnya dipakai untuk permasalahan yang memiliki langkah penyelesaian yang terpola atau langkah-langkah yang teratur.
Contoh perhitungan factorial dengan rekursif :
Fungsi factorial dari bilangan bulat positif n didefinisikan sebagai berikut:
n!= n.(n-1)! , jika n>1
n!= 1          , jika n=0, 1
contoh :
3!= 3. 2!
3!= 3. 2. 1!
3!= 3. 2. 1
3!= 6
jika diubah ke dalam c++ maka
int Faktorial(int n)
 {
     if ((n == 0) || (n == 1 ))
     return (1);
     else
     return (n * Faktorial(n-1));
}
 (n==0) nilai n dicek sama dengan 0 atau 1,
jika ya, maka fungsi mengembalikan nilai 1 (return(1)),
jika tidak, fungsi mengembalikan nilai n * Faktorial (n -1)
disinilah letak proses rekursif itu, perhatikan fungsi factorial ini memanggil dirinya sendiri tetapi dengan parameter (n-1)

Tidak ada komentar:

Posting Komentar