wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Ulangan Harian

Total questions: 40

Worksheet time: 39mins

Name
Class
Date
1.

Penjelasan yang tepat tentang "problem generik" dalam konteks pemrograman adalah…

a)

Masalah yang spesifik dan unik

b)

Masalah yang umum dan dapat dipecah menjadi sub-masalah

c)

Masalah yang hanya dapat diselesaikan dengan satu solusi

d)

Masalah yang tidak dapat diselesaikan

e)

Masalah yang hanya terjadi pada hari Senin

2.

Tujuan evaluasi algoritma yang telah dibuat adalah…

a)

Untuk memastikan algoritma dapat berjalan sendiri

b)

Untuk memastikan algoritma terlihat kompleks

c)

Untuk memastikan algoritma memiliki banyak alternatif

d)

Untuk memastikan algoritma dapat bekerja dengan cepat

e)

Untuk memastikan algoritma memiliki langkah sederhana

3.

Berikut pengertian yang benar tentang siklus pemrograman…

a)

Proses penulisan kode tanpa perencanaan

b)

Proses pembuatan program tanpa pengujian

c)

Proses pembuatan program yang hanya melibatkan implementasi kode

d)

Proses pembuatan program yang hanya melibatkan desain solusi

e)

Proses berulang dalam pembuatan program, meliputi analisis permasalahan, desain solusi, implementasi kode, dan pengujian

4.

Seorang pemrogram perlu melakukan pengujian program dengan tujuan…

a)

Untuk memastikan program berjalan dengan benar dan sesuai dengan batasan yang diberikan

b)

Untuk memastikan program dapat menangani berbagai jenis input

c)

Untuk memastikan program dapat berfungsi dengan baik dalam berbagai kondisi

d)

Untuk memastikan program dapat berinteraksi dengan komponen lain dengan benar

e)

Untuk memastikan program dapat memenuhi persyaratan fungsional dan non-fungsional

5.

Dalam konteks pemrograman, dekomposisi memiliki makna…

a)

Proses membagi masalah yang kompleks menjadi sub-masalah yang lebih sederhana

b)

Proses membagi program menjadi fungsi-fungsi yang lebih kecil

c)

Proses membagi data menjadi elemen-elemen yang lebih sederhana

d)

Proses membagi algoritma menjadi langkah-langkah yang lebih kecil

e)

Proses membagi kode menjadi baris-baris kode yang lebih sederhana

6.

Apa yang dimaksud dengan abstraksi dalam konteks pemrograman?

a)

Proses menghilangkan detail-detail yang tidak penting dari suatu permasalahan

b)

Proses menyederhanakan suatu permasalahan dengan mengabaikan detail-detail yang tidak relevan

c)

Proses mencari esensi atau inti dari suatu permasalahan

d)

Proses menciptakan representasi yang lebih sederhana dari suatu permasalahan

e)

Proses menciptakan model konseptual dari suatu permasalahan

7.

Para pemrogram perlu memilih bahasa pemrograman tertentu saat mengimplementasikan solusi, karena…

a)

Beberapa bahasa pemrograman lebih cocok untuk jenis aplikasi tertentu

b)

Beberapa bahasa pemrograman lebih efisien untuk tugas-tugas tertentu

c)

Beberapa bahasa pemrograman memiliki fitur yang mendukung paradigma pemrograman tertentu

d)

Setiap bahasa pemrograman memiliki kelebihan dan kekurangan tersendiri

e)

Beberapa bahasa pemrograman lebih mudah digunakan untuk kolaborasi dan pengembangan bersama

8.

Berikut kode Python yang dapat menampilkan perulangan angka , menggunakan parameter (i)yang berbeda beda.

4 lines
9.

Setelah memastikan panjang sisi-sisi dapat membentuk segitiga, lengkapi titik-titik di bawah ini untuk menentukan jenis segitiga berdasarkan panjang sisi-sisi.

a)

     a + b > c and a + c > b and b + c > a

b)

   a > b + c or b > a + c or c > a + b 

c)

a.     a == b == c

d)

a.     a != b and a != c and b != c

e)

a.     a == b or a == c or b == c

10.

Dalam program Python berikut, jenis segitiga apa yang teridentifikasi adalah…

a)

Error

b)

Segitiga Sama Sisi

c)

Segitiga Sama Kaki

d)

Segitiga Sembarang

e)

Null

11.

Batasan yang perlu dipenuhi oleh data masukan yang seharusnya dilengkapi pada titik-titik berikut adalah…

a)

Panjang sisi-sisi harus lebih besar dari 1000

b)

Panjang sisi-sisi harus lebih besar dari 1 dan kurang dari 1000

c)

Panjang sisi-sisi harus lebih dari 1

d)

Panjang sisi-sisi harus lebih dari 500

e)

Panjang sisi-sisi tidak perlu memenuhi batasan tertentu

12.

Konsep dasar rekursi didefinisikan sebagai sesuatu yang mengandung sesuatu itu sendiri. Aplikasi dalam pemrograman, konsep tersebut dilaksanakan dengan…

