Rekursi adalah suatu proses yang memanggil dirinya sendiri yang biasanya dilakukan oleh fungsi atau prosedur pada pemrograman prosedural, seperti contohnya bahasa pemrograman C, atau metode pada pemrograman berorientasi objek seperti C++ atau Java. Rekursi akan terus berjalan sampai kondisi berhenti terpenuhi, oleh karena itu dalam sebuah rekursi perlu adanya blok-blok kode sebagai berikut :
- Basis : Basis merupakan kode yang menjadi titik berhenti dari sebuah proses rekursi karena proses rekursi akan terus berjalan berputar memanggil dirinya sendiri sampai sebuah kondisi basis terpenuhi. Oleh karena itu basis sangat penting dalam sebuah proses rekursi, karena tanpa basis sebuah proses rekursi akan terus dijalankan tanpa henti.
- Rekursi : Rekursi merupakan kode dalam hal ini sebuah blok program (prosedur, fungsi atau metode) memanggil dirinya sendiri, misalnya ada sebuah fungsi hitung hasil faktorial, bahwa di dalamnya blok kode fungsi itu memanggil dirinya sendiri.
Pada kesempatan kali ini saya akan berbagi mengenai implementasi rekursi pada bahasa pemrograman C, dimana studi kasus nya adalah membuat program faktorial.
Contoh program rekursi :
Contoh program rekursi :
#include <iostream>
using namespace std;
long faktorial(int nilai)
{
if(nilai<2)
{
return 1; // basis
}
else
{
return nilai*faktorial(nilai-1); //faktorial
}
}
main()
{
for(int x=0; x<=5; x++)
{
cout<<"faktorial("<<x<<")= "<<faktorial(x)<<endl;
}
}
sumber : http://diam2belajar.blogspot.com/2013/05/pengertian-rekursi-dan-contohnya-c.html
0 komentar:
Posting Komentar