WorksheetsQuiz Struktur Data dan Algoritma
Total questions: 50
Worksheet time: 2hrs 40mins
Apa yang dimaksud dengan struktur data?
Cara menyimpan dan mengatur data
Bahasa pemrograman
Perangkat keras
Protokol jaringan
Algoritma sorting
Struktur data yang menggunakan prinsip FIFO adalah?
Array
Stack
Queue
Linked List
Tree
Apa langkah pertama dalam berpikir komputasional?
Decomposition
Pattern Recognition
Abstraction
Algorithm Design
Debugging
Apa tujuan dari abstraction dalam berpikir komputasional?
Mencari pola
Menghapus detail tidak relevan
Membagi masalah kecil
Mendesain algoritma
Melakukan debugging
Contoh decomposition dalam kehidupan sehari-hari?
Mencari rute tercepat
Memasak dengan resep langkah demi langkah
Menyaring data tidak relevan
Mencari pola belanja
Menggunakan GPS
Strategi algoritmik Greedy mengambil keputusan berdasarkan?
Solusi optimal keseluruhan
Pilihan terbaik lokal
Percobaan semua kemungkinan
Pemecahan bertahap
Pencarian mundur
Divide and Conquer membagi masalah menjadi?
Masalah yang lebih besar
Masalah independen kecil
Masalah tidak terstruktur
Solusi heuristik
Data acak
Fungsi append() pada list digunakan untuk…
Menghapus elemen di akhir
Menambahkan elemen di akhir
Menyisipkan elemen di awal
Mengurutkan list
Membalikkan list
from collections import deque digunakan untuk…
Membuat array statis
Membuat antrian ganda efisien
Membuat dictionary
Membuat tuple tak berubah
Membuat set unik
Jika q = deque([1,2,3]), perintah q.popleft() akan…
Menghapus angka 3
Menambahkan angka 0
Menghapus angka 1
Menghapus angka 2
Mengosongkan deque
Struktur data stack menggunakan prinsip…
FIFO
LIFO
Random Access
Hashing
Sorting otomatis
Perintah pop() pada list tanpa argumen menghapus…
Elemen awal
Elemen tengah
Elemen akhir
Semua elemen
Elemen yang diinginkan user
Simbol f pada print(f"Halo {nama}") artinya…
Fungsi format
Fungsi float
Fungsi fast print
Fungsi find
Fungsi file
Jika stack = [1,2,3], setelah stack.append(4); stack.pop(), isi stack adalah…
[1,2,3,4]
[1,2,3]
[4]
[1,2]
[]
Queue lebih efisien dengan deque dibanding list karena…
deque lebih mudah diurutkan
deque dapat diakses langsung dengan indeks
operasi tambah/hapus di kiri-kanan lebih cepat
deque menggunakan pointer ganda
deque otomatis membalik urutan
Untuk mengambil elemen paling kanan dari deque digunakan…
pop()
popleft()
right()
popright()
get()
Jika q = deque(['A','B','C','D','E']), lalu del q[2], maka hasilnya…
deque(['A','B','D','E'])
deque(['A','C','D','E'])
deque(['A','B','C'])
deque(['A','D','E'])
deque(['A','B','E'])
Struktur data apa yang paling tepat untuk undo/redo pada editor teks?
Queue
Stack
Graph
Array
Set
Untuk membuat program antrian kasir yang efisien di Python, kita gunakan…
List dan pop(0)
List dan append()
Deque dan popleft()
Tuple dan append()
Set dan add()
Berpikir komputasional adalah …
Cara berpikir yang hanya digunakan untuk membuat program komputer
Cara berpikir yang meniru cara kerja otak manusia
Cara berpikir untuk memecahkan masalah secara sistematis menggunakan konsep ilmu komputer
Cara berpikir untuk menghafalkan algoritma
Cara berpikir untuk menggunakan kalkulator
Manakah langkah pertama dalam berpikir komputasional?
Membuat kode program langsung
Menyusun pseudocode
Memahami dan mendefinisikan masalah
Menguji solusi dengan komputer
Menyalin algoritma orang lain
Decomposition dalam berpikir komputasional berarti …
Menghapus bagian masalah yang tidak penting
Memecah masalah besar menjadi bagian-bagian kecil
Menggabungkan beberapa solusi menjadi satu
Membuat solusi seefisien mungkin
Menggunakan bahasa pemrograman tingkat rendah
Apa tujuan abstraksi dalam berpikir komputasional?
Membuat program menjadi lebih panjang
Memperumit masalah agar menantang
Mengabaikan detail yang tidak relevan dan fokus pada hal penting
Menggunakan bahasa pemrograman abstrak
Menghapus seluruh informasi masalah
Manakah contoh pattern recognition?
Memecah langkah resep memasak menjadi urutan
Menemukan kesamaan antara pola pertumbuhan tanaman untuk membuat prediksi
Membuat flowchart dari masalah
Menulis kode program dari algoritma
Menentukan data apa yang harus disimpan
Jika kita ingin membuat aplikasi yang bisa merekomendasikan lagu berdasarkan selera musik pengguna, langkah berpikir komputasional yang paling dominan adalah …
Decomposition dan abstraction
Pattern recognition dan algorithm design
Hanya debugging saja
Menyalin kode aplikasi musik lain
Menggunakan kalkulator untuk memilih lagu
Dalam berpikir komputasional, debugging dilakukan ketika …
Algoritma sudah optimal dan tidak perlu diperbaiki
Program mengalami kesalahan atau hasilnya tidak sesuai
Kita sedang mendesain algoritma awal
Masalah sudah dipecahkan tanpa kesalahan
Hanya jika program menggunakan Python
Seorang siswa memecah masalah "merencanakan perjalanan sekolah" menjadi: menentukan tujuan, menghitung biaya, menentukan transportasi, dan membuat jadwal. Langkah ini adalah contoh dari …
Pattern recognition
Abstraction
Decomposition
Debugging
Algorithm design
Jika kamu ingin mengajarkan komputer untuk mengenali wajah teman-teman di kelas, langkah berpikir komputasional yang paling penting untuk memulai adalah …
Decomposition masalah menjadi proses pengenalan fitur wajah
Menghafalkan kode program Python
Membuat flowchart tanpa melihat data
Menyalin algoritma dari Google
Menggunakan kalkulator untuk hitung jarak piksel
Struktur data apa yang menyimpan elemen secara berurutan menggunakan indeks?
Graph
Stack
Array
Queue
Tree
Struktur data mana yang memiliki prinsip FIFO (First In, First Out)?
Stack
Array
Queue
Tree
List
Jika sebuah stack berisi [A, B, C] (A di bawah, C di atas) lalu dilakukan operasi pop, elemen mana yang diambil?
A
B
C
Semua dihapus
Tidak ada
Apa fungsi deque dalam Python?
Menyimpan data dalam bentuk tabel
Struktur data double-ended queue
Mengurutkan data secara otomatis
Menghapus semua data dalam list
Menyimpan data unik saja
Manakah kode Python yang benar untuk menghapus elemen pertama dari deque bernama antrian?
antrian.pop()
antrian.popleft()
antrian.remove(0)
del antrian[0]
antrian.clear()
Jika graph = { "A": ["B","C"], "B": ["D"], "C": ["D"], "D": [] }, simpul yang tidak memiliki tetangga adalah:
A
B
C
D
Semua memiliki tetangga
Jika ingin mencari jalur terpendek antar simpul dalam graph, struktur data apa yang paling sering digunakan dalam algoritma BFS?
Stack
Queue
Array
Tree
Linked List
Struktur data apa yang paling tepat untuk menyimpan daftar nama siswa dalam urutan tetap?
Stack
Queue
Array
Graph
Tree
Struktur data apa yang paling tepat untuk menyimpan daftar nama siswa dalam urutan tetap?
Stack
Queue
Array
Graph
Tree
Perbedaan utama antara Stack dan Queue adalah:
Stack bersifat LIFO, Queue bersifat FIFO
Stack bersifat FIFO, Queue bersifat LIFO
Stack selalu lebih cepat daripada Queue
Queue hanya bisa menyimpan angka
Stack tidak bisa menggunakan array
Jika kita menggunakan deque dalam Python, operasi popleft() digunakan untuk:
Menghapus elemen terakhir
Menghapus elemen pertama
Menambah elemen di akhir
Menambah elemen di awal
Membalikkan isi queue
Seorang siswa ingin membuat program rute perjalanan antar kota. Struktur data apa yang paling sesuai untuk memodelkan hubungan antar kota dan jalannya?
Queue
Array
Graph
Stack
Linked List
Strategi algoritmik greedy memilih langkah berdasarkan …
Mempertimbangkan semua kemungkinan hingga selesai
Pilihan terbaik pada saat itu (lokal optimal)
Menghitung semua jalur yang ada
Menyimpan hasil perhitungan sebelumnya
Mencoba semua solusi lalu memilih yang benar
Backtracking cocok digunakan untuk masalah …
Penjumlahan sederhana
Pencarian jalur yang membutuhkan percobaan dan mundur jika salah
Penukaran data dalam array
Perhitungan rata-rata
Menambahkan elemen ke dalam list
Dynamic Programming (DP) digunakan untuk …
Menyelesaikan masalah yang tidak memiliki submasalah
Menghindari perhitungan berulang dengan menyimpan hasil sebelumnya
Menghasilkan solusi acak
Mempercepat sorting data secara manual
Membuat algoritma selalu greedy
Ciri khas divide and conquer adalah …
Menyimpan hasil perhitungan sebelumnya
Membagi masalah menjadi submasalah lalu menggabungkan hasilnya
Selalu memilih langkah tercepat
Mencoba semua kemungkinan solusi
Menggunakan antrian untuk proses data
Jika masalah memiliki banyak solusi dan perlu memilih yang terbaik dengan mengeksplorasi semua kemungkinan, algoritma yang tepat adalah …
Greedy
Backtracking
Dynamic Programming
Divide and Conquer
Sequential Search
Manakah pernyataan yang benar tentang perbedaan greedy dan dynamic programming?
Greedy selalu memberikan solusi optimal untuk semua masalah
Dynamic Programming selalu lebih cepat daripada Greedy
Greedy tidak menyimpan hasil perhitungan, sedangkan DP menyimpannya
DP hanya digunakan untuk sorting
Keduanya tidak bisa digunakan pada masalah optimasi
Seseorang membuat algoritma yang memecah masalah menjadi bagian kecil, menyelesaikan tiap bagian, lalu menggabungkannya. Ini adalah ciri …
Greedy
Divide and Conquer
Dynamic Programming saja
Backtracking
Brute Force
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 …
Greedy sederhana, selalu pilih jalan terpendek di tiap persimpangan
Backtracking untuk mencoba semua rute dan mundur jika macet
Dynamic Programming untuk menyimpan jarak terpendek ke tiap titik
Sequential Search untuk memeriksa setiap jalan
Bubble Sort untuk mengurutkan nama jalan
Struktur data mana yang cocok untuk simulasi antrian pembelian tiket?
Stack
Queue
Tree
Graph
Array
Pernyataan yang benar tentang perbedaan greedy dan dynamic programming yaitu ....
Greedy selalu memberikan solusi optimal untuk semua masalah
Dynamic Programming selalu lebih cepat daripada Greedy
Greedy tidak menyimpan hasil perhitungan, sedangkan DP menyimpannya
Dynamic Programming hanya digunakan untuk sorting
Keduanya tidak bisa digunakan pada masalah optimasi
