Anda di halaman 1dari 1

SOAL UJIAN MID BAYANGAN MATA UJIAN WAKTU SIFAT

1.

: STRUKTUR DATA : 100 Menit : Buku Terbuka

a. Sebutkan macam-macam struktur data? Jelaskan bagaimana peran struktur data dalam pembuatan sebuah program komputer? b. Sebutkan apa saja perbedaan antara struktur data statis dan dinamis? Jelaskan pertimbangan apa saja yang diperlukan jika kita akan menggunakan struktur data statis atau dinamis?

2. a. Diketahui struktur data linked list sbb: Type List = ^Node; Node = record No_mhs : string[10]; IP : real; Next : List; End; Var L : List; Buatlah procedure untuk menghapus semua node dengan no_mhs tertentu dari LINKED LIST L, perhatikan ada beberapa kemungkinan : tidak ada node, hanya ada 1 node atau ada beberapa node yang akan dihapus, serta posisi node yang akan dihapus bisa berada di depan, tengah atau belakang. Sebagai ilustrasi : node yang akan dihapus adalah node dengan no_mhs : 9840

b. Diketahui struktur data linked list sbb: Type List = ^Node; Node = record Data : integer; Next : List; End; Var L,p,q : List; Buatlah procedure untuk menggabung 2 linked list p dan q menjadi satu linked list L, dimana posisi yang didepan adalah linked list yang banyak datanya lebih besar. Jadi L merupakan linked list p yang digabung dengan q jika banyak data di p lebih besar atau sama dengan banyak data di q dan L merupakan linked list q yang digabung dengan p jika banyak data di q lebih besar dengan banyak data di p. 3. a. Sebutkan beberapa perbedaan antara struktur data STACK dan struktur data QUEUE serta berikan beberapa permasalahan yang penyelesaiannya menggunakan struktur data stack dan beberapa permasalahan yang penyelesaiannya menggunakan struktur data queue. b. Buatlah procedure/algoritma untuk membalik urutan isi queue dinamis Q tanpa menggunakan stack, procedure standar untuk queue dianggap sudah ada ( tinggal panggil ).