Menghitung faktorial adalah salah satu operasi matematika dasar yang sering digunakan dalam berbagai aplikasi pemrograman. Faktorial dari suatu bilangan adalah hasil perkalian semua bilangan bulat positif dari 1 hingga bilangan tersebut. Misalnya, faktorial dari 5 (ditulis sebagai 5!) adalah 5 × 4 × 3 × 2 × 1 = 120. Dalam artikel ini, kita akan membahas cara membuat faktorial menggunakan JavaScript, dari pendekatan dasar hingga teknik yang lebih canggih.
1. Menghitung Faktorial Menggunakan Fungsi Rekursif
Fungsi rekursif adalah metode yang sering digunakan untuk menghitung faktorial. Konsep dasar dari rekursi adalah fungsi yang memanggil dirinya sendiri dengan nilai yang lebih kecil hingga mencapai kondisi dasar.
Langkah-langkah:
-
Definisikan Fungsi Rekursif:
-
Fungsi rekursif untuk menghitung faktorial dapat didefinisikan seperti ini:
function factorialRecursive(n) { if (n === 0 || n === 1) { return 1; } return n * factorialRecursive(n - 1); }
-
Di sini, kondisi dasar adalah jika
n
adalah 0 atau 1, maka faktorialnya adalah 1. Jika tidak, fungsi memanggil dirinya sendiri dengan nilai1
.
-
Fungsi rekursif untuk menghitung faktorial dapat didefinisikan seperti ini:
-
Contoh Penggunaan:
console.log(factorialRecursive(5)); // Output: 120
2. Menghitung Faktorial Menggunakan Fungsi Iteratif
Pendekatan iteratif menggunakan loop untuk menghitung faktorial. Ini adalah metode yang lebih efisien dalam hal penggunaan memori dibandingkan dengan rekursi.
Langkah-langkah:
-
Definisikan Fungsi Iteratif:
-
Fungsi iteratif untuk menghitung faktorial dapat didefinisikan seperti ini:
function factorialIterative(n) { let result = 1; for (let i = 1; i <= n; i++) { result *= i; } return result; }
-
Fungsi ini menggunakan loop
for
untuk mengalikan nilairesult
dengan setiap bilangan dari 1 hinggan
.
-
Fungsi iteratif untuk menghitung faktorial dapat didefinisikan seperti ini:
-
Contoh Penggunaan:
console.log(factorialIterative(5)); // Output: 120
3. Menghitung Faktorial Menggunakan Fungsi reduce
Metode ini memanfaatkan fungsi reduce
dari array JavaScript untuk menghitung faktorial dengan pendekatan fungsional.
Langkah-langkah:
-
Definisikan Fungsi
reduce
:-
Fungsi
reduce
dapat digunakan seperti ini:function factorialReduce(n) { return Array.from({ length: n }, (_, i) => i + 1) .reduce((acc, val) => acc * val, 1); }
-
Di sini, kita membuat array dari 1 hingga
n
, lalu menggunakanreduce
untuk menghitung faktorial dengan mengalikan semua elemen array.
-
Fungsi
-
Contoh Penggunaan:
console.log(factorialReduce(5)); // Output: 120
4. Menghitung Faktorial dengan BigInt (Untuk Bilangan Besar)
Jika Anda perlu menghitung faktorial dari bilangan yang sangat besar, menggunakan BigInt
dapat mencegah masalah overflow yang mungkin terjadi dengan angka biasa.
Langkah-langkah:
-
Definisikan Fungsi dengan
BigInt
:-
Fungsi faktorial dengan
BigInt
dapat didefinisikan seperti ini:function factorialBigInt(n) { let result = BigInt(1); for (let i = 1; i <= n; i++) { result *= BigInt(i); } return result; }
-
Di sini, kita menggunakan
BigInt
untuk menangani angka besar tanpa kehilangan presisi.
-
Fungsi faktorial dengan
-
Contoh Penggunaan:
console.log(factorialBigInt(20).toString()); // Output: 2432902008176640000
Kesimpulan
Menghitung faktorial dengan JavaScript bisa dilakukan dengan berbagai cara, dari menggunakan fungsi rekursif dan iteratif hingga teknik fungsional dengan reduce
dan menggunakan BigInt
untuk bilangan besar.
Pilihan metode tergantung pada kebutuhan spesifik aplikasi Anda dan ukuran bilangan yang akan dihitung.
Tidak ada komentar