Recursive Function Pada Python
Daftar Isi | |
---|---|
1. | Pengertian Recursive Function |
2. | Menyusun Recursive Function pada Python |
Pada umumnya, proses loop dilakukan menggunakan while atau for. Tergantung kebutuhan proses yang dilakukan. Tapi pernah ga sih terfikir untuk melakukan proses loop menggunakan function?. Nah, inilah yang akan dibahas tentang recursive function.
Pengertian Recursive Function
Secara sederhana, recursive function dilakukan dengan memanggil function yang dibuat pada function itu sendiri. Biar lebih jelas, kira-kira begini penulisan recursive function pada python.
Secara sekilas, function di atas cukup aneh, nama function dan argumennya adalah contoh(n), akan tetapi return nya contoh(n). Tapi, coba kita telusuri bagaimana outputnya. Biar lebih enak, kita panggil functionnya dengan argumen seperti di bawah ini
sekarang kita analisis nilai variabel c, dimana disitu dipanggil function contoh dengan argumen 5. ketika dipanggil, function contoh akan me-return n + contoh(n).
karena yang direturn adalah function, yaitu contoh(5), maka function tersebut dipanggil lagi. Sekali lagi, output dari contoh(5) adalah 5 + contoh(5). Sehingga variabel c menjadi.
ternyata contoh(5) ada lagi, otomatis akan dipanggil lagi, dan hasilnya seperti di bawah ini
Nah, kelihatan kan polanya. Karena yang direturn adalah sebuah function itu sendiri, otomatis function tersebut dipanggil secara berulang-ulang. Inilah yang disebut sebagai recursive function, atau function yang berulang-ulang.
Pada contoh di atas, sampai kapan terus berulang? Function tersebut tidak akan berhenti, alias akan jalan terus sampai error. Biasanya di python akan berhenti dan muncul semacam maximum recursion tercapai.
Karena itu, dalam penyusunan recursive function harus hati-hati sehingga tidak terjadi loop yang tidak berujung.
Menyusun Recursive Function pada Python
Pada script di atas, ada kondisi if n > 1 di-return n * faktorial(n-1). Sedangkan selain itu, atau n <= 1, akan direturn 1.
Artinya, nilai input faktorial akan terus berkurang, hingga akhirnya menjadi 1. Ketika nilainya sudah 1, yang di-return adalah 1, bukan function lagi. Sehingga ketika input function faktorial adalah 1, tidak ada lagi pemanggilan function, yang artinya proses recursive nya sudah selesai.
Biar lebih jelas, kira-kira seperti ini proses setiap loop nya.
Jelas kan, n yang menjadi input dari function tersebut terus berkuran. Setelah n mencapai 1, yang di-return adalah 1 bukan function faktorial(n) lagi, sehingga proses recursive function berhenti.
Posting Komentar untuk "Recursive Function Pada Python"