Rekursi

Halo sobat, kembali bersama saya di blog ini. kali ini saya ingin berbagi seputar dunia pemrograman, Rekursi. Apa itu rekursi? Apa kegunaannya? langsung saja cek dibawah ini. Happy Learning

Rekursi adalah suatu proses memanggil kembali dirinya sendiri yang dilakukan oleh suatu fungsi dalam pemrograman prosedural, contohnya dalam bahasa pemrograman C++ atau Java. Rekursi itu seperti cermin di depan cermin. Rekursi akan terus berjalan sampai fungsi terpenuhi, maka dari itu dalam sebuah rekursi diperlukan ada blok - blok seperti berikut:
  • Terminate : terminate adalah kode untuk menghentikan sebuah rekursi, kalau tidak rekursi akan terus berjalan 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.
Algoritma



#include <iostream>

using namespace std;

long rekursifaktorial (int f)

{

if (f==0)

return 1; //merupakan terminate

else

return f * rekursifaktorial(f-1); //merupakan rekursi

}

int main ()

{

int x;

cout<< "Masukkan angka yang akan difaktorialkan:";

cin>>x;

cout << x << "!="<< rekursifaktorial(x)<<endl;

return 0; }


KELEBIHAN DAN KELEMAHAN REKURSIF
Kelebihan Perulangan Rekursif :
• Perulangan data yang besar
• Dapat melakukan perulangan dengan batasan fungsi.

Kekurangan Perulangan Rekursif:
• Tidak bisa melakukan nested loop atau looping bersarang.
• Hanya cocok untuk persoalan tertentu saja, banyak fungsi sulit dipahami
• Trace error sulit.
• Memerlukan stack yang lebih besar, sebab setiap kali fungsi dipanggil, variabel lokal dan parameter formal akan ditempatkan ke stack dan ada kalanya akan menyebabkan stack tak cukup lagi (Stack Overrun).
• Proses yang berbelit - belit terdapat pengulangan data bertumpuk.

Kesimpulan
Rekursif adalah suatu proses untuk memanggil dirinya sendiri. Rekursif penting dikuasai karena banyak hal dalam penerapannya. Algoritmanya pun mudah diapahami tetapi dalam lebih banyak menggunakan memori

Sekian artikel saya tentang Rekursi, saya harap artikel ini dapat membantu anda. Mohon kritik dan sarannya untuk membangun lebih baik lagi blog ini. Akhir kata saya ucapkan terima kasih sudah berkunjung ^_^

Komentar

Postingan populer dari blog ini

Flowchart

Tipe Data dan karakter khusus C++

Instalasi dan Review Linux Ubuntu 16.04 LTS