Soal Dan Jawaban Struktur Data 2

1.       Dalam bahasa C, tipe data String adalah turunan dari tipe data
a.    char
b.    int
c.     float
d.    boolean
                                         
2.       Dalam bahasa C, nilai true dan false dinyatakan dengan
a.    Bilangan integer postifif untuk true dan negatif untuk false
b.    Bilangan integer 0 untuk false dan selain 0 untuk true
c.     Karakter T untuk true dan F untuk false
d.    Bilangan integer -1 untuk false dan 1 untuk true
3.    Fungsi yang tidak mengembalikan nilai adalah fungsi yang memiliki tipe kembalian
a.    null
b.    int
c.     void
d.    char
4.    Perhatikan kode berikut
int genap(int x){
  return x%2;
}
main (void) {
  if(genap(8))
     printf(“genap”);
  printf(“ganjil”);
}
Program diatas akan menghasilkan output
a.       genap
b.      ganjil
c.       genapganjil
d.      (kosong)
5.       Berikut adalah pernyataan yang paling benar tentang array
a.       Ukuran aray dapat diubah
b.      Index array adalah semua bilangan integer
c.       Tipe data elemen array boleh berbeda
d.      Index array dimulai dari 0
6.       Perhatikan potongan kode berikut
int x[] = {2, 1, 5, 4, 3};
int y[] = {1, 3, 5, 7, 9};
int z[] = {0, 0, 0, 0, 0};
int i, j;
for(i = 0; i < 5; i++)
     for(j = 0; j < 5; j++)
           if(y[j] == x[i])
                z[i] = x[i];
Nilai array z diakhir perulangan adalah
a.       {1, 3, 5}
b.      {1, 3, 5, 0, 0}
c.       {0, 1, 5, 0, 3}
d.      {1, 5, 3, 0, 0}
Untuk nomor 7 dan  8 perhatikan potongan program berikut
int main (void) {
     int i, cari;
     for(i = 0; i < size; i++) {
           printf(“input : “);
           scanf(“%d”, &data[i]);
     }
     printf(“cari  :  ”);
     scanf(“%d”, &cari);
     if(ketemu(cari))
           printf(“Ketemu, data ke :
           %d”, ketemu(cari));
     else
           printf(“Tidak ketemu”);
return 0;
}
int ketemu (int c) {
     int i;
for(i = 0; i < size; i++)
     if(c == data[i])
           return i;
return -1;
}
7.       Jika data yang diinputkan adalah: {2, 1, 3, 1, 2}, dan data yang dicari adalah 2, maka output di layar adalah:
a.       Ketemu, data ke : 0
b.      Ketemu, data ke : 4
c.       Ketemu, data ke : 1
d.      Tidak ketemu
8.       Jika data yang diinputkan adalah: {2, 1, 3, 1, 2}, dan data yang dicari adalah 5, maka output di layar adalah:
a.       (tidak ada output)
b.      Ketemu, data ke : -1
c.       Ketemu, data ke : 0
d.      Tidak ketemu
      9.      Pernyataan berikut berlaku untuk pencarian biner:
a.       Bekerja pada data acak dan terurut
b.      Sama cepat dengan pencarian beruntun
c.       Dapat diimplementasikan menggunakan rekursi
d.      Tidak dapat digantikan oleh pencarian beruntun
      10.   Berikut ini yang tidak termasuk metode pengurutan adalah:
a.       Bubble sort
b.      Heap sort
c.       Binary sort
d.      Insertion sort
      11.   Metode pengurutan yang dilakukan dengan cara membandingkan dua elemen yang saling berekatan adalah
a.       Bubble sort
b.      Heap sort
c.       Binary sort
d.      Insertion sort
    12.   Diketahui stack bertipe char dengan ukuran 4 dengan nilai yang kosong, kemudaian dikenakan operasi berikut
push(‘a’), push(‘b’), pop(), push(‘z’), pop(), push(‘c’), push(‘d’), pop(), pop(), push(‘p’), push(‘q’),  push(‘r’), push(‘s’),  pop()
maka isi stack sekarang adalah
a.       {‘a’, ‘b’, ‘c’, ‘d’, ‘p’, ‘q’, ‘r’, ‘s’}
b.      {‘a’, ‘p’, ‘q’, ‘r’}
c.       {‘a’, ‘b’, ‘c’, ‘d’}
d.      {‘a’, ‘p’, ‘q’}
       13.   Perhatikan operasi aritmatik berikut:
2 + 3 * 5
Jika diselesaikan dengan menggunakan cara postfix maka ilustrasi urutan operasi penyelesaiannya dalam stack adalah:
a.       push(2) + push(3) + push(5)
b.      push(3), push(5), push(pop() * pop()), push(2), push(pop() + pop())
c.       push(3) * push(5) + push(2)
             d.    push(3 * 5), push(2), push(pop() + pop()), pop()

Untuk nomor 14 dan 15
Disebuah Kampung di selenggarakan sunatan massal. Karena di perkirakan pesertanya tidak terlalu banyak , panitia hanya menyediakan kartu antrian sebanyak 8 buah dengan nomor urut 0-7. Jumlah peserta yang mendaftar ada 12 anak (missal nama A, B, C, D, E, F, G, H, I, J, K, L) sehingga kemungkinan kartu kartu antrian tersebut ada yang di pakai 2 kali . Pada hari yang telah di tentukan , 7 anak (A-G) sudah mengambil antrian dan tinggal menunggu proses penyunatan. Setelah anak A, B, C selesaidisunat anak H dating mengambil kartu antrian. Anak I, J, K dan L dating  setelah anak D, E, F selesai disunat
14 Contoh kasus di atas lebih tepat di ilustrasikan menggunakan:
       a.       Queue
       b.      Double Stack
       c.       Circular Queue
       d.      Stack
15 Kartu antrian yang digunakan sebanyak 2 kali adalah yang benomor urut:
       a.       0, 1, 2, 3
       b.      0, 1, 2, 3, 4
       c.       1, 2, 3, 4

       d.      1, 2, 3


 Nb: Yang berwarna merah Adalah jawabannya

Posting Komentar

Lebih baru Lebih lama