wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Quiz Pemrograman

Total questions: 50

Worksheet time: 25mins

Name
Class
Date
1.

Urutan tahap pemrograman yang benar adalah ...

a)

Coding – Testing – Analyzing – Designing

b)

Analyzing – Designing – Coding – Testing

c)

Designing – Coding – Testing – Analyzing

d)

Testing – Coding – Analyzing – Designing

e)

Analyzing – Coding – Designing – Testing

2.

“Problem statement” memuat ...

a)

Hanya keluaran program

b)

Masukan, keluaran, dan batasan masalah

c)

Flowchart algoritma

d)

Sintaks bahasa pemrograman

e)

Daftar pustaka

3.

Jika program perlu menunggu lama karena masukan besar, tahap perbaikan dilakukan pada ...

a)

Dokumentasi

b)

Analisis kebutuhan

c)

Evaluasi algoritma

d)

Kompilasi

e)

Penulisan komentar

4.

Pengujian menggunakan “test case” bertujuan ...

a)

Menentukan bahasa pemrograman

b)

Memastikan program memenuhi batasan semua input

c)

Menghemat memori

d)

Menghapus komentar berlebih

e)

Menentukan UI/UX

5.

Iterasi dalam siklus pemrograman menunjukkan ...

a)

Program selesai dalam satu kali eksekusi

b)

Perbaikan berulang sampai hasil sesuai

c)

Hanya dipakai di proyek besar

d)

Mengganti bahasa pemrograman

e)

Tidak butuh dokumentasi

6.

Dalam contoh program segitiga, syarat membentuk segitiga adalah ...

a)

a + b ≥ c

b)

a + b > c dan a + c > b dan b + c > a

c)

a + b < c

d)

a² + b² = c²

e)

a + b – c = 0

7.

Memilih bahasa pemrograman dilakukan pada tahap ...

a)

Analisis

b)

Desain

c)

Coding

d)

Testing

e)

Dokumentasi

8.

Dokumentasi program yang baik ...

a)

Wajib menuliskan setiap baris kode

b)

Hanya disimpan terpisah

c)

Memudahkan pemahaman dan pemeliharaan

d)

Mengurangi ukuran file

e)

Mengganti kebutuhan komentar

9.

Perbaikan program setelah uji menunjukkan konsep ...

a)

Debugging

b)

Deploying

c)

Encrypting

d)

Parsing

e)

Hosting

10.

Jika satu tahap siklus tidak benar, dampak utamanya adalah ...

a)

Tampilan lebih indah

b)

Program tetap berjalan normal

c)

Hasil akhir tidak sesuai kebutuhan

d)

Komentar jadi berlebihan

e)

File menjadi kecil

11.

Rekursi adalah ...

a)

Pengulangan menggunakan loop for

b)

Fungsi yang memanggil dirinya sendiri

c)

Array dua dimensi

d)

Penyimpanan variabel global

e)

Proses kompilasi

12.

Basis dalam fungsi rekursif berfungsi ...

a)

Mengulang tanpa henti

b)

Menentukan nilai awal penghentian

c)

Menambah memori

d)

Mengurutkan data

e)

Menggandakan fungsi

13.

Barisan Fibonacci didefinisikan ...

a)

an = an-1 – an-2

b)

an = an-1 + an-2

c)

an = 2*an-1

d)

an = an-1 / 2

e)

an = an-2 – 1

14.

Masalah faktorial cocok diselesaikan rekursi karena ...

a)

Tidak memerlukan basis

b)

Dapat dipecah menjadi submasalah lebih kecil

c)

Selalu menggunakan array

d)

Hanya bisa dengan bahasa C++

e)

Tidak memiliki batas input

15.

Jika basis tidak didefinisikan ...

a)

Fungsi berhenti normal

b)

Terjadi infinite recursion / stack overflow

c)

Program otomatis menambah basis

d)

Hasil selalu 0

e)

Tidak perlu kompilasi

16.

Rekursi alami di kehidupan nyata, kecuali ...

a)

Boneka Rusia bersarang

b)

Cabang pohon

c)

Loop for i=1 to n

d)

Pola fractal

e)

Lipatan DNA

17.

Memecah kardus besar ke kardus kecil menggambarkan ...

