Rekursi adalah cara menyelesaikan masalah dengan memecah masalah tersebut menjadi masalah-masalah lebih kecil yang serupa. Dalam bahasa pemrograman, rekursi dapat didefinisikan sebagai fungsi yang memanggil dirinya sendiri hingga mencapai suatu kasus dasar (base case). Kasus dasar adalah kasus di mana hasil dari fungsi telah diketahui penyelesaiannya tanpa harus memanggil dirinya kembali.Fungsi