a)

membuat fungsi atau barisan yang memanggil dirinya sendiri

b)

menggunakan pernyataan if dan else

c)

menggunakan perulangan for dan while

d)

menentukan nilai basis pada awal fungsi

e)

menulis komentar pada kode program

13.

Pada fungsi atau barisan rekursi, yang dimaksud dengan basis adalah…

a)

bangkah atau iterasi pertama dalam fungsi

b)

proses perulangan pada barisan

c)

nilai atau kondisi awal yang menghentikan rekursi

d)

fungsi atau metode yang memanggil fungsi lainnya

e)

output dari fungsi rekursi

14.

Sebuah barisan rekursif diawali dengan nilai 1 dan setiap nilai berikutnya dihitung dengan menambahkan dua nilai sebelumnya. Barisan ini disebut…

a)

barisan Bilangan Prima

b)

barisan Deret Aritmatika

c)

barisan Geometri

d)

barisan Fibonacci

e)

barisan Kuadratik

15.

Jumlah nilai yang harus ditentukan pada bagian basis dalam definisi barisan rekursif jika pada bagian rekursi membutuhkan dua nilai sebelumnya adalah…

a)

1

b)

2

c)

3

d)

tergantung pada panjang barisan

e)

tidak perlu menentukan nilai pada bagian basis

16.

Rekursi dapat membantu dalam menyelesaikan permasalahan besar dengan cara…

a)

dengan menggunakan perulangan tanpa henti

b)

dengan meniadakan penggunaan fungsi dan metode

c)

dengan menggandakan nilai pada setiap iterasi

d)

dengan mengganti nilai basis menjadi nol

e)

dengan mendekomposisi permasalahan besar menjadi submasalah yang lebih kecil

17.

Relasi rekurensi dalam matematika adalah…

a)

relasi yang hanya berlaku pada bilangan bulat

b)

relasi antara dua bilangan prima

c)

relasi antara dua barisan geometri

d)

relasi yang merujuk pada fungsi atau barisan itu sendiri

e)

relasi yang hanya berlaku pada bilangan genap

18.

Yang didefinisakan faktorial n! untuk bilangan bulat n ≥ 1 adalah…

a)

nilai dari 2^n

b)

jumlah semua bilangan ganjil dari 1 hingga n

c)

hasil perkalian semua bilangan bulat dari 1 hingga n

d)

nilai dari n^2

e)

jumlah semua bilangan genap dari 1 hingga n

19.

Definisi rekursif dari faktorial n! adalah…

a)

n! = n × (n + 1)!

b)

n! = n × (n - 1)!

c)

n! = n + (n - 1)!

d)

n! = n - (n - 1)!

e)

n! = n^2 × (n - 1)!

20.

Terdapat sebuah lantai yang berukuran 2×N. Pada lantai tersebut, ingin dipasang N buah keramik, yang masing-masing berukuran 1×2. Pada permasalahan memasang keramik, ada berapa cara memasang keramik untuk N=8?

a)

10

b)

15

c)

20

d)

25

e)

30

21.

Pada permasalahan menumpuk panekuk, berapakah jumlah langkah minimal yang diperlukan apabila Budi memiliki 6 buah panekuk?

a)

12

b)

15

c)

18

d)

21

e)

24

22.

Berikut aturan dalam menumpuk panekuk yang harus diikuti…

a)

Panekuk kecil harus di atas panekuk besar

b)

Panekuk boleh ditumpuk secara sembarangan

c)

Panekuk harus diletakkan di lantai

d)

Panekuk harus disusun berdasarkan ukuran, namun tidak ada aturan tertentu

e)

Panekuk besar harus berada di atas panekuk kecil

23.

Penjelasan algoritma greedy berikut yang benar adalah…

a)

algoritma yang tamak dan rakus

b)

algoritma yang memilih langkah terbaik pada setiap saat

c)

algoritma yang memilih langkah terburuk pada setiap saat

d)

algoritma yang hanya mempertimbangkan satu langkah pada setiap iterasi

e)

algoritma yang tidak memperhatikan langkah-langkah sebelumnya

24.

Yang menjadi langkah penting dalam penyelesaian masalah secara greedy adalah…

a)

proses mengurutkan data agar menjadi terurut

b)

menerapkan teknik brute force

c)

menyusun data secara acak

d)

menggunakan algoritma dinamis

e)

menyelesaikan masalah dengan pendekatan kompleks

25.

Dalam konteks penyelesaian permasalahan optimasi, peran algoritma greedy adalah…

a)

memilih langkah terburuk pada setiap saat

b)

menghitung hasil yang paling kecil dari sebuah proses

c)

mengambil serangkaian langkah terbaik pada setiap saat

d)

menerapkan semua langkah pada setiap iterasi

e)

memilih langkah terburuk pada awal iterasi

26.

Yang menjadi unsur utama dalam teknik pemrograman dinamis adalah…

a)

Pemilihan langkah secara acak

b)

