wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Berpikir Komputasional - Algoritma

Total questions: 20

Worksheet time: 10mins

Name
Class
Date
1.

Manakah pernyataan berikut yang paling tepat menjelaskan hubungan antara Masalah, Algoritma, dan Solusi?

a)

Solusi adalah rangkaian langkah-langkah logis untuk memecahkan masalah.

b)

Algoritma adalah solusi akhir dari masalah.

c)

Masalah adalah hasil akhir dari algoritma yang berhasil dipecahkan.

d)

Algoritma adalah rencana untuk memecahkan masalah, Solusi adalah hasil implementasinya, dan Masalah adalah tujuan yang ingin dicapai.

2.

Dalam langkah-langkah membuat algoritma, manakah urutan yang paling tepat?

a)

Dalam langkah-langkah membuat algoritma, manakah urutan yang paling tepat?

b)

Mendefinisikan masalah, analisis masalah, membangun algoritma level tinggi, menambahkan detail, dan memeriksa algoritma.

c)

Algoritma harus selalu ditulis dalam kode Python sejak awal.

d)

Membangun algoritma level tinggi adalah langkah pertama, diikuti dengan mendefinisikan masalah.

3.

Apa dua bagian utama dari fungsi rekursif dan bagaimana perannya?

a)

Base Case adalah langkah di mana fungsi memanggil dirinya sendiri, sementara Recursive Step adalah kondisi berhenti.

b)

Base Case adalah kondisi berhenti yang mencegah rekursi tak terbatas, dan Recursive Step adalah langkah fungsi memanggil dirinya sendiri sambil mendekati Base Case.

c)

Kedua bagian (Base Case dan Recursive Step) selalu terjadi secara bersamaan dalam setiap panggilan rekursif.

d)

Rekursi hanya melibatkan fungsi yang memanggil dirinya sendiri tanpa kondisi berhenti.

4.

Bagaimana analogi 'Dua Cermin Berhadapan' berhubungan dengan konsep rekursi?

a)

Analogi ini hanya relevan untuk Base Case saja.

b)

Analogi ini hanya relevan untuk Base Case saja.

c)

Cermin berhadapan menunjukkan bahwa setiap masalah rekursif hanya memiliki satu pantulan.

d)

Analogi cermin berhadapan merepresentasikan Base Case (kondisi berhenti) dan Recursive Step (langkah rekursif yang mendekati base case).

5.

Apa yang diilustrasikan oleh analogi 'Boneka Matryoshka' dalam konteks rekursi?

a)

Boneka Matryoshka mewakili struktur linear dari suatu algoritma.

b)

Boneka Matryoshka menunjukkan bahwa setiap boneka adalah masalah yang unik dan tidak terkait.

c)

Analogi ini hanya berlaku jika tidak ada boneka yang dapat dibuka lagi.

d)

Boneka Matryoshka adalah analogi yang menunjukkan struktur rekursif dengan 'masalah' yang lebih kecil di dalam 'masalah' yang lebih besar.

6.

Bagaimana analogi 'Tugas Berantai' merepresentasikan konsep rekursi?

a)

Tugas berantai hanya relevan untuk algoritma iteratif, bukan rekursif.

b)

Analogi tugas berantai berarti setiap orang harus menyelesaikan seluruh tugas dari awal.

c)

Analogi tugas berantai berarti setiap orang harus menyelesaikan seluruh tugas dari awal.

d)

Setiap orang dalam rantai harus mampu menyelesaikan semua tingkat kesulitan tugas.

7.

Mengapa masalah Faktorial sering digunakan sebagai contoh klasik rekursi?

a)

Faktorial adalah salah satu contoh masalah klasik yang secara intuitif dapat dipecahkan menggunakan pendekatan rekursif.

b)

Faktorial adalah masalah yang tidak memiliki Base Case.

c)

Faktorial adalah contoh masalah yang selalu diselesaikan dengan iterasi, bukan rekursi.

d)

Menghitung faktorial hanya bisa dilakukan dengan fungsi non-rekursif.

8.

Apa yang membuat Deret Fibonacci menjadi contoh klasik masalah rekursif?

a)

Setiap angka dalam Deret Fibonacci adalah hasil perkalian dua angka sebelumnya, membuatnya rekursif.

b)

Deret Fibonacci adalah masalah yang hanya dapat diselesaikan dengan iterasi.

c)

Deret Fibonacci hanya memiliki satu Base Case.

d)

Deret Fibonacci adalah contoh masalah klasik yang secara intuitif rekursif karena setiap bilangan adalah jumlah dari dua bilangan sebelumnya.

9.

Dalam kode Python faktorial(n) yang diberikan, bagian manakah yang merupakan Base Case?

a)

Baris if n == 0 or n == 1: adalah Recursive Step.

b)

Bagian Base Case hanya berlaku jika nilai n lebih besar dari 1.

c)

Baris return 1 adalah bagian dari Recursive Step.

d)

Baris if n == 0 or n == 1: return 1 adalah Base Case.

10.

Dalam kode Python faktorial(n) yang diberikan, bagian manakah yang merupakan Recursive Step?

a)

