Agustus 4, 2020
Sistem Informasi

Struktur Rekursif

ICON CREATOR MEDIA MAKET CREATOR

Rekursif adalah suatu proses yang bisa memanggil dirinya sendiri.

 

Contoh konsep penggunaan Rekursif

Masalah : Memotong Roti tawar tipis-tipis sampai habis
Algoritma :

  1. Jika roti sudah habis atau potongannya sudah paling tipis maka pemotongan roti selesai.
  2. Jika roti masih bisa dipotong, potong tipis dari tepi roti tersebut, lalu lakukan prosedur 1 dan 2 untuk sisa potongannya.

 

Contoh Fungsi Rekursif
  1. Fungsi pangkat
  2. Faktorial
  3. Fibonancy
  4. Menara Hanoi

 

Fungsi Pangkat

Menghitung 10 pangkat n dengan menggunakan konsep
rekursif.
Secara Notasi pemrograman dapat ditulis :
10 0 = 1 …………………………..(1 )
10 n = 10 * 10 n-1 ……………………………….( 2 )
Contoh :
10 3 = 10 * 10 2
10 2 = 10 * 10 1
10 1 = 10 * 10 0
10 0 = 1

 

Faktorial

Contoh :
FAKT(5) = 5 * FAKT(4)
FAKT(4) = 4 * FAKT(3)
FAKT(3) = 3 * FAKT(2)
FAKT(2) = 2 * FAKT(1)
FAKT(1) = 1 * FAKT(0)
Nilai Awal

Misal :
hitung 5!, maka dapat dilakukan secara rekursif
dgn cara :
5! = 5 * 4!
Scr rekursif nilai dr 4! Dpt dihitung kembali dgn 4 *
3!,
shg 5! Menjadi :5! = 5 * 4 * 3!
Scr rekursif nilai dr 3! Dpt dihitung kembali dgn 3 *
2!, shg 5! Menjadi : 5! = 5 * 4 * 3 * 2!
Scr rekursif nilai dr 2! Dpt dihitung kembali dgn 2 *
1, shg 5! Menjadi : 5! = 5 * 4 * 3 * 2 * 1 = 120.

 

Contoh Listing Faktorial

#include <iostream.h>
#include <iomanip.h>
Unsigned long faktorial (unsigned long);
Int main()
{
for (int i=0; i:<=10; i++)
cout << setw(2) << i << “! Faktorial(i) << endl;
return 0;
}
// recursive definition of function factorial
Unsigned long factorial (unsigned long number)
{
if (number <=1) // base case
return 1;
else
return number * factorial(number – 1);

 

Fibonancy

Contoh :
Fibo(5) = Fibo(4) + Fibo(3)
Fibo(4) = Fibo(3) + Fibo(2)
Fibo(3) = Fibo(2) + Fibo(1)
Nilai Awal
Deret Fibonancy
A[1] = 1;
A[2] = 2;
For (i=3; i<=10; i++)
{
A[i] = A[i-1] + A[i-2];
}

 

Supported by: Jasa Maket by MaketCreator.com