Jumat, 06 April 2012

Refleksi pertemuan 6 - Iterative vs Rekursive

Teknik Iteratif merupakan suatu teknik pembuatan algoritma dengan pemanggilan procedure beberapa kali atau hingga suatu kondisi tertentu terpenuhi sedangkan Teknik Rekursif merupakan salah satu cara pembuatan algoritma dengan pemanggilan procedure atau function yang sama (memanggil fungsinya sendiri)

untuk lebih mudah membedakan antara rekursive dan iteratif, disini saya mencoba menjelaskan tekniknya dalam memecahkan masalah deret fibonacci :



Teknik Iteratif pada algoritma untuk menentukan suku ke-n dari barisan bilangan Fibbonaci, adalah sebagai berikut :
1. Set x, y, n, i, f : integer
2. x ← 1 ; y ← 1
3. If n 〉 2 then
     begin
4. for i ← 3 to n do
    begin
5. F ← x + y
6. x ← y
7. y ← F
    end
    else
8. F ← x
9. Write(F)
     End

Gambaran jalannya proses algoritma tersebut adalah sebagai berikut :
Misal n = 5, maka :
x=1, y=1, kemudian


Teknik Rekursif pada algoritma untuk menentukan suku ke-n dari barisan bilangan Fibbonaci, adalah sebagai berikut :
Procedure F(n : integer) : integer
1. If n ≤ 2 then F(n) = 1
    else F(n) = F(n-1) + F(n-2)
    Endif
    End
Gambaran jalannya proses algoritma tersebut adalah sebagai berikut :
Misal n = 5, maka :






Perbedaan Antara Teknik Iteratif dan Rekursif :
Iteratif :
- Tidak ada variabel lokal baru
- Program tidak sederhana


Rekursif :
- Ada variabel lokal baru
- Program menjadi lebih sederhana




Tidak ada komentar:

Posting Komentar