Anda di halaman 1dari 12

Pertemuan - 2

Rekursi
Suatu proses didalam Procedure/Function yang bisa
memanggil dirinya sendiri atau proses secara berulang
yang tidak bisa diketahui kapan akan berakhir.
Untuk beberapa kasus rekursi merupakan algorithma
yang baik dan bisa digunakan untuk memecahkan
masalah secara lebih mudah.
Procedure/Function rekursif ini dipakai karena memiliki
kelebihan yaitu penulisan baris program dapat menjadi
singkat, tetapi juga memiliki kekurangan yaitu
membutuhkan banyak memori.

Bahasa Java :
public void recursive () {
recursive();
}

Bahasa VB :
Sub recursive ()
recursive;
End sub

Contoh :
Diketahui suatu Bilangan Fibonacci
1 1 2 3 5 8 13 21 34

Solusi :
Cari rumus :
Misalkan suatu deretan dengan N, Jika Fibo(N)
menunjukan bilang fibonacci yang ke N, Maka Fibo(N)
bisa dihitung berdasarkan :

Dimana : Jika N > 2


Fibo(N) = Fibo(N-1) + Fibo(N-2)
else
Fibo(1) = Fibo(2) = 1

Mis :
Untuk N = 3
Fibo(3) = Fibo(3-1)+Fibo(3-2)
= Fibo(2)+Fibo(1)
=1+1
=2
Untuk N = 5
Fibo(5) = Fibo(4) + Fibo(3)
= Fibo(3)+Fibo(2) + Fibo(2)+Fibo(1)
= Fibo(2)+Fibo(1)+1 + 1 + 1
= 1+1+3
=5
Latihan :
Tentukan Fibo untuk N = 6, 7, 8 dan 9

Langkah-langkah memprogram :
- Lagika Program
Jika N=1 atau N=2
Fibo = 1
Jika tidak
Fibo(N) = Fibo(N-1) + Fibo(N-2)
- Sub Program
Fuction Fibo(N : Integer): Integer;
Begin
If (N=1) or (N=2)
Fibo=1
Else
Fibo(N) := Fibo(N-1) + Fibo(N-2)
End.
- Program dalam bentuk flowchart

Bahasa Pemrograman VB
Disain Form Sbb :

Setting Properties sbb :

Nama Component
Forms
Text1
Text2
Command1
Command2
Command3

Properties
Caption = Bilangan Fibonacci
Name = text1
Text = spaces
Name = text2
Text = spaces
Enable = false
Name = Command1
Caption =&Input Lagi
Name = Command2
Caption = &Tampil Hasil
Name = Command3
Caption =&Exit

Private Function fibo(n As Integer)


If (n = 1) Or (n = 2) Then
fibo = 1
Else
fibo = fibo(n - 1) + fibo(n - 2)
End If
End Function
Private Sub Command1_Click()
Text1 = " "
Text2 = " "
Text1.SetFocus
End Sub
Private Sub Command2_Click()
Dim n As Integer
n = Val(Text1.Text)
Text2.Text = Str(fibo(n))
End Sub
Private Sub Command3_Click()
Unload Me
End Sub

Anda mungkin juga menyukai