wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

UTS Algoritma dan Pemrograman 2025

Total questions: 70

Worksheet time: 1hrs 20mins

Name
Class
Date
1.
Apa yang dimaksud dengan algoritma?
a)
Sebuah program komputer
b)
Sebuah rangkaian langkah untuk menyelesaikan masalah
c)
Sebuah tipe data dalam pemrograman
d)
Sebuah variabel dalam pemrograman
2.
Apa tujuan dari analisis algoritma?
a)
Memahami kompleksitas waktu dan ruang suatu algoritma
b)
Mengimplementasikan algoritma ke dalam bahasa pemrograman
c)
Menguji kebenaran algoritma dengan menggunakan testcase
d)
Meningkatkan kecepatan eksekusi suatu algoritma
3.
Apa yang dimaksud dengan flowchart?
a)
Representasi visual dari algoritma menggunakan simbol-simbol grafis
b)
Sebuah tipe data dalam pemrograman
c)
Sebuah metode pengurutan data dalam pemrograman
d)
Representasi algoritma menggunakan bahasa manusia yang disederhanakan
4.
Apa perbedaan antara pseudocode dan bahasa pemrograman?
a)
Pseudocode adalah bahasa pemrograman yang digunakan untuk mengimplementasikan algoritma
b)
Pseudocode adalah representasi algoritma dalam bentuk grafis
c)
Bahasa pemrograman adalah representasi algoritma menggunakan bahasa manusia yang disederhanakan
d)
Bahasa pemrograman memiliki sintaksis dan aturan yang ketat, sedangkan pseudocode tidak
5.
Apa yang dimaksud dengan kompleksitas waktu algoritma?
a)
Jumlah langkah yang diperlukan untuk menyelesaikan algoritma
b)
Waktu yang dibutuhkan untuk menulis algoritma
c)
Jumlah instruksi dalam algoritma
d)
Penggunaan memori oleh algoritma
6.
Apa yang dimaksud dengan struktur data array?
a)
Sebuah tipe data yang dapat menyimpan multiple values of the same data type.
b)
Sebuah tipe data yang hanya dapat menyimpan satu nilai pada satu waktu.
c)
Sebuah tipe data yang hanya dapat menyimpan karakter.
d)
Sebuah tipe data yang tidak bisa diubah setelah dideklarasikan.
7.
Apa yang dimaksud dengan array dua dimensi?
a)
Sebuah array yang dapat menyimpan elemen dengan tipe data yang berbeda-beda.
b)
Sebuah array yang dapat menyimpan karakter.
c)
Sebuah array yang dapat menyimpan multiple values of the same data type.
d)
Sebuah array yang dapat menyimpan elemen dengan ukuran yang dapat diubah.
8.
Bagaimana cara mengakses elemen dalam array?
a)
Menggunakan perintah "access" diikuti dengan nama array.
b)
Menggunakan perintah "get" diikuti dengan indeks elemen yang ingin diakses.
c)
Menggunakan perintah "index" diikuti dengan nama array.
d)
Menggunakan perintah "element" diikuti dengan indeks elemen yang ingin diakses.
9.
Apa yang dimaksud dengan indeks dalam array?
a)
Sebuah nilai yang menunjukkan jumlah elemen dalam array.
b)
Sebuah nilai yang menunjukkan posisi relatif suatu elemen dalam array.
c)
Sebuah tipe data yang digunakan untuk menyimpan nilai-nilai dalam array.
d)
Sebuah perintah untuk menghapus elemen dari array.
10.
Apa yang dimaksud dengan array dinamis?
a)
Sebuah array yang ukurannya dapat diubah setelah dideklarasikan.
b)
Sebuah array yang hanya dapat menyimpan satu nilai pada satu waktu.
c)
Sebuah array yang dapat menyimpan elemen dengan ukuran yang dapat diubah.
d)
Sebuah array yang dapat menyimpan multiple values of the same data type.
11.
Apa yang dimaksud dengan Linked List?
a)
Sebuah struktur data yang terdiri dari elemen-elemen yang terhubung satu sama lain melalui pointer.
b)
Sebuah tipe data yang digunakan untuk menyimpan elemen-elemen dalam urutan terurut.
c)
Sebuah algoritma yang digunakan untuk mencari elemen tertentu dalam sebuah array.
d)
Sebuah operasi yang digunakan untuk mengurutkan elemen-elemen dalam sebuah struktur data.
12.
Apa perbedaan utama antara linked list dan array?
a)
Linked list memerlukan alokasi memori statis, sedangkan array memerlukan alokasi memori dinamis.
b)
Linked list memiliki ukuran tetap, sedangkan array memiliki ukuran yang fleksibel.
c)
Linked list menyimpan data dalam urutan terurut, sedangkan array tidak menyimpan data dalam urutan terurut.
d)
Linked list memungkinkan penambahan dan penghapusan elemen dengan mudah, sedangkan array tidak mendukung operasi tersebut secara efisien.
13.
Apa fungsi dari pointer dalam linked list?
a)
Menyimpan data yang terkait dengan setiap elemen dalam linked list.
b)
Menghubungkan elemen-elemen dalam linked list menjadi sebuah struktur data.
c)
Menunjukkan posisi elemen pertama dalam linked list.
d)
Menyimpan ukuran atau panjang dari linked list.
14.
Bagaimana cara menambahkan elemen di awal linked list?
a)
Membuat node baru dan mengatur pointer next node baru ke node pertama.
b)
Membuat node baru dan mengatur pointer next node pertama ke node baru.
c)
Membuat node baru dan mengatur pointer next node terakhir ke node baru.
d)
Membuat node baru dan mengatur pointer next node terakhir ke node pertama.
15.
Bagaimana cara menghapus elemen dari linked list?
a)
Mengubah nilai data pada elemen yang ingin dihapus menjadi NULL.
b)
Menggeser elemen-elemen lain untuk mengisi posisi elemen yang dihapus.
c)
Mengatur pointer next dari elemen sebelum elemen yang dihapus ke elemen setelah elemen yang dihapus.
d)
Mengubah pointer next dari elemen yang dihapus menjadi NULL.
16.
Apa perbedaan utama antara Linked List Sederhana (Singly Linked List) dan Linked List Ganda (Doubly Linked List)?
a)
Linked List Sederhana hanya memiliki satu pointer next, sedangkan Linked List Ganda memiliki dua pointer next dan prev.
b)
Linked List Sederhana menggunakan alokasi memori yang lebih efisien daripada Linked List Ganda.
c)
Linked List Ganda hanya dapat melakukan traversal maju, sedangkan Linked List Sederhana dapat melakukan traversal maju dan mundur.
d)
Linked List Ganda lebih sering digunakan dalam implementasi antrian (queue), sedangkan Linked List Sederhana lebih sering digunakan dalam implementasi tumpukan (stack).
17.
Prinsip operasi pada struktur data stack adalah:
a)
First-In-First-Out (FIFO).
b)
Last-In-First-Out (LIFO).
c)
Random-In-Random-Out (RIRO).
d)
Sequential-In-Sequential-Out (SISO).
18.
Operasi yang digunakan untuk menambahkan elemen baru ke dalam stack disebut:
a)
Push
b)
Pop
c)
Peek
d)
IsEmpty
19.
Operasi yang digunakan untuk menghapus elemen paling atas dari stack disebut:
a)
Push
b)
Pop
c)
Peek
d)
IsEmpty
20.
Operasi yang digunakan untuk melihat elemen paling atas pada stack tanpa menghapusnya disebut:
a)
Push
b)
Pop
c)
Peek
d)
IsEmpty
21.
Operasi yang digunakan untuk memeriksa apakah stack kosong disebut:
a)
Push
b)
Pop
c)
Peek
d)
IsEmpty
22.
Sintaksis umum untuk menambahkan elemen ke dalam stack adalah:
a)
stack.push(element);
b)
stack.pop();
c)
stack.top();
d)
stack.isEmpty();
23.
Sintaksis umum untuk menghapus elemen paling atas dari stack adalah:
a)
stack.push(element);
b)
stack.pop();
c)
stack.top();
d)
stack.isEmpty();
24.
Sintaksis umum untuk melihat elemen paling atas pada stack tanpa menghapusnya adalah:
a)
stack.push(element);
b)
stack.pop();
c)
stack.top();
d)
stack.isEmpty();
25.
Sintaksis umum untuk memeriksa apakah stack kosong adalah:
a)
stack.push(element);
b)
stack.pop();
c)
stack.top();
d)
stack.isEmpty();
26.
Struktur data stack digunakan untuk mengakses elemen-elemen dalam urutan:
a)
Terurut
b)
Acak
c)
Terbalik
d)
Alfanumerik
27.
Operasi apa yang digunakan untuk menambahkan elemen baru ke dalam queue?
a)
Push
b)
Pop
c)
Enqueue
d)
Dequeue
28.
Apa yang terjadi ketika operasi dequeue dilakukan pada queue kosong?
a)
Queue akan dihapus secara keseluruhan.
b)
Elemen terakhir dalam queue akan dihapus.
c)
Tidak ada perubahan pada queue.
d)
Pesan kesalahan akan ditampilkan.
29.
Apa yang dimaksud dengan konsep FIFO dalam queue?
a)
Elemen terakhir yang masuk adalah elemen pertama yang keluar.
b)
Elemen pertama yang masuk adalah elemen pertama yang keluar.
c)
Elemen terakhir yang masuk adalah elemen terakhir yang keluar.
d)
Elemen pertama yang masuk adalah elemen terakhir yang keluar.
30.
Apa yang terjadi pada rear saat operasi enqueue dilakukan pada queue kosong?
a)
Rear tetap tidak berubah.
b)
Rear akan berpindah ke posisi awal queue.
c)
Rear akan berpindah ke posisi akhir queue.
d)
Rear akan menjadi -1.
31.
Apa yang terjadi pada front saat operasi dequeue dilakukan pada queue kosong?
a)
Front tetap tidak berubah.
b)
Front akan berpindah ke posisi awal queue.
c)
Front akan berpindah ke posisi akhir queue.
d)
Front akan menjadi -1.
32.
Algoritma pencarian yang melakukan pencarian secara berurutan dari awal hingga akhir struktur data disebut:
a)
Pencarian linier
b)
Pencarian biner
c)
Pencarian hashing
d)
Pencarian indeks
33.
Metode pencarian biner memanfaatkan sifat terurut dari struktur data untuk mencari elemen dengan membagi struktur data menjadi dua bagian setiap langkahnya. Metode ini memiliki kompleksitas waktu:
a)
O(1)
b)
O(log n)
c)
O(n)
d)
O(n^2)
34.
Algoritma pencarian yang menggunakan indeks khusus untuk mempercepat proses pencarian disebut:
a)
Pencarian linier
b)
Pencarian biner
c)
Pencarian hashing
d)
Pencarian indeks
35.
Teknik pencarian yang mengindeks data dan mempercepat proses pencarian dengan menggunakan fungsi hash disebut:
a)
Pencarian linier
b)
Pencarian biner
c)
Pencarian hashing
d)
Pencarian indeks
36.
Pencarian yang membagi struktur data menjadi dua bagian setiap langkahnya, kemudian mencari di salah satu bagian tergantung pada nilai tengah, adalah deskripsi dari:
a)
Pencarian linier
b)
Pencarian biner
c)
Pencarian hashing
d)
Pencarian indeks
37.

