💜 Selalu gratis

Soalut.com tetap gratis karena kamu. Yuk, bantu kami terus hadir!💜 Selalu gratis

Soal UAS UT MSIM4202 Struktur Data dan Kunci Jawaban

Aplikasi Gratis

Soalut.com
★★★★★ 5.0
Gratis
GET IT ON Google Play
Soal UAS UT MSIM4202 Struktur Data dan Kunci Jawaban
Soal UT MSIM4202 Struktur Data

“Pulang kerja, eh harus belajar tree sama graph? Modul 7 dan 8 itu dua topik yang paling bikin mahasiswa UT mengernyitkan dahi. Padahal struktur datanya logis kok. latihan soal UT di halaman ini sangat membantu untuk melihat perbedaan representasi binary tree dengan adjacency list pada graph. Bedanya tipis tapi krusial, apalagi kalau sudah masuk ke modul traversal.

Soal UAS MSIM4202 Struktur Data biasanya menguji modul awal seperti konsep array dan linked list juga, bukan cuma ujung-ujungnya. Mergesort di modul 6 sering banget diwawancarakan lewat simulasi proses penggabungan data. kumpulan soal UT Akuntansi Keuangan Publik mungkin untuk matkul lain, tapi prinsip latihannya sama: fokus ke detail algoritma. Coba deh kerjakan soal stack dulu sebelum queue.

Soal Ujian UT di bawah ini langsung mengetes pemahamanmu tentang inorder traversal atau implementasi queue dengan array, bukan cuma hafalan definisi. Setiap soal dilengkapi kunci jawaban dan pembahasan, jadi kamu langsung tahu di mana letak kesalahan logika. latihan UAS Universitas Terbuka ini komplet untuk menguji modul 1 sampai modul 9 sekaligus.”

Soal UT MSIM4202 Struktur Data

1.

Apa yang dimaksud dengan struktur data?

  • A. Suatu skema atau cara untuk mengorganisir dan menyimpan data agar dapat diakses dan diolah secara efisien
  • B. Kumpulan data yang disusun secara acak tanpa aturan
  • C. Bahasa pemrograman yang digunakan untuk mengolah data
  • D. Perangkat keras yang digunakan untuk menyimpan data
Jawaban: A
Struktur data adalah cara untuk mengorganisir dan menyimpan data sehingga dapat digunakan secara efisien.
2.

Manakah dari berikut yang bukan merupakan jenis struktur data berdasarkan sifatnya?

  • A. Struktur data linier
  • B. Struktur data abstrak
  • C. Struktur data statis dan dinamis
  • D. Struktur data non linier
Jawaban: B
Struktur data abstrak adalah konsep, bukan jenis berdasarkan sifat. Jenis berdasarkan sifat meliputi linier, non linier, statis, dan dinamis.
3.

Contoh struktur data linier adalah…

  • A. Tree
  • B. Array
  • C. Graph
  • D. Binary tree
Jawaban: B
Array adalah struktur data linier karena elemennya tersusun secara berurutan. Tree dan graph adalah non linier.
4.

Pemilihan struktur data yang tepat dalam suatu program bertujuan untuk…

  • A. Memperindah tampilan program
  • B. Menambah jumlah data yang dapat disimpan
  • C. Meningkatkan efisiensi penggunaan memori dan waktu eksekusi
  • D. Membuat program lebih rumit
Jawaban: C
Struktur data yang tepat dapat mengoptimalkan penggunaan memori dan waktu eksekusi program.
5.

Dalam konteks struktur data, operasi dasar yang dapat dilakukan pada suatu struktur data adalah…

  • A. Hanya menyisipkan data
  • B. Hanya menghapus data
  • C. Menyisipkan, menghapus, mencari, dan mengakses data
  • D. Hanya mencari data
Jawaban: C
Operasi dasar meliputi penyisipan, penghapusan, pencarian, dan akses data.
6.

Dalam matematika, notasi Big O digunakan untuk…

  • A. Menghitung jumlah data dalam suatu struktur
  • B. Membandingkan dua buah bilangan
  • C. Menentukan jenis struktur data
  • D. Menggambarkan kompleksitas waktu atau ruang dari suatu algoritma
Jawaban: D
Notasi Big O menggambarkan batas atas kompleksitas waktu atau ruang suatu algoritma.
7.

Jika suatu algoritma memiliki kompleksitas O(log n), maka waktu eksekusinya akan…

  • A. Meningkat secara linear seiring bertambahnya n
  • B. Meningkat secara logaritmik seiring bertambahnya n
  • C. Meningkat secara eksponensial
  • D. Tetap konstan
Jawaban: B
Kompleksitas O(log n) menunjukkan peningkatan waktu secara logaritmik terhadap ukuran input n.
8.

Perbandingan notasi O(n) dan O(n^2) dalam hal efisiensi adalah…

  • A. O(n^2) lebih efisien
  • B. Tidak dapat dibandingkan
  • C. Keduanya sama efisien
  • D. O(n) lebih efisien
