Apa itu Faktorial?
Faktorial dari bilangan n adalah perkalian bilangan positif dari angka 1 sampai bilangan itu sendiri. Bilangan faktorial sendiri biasa disimbolkan dengan tanda seru (!
).
Sebagai contoh, faktorial dari 5 adalah:
5! = 5 * 4 * 3 * 2 * 1
5! = 120
Sebelum Mulai
Untuk mengikuti tutorial ini dengan baik, teman-teman setidaknya perlu familiar dengan beberapa materi python dasar berikut:
Solusi 1: Perulangan For
Cara yang pertama adalah menggunakan perulangan for.
Logikanya simpel saja, kita buat satu variabel untuk menyimpan hasil faktorial, dan kita isi dengan nilai awal 1
.
Setelah itu kita akan kalikan terus menerus dengan angka berikutnya sampai mencapai angka n itu sendiri.
Berikut ini contohnya:
n = int(input('Masukkan nilai n: '))
faktorial = 1
for i in range(1, n + 1):
faktorial *= i
print(f'{n}! = {faktorial}')
Atau, kita juga bisa memulai perulangannya dari angka 2
dari pada angka 1
, karena angka 1
sudah kita set sebagai nilai awal variabel faktorial
.
for i in range(2, n + 1):
faktorial *= i
Contoh output:
Masukkan nilai n: 5
5! = 120
Solusi 2: Perulangan Rekursif
Untuk perulangan rekursif, logikanya sama saja.
Akan tetapi di sini kita menghitung faktorialnya secara mundur (–tidak harus sih).
Contoh step per step dari perhitungan 5!
:
5! = 5 * 4!
-> 4! = 4 * 3!
-> 3! = 3 * 2!
-> 2! = 2
Kita bisa mengubah step-per-step di atas menjadi sebuah fungsi rekursif kira-kira seperti ini:
n = int(input('Masukkan nilai n: '))
def hitung_faktorial (n):
if n > 2:
return n * hitung_faktorial(n - 1)
return 2
faktorial = hitung_faktorial(n)
print(f'{n}! = {faktorial}')
Contoh output:
Masukkan nilai n: 5
5! = 120
Masukkan nilai n: 10
10! = 3628800
Solusi 3: Fungsi math.factorial()
Solusi yang ketiga adalah solusi yang paling sederhana, kita tidak perlu memikirkan jalan keluarnya secara manual, karena kita langsung menggunakan fungsi yang sudah disediakan secara bawaan oleh python.
Fungsi tersebut adalah fungsi factorial()
yang berada pada modul math
.
Apa itu modul? Kalian bisa membaca lebih lanjut pada tutorial kami tentang paket dan modul pada python.
Kita kembali lagi, untuk menggunakan fungsi tersebut, kita bisa melakukannya dengan sesederhana ini:
import math
n = int(input('Masukkan nilai n: '))
faktorial = math.factorial(n)
print(f'{n}! = {faktorial}')
Contoh output:
Masukkan nilai n: 5
5! = 120
Masukkan nilai n: 10
10! = 3628800
Kesimpulan
Dari pertemuan kali ini, kita bisa simpulkan beberapa poin di antaranya:
- Faktorial merupakan perkalian berulang dari tiap angka positif dimulai dari 1 hingga angka itu sendiri
- Faktorial dari
n
ditulis dengan ekspresin!
. - Untuk menghitung faktorial dari bilangan
n
, kita bisa menggunakan berbagai cara mulai dari menggunakan perulangan for, menggunakan rekursif, hingga cara yang sangat sederhana yaitu menggunakan fungsi bawaan python.
Kode Program Lengkap
Jika kalian ingin mendapatkan kode program lengkap dari pertemuan kali ini, kalian bisa mendapatkannya pada repositori python-latihan-logika di github.
Jangan lupa kasih star ya!βπ
Pertemuan Selanjutnya
Insyaallah pada pertemuan yang akan datang kita akan membahas beberapa cara untuk mencari nilai tertinggi dan terendah dari sebuah list! Apa saja caranya? Simak terus tutorial latihan logika python di jagongoding!
Jika ada pertanyaan atau sesuatu yang ingin didiskusikan, atau bahkan request tutorial, jangan sungkan-sungkan untuk berkomentar, ya! π
Terima kasih banyak!