Berikut adalah potongan kode untuk mencari elemen maksimum dalam sebuah array menggunakan algoritma Linear Search:

Pertanyaan: Berapakah kompleksitas waktu algoritma ini?

a)

O(1)

b)

O(n)

c)

O(n^2)

d)

O(log n)

38.

Berikut adalah potongan kode untuk mencari elemen maksimum dalam sebuah array menggunakan algoritma Linear Search:

Pertanyaan: Berapakah kompleksitas waktu algoritma ini?

a)

O(1)

b)

O(n)

c)

O(n^2)

d)

O(log n)

39.

Berikut adalah potongan kode untuk mengurutkan sebuah array menggunakan algoritma Bubble Sort:
Pertanyaan: Berapakah kompleksitas waktu algoritma ini?

a)

O(1)

b)

O(n)

c)

O(n^2)

d)

O(log n)

40.

Berikut adalah potongan kode untuk mencari bilangan Fibonacci ke-n menggunakan pendekatan rekursif:
Pertanyaan: Berapakah kompleksitas waktu algoritma ini?

a)

O(1)

b)

O(n)

c)

O(n^2)

d)

O(2^n)

41.

Berikut adalah potongan kode untuk mencari elemen tertentu dalam sebuah array menggunakan algoritma Binary Search:
Pertanyaan: Berapakah kompleksitas waktu algoritma ini?