Jawaban: D
O(n) lebih efisien karena waktu eksekusi bertambah secara linear, sedangkan O(n^2) bertambah secara kuadratik.
9.

Dalam konteks struktur data, fungsi rekursif adalah fungsi yang…

  • A. Memiliki kompleksitas O(1)
  • B. Tidak pernah mengembalikan nilai
  • C. Hanya digunakan dalam matematika
  • D. Memanggil dirinya sendiri
Jawaban: D
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri untuk menyelesaikan masalah.
10.

Jika suatu algoritma memiliki kompleksitas O(2^n), maka algoritma tersebut termasuk dalam kategori…

  • A. Tidak efisien untuk data besar
  • B. Efisien untuk data besar
  • C. Sangat efisien
  • D. Konstan
Jawaban: A
Kompleksitas O(2^n) adalah eksponensial, sehingga tidak efisien untuk ukuran data yang besar.
11.

Dalam bahasa pemrograman Java, tipe data primitif adalah tipe data yang…

  • A. Telah ditentukan oleh bahasa pemrograman dan memiliki ukuran tetap
  • B. Merupakan objek dari suatu kelas
  • C. Didefinisikan oleh pengguna
  • D. Hanya dapat digunakan dalam satu metode
Jawaban: A
Tipe data primitif adalah tipe bawaan Java seperti int, char, boolean dengan ukuran tetap.
12.

Pernyataan yang benar tentang kelas dan objek dalam Java adalah…

  • A. Kelas adalah instance dari objek
  • B. Kelas adalah cetak biru untuk membuat objek
  • C. Objek adalah cetak biru dari kelas
  • D. Kelas dan objek adalah hal yang sama
Jawaban: B
Kelas merupakan cetak biru (blueprint) yang mendefinisikan properti dan perilaku objek.
13.

Konsep enkapsulasi dalam Java berarti…

  • A. Memungkinkan suatu kelas mewarisi properti dari kelas lain
  • B. Menggabungkan beberapa kelas menjadi satu
  • C. Menyembunyikan detail implementasi dan hanya menampilkan antarmuka publik
  • D. Membuat objek dari suatu kelas
Jawaban: C
Enkapsulasi menyembunyikan detail internal kelas dan hanya memberikan akses melalui metode publik.
14.

Dalam Java, keyword 'new' digunakan untuk…

  • A. Mendeklarasikan variabel
  • B. Memanggil metode statis
  • C. Menghapus objek
  • D. Membuat objek baru dari suatu kelas
Jawaban: D
Keyword 'new' digunakan untuk mengalokasikan memori dan membuat objek baru.
15.

Inheritance dalam Java memungkinkan…

  • A. Suatu kelas mewarisi atribut dan metode dari kelas lain
  • B. Suatu objek mengubah tipe datanya
  • C. Dua kelas memiliki nama yang sama
  • D. Suatu metode memiliki banyak parameter
Jawaban: A
Inheritance adalah pewarisan sifat dari kelas induk ke kelas anak.
16.

Tipe data primitif dalam Java yang digunakan untuk menyimpan bilangan bulat adalah…

  • A. int
  • B. double
  • C. float
  • D. char
Jawaban: A
int adalah tipe data primitif untuk bilangan bulat. float dan double untuk bilangan desimal, char untuk karakter.
17.

Tipe data abstrak (ADT) didefinisikan sebagai…

  • A. Tipe data yang hanya berisi bilangan
  • B. Tipe data yang tidak dapat diubah nilainya
  • C. Tipe data yang hanya mendefinisikan operasi tanpa menentukan implementasi
  • D. Tipe data yang selalu berupa array
Jawaban: C
ADT mendefinisikan operasi yang dapat dilakukan pada data tanpa merinci bagaimana operasi tersebut diimplementasikan.
18.

Tipe data primitif dalam Java yang digunakan untuk menyimpan bilangan bulat adalah…

  • A. int
  • B. float
  • C. double
  • D. char
Jawaban: A
int adalah tipe data primitif untuk bilangan bulat, sedangkan float dan double untuk bilangan pecahan, char untuk karakter.
19.

Tipe data abstrak (ADT) berbeda dengan tipe data primitif karena ADT…

  • A. memiliki implementasi yang tersembunyi dari pengguna
  • B. hanya dapat menyimpan satu nilai
  • C. tidak dapat digunakan dalam operasi aritmatika
  • D. selalu memiliki ukuran tetap
Jawaban: A
ADT menyembunyikan detail implementasi, hanya menyediakan operasi yang dapat digunakan, berbeda dengan tipe primitif yang langsung dieksekusi.
20.

Dalam Java, tipe data boolean digunakan untuk menyimpan nilai…

  • A. bilangan pecahan
  • B. karakter
  • C. kebenaran (true/false)
  • D. bilangan bulat besar
