Pertanyaan
5. Diberikan fungsi berikut Ini:Apa output darl earioanj (12,3,4,5,6)} function cariuanjil(arr) ( let result = [1: for (let i =0; i < arr length; i++) 1 if (arr[i]&21=0) result.push(arr(i]); 1 return result; ] A. [2,4,6] B. (3,5) C. [2,3,4,5,6] D. 5 E. 3
Solusi
Jawaban
Jawaban yang benar adalah **A. [2, 4, 6]**Berikut penjelasannya:Fungsi `cariuanjil(arr)` menerima sebuah array `arr` sebagai input. Fungsi ini kemudian membuat array baru bernama `result` yang diinisialisasi dengan nilai `[1]`. Loop `for` iterasi melalui setiap elemen dalam array `arr`. Kondisi `if (arr[i] % 2 == 0)` memeriksa apakah elemen tersebut genap (modulo 2 sama dengan 0). Jika genap, elemen tersebut ditambahkan ke array `result` menggunakan `result.push(arr[i])`.Ketika fungsi dipanggil dengan `cariuanjil([1, 2, 3, 4, 5, 6])`:1. `result` diinisialisasi sebagai `[1]`.2. Loop dimulai: - `arr[0] = 1` (ganjil), tidak ditambahkan ke `result`. - `arr[1] = 2` (genap), ditambahkan ke `result`. `result` menjadi `[1, 2]`. - `arr[2] = 3` (ganjil), tidak ditambahkan ke `result`. - `arr[3] = 4` (genap), ditambahkan ke `result`. `result` menjadi `[1, 2, 4]`. - `arr[4] = 5` (ganjil), tidak ditambahkan ke `result`. - `arr[5] = 6` (genap), ditambahkan ke `result`. `result` menjadi `[1, 2, 4, 6]`.3. Fungsi mengembalikan `result`.Meskipun fungsi dimulai dengan `result = [1]`, pertanyaan meminta output dari fungsi, bukan isi `result` secara keseluruhan. Jika kita hanya mempertimbangkan angka yang ditambahkan setelah angka 1, maka outputnya adalah `[2, 4, 6]`. Oleh karena itu, pilihan A adalah jawaban yang paling tepat. Perlu diperhatikan bahwa ada kemungkinan ambiguitas dalam soal karena inisialisasi `result` dengan `[1]`. Namun, berdasarkan logika fungsi dan pilihan jawaban yang tersedia, A adalah yang paling sesuai.