a)

O(1)

b)

O(n)

c)

O(log n)

d)

O(n log n)

42.

Berikut adalah potongan kode untuk mencari nilai terkecil dalam sebuah array menggunakan algoritma Linear Search:
Pertanyaan: Berapakah kompleksitas waktu algoritma ini?

a)

O(1)

b)

O(n)

c)

O(n^2)

d)

O(log n)

43.

1. Langkah pertama yang dilakukan untuk menyusun sebuah program adalah :

a)

Membuat program

b)

Membuat Algoritma

c)

Membeli komputer

d)

Proses

e)

Memproses Listing Algoritma

44.

Bahasa Pseudocode yang di gunakan pada penulisan algoritma berupa :

a)

Bahassa Inggris

b)

Bahasa Puitis

c)

Bahasa yang lebih ringkas dari algoritma

d)

Sembarang bahasa asal terstruktur

e)

Bahasa

45.

Pada pembuatan program komputer, algoritma dibuat :

a)

Sebelum pembuatan program

b)

Pada saat program dibuat

c)

Sesudah pembuatan program

d)

Pada saat verifikasi program

e)

Sebelum menulis ide

46.

Perhatikan penggalan Psedocode Luas trapesium !

program luas_Trapesium;

Deklarasi

x: real

artinya . . . .

