Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Rekursi Java: Pemahaman, Contoh, dan Trade-off

Java Recursion

Panduan ini menjelaskan metode rekursif Java, melalui contoh klasik faktorial, dan mengevaluasi kelebihan serta kekurangan penggunaan rekursi.

Di Java, sebuah metode yang memanggil dirinya sendiri disebut metode rekursif, dan teknik secara keseluruhan dikenal sebagai rekursi. Ilustrasi sederhana dari kehidupan nyata adalah dua cermin yang menghadap satu sama lain: setiap refleksi adalah citra cermin lainnya, berulang hingga cahaya diserap.


Bagaimana Rekursi Bekerja

Rekursi Java: Pemahaman, Contoh, dan Trade-off

Pada ilustrasi di atas, metode recurse() dipanggil dari main()—pemanggilan normal. Di dalam recurse(), metode yang sama memanggil dirinya sendiri lagi, menciptakan pemanggilan rekursif. Untuk mencegah looping tak hingga, setiap pemanggilan rekursif harus mencakup kondisi terminasi, biasanya diimplementasikan dengan pernyataan if…else.


Contoh: Faktorial dari Sebuah Angka Menggunakan Rekursi

class Factorial { static int factorial(int n) { if (n != 0) // kondisi terminasi return n * factorial(n - 1); // pemanggilan rekursif else return 1; } public static void main(String[] args) { int number = 4, result; result = factorial(number); System.out.println(number + " factorial = " + result); } }

Output:

4 factorial = 24

Metode factorial() dipanggil dari main() dengan argumen number. Di dalam factorial(), baris

return n * factorial(n-1);
menyebabkan metode memanggil dirinya sendiri dengan nilai yang diturunkan. Memulai dengan n = 4, pemanggilan berlanjut: 4 → 3 → 2 → 1 → 0. Saat n mencapai 0, kondisi if gagal, mengembalikan 1. Hasil perkalian yang terkumpul kemudian menyebar kembali ke atas tumpukan pemanggilan ke main().


Bagaimana Program Faktorial Dieksekusi

Gambar di bawah ini menggambarkan evolusi tumpukan pemanggilan selama eksekusi.

Rekursi Java: Pemahaman, Contoh, dan Trade-off

Kelebihan dan Kekurangan Rekursi

Secara keseluruhan, rekursi menawarkan solusi yang elegan dengan biaya penggunaan memori yang lebih tinggi dan potensi overhead performa. Untuk banyak kasus penggunaan, terutama yang memiliki kedalaman terbatas, trade-off tersebut berkesan.

Bacaan yang direkomendasikan: Apa saja kelebihan dan kekurangan rekursi?


java

  1. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  2. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  3. Menguasai Java Try-with-Resources: Manajemen Sumber Daya Otomatis Dijelaskan
  4. Anotasi Java Dijelaskan: Jenis, Penempatan, dan Contoh Praktis
  5. Jenis Anotasi Java: Panduan Lengkap tentang Anotasi Terdefinisi, Kustom, dan Meta
  6. Metode Java String length(): Cara Mendapatkan Ukuran String (Contoh)
  7. Memahami Java String.charAt(): Sintaks, Tipe Kembali, Pengecualian, dan Contoh Praktis
  8. Menguasai Java String.endsWith(): Cara Memeriksa Akhir String dengan Contoh
  9. Menguasai Penggantian String Java: replace(), replaceAll(), dan replaceFirst() Dijelaskan
  10. Membalikkan String di Java Menggunakan Rekursi – Panduan Langkah demi Langkah