public class Faktorial {

    static long faktorial(int n) {
        System.out.println("masuk  : faktorial(" + n + ")");
        if (n <= 1) {
            return 1;                       // base case
        }
        long hasil = n * faktorial(n - 1);  // recursive case
        System.out.println("keluar : faktorial(" + n + ") = " + hasil);
        return hasil;
    }

    public static void main(String[] args) {
        System.out.println("4! = " + faktorial(4));
    }
}
