SlideShare a Scribd company logo
REKURSIF
ALGORITMA PEMROGRAMAN II
ALGORITMA REKURSIF
DEFINISI FUNGSI DEKLARASI
Pendahuluan
•Rekursi adalah sebuah teknik pengulangan yang
melibatkan dirinya sendiri.
•Dalam materi ini, rekursif digunakan dalam sebuah
fungsi.
•Umumnya proses rekursif ini berguna dalam permodelan
matematika pada sebuah program
Fungsi Rekursif
•Banyak fungsi matematis yang bisa didefinisikan sebagai
rekursif. Contoh:
1. faktorial
2. fibonacci
3. fourier
4. dll
Fungsi Rekursif
•Pada pendahuluan dijelaskan bahwa fungsi rekursif akan
melibatkan dirinya sendiri.
•Maksudnya: Pada pemrograman, fungsi akan
mengembalikan sebuah nilai. Dalam rekursif, hasil
kembalian fungsi dapat berupa nilai atau operasi
berikutnya dari fungsi itu sendiri sampai mencapai
kondisi tertentu.
Fungsi Rekursif
• Fungsi rekursif: Di dalamnya terdapat pernyataan yang memanggil
dirinya sendiri.
• Berguna untuk memecahkan masalah yang dapat didefinisikan secara
rekursif pula.
• n faktorial atau n! = n * n-1 * n-2 * …. * 3 * 2 * 1, dan didefiniskan bahwa
0! = 1
• Contoh:
 3! = 3 * 2 * 1
 4! = 4 * 3 * 2 * 1
 4! = 4 * 3!
 n! = n * (n-1)!
