Function and Recrusive

FUNCTION
Function adalah suatu bagian dari program yang digunakan untuk mengerjakan suatu tugas dalam bentuk hitungan maupun menjalankan program yang bersifat konstan, dan yang pada akhirnya funsi tersebut dipanggil dalam program inti { int main () }. Function mempunyai 2 jenis yaitu :
·       Library Function à function yang sudah tersedia dan bersifat tetap.
·       User-Devine Function à function yang dibuat sendiri oleh user.
Contoh dari konstruksi dari sebuah function :
            Return-value-type Function name ( parameter )
{
                        Statement ;
            }
Berikut contoh source code untuk pembuatan dan pemanggilan sebuah function ( mencari nilai MAX dari sebuah angka ) :
int maximum (int x, int y){
        int max = x;
        if ( y > max) max = y;
        return max
}
Int main ()
{
int a,b;
      printf("Input 2 even values : ");
      scanf("%d %d", &a, &b);
      printf("Largest value is : %d\n", maximum(a,b));
}

RECRUSION
Recrusion adalah funsi dalam fungsi tertentu yang memanggil dirinya sendiri.  Fungsi recrusive mempunyai 2 komponen, yaitu :
-        Base Case
Mengembalikan nilai tanpa memanggil kembali recrusive lainnya.
Contoh :
N = 0;
-        Reduction Step
Mengurutkan nilai input ke base case
Contoh :
F(n) = n * f(n-1);
Berikut Perbedaan Iterative dan recrusive
Factorial – Recrusive
Long factor (int n)
{
            If(n==0) return 1;
            Else return (n * factor(n-1));
}
Factorial – Iterative
Long factor (int n)
{
            Long i I, fac =1 ;
            For(i=1; i<n; i++)
{
            Fac *= i ;
}
Return (fac)
}

CONTOH PRROGRAM MENGGUNAKAN RECRUSIVE
FIBONACCI NUMBER = { 0, 1, 1, 2, 3, 5, 8, 13, …}
Int Fib (int n)
{
Int f;
If(n==0) f = 0;
                        Else if(n==1) f=1;
                                    Else f = Fib(n-2) + Fib(n-1);
Retrun f;
}




Comments