wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Quiz Struktur Data dan Algoritma

Total questions: 50

Worksheet time: 2hrs 40mins

Name
Class
Date
1.

Apa yang dimaksud dengan struktur data?

a)

Cara menyimpan dan mengatur data

b)

Bahasa pemrograman

c)

Perangkat keras

d)

Protokol jaringan

e)

Algoritma sorting

2.

Struktur data yang menggunakan prinsip FIFO adalah?

a)

Array

b)

Stack

c)

Queue

d)

Linked List

e)

Tree

3.

Apa langkah pertama dalam berpikir komputasional?

a)

Decomposition

b)

Pattern Recognition

c)

Abstraction

d)

Algorithm Design

e)

Debugging

4.

Apa tujuan dari abstraction dalam berpikir komputasional?

a)

Mencari pola

b)

Menghapus detail tidak relevan

c)

Membagi masalah kecil

d)

Mendesain algoritma

e)

Melakukan debugging

5.

Contoh decomposition dalam kehidupan sehari-hari?

a)

Mencari rute tercepat

b)

Memasak dengan resep langkah demi langkah

c)

Menyaring data tidak relevan

d)

Mencari pola belanja

e)

Menggunakan GPS

6.

Strategi algoritmik Greedy mengambil keputusan berdasarkan?

a)

Solusi optimal keseluruhan

b)

Pilihan terbaik lokal

c)

Percobaan semua kemungkinan

d)

Pemecahan bertahap

e)

Pencarian mundur

7.

Divide and Conquer membagi masalah menjadi?

a)

Masalah yang lebih besar

b)

Masalah independen kecil

c)

Masalah tidak terstruktur

d)

Solusi heuristik

e)

Data acak

8.

Fungsi append() pada list digunakan untuk…

a)

Menghapus elemen di akhir

b)

Menambahkan elemen di akhir

c)

Menyisipkan elemen di awal

d)

Mengurutkan list

e)

Membalikkan list

9.

from collections import deque digunakan untuk…

a)

Membuat array statis

b)

Membuat antrian ganda efisien

c)

Membuat dictionary

d)

Membuat tuple tak berubah

e)

Membuat set unik

10.

Jika q = deque([1,2,3]), perintah q.popleft() akan…

a)

Menghapus angka 3

b)

Menambahkan angka 0

c)

Menghapus angka 1

d)

Menghapus angka 2

e)

Mengosongkan deque

11.

Struktur data stack menggunakan prinsip…

a)

FIFO

b)

LIFO

c)

Random Access

d)

Hashing

e)

Sorting otomatis

12.

Perintah pop() pada list tanpa argumen menghapus…

a)

Elemen awal

b)

Elemen tengah

c)

Elemen akhir

d)

Semua elemen

e)

Elemen yang diinginkan user

13.

Simbol f pada print(f"Halo {nama}") artinya…

a)

Fungsi format

b)

Fungsi float

c)

Fungsi fast print

d)

Fungsi find

e)

Fungsi file

14.

Jika stack = [1,2,3], setelah stack.append(4); stack.pop(), isi stack adalah…

a)

[1,2,3,4]

b)

[1,2,3]

c)

[4]

d)

[1,2]

e)

[]

15.

Queue lebih efisien dengan deque dibanding list karena…

a)

deque lebih mudah diurutkan

b)

deque dapat diakses langsung dengan indeks

c)

operasi tambah/hapus di kiri-kanan lebih cepat

d)

deque menggunakan pointer ganda

e)

deque otomatis membalik urutan

16.

Untuk mengambil elemen paling kanan dari deque digunakan…

a)

pop()

b)

popleft()

c)

right()

d)

popright()

e)

get()

17.

Jika q = deque(['A','B','C','D','E']), lalu del q[2], maka hasilnya…

a)

deque(['A','B','D','E'])

b)

deque(['A','C','D','E'])

c)

deque(['A','B','C'])

d)

deque(['A','D','E'])

e)

deque(['A','B','E'])

18.

Struktur data apa yang paling tepat untuk undo/redo pada editor teks?

a)

Queue

b)

Stack

c)

Graph

d)

Array

e)

Set

19.

Untuk membuat program antrian kasir yang efisien di Python, kita gunakan…

a)

List dan pop(0)

b)

List dan append()

c)

Deque dan popleft()

d)

Tuple dan append()

e)

Set dan add()

20.

Berpikir komputasional adalah …

a)

Cara berpikir yang hanya digunakan untuk membuat program komputer

b)

Cara berpikir yang meniru cara kerja otak manusia

c)

Cara berpikir untuk memecahkan masalah secara sistematis menggunakan konsep ilmu komputer

d)

Cara berpikir untuk menghafalkan algoritma

e)

