Arti Rekursi dan Proses Rekursi




 Arti Rekursi dan Proses Rekursi

REKURSI

Pengertian Rekursi
Rekursi adalah Proses memanggil dirinya sendiri yang biasanya dilakukan oleh fungsi atau prosedur pada pemrograman prosedural atau metode pada pemrograman berorientasi objek. Rekursi akan terus berjalan sampai kondisi berhenti terpenuhi oleh sebab 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 berputar terus memanggil dirinya sendiri dampai sebuah kondisi basis terpenuhi oleh sebab 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, contohnya : ada sebuah fungsi hitung hasil factorial, bahwa didalmnya blok kode fungsi itu memanggil dirinya sendiri.

Proses Rekursi
Misalnya proses rekursi yang paling sederhana yakni : menuliskan sesuatu kelayar, adapun bahasa pemrogramannya sebagai berikut :

Procedurentulis(input:integer n)
Integer counter <- n
If counter > 0 then
Write(“proses rekursi dengan nilai counter : “, counter)
Counter <- counter – 1
Tulis(counter)
{end if}
{end procedure}

Adapun penjelasannya sebagai berikut :


procedure tulis (input:integer n) = Mendeklarasikan prosedur yang mengandung rekursi dengan masukan bilangan bulat.
Integer counter <- n = Mendeklarasikan variabel bilangan bulat yang nantinya pada nilainya akan dimanipulasi sebagai basis yang nilainya di isi dengan nilai masukan “n”
If counter >0 then = Kondisi basis yaitu selama nilai variabel counter lebih besar daripada  Nol, maka proses didalam blok percabangan if terus dikerjakan dan akan berhenti bila nilai variabel counter adalah nol.
Write(“proses rekursi dengan nilai counter : “, counter)
Counter :” , counter)
Counter <- counter – 1
Tulis(counter)
Bahasa Pemrograman diatas adalah : Proses rekursi beserta inisialisasinya yaitu : prosedur tulis akan dipanggil kembali dengan nilai masukan nilai sebelumnya dikurangi satu.
{algoritma utama}
Tulis(10)
{end algoritma utama}
Bahasa pemrograman diatas adalah : Memanggil prosedur tulis pada algoritma utama.


Komentar