Yusuf

Program Menghitung Nilai Faktorial Dengan Java

Nilai faktorial dari bilangan asli n adalah n x ( n – 1 ) x ( n – 2 ) x … x 1. Faktorial dari n ditulis dengan n!. Misal faktorial dari 5 ditulis dengan 5! = 5 x 4 x 3 x 2 x 1 = 120. Berikut saya berikan source code untuk mencari nilai faktorial dari input user menggunakan bahasa pemrograman java.

import java.util.Scanner;
 
/**
 * Program menghitung nilai faktorial
 * @author Yusuf
 * https://yusufmalikul.com
 */
public class Faktorial {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int n, faktorial;
        
        System.out.print("Masukkan nilai : ");
        n = sc.nextInt();
        
        faktorial = n;
        
        for (int i = n; i >= 2; i--) {
            faktorial *= i - 1;
        }
        
        System.out.println(n + "! = " + faktorial);
    }
}
Output:

Masukkan nilai : 5
5! = 120

Program ini sudah benar tapi masih ada sedikit masalah yaitu ketika input user adalah 0 maka output adalah 0. Padahal 0! = 1 bukan 0! = 0. Sehingga saya ubah program di atas menjadi sebagai berikut:

import java.util.Scanner;
 
/**
 * Program menghitung nilai faktorial
 * @author Yusuf
 * https://yusufmalikul.com
 */
public class Faktorial {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        int n, faktorial;
 
        System.out.print("Masukkan nilai : ");
        n = sc.nextInt();
 
        faktorial = n;
 
        if (n == 0) {
            faktorial = 1;
        } else {
            for (int i = n; i >= 2; i--) {
                faktorial *= i - 1;
            }
        }
 
        System.out.println(n + "! = " + faktorial);
    }
}
Output:

Masukkan nilai : 0
0! = 1

Anda juga bisa mengubah program di atas apabila user memasukkan angka negatif maka tampilkan pesan error.