Fungsi Rekursif
• Faktorial (n) atau n! didefinisikan sebagai berikut :
jika n = 0, n! = 1
jika n > 0, n! = n * (n-1)!
4! = 4 * 3!
3! = 3 * 2!
2! = 2 * 1!
1! = 1* 0!
0! = 1
Jadi: 4! = 4*3*2*1= 24
Fungsi Rekursif
• Contoh perhitungan 5 faktorial
• 5!
• (5 * 4!)
• (5 * (4 *3!))
• (5 * (4 * (3 * 2!)))
• (5 * (4 * (3 * (2 * 1!))))
• (5 * (4 * (3 * (2 * (1 * 0!)))))
• (5 * (4 * (3 * (2 * (1 * 1)))))
• (5 * (4 * (3 * (2 * 1))))
• (5 * (4 * (3 * 2)))
• (5 * (4 * 6 ))
• (5 * 24)
• 120
Fungsi Rekursif
• Fungsi rekursif mempunyai dua komponen yaitu:
– Base case:
Mengembalikan nilai tanpa melakukan pemanggilan
rekursi berikutnya. Rekursi berakhir jika base case
dijumpai/dipenuhi
– Recursion call / Reduction step:
Memanggil fungsi rekursif di dalam fungsi rekursif di atas
Menghubungkan sebuah fungsi rekursif dengan fungsi
rekursif di dalamnya Biasanya memiliki keyword return
untuk mengembalikan nilai ke fungsi yang memanggilnya
Fungsi Iteratif
• 4! = 4*3! = 4*3*2! = 4*3*2*1! = 4*3*2*1 = 24
// iteratif dekremental
long faktorialIteratifDec(long n)
mulai
long i, faktorial = 1;
for(i=n; i>=1; i--)
faktorial *= i;
return faktorial;
selesai
tutup
4! = 1*2*3*4 = 24
// iteratif inkremental
long faktorialIteratifInc(long n){
mulai
long i, faktorial = 1;
for(i=1; i<=n; i++)
faktorial *= i;
return faktorial;
selesai tutup
RekursifVs Iteratif
Contoh:
• Faktorial - Rekursif
long faktorial(long n)
mulai
if(n==0)
return (1);
else
return(n*faktorial(n-1));
selesai
tutup
RekursifVs Iteratif
Contoh:
• Faktorial - Iteratif
//decremental
long faktorial(long n)
mulai
long i, faktorial = 1;
for(i=n; i>=1; i--)
faktorial *= i;
return faktorial;
selesai
tutup
RekursifVs Iteratif
Rekursif
Pengulangan dengan struktur seleksi (ifelse) dan pemanggilan
fungsi (dirinya sendiri) -> rekursi
Pengulangan berhenti saat base case dijumpai/dipenuhi
(konvergen terhadap base case)
Pengulangan tanpa henti jika base case tidak pernah
dijumpai/dipenuhi (tidak konvergen terhadap base case)
Biaya proses lebih tinggi dengan pemanggilan banyak fungsi
(butuh memori lebih besar & kerja prosesor lebih tinggi)
Terbaca lebih jelas, model lebih dekat dengan masalah (contoh:
faktorial, fibonacci)
RekursifVs Iteratif
Iteratif
Pengulangan dengan struktur repetisi (for/while)
Pengulangan berhenti saat kondisi pengulangan bernilai salah
(false)
Pengulangan tanpa henti jika kondisi pengulangan selalu benar
Biaya proses lebih rendah (kebutuhan memori lebih kecil & kerja
prosesor lebih rendah) karena proses pengulangan berada
dalam satu fungsi
Terbaca kurang jelas, model kurang dekat dengan masalah
(contoh: faktorial, fibonacci)
Kekurangan Rekursif
Meskipun penulisan program dengan cara rekursif bisa
lebih jelas dan pendek, namun fungsi rekursif
memerlukan :
– Memori yang lebih banyak untuk mengaktifkan stack
(memori yang digunakan untuk pemanggilan fungsi).
– Waktu lebih lama untuk menjejaki setiap rekursi melalui
stack.
Bilangan Fibonacci
•Urutan bilangan 0, 1, 1, 2, 3, 5, 8, 13 … disebut bilangan
Fibonacci.
•Hubungan antara satu angka dengan angka berikutnya
didefinisikan secara rekursif sebagai berikut :
– Fib(n) = n, jika n = 0 atau 1
– Fib(n) = Fib(n-2) + Fib(n-1) , jika n >= 2
Bilangan Fibonacci
• Misalkan jika ditanya berapa suku ke-4 dari barisan fibonachi?
n = 4
fibo(4) =
= fibo(3) + fibo(2)
= (fibo(2) + fibo(1)) + (fibo(1) + fibo(0))
= ((fibo(1) + fibo(0)) + 1) + (1 + 0)
= ((1 + 0) + 1) + 1
= (1 + 1) + 1
= 2 + 1
= 3
Bilangan Fibonacci
int Fib(int n)
mulai
int f;
if(n==0)
f = 0;
else if(n==1)
f = 1;
else
f = Fib(n-2) + Fib(n-1);
return f;
selesai
tutup
Latihan!
•Implementasikan algoritma rekursi untuk fungsi
fibonaci dan rekursif!
Terima Kasih

More Related Content

What's hot

Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1BAIDILAH Baidilah
 
rekursi dan relasi rekurens
rekursi dan relasi rekurensrekursi dan relasi rekurens
rekursi dan relasi rekurens
tedi_apendi
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
Kelinci Coklat
 
Bab 2 Aljabar Relasional
Bab 2   Aljabar RelasionalBab 2   Aljabar Relasional
Bab 2 Aljabar RelasionalRatzman III
 
Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)
zachrison htg
 
Materi Struktur Data Tree
Materi Struktur Data TreeMateri Struktur Data Tree
Materi Struktur Data Tree
Meta N
 
Jaringan Syaraf Tiruan
Jaringan Syaraf TiruanJaringan Syaraf Tiruan
Jaringan Syaraf Tiruan
Mayasari Dewi
 
Struktur direktori
Struktur direktoriStruktur direktori
Struktur direktoriAnggi DHARMA
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )
istiqlal
 
