wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

LATIHAN SOAL_PSAS_XI_INF

Total questions: 48

Worksheet time: 1hrs 12mins

Name
Class
Date
1.

Strategi algoritmik divide and conquer bekerja dengan cara ….

a)
memecah masalah besar menjadi submasalah, menyelesaikannya secara terpisah, lalu menggabungkannya
b)
memilih solusi terbaik pada setiap langkah tanpa mempertimbangkan langkah selanjutnya
c)
menyelesaikan masalah dengan menyimpan hasil submasalah untuk menghindari perhitungan ulang
d)
menggunakan struktur data linear untuk menyimpan data secara berurutan
e)
memecah masalah menjadi dua bagian yang sama besar tanpa menyelesaikannya
2.
berikut ini yang merupakan kelebihan dari algoritma greedy yaitu ….
a)
selalu menghasilkan solusi global optimal
b)
memerlukan memori yang besar untuk menyimpan data
c)
cepat dan sederhana dalam implementasi
d)
mempertimbangkan semua kemungkinan solusi sebelum mengambil keputusan
e)
menggabungkan semua solusi lokal menjadi satu solusi globbal
3.
Dalam konteks strategi algoritmik, abstraski dapat ditemukan dalam kegiatan sehari-hari berikut yaitu ….
a)
mengidentifikasi bahan-bahan utama yang dibutuhkan untuk membuat nasi goreng tanpa memikirkan detail merek atau asal bahannya
b)
mengabaikan jenis transportasi yang digunakan dan hanya fokus pada rute tercepat menuju sekolah
c)
mencari pola harga makanan di kantin untuk menentukan hari terbaik membeli makan siang
d)
menyusun langkah-langkah rinci untuk mengerjakan tugas kelompok dari awal hingga selesai
e)
mengumpulkan semua kemungkinan ide untuk proyek kelas sebelum memilih satu yang terbaik
4.
Dalam struktur data stack, operasi pop berfungsi untuk ….
a)
menambahkan elemen ke dalam stack
b)
menghapus elemen teratas dari stack
c)
melihat elemen teratas tanpa menghapusnya menghapus semua elemen dalam stack
d)
menghapus semua elemen dalam stack
e)
mengakses elemen di tengah stack
5.
Struktur data queue bekerja berdasarkan prinsip ….
a)
LIFO
b)
SIRO
c)
FIFO
d)
HIFO
e)
FISO
6.
Dalam kehidupan sehari-hari, memoisasi dynamic programming mirip dengan contoh berikut yaitu ….
a)
mengingat tempat duduk favorit di perpustakaan agar tidak perlu mencarinya lagi setiap hari
b)
mencatat rumus-rumus turunan dalam catatan khusus agar mudah ditemukan apabila suatu saat membutuhkannya
c)
membagi tugas besar menjadi beberapa bagian dan mengerjakan masing-masing secara terpisah
d)
memilih menu makan siang berdasarkan apa yang sedang populer di antara teman
e)
membuat catatan pengingat untuk semua langkah pekerjaan agar tidak ada yang terlewat
7.
Contoh masalah yang cocok diselesaikan dengan divide and conquer adalah ….
a)
menghitung nilai faktorial dari sebuah bilangan
b)
menemukan jalur terpendek untuk sampai ke tujuan
c)
menentukan kombinasi proyek dan keuntungan maksimal
d)
mengurutkan elemen array menggunakan pencarian berurutan
e)
mengurutkan data menggunakan algoritma merge sort
8.
Dalam linked list, setiap simpul atau node terdiri atas ….
a)
data indeks array
b)
data dan pointer ke node berikutnya
c)
data saja tanpa referensi
d)
bebera data tanpa struktur
e)
indeks dan pointer yang saling terhubung
9.
Manfaat utama penggunaan array dalam penyimpanan data adalah ….
a)
ukurannya dinamis dan dapat berubah saat runtime
b)
penyisipan dan penghapusan elemen di tengah dengan efisien
c)
akses elemen secara acak dengan waktu konstan
d)
menghemat memori dengan tidak menyimpan indeks
e)
membagi data secara otomatis menjadi beberapa bagian
10.
Agloritma greedy dapat ditemukan dalam kegiatan sehari-hari seperti pada salah satu contoh berikut yaitu ….
a)
memilih kursi paling dekat dengan papan tulis di kelas tanpa memikirkan opsi lain
b)
mengambil makanan di kantin yang paling cepat siap untuk menghemat waktu istirahat
c)
menentukan pola belajar dari tugas sebelumnya untuk menghadapi ujian besar
d)
membagi tugas kelompok menjadi beberapa bagian sebelum mulai bekerja
e)
mengabaikan tugas yang paling mudah
11.
Contoh penerapan stack dalam kehidupan sehari-hari adalah ….
a)
antrean di loket tiket
b)
jadwal kereta api
c)
penyusunan jadwal proyek
d)
sistem pemesanan makanan online
e)
tumpukan piring di dapur
12.
Prinsip utama dalam queue adalah ….
a)
elemen terakhir yang masuk akan keluar pertama
b)
elemen pertama yang masuk akan keluar terakhir
c)
elemen pertama yang masuk akan keluar pertama
d)
elemen diproses berdasarkan prioritas tertinggi
e)
sistem ditambahkan dan dihapus secara acak
13.
Dynamic programming efektif digunakan pada masalah yang memiliki ….
a)
submasalah independen dan tidak tumpang tindih
b)
solusi optimal yang tidak bergantung pada submasalah
c)
submasalah tumpang tindih dan optimal substructure
d)
hanya satu solusi tunggal tanpa alternatif
e)
masalah sederhana dengan solusi tunggal
14.
Dalam divide and conquer, tahap conquer berarti ….
a)
membandingkan pilihan-pilihan yang tersedia untuk menemukan solusi terbaik
b)
membagi masalah besar menjadi beberapa masalah kecil agar lebih mudah dikerjakan
c)
menggabungkan hasil penyelesaian dari setiap submasalah menjadi satu solusi
d)
memproses masalah kecil satu per satu tanpa memecah masalah besar
e)
mengabaikan submasalah yang tidak relevan untuk fokus pada langkah berikutnya
15.
Salah satu kekurangan dari strategi dynamic programming adalah ….
a)
membutuhkan banyak catatan untuk menyimpan informasi sementara
b)
tidak selalu memberikan solusi terbaik untuk semua jenis masalah
c)
sulit digunakan pada tugas sekolah yang sederhana
d)
membingungkan untuk diterapkan karena ide dasarnya terlalu mudah
e)
tidak cocok untuk digunakan pada masalah yang dapat dipecahkan dengan cara langsung
16.
Struktur data yang paling sesuai untuk menerapkan antrean pasien di rumah sakit dengan prioritas adalah ….
a)
array
b)
stack
c)
queue dan priority queue
d)
linked list
e)
circular queue
17.
Berikut yang bukan merupakan karakteristik utama dari berpikir komputasional yaitu ….
a)
logis
b)
sistematis
c)
abstraksi
d)
kreatif
e)
acak
18.

