wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Strategi Algoritmik dan Pemrograman

Total questions: 40

Worksheet time: 30mins

Name
Class
Date
1.

Apa itu algoritma?

a)

Algoritma adalah sekumpulan data yang tidak terstruktur.

b)

Algoritma adalah metode acak untuk menyelesaikan masalah.

c)

Algoritma adalah serangkaian langkah-langkah sistematis untuk menyelesaikan masalah.

d)

Algoritma adalah sebuah perangkat keras untuk komputer.

2.

Apa yang dimaksud dengan pemrograman?

a)

Pemrograman adalah teknik untuk berkomunikasi dengan orang lain.

b)

Pemrograman adalah cara untuk mengedit gambar.

c)

Pemrograman adalah proses memasak makanan.

d)

Pemrograman adalah proses menulis kode untuk membuat program komputer.

3.

Apa langkah pertama dalam pemecahan masalah?

a)

Mencari solusi langsung

b)

Mengabaikan masalah

c)

Menyusun rencana tanpa analisis

d)

Mengidentifikasi masalah

4.

Apa tujuan dari pengembangan perangkat lunak?

a)

Untuk meningkatkan performa perangkat keras.

b)

Untuk mengurangi biaya produksi perangkat.

c)

Untuk mempercepat proses pengujian perangkat lunak.

d)

Tujuan dari pengembangan perangkat lunak adalah untuk memenuhi kebutuhan pengguna dan memecahkan masalah.

5.

Apa perbedaan antara array dan linked list?

a)

Array dan linked list memiliki kecepatan akses yang sama dan ukuran yang sama.

b)

Linked list lebih efisien dalam penggunaan memori dibandingkan array.

c)

Array memiliki akses cepat dan ukuran tetap, sedangkan linked list memiliki ukuran dinamis dan akses lebih lambat.

d)

Array memiliki ukuran dinamis dan akses cepat, sedangkan linked list memiliki ukuran tetap dan akses lebih lambat.

6.

Apa itu debugging dalam pemrograman?

a)

Proses menulis kode baru dalam pemrograman.

b)

Mengoptimalkan kinerja aplikasi tanpa mengubah kode.

c)

Debugging dalam pemrograman adalah proses menemukan dan memperbaiki kesalahan dalam kode.

d)

Menguji aplikasi untuk memastikan semua fitur berfungsi.

7.

Apa yang dimaksud dengan rekursi?

a)

Rekursi adalah teknik untuk mengoptimalkan algoritma.

b)

Rekursi adalah proses pengulangan tanpa batas.

c)

Rekursi adalah metode untuk menyimpan data dalam array.

d)

Rekursi adalah metode pemrograman di mana fungsi memanggil dirinya sendiri.

8.

Langkah pertama untuk menjelaskan dan memahami masalah hingga ke akar-akarnya ialah...

a)

Testing

b)

Maintenance

c)

Problem Definition

d)

Analysis

e)

Coding and Document

9.

Perhatikan pernyataan-pernyataan sebagai berikut!

(1) Notepad ++

(2) C++

(3) Java

(4) PHP

(5) VScode

Bahasa pemrograman ditunjukkan pernyataan nomor...

a)

(1), (3), dan (5)

b)

(2), (4), dan (5)

c)

(1), (2), dan (3)

d)

(2), (3), dan (4)

e)

(3), (4), dan (5)

10.

Salah satu tindakan dari langkah-langkah pemrograman dengan menuliskan kode atau skrip dalam bahasa pemrograman adalah....

a)

Coding

b)

Dokumentasi

c)

Testing

d)

Browsing

e)

Implementasi

11.

Bagian pengulangan sesuatu dengan prosedur kesamaan diri adalah....

a)

Greedy

b)

Knapsack

c)

Algoritma

d)

Rekursi

e)

Brute Force

12.

Algoritma yang langkah-langkahnya secara urut dari awal hingga akhir....

a)

Percabangan

b)

Perulangan

c)

Sekuensial

d)

Bersyarat

e)

Dinamis

13.

Perhatikan simbol berikut!

Simbol flowchart di atas menunjukkan....

a)

Output

b)

Process

c)

Start/End

d)

