Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

SOAL UTS – STRUKTUR DATA DAN ALGORITMA

Total questions: 40

Worksheet time: 20mins

Name
Class
Date
1.

Yang bukan penggunaan karakteristik Algoritma yang baik adalah?

a)

Jelas dan tidak ambigu

b)

Memiliki langkah terbatas

c)

Selalu menggunakan struktur data kompleks

d)

Memiliki input dan output yang jelas

2.

Struktur data mempunyai fungsi yang utama yaitu?

a)

Mempercepat proses debugging

b)

Mengorganisasi dan mengelola data agar lebih efisien

c)

Memperbesar ukuran memori

d)

Menghilangkan kebutuhan algoritma

3.

Hubungan algoritma dan efisiensi program adalah?

a)

Efisiensi tidak bergantung pada algoritma

b)

Semakin panjang algoritma, semakin efisien

c)

Algoritma menentukan penggunaan waktu dan memori

d)

Efisiensi hanya bergantung pada bahasa pemrograman

4.

Contoh nyata peran dari struktur data dalam pemrograman adalah?

a)

Penggunaan loop berulang

b)

Penyimpanan data mahasiswa menggunakan array

c)

Penggunaan banyak komentar

d)

Pemilihan warna tampilan aplikasi

5.

ADT (Abstract Data Type) yang utama berfokus kepada?

a)

Cara data direpresentasikan secara fisik

b)

Implementasi memori tingkat rendah

c)

Operasi apa yang dapat dilakukan pada data

d)

Format penyimpanan pada harddisk

6.

Berikut adalah karakteristik array, kecuali?

a)

A. Elemen disimpan secara berurutan dalam memori

b)

B. Ukuran bersifat statis

c)

C. Akses elemen O(1)

d)

D. Dapat berubah ukuran secara dinamis

7.

Index array pada sebagian besar bahasa pemrograman dimulai dari?

a)

0

b)

1

c)

2

d)

-1

8.

Jika array A memiliki 10 elemen bertipe integer (4 byte), maka total memori yang digunakan adalah.?

a)

10 byte

b)

20 byte

c)

40 byte

d)

80 byte

9.

Notasi Big-O digunakan untuk.?

a)

Menghitung memori komputer

b)

Menentukan kecepatan prosesor

c)

Menganalisis kompleksitas algoritma

d)

Mencari error pada program

10.

Manakah arti dari notasi algoritma dengan kompleksitas O(1) ?

a)

Waktu eksekusi tetap

b)

Waktu eksekusi meningkat eksponensial

c)

Waktu eksekusi meningkat linear

d)

Waktu eksekusi menurun

11.

Berikut pseudocode yang benar untuk menampilkan bilangan 1 sampai 5?

a)

for i = 1 to 5 print(i)

b)

for (i = 1; i < 5; i++) print(i)

c)

for 1 to 5 print

d)

loop(1..5)

12.

Jika sebuah algoritma membutuhkan memori tambahan untuk variabel lokal, maka ini termasuk analisis.

a)

Time Complexity

b)

Space Complexity

c)

Runtime Error

d)

Constant Time

13.

Ciri utama fungsi rekursif adalah.?

a)

Tidak memiliki parameter

b)

Memanggil fungsi lain

c)

Memanggil dirinya sendiri

d)

Tidak memiliki return value

14.

Base case dalam rekursi berfungsi untuk.?

a)

Menghentikan pemanggilan rekursif

b)

Mempercepat algoritma

c)

Menggandakan pemanggilan fungsi

d)

Mengurangi memori

15.

Rumus faktorial yang benar adalah.?

a)

n! = n – (n–1)!

b)

n! = n × (n–1)!

c)

n! = n + (n–1)!

d)

n! = (n–1)!

16.

Deret Fibonacci ditentukan oleh rumus.?

a)

F(n)=F(n–1)–F(n–2)

b)

F(n)=F(n–1)+F(n–2)

c)

F(n)=n×(n–1)

d)

F(n)=2n

17.

Masalah Menara Hanoi memiliki kompleksitas waktu.

a)

O(n)

b)

O(n²)

c)

O(2ⁿ)

d)

O(log n)

18.

Prinsip dasar stack adalah?

a)

FIFO

b)

FILO

c)

LIFO

d)

Random Access

19.

