Analisa Algoritma : Apa itu Rekursif


Halo, kembali lagi di blog ini, pada artikel kali ini kita akan membahas tentang rekursif, apa itu rekursif ?. Rekursif adalah fungsi atau metode yang memanggil dirinya (metode) sendiri secara langsung atau pun tidak, dan proses pemanggilan metode itu sendiri disebut rekursi. Untuk lebih lengkap dan jelas langsung saja kita simak artikel berikut ini.

Prosedur
Prosedur dan fungsi merupakan sub program yang sangat banyak manfaatnya dalam pemrograman, terutama dalam program atau proyek dalam skala yang besar. Manfaat penggunaan sub program antara lain adalah sebagai berikut:
  1. Meningkatkan readibility, yang artinya mempermudah pembacaan program
  2. Meningkatkan modularity yang artinya dapat memecah sesuatu yang besar menjadi modul-modul atau bagian-bagian yang lebih kecil dan sesuai dengan fungsinya, hal ini bertujuan untuk mempermudah pengecekan, testing dan lokalisasi kesalahan
  3. Meningkatkan reusability, yang artinya sub program tersebut dapat digunakan berulang kali dengan hanya memanggil sub program tersebut tanpa menuliskan perintah-perintah yang seharusnya digunakan berulang kali

Rekursif
  • Sub Program Rekursif adalah sub program yang memanggil dirinya sendiri selama kondisi pemanggilan terpenuhi
  • Setiap saat terjadi pemanggilan terhadap dirinya sendiri, program rekursif harusnya melakukan pekerjaan yang lebih kecil atau semakin mudah
  • Saat argumen mencapai nilai minimum atau nilai batas yang telah ditentukan, metode rekursif akan kembali ke metode pemanggil tanpa melakukan pemanggilan terhadap dirinya sendiri
  • Sub program rekursif umumnya dipakai untuk permasalahan yang memiliki langkah penyelesaian yang terpola atau langkah-langkah yang teratur. Bila kita memiliki suatu permasalahan dan kita mengetahui algoritma penyelesaiannya, terkadang sub program rekursif harusnya bisa menjadi pilihan kita bila memang memungkinkan dapat digunakan
  • Secara algoritmis (dari segi algoritma), yaitu bila kita mempertimbangkan penggunaan memori, waktu saat eksekusi dari sub program, sub program rekursif sering bersifat tidak efisien
  • Meskipun demikian banyak pula permasalahan-permasalahan yang lebih sesuai diselesaikan dengan cara menggunakan metode rekursif, misalnya dalam pencarian (searching)
  • Metode rekursif biasanya digunakan karena secara konseptual, biasanya akan menyederhanakan permasalahan pemrograman, bukan karena ia lebih efisien tapi memang dapat menyelesaikan menyederhanakan atau menyelesaikan masalah tersebut
  • Keunggulan dari penggunaan teknik rekursif ini adalah logika pemecahan masalahnya, biasanya masalah yang dipecahkan menggunakan metode rekursif akan lebih sederhana dan lebih mudah dipahami
  • Kekurangannya, penggunaan stack dalam memori komputer yang jumlahnya relatif besar dibandingkan yang digunakan oleh implementasi program yang sama tapi menggunakan struktur-struktur perulangan biasa

Jadi intinya Rekursif adalah sebuah proses yang memanggil dirinya sendiri yang biasa dilakukan oleh fungsi atau prosedur pada pemrograman prosedural. Rekursif akan terus berjalan atau dipanggil sampai kondisi yang diinginkan berhenti (terpenuhi).
Pada fungsi rekursif terdapat blok kode:
  • Basis: basis adalah kode yang akan menjadi acuan atau titik berhenti dari proses rekursif
  • Rekursif: rekursif adalah kode dimana sebuah blok program akan terus memanggil dirinya sendiri

Berikut ini adalah contoh kode program yang menggunakan teknik atau metode rekursif:
Menghitung Faktorial
public class Faktorial
{
            static int faktor(int i)
            {
                        if(i==0)
                        {
                                    return 1;
                        }
                        else if(i==1)
                        {
                                    return 1;
                        }
                        return i*faktorial(i-1);
            }
            public static void main(String[] args)
            {
                        System.out.print(faktorial(6));
            }
}
Keterangan:
Silahkan salin kode diatas pada text editor anda, lalu simpan dengan nama Faktorial.java lalu compile dan jalankan kode tersebut.
Kode diatas adalah contoh program dari penggunaan rekursif untuk mencari faktorial dari bilangan tertentu.

Mungkin itu saja yang dapat dibahas pada artikel ini, sekian terima kasih.

Belum ada Komentar untuk "Analisa Algoritma : Apa itu Rekursif"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel