Trianto Haryo Nugroho
Portofolio Free Course Dasar-Dasar Python BISA AI Academy. Pembuatan Program Faktorial Bilangan dengan Fungsi Rekursif dan Faktor Bilangan menggunakan Python.
1. Faktorial
Faktorial dari bilangan n adalah perkalian bilangan positif dari angka 1 sampai bilangan itu sendiri. Bilangan faktorial sendiri biasa disimbolkan dengan tanda seru (!).
Rumus nilai faktorial :
n! = n x (n-1) x (n-2) x (n-3) … x 1
atau
n! = n. (n-1)!
Contoh nilai faktorial dari 0! hingga 5! adalah seperti berikut ini:
0! = 1
1! = 1
2! = 2 × 1 = 2
3! = 3 × 2 × 1 = 6
4! = 4 × 3 × 2 × 1 = 24
5! = 5 × 4 × 3 × 2 × 1 = 120
Nol faktorial (0!) dalam hal ini merupakan pengecualian. Jika kita anggap n = 1, dan memasukkannya ke dalam rumus faktorial :
n! = n. (n-1)!
Maka akan didapat hasil perhitungan yang berbentuk seperti ini:
1! = 1. (1-1)!
1! = 1. (0)!
1 = 0!
Maka kita bisa menarik kesimpulan jika 0! sama dengan 1.
Fungsi Rekursif
Dalam programming, fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Untuk beberapa kasus, fungsi rekursif bisa lebih efisien, tapi penulisannya memang tidak mudah dan sering terjadi error / infinity loop.
Selain itu tidak semua masalah bisa dipecahkan dengan fungsi rekursif, menghitung faktorial menjadi contoh penerapan yang banyak dipakai untuk membuat fungsi rekursif.
Perulangan Rekursif
Untuk perulangan rekursif logikanya seperti menggunakan perulangan for akan tetapi di sini kita menghitung faktorialnya secara mundur.
Contoh step per step dari perhitungan 5! :
5! = 5 * 4!
-> 4! = 4 * 3!
-> 3! = 3 * 2!
-> 2! = 2 * 1!
-> 1! = 1 * 0!
Kita bisa mengubah step-per-step di atas menjadi sebuah fungsi rekursif seperti ini:
Jika kita masukkan input bilangan n = 5, maka outputnya adalah sebagai berikut :
2. Faktor Bilangan
Faktor bilangan adalah sebuah bilangan yang dapat membagi habis bilangan tersebut. Untuk menentukan bilangan, kita dapat menggunakan cara mencari pasangan bilangan tersebut dengan cara apabila dikalikan hasilnya bilangan yang dicari faktornya.
Contoh:
Faktor bilangan 100 :
1 x 100 = 100
2 x 50 = 100
4 x 25 = 100
5 x 20 = 100
10 x 10 = 100
Jadi, faktor bilangan 100 adalah 1, 2, 4, 5, 10, 20, 25, 50 dan 100.
Script code python untuk mencari faktor bilangan adalah sebagai berikut :
Jika kita masukkan input bilangan n = 100, maka outputnya adalah sebagai berikut :
Program di atas dibuat di notebook google colab pada link di bawah :
https://colab.research.google.com/drive/1tkkDinlMhIw4oOqppLwyT-ZEZ3zLsHKv?usp=sharing