Trik Menghitung Faktorial dalam Bahasa Java

23 Nov 2012
Faktorial dapat didefinisikan sebagai perkalian suatu bilangan bulat positif yang kurang atau sama dengan bilangan tersebut. Faktorial seringkali dilambangkan dengan n! yaitu n × (n-1) × (n-2) × ... (n-k) dimana (n-k)>0. Lalu apa hubungannya dengan judul di atas. Begini, terkadang dalam suatu tes masuk perusahaan IT (apalagi software house) tentunya hal-hal algoritma dan teknik koding memang sudah jadi suatu keharusan. Nah dari sekian banyak studi kasus yang diujicobakan, kasus ini merupakan salah satunya!

Sebagai contoh kita akan menghitung faktorial 5 = 5×4×3×2×1 hasilnya adalah 120. Untuk mencarinya kita bisa saja dengan perulangan tapi lebih asyik jika menggunakan fungsi rekursif seperti contoh di bawah.


private static int faktorial(int n) {
  if (n == 0)
   return 1;
  else
   return n * faktorial(n - 1);

 }

Dari listing di atas bisa dilihat terdapat fungsi rekursif (memanggil dirinya sendiri) selama kondisi terpenuhi yaitu n>0. Artinya jika nilai n lebih besar dari nol, maka fungsi faktorial tetap akan di panggil. Tapi perlu diingat bahwa fungsi di atas berlaku jika tipe data adalah integer. Jika perhitungan menggunakan data yang besar dapat menggunakan tipe data yang jangkuannya lebih besar seperti long, BigInteger dan sebagainya.

No comments:

Post a Comment