Pembuktian Sifat – Sifat Operasi Matriks
Pembuktian Sifat – Sifat Operasi MatriksPembuktian Sifat – Sifat Operasi Matriks
Pembuktian Sifat – Sifat Operasi MatriksIpit Sabrina
 
Soal latihan kalkulus fungsi
Soal latihan kalkulus fungsiSoal latihan kalkulus fungsi
Soal latihan kalkulus fungsi
Tika S
 
MAKALAH REKRUSIF (DIKI CANDRA).docx
MAKALAH REKRUSIF (DIKI CANDRA).docxMAKALAH REKRUSIF (DIKI CANDRA).docx
MAKALAH REKRUSIF (DIKI CANDRA).docx
Dikicandra6
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi Graph
Zaldy Eka Putra
 
Graf Pohon
Graf PohonGraf Pohon
Graf Pohon
Septi Ratnasari
 
Algoritma Divide and Conquer
Algoritma Divide and ConquerAlgoritma Divide and Conquer
Algoritma Divide and Conquer
Edho Pratama
 
Matematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi RekursifMatematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi Rekursif
Ayuk Wulandari
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
Siti Khotijah
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasi
ahmad haidaroh
 

What's hot (20)

Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
 
rekursi dan relasi rekurens
rekursi dan relasi rekurensrekursi dan relasi rekurens
rekursi dan relasi rekurens
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Algoritma brute force
Algoritma brute forceAlgoritma brute force
Algoritma brute force
 
Bab 2 Aljabar Relasional
Bab 2   Aljabar RelasionalBab 2   Aljabar Relasional
Bab 2 Aljabar Relasional
 
Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)
 
Materi Struktur Data Tree
Materi Struktur Data TreeMateri Struktur Data Tree
Materi Struktur Data Tree
 
Jaringan Syaraf Tiruan
Jaringan Syaraf TiruanJaringan Syaraf Tiruan
Jaringan Syaraf Tiruan
 
Struktur direktori
Struktur direktoriStruktur direktori
Struktur direktori
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )
 
Operasi biner
Operasi binerOperasi biner
Operasi biner
 
Pembuktian Sifat – Sifat Operasi Matriks
Pembuktian Sifat – Sifat Operasi MatriksPembuktian Sifat – Sifat Operasi Matriks
Pembuktian Sifat – Sifat Operasi Matriks
 
Soal latihan kalkulus fungsi
Soal latihan kalkulus fungsiSoal latihan kalkulus fungsi
Soal latihan kalkulus fungsi
 
MAKALAH REKRUSIF (DIKI CANDRA).docx
MAKALAH REKRUSIF (DIKI CANDRA).docxMAKALAH REKRUSIF (DIKI CANDRA).docx
MAKALAH REKRUSIF (DIKI CANDRA).docx
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi Graph
 
Graf Pohon
Graf PohonGraf Pohon
Graf Pohon
 
Algoritma Divide and Conquer
Algoritma Divide and ConquerAlgoritma Divide and Conquer
Algoritma Divide and Conquer
 
Matematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi RekursifMatematika Diskrit Relasi Rekursif
Matematika Diskrit Relasi Rekursif
 
Matematika Diskrit kombinatorial
Matematika Diskrit  kombinatorialMatematika Diskrit  kombinatorial
Matematika Diskrit kombinatorial
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasi
 

Similar to Algoritma rekursif

09 pd fungsi rekursif
09 pd fungsi rekursif09 pd fungsi rekursif
09 pd fungsi rekursifSofi Orient
 
Materi Rekrusif dengan Python PPTX (materi kuliah)
Materi Rekrusif dengan Python PPTX (materi kuliah)Materi Rekrusif dengan Python PPTX (materi kuliah)
Materi Rekrusif dengan Python PPTX (materi kuliah)
OzanHacker
 
Algoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiAlgoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursi
Georgius Rinaldo
 
