Anda di halaman 1dari 14

1. KISI-KISI SOAL UTS SEMESTER 2 BSI. Latihan Soal Struktur Data ( Pertemuan 1 )
Pilih Jawaban & Alasannya :
1. Type data dibawah ini, yang tidak termasuk dalam type data sederhana tunggal,
adalah :
a. Boolean

b. String

c. Char

d. Integer

e. Float

2. = =, <=, >=, !=, termasuk dalam operator...
a. Aritmatika

b. Unary

c. Binary

d. Relasi

e. Bitwise
3. Type data yang menghasilkan bentuk keluaran nilai True dan False (Benar dan Salah),
adalah :
a. Boolean

b. String

c. Char

d. Integer

e. Float

4. void main()
{ ....(a).... x,y,z;
clrscr();
cout<<"n input nilai X=";
cin >>x; cout<<"n input nilai Y=";
cin >>y; z = x + y;
cout <<"n hasil penjumlahan ="<<z;
getch();
}
Type data yang tepat untuk (a) adalah ....
a. Boolean

b. String

c. Char

d. Integer

e. Array

} Hasil eksekusi dari program diatas adalah . clrscr(). Diketahui : @A[20] = A[15] B = 00AB(H) i = 15 L = 8 Jawab : B + ( i – 1 ) * L 00AB(H) + ( 15 – 1 ) * 8 00AB(H) + 112(D) 00AB(H) + 70(H) 011B(H) 3. s = 21 b. r = 10. r = 11. Pertemuan2 1. void main() { int r = 10. s = 10 + ++r. Diketahui float A[5] dan lokasi terletak di alamat 00F(H) maka lokasi A[3] adalah : Diketahui : @A[5] = A[3] B = 00F(H) i =3L=4 Jawab : B + ( i – 1 ) * L 00F(H) + ( 3 – 1 ) * 4 00F(H) + 8(D) = 8(H) 0017(H) 2. a.... s = 20 Alasannya : Karena r sudah memiliki nilai 10 dan ++r berarti 10 + 1 = 11. r = 11. cout <<"s = "<< s << 'n'. sedangkan s sendiri memiliki nilai 10 + r tadi yang bernilai 11 = 21 . getch()... Diketahui int A[100] dan lokasi awal terletak di alamat 00FB(H) maka lokasi A [78} adalah : Diketahui: @A[100] = A[78] B = 00FB(H) i = 78 L = 2 . int s. s = 20 c. r = 12.Alasannya : Karena dalam type data ini merupakan bentuk penjumlahan sederhana 5. Diketahui double A[20] dan lokasi awal terletak ai alamat 00AB(H) maka lokasi A[15] adalah : . s = 21 e. cout <<"r = "<< r << 'n'. r = 10. s = 21 d.

2. Terdapat Array Long Double A[50][75] dan lokasi awal terletak di alamat 00FF(H) maka lokasi A[48][60] secara kolom dan baris adalah : Diketahui : @M[i][j] = A[48][60] @M[0][0] = 00FF(H) i = 48 j = 60 N = 75 L = 10 K = 50 Jawab : Secara Baris @M[i][j] = @M[0][0] + {(i – 1)* N + (j – 1)}*L A[48][60] = 00FF(H) + {(48 – 1)* 75 + (60 – 1)}*10 = 00FF(H) + 35840(D) = 00FF(H) + 8C00(H) = 8CFF(H) Secara Kolom @M[i][j] = @M[0][0] + {(j – 1)* K + (i – 1)}*L A[3][4] = 00FF(H) + {(60 – 1)* 50 + (48 – 1)}*10 = 00FF(H) + 29970(D) = 00FF(H) + 7512(H) = 7611(H) 3. Diketahui char A [50] dan lokasi awal terletak di alamat 00FF(H) maka lokasi A [38] adalah : Diketahui : @A[50] = A[38] B = 00FF(H) i = 38 L = 1 Jawab : B + ( i – 1 ) * L 00FF(H) + ( 38 – 1 ) * 1 00FF(H) + 37(D) 00FF(H) + 25(H) 00124(H) Pertemuan 3 1.Jawab : B + ( i – 1 ) * L 00FB(H) + ( 78 – 1 ) * 2 00FB(H) + 154(D) 00FB(H) + 9A(H) 017C(H) 4. Terdapat Array Double A[25][50] dan lokasi awal terletak di alamat 009F(H) maka lokasi A[17][48] secara kolom dan baris adalah : . Terdapat Array float A[5][4] dan lokasi awal terletak di alamat 00F(H) maka lokasi A[3][4] secara kolom dan baris adalah : Diketahui : @M[i][j] = A[3][4] @M[0][0] = 00F(H) i = 3 j = 4 N = 4 L = 4 K = 5 Jawab : Secara Baris @M[i][j] = @M[0][0] + {(i – 1)* N + (j – 1)}*L A[3][4] = 00F(H) + {(3 – 1)* 4 + (4 – 1)}*4 = 00F(H) + 44(D) = 00F(H) + 2C(H) = 03B(H) Secara Kolom @M[i][j] = @M[0][0] + {(j – 1)* K + (i – 1)}*L A[3][4] = 00F(H) + {(4 – 1)* 5 + (3 – 1)}*4 = 00F(H) + 68(D) = 00F(H) + 44(H) = 053(H) 2.

} ISFULL : Untuk memeriksa apakah STACK penuh .Diketahui : @M[i][j] = A[17][48] @M[0][0] = 009F(H) i = 17 j = 48 N = 50 L=8 K = 25 Jawab : Secara Baris @M[i][j] = @M[0][0] + {(i – 1)* N + (j – 1)}*L A[17][48] = 009F(H) + {(17 – 1)* 50 + (48 – 1)}*8 = 009F(H) + 6776(D) = 009F(H) + 1A78(H) = 1B17(H) Secara Kolom @M[i][j] = @M[0][0] + {(j – 1)* K + (i – 1)}*L A[3][4] = 009F(H) + {(48 – 1)* 25 + (17 – 1)}*8 = 009F(H) + 9528(D) = 009F(H) + 2538(H) = 25D7(H) 4. Deklarasi Array X adalah Double A[2][4][5] dengan alamat awal index [0][0][0] berada di 0021(H) tentukan berapa alamat Array di [2][2][2] . yaitu posisi akhir dari List (TOP) 2.??? Diketahui : @ [n][m][p] = A [2][4][5] M [0][0][0] = 0021(H) L=8 Jawab : @ [n][m][p] = M[0][0][0] + {((n-1)*(index 1)) + ((m-1)*((index 2)) + ((p-1) *(index 3)}*L = 0021(H) + {((2-1)*(2))+((4-1)*((2))+((5-1)*(2))*8 = 0021(H) + 128(D) = 0021(H) + 80(H) = 01A1(H) TUGAS 4 STRUKTUR DATA 1. Sebutkan empat operasi pada STACK dan beri contohnya Jawab : ISEMPTY : Untuk memeriksa apakah Stack kosong Contoh : int IsEmpty () { If (tumpukan. Apa saja perlakuan yang dimungkinkan sehingga suatu STACK dikatakan dalam kondisi hampa? Jawab: Dengan fungsi IsEmpty. dengan cara memeriksa TOP of STACK jika TOP masih =-1 maka berarti Stack masih kosong / hampa. Digunakan untuk mengosongkan Stack/ membuat Stack hampa sehingga TOP pada Stack berada kembali di posisi TOP =-1 3...top ==-1 Return 1. Stack termasuk Linier List karena pemasukan dan penghapusan elemennya hanya daat dilakukan pada satu posisi.. Dengan Fungsi Clear. Else Return 0.

Penghapusan elemen Kondisinya terjadi ketika pemasukan dan penghapusan elemen tidak dilakukan pada satu posisi.. Else Return 0. Char 2.* * ^ ^ ^ ( ^ ( ^ ( ^ ( ^ ( ^ ( ( ^ ( ( ^ ( ( ^ ( ( ^ ( ^ ^ Out put A B . adalah : . yaitu posisi akhir dari list ( TOP ) 5. stack .top ++ Strcpy (tumpuk.data[tumpuk. adalah : a.H ^ Postfix : AB-C*D^E*F/G-H^ . } POP : Digunakan untuk menghapus elemen yang berada pada posisi paling atas dari Stack Contoh: void pop () { Printf(“Data yang di POP = %sn”. <=.H ) ) . !=. Type data dibawah ini. Tumpuk. Aritmatika d. Type data yang menghasilkan bentuk keluaran nilai True dan False (Benar dan Salah) . ==.F / ( G .top --. Bitwise c. Unary e. Boolean d.top == MAX_STACK-1 Return 1.top].C * D ^ E * F / G . float c.top]).Contoh : int IsFull () { If(tumpukan. >=. Binary 3. tumpuk. } PUSH : Untuk menambahkan item pada posisi yang paling atas (TOP) Contoh : void push ( char d[5] ) { Tumpuk. } 4. String e. Pemasukan elemen b.data [tumpuk. yang tidak termasuk dalam tipe data sederhana tunggal. Soal Latihan Struktur Data 1.B * C ^ D ^ ( E . Integer b. termasuk dalam operator … a. Konversikan notasi infix A-B*C^D^( E*F / ( G –H )) ke postfix Jawab : A . Sebutkan dua kesalahan yang mungkin terjadi pada pengoperasian Stack dan pada kondisi seperti apa kesalahan itu bisa terjadi Jawab : a.d). padahal kita tahu bahwa Stack merupakan bentuk khusus dari Linier List yang pemasukan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi. Relasi b.

. cout <<“s = “<< s << ‘n’. cout <<“r = “<< r << ‘n’. String e. cout <<“n hasil penjumlahan =“ << z.. void main() { int r = 10. Char 5. s = 10 + ++r.a. a. r = 11. clrscr(). s = 20 e. cout <<“n input nilai X=“. getch()...(a). Integer b. String e. } Tipe data yang tepat untuk (a) adalah …. a. x. s = 21 b. Integer b. getch(). } Hasil eksekusi dari program diatas adalah …. cin >> y.z. r = 11. r = 10. clrscr(). z = x + y. Boolean d. r = 10.. int s. cout <<“n input nilai Y=“. Boolean d. s = 20 . Char 4. void main() { . Array c. float c. s = 21 d.. cin >> x.y.

Input nilai ipk mahasiswa e. Input nama bulan 4. Input data suhu b. Terdapat Array : A [5][4] maka jumlah elemen Array tersebut adalah …… a. dikenal sebagai : . 20 c. Satu dan Tiga c. Satu dan Dua b. Heterogen b. Diketahui float A[5] dan lokasi awal terletak di alamat 00F(H). 017(H) e. 35 e. adalah array berdimensi : a. Input nama hari c. Terurut 2. Tiga 3. Array yang sering digunakan dalam menterjemahkan matriks pada pemrograman. Input nilai mahasiswa perkelas dan matakuliah d. a. s = 21 1. 071(H) 1. 111(H) c. r = 12. Setiap elemen dari sebuah Array haruslah mempunyai type data yang sama. 9 5. 01B(H) b. Array yang sangat banyak elemen nol-nya. termasuk dalam karakteristik array yaitu : a. Satu d. Homogen c. 25 d. Dua e.c.. Contoh aplikasi array dimensi dua adalah…. maka lokasi A[3] adalah a. 00FC(H) d. Statis d. Dinamis e. 15 b.

Sparse Array 3. Terdapat Array : A [3][4][5] maka jumlah elemen Array tersebut adalah …… a. Upper tringular Array d. Multi Dimensional Array c. a. 0034(H) d. 8 e. Multi Dimensional Array c.a.. 20 c. dengan alamat awal index A[0][0][0] berada di 0021(H) dan ukuran type data int = 2 Tentukan berapa alamat array di A[2][2] [2] ? a. 0034(H) c. Lower tringular Array e. 10 d. 4 5. 0052(H) b. One Dimensional Array b. Diketahui suatu array segitiga memiliki 4 baris dan kolom. Upper tringular Array d. 15 b. 60 c. dikenal sebagai : a.y. 0055(H) 1. 16 b. y e. Jumlah elemen yang bukan nol pada array segitiga tersebut adalah …. 12 4. 0022(H) e. x dan y b. Deklarasi Array X adalah int A [2][4][5]. y dan z c. Diketahui suatu deklarasi variabel int x. Lower tringular Array e. z . x. Sparse Array 2 Array yang seluruh elemen dibawah diagonal utamanya = 0. One Dimensional Array b. variabel yang merupakan penunjuk ke pointer adalah : a. 35 e. x d.*z. 25 d.

Tengah dan Depan b. Depan dan Belakang c. Perintah yang tepat untuk mempersiapkan sebuah node baru berserta alokasi memorinya. Null e. adalah …. Belakang d. Depan e. Berapa elemen yg hrs di POP unt mencapai kondisi IsEmpty = True . Tidak dapat ditambah b. Perintah yang tepat untuk menyatakan Linked list berada dalam kondisi kosong. kemudian di PUSH lagi 2 elemen dan di POP 3 elemen.2. Gambar diatas menunjukkan bentuk penambahan node pada posisi : a. Input 3. IsEmpty pada kondisi terakhir adalah ? 3. Penuh d. Maka dimana posisi Top of Stack ? 2. head=tail=null e. adalah a. Bila dilakukan PUSH 3 elemen kedalam stack.3) Berapa elemen yg hrs di PUSH unt mencapai kondisi penuh Top of Stack = max_stack ? 4. a. Kosong e. Jika Tail = Null. bantu=head b. bantu=tail c. New b. head=tail d. Baru c. maka kondisi Linked List adalah : a. Dari kondisi diatas (no. bantu=null Diketahui suatu stack dgn max_stack = 6 1. Tengah 5. Insert c. Create d. Terisi 4.

ISFULL c. Top = 0 26. merupakan langkah awal pada operasi STACK yaitu …. Operasi Stack yang digunakan untuk memeriksa apakah stack sudah penuh. Operasi pada Antrian yang digunakan untuk menambahkan item pada posisi paling belakang. adalah … a. CLEAR 2. ISEMPTY b. Top = -1 25. Jika pada stack terdapat kondisi TOP of STACK = MAX_STACK . Top = Max_Stack b. FULL c. POP e. Maksud dari perintah/instruksi tersebut adalah ….1 e. TOP 24. adalah …. Top = 0 d.. Top = . Top = Top .. Top of Stack selalu bernilai : a. CLEAR 23. ISEMPTY d. ISFULL c. a. Top = 1 c. POP e. a.1 c. Diberikan perintah/instruksi pada program C++. RETREIVE b.. Create d. Pada saat awal.top++. Top = Top + 1 d. PUSH d. Top = 1 e.1 b. ISEMPTY b. Enqueue .. Menambah satu (increment) nilai TOP of STACK setiap ada penambahan elemen stack selama stack masih belum penuh. PUSH d. Top = Max_Stack . yaitu tumpuk. a.1. a.1 maka stack berada dalam keadaan . CLEAR e.

. Menghapus elemen dari dalam Antrian e.tail=-1.. Menambah elemen antrian b Mengecek kondisi antrian kosong atau tidak c.head=antrian. adalah . a. Maksud dari perintah program antrian. Menambahkan elemen ke dalam Antrian d. a. Push b. Memeriksa apakah Antrian penuh atau kosong c. Tail 27. Yang tidak termasuk dalam operasi antrian. Menghapus elemen antrian .Belakang/tail e. adalah untuk . Mengecek kondisi antrian penuh atau tidak d.b. Tengah / Middle b. Dequeue c. Dequeue c. Memeriksa apakah antrian sudah penuh b.atas/top 30. Clear e. Memeriksa apakah antrian sudah kosong 28. Menghapus elemen dari antrian dilakukan dari posisi : a.Bawah /bottom d. Enqueue e. Perintah IsFull pada antrian digunakan untuk : a..Depan/head c.. Clear d. IsFull 29.... Membentuk atau menghapus semua elemen antrian e.

Node / simpul d. Inorder e. B D C A e. 2 3 5 8 10 b. Dari gambar diatas. Bubble d. 8 bagian. A B C . Selection Sort d. a. Outorder c. edge / ruas b. level c. A . B C D A A CB D 3. yang tidak termasuk dalam kunjungan pohon biner adalah : a. a. Outorder e. Symetric Order 2.* b. Similer e. Similer c. Penuh / full e. Insertion b. 15 c. 2 8 5 10 3 d. A B C D c. 5 b. Bubble Sort e.A B 4. * . maka data ditukar Pernyataan diatas adalah langkah pengurutan data dengan metode : a.A B C e. A . Jika urutan data pada langkah pertama adalah : 5 8 2 10 3 maka urutan data secara ascending pada iterasi berikutnya dengan metode Insertion sort adalah … a. Leaf / daun 2. 2 d. Suatu pohon memiliki level = 4. A B . Pohon biner yang memiliki struktur dan informasinya sama disebut : a. Merge e. Selection . Berikut ini. 12 d. Complete 1. Preorder b. adalah kunjungan…. 4 3. 6 c.* b. 4 bagian.A B C 5. Postorder b. cabang kiri. Tehnik pengurutan data yang paling tepat digunakan untuk tabel data yang sangat besar adalah… a. 3 e. Selection Sort d. Postorder c. A B . Root / akar e. 2 5 8 10 3 c. Terstruktur b. dan derajat masuk = 0. A B C .C * d. Dengan kunjungan PREORDER maka untai yang dihasilkan adalah : a. Quick Sort b. A B . Simpul Khusus pada pohon yang memiliki derajat keluar >= 0. (1) Tentukan batas bawah (LB) dan batas atas (UB) (2) Bila LB>UB. Symetric Order * C. notasi POSTFIX yang dihasilkan adalah … a. Pohon biner yang memiliki ciri Semua simpul (kecuali daun) memiliki 2 anak dan tiap cabang memiliki panjang ruas yang sama. Merge Sort 2. Bubble Sort e. merupakan salah satu iterasi didalam metode: a. Miring (Skewed) c. 2 3 5 10 8 e. A B D C b. Dari gambar disamping.cabang kanan. Quick Sort b. Lengkap / complete b. adalah ….notasi PREFIX yang dihasilkan adalah : a. Kunjungan dengan urutan : kunjungi simpul akar. adalah pohon biner …. Ekivalent d. 7 5. * .B * C c.B * C c. maka banyaknya Simpul Maksimum yang dapat terbentuk sampai Level 4 adalah …. Preorder d.A B 1. a. 2 5 8 3 10 4. * . Insertion Sort c. a.C * e. Jika suatu pohon biner memiliki simpul sebanyak 5 maka banyaknya ruas adalah : a. 8 b. Merge Sort 3. Miring / skewed d. … dst. Insertion Sort c. B A D C d. Quick c. Mengelompokan deret bilangan kedalam 2 bagian.1. 4 e.* C * C. ekivalen 4.C A B d. Inorder d.

Bila diketahui urutan data sebagai berikut : 5 10 15 20 25 Pencarian data 10 dengan metode Binary dapat diselesaikan pada langkah ke… a. a. cari < data[m] d. Incidence d.1 3.c. a.g. maka banyaknya ruas pada graph tersebut adalah ….d.g. Graph sederhana b. a. Vn = V(n-1) e. A. cari = data[m] e. V1 = V(n-1) b.g. Binary searching 3.b. maka jumlah derajat Graph-nya adalah …. Linier Searching d. a. A. Suatu teknik pencarian data dalam array dimensi 1 yang akan menelusuri semua elemen array dari awal sampai akhir. yaitu pada kondisi… a. a. Pencarian data dengan metode Binary search akan berhenti bila data yang dicari sudah ditemukan. 10 d. 25 b.c. cari > data[m] b. Data yang dicari berada di indeks terdepan c. Data yang dicari tidak ada pada indeks array e.d e. yang termasuk TRAIL adalah …. Matriks penyajian graph yang menghubungkan vertex dengan vertex. 1 b. cari <> data[m] 4. A. Jika diketahui urutan data 26 18 21 6 12.e. 4 e.b. 6 d.b b. Directed Graph 2. 3 d. 19 b.k. 20 c. Yang merupakan metode terbaik dalam searching adalah a.g. a. Tidak ada jawaban yang benar 2.f.h. a. (n – 1) / 2 b. maka maksimum jumlah busur dari graph tersebut adalah…. a.k. Perjalanan (Walk) dalam suatu graph akan disebut tertutup bila …. cari = 0 c. 2 c. disebut matriks… a. Euler graph c. Bila diketahui jumlah derajat semua simpul pada suatu graph adalah 20.c. 49 c. B dan C salah c. V1 = 0 c. Binary searching 5. 10 e.1) / 2 d. A. Simple Graph 2. 15 5.b c. Adjacency e.5. 40 d. B dan C benar b. 2 .b. V1 = Vn d. n . Gelung/self loop d. Maksimum jumlah busur dari n simpul dalam Directed Graph a. Merge c. 15 e. n ( n . Quick d. Bubble e. Bila diketahui banyaknya ruas pada suatu graph = 7. (n – 1) + 2 c.a d.d. a. dimana data-data tidak perlu diurutkan terlebih dahulu (acak) adalah metode a. Multigraph e. 21 e. 21 c. Semua jawaban salah c. bila urutan data pada langkah berikutnya menjadi 18 26 6 21 12. tanpa ruas sejajar.h.c. B dan C benar b. V1 <> Vn 3. Insertion 1. n ( n . Selection b. Dari gambar diatas. Bila diketahui simpul dari suatu graph berarah (Directed Graph) adalah 5. 7 4. Sequential Searching e.h. 14 b.d. a. Linier Searching d.d 1.1) e. Graph yang memiliki ruas sejajar dan gelung disebut … a. Undirected Graph b.f. maka metode sorting yang digunakan adalah … a.f. B dan C salah c. Data yang dicari berada di indeks belakang b. 5 1.h. Sequential Searching e.k. Kemungkinan terbaik (best case) untuk pencarian data dengan sequential search adalah jika …. Data yang dicari berada di tengah indeks d. a.

node-3 dan seterusnya. Edge First Search c. 15 d. Node First Search b. Breadth First Search d. 20 A B C D5 8 10 12 18 . Width First Search 5. Penelusuran graph yang diawali dari node-1 kemudian melebar pada node-2. a.4. Depth First Search e. 18 e. adalah penelusuran dengan cara …. 33 b. 38 c. Critical Path dari simpul A ke simpul D pada graph disamping adalah … a.