Program Faktorial & Fungsi Rekursif Dengan Python

Shohibun Najam Ilma

Sosial Media


0 orang menyukai ini
Suka

Summary

Faktor bilangan adalah sebuah bilangan yang dapat membagi habis bilangan tersebut. Untuk menentukan bilangan, kita dapat menggunakan cara mencari pasangan bilangan tersebut dengan cara hasil apabila dikalikan hasilnya bilangan yang dicari faktornya. Sedangkan Faktorial adalah produk dari semua bilangan bulat positif kurang dari satu sama dengan bilangan bulat positif yang dilambangkan tanda seru. Tanda seru (!) merupakan tanda faktorial dari suatu bilangan. Dilansir dari Math is Fun, faktorial dari suatu bilangan adalah bilangan itu sendiri dikalikan dengan bilangan itu dikurangi dengan satu. Maka, rumus faktorial didapatkan sebagai berikut: n! = n x (n – 1)!

Description

A. Kode Program Faktorisasi

Pada program diatas langkah pertama adalah inputan untuk memasukan sebuah angka berupa integer, angka tersebut nanti akan diproses kedalam sebuah fungsi yang bernama outputFaktor(). Setelah angka diinputkan maka kode program akan memproses dimana akan dilakukan perulangan sebanyak angka tersebut, dimana batasan awal adalah 1 dan batasan akhir angka tersebut ditambag 1. Setelah dilakukan perulangan maka selanjutnya akan masuk dalam kondisi, dimana kondisi tersebut akan bernilai true jika angka tersebut habis dibagi dengan angka itu sendiri. Jika kondisi bernilai true maka akan lanjutkan ke program selanjutnya yaitu angka yang bernilai true akan dicetak atau akan menjadi output dari program tersebut. Output dari program yang telah dijalankan, dari output tersebut bisa dilihat bahwa angka yang tertera adalah faktor bilangan dari bilangan yang telah diinputkan. Dalam hal ini bilangan yang diinputkan adalah 100, jadi faktor dari bilangan 100 adalah 1, 2, 4, 5, 10, 20, 25, 50, 100.

B. Kode Program Fungsi Rekursif

Pada program diatas langkah pertama adalah inputan untuk memasukan sebuah angka berupa integer, angka tersebut nanti akan diproses kedalam sebuah fungsi yang bernama rekursif(). Setelah angka diinputkan maka kode program akan memproses secara urutan, dimana akan dilakukan kondisi terlebih dahulu, jika angka yang diinputkan sama dengan 1 maka program akan mengambalikan nilai atau output berupa angka satu. Jika di kondisi pertama bernilai false maka akan lanjut ke kondisi kedua dimana kondisi tersebut akan dieksekusi jika angka yang diinputkan tidak bernilai 1. Dalam kondisi kedua angka yang diinputkan akan selalu dikurangi satu sampai angka tersebut bernilai satu dan masuk ke kondisi pertama. Ketika pengurangan tersebut angka yang diinputkan akan dikalikan dengan yang angka yang lain. Output dari program yang telah dijalankan, dari output tersebut bisa dilihat bahwa rekursif dari angka 5 adalah 120. Untuk lebih mudah memahaminya mungkin bisa dilihat dibawah ini : 

  • data (5) akan dikalikan dengan rekursif(5 – 1 = 4)
  • data (4) akan dikalikan dengan rekursif(4 – 1 = 3)
  • data (3) akan dikalikan dengan rekursif(3 – 1 = 2)
  • data (2) akan dikalikan dengan rekursif(2 – 1 = 1)
  • dan data (1) akan direturn karena kondisi pertama bernilai true

Sehingga semua bilangan yang dikurangi akan dikalikan dan menghasilkan nilai 120. 

Informasi Course Terkait
  Kategori: Data Science / Big Data
  Course: Dasar - Dasar Python