wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

KELAS XI BAB 2 STRATEGI ALGORITMIK DAN PEMROGRAMAN

Total questions: 50

Worksheet time: 25mins

Name
Class
Date
1.

Seorang siswa ingin membuat program kasir otomatis untuk kantin sekolah. Apa langkah pertama yang harus dilakukan sebelum menulis kode program?

a)

Tentukan algoritma atau langkah-langkah untuk menyelesaikan masalah

b)

Langsung menulis program di IDE

c)

Tentukan warna antarmuka

d)

Uji program dengan data acak

e)

Publikasikan program di internet

2.

Ketika merancang algoritma untuk menghitung diskon belanja, mengapa penting untuk menentukan input dan output dari awal?

a)

Agar proses pemrograman menjadi lebih terarah dan efisien

b)

Karena antarmuka program harus menarik

c)

Agar program dapat berjalan tanpa compiler

d)

Agar file program lebih ringan

e)

Karena itu adalah persyaratan untuk menerbitkan di toko aplikasi

3.

Dalam proses pemecahan masalah, tahap 'analisis masalah' dalam algoritma berfungsi untuk...

a)

Identifikasi data, proses, dan hasil yang diinginkan

b)

Tulis kode program secara langsung

c)

Tentukan warna antarmuka

d)

Uji hasil dengan debugger

e)

Buat file instalasi untuk program

4.

Seorang siswa membuat algoritma dengan struktur: Mulai → Input nilai → Proses → Output hasil → Selesai. Struktur algoritma ini disebut...

a)

Alur algoritma dasar

b)

Diagram kontrol

5.

Ketika membuat program penghitung rata-rata nilai siswa, langkah paling efisien untuk mengulang proses input adalah menggunakan...

a)

Perulangan (looping)

b)

Percabangan (if-else)

c)

Variabel tunggal

d)

Komentar kode

e)

Array tunggal

6.

Dalam membuat algoritma permainan tebak angka, program harus berhenti ketika tebakan benar. Kondisi ini disebut...

a)

Syarat berhenti (terminating condition)

b)

Variabel acak

c)

Fungsi pembanding

d)

Operator logika

e)

Iterasi tak terbatas

7.

Jika dalam program terdapat banyak perintah bersyarat, maka strategi algoritmik yang tepat digunakan adalah...

a)

Struktur seleksi majemuk

b)

Struktur perulangan tunggal

c)

Struktur linier sederhana

d)

Struktur array

e)

Struktur input-output

8.

Dalam perancangan algoritma, simbol belah ketupat pada flowchart menandakan...

a)

Pengambilan keputusan (decision)

b)

Proses perhitungan

c)

Awal dan akhir program

d)

Input data

e)

Output data

9.

Suatu algoritma dikatakan efisien apabila...

a)

Menghasilkan solusi dengan waktu dan sumber daya minimal

b)

Ditulis dengan bahasa pemrograman yang populer

c)

Tampilan program menarik

d)

Mengandung banyak komentar

e)

Menggunakan variabel banyak

10.

Dalam konteks pemrograman berbasis masalah nyata, mengapa dokumentasi penting?

a)

A. Agar program mudah diperbaiki dan dikembangkan di masa depan

b)

B. Agar program tampil lebih indah

c)

C. Karena menjadi syarat ujian

d)

D. Supaya program berjalan cepat

e)

E. Untuk memperbanyak baris kode

11.

Sebuah tim membuat program penjadwalan pelajaran. Agar tidak terjadi bentrok waktu, mereka harus menerapkan logika...

a)

Percabangan bersarang

b)

Perulangan tak hingga

c)

Array dua dimensi

d)

Fungsi acak

e)

Struktur linear

12.

Pada algoritma “bubble sort”, strategi utama yang digunakan untuk mengurutkan data adalah...

a)

Membandingkan dan menukar elemen berdekatan

b)

Menyisipkan data baru ke posisi yang benar

c)

Membagi data menjadi dua bagian

d)

Menghapus data duplikat

e)

Mencari data maksimum

13.

Saat membuat program ATM simulasi, tahap validasi PIN termasuk dalam bagian...

a)

A. Percabangan logika

b)

B. Perulangan data

c)

C. Array multidimensi

d)

D. Tipe data numerik

e)

E. Struktur fungsi

14.

Dalam algoritma pencarian linear search, apa yang dilakukan program?

a)

Membandingkan setiap elemen sampai data ditemukan

b)

Membagi data menjadi dua bagian

c)

Mengurutkan data sebelum mencari

d)

Menyimpan hasil pencarian ke file