Operasi pop() pada stack berfungsi untuk?

a)

Mengambil elemen paling bawah

b)

Menambah elemen baru

c)

Menghapus elemen paling atas

d)

Mengurutkan elemen

20.

Berikut yang bukan aplikasi stack adalah.?

a)

Evaluasi ekspresi

b)

Backtracking

c)

Penyimpanan riwayat browser

d)

Pencarian biner

21.

Stack dapat diimplementasikan dengan.?

a)

Array

b)

Linked list

c)

Keduanya benar

d)

Tidak ada yang benar

22.

Overflow pada stack terjadi ketika.?

a)

Stack kosong

b)

Stack penuh

c)

Terjadi error sintaks

d)

Terjadi infinite loop

23.

Queue menggunakan prinsip.?

a)

LIFO

b)

FIFO

c)

FILO

d)

Random

24.

Operasi enqueue() digunakan untuk?

a)

Menghapus elemen

b)

Menambah elemen ke antrian

c)

Mengurutkan elemen

d)

Mengambil elemen terakhir

25.

Circular queue digunakan untuk.?

a)

Menghindari pemborosan memori

b)

Mempermudah pengurutan

c)

Mengakses elemen tengah

d)

Membatasi nilai maksimum

26.

Contoh penerapan queue dalam sistem komputer adalah.?

a)

Undo/Redo

b)

Scheduler CPU

c)

Compile program

d)

Sorting data

27.

Kondisi queue kosong terjadi ketika.?

a)

front = rear

b)

front = -1 dan rear = -1

c)

rear berada di akhir array

d)

kapasitas kurang

28.

Keunggulan utama linked list dibanding array adalah?

a)

A. Akses elemen O(1)

b)

B. Dapat mengubah ukuran secara dinamis

c)

C. Penyimpanan lebih rapat

d)

D. Tidak membutuhkan pointer

29.

Node dalam linked list minimal memiliki?

a)

Data

b)

Pointer

c)

Data dan pointer

d)

Data, pointer, dan index

30.

Proses menambah node di awal linked list disebut?

a)

Append

b)

Insert Last

c)

Insert First

d)

Delete Begin

31.

Operasi delete pada linked list memerlukan?

a)

A. Akses langsung berdasarkan index

b)

B. Menggeser semua elemen

c)

C. Mengubah pointer node sebelumnya

d)

D. Menyalin seluruh list

32.

Kekurangan linked list dibanding array adalah?

a)

Tidak dinamis

b)

Waktu akses lebih lambat

c)

Tidak bisa menambah data

d)

Tidak bisa menghapus data

33.

Pemilihan struktur data yang tepat harus mempertimbangkan?

a)

Tampilan aplikasi

b)

Kebiasaan programmer

c)

Efisiensi waktu dan memori

d)

Jenis komputer

34.

Untuk kasus undo/redo pada aplikasi teks, struktur data yang paling tepat adalah?

a)

Queue

b)

Stack

c)

Linked list

d)

Array

35.

Struktur data yang paling tepat untuk menyimpan antrean tiket adalah?

a)

Stack

b)

Circular Queue

c)

Linked list

d)

Binary Tree

36.

Jika algoritma A memiliki kompleksitas O(n²) dan algoritma B O(n log n), maka?

a)

A. A selalu lebih cepat

b)

B. B biasanya lebih cepat untuk n besar

c)

C. Keduanya sama cepat

d)

D. A lebih efisien dalam memori

37.

Untuk traversal seluruh elemen secara berurutan tanpa perlu akses acak, struktur data yang tepat adalah?

a)

Linked list

b)

Stack

c)

Hash table

d)

Priority queue

38.

Ketika sebuah program menggunakan rekursi yang dalam tanpa base case, akan terjadi?

a)

Program berjalan lebih cepat

b)

Stack overflow

c)

Deadlock

d)

Infinite queue

39.

Untuk mengimplementasikan sistem yang membutuhkan insert/delete di awal dan akhir dengan efisien, struktur data yang tepat adalah?

a)

Single linked list

b)

Double linked list

c)

Stack

d)

Queue

40.

Jika ingin mengurangi fragmentasi memori dan meningkatkan fleksibilitas penyimpanan, maka struktur data yang lebih baik adalah?

a)

Array

b)

Linked list

c)

Stack

d)

Queue