Jawaban: C
boolean hanya memiliki dua nilai yaitu true dan false, digunakan untuk kondisi logika.
21.

Array dalam Java memiliki indeks yang dimulai dari…

  • A. 0
  • B. 1
  • C. -1
  • D. tergantung deklarasi
Jawaban: A
Indeks array di Java selalu dimulai dari 0, sesuai dengan standar bahasa pemrograman C-based.
22.

Deklarasi array int[] angka = new int[5]; akan menghasilkan array dengan jumlah elemen sebanyak…

  • A. 4
  • B. 10
  • C. 6
  • D. 5
Jawaban: D
new int[5] mengalokasikan 5 elemen array dengan indeks 0 sampai 4.
23.

Untuk mengakses elemen ke-3 dari array arr, sintaks yang benar adalah…

  • A. arr[3]
  • B. arr[2]
  • C. arr[1]
  • D. arr[0]
Jawaban: B
Indeks dimulai dari 0, sehingga elemen ke-3 berada di indeks 2.
24.

Array multidimensi dalam Java dapat dideklarasikan dengan cara…

  • A. int matriks[3][2] = new int;
  • B. int[] matriks = new int[3][2];
  • C. int[][] matriks = new int[3][2];
  • D. array matriks[3][2];
Jawaban: C
Deklarasi array multidimensi menggunakan dua pasang kurung siku, misalnya int[][] untuk matriks.
25.

Jika array int[] data = {10, 20, 30}; maka nilai data.length adalah…

  • A. 2
  • B. 4
  • C. 3
  • D. 10
Jawaban: C
Atribut length mengembalikan jumlah elemen array, yaitu 3.
26.

Linked list berbeda dengan array karena linked list…

  • A. memiliki ukuran tetap
  • B. elemen disimpan dalam alamat memori berurutan
  • C. tidak dapat diubah setelah dibuat
  • D. setiap elemen memiliki pointer ke elemen berikutnya
Jawaban: D
Linked list menggunakan node yang saling terhubung melalui pointer, tidak memerlukan alamat memori berurutan.
27.

Keuntungan utama linked list dibandingkan array adalah…

  • A. penyisipan dan penghapusan lebih efisien
  • B. akses acak lebih cepat
  • C. penggunaan memori lebih kecil
  • D. lebih mudah diimplementasikan
Jawaban: A
Linked list memungkinkan penyisipan dan penghapusan elemen tanpa pergeseran, sedangkan array memerlukan pergeseran elemen.
28.

Dalam struktur linked list, node terakhir biasanya memiliki pointer next yang menunjuk ke…

  • A. node pertama
  • B. node sebelumnya
  • C. dirinya sendiri
  • D. null
Jawaban: D
Node terakhir dalam linked list menunjuk ke null untuk menandai akhir dari list.
29.

Operasi yang paling lambat dalam linked list jika dibandingkan dengan array adalah…

  • A. penyisipan di awal
  • B. akses acak berdasarkan indeks
  • C. penghapusan di akhir
  • D. penyisipan di tengah
Jawaban: B
Linked list tidak mendukung akses acak, sehingga untuk mencari elemen berdasarkan indeks perlu traversal dari awal.
30.

Jika linked list baru dibuat dengan satu node, maka pointer head dan tail akan menunjuk ke…

  • A. node yang berbeda
  • B. node yang sama
  • C. null
  • D. tidak dapat ditentukan
Jawaban: B
Ketika hanya ada satu node, head dan tail sama-sama menunjuk ke node tersebut.
31.

Dalam praktikum tipe data primitif, deklarasi variabel bertipe float di Java adalah…

  • A. float x = 10.5f;
  • B. float x = 10.5;
  • C. float x = 10;
  • D. float x = '10.5';
Jawaban: A
Literal float harus diakhiri dengan f, karena tanpa f akan dianggap double.
32.

Saat praktikum, untuk menampilkan output ke layar di Java digunakan perintah…

  • A. print.out()
  • B. console.log()
  • C. System.out.println()
  • D. output.print()
Jawaban: C
System.out.println() adalah method standar di Java untuk mencetak ke konsol.
33.

Dalam praktikum array, potongan kode int[] arr = new int[3]; arr[0]=1; arr[1]=2; arr[2]=3; kemudian menjumlahkan semua elemen akan menghasilkan…

  • A. 5
  • B. 8
  • C. 7
  • D. 6
Jawaban: D
Jumlah dari 1+2+3 sama dengan 6.
34.

Pada praktikum linked list, jika ingin menambahkan node baru di akhir list, operasi yang dilakukan adalah…

  • A. mengubah pointer head
  • B. mengubah pointer next node terakhir menunjuk ke node baru, lalu update tail
  • C. mengubah pointer next node terakhir menjadi null
  • D. menghapus node pertama
Jawaban: B
Menambahkan di akhir memerlukan perubahan pointer next node terakhir dan update tail untuk menunjuk node baru.
35.

