Wah tidak terasa lebaran sudah lewat :v, saatnya kembali beraktifitas. Semoga tidak bosan dengan saya master nana akan kembali memberikan sebuah materi tentang perulangan, tapi berbeda dengan perulangan pada umumnya. Kali ini perulangan menggunakan teknik rekursif. Apa itu rekursif, yah singkatnya akan dijelaskan dibawah ini, tapi untuk penjelasannya silahkan lihat di artikel khususnya nanti akan saya buat -_-.

Penjelasan Singkat Tentang Apa itu Rekursif

Rekursif / recursive adalah sebuah method yang memanggil dirinya sendiri, biasanya digunakan dalam sebuah kondisi agar tidak menulis ulang sebuah method jadi yang tinggal diubah adalah parameternya saja. Jadi jika ingin membuat sebuah rekursif hanya tinggal buat sebuah method yang menggunakan parameter tertentu dan di dalam method tersebut panggilah method yang dibuat dengan perubahan parameter, dan jadilah sebuah metode rekursif.

Kenapa harus menggunakan parameter ? dan parameter yang dinamis atau berubah-ubah ?, jawabannya adalah agar suatu saat metode dapat berhenti, karena disistem nya tidak ditanamkan kode untuk memberhentikan aplikasi, jika tidak ada kondisi yang menghentikannya maka metode akan terus berjalan hingga terjadi stackoverflow. Maka dari itu kita buat sebuah kondisi yang akan memberhentikan perulangan tersebut dengan paramater.

Baiklah silahkan simak contoh kode simpel perulangan teknik menggunakan metode rekursif

Contoh

public class RekursifLoop
{
    public static void main(String[] args)
    {
        perulangan(5);
    }
    public static void perulangan(int i)
    {
        if(i > 0)
        {
            System.out.println("Iterator : " + i);
            perulangan((i-1));
        }
    }
}

Saya akan menjelaskan kode kode tersebut, jadi pertama tama kita harus membuat sebuah method yang mempunyai parameter, disini kita akan membuat parameter dengan nama i dan bertipe data integer. Setelah metode dibuat, lalu buat sebuah kondisi yang akan membuat rekursif berhenti yaitu contohnya: jika variabel i nilainya lebih dari 0 maka dijalankan dan jika tidak maka tidak terjadi apa-apa yakni rekursif akan berhenti karena tidak dipanggil lagi. Di dalam conth jika i > 0 maka rekursif dijalankan dan pengurangan parameter terjadi dan jika parameter atau i telah mencapai 0 maka rekursif tidak lagi dijalankan. Itulah kondisi yang akan membuat perulangan berhenti.

Jadi saat metode dipanggil pada method main, maka yang pertama adalah akan mencetak iterator : 5, dan selanjutnya masuk ke perulangan berikutnya yaitu dikurangi nilai i dan dijalankan pada method itu lagi, dan seterusnya sampai nilai i sama dengan 0. Dan selanjutnya jika kondisi nilai i sama dengan 0 maka rekursif tidak lagi dipanggil dan selesai.

Untuk hasil running kode diatas dapat dilihat dibawah ini

Dapat dilihat bahwa hasilnya yang pertama adalah mencetak angka i awal yaitu 5, dan dikurangi satu per satu dan ditampilkan hingga i sama dengan 0 maka tidak lagi dijalankan ditampilkan atau dikurangi dan program berhenti.

Secara sekilas kita mungkin akan berpikir sepertinya teknik perulangan rekursif lebih mudah daripada perulangan pada umumnya walaupun tidak lebih efisien, tapi rekursif juga memiliki beberapa kelemahan yaitu, jika terlalu banyak mengulang maka prosesnya akan menumpuk dan akan terjadi not responding, maka dari itu lebih efektif jika menggunakan perulangan yang sebenarnya untuk proses yang banyak dan mungkin kelebihan dan kekurangan lainnya tidak dapat saya katakan karena saya kurang tahu :v.

Baiklah mungkin hanya itu batas ilmu saya tentang rekursif, untuk pembelajaran rekursif lebih lengkap silahkan lihat artikel rekursif yang nanti akan saya buat, tapi sekarang tidak ada :v. Tapi artikel tersebut pasti akan saya buat ^.^.

Selamat bagi yang puasanya full dan sudah mendapatkan banyak THR :v. Saya akhiri, terima kasih telah berkunjung dan mohon maaf jika terjadi kesalahan dalam artikel ini ataupun yang lainya.