Operasi en-queue dalam queue berarti

a)
menghapus elemen dari depan queue
b)
mengakses elemen tengah queue
c)
menghapus semua elemen alam queue
d)
menambahkan elemen di posisi acak
e)
menambahkan elemen ke belakang queue
19.
Penerapan algoritma greedy dalam kehidupan sehari-hari dapat dilihat pada kegiatan ….
a)
mengatur jadwal belajar berdasarkan mata pelajaran tersulit
b)
memilih rute perjalanan terpanjang untuk eksplorasi
c)
mengisi tas dengan barang paling ringan terlebih dahulu
d)
memprioritaskan tugas dengan deadline terdekat
e)
memilih aktivitas tanpa memperhatikan waktu
20.

Pilih pilihan benar atau salah untuk pernyataan berikut:

Divide and Conquer bekerja dengan memecah masalah besar menjadi submasalah, menyelesaikannya secara terpisah, dan menggabungkan hasilnya.

a)
benar
b)
salah
21.

Pilih pilihan benar atau salah untuk pernyataan berikut:

Algoritma greedy mempertimbangkan semua kemungkinan solusi sebelum mengambil keputusan terbaik

a)
benar
b)
salah
22.

Pilih pilihan benar atau salah untuk pernyataan berikut:

Linked list memungkinkan penambahan dan penghapusan elemen di tengah tanpa menggeser elemen lain

a)
benar
b)
salah
23.

Pilih pilihan benar atau salah untuk pernyataan berikut:

Dynamic programming tidak dapat digunakan untuk masalah dengan submasalah yang tumpang tindih

a)
benar
b)
salah
24.

Seorang siswa ingin mempersiapkan ujian dengan mengatur jadwal belajar secara efisien. Ia membagi materi ke dalam beberapa kelompok besar, lalu membagi lagi menjadi subkelompok kecil hingga setiap materi dapat dipelajari secara terfokus dalam waktu tertentu. Strategi ini menyerupai pendekatan divide and conquer.