Mencari nilai terkecil/terbesar tanpa mempertimbangkan langkah-langkah selanjutnya

c)

Pemilihan langkah terbaik saat ini tanpa memperhitungkan kemungkinan kombinasi pilihan lain

d)

Optimasi melalui serangkaian pilihan, dan nilai optimal dapat dinyatakan secara rekursif

e)

Mencari nilai optimal tanpa memperhitungkan kemungkinan pengambilan langkah

27.

Perbedaan permasalahan berikut yang sesuai untuk teknik pemrograman dinamis dengan teknik greedy adalah…

a)

struktur permasalahan yang memerlukan pemilihan langkah terbaik saat ini

b)

pilihan langkah terbaik saat ini belum tentu merupakan pilihan terbaik secara keseluruhan

c)

kemungkinan pilihan langkah terbaik saat ini selalu merupakan pilihan terbaik secara keseluruhan

d)

tidak memerlukan evaluasi banyak kemungkinan kombinasi langkah

e)

keseluruhan pilihan langkah tidak mempengaruhi nilai optimal

28.

Pernyataan yang benar tentang unsur optimasi dalam teknik pemrograman dinamis adalah…

a)

menentukan pilihan langkah terbaik saat ini

b)

mencari nilai terkecil/terbesar tanpa mempertimbangkan langkah-langkah selanjutnya

c)

  menggunakan teknik memorisasi untuk menghindari perulangan/duplikasi dalam perhitungan

d)

memilih kombinasi langkah yang tidak mempengaruhi nilai optimal secara keseluruhan

e)

mencari nilai terkecil/terbesar melalui serangkaian pilihan dan nilai optimal dapat dinyatakan secara rekursif

 

29.

Pernyataan yang benar tentang unsur optimasi dalam teknik pemrograman dinamis adalah…

a)

menentukan pilihan langkah terbaik saat ini

b)

mencari nilai terkecil/terbesar tanpa mempertimbangkan langkah-langkah selanjutnya

c)

menggunakan teknik memorisasi untuk menghindari perulangan/duplikasi dalam perhitungan

d)

memilih kombinasi langkah yang tidak mempengaruhi nilai optimal secara keseluruhan

e)

mencari nilai terkecil/terbesar melalui serangkaian pilihan dan nilai optimal dapat dinyatakan secara rekursif

30.

Yang dimaksud dengan teknik memorisasi dalam pemrograman dinamis adalah…

a)

menyimpan semua solusi subproblem yang sudah diketahui dalam tabel.

b)

menyimpan semua solusi sub-sub permasalahan yang memiliki overlap.

c)

mencari nilai optimal tanpa memperhitungkan kemungkinan pengambilan langkah.

d)

menentukan nilai optimal dengan cara rekursif.

e)

menghindari pemilihan langkah terburuk pada setiap iterasi.

31.

Konsep yang digunakan untuk menyimpan himpunan data ke dalam satu nama variabel dengan indeks dalam bahasa pemrograman dikenal dengan…

a)

variabel tunggal

b)

larik atau array

c)

indeks tunggal

d)

himpunan variabel

e)

variabel indeks

32.

Analogi loker yang diberi nomor untuk menjelaskan konsep larik, yang merupakan indeks pada larik dalam program adalah…

a)

barang

b)

ukuran loker

c)

nomor loker

d)

tempat penyimpanan

e)

vector

33.

Tujuan menggunakan larik atau array dalam program untuk mengolah data berukuran besar adalah…

a)

untuk membuat program lebih kompleks

b)

hanya untuk menambahkan tingkat kesulitan

c)

untuk membuat program lebih sederhana

d)

untuk meningkatkan jumlah variabel tunggal

e)

untuk menghemat memori dan waktu eksekusi

34.

Keluaran yang dihasilkan dari program jika diberikan masukan 1 2 3 4 5 6 adalah…

a)

1 2 3 4 5 6

b)

1 6 2 5 3 4

c)

5 4 3 2 1 6

d)

6 1 5 2 4 3

e)

6 5 4 3 2 1

35.

Jika dimasukkan karakter Informatika pada program tersebut, keluaran yang benar adalah…

a)

informatika

b)

INFORMATIKA

c)

InFoRmAtIkA

d)

inForMatIka

e)

INFORMATIKA

36.

Kode yang benar untuk soal di atas adalah…

a)

[print (nama(2;2]

b)

Print (nama{2})

c)

print (nama[2])

d)

print {nama[2;2]

e)

print ([nama]2)

37.

Jelaskan empat langkah yang dilakukan pada saat melakukan pemrograman untuk menghasilkan program yang benar dan dapat membantu manusia dalam melakukan tugasnya!

4 lines
38.

Jelaskan apa yang di maksud dengan larik atau array?

4 lines
39.

Sebutkan 9 urutan dari proses pengambilan keputusan.

4 lines
40.

  Berikut kode program untuk mencetak bilangan secara terbalik:

Keluaran yang di hasilkan dari program jika di berikan masukan 1 2 3 4 5 6 adalah



(a)