Presentation
PresentationPresentation
Presentation
Ainy Sara
 
Bab 8 rekursif
Bab 8 rekursifBab 8 rekursif
Bab 8 rekursif
arii_manroe
 
13_Rekursif.pptx
13_Rekursif.pptx13_Rekursif.pptx
13_Rekursif.pptx
SapaFilut
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
Braga Rezpect
 
Javascript function
Javascript   functionJavascript   function
Javascript function
guestd57670
 
Python 101: Recursion
Python 101: RecursionPython 101: Recursion
Python 101: Recursion
NaufalPramudyaYusuf
 
TUGAS PPT- PEMROG DELPHI-YAN KURNIAWAN.pptx
TUGAS PPT- PEMROG DELPHI-YAN KURNIAWAN.pptxTUGAS PPT- PEMROG DELPHI-YAN KURNIAWAN.pptx
TUGAS PPT- PEMROG DELPHI-YAN KURNIAWAN.pptx
yankurniawan7
 
19175016 - Sekar Setyaningtyas.pptx - Fungi (def) Python
19175016 - Sekar Setyaningtyas.pptx - Fungi (def) Python 19175016 - Sekar Setyaningtyas.pptx - Fungi (def) Python
19175016 - Sekar Setyaningtyas.pptx - Fungi (def) Python
19175016SEKARSETYANI
 
Function dalam PHP
Function dalam PHPFunction dalam PHP
Function dalam PHP
I Gede Iwan Sudipa
 
Pertemuan 9 (rekursife)
Pertemuan 9 (rekursife)Pertemuan 9 (rekursife)
Pertemuan 9 (rekursife)
biedoen
 
program pascal kereta
program pascal keretaprogram pascal kereta
program pascal kereta
Dayanti Astuti
 
C programming language notes (7)
C programming language notes (7)C programming language notes (7)
C programming language notes (7)nakomuri
 
Presentasi pertemuan3
Presentasi pertemuan3Presentasi pertemuan3
#4 Introduction Functional Programming in Kotlin.pptx
#4 Introduction Functional Programming in Kotlin.pptx#4 Introduction Functional Programming in Kotlin.pptx
#4 Introduction Functional Programming in Kotlin.pptx
GDSC2
 
Pertemuan 6 Rekursif
Pertemuan 6 RekursifPertemuan 6 Rekursif
Pertemuan 6 Rekursif
Endang Retnoningsih
 

Similar to Algoritma rekursif (20)

09 pd fungsi rekursif
09 pd fungsi rekursif09 pd fungsi rekursif
09 pd fungsi rekursif
 
Materi Rekrusif dengan Python PPTX (materi kuliah)
Materi Rekrusif dengan Python PPTX (materi kuliah)Materi Rekrusif dengan Python PPTX (materi kuliah)
Materi Rekrusif dengan Python PPTX (materi kuliah)
 
Algoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiAlgoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursi
 
Presentation
PresentationPresentation
Presentation
 
Bab 8 rekursif
Bab 8 rekursifBab 8 rekursif
Bab 8 rekursif
 
13_Rekursif.pptx
13_Rekursif.pptx13_Rekursif.pptx
13_Rekursif.pptx
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Javascript function
Javascript   functionJavascript   function
Javascript function
 
Tistrukdat9
Tistrukdat9Tistrukdat9
Tistrukdat9
 
Python 101: Recursion
Python 101: RecursionPython 101: Recursion
Python 101: Recursion
 
TUGAS PPT- PEMROG DELPHI-YAN KURNIAWAN.pptx
TUGAS PPT- PEMROG DELPHI-YAN KURNIAWAN.pptxTUGAS PPT- PEMROG DELPHI-YAN KURNIAWAN.pptx
TUGAS PPT- PEMROG DELPHI-YAN KURNIAWAN.pptx
 