a)

x variabel real

b)

x sama

c)

x tidak memiliki arti

d)

x tipe data real

e)

x tidak sama dengan Real

47.

Manakah pernyataan algoritma yang tidak benar

a)

Algoritma harus disusun secara logis

b)

Algoritma harus disusun secara sistematis

c)

Algoritma harus mempunyai berbagai macam makna

d)

Algoritma memiliki langkah yang jelas

e)

Algoritma memiliki hasil yang benar

48.

Algoritma dapat disajikan menggunakan cara, kecuali

a)

Menggunakan pseodocode

b)

Menggunakan bahasa rahasia

c)

Menggunakan bahasa sehari-hari

d)

Menggunakan flowchart

e)

Menggunakan diagram alur

49.

Tipe data yang hanya mengenal kondisi True atau False pada bahasa pemrograman Pascal, adalah?

a)

String

b)

Char

c)

Boolean

d)

Long int

e)

Int

50.

Perhatikan potongan source code di bawah ini


var

i:integer;

b:real;

begin

b:=7.5;

a:=b + 1;

writeln(a);

end.


apa yang terjadi ketika di-compile dan kemudian di-run

a)

8.5

b)

8

c)

9

d)

ERROR

51.

while i<=15 do

i:=i+4;

writeln(i);

Jika i dimulai dengan nilai 6, berapakah nilai i yang ditampilkan

a)

14

b)

15