e)

Menampilkan semua data sekaligus

15.

Jika seorang programmer menggunakan fungsi rekursif untuk menghitung faktorial, maka strategi algoritmik yang digunakan adalah...

a)

Pemanggilan diri sendiri (recursive)

b)

Iterasi for-loop

c)

Seleksi majemuk

d)

Algoritma greedy

e)

Algoritma divide and merge

16.

Sebuah toko ingin membuat sistem stok otomatis. Untuk menambahkan item baru, program harus menggunakan...

a)

Struktur data Array

b)

Operator aritmatika

c)

Tipe data Boolean

d)

Loop tak terbatas

e)

Struktur input tunggal

17.

Kenapa penggunaan fungsi penting dalam membuat program besar?

a)

Membagi program menjadi bagian-bagian kecil yang dapat dikelola

b)

Untuk membuat program lebih lambat

c)

Untuk meningkatkan jumlah baris kode

d)

Untuk membuat tampilan lebih indah

e)

Karena tidak ada cara lain

18.

Dalam pemrograman, istilah debugging berarti...

a)

Mencari dan memperbaiki kesalahan dalam kode

b)

Menambahkan fitur baru

c)

Menulis komentar

d)

Menghapus file

e)

Membuat algoritma awal

19.

Jika sebuah algoritma berjalan selamanya tanpa berhenti, itu berarti bahwa...

a)

A. Loop tak terbatas

b)

B. Iterasi logis

c)

C. Kesalahan sintaks

d)

D. Proses rekursi yang benar

e)

E. Struktur percabangan

20.

Dalam pengembangan aplikasi bank mini, input saldo awal termasuk ke dalam...

a)

Data masukan (input)

b)

Data keluaran

c)

Proses logika

d)

Fungsi tambahan

e)

Output visual

21.

Untuk menghindari duplikasi kode, seorang programmer sebaiknya menggunakan...

a)

Fungsi atau prosedur

b)

Komentar

c)

Percabangan

d)

Perulangan tunggal

e)

Array

22.

Ketika memecahkan masalah kompleks seperti “rencana rute tercepat”, pendekatan algoritmik yang tepat adalah...

a)

Algoritma greedy

b)

Algoritma bubble sort

c)

Algoritma linear search

d)

Algoritma brute force

e)

Algoritma stack

23.

Jika program dapat menyelesaikan masalah dalam waktu singkat meskipun data besar, maka algoritma tersebut...

a)

Memiliki kompleksitas waktu yang efisien

b)

Menggunakan banyak variabel

c)

Tidak menggunakan logika

24.

Dalam membuat algoritma login pengguna, langkah yang benar setelah input username dan password adalah...

a)

Mengecek kecocokan dengan data yang tersimpan

b)

Menampilkan halaman utama langsung

c)

Menutup program

d)

Menghapus database

e)

Menambah pengguna baru

25.

Dalam pemrograman, operator '==' digunakan untuk...

a)

Membandingkan dua nilai

b)

Mengisi nilai variabel

c)

Menghapus data

d)

Menggabungkan string

e)

Menambah bilangan

26.

Ketika ingin membuat sistem antrian otomatis, struktur data yang paling tepat adalah...

a)

Queue (antrian)

b)

Stack

c)

Array

d)

Linked list

e)

Tree

27.

Strategi algoritmik 'Divide and Conquer' digunakan ketika...

a)

Masalah besar dipecah menjadi bagian kecil yang mudah diselesaikan

b)

Masalah kecil disatukan menjadi besar

28.

Dalam program penggajian, total gaji karyawan dihitung dari jam kerja dan tarif per jam. Langkah algoritmiknya termasuk...

a)

Proses perhitungan (processing)

b)

Input data

c)

Output hasil

d)

Validasi data

e)

Loop data

29.

Dalam algoritma yang mengatur lalu lintas kendaraan di persimpangan, penggunaan sensor untuk membaca kendaraan termasuk tahap...

a)

Input

b)

Proses

c)

Output

d)

Evaluasi

e)

Debugging

30.

Mengapa algoritma harus memiliki akhir yang jelas?

a)

Agar program tidak berjalan tanpa henti

b)

Supaya lebih menarik

c)

Karena semua program harus rumit

d)

Agar tampilan indah

e)

Untuk memperbanyak langkah

31.

Seorang siswa membuat program presensi otomatis. Bagian yang mendeteksi wajah siswa termasuk tahap...

a)

Input data visual

b)

Output hasil

c)

Debugging

d)

Iterasi

e)

Sorting

32.

