Pemrograman Terstruktur Pertemuan 12 Struct
DEFINISI REKURSIF Fungsi yang memanggil dirinya sendiri secara langsung ataupun tidak, dan proses pemanggilannya itu disebut rekursif. Contoh : double power (double x, unsigned int n) { if (n == 0) return 1.0 else return x * power(x, n-1); }
JENIS REKURSIF Tail Recursion Tail Recursion ditandai dengan penggunaan hanya satu rekursif di akhir dari implementasi fungsi. Ketika panggilan dibuat, tidak ada pernyataan tersisa akan dieksekusi oleh fungsi. Panggilan rekursif tidak hanya pernyataan terakhir, tetapi tidak ada panggilan rekursif sebelumnya baik secara langsung atau tidak langsung.
JENIS REKURSIF Tail Recursion Contoh : void tail (int i){ if (i > 0){ cout<< i << “ “ ; tail (i-1); }
JENIS REKURSIF Non-tail Recursion Non-tail Recursion merupakan kebalikan dari Tail -Recursion. Dimana masih terdapat proses yang harus dikerjakan setelah pemanggilan fungsi rekursif.
JENIS REKURSIF Non-tail Recursion Contoh : void reserve() { char ch; cin.get(ch); if (ch != ‘\n’) { reserve(); cout.put(ch); }
SEKIAN