IF2030_Proc_11_ListRekursif

1 2011 2012 19 studi kasus 2a nbelmtlist 1 1 versi

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: { Basis 0 } { tidak melakukan apa-apa } else { Rekurens } output(Info(L)) PrintList(Next(L)) 11/16/2011 IF2030/Sem. 1 2011-2012 19 Studi Kasus-2a: NbElmtList (1) (1) • Versi fungsi fungsi function NBElmtlist (L : List) → integer { Mengirimkan banyaknya elemen list L, Nol jika L kosong } Mengirimkan banyaknya elemen list L, Nol jika kosong KAMUS LOKAL ALGORITMA if (IsEmpty(L)) then { Basis 0 } →0 else { Rekurens } → 1 + NBElmtList(Next(L)) 11/16/2011 IF2030/Sem. 1 2011-2012 20 Studi Kasus-2b: NbElmtList (2) (2) • Versi prosedur, dengan hasil diletakkan pada prosedur, dengan hasil diletakkan pada parameter output procedure NBElmtlist1 (input L : List, output N : integer) { I.S. L terdefinisi } { F.S. N berisi banyaknya elemen list } KAMUS LOKAL N1 : integer ALGORITMA if (IsEmpty(L)) then { Basis 0 } N←0 else { Rekurens } NBElmtList1(Next(L),N1) N ← 1 + N1 N1 11/16/2011 IF2030/Sem. 1 2011-2012 21 Studi Kasus-2c: NbElmtList (3) - 1 (3) • Versi prosedur, dengan akumulator prosedur, dengan akumulator procedure NBElmtlistAcc (input L : List, input Acc : integer, output output N : integer) integer { I.S. L terdefinisi } { F.S. N berisi banyaknya elemen list } KAMUS LOKAL ALGORITMA if (IsEmpty(L)) then { Basis 0 } N ← Acc else { Rekurens: Next element, Proses } Acc ← Acc + 1 NBElmtListAcc(Next(L),Acc,N) 11/16/2011 IF2030/Sem. 1 2011-2012 22 Studi Kasus-2c: NbElmtList (3) - 2 (3) • Pemanggilan NbElmtlistAcc NbElmtlistAcc procedure NBElmtlist (input L : List, output N : integer) { I.S. L terdefinisi } { F.S. N berisi banyakny...
View Full Document

Ask a homework question - tutors are online