Penjelasan alurnya
Faktorial 5, ditulis 5!, adalah 1 × 2 × 3 × 4 × 5 = 120. Flowchart ini mengalikan bilangan satu per satu di dalam perulangan, sama seperti menjumlahkan, tapi dengan perkalian.
Bedanya ada pada nilai awal penampung. Untuk penjumlahan nilai awalnya 0, sedangkan untuk perkalian nilai awalnya harus 1. Kalau diisi 0, semua hasil kali menjadi 0.
Faktorial cepat sekali membesar. 13! sudah lebih dari dua miliar, jadi di bahasa seperti C dan Java hasilnya perlu disimpan di tipe yang lebih besar seperti long long atau long.
Pseudocode
1ALGORITMA Faktorial23DEKLARASI4 n, hasil, i : integer56MULAI7 BACA n8 hasil ← 19 UNTUK i ← 1 SAMPAI n LAKUKAN10 hasil ← hasil * i11 AKHIR UNTUK12 TAMPILKAN "Faktorial:", hasil13SELESAIKode programnya
Kode di bawah dibuat langsung dari flowchart di atas, jadi alurnya sama persis. Coba jalankan dengan masukan 5.
1# Faktorial23n = int(input("Masukkan n: "))4hasil = 15for i in range(1, n + 1):6 hasil = hasil * i7print("Faktorial:", hasil)1// Faktorial23let n, hasil, i;45n = Number(prompt("Masukkan n:"));6hasil = 1;7for (i = 1; i <= n; i++) {8 hasil = hasil * i;9}10console.log("Faktorial:", hasil);1<?php23// Faktorial45$n = (int) readline("Masukkan n: ");6$hasil = 1;7for ($i = 1; $i <= $n; $i++) {8 $hasil = $hasil * $i;9}10echo "Faktorial: " . $hasil . PHP_EOL;1// Faktorial2#include <stdio.h>34int main(void) {5 int n = 0, hasil = 0, i = 0;67 printf("Masukkan n: ");8 scanf("%d", &n);9 hasil = 1;10 for (i = 1; i <= n; i++) {11 hasil = hasil * i;12 }13 printf("Faktorial: %d\n", hasil);1415 return 0;16}1// Faktorial2import java.util.Scanner;34public class Program {5 public static void main(String[] args) {6 Scanner input = new Scanner(System.in);7 int n = 0, hasil = 0, i = 0;89 System.out.print("Masukkan n: ");10 n = Integer.parseInt(input.nextLine().trim());11 hasil = 1;12 for (i = 1; i <= n; i++) {13 hasil = hasil * i;14 }15 System.out.println("Faktorial: " + hasil);16 }17}Jalankan kodenya tanpa instalasi di compiler Python online atau compiler bahasa lain di Playground.
Coba ubah sendiri
- Hitung faktorial dengan perulangan while.
- Tampilkan setiap langkah perkaliannya, misalnya 1 x 2 = 2.
- Buat versi rekursif: fungsi faktorial yang memanggil dirinya sendiri.