C Program – Fungsi faktorial secara manual(looping) dan rekursif

File 1 adalah contoh fungsi untuk mencari nilai faktorial yang di buat dengan cara looping, di dalam proses looping terjadi proses pengurangan pada bilangan yang di faktorialkan sehingga, n*n-1*n-2*n-3*…*1, looping akan berhenti saat kondisi while pada angka 1.

#include <stdio.h>
#include <stdlib.h>
int faktorial(int x);
int main()
{
    int x,hasil;
    printf("n Fungsi Faktorial n ===================n");
    printf("n Untuk fungsi x! masukan nilai x : ");
    scanf("%d",&x);
    hasil=faktorial(x);
    printf("n Hasil dari %d! : %d",x,hasil);
    return 0;
}
int faktorial(int x){
    int xtmp=x,hasil=x;
    while(xtmp!=1){
        if(x==0)
        {
            hasil=1;
            break;
        }
        hasil*=xtmp-1;
        xtmp--;
    }
    return hasil;
}

File 2. Konsep fungsi rekursif adalah fungsi yang memanggil dirinya sendiri di dalam fungsi tersebut hingga suatu keadaan terpenuhi. Contoh kedua ini mekanismenya hampir sama yaitu dengan mengurangi bilangan yang difaktorialkan, bedanya cara kedua menggunakan metode rekursif.

#include <stdio.h>
#include <stdlib.h>
int faktorial(int x);
int main()
{
    int x,hasil;
    printf("n Fungsi Faktorial n ===================n");
    printf("n Untuk fungsi x! masukan nilai x : ");
    scanf("%d",&x);
    hasil=faktorial(x);
    printf("n Hasil dari %d! : %d",x,hasil);
    return 0;
}
int faktorial(int x){
if (x == 1 || x == 0) return 1;
return x * faktorial(x-1);
}

*) keterangan : Aplikasi yang saya gunakan Codeblock versi 10.05

About Iin aryani

I don't wanna be a "Copycat" but, something they need to copy.

Posted on 30 September 2012, in Open Source ( C Program ), Pemrograman C and tagged . Bookmark the permalink. Leave a comment.

Komentar untuk penulis

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: