Fungsi Rekrusif Menggunakan Python

LISTING PROGRAM


def faktorial(n):
    if n <= 1:
        return 1
    else:
        return n * faktorial(n-1)

print ('====== FAKTORIAL ======')
i = 0
x = int (input("Masukkan Bilangan : "))
while i<=x :
    print (i,'! = ',faktorial(i))
    i+=1



LOGIKA PROGRAM
            Fungsi rekursif adalah Suatu fungsi yang memanggil dirinya sendiri. Artinya, fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri. Tujuan di lakukan rekursif adalah untuk menyederhanakan penulisan program dan menggantikan bentuk iterasi. Dengan rekursi, program akan lebih mudah dilihat.

            Dimulai dengan blok program untuk fungsinya

     def faktorial(n):
           if n <= 1:
                return 1
          else:
                return n * faktorial(n-1)

       def mendefinisikan fungsi diatas dengan nama faktorial (n). Dan (n) adalah variabel untuk program utama, pada saat di program utama variabel (n) bisa diganti dengan variabel lain. Baris fungsi ini diakhiri dengan titik dua ( : ). Statement dibawahnya menggunakan percabangan if, dengan kondisi bila nilai dari variabel program utama lebih / (n) kurang dari atau sama dengan 1 maka return 1. Statement return digunakan untuk keluar dari fungsi. Jadi maksud dari return 1 adalah keluar dari fungsi faktorial (n) dan memberi nilai 1 pada fungsi tersebut. Nilai ini akan dipakai ketika fungsi faktorial (n) di panggil di program utama. Untuk mengakhiri baris percabangan if digunakan ( : ) . Selanjutnya pada statement else yang barisnya diakhiri dengan ( : ), lalu statement dibawahnya ada return n * faktorial(n -1) maksudnya sama seperti if tapi bedanya di nilai setelah keluar dari fungsi ada n * faktorial (n-1), variabel n adalah variabel yang ada di program utama yang nanti dikali dengan nilai dari faktorial sebelumnya lalu dikurang 1.

print ('====== FAKTORIAL ======')
i = 0
x = int (input("Masukkan Bilangan : "))
while i<=x :
    print (i,'! = ',faktorial(i))
    i+=1
              Blok program diatas adalah program utama, jadi pada saat program dijalankan yang pertama kali keluar adalah blok program diatas. Pertama mencetak judul program pada output dengan print (‘===== FAKTORIAL =====’). Selanjutnya memberi harga awal 0 pada variabel i. Variabel i ini yang nantinya menjadi pengganti dari variabel n di fungsi faktorial(n). Selanjutnya pada baris x = int(input("Masukkan Bilangan : ")) itu maksudnya membuat input untuk user pada output nanti, dengan tipe data integer (int) dan hasil inputnya disimpan ke dalam variabel x.

            Selanjutnya ada perulangan while dengan kondisi jika nilai dari variabel i kurang dari atau sama dengan nilai dari input user atau nilai dari variabel x maka akan menjalankan statement dibawahnya. Statement dibawahnya mencetak hasil, sintaknya                                 print (i,'! = ',faktorial(i)).  (i, disini maksudnya menampilkan nilai variabel i, lalu mencetak  ‘! = ‘ untuk memperjelas output. Dan faktorial(i)) adalah nilai dari fungsi faktorial(n) yang nanti tercetak pada output. Selanjutnya dibawah dari statement print ada statement kondisi setelah perulangan while. i+=1, maksudnya adalah nilai dari variabel i akan bertambah 1 bila while sudah melakukan perulangan dan statement dibawahnya sudah dijalankan.

OUTPUT PROGRAM



1 komentar so far


EmoticonEmoticon