Pertanyaan
Manakah dari berikut yang benar mengenai rekursi dalam JavaScript? (Pilih DUA) Rekursi hanya dapat digunakan pada array.bukan objek. Rekursi selalu lebih efisien daripada perulangan. Rekursi adalah teknik pemanggilan fungsi dalam fungsi itu sendiri. Rekursi dapat menggantikan penggunaan loop dalam beberapa kasus. Rekursi tidak pernah menyebabkan infinity loop.
Solusi
Jawaban
Jawaban yang benar adalah:* **Rekursi adalah teknik pemanggilan fungsi dalam fungsi itu sendiri.** Ini adalah definisi dasar rekursi. Suatu fungsi rekursif memanggil dirinya sendiri hingga mencapai kondisi basis (kondisi berhenti).* **Rekursi dapat menggantikan penggunaan loop dalam beberapa kasus.** Banyak algoritma yang dapat diimplementasikan baik dengan loop maupun rekursi. Rekursi seringkali lebih mudah dibaca dan dipahami untuk masalah-masalah tertentu, meskipun mungkin kurang efisien dalam hal kinerja.Penjelasan mengapa pilihan lain salah:* **Rekursi hanya dapat digunakan pada array, bukan objek:** Salah. Rekursi dapat digunakan pada berbagai struktur data, termasuk array dan objek. Fungsi rekursif dapat memproses data dari berbagai jenis, tidak terbatas pada array.* **Rekursi selalu lebih efisien daripada perulangan:** Salah. Rekursi seringkali kurang efisien daripada perulangan karena overhead pemanggilan fungsi yang berulang. Perulangan biasanya lebih cepat karena tidak melibatkan overhead pemanggilan fungsi.* **Rekursi tidak pernah menyebabkan infinity loop:** Salah. Jika kondisi basis (kondisi berhenti) dari fungsi rekursif tidak didefinisikan dengan benar atau tidak pernah tercapai, maka akan terjadi *infinity loop* (loop tak terhingga), yang akan menyebabkan program crash atau hang.