Cara berpikir untuk menggunakan kalkulator

21.

Manakah langkah pertama dalam berpikir komputasional?

a)

Membuat kode program langsung

b)

Menyusun pseudocode

c)

Memahami dan mendefinisikan masalah

d)

Menguji solusi dengan komputer

e)

Menyalin algoritma orang lain

22.

Decomposition dalam berpikir komputasional berarti …

a)

Menghapus bagian masalah yang tidak penting

b)

Memecah masalah besar menjadi bagian-bagian kecil

c)

Menggabungkan beberapa solusi menjadi satu

d)

Membuat solusi seefisien mungkin

e)

Menggunakan bahasa pemrograman tingkat rendah

23.

Apa tujuan abstraksi dalam berpikir komputasional?

a)

Membuat program menjadi lebih panjang

b)

Memperumit masalah agar menantang

c)

Mengabaikan detail yang tidak relevan dan fokus pada hal penting

d)

Menggunakan bahasa pemrograman abstrak

e)

Menghapus seluruh informasi masalah

24.

Manakah contoh pattern recognition?

a)

Memecah langkah resep memasak menjadi urutan

b)

Menemukan kesamaan antara pola pertumbuhan tanaman untuk membuat prediksi

c)

Membuat flowchart dari masalah

d)

Menulis kode program dari algoritma

e)

Menentukan data apa yang harus disimpan

25.

Jika kita ingin membuat aplikasi yang bisa merekomendasikan lagu berdasarkan selera musik pengguna, langkah berpikir komputasional yang paling dominan adalah …

a)

Decomposition dan abstraction

b)

Pattern recognition dan algorithm design

c)

Hanya debugging saja

d)

Menyalin kode aplikasi musik lain

e)

Menggunakan kalkulator untuk memilih lagu

26.

Dalam berpikir komputasional, debugging dilakukan ketika …

a)

Algoritma sudah optimal dan tidak perlu diperbaiki

b)

Program mengalami kesalahan atau hasilnya tidak sesuai

c)

Kita sedang mendesain algoritma awal

d)

Masalah sudah dipecahkan tanpa kesalahan

e)

Hanya jika program menggunakan Python

27.

Seorang siswa memecah masalah "merencanakan perjalanan sekolah" menjadi: menentukan tujuan, menghitung biaya, menentukan transportasi, dan membuat jadwal. Langkah ini adalah contoh dari …

a)

Pattern recognition

b)

Abstraction

c)

Decomposition

d)

Debugging

e)

Algorithm design

28.

Jika kamu ingin mengajarkan komputer untuk mengenali wajah teman-teman di kelas, langkah berpikir komputasional yang paling penting untuk memulai adalah …

a)

Decomposition masalah menjadi proses pengenalan fitur wajah

b)

Menghafalkan kode program Python

c)

Membuat flowchart tanpa melihat data

d)

Menyalin algoritma dari Google

e)

Menggunakan kalkulator untuk hitung jarak piksel

29.

Struktur data apa yang menyimpan elemen secara berurutan menggunakan indeks?

a)

Graph

b)

Stack

c)

Array

d)

Queue

e)

Tree

30.

Struktur data mana yang memiliki prinsip FIFO (First In, First Out)?

a)

Stack

b)

Array

c)

Queue

d)

Tree

e)

List

31.

Jika sebuah stack berisi [A, B, C] (A di bawah, C di atas) lalu dilakukan operasi pop, elemen mana yang diambil?

a)

A

b)

B

c)

C

d)

Semua dihapus

e)

Tidak ada

32.

Apa fungsi deque dalam Python?

a)

Menyimpan data dalam bentuk tabel

b)

Struktur data double-ended queue

c)

Mengurutkan data secara otomatis

d)

Menghapus semua data dalam list

e)

Menyimpan data unik saja

33.

Manakah kode Python yang benar untuk menghapus elemen pertama dari deque bernama antrian?

a)

antrian.pop()

b)

antrian.popleft()

c)

antrian.remove(0)

d)

del antrian[0]

e)

antrian.clear()

34.

Jika graph = { "A": ["B","C"], "B": ["D"], "C": ["D"], "D": [] }, simpul yang tidak memiliki tetangga adalah:

a)

A

b)

B

c)

C

d)

D

e)

Semua memiliki tetangga

35.

Jika ingin mencari jalur terpendek antar simpul dalam graph, struktur data apa yang paling sering digunakan dalam algoritma BFS?

a)

Stack

b)

Queue

c)

Array

d)

Tree

e)

Linked List

36.

Struktur data apa yang paling tepat untuk menyimpan daftar nama siswa dalam urutan tetap?

a)

Stack

b)

Queue

c)

Array

d)

Graph

e)

Tree

37.