a)

Iterasi tak berhingga

b)

Dekomposisi masalah

c)

Optimasi greedy

d)

Pemrograman dinamis

e)

Kompilasi

18.

Menentukan suku ke-10 barisan a1=1, a_i = a_{i-1}+2 menghasilkan ...

a)

19

b)

20

c)

21

d)

18

19.

Menentukan suku ke-10 barisan a1=1, a_i = a_{i-1}+2 menghasilkan ...

a)

19

b)

20

c)

21

d)

18

e)

22

20.

Rekursi berguna terutama ketika ...

a)

Masalah dapat dipisah menjadi submasalah serupa

b)

Semua input berukuran tetap

c)

Memerlukan GUI

d)

Menghindari komentar

e)

Hanya ada satu langkah

21.

Kelemahan utama rekursi dibanding iterasi ...

a)

Tidak bisa dipakai di C

b)

Lebih boros memori tumpukan (stack)

c)

Tidak bisa menyelesaikan masalah matematis

d)

Selalu lambat

e)

Tidak bisa dipanggil dari main()

22.

Prinsip greedy adalah ...

a)

Menunda pilihan terbaik

b)

Memilih langkah terbaik lokal setiap saat

c)

Menghitung semua kemungkinan

d)

Rekursi terus menerus

e)

Menggunakan tabel DP

23.

Kasus Budi membawa 4 kantong ikan: langkah awal ...

a)

Acak kantong

b)

Urutkan kantong dari jumlah ikan terbesar

c)

Hitung faktorial ikan

d)

Gunakan pemrograman dinamis

e)

Bagi rata ikan

24.

Jika tujuan “meminimalkan jumlah kantong” maka ...

a)

Pilih kantong terkecil

b)

Pilih kantong dengan ikan terbanyak

c)

Buang semua kantong

d)

Gunakan loop rekursif

e)

Pilih kantong acak

25.

Algoritma greedy tidak optimal bila ...

a)

Semua langkah independen

b)

Pilihan lokal memengaruhi pilihan global

c)

Data telah diurutkan

d)

Tujuan tunggal

e)

Masukan kecil

26.

Contoh kehidupan sehari-hari yang cocok greedy ...

a)

Memasak dengan resep

b)

Pemilihan koin kembalian (pecahan rupiah normal)

c)

Menulis esai

d)

Mendesain GUI

e)

Membuat string palindrome

27.

Pada kasus koin 1000,7000,10000 untuk 15000 rupiah, greedy memilih ...

a)

10.000 + 5.000 (tidak tersedia)

b)

10.000 + 1.000*5

c)

10.000 + 7.000 (gagal)

d)

7.000 + 7.000 + 1.000

e)

15 koin seribu

28.

Pertunjukan hewan maksimal dilihat Dina memerlukan ...

a)

Sorting jadwal berdasar waktu selesai

b)

Pengurutan acak

c)

Rekursi tak terbatas

d)

Binary search

e)

Hashing

29.

Tujuan akhir algoritma greedy adalah ...

a)

Mendapat solusi global optimal melalui pilihan lokal

b)

Memecah masalah ke submasalah overlap

c)

Menentukan basis rekursif

d)

Menulis komentar kode

e)

Mengurangi ukuran file

30.

Kekurangan utama greedy dibanding DP ...

a)

Memerlukan lebih banyak memori

b)

Tidak selalu memberi solusi optimal

c)

Lebih lambat

d)

Tidak bisa diimplementasi dalam C

e)

Wajib rekursi

31.

Pemrograman dinamis menekankan ...

a)

Solusi submasalah tumpang tindih dan memorisasi

b)

Memilih langkah lokal terbaik

c)

Mengabaikan subproblem

d)

Penggunaan GUI

e)

Sorting saja

32.

Perbedaan DP dan greedy:

a)

DP lebih cepat

b)

Greedy tak butuh memori

c)

DP menghitung semua kombinasi subproblem

d)

Greedy wajib rekursi

e)

DP tidak bisa optimasi

33.

Memoisasi berarti ...

a)

Menghafal algoritma

b)

Menyimpan hasil subproblem agar tidak dihitung ulang

c)

