Anda di halaman 1dari 6

Nama Kelompok : - Ahsana Azmiara Ahmadiham

- Muhammad Hadianur Al Rafi


- Yoga Aditama
- Fransciko Pritama

Mata kuliah : Algoritma dan Pemrograman I

2. - Algoritma dan pemrograman rekursif

Algoritma Fibonacci

(program utama untuk menghitung bilangan deret Fibonacci)

DEKLARASI

n, i : integer

(Tipe data input n,i program utama adalah integer yaitu berupa bilangan bulat.)

Function Fibonacci(input x : integer)  integer

(judul function untuk menghitung bilangan deret Fibonacci ke n secara rekursif)

(output : bilangan Fibonacci ke n)

If x = 1 or x=2 then

Fibonacci = 1

Else return (fibonacci(n-1) + fibonacci(n-2))

DESKRIPSI

Input n

If n= 1 atau n=2 then

Cetak ‘’fibonacci(n) = 1’’


Else

For i= 1 to n do

Fibonacci(i)

(memanggil function beserta parameter)

Cetak Fibonacci(i)

End.

- Program rekursif

Gambar 2.1. Program rekursif


Gambar 2.2. Program rekursif

Deret angka Fibonacci adalah deret angka yang diperoleh dengan menjumlahkan dua
angka sebelumnya. Pada program di atas, Fibonacci sebagai nama fungsi, yang
menggunakan satu parameter berupa angka bilangan bulat.

Nilai dari Fibonacci(1) dan Fibonacci(2) adalah 1, ini merupakan basis atau nilai awal
dari rekursif. Kemudian jika Fibonacci tidak sama dengan 1 atau 2 maka nilai dari
Fibonacci adalah Fibonacci(x-1)+Fibonacci(x-2). Nilai ini adalah rekursifnya
(rekurens), dimana fungsi ini memanggil dirinya sendiri. Tanpa bagian basis, rekursif
tidak akan berhenti, maka bagian basis ini harus ada dan harus dijamin suatu saat
kondisi basis akan dipenuhi. Di bawah ini adalah hasil output dari program.
Gambar 2.3. Output Program rekursif

Gambar 2.4. Output Program rekursif

Berdasarkan output di atas, Fibonacci(4) adalah sama dengan 3 karena penambahan


angka-angka sebelumnya yaitu 1+1=2, dan 1+2=3. Kapan rekursif akan dipanggil dan
berhenti? Pada gambar dibawah, alur jumlah pemanggilan fungsi akan bertambah secara
eksponensial.
Gambar 2.5. Alur Fibonacci Pada Program Rekursif

Fibonacci=2 akan memanggil dua kali pemanggilan fungsi Fibonacci, sedangkan


Fibonacci=3 akan memanggil 4 kali pemanggilan fungsi Fibonacci. Rekursif akan terus
memanggil dirinya hingga mencapai true pada kondisi if. Sehingga pada saat
Fibonacci=0 dan Fibonacci=1, proses pemanggilan akan berhenti.

Gambar 2.6. Input.txt

Gambar 2.7. hasil.txt

Untuk memasukkan data Fibonacci ke input.txt dan hasil.txt, deklarasikan m, h : text


pada program utama dengan m sebagai variable input dan h sebagai variable hasil.
Kemudian pada procedure fib, assign(m,’input.txt’) dan assign(h,’hasil.txt’) untuk
menghubungkan variable file dengan nama file masing-masing. Tulis perintah
rewrite(m) dan rewrite(h) untuk membuat file text aktif dan dapat ditulis ulang. Tulis
perintah writeln(m,n) untuk menuliskannya kedalam file input.txt dan
writeln(h,Fibonacci(i)) untuk menuliskannya kedalam file hasil.txt. Setelah itu tulis
perintah close(m) dan close(h) untuk menutup file.

Anda mungkin juga menyukai