wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Latihan Soal Pemrograman

Total questions: 25

Worksheet time: 25mins

Name
Class
Date
1.

Salah satu hal yang harus dilakukan dalam membuat pemograman adalah tahap analisis masalah. Dalam menganalisis masalah ada beberapa hal yang harus ditentukan, kecuali…

a)

Masukan

b)

Kaluaran

c)

Syarat-Syarat

d)

Batasan

2.

Dalam pembuatan program, ada beberapa jenis algoritma yang dapat dipilih. Dibawah ini merupakan jenis algoritma yang tepat. Kecuali…

a)

Narasi dan diagram alir

b)

Narasi dan pseudocode

c)

Diagram alir dan pseudocode

d)

Pseudocode dan tabel

3.

Dalam kehidupan sehari-hari, kegiatan manakah yang menggambarkan konsep rekursi?

a)

Menulis surat kemudian mengirimkannya.

b)

Mencari nomor telepon di buku telepon.

c)

Membuka kotak yang di dalamnya terdapat kotak lain, dan seterusnya.

d)

Memasukkan data ke dalam spreadsheet.

4.

Dina sedang mengisi tasnya dengan permen. Setiap kali ia melihat permen dengan warna favoritnya, ia segera memasukkannya ke dalam tas tanpa memeriksa permen lain terlebih dahulu. Ia mengulangi ini sampai tasnya penuh. Pendekatan ini merupakan contoh dari:

a)

Rekursi, karena Dina mengulangi proses memasukkan permen.

b)

Algoritma greedy, karena Dina selalu memilih permen favoritnya tanpa memikirkan permen lain.

c)

Pemrograman dinamis, karena Dina menyimpan permen favorit di tasnya.

d)

Algoritma iteratif, karena ia memeriksa semua permen satu per satu.

5.

Linda sedang merencanakan perjalanan keliling kota untuk mengunjungi beberapa tempat wisata. Setiap kali ia menghitung rute tercepat ke tujuan berikutnya, ia mencatat waktu dan jarak yang sudah ditempuh. Dengan menggunakan informasi ini, Linda dapat menghitung rute tercepat yang mencakup semua tempat wisata tanpa perlu menghitung ulang jarak yang sama. Pendekatan ini adalah contoh:

a)

Algoritma greedy, karena ia selalu mencari rute terdekat.

b)

Rekursi, karena ia mengulangi perhitungan untuk setiap rute.

c)

Pemrograman dinamis, karena ia menyimpan informasi rute untuk digunakan di perhitungan berikutnya.

d)

Pendekatan manual, karena ia menghitung semua jarak dengan tangan.

6.

Ketika menggunakan pemograman dinamis, apa yang dimaksud dengan "memoisasi" ?

a)

Menyimpan catatan tentang semua variabel dalam program

b)

Menggunakan variabel-variabel yang sama di seluruh program

c)

Menyimpan solusi submasalah yang telah dihitung untuk menghindari pengulangan perhitungan yang tidak perlu

d)

Membuat catatan harian tentang pekerjaan yang dilakukan dalam program

7.

Seorang pendaki ingin mencapai puncak gunung dengan cara mengejar berbagai tujuan pendakian dalam satu hari. Setiap tujuan memiliki tingkat kesulitan dan waktu yang berbeda untuk mencapainya. Pendaki ingin mencapai sebanyak mugkin tujuan dalam waktu terbatas. Bagaimana algoritma greedy dapat membantu pendaki dalam mencapai tujuan ini ?

a)

Algoritma greedy akan selalu memilih tujuan dengan waktu terpendek terlebih dahulu

b)

Algoritma greedy akan selalu memilih tujuan dengan tingkat kesulitan terendah terlebih dahulu

c)

Algoritma greedy akan selalu memilih tujuan yang memiliki rasio tingkat kesulitan terhadap waktu terendah terlebih dahulu

d)

Algoritma gredy akan memilih tujuan secara acak tanpa memperhatikan tingkat kesulitan atau waktu

8.

Perbedaan utama antara algoritma greedy dan pemograman dinamis yang paling tepat adalah…

a)

Pemograman dinamis selalu menghasilkan solusi optimal, sedangkan algoritma greedy tidak

b)

Pemograman dinamis mencari solusi secara eksploratif sedangkan algoritma greedy tidak

c)

Pemograman dinamis memecah masalah menjadi submaslah yang lebih kecil dan menyimpan solusi-solusi sebelumnya, sedangkan algoritma greedy membuat keputusan terbaik berdasarkan situasi saat ini tanpa memperhatikan solusi yang telah ditemukan sebelumnya