Dalam praktikum tipe data primitif di Java, jika kita mendeklarasikan variabel dengan tipe data int dan memberinya nilai 100, kemudian melakukan operasi penambahan dengan nilai 50, maka hasil akhir dari variabel tersebut adalah?

  • A. 150
  • B. 100
  • C. 50
  • D. 200
Jawaban: A
Variabel int di Java dapat diubah nilainya, penambahan 100 dengan 50 menghasilkan 150.
36.

Konsep LIFO (Last In First Out) pada stack berarti bahwa elemen yang terakhir dimasukkan akan menjadi elemen yang pertama dikeluarkan. Prinsip ini berlaku pada operasi stack yaitu?

  • A. insert dan delete
  • B. enqueue dan dequeue
  • C. push dan pop
  • D. add dan remove
Jawaban: C
Operasi push untuk memasukkan elemen ke stack, pop untuk mengeluarkan elemen teratas, sesuai prinsip LIFO.
37.

Dalam struktur data stack, fungsi top digunakan untuk?

  • A. menambah elemen baru ke dalam stack
  • B. menghapus elemen teratas dari stack
  • C. memeriksa apakah stack kosong
  • D. melihat nilai elemen teratas tanpa menghapusnya
Jawaban: D
Fungsi top atau peek mengembalikan nilai elemen teratas tanpa mengubah isi stack.
38.

Pada stack, kondisi ketika tidak ada elemen di dalam stack disebut?

  • A. overflow
  • B. underflow
  • C. full
  • D. empty
Jawaban: D
Kondisi empty terjadi ketika stack tidak memiliki elemen, sedangkan underflow adalah kondisi saat pop dilakukan pada stack kosong.
39.

Jika sebuah stack mula-mula kosong, kemudian dilakukan operasi push(5), push(10), push(15), lalu pop(), maka elemen yang tersisa di dalam stack adalah?

  • A. 10 dan 15
  • B. 5 dan 10
  • C. 15 saja
  • D. 5 saja
Jawaban: B
Setelah push(5), push(10), push(15), stack berisi 5,10,15 (15 di atas). Pop menghapus 15, sisa 5 dan 10.
40.

Dalam implementasi stack menggunakan array, jika array memiliki kapasitas maksimal dan stack sudah penuh, maka operasi push akan menyebabkan?

  • A. underflow
  • B. deletion
  • C. insertion
  • D. overflow
Jawaban: D
Overflow terjadi saat push dilakukan pada stack yang sudah penuh karena kapasitas array terbatas.
41.

Pada stack yang diimplementasikan dengan array, sebuah variabel top digunakan untuk menunjuk indeks elemen teratas. Saat stack kosong, nilai top sebaiknya diatur menjadi?

  • A. 0
  • B. 1
  • C. -1
  • D. sama dengan kapasitas array
Jawaban: C
Nilai top = -1 menandakan stack kosong karena indeks array dimulai dari 0.
42.

Jika stack diimplementasikan dengan array berukuran 5, dan dilakukan push berturut-turut untuk 3 elemen, maka nilai top setelah semua push adalah?

  • A. 0
  • B. 2
  • C. 1
  • D. 3
Jawaban: B
Push pertama membuat top = 0, push kedua top = 1, push ketiga top = 2.
43.

Dalam array yang digunakan sebagai stack, operasi pop akan melakukan akses pada elemen di indeks?

  • A. 0
  • B. kapasitas – 1
  • C. top
  • D. top – 1
Jawaban: C
Pop mengakses elemen pada indeks top, kemudian nilai top dikurangi satu.
44.

Jika stack dengan array berkapasitas 4 berisi elemen pada indeks 0,1,2, maka kapasitas yang tersisa untuk push berikutnya adalah?

  • A. 1
  • B. 0
  • C. 2
  • D. 3
Jawaban: A
Dari 4 kapasitas, sudah terisi 3 elemen, sisa 1 slot untuk push.
45.

Dalam bahasa Java, untuk membuat objek stack dengan menggunakan kelas Stack dari java.util, perintah impor yang tepat adalah?

  • A. import java.Stack;
  • B. import java.util.Stack;
  • C. import java.util.*;
  • D. import java.util.List;
Jawaban: B
Kelas Stack berada dalam paket java.util, sehingga perintah import yang tepat adalah java.util.Stack.
46.

Metode dalam kelas Stack Java yang digunakan untuk menambahkan elemen ke dalam stack adalah?

  • A. add()
  • B. push()
  • C. insert()
  • D. put()
Jawaban: B
Kelas Stack Java memiliki metode push() untuk menambahkan elemen ke atas stack.
47.

Jika kita memiliki objek Stack di Java bernama tumpukan, maka untuk mengambil elemen teratas tanpa menghapusnya, perintah yang benar adalah?

  • A. tumpukan.pop()
  • B. tumpukan.top()
  • C. tumpukan.peek()
  • D. tumpukan.elementAt(0)
