Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

II.DEFINISI REKURSIF Secara tidak formal, rekursif dapat didefinisikan sebagai cara pendefinisian suatu objek menjadi lebih sederhana dalam terminologi.

Presentasi serupa


Presentasi berjudul: "II.DEFINISI REKURSIF Secara tidak formal, rekursif dapat didefinisikan sebagai cara pendefinisian suatu objek menjadi lebih sederhana dalam terminologi."— Transcript presentasi:

1 II.DEFINISI REKURSIF Secara tidak formal, rekursif dapat didefinisikan sebagai cara pendefinisian suatu objek menjadi lebih sederhana dalam terminologi dirinya sendiri Definisi terminologi : “Terminology is the study of and the field of activity concerned with the collection, description, processing and presentations of terms” Daya guna rekursif terletak pada kemampuannya mendefinisikan sekumpulan objek yang tidak terbatas dengan sebuah pernyataan terbatas Contoh – contoh fungsi rekursif antara lain :  F(x) = 0 2 F(x) = 2F(x - 3) + x 1 adalah bilangan asli,x=0,x ≠ 0 Suksesor bilangan asli adalah bilangan asli Definisi rekursif disusun oleh dua bagian, yakni :  Basis Bagian yang berisi kasus yang terdefinisi secara eksplisit. Bagian ini sekaligus menghentikan rekursif (dan memberikan sebuah nilai yang terdefinisi pada fungsi rekursif) Rekurens Bagian yang mendefinisikan objek dalam terminologi dirinya sendiri. Pada proses untuk menghitung faktorial dari n, diperoleh pernyataan : n!=1 n ! = n x (n - 1) !,n=0,n>0 {Basis} {Rekurens} Bentuk algoritma rekursif untuk mengitung faktorial n adalah : function Faktorial (input n : integer)   integer {Mengembalikan nilai faktorial dari n} DEKLARASI : 1

2 a End if end function R1(x) Return R(g(x)) R2(x) {opsional} {Rekurens} {opsional} IV.CONTOH-CONTOH PENDEFINISIAN ALGORITMA REKURSIF Berikut ini adalah contoh pendefinisian algoritma rekursif : 1. Perpangkatan a n Nyatakan a n dalam ungkapan rekursif : a n = a x a x a x … x a {sebanyak n kali} a n = a x a n – 1 {Rekurens} Tentukan kasus eksplisit yang tidak memerlukan pemanggilan rekursif lagi (basis) a n = 1 jika n = 0 Secara matematis, proses perpangkatan a n dapat dinyatakan sebagai : a n = 1,n=0{Basis} n n–1,n>0{Rekurens} Berikut bentuk fungsi rekursif dari perpangkatan a n : function=axaPangkat (input a, n : integer)   integer {Mengembalikan nilai a n } DEKLARASI : {Tidak ada} DEFINISI : If n = 0 then Else Return 1 Return a * Pangkat(a, n-1) {Rekurens} {Basis} End if end function 2. Mencari pembagi bersama terbesar Untuk menghasilkan pembagi bersama terbesar (gcd) dapat dinyatakan sebagai berikut : gcd (x, y) = x, jika y = 0{Basis} gcd (x, y) = gcd(y, x mod y) jika y > 0{Rekurens} 3

3 If (j > n) then Return -1 Else Return Cari(A, n, x, j+1){Rekurens} End if End function 4. Mencari nilai maksimum dalam larik integer A[1.. n] Maks (A, n) = {Basis} A[1] A[n] Maks (A, n-1), jika n = 1, jika A[n] > Maks(A, n-1), jika Maks(A, n-1) > A[n] {Basis} {Rekurens} Bentuk rekursif dari algoritma pencarian nilai maksimum dalam larik integer A : Function Maks (input A : LarikInt, input n : integer)   integer {Menemukan nilai maksimum dalam larik A} DEKLARASI : {Tidak ada} DEFINISI : If n = 1 then Else Return A[1] If A[n] > Maks(A, n-1) then Return A[n] Else Return Maks(A, n-1) {Basis} {Rekurens} End if End function 5


Download ppt "II.DEFINISI REKURSIF Secara tidak formal, rekursif dapat didefinisikan sebagai cara pendefinisian suatu objek menjadi lebih sederhana dalam terminologi."

Presentasi serupa


Iklan oleh Google