4. Mengapa dalam beberapa kasus, pemecahan masalah menggunakan iterasi lebih efisien daripada rekursi?
A. Rekursi selalu lebih efisien daripada iterasi
B. Rekursi lebih mudah dipahami daripada iterasi
C. Iterasi membutuhkan lebih sedikit memori daripada rekursi
D. Rekursi membutuhkan lebih sedikit waktu eksekusi daripada iterasi
E. Iterasi membatasi jumlah panggilan fungsi
Jawaban : E
5. Apa yang dimaksud dengan algoritma greedy dalam konteks algoritma?
A. Algoritma yang selalu mencari solusi terburuk terlebih dahulu.
B. Algoritma yang mencari semua kemungkinan solusi sebelum memilih yang terbaik.
C. Algoritma yang mencari solusi optimal dengan cara memilih langkah terbaik pada setiap tahap.
D. Algoritma yang hanya bekerja pada masalah tertentu.
E. Algoritma yang selalu mencari solusi dengan jumlah langkah terbanyak.
Jawaban : C
6. Misalkan Anda memiliki sejumlah koin dengan nilai 1, 5, dan 10. Bagaimana Anda menggunakan algoritma greedy untuk memberikan kembalian sebanyak 18?
A. Memberikan 1 koin bernilai 10 dan 1 koin bernilai 5.
B. Memberikan 1 koin bernilai 1, 1 koin bernilai 5, dan 1 koin bernilai 10.
C. Memberikan 2 koin bernilai 10 dan 1 koin bernilai 1.
D. Memberikan 1 koin bernilai 10, 2 koin bernilai 5, dan 3 koin bernilai 1.
E. Memberikan 18 koin bernilai 1.
Jawaban : C
7. Apa kelebihan utama dari algoritma greedy?
A. Selalu menghasilkan solusi optimal
B. Cepat dalam eksekusi.
C. Mudah untuk diimplementasikan.
D. Cocok untuk semua jenis masalah.
E. Tidak memiliki kelebihan khusus.
Jawaban : B
8. Apa yang dimaksud dengan pemrograman dinamis dalam konteks pemrograman komputer?
A. Pemrograman yang hanya bekerja pada perangkat mobile
B. Pemrograman yang menggunakan bahasa pemrograman yang dinamis
C. Pemrograman yang memungkinkan penambahan dan pengurangan elemen dalam tampilan program
D. Pemrograman yang menggunakan struktur data yang dapat berubah secara dinamis
E. Pemrograman yang hanya berfokus pada algoritma greedy
Jawaban : D