Pilih jawaban untuk kegiatan yang mewakili strategi tersebut (jawaban bisa lebih dari satu)

a)
Membagi semua mata pelajaran menjadi kelompok besar berdasarkan jenis ujian misalnya ujian teori dan ujian praktik
b)
memprioritaskan mata pelajaran yang paling sulit untuk dipelajari terlebih dahulu
c)
membagi kelompok besar menjadi bagian yang lebih kecil, seperti materi per bab atau subtopik
d)
mempelajari seluruh materi sekaligus tanpa membaginya menjadi kelompok kecil
e)
setelah mempelajari setiap subkelompok, siswa menggabungkan pemahaman dari semua materi untuk persiapan final
25.

Galen adalah seorang pelajar yang mempunyai jadwal kegiatan mingguan sebagai berikut:

Kegiatan disusun dalam struktur data yang menyerupai linked list.

Manakah pernyataan berikut yang sesuai dengan konsep linked list? (jawaban bisa lebih dari satu)

a)
setiap kegiatan terhubung ke kegiatan berikutnya sehingga jika satu kegiatan dihapus, tidak mempengaruhi kegiatan lain
b)
jika ingin menambahkan kegiatan baru di hari Rabu, cukup menyisipkan di antara kegiatan Selasa dan Kamis tanpa menggeser kegiatan lainnya
c)
semua kegiatan harus disimpan secara berurutan di memori agar bisa diakses dengan benar
d)
jika jadwal Kamis dihapus, jadwal Rabu akan langsung terhubung ke jadwal Jumat
e)
untuk mencari jadwal Jumat, harus dimulai dari jadwal Senin dan bergerak ke kegiatan berikutnya sampai menemukan kegiatan di hari Jumat
26.

Pasangkan setiap jenis struktur data dengan prinsip kerjanya dengan tepat

Struktur data

A. Stack

B. Queue

C. Linked list

Prinsip kerja

1. Terdiri dari node yang terhubung melalui pointer

2. elemen terakhir yang masuk akan keluar pertama (LIFO)

3. elemen disimpan secara berurutan di dalam memori dan diakses dengan indeks

4. eleman pertama yang masuk akan keluar pertama (FIFO)

a)
A1, B2, C3
b)
A2, B3, C2
c)
A3, B4, C1
d)
A4, B1, C2
e)

A2, B4, C1

27.

Perhatikan pseudocode berikut:

Nilai output "d" yang tepat adalah ….

a)
5
b)
15
c)
9
d)
10
28.
Perbedaan tipe data char dan string yaitu ….
a)
keduanya sama dan hanya berbeda nama
b)
string adalah tipe bilangan bulat
c)
char merupakan kumpulan string, sedangkan string adalah satu karakter
d)
char adalah tipe bilangan bulat, sedangkan string adalah bilangan riil
e)
string merupakan kumpulan char, sedangkan char adalah satu kerakter
29.

Perhatikan potongan deklarasi program berikut.

jumlah_barang : ….

Tipe data yang sesuai untuk menampung variabel jumlah_barang adalah ….

a)
float
b)
double
c)
long integer
d)
integer
e)
char
30.

Perhatikan potongan kode berikut:

Keluaran dari kode tersebut adalah ….

a)
7
b)
6
c)
error
d)
6.4
31.

Perhatikan algoritma berikut:

(1) Baca panjang dengan variabel (panjang) bertipe integer

(2) Baca lebar dengan variabel (lebar) bertipe integer

(3) luas = panjang*lebar

(4) Cetak luas

Kode bahasa C yang sesuai untuk algoritma tersebut ….

a)
read(luas) luas= panjang*lebar write(luas)
b)
printf(“%d”, luas); scanf (“%d”, &panjang); scanf (“%d”, &lebar); luas = sisi*sisi*sisi;
c)
write (luas) read (sisi) read (panjang) luas = lebar*panjang
d)
read (panjang) read (lebar) luas = panjang*lebar write (luas)
e)
scanf (“%d”, &panjang); scanf (“%d”, &lebar); luas = panjang*lebar; printf (“%d”, luas);
32.
Penulisan struktur kontrol perulangan yang tepat untuk menampilkan program mencetak nilai 1-35 secara berurutan adalah ….
a)
for (i=1; i<=100; i++){
b)
for (i=1; i<=35; i++){
c)
for (i=35; i<=100; i--){
d)
for (i=0; i<=99; i++){
e)
for (i=0; i<=35; i--){
33.

Perhatikan potongan kode berikut:

Penulisan while yang tepat untuk melakukan perulangan yang akan berhenti jika kondisi banyaknya bilangan 15 adalah ….

a)
while (i<15);
b)
while (i<=1);
c)
while (i=15);
d)
while (i<5);
e)
while (i=0);
34.

