Skip to main content
Fungsi Rekursif
  1. Belajar/
  2. Python Fundamental/
  3. Membuat dan Menggunakan Fungsi pada Python/

Fungsi Rekursif

336 words·6 mins· loading · loading ·
Rumah Coding
Author
Rumah Coding
Tempatnya belajar coding
Table of Contents
Membuat dan Menggunakan Fungsi pada Python - This article is part of a series.
Part 7: This Article

Rekursif adalah suatu konsep dalam pemrograman di mana sebuah fungsi dapat memanggil dirinya sendiri untuk menyelesaikan suatu tugas. Rekursif sering digunakan dalam penyelesaian masalah yang dapat dipecahkan secara berulang dengan cara yang sama pada setiap tahap. Pemahaman dan penggunaan yang bijak dari rekursif dapat menghasilkan solusi yang lebih elegan untuk beberapa permasalahan. Berikut adalah beberapa aspek terkait rekursif:

a. Pengertian Rekursif
#

Rekursif terjadi ketika suatu fungsi memanggil dirinya sendiri dalam tubuh fungsinya. Fungsi yang memanggil dirinya disebut fungsi rekursif.

b. Struktur Fungsi Rekursif
#

Sebuah fungsi rekursif umumnya memiliki dua bagian utama:

def fungsi_rekursif(parameter):
    # Basis kasus (base case)
    if kondisi_basis:
        return nilai_basis
    
    # Kasus rekursif
    else:
        return ekspresi_rekursif
  • Basis Kasus (Base Case): Kasus yang sederhana dan dapat langsung dipecahkan tanpa pemanggilan rekursif. Fungsi rekursif berhenti saat mencapai basis kasus.
  • Kasus Rekursif: Bagian di mana fungsi memanggil dirinya sendiri dengan input yang lebih sederhana, menuju basis kasus.

c. Contoh Fungsi Rekursif
#

Misalnya, kita dapat menggunakan rekursif untuk menghitung faktorial suatu bilangan:

def faktorial(n):
    # Basis kasus
    if n == 0 or n == 1:
        return 1
    # Kasus rekursif
    else:
        return n * faktorial(n - 1)
  • Basis kasus: Faktorial dari 0 atau 1 adalah 1.
  • Kasus rekursif: Faktorial dari suatu bilangan n adalah n dikali faktorial dari n - 1.

d. Kelebihan dan Keterbatasan Rekursif
#

Kelebihan:

  • Solusi dapat menjadi lebih singkat dan elegan untuk beberapa permasalahan.
  • Cocok untuk permasalahan dengan struktur yang dapat dipecahkan secara rekursif.

Keterbatasan:

  • Membutuhkan alokasi memori tambahan untuk setiap pemanggilan fungsi.
  • Pemanggilan rekursif yang terlalu dalam dapat menyebabkan “Stack Overflow” (batas kapasitas tumpukan).

e. Contoh Aplikasi Rekursif: Bilangan Fibonacci
#

Bilangan Fibonacci adalah deret angka di mana setiap angka adalah hasil penjumlahan dua angka sebelumnya.

def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)

# Contoh penggunaan
for i in range(5):
    print(fibonacci(i))
  • Basis kasus: Fibonacci dari 0 atau 1 adalah angka itu sendiri.
  • Kasus rekursif: Fibonacci dari suatu angka n adalah penjumlahan Fibonacci dari n - 1 dan n - 2.
Membuat dan Menggunakan Fungsi pada Python - This article is part of a series.
Part 7: This Article

comments powered by Disqus