Anda di halaman 1dari 2

MSIM4202

NASKAH UAS-THE
UJIAN AKHIR SEMESTER-TAKE HOME EXAM (THE)
UNIVERSITAS TERBUKA
SEMESTER: 2021/22.1 (2021.2)

Struktur Data
MSIM4202

No. Soal Skor


1 Seorang Mahasiswa sedang melakukan pencarian jalan terpendek dari rumah menuju Kampus, 30
melalui aplikasi mobile yang dimilikinya. Mahasiswa tersebut mengetikkan nama Kampus sebagai
kata kunci pada kolom pencarian, kemudian menekan tombol “Pencarian”. Hasil pencarian
menunjukkan adanya tiga rute yang dapat dijadikan acuan menuju Kampus. Mahasiswa melihat
rute pertama yang berjarak 10 km dengan waktu tempuh 45 menit, selanjutnya pada rute kedua
berjarak 9 km dengan waktu tempuh 30 menit, sedangkan pada rute ketiga yang berjarak 7 km,
memiliki waktu tempuh 60 menit. Mahasiswa tersebut merasa heran, mengapa jarak yang paling
kecil memiliki waktu tempuh yang paling lama, setelah dilihat lebih jauh, ternyata pada rute ketiga
terdapat kecelakaan yang mengakibatkan terjadinya kemacetan panjang dan berpengaruh pada
lambat waktu tempuh jika melalui rute tersebut

Berdasarkan kasus tersebut, silahkan Anda:


a. Lakukan identifikasi dan jelaskan kandidat proses atau kandidat data!
b. Jelaskan keterkaitan antar proses/data hasil point a!
c. Tuliskan deklarasi variabel dari data pada point a, lengkap dengan tipe data sesuai dengan
kaidah pendeklarasian variabel dengan menggunakan bahasa pemrograman Java!

2 Terdapat coding mengenai stack berikut: 20

1 class stackOperation{
2 public static void main(String[] args) {
3 LinkedList kelas = new LinkedList();
4 kelas.add("A");
5 kelas.addFirst("B");
6 kelas.addFirst("C");
7 kelas.addLast("D");
8 kelas.add(2, "E");
9 kelas.addFirst("F");
10 kelas.addLast("G");
11 kelas.add(3, "H");
12 kelas.remove(0);
13 for(Object stackList : kelas){
14 System.out.print(stackList+"->");
15 }
16 }
17 }

1 dari 2
MSIM4202

Silahkan lengkapi tabel berikut sesuai dengan coding yang diberikan, kemudian jelaskan setiap
baris pada tabel tersebut.

Indeks ke […] 0 1 2 3 4 5 6 7 8
Coding Parameter Isi Stack
ADT Coding
ADT
“A”
“B”
“C”
“D”
2, “E”
“F”
“G”
3, “H”
0

3 Seorang peserta lomba sedang melihat daftar nomor lomba pada papan pengumuman, terdapat 25
8 peserta dengan nomor lomba (7, 20, 13, 9, 3, 19, 12, 80). Lomba akan dilakukan secara offline
di lapangan terbuka, peserta akan berbaris secara terurut sesuai dengan nomor lomba yang
bersangkutan. Maka harus dilakukan pengurutan data berdasarkan daftar peserta nomor lomba
untuk mengetahui di baris urutan ke berapa peserta tersebut akan melakukan lomba, maka
peserta harus mengurutkan daftar nomor lomba dari terkecil hingga terbesar.

Berdasarkan kasus tersebut, silahkan Anda asumsikan nomor lomba peserta dengan memilih
salah satu nomor dari daftar nomor lomba, kemudian lakukan pengurutan/sorting data terhadap
nomor lomba tersebut untuk mengetahui diurutan baris ke berapa peserta tersebut akan
melakukan lomba! Sorting dengan menggunakan algoritma Merge-sort.

4 Terdapat coding penerapan algoritma Breath First Search (BFS) berikut: 25

1 public static void main(String args[])


2 {
3 Graph g = new Graph(4);
4 g.addEdge(0, 1);
5 g.addEdge(0, 3);
6 g.addEdge(1, 2);
7 g.addEdge(2, 0);
8 g.addEdge(2, 3);
9 g.addEdge(3, 1);
10 System.out.println("BFS dengan vertex awal 2");
11 g.BFS(2);
12 }
13 }

Berdasarkan potongan main program tersebut, apakah output yang akan dihasilkan? Kemudian
ilustrasikan coding tersebut ke dalam bentuk graph awal BFS, dan jelaskan alur proses pada
g.BFS(2)!

Skor Total 100

2 dari 2

Anda mungkin juga menyukai