Ronsen's Blog

Rekursif

Friday, February 13, 2009

Sudah juga lama tidak mendengar istilah rekursif. Karena ingin menyegarkan otak saya ingin mengambilkan contoh menghitung bilangan faktorial. Berikut pseudocode yang ada di website Wikipedia:
function factorial is:
input: integer n such that n >= 0
output: [n × (n-1) × (n-2) × … × 1]

1. if n is 0, return 1
2. otherwise, return [ n × factorial(n-1) ]

end factorial

Kalau diterjamahkan dalam bahasa pemrograman Java:
class FactorialNumber {

  private static int[] NUMBERS = new int[] { 1, 2, 3, 4, 5 };

  public FactorialNumber() { }

  public static int factorial(int number) {
    if (number == 0) return 1;
    return number * factorial(number - 1);
  }

  public static void main(String[] args) {
    for (int number : NUMBERS) {
      System.out.println("Factorial(" + number + "): " + 
      FactorialNumber.factorial(number));
    }
  }
}

Entah kenapa penggunaan rekursif sering ditanyakan sewaktu wawancara kerja.