MODUL MATA KULIAH LOGIKA DAN ALGORITMA
STIMIK EL RAHMA JOGJAKARTA 2015
JURUSAN : SISTEM INFORMASI SEMESTER GENAP 2015
Rekursi
Rekursi adalah metode mengekspresikan sesuatu menggunakan dirinya sendiri.
Pada bidang pemrograman, rekursi dipakai untuk memecahkan berbagai masalah yang memiliki sub-masalah serupa. Biasanya, penyelesaian itu diwujudkan dalam prosedur rekursif atau fungsi rekursif.
Prosedur rekursif adalah prosedur yang memanggil dirinya sendiri, dan fungsi rekursif adalah fungsi yang memanggil dirinya sendiri.
Perhatikan bahwa istilah rekursi merupakan kata benda, sementara rekursif merupakan kata sifat.
Sehingga menyelesaikan suatu persoalan dengan rekursi sama artinya dengan menyelesaikan persoalan itu secara rekursif.
Contoh Menghitung faktorial:
Nilai dari N faktorial (ditulis N!) didefinisikan sebagai:
N! = N×(N-1)×(N-2)×...×1
Secara rekursif, bisa ditulis:
N! = 1, jika N = 0
N! = N×(N-1)!, jika N > 0
Dengan begitu menghitung nilai dari N! bisa dilakukan dengan menghitung N dikali (N -1)! Untuk N = 0, hasilnya langsung diketahui, yaitu bernilai 1.
Dalam Bahasa Pascal, bisa ditulis:
function Faktorial(N:longint):longint; begin
Faktorial := 1; nilai N yang lebih kecil (yaitu N-1).
Menghitung fibonacci
Misalnya, deret Fibonacci didefinisikan sebagai berikut:
F(1) = 1 F(2) = 1
F(n) = F(n - 1) + F(n - 2), jika n ≥ 3
Dari definisi fungsi itu, kita bisa melihat bahwa untuk menghitung F(n) diperlukan perhitungan terhadap F(n - 1) dan F(n - 2). Sangat jelas bahwa terdapat sifat rekursif pada deret Fibonacci.
Kita dapat membuat sebuah fungsi rekursif yang menghasilkan nilai F(n) dengan mudah:
function Fibonacci(n: longint): longint; begin
Fungsi di atas akan menghasilkan hasil yang benar. Misalnya, pemanggilan Fibonacci(3) akan menghasilkan 2, Fibonacci(4) akan menghasilkan 3, dan Fibonacci(5) akan menghasilkan 5.
FAKTORIAL
Sebagai contoh, nilai dari
adalah Berikut ini adalah daftar sejumlah faktorial
Deret Fibonacci
ditemukan oleh Leonardi Pisano atau lebih dikenal dengan sebutan Leonardo Fibonacci (diturunkan dari Filius Bonaccio atau anak dari Bonaccio, sebutan bagi ayahnya yang bernama asli Guglielmo), pada abad 12 di Italia.
Pada dasarnya deret fibonacci merupakan barisan bilangan sederhana dimulai dari 0 dan 1 dan suku berikutnya merupakan jumlah dua bilangan sebelumnya.
Deret fibonacci bersifat rekursif karena menggunakan suku dalam deret tersebut untuk menghitung suku setelahnya.
Dengan pengertian tersebut, maka suku-suku pada deret fibonacci adalah:
0 1 1 2 3 5 8 13 21 34 55 89 144 dan seterusnya
Angka 1 = 0
Angka ke-2 = 1
Angka ke-3= angka 1+ Angka ke-2
Angka ke-4 = angka 2+ Angka ke-3
dst…..
Ilustrasi Deret :
1, 3, 4, 7, 11 ……