Faktorial dengan metode rekursif java

12:22 AM

Sebelumnya telah dibahas tentang menghitung faktorial suatu bilangan dengan metode perulangan/iterasi. Kali ini akan dibahas sedikit tentang menghitung faktorial suatu bilangan dengan menggunakan metode rekursif, yaitu fungsi yang dapat memanggil dirinya sendiri. Adapun perbedaan antara metode rekursif dan iterasi adalah sebagai berikut:

Rekursif : kode program lebih singkat dan pendek. Membutuhkan memori yang besar dan lebih lambat jika melakukan penghitungan dengan jumlah yang banyak karena melakukan pemanggilan fungsi berulang-ulang.
Iterasi : kode program lebih panjang dan kadang sulit dipahami. Membutuhkan alokasi memori yang lebih sedikit dan mempunyai performa lebih cepat dalam penghitungan dengan jumlah yang besar.

Berikut source code dan penjelasan dari faktorial dengan metode rekursif:


import java.util.*;
public class FaktorialRekursif {
    public static void main(String[] args){
        //deklarasi variabel
        int n, hasil;
        //membuat input keyboard
        Scanner a=new Scanner(System.in);
        System.out.print("Masukkan nilai n : ");
        //menginput nilai n yang akan difaktorialkan
        n=a.nextInt();
        //memanggil method faktorial dengan parameter n
        hasil=faktorial(n);
        System.out.println("Faktorial dari "+n+" adalah "+hasil);
    }
    //membuat method penghitungan
    public static int faktorial(int n){
        //untuk nilai n=0 atau 1 maka faktorial nya adalah 1
        if(n==0||n==1){
            return 1;           
        }
        /*selain diatas maka dilakukan penghitungan dengan mengalikan nilai yang sebelumnya dengan nilai yang didapat dari pemanggilan fungsinya sendiri yaitu faktorial dengan parameter n-1*/
        else return n*faktorial(n-1);
    }
}

Enhanced by Zemanta

You Might Also Like

2 comments