Untuk menyimpan nilai-nilai ujian banyak siswa, tipe struktur data yang cocok adalah...

a)

Array

b)

Integer

c)

String

d)

Boolean

e)

Character

33.

Dalam permainan ular tangga digital, algoritma yang menentukan posisi setelah melempar dadu termasuk...

a)

Logika perhitungan acak

b)

Pencarian data

c)

Sorting

d)

Validasi

e)

Debugging

34.

Suatu program gagal karena tanda kurung tidak cocok. Masalah ini termasuk...

a)

Error sintaksis

b)

Error logika

c)

Error runtime

d)

Infinite loop

e)

Exception

35.

Jika sebuah algoritma terlalu panjang dan rumit, langkah terbaik untuk menyederhanakannya adalah...

a)

Memecahnya menjadi fungsi-fungsi kecil

b)

Menulis ulang tanpa komentar

c)

Menghapus sebagian baris

d)

Mengganti bahasa pemrograman

e)

Menambah variabel

36.

Dalam game berbasis skor, penentuan “pemenang tertinggi” bisa diselesaikan dengan algoritma...

(a)  

37.

Jika hasil keluaran program tidak sesuai dengan harapan meskipun tanpa error, berarti terjadi...

a)

Kesalahan logika

b)

Error sintaks

c)

Error compiler

d)

Exception runtime

e)

Input invalid

38.

Ketika siswa membuat flowchart dan lupa menutup panah dari satu proses ke proses berikutnya, akibatnya...

a)

Alur algoritma tidak jelas

b)

Program tetap berjalan

c)

Hanya tampilan berubah

d)

Debugging otomatis

e)

Output ganda

39.

Dalam algoritma, tanda panah digunakan untuk menunjukkan...

a)

Arah aliran kontrol program

b)

Input data

c)

Hasil keluaran

d)

Penanda akhir

e)

Kondisi logika

40.

Strategi algoritmik “Brute Force” berarti...

a)

Mencoba semua kemungkinan hingga menemukan solusi

b)

Mengabaikan sebagian data

c)

Menggunakan data acak

d)

Mengambil solusi cepat

e)

Menggunakan fungsi logika

41.

Jika siswa ingin membuat algoritma pemesanan tiket online, maka logika pemilihan kursi penumpang menggunakan struktur...

a)

Seleksi majemuk

b)

Perulangan for

c)

Array

42.

Dalam strategi algoritmik, istilah “optimasi” berarti…

a)

Meningkatkan efisiensi waktu dan ruang

b)

Mengubah bahasa pemrograman

c)

Menambah fitur visual

d)

Menulis komentar tambahan

e)

Membuat loop panjang

43.

Seorang siswa membuat algoritma konversi suhu. Jika suhu > 37 maka tampil “demam”. Logika tersebut termasuk…

a)

Percabangan if-else

b)

Perulangan while

c)

Array

d)

Stack

e)

Input output

44.

Dalam program perpustakaan digital, pencarian buku berdasarkan judul termasuk algoritma…

a)

Search

b)

Sort

c)

Loop

d)

Queue

e)

Stack

45.

Jika ingin menampilkan 10 data berturut-turut dari 1 sampai 10, struktur yang tepat digunakan adalah…

a)

Perulangan for

b)

Percabangan

c)

Fungsi

d)

Array

e)

Queue

46.

Ketika program dijalankan dan menampilkan hasil yang tidak logis, tindakan pertama yang sebaiknya dilakukan adalah…

a)

Debugging dan analisis logika

b)

Menghapus kode

c)

Mengganti compiler

d)

Menambah baris komentar

e)

Mematikan komputer

47.

Algoritma yang efisien tidak hanya cepat tetapi juga...

a)

Menggunakan sedikit memori

b)

Tampilan menarik

c)

Banyak variabel

d)

Banyak loop

e)

Panjang

48.

Dalam algoritma pemilihan ketua OSIS berdasarkan suara terbanyak, strategi yang digunakan adalah..

a)

Pencarian maksimum

b)

Pencarian minimum

c)

Sorting

d)

Queue

e)

Stack

49.

Program yang menghitung jumlah bilangan ganjil antara 1–100 memerlukan struktur...

a)

Loop dan kondisi

b)

Input manual

c)

Fungsi acak

d)

Array tunggal

e)

Queue

50.

Dalam strategi algoritmik modern, pentingnya pseudocode adalah...

a)

Menyusun logika sebelum menulis program

b)

Menambah fitur visual

c)

Mempercepat compiler

d)

Mengurangi ukuran file

e)

Menghapus bug