Jawaban: C
Metode peek() pada Stack Java mengembalikan elemen teratas tanpa menghapusnya.
48.

Dalam implementasi stack di Java, jika kita memanggil metode pop() pada stack yang kosong, maka akan terjadi?

  • A. EmptyStackException
  • B. StackOverflowError
  • C. NullPointerException
  • D. IndexOutOfBoundsException
Jawaban: A
Pop pada stack kosong akan melempar EmptyStackException sesuai dengan dokumentasi Java.
49.

Kelas Stack di Java merupakan turunan dari kelas?

  • A. Vector
  • B. LinkedList
  • C. ArrayList
  • D. Queue
Jawaban: A
Kelas Stack di Java merupakan subclass dari Vector, yang juga turunan dari List.
50.

Queue dalam struktur data menggunakan prinsip FIFO, yang berarti?

  • A. Last In Last Out
  • B. Last In First Out
  • C. First In Last Out
  • D. First In First Out
Jawaban: D
FIFO adalah singkatan dari First In First Out, di mana elemen yang pertama masuk akan keluar lebih dulu.
51.

Operasi memasukkan elemen ke dalam queue disebut dengan?

  • A. enqueue
  • B. push
  • C. dequeue
  • D. pop
Jawaban: A
Enqueue adalah istilah untuk menambahkan elemen ke bagian belakang queue, sesuai dengan konsep antrian.
52.

Dalam struktur data queue, prinsip operasi yang digunakan adalah?

  • A. First In First Out (FIFO)
  • B. Last In First Out (LIFO)
  • C. Last In Last Out (LILO)
  • D. Random Access
Jawaban: A
Queue menggunakan prinsip FIFO, di mana elemen pertama yang masuk akan menjadi elemen pertama yang keluar.
53.

Jika queue diumpamakan antrian di loket, operasi yang dilakukan saat memasukkan elemen baru disebut?

  • A. pop
  • B. push
  • C. dequeue
  • D. enqueue
Jawaban: D
Enqueue adalah operasi untuk menambahkan elemen ke bagian belakang queue, analog dengan seseorang yang masuk ke antrian.
54.

Operasi yang menghapus elemen dari queue disebut?

  • A. enqueue
  • B. dequeue
  • C. push
  • D. pop
Jawaban: B
Dequeue adalah operasi untuk menghapus elemen dari bagian depan queue, sesuai dengan elemen yang keluar dari antrian.
55.

Kondisi ketika queue tidak memiliki elemen sama sekali disebut?

  • A. overflow
  • B. full
  • C. underflow
  • D. empty
Jawaban: D
Queue disebut empty ketika tidak ada elemen di dalamnya, berbeda dengan overflow yang terjadi ketika queue penuh.
56.

Jika queue diimplementasikan dengan array dan memiliki ukuran tetap, kondisi ketika queue sudah penuh disebut?

  • A. empty
  • B. overflow
  • C. underflow
  • D. null
Jawaban: B
Overflow terjadi ketika queue berbasis array sudah mencapai kapasitas maksimum dan tidak dapat menampung elemen baru.
57.

Dalam implementasi queue dengan array, penunjuk yang menandai posisi elemen terdepan biasanya disebut?

  • A. front
  • B. rear
  • C. top
  • D. bottom
Jawaban: A
Front adalah variabel yang menunjukkan indeks elemen paling depan dalam queue array, tempat elemen akan dihapus.
58.

Dalam queue berbasis array, variabel yang menandai posisi untuk menambahkan elemen baru adalah?

  • A. rear
  • B. front
  • C. head
  • D. tail
Jawaban: A
Rear adalah indeks tempat elemen baru ditambahkan dalam queue array, sehingga operasi enqueue dilakukan di posisi rear.
59.

Jika queue array memiliki front = 2 dan rear = 5, maka banyak elemen yang ada di queue adalah (dengan asumsi array tidak melingkar)?

  • A. 2
  • B. 3
  • C. 5
  • D. 4
Jawaban: D
Jumlah elemen = rear – front = 5 – 2 = 3, tetapi karena indeks front dan rear menunjukkan posisi, maka terdapat 4 elemen (indeks 2,3,4,5).
60.

Untuk mengatasi masalah pemborosan ruang pada queue array biasa, biasanya digunakan konsep?

  • A. Queue linear
  • B. Queue circular
  • C. Queue dinamis
  • D. Queue prioritas
Jawaban: B
Queue circular memanfaatkan array secara melingkar sehingga ruang yang sudah di-dequeue dapat digunakan kembali, mengurangi pemborosan.
61.

Dalam Java, implementasi queue dapat menggunakan interface?

  • A. Queue
  • B. Set
  • C. List
  • D. Map
Jawaban: A
Java menyediakan interface Queue yang merupakan bagian dari Java Collections Framework, memiliki method seperti offer, poll, dan peek.
62.

Method dalam Java yang digunakan untuk menambahkan elemen ke queue tanpa melempar exception saat queue penuh adalah?

  • A. offer()
  • B. add()
  • C. push()
  • D. put()