19175016 - Sekar Setyaningtyas.pptx - Fungi (def) Python
19175016 - Sekar Setyaningtyas.pptx - Fungi (def) Python 19175016 - Sekar Setyaningtyas.pptx - Fungi (def) Python
19175016 - Sekar Setyaningtyas.pptx - Fungi (def) Python
 
Function dalam PHP
Function dalam PHPFunction dalam PHP
Function dalam PHP
 
Pertemuan 9 (rekursife)
Pertemuan 9 (rekursife)Pertemuan 9 (rekursife)
Pertemuan 9 (rekursife)
 
program pascal kereta
program pascal keretaprogram pascal kereta
program pascal kereta
 
Function pada PHP
Function pada PHPFunction pada PHP
Function pada PHP
 
C programming language notes (7)
C programming language notes (7)C programming language notes (7)
C programming language notes (7)
 
Presentasi pertemuan3
Presentasi pertemuan3Presentasi pertemuan3
Presentasi pertemuan3
 
#4 Introduction Functional Programming in Kotlin.pptx
#4 Introduction Functional Programming in Kotlin.pptx#4 Introduction Functional Programming in Kotlin.pptx
#4 Introduction Functional Programming in Kotlin.pptx
 
Pertemuan 6 Rekursif
Pertemuan 6 RekursifPertemuan 6 Rekursif
Pertemuan 6 Rekursif
 