Seleksi/Kondisi

e)

Dokumen

14.

Perhatikan simbol berikut!

Simbol flowchart di atas menunjukkan....

a)

Process

b)

Input

c)

Output

d)

Decision

e)

Dokumen

15.

Suatu variabel yang terdiri atas sekumpulan data dimana data-data tersebut mempunyai tipe data yang sama adalah....

a)

Integer

b)

Float

c)

Boolean

d)

Char

e)

Array

16.

Sebuah tipe data yang dapat menyimpan satu karakter adalah....

a)

Char

b)

Integer

c)

Boolean

d)

Float

e)

String

17.

Metode yang paling populer untuk memecahkan persoalan optimasi, yaitu....

a)

Pemrograman Dinamis

b)

Algoritma Sekuensial

c)

Algoritma Genetik

d)

Algoritma Greedy

e)

Algoritma Percabangan

18.

Computational Thinking melatih otak untuk terbiasa berpikir

a)

abstrak

b)

mudah

c)

cepat

d)

logis

19.

Suatu permasalahan klasik pada komputasi yang dilakukan untuk mengatur agar suatu kelompok benda,objek atau entitas diletakkan mengikuti aturan tertentu disebut

a)

Pengurutan

b)

Persortingan

c)

Strategi

d)

Peraturan

20.

Apa itu pemrograman dinamis?

a)

Pemrograman dinamis adalah metode untuk menghindari sub-masalah.

b)

Pemrograman dinamis adalah metode untuk menyelesaikan masalah dengan membagi menjadi sub-masalah dan menyimpan hasilnya.

c)

Pemrograman dinamis hanya digunakan untuk aplikasi web.

d)

Pemrograman dinamis adalah teknik untuk menulis kode secara acak.

21.

Apa itu memoization dalam konteks pemrograman dinamis?

a)

Memoization adalah teknik optimasi untuk menyimpan hasil fungsi yang telah dihitung.

b)

Memoization adalah metode untuk menghapus fungsi yang tidak terpakai.

c)

Memoization adalah cara untuk mempercepat proses input data.

d)

Memoization adalah teknik untuk mengubah algoritma menjadi lebih kompleks.

22.

Jelaskan bagaimana cara kerja algoritma greedy dengan contoh.

a)

Algoritma greedy hanya dapat digunakan untuk masalah yang memiliki solusi unik.

b)

Algoritma greedy memilih opsi terbaik lokal pada setiap langkah untuk mencapai solusi global.

c)

Algoritma greedy mengabaikan langkah-langkah sebelumnya dan memilih secara acak.

d)

Algoritma greedy selalu memilih opsi terburuk untuk mencapai solusi optimal.

23.

Apa tantangan utama dalam menerapkan algoritma pemrograman dinamis?

a)

Menggunakan algoritma greedy yang lebih sederhana.

b)

Memahami dan mengidentifikasi submasalah yang relevan.

c)

Menerapkan algoritma brute force tanpa optimasi.

d)

Mengabaikan kompleksitas waktu dalam perhitungan.

24.

Pada pembuatan program komputer, algoritma dibuat dengan....

a)

Sebelum pembuatan program

b)

Pada saat program dibuat

c)

Sesudah pembuatan program

d)

Pada saat verifikasi program

e)

Pada saat program dijalankan

25.

Berikut ini beberapa fungsi algoritma pemrograman, kecuali....

a)

Dapat menyelesaikan permasalahan rumit dalam suatu program yang melibatkan perhitungan tingkat tinggi.

b)

Mampu menyederhanakan suatu program sehingga penggunaannya lebih efektif dan efisien.

c)

Dapat digunakan secara berulang sehingga meminimalkan penulisan program yang berulang.

d)

Mempermudah pencarian kesalahan serta dapat diperbaiki dalam waktu yang singkat.

e)

Memperpanjang waktu dalam menganalisi permasalahan.

26.

Tentukan suku ke-6 dari barisan yang didefinisikan:

a)

10

b)

11

c)

21

d)

28

e)

30

27.

Tentukan suku ke-6 dari barisan yang didefinisikan:

a)

10

b)

11

c)

21

d)

28

e)

30