Jawaban: A
Method offer() digunakan untuk menambahkan elemen dan mengembalikan false jika queue penuh, berbeda dengan add() yang melempar exception.
63.

Method yang digunakan untuk mengambil dan menghapus elemen depan queue di Java, dan mengembalikan null jika queue kosong adalah?

  • A. remove()
  • B. poll()
  • C. element()
  • D. peek()
Jawaban: B
Poll() mengambil dan menghapus elemen depan, mengembalikan null jika queue kosong, sedangkan remove() melempar exception.
64.

Class Java yang mengimplementasikan queue dengan struktur linked list adalah?

  • A. ArrayList
  • B. HashSet
  • C. LinkedList
  • D. TreeMap
Jawaban: C
LinkedList di Java mengimplementasikan antarmuka Queue, sehingga dapat digunakan sebagai queue dengan operasi FIFO.
65.

Jika queue Java menggunakan LinkedList, maka method untuk melihat elemen depan tanpa menghapusnya dan melempar exception jika kosong adalah?

  • A. peek()
  • B. poll()
  • C. element()
  • D. getFirst()
Jawaban: C
Element() mirip dengan peek() tetapi melempar NoSuchElementException jika queue kosong, sedangkan peek() mengembalikan null.
66.

Sorting adalah proses mengatur data dalam urutan tertentu. Algoritma sorting yang membagi array menjadi dua bagian dan menggabungkannya kembali disebut?

  • A. Bubble sort
  • B. Selection sort
  • C. Insertion sort
  • D. Merge sort
Jawaban: D
Merge sort menggunakan metode divide and conquer dengan membagi array menjadi subarray kecil lalu menggabungkannya secara terurut.
67.

Algoritma sorting yang bekerja dengan menghitung frekuensi kemunculan nilai dan menghasilkan array terurut berdasarkan frekuensi adalah?

  • A. Merge sort
  • B. Quick sort
  • C. Counting sort
  • D. Radix sort
Jawaban: C
Counting sort menghitung jumlah kemunculan setiap nilai, lalu menyusun ulang array berdasarkan frekuensi tersebut tanpa perbandingan.
68.

Pada algoritma merge sort, kompleksitas waktu untuk kasus terbaik, rata-rata, dan terburuk adalah?

  • A. O(n)
  • B. O(n^2)
  • C. O(n log n)
  • D. O(log n)
Jawaban: C
Merge sort memiliki kompleksitas O(n log n) pada semua kasus karena selalu membagi array menjadi dua dan menggabungkannya secara linear.
69.

Algoritma sorting yang membagi data menjadi dua bagian yang sama, kemudian mengurutkan masing-masing bagian secara rekursif, lalu menggabungkannya kembali, dikenal dengan nama apa?

  • A. Bubble sort
  • B. Selection sort
  • C. Insertion sort
  • D. Merge sort
Jawaban: D
Merge sort bekerja dengan membagi data, mengurutkan setiap bagian secara rekursif, dan menggabungkannya.
70.

Salah satu kelemahan utama algoritma bubble sort adalah memiliki kompleksitas waktu kasus terburuk sebesar:

  • A. O(n)
  • B. O(log n)
  • C. O(n^2)
  • D. O(n log n)
Jawaban: C
Bubble sort memiliki kompleksitas O(n^2) pada kasus terburuk, karena memerlukan perbandingan berulang.
71.

Dalam struktur data tree, simpul yang memiliki cabang disebut sebagai:

  • A. Daun
  • B. Akar
  • C. Anak
  • D. Node internal
Jawaban: D
Node internal adalah simpul yang memiliki setidaknya satu anak, berlawanan dengan daun yang tidak memiliki anak.
72.

Tree yang setiap simpulnya hanya memiliki maksimal satu orang tua disebut sebagai:

  • A. Tree murni
  • B. Graph
  • C. Binary tree
  • D. Directed acyclic graph
Jawaban: A
Tree murni adalah tree yang setiap simpulnya tepat memiliki satu orang tua kecuali akar.
73.

Tingkat (level) dari suatu simpul dalam tree diukur berdasarkan jarak dari simpul tersebut ke:

  • A. Simpul anak
  • B. Simpul akar
  • C. Simpul daun
  • D. Simpul tetangga
Jawaban: B
Level simpul adalah jarak dari akar, dengan akar berada pada level 0.
74.

Jika suatu tree memiliki tinggi 3, maka jumlah maksimum level yang mungkin adalah:

  • A. 2
  • B. 3
  • C. 5
  • D. 4
Jawaban: D
Tinggi 3 berarti ada level 0, 1, 2, 3, sehingga maksimum 4 level.
75.

Yang dimaksud dengan subtree dalam tree adalah:

  • A. Bagian dari tree yang merupakan tree sendiri
  • B. Simpul tanpa anak
  • C. Kumpulan semua daun
  • D. Akar yang dipotong