Algoritma rekursif

  • 3. Pendahuluan •Rekursi adalah sebuah teknik pengulangan yang melibatkan dirinya sendiri. •Dalam materi ini, rekursif digunakan dalam sebuah fungsi. •Umumnya proses rekursif ini berguna dalam permodelan matematika pada sebuah program
  • 4. Fungsi Rekursif •Banyak fungsi matematis yang bisa didefinisikan sebagai rekursif. Contoh: 1. faktorial 2. fibonacci 3. fourier 4. dll
  • 5. Fungsi Rekursif •Pada pendahuluan dijelaskan bahwa fungsi rekursif akan melibatkan dirinya sendiri. •Maksudnya: Pada pemrograman, fungsi akan mengembalikan sebuah nilai. Dalam rekursif, hasil kembalian fungsi dapat berupa nilai atau operasi berikutnya dari fungsi itu sendiri sampai mencapai kondisi tertentu.
  • 6. Fungsi Rekursif • Fungsi rekursif: Di dalamnya terdapat pernyataan yang memanggil dirinya sendiri. • Berguna untuk memecahkan masalah yang dapat didefinisikan secara rekursif pula. • n faktorial atau n! = n * n-1 * n-2 * …. * 3 * 2 * 1, dan didefiniskan bahwa 0! = 1 • Contoh:  3! = 3 * 2 * 1  4! = 4 * 3 * 2 * 1  4! = 4 * 3!  n! = n * (n-1)!
  • 7. Fungsi Rekursif • Faktorial (n) atau n! didefinisikan sebagai berikut : jika n = 0, n! = 1 jika n > 0, n! = n * (n-1)! 4! = 4 * 3! 3! = 3 * 2! 2! = 2 * 1! 1! = 1* 0! 0! = 1 Jadi: 4! = 4*3*2*1= 24
  • 8. Fungsi Rekursif • Contoh perhitungan 5 faktorial • 5! • (5 * 4!) • (5 * (4 *3!)) • (5 * (4 * (3 * 2!))) • (5 * (4 * (3 * (2 * 1!)))) • (5 * (4 * (3 * (2 * (1 * 0!))))) • (5 * (4 * (3 * (2 * (1 * 1))))) • (5 * (4 * (3 * (2 * 1)))) • (5 * (4 * (3 * 2))) • (5 * (4 * 6 )) • (5 * 24) • 120
  • 9. Fungsi Rekursif • Fungsi rekursif mempunyai dua komponen yaitu: – Base case: Mengembalikan nilai tanpa melakukan pemanggilan rekursi berikutnya. Rekursi berakhir jika base case dijumpai/dipenuhi – Recursion call / Reduction step: Memanggil fungsi rekursif di dalam fungsi rekursif di atas Menghubungkan sebuah fungsi rekursif dengan fungsi rekursif di dalamnya Biasanya memiliki keyword return untuk mengembalikan nilai ke fungsi yang memanggilnya
  • 10. Fungsi Iteratif • 4! = 4*3! = 4*3*2! = 4*3*2*1! = 4*3*2*1 = 24 // iteratif dekremental long faktorialIteratifDec(long n) mulai long i, faktorial = 1; for(i=n; i>=1; i--) faktorial *= i; return faktorial; selesai tutup 4! = 1*2*3*4 = 24 // iteratif inkremental long faktorialIteratifInc(long n){ mulai long i, faktorial = 1; for(i=1; i<=n; i++) faktorial *= i; return faktorial; selesai tutup
  • 11. RekursifVs Iteratif Contoh: • Faktorial - Rekursif long faktorial(long n) mulai if(n==0) return (1); else return(n*faktorial(n-1)); selesai tutup
  • 12. RekursifVs Iteratif Contoh: • Faktorial - Iteratif //decremental long faktorial(long n) mulai long i, faktorial = 1; for(i=n; i>=1; i--) faktorial *= i; return faktorial; selesai tutup
  • 13. RekursifVs Iteratif Rekursif Pengulangan dengan struktur seleksi (ifelse) dan pemanggilan fungsi (dirinya sendiri) -> rekursi Pengulangan berhenti saat base case dijumpai/dipenuhi (konvergen terhadap base case) Pengulangan tanpa henti jika base case tidak pernah dijumpai/dipenuhi (tidak konvergen terhadap base case) Biaya proses lebih tinggi dengan pemanggilan banyak fungsi (butuh memori lebih besar & kerja prosesor lebih tinggi) Terbaca lebih jelas, model lebih dekat dengan masalah (contoh: faktorial, fibonacci)
  • 14. RekursifVs Iteratif Iteratif Pengulangan dengan struktur repetisi (for/while) Pengulangan berhenti saat kondisi pengulangan bernilai salah (false) Pengulangan tanpa henti jika kondisi pengulangan selalu benar Biaya proses lebih rendah (kebutuhan memori lebih kecil & kerja prosesor lebih rendah) karena proses pengulangan berada dalam satu fungsi Terbaca kurang jelas, model kurang dekat dengan masalah (contoh: faktorial, fibonacci)
  • 15. Kekurangan Rekursif Meskipun penulisan program dengan cara rekursif bisa lebih jelas dan pendek, namun fungsi rekursif memerlukan : – Memori yang lebih banyak untuk mengaktifkan stack (memori yang digunakan untuk pemanggilan fungsi). – Waktu lebih lama untuk menjejaki setiap rekursi melalui stack.
  • 16. Bilangan Fibonacci •Urutan bilangan 0, 1, 1, 2, 3, 5, 8, 13 … disebut bilangan Fibonacci. •Hubungan antara satu angka dengan angka berikutnya didefinisikan secara rekursif sebagai berikut : – Fib(n) = n, jika n = 0 atau 1 – Fib(n) = Fib(n-2) + Fib(n-1) , jika n >= 2
  • 17. Bilangan Fibonacci • Misalkan jika ditanya berapa suku ke-4 dari barisan fibonachi? n = 4 fibo(4) = = fibo(3) + fibo(2) = (fibo(2) + fibo(1)) + (fibo(1) + fibo(0)) = ((fibo(1) + fibo(0)) + 1) + (1 + 0) = ((1 + 0) + 1) + 1 = (1 + 1) + 1 = 2 + 1 = 3
  • 18. Bilangan Fibonacci int Fib(int n) mulai int f; if(n==0) f = 0; else if(n==1) f = 1; else f = Fib(n-2) + Fib(n-1); return f; selesai tutup
  • 19. Latihan! •Implementasikan algoritma rekursi untuk fungsi fibonaci dan rekursif!