REKURSI Struktur data
Pengertian Rekursi Rekursi berarti suatu proses yg bisa memanggil dirinya sendiri. Sifat rekursi dimiliki oleh beberapa statement Pascal Rekursi merupakan teknik pemrograman yg berdaya guna untuk digunakan pada pekerjaan pemrograman dg mengekspresikannya kedalam modul-modul dr program lain dg menambahkan langkah-langkah sejenis. Contoh paling sederhana dr proses rekursi adalah menghitung nilai FAKTORIAL dan deret FIBONACCI dr suatu bilangan bulat.
Menentukan Nilai Faktorial bilangan bulat positif! Contoh : 0! = 1 1! = 1 x 0! = 1 x 1 = 1 2! = 2 x 1! = 2 x 1 x 0! = 2 x 1 x 1 = 2 N! = 1 jika N=0 N! = N x (N-1) jika N > 0 N = Bilangan yg akan difaktorialkan Notasi pemrograman : faktorial (N) = 1 , untuk N=0 faktorial (N) = N x faktorial (N-1) , untuk N>0
Function faktorial (N:byte) : longint ; Example program : Function faktorial (N:byte) : longint ; begin if N=0 then faktorial:=1 else faktorial:=N x faktorial (N-1) ; end; clrscr; write (‘Input Bilangan yang akan difaktorialkan=‘); readln (N); write (N , ’!=’ , faktorial(N) ); end
Menentukan Deret Fibonacci Contoh : fibonacci(0)=1 fibonacci (N)=1 jika N=0 atau N=1 fibonacci(1)= 1 fibonacci (N) = fibonacci (N-2) + fibonacci (N-1) jika N>1 fibonacci (2) = fibonacci (0) + fibonacci (1) fibonacci (3) = fibonacci (3-2) + fibonacci (3-1) = fibonacci 1 + fibonacci 2 = 1 + fibonacci (2-2) + fibonacci (2-1) = 1 + 1 + 1 = 3
function fibo (N:byte) : byte ; Example program : function fibo (N:byte) : byte ; begin if (N=0) or (N=1) then fibo:=1 else fibo:=fibo (N-1) + fibo (N-2) end; clrscr; writeln (‘Menentukan Deret Fibonacci ke-N’) writeln (‘---------------------------------------------’) writeln; write (‘Input deret ke =‘); readln (N) ; write (‘Deret fibo ke =‘,N,’=‘, fibo (N)) ; end