Jawaban: A
Subtree adalah bagian tree yang mencakup suatu simpul dan semua keturunannya, dan tetap memenuhi sifat tree.
76.

Dalam binary tree, setiap simpul maksimal memiliki jumlah anak sebanyak:

  • A. 1
  • B. Tidak terbatas
  • C. 3
  • D. 2
Jawaban: D
Binary tree membatasi setiap simpul memiliki maksimal dua anak, yaitu kiri dan kanan.
77.

Pada binary tree, jika suatu simpul tidak memiliki anak kanan, maka pointer right dari simpul tersebut berisi:

  • A. Alamat simpul sendiri
  • B. Null
  • C. Alamat akar
  • D. Alamat simpul kiri
Jawaban: B
Dalam representasi binary tree, jika tidak ada anak kanan, pointer right diisi null.
78.

Traversal inorder pada binary tree menghasilkan urutan:

  • A. Kiri, akar, kanan
  • B. Akar, kiri, kanan
  • C. Kiri, kanan, akar
  • D. Kanankiri, akar
Jawaban: A
Inorder mengunjungi subtree kiri terlebih dahulu, kemudian akar, lalu subtree kanan.
79.

Binary tree yang setiap levelnya terisi penuh kecuali mungkin level terakhir disebut:

  • A. Full binary tree
  • B. Skewed binary tree
  • C. Complete binary tree
  • D. Perfect binary tree
Jawaban: C
Complete binary tree memenuhi semua level terisi penuh kecuali level terakhir yang diisi dari kiri.
80.

Jika suatu binary tree memiliki tinggi 4, maka jumlah maksimum simpul yang mungkin adalah:

  • A. 31
  • B. 15
  • C. 7
  • D. 63
Jawaban: A
Jumlah maksimum simpul binary tree dengan tinggi h adalah 2^(h+1) – 1, untuk h=4 hasilnya 31.
81.

Sifat utama dari binary search tree adalah bahwa semua nilai di subtree kiri suatu simpul:

  • A. Lebih besar dari nilai simpul
  • B. Sama dengan nilai simpul
  • C. Lebih kecil dari nilai simpul
  • D. Tidak ada hubungan
Jawaban: C
Dalam BST, subtree kiri berisi nilai yang lebih kecil dari simpul induk.
82.

Untuk mencari nilai 25 dalam BST, jika nilai akar adalah 30, maka langkah selanjutnya adalah:

  • A. Bergerak ke subtree kanan
  • B. Bergerak ke subtree kiri
  • C. Berhenti karena tidak ditemukan
  • D. Mengunjungi akar lagi
Jawaban: B
Karena 25 < 30, pencarian dilanjutkan ke subtree kiri.
83.

Penghapusan simpul daun dalam BST dilakukan dengan:

  • A. Mengganti dengan simpul anak
  • B. Memindahkan semua anak
  • C. Mengosongkan pointer induk
  • D. Tidak perlu tindakan
Jawaban: C
Simpul daun tidak memiliki anak, sehingga cukup dengan mengatur pointer induk menjadi null.
84.

Kompleksitas waktu pencarian rata-rata pada BST yang seimbang adalah:

  • A. O(n)
  • B. O(log n)
  • C. O(n^2)
  • D. O(1)
Jawaban: B
Pada BST yang seimbang, tinggi tree sekitar log n, sehingga pencarian berjalan O(log n).
85.

Apa yang dimaksud dengan graph dalam struktur data?

  • A. Kumpulan elemen yang disusun secara linier
  • B. Kumpulan simpul yang terhubung oleh sisi
  • C. Struktur data hierarkis dengan akar
  • D. Tipe data primitif dalam Java
Jawaban: B
Graph adalah struktur data yang terdiri dari simpul dan sisi yang menghubungkan simpul-simpul tersebut.
86.

Dalam graph, istilah 'edge' mengacu pada:

  • A. Titik awal graph
  • B. Simpul utama graph
  • C. Jumlah total simpul
  • D. Hubungan antara dua simpul
Jawaban: D
Edge adalah sisi yang menghubungkan dua simpul dalam graph, merepresentasikan hubungan antar simpul.
87.

Graph yang memiliki sisi berarah disebut:

  • A. Directed graph
  • B. Undirected graph
  • C. Complete graph
  • D. Weighted graph
Jawaban: A
Directed graph atau graph berarah memiliki sisi yang memiliki arah tertentu dari satu simpul ke simpul lain.
88.

Manakah yang termasuk contoh graph dalam kehidupan sehari-hari?

  • A. Daftar belanja
  • B. Buku telepon
  • C. Peta jalan antar kota
  • D. Kalender
Jawaban: C
Peta jalan antar kota dapat direpresentasikan sebagai graph dengan kota sebagai simpul dan jalan sebagai sisi.
89.

Representasi graph menggunakan matriks dua dimensi disebut:

  • A. Adjacency list
  • B. Adjacency matrix
  • C. Edge list
  • D. Incidence matrix
