60 likes | 413 Views
REKURSI. Struktur data. Pengertian Rekursi. Rekursi berarti suatu proses yg bisa memanggil dirinya sendiri. Sifat rekursi dimiliki oleh beberapa statement Pascal
E N D
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
Example program : Function faktorial (N:byte) : longint ; begin if N=0 then faktorial:=1 else faktorial:=N x faktorial (N-1) ; end; begin 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
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; begin clrscr; writeln (‘Menentukan Deret Fibonacci ke-N’) writeln (‘---------------------------------------------’) writeln; write (‘Input deret ke =‘); readln (N) ; write (‘Deret fibo ke =‘,N,’=‘, fibo (N)) ; end