Recursive Step hanya bekerja jika n adalah 0 atau 1.

b)

Baris else: menunjukkan bahwa tidak ada Recursive Step yang terjadi.

c)

Baris return n * factorial(n-1) adalah Recursive Step.

d)

Baris return n * factorial(n-1) adalah Base Case.

11.

Apa prinsip utama dari Algoritma Greedy?

a)

Menganalisis semua kemungkinan solusi sebelum membuat satu keputusan.

b)

Membuat pilihan yang paling menguntungkan di setiap langkah, tanpa mempertimbangkan konsekuensi di masa depan.

c)

Membuat keputusan berdasarkan hasil yang paling optimal untuk jangka panjang saja.

d)

Membuat keputusan secara acak untuk menghindari bias.

12.

Algoritma Greedy sering kali disebut sebagai algoritma yang 'tamak' atau 'serakah' karena...

a)

Selalu mencari solusi yang paling rumit dan memakan banyak waktu.

b)

Membuat pilihan yang terlihat paling menguntungkan pada saat itu juga.

c)

Menggunakan semua sumber daya yang ada tanpa batas.

d)

Membutuhkan banyak sumber daya komputasi untuk berjalan.

13.

Salah satu kelemahan utama dari Algoritma Greedy adalah...

a)

Membutuhkan pemahaman mendalam tentang matematika yang rumit.

b)

Tidak bisa diimplementasikan dalam bahasa pemrograman apa pun.

c)

Tidak efisien dan lambat untuk masalah besar.

d)

Tidak selalu menjamin solusi global yang optimal.

14.

Dalam masalah kembalian uang dengan koin pecahan standar (misalnya Rp100, Rp200, Rp500), Algoritma Greedy selalu memberikan solusi yang optimal. Mengapa hal ini terjadi?

a)

Karena masalah kembalian uang adalah masalah yang paling sederhana di dunia Informatika.

b)

Karena Algoritma Greedy memiliki properti 'greedy choice property' untuk masalah ini.

c)

Karena Algoritma Greedy selalu memilih koin dengan nilai paling kecil terlebih dahulu.

d)

Karena semua Algoritma Greedy selalu optimal untuk masalah apa pun.

15.

Ali harus memberikan kembalian sebesar Rp3.600 dengan pecahan uang Rp2.000, Rp1.000, Rp500, Rp200, dan Rp100. Jika ia menggunakan Algoritma Greedy, berapa total lembar atau keping uang yang akan ia gunakan?

a)

4 lembar/keping

b)

6 lembar/keping

c)

3 lembar/keping

d)

5 lembar/keping

16.

Masalah penjadwalan aktivitas, di mana kita ingin menjadwalkan sebanyak mungkin aktivitas dalam satu periode waktu, adalah contoh masalah yang cocok diselesaikan dengan Algoritma Greedy. Pilihan 'lokal' yang optimal dalam kasus ini adalah...

a)

Memilih aktivitas dengan waktu selesai paling awal.

b)

Memilih aktivitas dengan durasi terpendek terlebih dahulu.

c)

Memilih aktivitas dengan waktu mulai paling awal.

d)

Memilih aktivitas dengan keuntungan finansial terbesar.

17.

Manakah dari pernyataan berikut yang paling tepat menggambarkan karakteristik 'pilihan lokal optimal' dalam Algoritma Greedy?

a)

Keputusan yang paling menguntungkan pada langkah saat ini.

b)

Keputusan yang diambil secara acak untuk menghindari bias.

c)

Keputusan yang diambil setelah meninjau semua opsi yang tersedia.

d)

Keputusan yang dibuat dengan mempertimbangkan dampak jangka panjang pada solusi akhir.

18.

Dalam konteks masalah 'Knapsack' (mengisi ransel dengan barang berharga), jika kita menggunakan Algoritma Greedy berdasarkan rasio nilai/berat tertinggi, apa yang akan menjadi langkah pertama?

a)

Memasukkan barang dengan berat paling ringan.

b)

Memasukkan barang dengan rasio nilai/berat tertinggi.

c)

Memasukkan barang dengan nilai tertinggi.

d)

Memasukkan barang dengan nilai terendah.

19.

Algoritma Greedy sering digunakan dalam algoritma Minimum Spanning Tree (MST) seperti Algoritma Prim atau Kruskal. Pilihan 'lokal' yang dibuat oleh algoritma ini adalah...

a)

Memilih jalur dengan bobot terkecil yang menghubungkan dua simpul yang belum terhubung.

b)

Selalu memilih jalur dengan bobot terbesar.

c)

Memilih jalur yang paling dekat dengan titik awal.

d)

Memilih jalur secara acak hingga semua simpul terhubung.

20.

Jika sebuah masalah memiliki properti 'optimal substructure' dan 'greedy choice property', maka dapat dipastikan bahwa...

a)

Algoritma Greedy tidak akan bisa menyelesaikannya.

b)

Algoritma Greedy dijamin akan menghasilkan solusi yang optimal.

c)

Solusi yang ditemukan akan menjadi solusi terburuk yang mungkin.

d)

Hanya pendekatan Brute Force yang dapat digunakan untuk menyelesaikannya.