Menyimpan file program di cloud

d)

Mengurutkan data

e)

Mengompresi memori

34.

Contoh panen cabai Agria menunjukkan bahwa ...

a)

Greedy selalu optimal

b)

Jalur maksimal memerlukan DP

c)

Rekursi tidak berguna

d)

Array tak diperlukan

e)

Testing ti

35.

Permainan angka Ani–Budi termasuk DP karena ...

a)

Pilihan terbaik tergantung hasil sebelumnya

b)

Hanya perlu greedy

c)

Tidak ada subproblem

d)

Tidak bisa dipecah

e)

Hanya iterasi sederhana

36.

Keuntungan DP dibanding brute force ...

a)

Lebih lambat

b)

Mengulang perhitungan sama

c)

Menghindari perhitungan berulang

d)

Selalu butuh array dua dimensi

e)

Tidak fleksibel

37.

Jika tabel memoisasi tidak dibuat ...

a)

Solusi tetap sama dan efisien

b)

Perhitungan berulang menyebabkan kompleksitas tinggi

c)

Program tidak bisa dikompilasi

d)

Basis hilang

e)

Greedy otomatis dipakai

38.

Syarat masalah cocok DP ...

a)

Tidak memiliki submasalah overlap

b)

Memiliki struktur optimal dan overlap

c)

Input sangat kecil

d)

Tidak memerlukan optimasi

e)

Jawaban tunggal trivial

39.

Strategi DP panen cabai: nilai tiap kotak = ...

a)

Jumlah semua baris

b)

max(atas,kiri)+nilai sekarang

c)

min(atas,kiri)+nilai sekarang

d)

nilai kotak sebelumnya saja

e)

rerata kiri-kanan

40.

Dalam kasus koin tidak “greedy-friendly”, DP digunakan untuk ...

a)

Mengurangi basis rekursif

b)

Menemukan kombinasi minimum koin

c)

Mengurutkan pecahan

d)

Menambah komentar

e)

Menentukan warna uang

41.

Larik (array) adalah ...

a)

Variabel tunggal

b)

Kumpulan data sejenis di bawah satu nama dengan indeks

c)

File eksternal

d)

Fungsi rekursif

e)

Algoritma sorting

42.

Keuntungan larik dibanding variabel tunggal ...

a)

Lebih boros memori

b)

Menyimpan banyak data sejenis efisien

c)

Tidak perlu indeks

d)

Tidak bisa diakses acak

e)

Hanya untuk integer

43.

Array dua dimensi analoginya ...

a)

Daftar tunggal

b)

Matriks baris–kolom

c)

Stack

d)

Queue

e)

Linked list

44.

Indeks array di C/C++ dimulai dari ...

a)

1

b)

0

c)

-1

d)

Tergantung user

e)

2

45.

Program statistik penduduk cocok memakai array karena ...

a)

Data sedikit

b)

Data besar dan sejenis

c)

Tidak memerlukan penyimpanan

d)

Hanya untuk string

e)

Lebih cepat tanpa array

46.

Vector di C++ berbeda dari array statis karena ...

a)

Ukuran dinamis

b)

Wajib pointer

c)

Tidak butuh memori

d)

Hanya untuk char

e)

Tidak bisa diiterasi

47.

Transpose matriks berarti ...

a)

Menukar elemen utama dengan nol

b)

Menukar baris menjadi kolom

c)

Menghapus diagonal

d)

Menjumlahkan semua elemen

e)

Mengurutkan nilai

48.

Representasi jarak antar kota dalam matriks contoh buku menunjukkan ...

a)

Abstraksi data dunia nyata

b)

Pemrograman dinamis

c)

Greedy

d)

Rekursi

e)

Iterasi

49.

Jika array tidak diinisialisasi ...

a)

Nilai default 0 pasti

b)

Nilai acak/garbage

c)

Program otomatis error

d)

Compiler menolak

e)

Tetap sama setiap run

50.

Tantangan penyimpanan tanpa duplikasi jarak A–B dan B–A dapat diatasi dengan ...

a)

Matriks segitiga (upper/lower triangle)

b)

Array satu dimensi biasa

c)

Penambahan kolom kosong

d)

Pengulangan data

e)

Linked list