REKURSIF dalam bahasa C
PENGERTIAN REKURSIF
Rekursif adalah suatu proses yang memanggil dirinya sendiri. Dalam rekursif sebenarnya terkandung pengertian prosedur atau fungsi. Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi prosedur atau fungsi harus dipanggil lewat pemanggil prosedur atau fungsi. Pemanggilan diri sendiri dilakukan berulang-ulang sampai mencapai titik tertentu.
Implementasi dari rekursif sebenarnya ada banyak, tapi kali ini kita akan mencoba mengimplementasikan rekursif ke dalam penjumlahan.
Dari contoh analogi diatas, kita dapat menarik kesimpulan :
Rekursif adalah suatu proses yang memanggil dirinya sendiri. Dalam rekursif sebenarnya terkandung pengertian prosedur atau fungsi. Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi prosedur atau fungsi harus dipanggil lewat pemanggil prosedur atau fungsi. Pemanggilan diri sendiri dilakukan berulang-ulang sampai mencapai titik tertentu.
Implementasi dari rekursif sebenarnya ada banyak, tapi kali ini kita akan mencoba mengimplementasikan rekursif ke dalam penjumlahan.
Dari contoh analogi diatas, kita dapat menarik kesimpulan :
- Fungsi rekursif selalu memiliki kondisi yang menyatakan kapan fungsi tersebut berhenti. Kondisi ini harus dapat dibuktikan akan tercapai, karena jika tidak tercapai maka kita tidak dapat membuktikan bahwa fungsi akan berhenti, yang berarti algoritma kita tidak benar.
- Fungsi rekursif selalu memanggil
dirinya sendiri sambil mengurangi atau memecahkan data masukan setiap
panggilannya. Hal ini penting diingat, karena tujuan utama dari rekursif
ialah memecahkan masalah dengan mengurangi masalah tersebut menjadi
masalah-masalah kecil.
Berikut contoh source code dari problem di atas :
Dari soure code di atas dapat di tarik kesimpulan bahwa fungsi rekursif merupakan fungsi yang memanggil dirinya sendiri. Terdapat dua komponen penting dalam fungsi rekursif, yaitu kondisi kapan berhentinya fungsi dan pengurangan atau pembagian data ketika fungsi memanggil dirinya sendiri. Optimasi fungsi rekursif dapat dilakukan dengan menggunakan teknik tail call, meskipun teknik ini tidak selalu diimplementasikan oleh semua bahasa pemrograman. Selain sebagai fungsi, konsep rekursif juga terkadang digunakan untuk struktur data seperti binary tree atau list.
Komentar
Posting Komentar