Struktur data apa yang paling tepat untuk menyimpan daftar nama siswa dalam urutan tetap?

a)

Stack

b)

Queue

c)

Array

d)

Graph

e)

Tree

38.

Perbedaan utama antara Stack dan Queue adalah:

a)

Stack bersifat LIFO, Queue bersifat FIFO

b)

Stack bersifat FIFO, Queue bersifat LIFO

c)

Stack selalu lebih cepat daripada Queue

d)

Queue hanya bisa menyimpan angka

e)

Stack tidak bisa menggunakan array

39.

Jika kita menggunakan deque dalam Python, operasi popleft() digunakan untuk:

a)

Menghapus elemen terakhir

b)

Menghapus elemen pertama

c)

Menambah elemen di akhir

d)

Menambah elemen di awal

e)

Membalikkan isi queue

40.

Seorang siswa ingin membuat program rute perjalanan antar kota. Struktur data apa yang paling sesuai untuk memodelkan hubungan antar kota dan jalannya?

a)

Queue

b)

Array

c)

Graph

d)

Stack

e)

Linked List

41.

Strategi algoritmik greedy memilih langkah berdasarkan …

a)

Mempertimbangkan semua kemungkinan hingga selesai

b)

Pilihan terbaik pada saat itu (lokal optimal)

c)

Menghitung semua jalur yang ada

d)

Menyimpan hasil perhitungan sebelumnya

e)

Mencoba semua solusi lalu memilih yang benar

42.

Backtracking cocok digunakan untuk masalah …

a)

Penjumlahan sederhana

b)

Pencarian jalur yang membutuhkan percobaan dan mundur jika salah

c)

Penukaran data dalam array

d)

Perhitungan rata-rata

e)

Menambahkan elemen ke dalam list

43.

Dynamic Programming (DP) digunakan untuk …

a)

Menyelesaikan masalah yang tidak memiliki submasalah

b)

Menghindari perhitungan berulang dengan menyimpan hasil sebelumnya

c)

Menghasilkan solusi acak

d)

Mempercepat sorting data secara manual

e)

Membuat algoritma selalu greedy

44.

Ciri khas divide and conquer adalah …

a)

Menyimpan hasil perhitungan sebelumnya

b)

Membagi masalah menjadi submasalah lalu menggabungkan hasilnya

c)

Selalu memilih langkah tercepat

d)

Mencoba semua kemungkinan solusi

e)

Menggunakan antrian untuk proses data

45.

Jika masalah memiliki banyak solusi dan perlu memilih yang terbaik dengan mengeksplorasi semua kemungkinan, algoritma yang tepat adalah …

a)

Greedy

b)

Backtracking

c)

Dynamic Programming

d)

Divide and Conquer

e)

Sequential Search

46.

Manakah pernyataan yang benar tentang perbedaan greedy dan dynamic programming?

a)

Greedy selalu memberikan solusi optimal untuk semua masalah

b)

Dynamic Programming selalu lebih cepat daripada Greedy

c)

Greedy tidak menyimpan hasil perhitungan, sedangkan DP menyimpannya

d)

DP hanya digunakan untuk sorting

e)

Keduanya tidak bisa digunakan pada masalah optimasi

47.

Seseorang membuat algoritma yang memecah masalah menjadi bagian kecil, menyelesaikan tiap bagian, lalu menggabungkannya. Ini adalah ciri …

a)

Greedy

b)

Divide and Conquer

c)

Dynamic Programming saja

d)

Backtracking

e)

Brute Force

48.

Perhatikan kasus berikut: "Anda ingin menemukan rute terpendek dari rumah ke sekolah dengan mempertimbangkan beberapa jalan alternatif dan kemungkinan macet." Algoritma yang paling tepat adalah …

a)

Greedy sederhana, selalu pilih jalan terpendek di tiap persimpangan

b)

Backtracking untuk mencoba semua rute dan mundur jika macet

c)

Dynamic Programming untuk menyimpan jarak terpendek ke tiap titik

d)

Sequential Search untuk memeriksa setiap jalan

e)

Bubble Sort untuk mengurutkan nama jalan

49.

Struktur data mana yang cocok untuk simulasi antrian pembelian tiket?

a)

Stack

b)

Queue

c)

Tree

d)

Graph

e)

Array

50.

Pernyataan yang benar tentang perbedaan greedy dan dynamic programming yaitu ....

a)

Greedy selalu memberikan solusi optimal untuk semua masalah

b)

Dynamic Programming selalu lebih cepat daripada Greedy

c)

Greedy tidak menyimpan hasil perhitungan, sedangkan DP menyimpannya

d)

Dynamic Programming hanya digunakan untuk sorting

e)

Keduanya tidak bisa digunakan pada masalah optimasi