Tutorial Belajar Rekursif di Java Desktop

Untuk pemakaiannya sih, jujur saja bahwa saya sudah setahun jadi programmer di sebuah perusahaan masih jarang atau sama sekali tidak pernah menggunakan algoritma ini dalam proses pembuatan aplikasi yang akan saya kerjakan. Mungkin karena aplikasi yang saya kerjakan masih terbilang mudah makanya, tidak perlu memakai algoritma ini. Tapi, walaupun jarang dipakai tapi algoritma ini sangat bagus bagi Anda yang masih polos - polosnya di bidang pemrograman dalam melatih pola pikir Anda dalam memahami alur algoritma ini. Awalnya sih tidak gampang belajar algoritma rekursif ini karena saya awalnya juga begitu. Tapi, bagi Anda yang mau belajar algoritma rekursif ini alangkah lebih baiknya siapkan selembar kertas atau 1 buku tulis juga boleh untuk Anda coret - coret dalam memahami algoritma ini.
Sebagai perkenalan, berikut saya beri contoh source code mencetak angka 1 sampai 10 dengan menggunakan rekursif.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | public class Main { public static void main(String[] args) { cetakAngka( 1 ); } static void cetakAngka( int angka) { if (angka <= 10 ) { System.out.print(angka + " " ); cetakAngka(++angka); } } } |
Gimana??? Gampang kan belajar algoritma rekursif.... Selanjutnya, kita selangkah lebih maju yuk dengan membuat segitiga siku - siku waktu masa kuliah dulu dengan algoritma rekursif. Berikut source code nya.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | public class Main2 { public static void main(String[] args) { cetakSegitigaSiku( 1 , 1 , 5 ); } static void cetakSegitigaSiku( int row, int col, int batas) { if (row <= batas) { if (col <= row) { System.out.print( "* " ); } if (col == row) { System.out.println(); cetakSegitigaSiku(++row, 1 , batas); } else { cetakSegitigaSiku(row, ++col, batas); } } } } |
Mulai bingung yah??? cayo.... semangat yah.... Sedikit lagi kamu pasti bisa kok. Pahaminya pelan - pelan ya.
Kalau sudah paham pada kedua contoh source code diatas, kita selangkah lebih maju lagi yuk. Berikut source code untuk menampilkan bilangan fibonacci dengan algoritma rekursif.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | public class Main3 { // variable global static int index = 0 ; static String str = "" ; public static void main(String[] args) { cetakFibonacci( 10 ); } static void cetakFibonacci( int batas) { int temp1 = 0 ; int temp2 = 1 ; if (index < batas) { if (index == 0 ) { System.out.print(temp1 + " " ); str += temp1 + ";" ; } else if (index == 1 ) { System.out.print(temp2 + " " ); str += temp2 + ";" ; } else { String[] arr = str.split( ";" ); temp1 = Integer.parseInt(arr[arr.length - 1 ]); temp2 = Integer.parseInt(arr[arr.length - 2 ]); System.out.print((temp1 + temp2) + " " ); str += (temp1 + temp2) + ";" ; } index++; cetakFibonacci(batas); } } } |
Gimana? Asik bukan belajar rekursif. Oya, sedikit info tambahan bahwa rekursif ini tidak hanya berlaku pada method saja melainkan juga bisa pada function. Dan sedikit catatan untuk algoritma rekursif ini ialah bahwa pastikan di dalam method yang Anda gunakan memiliki kondisi agar tidak terjadi infinitely looping. Yang udah paham silakan explore sendiri ya, biar makin paham sama si rekursif ini. Dan berikut ialah output untuk source code diatas.
0 Response to "Tutorial Belajar Rekursif di Java Desktop"
Posting Komentar