d)

Pemograman dinamis selalu lebih lambat daripada algoritma greedy

 

9.

Manakah dari berikut ini yang bukan contoh dari bahasa pemograman ?

a)

Phyton

b)

HTML

c)

Java

d)

C++

10.

Diberikan deret sebagai berikut: 0, 1, 1, 2, 3, 5, 8, 13 Berapakah dua bilangan selanjutnya?

a)

15, 18

b)

15, 21

c)

17, 21

d)

21 ,34

11.

Seorang fotografer memulai sebuah proyek dimana dia mengambil 1 foto di hari pertama, kemudian 2 foto pada hari kedua, 3 foto pada hari ketiga dan seterusnya. Jika dia melanjutkan proyek ini selama 8 hari, berapa total foto yang diambil ?

a)

21

b)

34

c)

36

d)

87

12.

Seorang ilustrator ingin membuat pola segitiga dengan bintang. Dia mulai dengan satu bintang pada baris pertama. Setiap baris berikutnya memiliki dua bintang lebih banyak daripada baris sebelumnya. Jika dia ingin membuat pola dengan 5 baris, berapa total bintang yang akan digunakan ?

a)

9

b)

13

c)

15

d)

25

13.

Dalam C++, apa fungsi dari tanda kurung kurawal {}?

a)

Menyimpan nilai

b)

Menandakan awal dan akhir blok kode

c)

Mengelompokkan ekspresi aritmatika

d)

Mengakses elemen array

14.

Manakah dari pernyataan berikut yang benar tentang penggunaan tanda kurung siku [ ] di C++?

a)

Digunakan untuk mendefinisikan fungsi

b)

Digunakan untuk mengakses atau mendeklarasikan elemen-elemen dalam array

c)

Digunakan untuk mengelompokkan ekspresi aritmatika

d)

Digunakan untuk menandakan awal dan akhir dari loop

15.

Bagaimana cara memasukkan library dalam program C++?

a)

include "library_name"

b)

#use

c)

#include

d)

#import

16.

Apa fungsi utama dari cout dalam C++?

a)

Mengambil input dari pengguna

b)

Menampilkan output ke layar

c)

Membaca file dari disk

d)

Menyimpan data ke dalam file

17.

Apa yang akan ditampilkan oleh kode berikut ini?

a)

Nilai a adalah: a

b)

Nilai a adalah: 10

c)

a adalah: 10

d)

10

18.

Apa yang dimaksud dengan array dalam pemrograman komputer?

a)

Sebuah tipe data yang hanya bisa menyimpan satu nilai

b)

Sebuah struktur data yang menyimpan beberapa nilai dengan tipe data yang sama dalam satu variabel

c)

Sebuah fungsi yang mengubah tipe data

d)

Sebuah variabel yang menyimpan nilai acak

19.

Bagaimana cara mengakses elemen ketiga dari array int angka[5] = {10, 20, 30, 40, 50};?

a)

angka[0]

b)

angka[1]

c)

angka[2]

d)

angka[3]

20.

Jika kita memiliki array char huruf[4] = {'A', 'B', 'C', 'D'};, apa yang akan terjadi jika kita mencoba mengakses huruf[4]?

a)

Akan menampilkan nilai 'D'

b)

Akan menghasilkan error karena indeks melebihi batas

c)

Akan menampilkan nilai 'A'

d)

Tidak ada efek apa-apa

21.

Jika int nilai[3] = {5, 10, 15};, berapa hasil dari nilai[1] + nilai[2]?

a)

15

b)

20

c)

25

d)

30

22.

Kumpulan atau deretan karakter yang membentuk teks atau kata-kata yang digunakan dalam penyusunan algoritma pemograman adalah…

a)

Karakter

b)

String

c)

Integer

d)

Array

23.

Manakah dari pernyataan berikut yang benar tentang karakter dalam pemrograman?

a)

Karakter hanya bisa berupa huruf alfabet

b)

Karakter selalu diapit oleh tanda kurung ganda ("")

c)

Karakter dapat berupa huruf, angka, atau simbol

d)

Karakter dan string adalah hal yang sama

24.

Jika kita memiliki string char nama [ ] = "OpenAI";, apa karakter di indeks ke-3?

a)

O

b)

p

c)

e

d)

n

25.

Bagaimana cara menggabungkan dua objek string di C++?

a)

Menggunakan operator +

b)

Menggunakan fungsi strcat()

c)

Menggunakan operator -

d)

Menggunakan fungsi strlen()