Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

sebuah fungsi yang memanggil dirinya sendiri

Presentasi serupa


Presentasi berjudul: "sebuah fungsi yang memanggil dirinya sendiri"— Transcript presentasi:

1 sebuah fungsi yang memanggil dirinya sendiri
Rekursif sebuah fungsi yang memanggil dirinya sendiri

2 Salah satu konsep paling dasar dalam ilmu komputer dan pemrograman adalah pengunaan fungsi sebagai abstraksi untuk kode-kode yang digunakan berulang kali. Kedekatan ilmu komputer dengan matematika juga menyebabkan konsep-konsep fungsi pada matematika seringkali dijumpai. Salah satu konsep fungsi pada matematika yang ditemui pada ilmu komputer adalah fungsi rekursif: sebuah fungsi yang memanggil dirinya sendiri

3 contoh fungsi rekursif, untuk menghitung hasil kali dari dua bilangan
def kali(a, b): return a if b == 1 else a + kali(a, b - 1) selama nilai b bukan 1, fungsi akan terus memanggil perintah (a + kali(a, b - 1))

4 kali(2, 4) -> 2 + kali(2, 3) -> 2 + (2 + kali(2, 2)) -> 2 + (2 + (2 + kali(2, 1))) -> 2 + (2 + (2 + 2)) -> 2 + (2 + 4) -> > 8

5 Contoh lain def faktorial(n): return n if n == 1 else n * faktorial(n - 1)

6 faktorial(5) -> 5. faktorial(4) -> 5. (4. faktorial(3)) -> 5
faktorial(5) -> 5 * faktorial(4) -> 5 * (4 * faktorial(3)) -> 5 * (4 * (3 * faktorial(2))) -> 5 * (4 * (3 * (2 * faktorial(1)))) -> 5 * (4 * (3 * (2 * 1))) -> 5 * (4 * (3 * 2)) -> 5 * (4 * 6) -> 5 * 24 -> 120

7 Analisis Algoritma Rekursif
Perbedaan utama pada algoritma rekursif ialah kita tidak dapat secara langsung melihat berapa kali bagian rekursif dari algoritma akan dijalankan. Pada algoritma yang menggunakan perulangan for misalnya, kita dapat langsung menghitung jumlah perulangan untuk menghitung total langkah yang dibutuhkan. Dalam algoritma rekursif, jumlah perulangan tidak secara eksplisit bisa didapatkan karena informasi yang kita miliki adalah kapan algoritma berhenti, bukan berapa kali kode dieksekusi

8 def faktorial(n): return n if n == 1 else n * faktorial(n - 1) Informasi yg ada : algoritma berhenti melakukan rekursif, jika  n == 1.  jumlah data berkurang pada setiap pemanggilan faktorial

9 Untuk kasus n > 1

10 Fungsi akan berhenti jika harga (n – k) = 1 Sehingga k = n – 1 Maka dapat disimpulkan bahwa fungsi faktorial memiliki kompleksitas n−1, atau O(n).


Download ppt "sebuah fungsi yang memanggil dirinya sendiri"

Presentasi serupa


Iklan oleh Google