c)

18

d)

10

52.

Akhir pernyataan menggunakan ....

a)

=

b)

:

c)

;

d)

:=

53.

Kumpulan perintah atau langkah yang terhingga jumlahnya yang digunakan untuk menyelesaikan masalah logika dan matematika dengan bantuan komputer, disebut ....

a)

Narasi

b)

Flowchart

c)

Algoritma

d)

Diagram

e)

Logika

54.

Bagian Flowchart yang berfungsi untuk menyatakan suatu tindakan disebut . . . .

a)

Manual input

b)

Decision symbol

c)

Preparation symbol

d)

Processing symbol

e)

Rectangle symbol

55.

Bagian Flowchart yang berfungsi untuk mencetak disebut . . . .

a)

Input

b)

Output

c)

Proses

d)

Decision

e)

Terminal

56.

Berikut ini bentuk Simbol dari Decision yaitu . . . .

a)
b)
c)
d)
e)

Tidak ada yang benar

57.

Simbol Diagram Alir (Flowchart) yang digunakan untuk menyatakan Permulaan atau Akhir Suatu Program yaitu . . . .

a)
b)
c)
d)
e)

Tidak ada yang benar

58.

Langkah pertama yang dilakukan untuk menyusun sebuah program adalah ....

a)

Membuat program

b)

Membuat algoritma

c)

Membeli komputer

d)

Proses

e)

Memproses listing algoritma

59.

Apa nama simbol Flowchart berikut

a)

Input/Output

b)

Proses

c)

Mulai (start)/akhir (stop)

d)

Pilihan

e)

Output

60.

Simbol flowchart yang berfungsi untuk percabangan atau pilihan adalah ....

a)
b)
c)
d)
e)
61.

Apa yang dimaksud dengan perintah input dalam pemrograman C?

a)

Perintah untuk menampilkan data ke layar

b)

Perintah untuk mengambil data dari pengguna

c)

Perintah untuk menyimpan data ke dalam file

d)

Perintah untuk menghapus data

62.

Fungsi mana yang digunakan untuk menampilkan output di layar dalam bahasa C?

a)

input()

b)

display()

c)

printf()

d)

write()

63.

Apa fungsi dari scanf() dalam bahasa C?

a)

Menyimpan data ke dalam file

b)

Mengambil input dari pengguna

c)

Menampilkan data ke layar

d)

Menghapus data

64.

Fungsi mana yang digunakan untuk menulis data ke dalam file dalam bahasa C?

a)

fwrite()

b)

print()

c)

output()

d)

write()

65.

Apa yang dilakukan perintah `scanf("%d", &x);`?

a)

Mengambil input string

b)

Mengambil input integer dan menyimpannya ke variabel x

c)

Menampilkan nilai x

d)

Menghapus nilai x

66.

Perintah mana yang digunakan untuk membaca data dari file dalam bahasa C?

a)

read()

b)

fscanf()

c)

input()

d)

get()

67.

Apa yang akan ditampilkan oleh perintah berikut: `printf("Hello, World!");`?

a)

Hello, World!

b)

"Hello, World!"

c)

Hello World

d)

Tidak ada output

68.

Apa yang akan terjadi jika kita tidak menggunakan `&` saat menggunakan scanf untuk variabel integer?

a)

Program akan berjalan dengan baik

b)

Program akan menghasilkan error

c)

Nilai tidak akan disimpan

d)

Program akan berhenti

69.

Apa yang dimaksud dengan perintah output dalam pemrograman C?

a)

Perintah untuk mengambil data dari pengguna

b)

Perintah untuk menyimpan data ke dalam file

c)

Perintah untuk menampilkan data ke layar

d)

Perintah untuk menghapus data

70.

Apa yang dilakukan perintah `fgets(buffer, sizeof(buffer), file);`?

a)

Membaca satu karakter dari file

b)

Membaca satu baris dari file

c)

Menulis ke file

d)

Menghapus file