Jawaban: B
Adjacency matrix adalah representasi graph dengan matriks dua dimensi yang menunjukkan hubungan antar simpul.
90.

Dalam adjacency matrix untuk graph dengan n simpul, ukuran matriks adalah:

  • A. n x (n-1)
  • B. n x m
  • C. (n-1) x n
  • D. n x n
Jawaban: D
Adjacency matrix berukuran n x n, di mana n adalah jumlah simpul dalam graph.
91.

Representasi graph yang menggunakan daftar tetangga untuk setiap simpul disebut:

  • A. Edge list
  • B. Adjacency matrix
  • C. Adjacency list
  • D. Linked list
Jawaban: C
Adjacency list menyimpan daftar simpul yang terhubung langsung untuk setiap simpul, efisien untuk graph jarang.
92.

Keuntungan adjacency matrix dibandingkan adjacency list adalah:

  • A. Mudah menambah simpul baru
  • B. Menghemat memori untuk graph jarang
  • C. Pengecekan hubungan antar simpul lebih cepat
  • D. Kompleksitas lebih rendah
Jawaban: C
Adjacency matrix memungkinkan pengecekan apakah ada sisi antara dua simpul dalam waktu O(1) konstan.
93.

Algoritma traversal graph yang menggunakan struktur data stack adalah:

  • A. Depth-First Search (DFS)
  • B. Breadth-First Search (BFS)
  • C. Dijkstra
  • D. Prim
Jawaban: A
DFS menggunakan stack (baik eksplisit maupun rekursif) untuk menjelajahi graph secara mendalam.
94.

Breadth-First Search (BFS) menggunakan struktur data:

  • A. Array
  • B. Stack
  • C. Queue
  • D. Linked list
Jawaban: C
BFS menggunakan queue untuk menjelajahi graph secara melebar, mengunjungi simpul berdasarkan jarak dari awal.
95.

Jika graph memiliki siklus, traversal DFS dapat menyebabkan:

  • A. Kehilangan data
  • B. Hasil traversal yang salah
  • C. Penggunaan memori berlebihan
  • D. Infinite loop jika tidak ditangani
Jawaban: D
Tanpa penanganan simpul yang sudah dikunjungi, DFS bisa terjebak dalam siklus dan berulang terus menerus.
96.

Dalam DFS, simpul yang belum dikunjungi akan ditandai sebagai:

  • A. Visited
  • B. Unvisited
  • C. Processed
  • D. Active
Jawaban: B
Simpul yang belum dikunjungi dalam DFS disebut unvisited, dan akan dikunjungi saat algoritma berjalan.
97.

Apa yang dimaksud dengan searching dalam struktur data?

  • A. Proses menemukan elemen tertentu dalam kumpulan data
  • B. Proses mengurutkan data
  • C. Proses menghapus data
  • D. Proses menambah data
Jawaban: A
Searching adalah proses pencarian elemen yang diinginkan dalam struktur data, seperti array atau graph.
98.

Algoritma searching yang memeriksa elemen satu per satu secara berurutan disebut:

  • A. Linear search
  • B. Binary search
  • C. Depth-first search
  • D. Breadth-first search
Jawaban: A
Linear search adalah metode pencarian sederhana yang memeriksa setiap elemen secara berurutan hingga ditemukan.
99.

Binary search memerlukan data yang sudah dalam keadaan:

  • A. Tidak beraturan
  • B. Acak
  • C. Terbalik
  • D. Terurut
Jawaban: D
Binary search bekerja dengan membagi data menjadi dua bagian, sehingga data harus sudah terurut terlebih dahulu.
100.

Kompleksitas waktu rata-rata linear search adalah:

  • A. O(log n)
  • B. O(n)
  • C. O(n^2)
  • D. O(1)
Jawaban: B
Linear search memiliki kompleksitas O(n) karena memeriksa setiap elemen hingga ditemukan atau habis.

Struktur data punya satu ciri khas di Soal UT: bagian array dan linked list sering muncul dalam satu soal yang sama. Kamu harus benar-benar paham beda akses memori keduanya, apalagi kalau disuruh menganalisis kompleksitas algoritma. Itu yang paling sering bikin mahasiswa mikir ulang. Kalau masih kurang yakin dengan jawabanmu, coba bandingkan dengan pembahasan dari soal ujian UT yang udah tersedia.

Untuk MSIM4202 Struktur Data, bagian tree dan graph biasanya muncul sebagai soal UTM yang teori, tapi traversal-nya sering jadi soal UO yang nalar. Soal UAS UT kadang mencampur binary search tree dengan queue, jadi kamu harus bisa lihat pola hubungan antar modul. Fokus aja pada bagian yang masih bikin kamu berhenti, sisanya tinggal latihan rutin. Kalau udah paham pola soal, sisa waktu bisa kamu pakai cek ulang jawaban.

Bagikan

error: Content is protected !!