Cara Membedakan Rekursi dan Loop

Perbedaan yang menonjol antara rekursi dan loop adalah rekursi adalah mekanisme untuk memanggil fungsi dalam fungsi yang sama sementara loop adalah struktur kontrol yang membantu untuk mengeksekusi serangkaian instruksi lagi dan lagi sampai kondisi yang diberikan benar.

Rekursi dan loop adalah dua konsep pemrograman. Kedua teknik ini membantu mengembangkan program kecil hingga kompleks.

Topik bahasan kami tentang:

  1. Apa itu Rekursi – Definisi, Fungsi 2. Apa itu Loop – Definisi, Fungsi 3. Apa Perbedaan Antara Rekursi dan Loop – Perbandingan Perbedaan Kunci

Istilah Utama

Lakukan While Loop, Untuk Loop, Loop, Rekursi, While Loop

Yang perlu anda ketahui tentang Rekursi?

Ketika suatu fungsi memanggil dirinya sendiri di dalam fungsi, itu disebut rekursi. Contoh program dengan rekursi adalah menghitung faktorial.

n! = n * (n-1)!, jika n>0

n! =1, jika n=0;

Gambar 1: Program Faktorial di Java

Menurut program di atas, ia menciptakan objek Faktorial. Kemudian, dengan menggunakan objek itu, ia memanggil metode faktorial. Dan, metode mendapat nilai 4. Selanjutnya, bagian lain dijalankan. Setelah itu disebut faktorial (3). Kemudian, bagian lain dijalankan. Ini memanggil faktorial (2). Selanjutnya, bagian lain dijalankan. Ini memanggil faktorial (1), dan bagian lain dieksekusi lagi. Ini memanggil faktorial (0). Sekarang n adalah 0. Ini mengembalikan 1. Akhirnya, 1x2x3x4 =24 dikembalikan, dan nilai itu ditampilkan di layar. Demikian juga, fungsi faktorial memanggil dirinya sendiri lagi dan lagi.

Yang perlu anda ketahui tentang Loop?

Terkadang perlu untuk mengeksekusi blok kode berulang kali. Bahasa pemrograman menyediakan struktur kontrol yang disebut loop untuk mengeksekusi satu set instruksi. Loop mengeksekusi pernyataan di dalam blok satu demi satu. Ada tiga jenis perulangan yaitu perulangan while, perulangan for dan perulangan do while. Selain itu, iterasi juga adalah istilah untuk loop.

Sementara Loop

Perulangan while berisi ekspresi uji. Jika ekspresi itu benar, pernyataan di dalam loop while akan dieksekusi. Di akhir pernyataan, ia memeriksa ekspresi pengujian lagi. Kemudian, proses ini berulang sampai ekspresi uji menjadi salah. Ketika ekspresi pengujian salah, loop sementara berakhir. Kemudian kontrol diteruskan ke pernyataan pertama setelah perulangan while.

Gambar 2: Program dengan while loop

Dalam program di atas, x adalah 5. Kurang dari 10. Maka dari itu, ia akan mencetak. Kemudian, nilai x bertambah. Sekarang, x adalah 6. Ini juga kurang dari 10; karenanya, itu akan dicetak. Kemudian lagi nilai x bertambah. Sekarang x adalah 7. Jadi, proses ini berulang. Ketika x adalah 10, kondisinya salah, dan loop berakhir.

Untuk Lingkaran

Untuk loop berisi inisialisasi, ekspresi pengujian, dan pembaruan. Ekspresi inisialisasi dijalankan sekali. Kemudian, ia mengevaluasi ekspresi pengujian. Jika benar, pernyataan di dalam for loop akan dieksekusi. Di akhir loop, ia mengevaluasi ekspresi yang diperbarui. Dengan demikian, proses ini berulang sampai ekspresi uji salah. Jika salah, perulangan for berakhir. Kemudian, kontrol diteruskan ke pernyataan berikutnya setelah perulangan for.

Gambar 3: Program dengan For Loop

Dalam perulangan for di atas, nilai x adalah 1. Lebih kecil dari 5. Jadi, nilai akan dicetak. Kemudian nilai x bertambah 1. Sekarang nilai x adalah 2. Ini juga kurang dari 5. Maka dari itu, akan dicetak. Kemudian lagi, nilai x bertambah 1. Sekarang, x adalah 3. Proses ini berulang. Ketika x adalah 6, kondisi pengujian menjadi salah, dan loop berakhir.

Lakukan While Loop

Do while loop mirip dengan while loop, tetapi memeriksa kondisi setelah mengeksekusi pernyataan loop. Maka dari itu, apakah kondisinya benar atau salah, loop dijalankan setidaknya sekali. Di sini, pengecekan kondisi terjadi setelah loop dieksekusi. Jika kondisinya benar, pernyataan loop akan dieksekusi lagi. Proses ini berulang sampai kondisi menjadi salah.

Gambar 4: Program Dengan Do While Loop

Nilai x awalnya 5. Perulangan do while dijalankan dan mencetak nilai 5. Kemudian, x menjadi 6. Kurang dari 10. Jadi, 6 akan dicetak. Selanjutnya, x menjadi 7. Ini juga kurang dari 10. Dan, proses ini berulang. Ketika x adalah 9, nilainya dicetak. Tetapi, ketika x menjadi 10, kondisinya menjadi salah. Maka dari itu, loop berakhir.

Sebagai contoh, asumsikan bahwa x awalnya 20. Ini akan mencetak 20. Kemudian x akan bertambah, dan x menjadi 21. Kondisi pengujian salah. Maka dari itu, ini akan mengakhiri loop. Nilai 20 lebih tinggi dari 10, dan kondisi pengujian salah. Namun, loop dijalankan sekali. Maka dari itu, lakukan while loop dijalankan setidaknya sekali.

Perbedaan Antara Rekursi dan Loop

Definisi

Rekursi adalah metode pemanggilan fungsi dalam fungsi yang sama. Sebaliknya, loop adalah struktur kontrol yang memungkinkan mengeksekusi blok kode berulang kali dalam program. Definisi ini mengandung perbedaan mendasar antara rekursi dan loop.

Kecepatan

Kecepatan adalah Perbedaan yang menonjol antara rekursi dan loop. Eksekusi rekursi lebih lambat. Namun, loop dieksekusi lebih cepat daripada rekursi.

Tumpukan

Dalam rekursi, tumpukan digunakan untuk menyimpan variabel lokal saat fungsi dipanggil. Tapi, loop tidak menggunakan stack.

Kondisi

Jika tidak ada kondisi terminasi, itu bisa menjadi rekursi tak terbatas. Namun, jika kondisinya tidak pernah menjadi salah, itu akan menjadi loop tak terbatas. Ini adalah perbedaan lain antara rekursi dan loop.

Kompleksitas Ruang

Selain itu, kompleksitas ruang dari program rekursif lebih tinggi daripada loop.

Keterbacaan Kode

Perbedaan lain antara rekursi dan loop adalah program dengan rekursi lebih mudah dibaca daripada program dengan loop.

Kata terakhir

Perbedaan antara rekursi dan loop adalah rekursi adalah mekanisme untuk memanggil fungsi dalam fungsi yang sama sementara loop adalah struktur kontrol yang memungkinkan mengeksekusi serangkaian instruksi lagi dan lagi sampai kondisi yang diberikan benar.

Sumber bacaan:
  1. “Rekursi (Ilmu Komputer).” Wikipedia, Wikimedia Foundation, 12 September 2018, Tersedia di sini . 2. “Kontrol Java Loop.” www.tutorialspoint.com, Tersedia di sini .

Related Posts