Function recursive adalah suatu teknik pemrograman yang memungkinkan suatu fungsi memanggil dirinya sendiri secara berulang kali, hingga mencapai kondisi tertentu atau batasan.
Dalam rekursi, fungsi memecah masalah menjadi submasalah yang lebih kecil, kemudian memanggil dirinya sendiri dengan submasalah tersebut.
Proses rekursi berlanjut hingga submasalah mencapai ukuran yang dapat diselesaikan secara langsung, dan kemudian hasilnya digabungkan untuk menghasilkan solusi dari masalah asli.
Contoh penggunaan rekursi dalam VBA adalah sebagai berikut:
Function factorial(n As Integer) As Integer If n = 0 Then factorial = 1 Else factorial = n * factorial(n - 1) End If End Function
Dalam contoh ini, fungsi factorial
menggunakan rekursi untuk menghitung faktorial dari suatu bilangan bulat n
. Jika n
sama dengan 0, maka nilai faktorial adalah 1. Jika n
lebih besar dari 0, maka fungsi akan memanggil dirinya sendiri dengan nilai parameter n - 1
sebagai submasalah yang lebih kecil, dan kemudian mengalikan hasilnya dengan n
untuk mendapatkan solusi dari masalah asli.
Perlu diingat bahwa penggunaan rekursi harus hati-hati dan dihindari jika mungkin, karena dapat menyebabkan program mengalami stack overflow jika pemanggilan rekursi terlalu dalam atau terlalu sering terjadi.