28.

Tentukan suku ke-8 dari barisan yang didefinisikan barisan tersebut dimulai dengan

nilai 1, 3, ...

a)

5

b)

9

c)

13

d)

15

e)

17

29.

Dari soal sebelumnya (gambar), rute mana saja yang merupakan jalur terpendek? Berapa kilometer?

a)

rute 1 ke 2 ke 5 ke 7, 9 kilometer

b)

rute 1 ke 3 ke 6 ke 7, 15 kilometer

c)

rute 1 ke 3 ke 5 ke 7, 25 kilometer

d)

rute 1 ke 4 ke 5 ke 7, 21 kilometer

e)

rute 1 ke 4 ke 6 ke 7, 24 kilometer

30.

Perhatikan gambar pola di atas. Banyak lingkaran pada pola ke – 20 adalah ….

a)

380

b)

420

c)

462

d)

506

31.

Dua suku berikutnya dari barisan bilangan 50, 45, 39, 32, … adalah ….

a)

24, 15

b)

24, 16

c)

24, 17

d)

24, 18

32.

U7 dan U10 dari barisan 1, 3, 6, 10 ....

a)

28 dan 52

b)

28 dan 55

c)

30 dan 42

d)

36 dan 45

33.
Pada konsep rekursi, apa yang dimaksud dengan "Basis"?
a)
Nilai awal dari fungsi/barisan rekursif
b)
Hubungan antara nilai fungsi/barisan dengan nilai-nilai sebelumnya
c)
Pengujian program
d)
Evaluasi algoritma
e)
Memilih bahasa pemrograman
34.

Apa keuntungan menggunakan rekursi?

a)

Keuntungan menggunakan rekursi adalah kemudahan dalam menyelesaikan masalah kompleks dengan cara yang lebih sederhana dan terstruktur.

b)

Rekursi tidak dapat digunakan dalam pemrograman modern.

c)

Rekursi memperlambat proses penyelesaian masalah.

d)

Rekursi hanya digunakan untuk masalah sederhana.

35.

Jelaskan perbedaan antara rekursi dan iterasi!

a)

Rekursi menggunakan loop, sedangkan iterasi menggunakan pemanggilan fungsi sendiri.

b)

Rekursi dan iterasi keduanya menggunakan pemanggilan fungsi yang berbeda.

c)

Rekursi menggunakan pemanggilan fungsi sendiri, sedangkan iterasi menggunakan loop.

d)

Iterasi hanya dapat digunakan dalam pemrograman fungsional, sedangkan rekursi tidak.

36.

Apa itu algoritma pengurutan?

a)

Algoritma pengurutan adalah cara untuk menghitung angka.

b)

Algoritma pengurutan adalah metode untuk mengatur elemen dalam urutan tertentu.

c)

Algoritma pengurutan adalah metode untuk mengacak elemen dalam urutan.

d)

Algoritma pengurutan digunakan untuk menghapus elemen dari daftar.

37.

Apa yang diperlukan untuk menghasilkan program yang benar dan efisien?

a)

Kemampuan menyusun strategi algoritmik dan pemrograman

b)

Kemampuan berpikir komputasional dalam mencari abstraksi permasalahan

c)

Mendesain solusi berdasarkan masukan yang diterima

d)

Mengenali pola permasalahan sebagai sebuah variasi dari problem generik

38.

Apa yang dilakukan pada tahap Menguji program?

a)

Menulis kode program

b)

Mengevaluasi algoritma yang dibuat

c)

Merencanakan solusi dari awal

d)

Memastikan program berjalan dengan benar

39.

Apa yang dilakukan pada tahap Mengimplementasikan solusi dalam bentuk program?

a)

Mengubah algoritma menjadi kode program

b)

Mengevaluasi algoritma yang dibuat

c)

Merencanakan solusi dari awal

d)

Memastikan program berjalan dengan benar

40.

Apa yang harus dipenuhi oleh data masukan untuk membentuk segitiga?

a)

A + B > C, A + C > B, B + C > A

b)

A + B = C, A + C = B, B + C = A

c)

A + B < C, A + C < B, B + C < A

d)

A + B = C, A + C > B, B + C < A