KEMENTERIAN PENDI DIKAN DAN KEBUDAYAAN I.J
NIVERSITAS BRAWIJAYA
PROGRAM TEKNOLOGI INFORtrNASI DAN ILMU KOMPUTER I,I.IIAFI TENGAH SEMESTER GENAP TAHUru AKADEMTK 2013 MataKuIiah Dosen
: :
Algoritma dan Struktur Data 1. Muhammad Tanzil Furqon, S.Kom,
Hari, tanggal
Waktu
/ ZOtq
Senin, 7 AprilTOLA 90 Menit
MCompSc. 2. Drs. Achmad Ridok, M.Kom
3. lndriati, ST., M.Kom 4. lssa Arwani, S.Kom, M.Sc
Sifat ujian Jumlah Soal
Tutup Buku
5. Lailil Mr"rflikhah, S.Kom, M.Sc 6. Mahendra Data, S.Kom 7. Suprapto, ST., MT. 8. Drs. Marji, MT. 9. Ari Kusyanti, S.T., M.Sc.
Kode Soal
A.LLz
40
Soal:
1.
2. 3.
Himpunan langkah-langkah instruksi untuk melaksanakan suatu pekerjaan tertentu disebut c. Prosedur a.Data d. Program bl Algoritma Dibawah ini adalah kriteria algoritrn4 kecuali c.+ Jumlah langkahnya tak berhingga a. Efektif dan efisien d. Ada hasil b. Terstruktur Suatr-r kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi
y-g didefinisikan
terhadapnya
disebut
4. 5.
a. Frosedr:r
b..Struktur data
b. Atrgorinna
d. Data
Karakteristik Array, kecuali a. Bersifat stahs
c. Type data sama
b. Dapat diakses secara acak Prinsip/sifat dari Stack adalah
dt Type data heterogen
a. FIFO
c.-LIFo I botet dijooas J d. FILO
b. FOFI
6.
sabl
,4,1\
Operator POP yang digunakan pada operasi stack adalah a. Perintah untuk pemasukan dan perintah untuk penghapusan elernen b. Perintah untuk pembuatan stack c. Perintah untuk penghapusan stack :d.^
borrt^
@
bolur C-)
Perintah untuk penghapusan elemen
n*"tuhui infix, ((A+B)*C/D+E^F)/G
maka nilai posfixnya
a. ++/+^/ARCDEFG
c. +AB+/CD'\+EFG/
b. AB+C*DIEF^+GI
d. ABCDEFG+*I+^I
Ettp."si postfix dari (a+b)*(c-d) adalah
a- ab+cd-* b. ab+-+
c.ab+cd*d.ab+-cd*
Jika urutan dan operasi adalah push(1), push(2), pop, push(1), push(2), pop, pop, pop, push(2), pop yang akan dilalarkan unhrk membentuk stack, maka urutan nilai yang dihasilkaa ketika pop adalah
id. 2,2, I, I,2 b. 2,2.t,2.2
e.2, 1,2,2, I d.2, 1,2,2,2
Halaman 1 dari 5
t0. Manakah yang bukan merupakan sifat Linked list
a. dinamis b. penambahan linked list tidak terbatas d" random b{ch dipili\ sla\ Jqlq I v d. penghapusan linked list mudah i 1. Lnplementasi stack dapat dilakukan dengan, kecuali c. double linked list a. Array di circular linked list b. single linked list 12. Perbandingan Array dengan Linked list dibawah ini benar, kecuali a. Array bersifat statrs b. Array menyirnpan data pada ruang memori secara berurutan c. Array menyimpan datapadaruang memon yang saling berjauhan d. Array menyimpan data dengan jumlah terbatas 13. Di bawah ini adalah sifat-sifat pemrogramax berorientasi objek , kecuali c. polymorphism a. Encapsulation
b. Inheritance
d. structural
14. Bagaimanakah ekspresi Boolean apabila ada dua node yaitu P dan Q yang mempunyai data bertipe integer yang sama
p-e b. P.data::Q.data a_
c.
p.pointer::Q.pointer
d. Semua salah
15. Apakah struktur data yang tepat untuk mencari data sesuai dengan posisi ke n c. Circular single linked list a. Single linked list d. Array Double linked list 16. Pada tiap kali deklarasi tipe data Array, baik secara eksplisit maupun implisig tidak memerlukan: a. Nama variabel Array b. Tipe data variabel Array c. Data pertama yang akan disimpan dalam Array d. Llkuran variabel Array
b.
funto (ASoul-ur
data manakah yang membolehkan penghapusan data dari depan dan penarnbahan data dari belakang
a. Stack b. Queue
c. Dequeue
d. Pop
18. Kondrsi didalam Linked List dirnana HEAD=rull:
a. Li*ed List penuh b. Linked List kosong
c. Linked list tidak valid d. Semua jarvaban benar
19. Panyataan manakah yang SALAH dalam Circular Double Linked List: a. Node paling depan (HEAD) pointer NEXT nya menunjuk ke node setelahnya
b. c.
Node paling belakang (TAIL) pointer NEXT nya menunjuk ke node paling depan (HEAD) Node palirg depan (mAD) pointer PREVIOUS nya menunjuk ke node paling belakang (TAIL)
d.'
Node paling belakang (TAIL) pointer PREVIOUS nya menunjuk ke node paling depan (HEAD)
20. Pernyataan manakah yang SALAH dalam Double Linked List: a. Dalam kondisi kosong, node paling depan (HEAD) dan node paling belakang (TAIL) bernilai null b. Node paling belakang (TAIL) pointer NEXT nya menunjuk ke node paling depan (HEAD) c. Node paling depan (HEAD) pointer PREVIOUS nya bernilai null d. Node paling belakang (TAIL) pointer PREVIOUS nya menunjuk ke node sebelurnnya 21. Pernyataan manakah yang SALAH dalam Single Linked List: a. Node paling depan (HEAD) pointer NEXT nya menunjuk ke node setelatrnya b. Node paling belakang (TAIL) pointer NEXT nya bernilai null c. Node paling depan (HEAD) pointer PREVIOUS nya menunjuk ke node paling belakang (TAIL) d. Data dalam Linked List diakses dalam satu arah dari FIEAD sampai TAIL 22. Mau;rakah pernyataan yang benar untuk Circular Double Linked List : a. Pointer NEXT pada node TAIL menunjuk ke TAIL Halaman 2 dari 5
'b.
Pointer PREV pada node HEAD menunjuk ke HEAD c. Pointer NEXT padanode HEAD menunjuk ke TAIL @ Poitlt"o PREV pada node FIEAD memrnjuk ke TAIL 23. Stukru data Linked list lebih tepat digunakan daripada menggunakan Array ketika data yang akan diolah
jumlahnya...
6 b.
pasti sudah pasti
c. terbatas
tidak
24. Terdapat deklarasi Array : int A
:
d. banYak
new int[5][4J; maka jumlah elemen Array tersebut adalah ... ...
a. 25
b.
c.9 &lzo
35
25. Type data dibawah ini, yang tidak termasuk dalam type data primitive, adalah c. int & Sring d. float b. char co de b enkt: ps eudo perintah dalan 26. J tkaterdapat deretan while (x > y) {
:
x=x-10;
y:y
+ 2:
) dengan harga mula-mula x = 70 dan y
a. 11 b. ls
:
5, berapakah harga
y setelah deretan keluar dari loop while?
&rz
d.zl
Untnk soal nomor 27 sampu 28 perhatikan afiay Qa.ik) berikut. Array tsb adalah array integer bernama X yang berdimensi satu dan berisikan 15 elemen array dengan indeks dari 0, 1, ... 14. Isi dari masing-masing elemen array itu bertnrut-turut adalah'. 19,17,89,45,12,78,27,42,33,87,30'33,23,49'43
-
Selain itu, terdapat suatu method:
public void Metodel(int a int b)
t mt
tnp;
trnp
:
a;
a:
b, b
: *Pt
)
27. Pemanggilan Metodel(a,b) untuk variabel a dan b yang sudah berisi harga berlainan menyebabkan a. Kedua variabel berharga nol b. Kedua variabel berharga sama yaitu b c. Kedua variabel berharga sama yaitu a Kedua variabel tidak berubah harga
e. f"n"r
@
Kedua variabel bertukar harga
Jika diberikan potongan program berikut:
public void Metode2(int I); ( 1
for (rnt j:I; {
j<:t:;
i++1
if (xttl > xli+ll) t Metodel(X[],X[+1]), Halaman 3 dari 5
) System.out. print(X
[i]+" ");
)" maka keluaran dari pemanggilan Metode2(i0) adalah:
a. 303 332234 493 432 b. 303 234 332 432 493 c. 234303332432 493 d. 493 432332234 303 e. 493 432303332234 Untuk soal 29 sampai dengan 31, perhatikan gambar double circular linked list berikut:
b"rtt @Jika p dihapus maka langkah yang tepat adalah berikut kecuali: a. / : p. element;(p. getPrev0). setNext(p. getNexQ) ; (p.
b.
d. e. bonq
;p.
setPrev(null)
/:p.element;(p.getNext0).setPrev(p.getNext0) (n.
c.
getNext0). setPrev(p. getPrev0) getNext0). setPrev(p. getPrevQ)
;p. setPrev(null)
;p.
setNext(null)
; ;p.
setNext(null)
/:p.element;(p.getNext0).setPrev(p.getPrev0);p.setPrev(null)p.setNext(null) (p. getPrevQ). setNext(p. getNext0) ; /:p.element;(p.getPrev0).setNext(p.getNext0) , p.setPrev(null);p.setNext(null); (p. getNext0). setPrev(p. getPrev0); l:p.element;(p.getPrev0).setNext(p.getNext0) , p.setPrev(null); (p.getNext0).setPrev(p.getPrev0);
_ P.setNext(null) litu aialakukan penyisipan @
data di tail (ekor) dan ekor dalam keadaan tidak null, diasumsikan baru bertipe node
telah dibuat maka urutan langkah yang benar adalah adalah:
a. b. c. d. e. borrr2
@ f*u
pEkor: baru; baru.prev: pEkor; baru.nexF pEkor;pEkor.prev: baru; baru.next: pEkor; pEkor.next: barul pEkor: baru.next;baru: pEkor.next; baru.prev: pEkor; pEkor.next: baru; pEkor: baru; baru.next : pEkor; baru.prev : pEkor.next; pEkor.next : barul pEkor: barul baru: pEkor; baru.next: pEkor; baru: pEkor; pEkor.next: baru; pEkor.next: baru; disisipakan data baru pada posisi sebelum p maka langkah-langkah yaog tepat adalah sebagai berikut kecuali
baru.next: p; p.prev : baru; baru.prev : p.prev; p.prev: baru baru.prev : p; p.prev.next: baru; baru.prev : p.prev; p.prey : baru baru.prev: p.prev.next; p.prev.next : baru; bam.prev : p.prev, p.prev: baru baru.next: p; p.prev.next : baru, baru.prev: p.prev; p.prev: baru baru.next: p.next; p.prev-next: barui baru.prev: p.prev; p.prev: baru 32. Modifier yang digunakan bila suatu unsur (kela.Vmetode/variable) memiliki nilai yang tetap adalah.
a. b. c. d. e.
a. protected
c. public
b. private
d. final
33. Manakah diantara berikut ini yang tidak berhubungan dengan stack? c. Peek al FIFO lists d Push b. LIFO list Halaman 4 dari 5
341 Berikut merupakan pernyataan yang banar mengenai tipe data referencg yaitu...
a. Menyimpan data dalam lokasi memori yang sebenarnya b. Berisi nilai tunggal dengan format dan ukuran yang sesuai tipenya Menyrmpan alamat dalam lokasi memori yang memrnjuk ke lokasi memori dimana data sebenarnya berada d. Sebuah tipe data berjenis metode yang memiliki class-
!
Untuk soal no. 35-38 Perhatikan program berikut : public class OutputVariable { 1. 2. public static void main(String [] args){ 3. int value;
4. 5. 6. 7. 8.
value: char C;
C:'C'; System.out.print(valuet+); System.out.println("The value of
e.) 10.
10;
C:"+ C)i
)
35. Pendeklarasian class pada program diatas terjadi pada nornor... a.2 c. 3dan5
t d. 4dn6 3 36. Pendeklarasian variabel pada program diatas teq'adi pada nomor... a.3 b.4dan6
c.l Q.3dan5
37. Proses inisialisasi pada program diatas terjadi pada nomor...
a.3
c.l
t+a-6
d.3dan5
38. Hasil dari program diatas adalah... a- 10 The value of C{ c. l0The value of C{ ? ttm"valueofC:C d. Error 39. Methodyang berfungsi memanggrl dirinya sendiri disebut dengan... a. Method Constructor ! V"moa Rekursif b. Method Overloading d. Method Factorial 40. Beberapa method dengan nama yang sama tetapi berbeda pararneternya merupakan ciri dari... a Method Constructor c. Method Rekursif ! Method Overloading d. Method Factorial
Halaman 5 dari5