Berdasarkan pseudocode pada gambar tersebut program akan menampilkan keluaran tidak lulus jika rata-rata nilai berjumlah ….

a)
lebih dari 85
b)
kurang dari 75 dan lebih besar dari 65
c)
kurang dari 85 dan lebih besar dari 78
d)
kurang dari 66
e)
lebih dari 75
35.
simbol belah ketupat dalam flowchart digunakan untuk ….
a)
menandakan awal dan akhir program
b)
menampilkan hasil program
c)
memproses data atau perhitungan
d)
menentukan kondisi atau pengambilan keputusan
e)
menyambungkan bagian flowchart
36.
Dalam bahasa pemrograman C, tipe data float digunakan untuk ….
a)
menyimpan bilangan bulat
b)
menyimpan teks atau string
c)
menyimpan bilangan pecahan atau desimal
d)
menyimpan logika seperti true atau false
e)
menyimpan angka dalam bentuk array
37.
Tujuan utama dari perulangan dalam algoritma yaitu ….
a)
memproses data dalam array
b)
mengulangi perintah hingga kondisi tertentu terpenuhi
c)
menampilkan hasil program
d)
mengubah struktur data
e)
menghapus data dari memori
38.

Perhatikan pseudocode program tebak angka berikut!

Berdasarkan kode tersebut, pilih jawaban benar atau salah pada pernyataan berikut:

Jika variabel tebak_angka sama dengan angka_rahasia maka akan menampilkan Yeayy jawabanmu benar!!!

a)
benar
b)
salah
39.

Perhatikan pseudocode program tebak angka berikut!

Berdasarkan kode tersebut, pilih jawaban benar atau salah pada pernyataan berikut:

Jika variabel tebak_angka > angka rahasia maka akan menampilkan coba lagi

a)
benar
b)
salah
40.

Perhatikan pseudocode program tebak angka berikut!

Berdasarkan kode tersebut, pilih jawaban benar atau salah pada pernyataan berikut:

Jika variabel angka_rahasia ditetapkan jadi 1 angka (misal 85) maka akan error

a)
benar
b)
salah
41.
Terdapat aturan yang harus diikuti dalam pendeklarasian variabel. Manakah yang merupakan pendeklarasian yang tepat? (Pilihan jawaban lebih dari satu)
a)
int nomor resi;
b)

char [40] nama_siswa;

c)
char [50] @username;
d)

float suhu;

e)
string angka1;
42.

Pilih benar atau salah untuk pernyataan berikut mengenai array

Indeks elemen array ditandai oleh nomor terurut yang dimulai dari angka 1

a)
benar
b)
salah
43.

Pilih benar atau salah untuk pernyataan berikut mengenai array

Array dapat diproses dengan menggunakan perulangan pada indeks array

a)
benar
b)
salah
44.

Pilih benar atau salah untuk pernyataan berikut mengenai array

Contoh pendefinisian array yang tepat dalam bahasa C, yaitu int harga_barang [10];

a)
benar
b)
salah
45.

Pilih benar atau salah untuk pernyataan berikut mengenai array

Pada bahasa C, array hanya dapat didefinisikan secara statis

a)
benar
b)
salah
46.

Dalam membuat teh, salah satu langkah adalah "panaskan air".

Berdasarkan konsep struktur data, langkah ini dapat dimodelkan menggunakan ….

a)

array

b)
stack
c)

queue

d)
linked list
e)
hash table
47.

Pasangkan langkah-langkah dalam membuat sarapan berikut dengan strategi algoritmik atau struktur data yang tepat.

Langkah:

A. Mengorganisir semua langkah pembuatan the dan roti dalam cabang-cabang

B. Menyusun urutan langkah membuat teh, seperti panaskan air, tuang air pada teh, tambahkan susu

C. Memilih langsung bahan atau langkah terbaik untuk hasil cepat tanpa memeriksa semua opsi

Strategi algoritmik

1. queue

2. greedy

3. divide qoncuer

4. tree

a)
A1, B2, C3
b)
A2, B3, C2
c)
A3, B4, C1
d)
A4, B1, C2
e)
A3 ,B1, C2
48.

Dalam deklarasi

array int data [5];

jumlah elemen yang dapat disimpan sebanyak ….

a)

4

b)

5

c)

10

d)

tidak terbatas

e)

0