IF2030_Proc_11_ListRekursif

1 2011 2012 5 1 terjemahan dari program fungsional

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: /16/2011 IF2030/Sem. 1 2011-2012 5 1. Terjemahan dari Program Fungsional Rekursif • Mengingat kembali: Fungsi Factorial (Fungsional) DEFINISI DAN SPESIFIKASI factorial: integer ≥ 0 → integer > 0 { factorial(N) = N! sesuai dengan definisi rekursif factorial } factorial(N) N! sesuai REALISASI (VERSI-1) { Realisasi dengan definisi factorial sebagai berikut jika factorial(N) adalah N!: N = 0 : N! = 1 N ≥ 1 : N! = N * (N-1)! } factorial(N) : if N = 0 then { Basis 0 } 1 else { Rekurens : definisi faktorial } N * factorial(N-1) 11/16/2011 IF2030/Sem. 1 2011-2012 6 Fungsi Factorial Rekursif (T (Translasi ke Program Prosedural) function factorial (N : integer) → integer (N { Mengirim N! sesuai dengan definisi faktorial definisi rekursif: } { 0! = 1; 1! = 1; N! = N * (N-1)! } KAMUS LOKAL ALGORITMA if (N=0) then { Basis 0 } →0 else {Rekurens} → N * factorial(N-1) 11/16/2011 IF2030/Sem. 1 2011-2012 7 2. Terjemahan dari loop (iteratif) menjadi program rekursif • Dalam konteks prosedural kita memiliki “loop” konteks prosed kita memiliki “loop” sebagai mekanisme untuk mengulang • Kita dapat mensimulasi mekanisme dapat mensimulasi mekanisme pengulangan secara rekursif: – Parameter hasil dan variabel temporer pada hasil dan variabel tempor mekanisme pengulangan dipindahkan menjadi parameter prosedur – Hati-hati dalam meletakkan nilai inisialisasi untuk parameter input dan input/output 11/16/2011 IF2030/Sem. 1 2011-2012 8 Fungsi Factorial (Iteratif) Fungsi Factorial (Iteratif) - 1 fun...
View Full Document

Ask a homework question - tutors are online