Sabtu, 02 September 2017

SOAL DAN JAWABAN UTS STRUKTUR DATA SEMESTER 2 2016

Blog Jimmy Linkin Park

SOAL DAN JAWABAN UTS STRUKTUR DATA SEMESTER 2 2016

1.     Apa pengertian struktur data?
 Jawab: cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.

2.  Apa kegunaan struktur data?
Jawab: Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.

 3.     Sebutkan struktur data berdasarkan jenisnya?
Jawab: struktur data berdasarkan jenisnya di bagi menjadi 2,yaitu:
a. Struktur data sederhana,yang meliputi : Array(larik) dan record(catatan)
b. Struktur data majemuk ,yang meliputi : linier dan non-linier

4. Apa pengertian array?

Jawab: array adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama. Setiap elemen diakses langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter. Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur, atau tipe larik lain. Nama lain array adalah Larik, tabel, atau vekto.

5. Apa pengertian record?
Jawab: record adalah definisi tipe dan sekumpulan primitif (operasi dasar) terhadap tipe tersebut. Tipe diterjemahkan menjadi tipe terdefinisi dalam bahasa pemrograman yang bersangkutan.

6. Apa perbedaan dari binary tree dan graph?
Jawab: pebedaan binary tree dan graph
Binary tree adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain yang disjoint yang merupakan pohon biner yang disebut sebagai sub pohon kiri (left) dan sub pohon kanan (right) dari pohon biner tersebut. Sedangkan graph adalah struktur data yang paling umum. Jika struktur linier memungkinkan pendefinisian keterhubungan sekuensial antara entitas data, struktur data tree memungkinkan pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data.

7. Sebutkan karakteristik array?
Jawab: karakteristik array meliputi:
a.   Mepunyai batasan dari pemesanan alokasi memori (bersifat statis).
b. Mempunyai tipe data sama (bersifat homogen).
c.  Dapat diakses secara acak.

8. Sebutkan tiga hal yang harus di ketahui dalam mendeklarasikan array?
Jawab: tiga hal yang harus di ketahui dalam mendeklarasikan array, yaitu:
a. Type data array.
b. Nama variable array.
c. Subkrip / index array.

9. Sebutkan kelebihan dan kelemahaan array?
Jawab: Keunggulan array adalah sebagai berikut :
- Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain.
-  Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-elemen tetangga, baik elemen pendahulu atau elemen penerus 3
- Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga,maka penggunaan penyimpanannya sangat efisien.
Ø  Kelemahan array adalah sebagai berikut :
Array mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai aplikasi  karena array mempunyai batasan sebagai berikut :
- Array harus bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemenadalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain.
- Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulitdiubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan terjaditerus-menerus, maka representasi statis
• Tidak efisien dalam penggunaan memori
• Menyiakan banyak waktu komputasi
• Pada suatu aplikasi, representasi statis tidak dimungkinkan
Bila penambahan dan pengurangan terjadi terus menerus, maka representasi statis (array):
1. Tidak efisien dalam penggunaan memory
2. Menyiakan banyak waktu komputasi
3.  Pada suatu aplikasi, representasi statis tidak di mungkinkan.

10.  Jelaskan tahap-tahap dalam pembuatan struktur data?
Jawab: tahap-tahap dalam pembuatan struktur data:
a. Tahap pertama: spesifikasi
Pendeskripsian / spesifikasi struktur data menyatakan apa yang dapat dilakukan struktur data, bukan cara penerapannya. Pendeskripsian ini melibatkan level logic sehingga dapat digunakan konvensi matematika untuk menyatakan sifat-sifat struktur data yang dikehendaki.
b. Tahap kedua: implementasi
Implementasi menyatakan cara penerapan struktur data dengan struktur data yang telah ada.
b. Tahap ketiga: pemrograman
Pemrograman terstruktur adalah penerjemahan menjadi pernyataan di bahasa pemrograman tertentu.

11. Apa yang dimaksud dengan implementasi data dalam pembuatan struktur data
Jawab: Implementasi struktur data adalah proses pendefinisian tipe data abstrak sehingga semua operasi dapat dieksekusi computer. Implementasi struktur penyinpanan item-item data serta algoritma-algoritma untuk implementasi operasi-operasi sehingga menjamin terpenuhinya karakteristik struktur data, relasi item-item data atau invariant pada struktur data itu.

12.  Sebutkan istilah-istilah yang terdapat pada graf?
Jawab: istilah-istihah yang terdapat pad graf yaitu:
a. Vertex, adalah himpunan node / titik pada sebuah graph.
b. Edge, adalah himpunan garis yang menghubungkan tiap node / vertex.
c. Adjacent, adalah dua buah titik dikatakan berdekatan (adjacent) jika dua buah titik tersebut terhubung dengan sebuah sisi. Adalah Sisi e3 = v2v3 insident dengan titik v2 dan titik v3, tetapi sisi e3 = v2v3 tidak insident dengan titik v1 dan titik v4.
d.  Weight, adalah Sebuah graf G = (V, E) disebut sebuah graf berbobot (weight graph), apabila terdapat sebuah fungsi bobot bernilai real W pada himpunan E, 
e. Path, adalah walk dengan setiap vertex berbeda.
f. Cycle, adalah Siklus ( Cycle ) atau Sirkuit ( Circuit ) Lintasan yang berawal dan berakhir pada simpul yang sama.

13. Sebutkan dan jelaskan contoh implementasi graf pada struktur data?
Jawab: contoh implementasi graf pada struktur data:
a. Graf tak berarah (undirected graph)
Graf yang sisinya tidak mempunyai orientasi arah disebut graf tak berarah. Pada graf tak-berarah, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. salah satu contoh graf tak berarah dimana sisi-sisi yang menghubungkan antar simpul dalam graf tersebut tidak memiliki orientasi arah.
b. Graf Berarah (directed graph)
Graf yang setiap sisinya memiliki orientasi arah disebut sebagai graf berarah. Sisi berarah dalam graf ini dapat dinamakan sebagai busur (arc). Lain halnya dengan graf tak-berarah, urutan pasangan simpul disini sangat diperhatikan karena dapat menyatakan hal yang berbeda. contoh dari graf berarah yang memiliki sisi-sisi dengan orientasi arah (busur).

14. Sebutkan istilah-istilah data?
Jawab: istilah-istilah data,yaitu:
a. Tipe data adalah jenis atau macam data di dalam suatu variable dalam bahasa pemrograman.
b. Objek data mengacu kumpulan elemen, D (domain).
c.  Representasi data : Suatu mapping dari struktur data ‘d’ ke suatu set ke struktur data ‘e’ (d===e) misal bolean di representasikan dalam 0 dan 1.
d.  Struktur data biasa dipakai untuk mengelompokan beberapa  informasi yang terkait menjadi sebuah kesatuan.

15.  Sebutkan struktur data yang sering digunakan khususnya dibidang informatika?
Jawab: struktur data yang standar di gunakan dalam bidang informatika yaitu:
- ADT , Array , Struk
- List linier (Linked List) dan variasinya
- Multilist
- Stack (Tumpukan)
- Queue (Antrian)
- Tree ( Pohon )
- Graph ( Graf )

16.  Jelaskan pengertian linken list?
Jawab: Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung-menyambung, dinamis dan terbatas. Linked List sering disebut juga Senarai Berantai dan Linked List saling terhubung dengan bantuan variabel pointer.

17. Jelaskan pengertian bentuk single linken list non circular?
Jawab: Pengertian:
•Single : artinya field pointer-nya hanya satu buah saja dan satu arah serta pada akhir node, pointernya menunjuk NULL
•Linked List : artinya node-node tersebut saling terhubung satu sama lain.
•Setiap node pada linked list mempunyai field yang berisi pointer ke node berikutnya, dan juga memiliki field yang berisi data.
•Node terakhir akan menunjuk ke NULL yang akan digunakan sebagai kondisi berhenti pada saat pembacaan isi linked list.

18.  Apa kelebihan dari single linken list non circular dengan head & tail?
Jawab: Kelebihan dari Single Linked List dengan Head & Tail adalah pada penambahan data di belakang, hanya dibutuhkan tail yang mengikat node baru saja tanpa harus menggunakan perulangan pointer bantu.

19. Jelaskan latar belakang single linken list non circular?

Jawab: single linken list non circular Dikembangkan tahun 1955-1956 oleh Allen Newell, Cliff Shaw dan Herbert Simon di RAND Corporation sebagai struktur data utama untuk bahasa Information Processing Language (IPL).
IPL dibuat untuk mengembangkan program artificial intelligence, seperti pembuatan Chess Solver.
Victor Yngve di Massachusetts Institute of Technology (MIT) juga menggunakan linked list pada natural language processing dan machine transitions pada bahasa pemrograman COMMIT.
•Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung-menyambung, dinamis dan terbatas.
•Linked List sering disebut juga Senarai Berantai
•Linked List saling terhubung dengan bantuan variabel pointer
•Masing-masing data dalam Linked List disebut dengan node (simpul) yang menempati alokasi memori secara dinamis dan biasanya berupa struct yang terdiri dari beberapa field.

20. Sebutkan proses pembuatan single linken list non calcular
Jawab: proses pembuatan single linken list non calcular,sebagai berikut:
a. Pembuatan sebuah struct
b. Pembuatan variabel pointer Head
c. Membuat fungsi inisialisasi single linked list
d. Membuat fungtion untuk mengetahui kondisi single linked lis
e. Membuat node didepan

1. Jelaskan pengertian dari struktur data! Berikan contohnya!
Jawab: Struktur data adalah model logika/ matematika yang secara khusus mengorganisasi data. Sebuah model harus dapat mencerminkan keterhubungan data dengan dunia nyata dan bentuknya sederhana/efektif (dapat memproses data sesuai kebutuhan).
Contoh struktur data: Array, Set, Record, Senarai, Tumpukan/Stack, Antrian, Pohon, Graf.

2. Elemen linked list hanya dapat diakses secara sekuensial. Mengapa?
Jawab: Linked list atau senatai berantai adalah kunpulan liniar sejumlah data, atau kumpulan komponen yang disusun secara berurutan pointer. Masing-masing komponen dinamakan dengan simpul (node). Simpul dalam suatu Linked list terbagi menjadi dua bagian yaitu medan informasi yang berisi informasi yang akan disimpan dan diolah, dan medan penyambung (Link field) yang berisi simpul berikutnya. Jadi untuk mengakses linked list haruslah secara berurutan (sequential) juga, sesuai dengan susunan komponennya.


3. Buatlah perbandingan antara array dengan linked list! Berikan contohnya!
Jawab:
Array:
- Alokasi memori pada array bersifat statis dan terbatas
- Tipe data fisik
- Tidak dapat dibebaskan dari memory
- Menggunakan konsep indexing

Linked List:
- Penggunaan alokasi memori yang dinamis sehingga menghindari pemborosan memori
- Tipe data abstrak
- Dapat dibebaskan dari memory
- Tidak menggunakan konsep indexing


4. Jelaskanlah konsep FIFO yang terdapat pada antrian dan berikan contohnya!
Jawab: FIFO (First In First Out) artinya elemen yang pertama masuk itu yang akan pertama dikeluarkan dari antrian. Contohnya:
- Penjualan karcis kereta Api, bioskop, dll.
- Penjadualan percetakan (spooling system), misal print manager.
- Penjadualan pemakaian CPU pada client server.
- Pemakaian jalur I/O (input/output), pada system computer. Dll.

5. Buatlah algoritma untuk menentukan elemen terbesar pada sebuah array A dengan 10 elemen!
Jawab:
For i <- 10="" 2="" br="" do="" to=""> If (data[i] > max) then
Max:= data[i]
Endif
End for


6. Apakah keuntungan dari Circular Linked list dibandingkan dengan Non Circular linked list?Jawab: Keuntungan menggunakan senarai ini adalah setiap node (elemen) dari senarai dapat dicapai dari sembarang node (elemen) yang lain.

7. Buatlah algoritma untuk menambahkan data pada sebuah STACK!
Jawab:
Algoritma PUSH:
1. [Periksa kandungan tumpukan, apakah penuh?]
Jika TOP = MAKSTUM; Cetakkan ’OVERFLOW’
2. [Tambahkan TOP dengan 1]TOP:= TOP+1
3. [Masukkan ELEMEN ke dalam lokasi TOP yang baru]S[TOP]:= ELEMEN
4. Return

8. Buatlah algoritma untuk menjumlahkan dua buah matriks dengan orde m x n!
Jawab:
Deklarasi:
Const:M=2 {jumlah baris pada matriks}
Const:N=3 {jumlah kolom pada matriks}
Baris, kolom :integer
A,B,C :array[1..M, 1..N] of integer
ALGORITMA:
For baris <- 1="" do="" m="" span="" to="">
For kolom <- 1="" do="" n="" span="" to="">
C[baris, kolom] <- a="" b="" baris="" kolom="" span="">
End for
End for
9. Buatlah algoritma untuk menghapus elemen pertama pada sebuah circular linked list!
Jawab:
Procedure hapus awal(input/output S:senarai, output H:address)
Kamus
Akhir=address
Algoritma:
If awal(S)=Nil then {kasus 0 elemen)
Output(‘senarai kosong’)
Else {kasus tidak kosong}
Hçawal(S)
If Next(awal(S))=Awal(S) then {kasus 1 elemen}
Awal(S) <- nil="" span="">
Else
Awal(S) <- awal="" next="" span="">
Akhirçawal(S)
While Next(akhir) ≠ awal(S) do
Akhir <- akhir="" next="" span="">
Endwhile
Next(akhir) <- awal="" span="">
Endif
Endif

10. Sebuah cell/node pada sebuah single linked list memiliki elemen NEXT yang bertipe data pointer. Apakah yang dimaksud dengan pointer? Jelaskan!
Jawab: Pointer adalah variable yang menunjuk lokasi memori tertentu. Pendeklarasiannya harus menambahkan tanda ^ di depan tipe pointer. Contoh:
Var
P1: ^integer;
P2: ^double;

11. Bagaimanakah kita dapat mengetahui jika sebuah tumpukan dalam keadaan kosong?
Jawab: Kita dapat mengetahui suatu tumpukkan dalam keadaan kosong dengan cara membuat suatu function seperti berikut:
Function empty: Boolean;
Begin
Empty:=false;
If TOP=0 then Empty:=True;
End;

12. Sebuah antrian selalu mempunyai 2 variabel yang berfungsi sebagai penunjuk. Apakah variabel tersebut dan jelaskan fungsi dari masing-masing variabel tersebut!
Jawab:
Variabel :
DEPAN (FRONT) fungsinya untuk menentukan bagian yang akan dilakukan penghapusan.
BELAKANG (REAR/TAIL) fungsinya untuk menentukan bagian mana yang akan dilakukan penambahan.


13. Mengapakah pada algoritma matriks selalu digunakan struktur perulangan FOR? Jelaskan!
Jawab: Pada matriks, elemen-elemennya sudah diketahui jumlahnya atau dapat dikatakan, ordo suatu matrik menjelaskan jumlah elemen baris dan kolom tertentu. Dengan demikian, kita sudah dapat menentukan iterasi atau jumlah perulangan yang akan terjadi. Jadi, pernyataan perulangan yang paling tepat untuk menjelaskan matriks dalam algoritma adalah dengan menggunakan pernyataan FOR.


1.   Struktur pertama dalam pascal adalah.....
a. Char;
b. String
c. End.
d. Writeln
e. Uses Crt;

2.   Untuk melihat hasil dari program yang di kerjakan tekan tombol....
a. Ctrl+F5
b.Ctrl+F9
c. Ctrl+F2
d. Ctrl+F12
e. Ctrl+F4

3.    Berapa kode yang digunakan  untuk membuat tulisan berwarna “CYAN”....
a.4
b. 2
c. 128
d. 7
e. 3

4.   Perintah dasar sederhana dalam program pascal adalah.....
a. Readln
b. End
c. Write
d. Writeln
e. Uses crt;

5.   Tipe data bahasa pascal untuk TRUE FALSE  adalah....
a. String
b. Char
c. Boolean
d. Byte
e. Real

6.   Siapakah penemu program pascal....
a. Greyson Change
b. Prof. Niklaus Wirth
c. Kondrazuse
d. Prof. Niklaus Smirth
e. Dr.  Hercules

7.   Struktur bahasa pemrograman pascal paling pertama adalah....
a. Var;
b. Begin
c. End;
d. Uses crt;
e. Writeln;

8.   Tipe data pascal untuk karakter adalah....
a. Char
b. Boolean
c. Integer
d. Real
e. Byte

9.   Kapan terbentuknya pascal....
a. 1981
b. 1971
c. 1961
d. 1991

e. 1987

10. Apa kepanjangan dari USES....
      a. Unit Secure
      b. Unit Syntax
c. Unit System
d. Up Software
e. Unit Semiconductor

11. Berikut ini adalah penulisan identifier yang benar dalam pemrograman pascal adalah....
a. 9Program_Satu
b. Program_Satu
c. Program Satu
d. Begin
e. Array

12. Tipe bilangan bulat dalam bahasa pascal dikenal sebagai....
a. Byte
b. Integer
c. Char
d. String
e. Boolean

13. Istilah “perulangan” dalam pemrograman pascal dikenal dengan....
a. Repeating
b. Again
c. Function
d. Replay
e. Looping

14. Perintah untuk menutup program pada Pascal adalah...
a. END.
b. Program
c. Uses crt;
d. Finish
e. END;

15. Menggambarkan program secara logika merupakan fungsi dari...
a. Flowchart
b. DxDiag
c. Begin
d. SI
e. Sistem Operasi

16. Deklarasi yang digunakan untuk mengidentifikasikan data yang nilainya sudah ditentukan dan pasti, tidak  dapat  dirubah dalam program disebut deklarasi....
a. Deklarasi label
b. Deklarasi Konstanta
c. Deklarasi tipe
d. Deklarasi Variabel
e. Deklarasi Prosedur

17. Dibawah ini termasuk dalam Deklarasi dalam Pascal, kecuali....
a. Deklarasi perubah
b. Deklarasi proses
c. Deklarasi konstanta
d. Deklarasi tipe
e. Deklarasi prosedur

18. Bilangan  yang  mengandung pecahan, palingsedikit  harus ada satu digit  sebelum dan sesudah titik  desimal termasuk dalam tipe data...
a. Real
b. Boolean
c. Integer
d. Longint
e. Byte

19. Prosedur yang digunakan untuk membersihkan layar saat program dijalankan adalah....
a. Writeln
b. Readln
c. Begin
d. Write
e. Clrscr

20. Bentuk dari suatu  statement IF  berada  di dalam lingkungan statemen IF  yang  lainya, disebut IF dalam kondisi....
a. IF bersarang
b. IF bercabang
c. IF tunggal
d. IF-THEN
e. IF do while-until
21. Tipe data terstruktur yang  terdiri  dari  sejumlah komponen  komponen yang mempunyai tipe sama, disebut tipe data...
a. Array
b. Byte
c. Longint
d. Integer
e. Boolean

22. Perintah untuk menampilkan atau cetak dilayar monitor tanpa pindah baris, disebut...
a. Writeln
b. Write
c. Readln
d. Read
e. Begin

23. Perintah untuk menampilkan atau cetak dilayar monitor lalu pindah bariskebawah, disebut...
a. Writeln
b. Write
c. Readln
d. Read
e. Begin

24.  Suatu identifier non-standar yang nilainya tidak tetap atau nilainya merupakan hasil dari suatu proses, disebut....
a. Variabel
b. Tipe Data
c. Prosedur
d. Deklarasi
e. Array

25.  Suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram ( program bagian ), disebut...
a. Variabel
b. Tipe Data
c. Prosedur
d. Deklarasi
e. Array

1.  Type data dibawah ini, yang tidak termasuk dalam tipe data sederhana tunggal, adalah :
            a. Boolean                               d. Integer
            b. String                                   e. float
            c. Char

2. ==, <=, >=, !=, termasuk dalam operator …          
            a. Aritmatika                           d. Relasi
            b. Unary                                  e. Bitwise
            c. Binary

3.   Type data yang menghasilkan bentuk keluaran nilai True dan False (Benar dan Salah) ,  adalah :
            a. Boolean                               d. Integer
            b. String                                   e. float
            c. Char

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();
       }
      
       Tipe data yang tepat untuk (a) adalah ….
                        a. Boolean                               d. Integer
                        b. String                                   e. Array
                        c. Char
5.  void main()
       {
          int r = 10; int s;
          clrscr();
          s = 10 +  ++r;
          cout <<“r = “<< r << ‘\n’;
          cout <<“s = “<< s << ‘\n’;                                             
           getch();
         }
                        Hasil eksekusi dari program diatas adalah ….
                        a. r = 11, s = 21                       d. r = 10, s = 21
                        b. r = 11, s = 20                       e. r = 10, s = 20
                        c. r = 12, s = 21

6.  Setiap elemen dari  sebuah Array haruslah mempunyai type data yang sama, termasuk dalam karakteristik array yaitu :
            a. Statis                                    d. Heterogen
            b. Dinamis                               e. Homogen
            c. Terurut

7.   Array yang sering digunakan dalam menterjemahkan matriks pada pemrograman, adalah array berdimensi :
            a. Satu                                     d. Satu dan Dua
            b. Dua                                      e. Satu dan Tiga
            c. Tiga

8.   Contoh aplikasi array dimensi dua adalah…..
            a. Input data suhu                  
            b. Input nama hari
            c. Input nilai mahasiswa perkelas dan matakuliah
            d. Input nilai ipk mahasiswa
            e. Input nama bulan
 9.   Terdapat Array : A [5][4] maka jumlah elemen Array tersebut adalah ……
            a. 25                                        d. 15               
            b. 35                                        e. 20
            c. 9

10.  Diketahui float A[5] dan lokasi awal terletak di alamat  00F(H), maka lokasi A[3] adalah …..
            a. 00FC(H)                                             d. 01B(H)          
            b. 017(H)                                               e. 111(H)
            c. 071(H)

11.  Array yang sangat banyak elemen nol-nya, dikenal sebagai :
            a. Upper tringular Array         d. One Dimensional Array
            b. Lower tringular Array         e. Multi Dimensional Array
            c. Sparse Array

12.  Array yang seluruh elemen dibawah diagonal utamanya = 0, dikenal sebagai :
            a. Upper tringular Array         d. One Dimensional Array
            b. Lower tringular Array         e. Multi Dimensional Array
            c. Sparse Array

13. Terdapat Array : A [3][4][5] maka jumlah elemen Array tersebut adalah ……
            a. 25                                        d. 15               
            b. 35                                        e. 60
            c. 12

14.  Diketahui suatu array segitiga memiliki 3 baris dan kolom. Jumlah elemen yang bukan nol pada array segitiga tersebut adalah …..
            a. 6                                          d. 16               
            b. 8                                          e. 20
            c. 4

15.  Deklarasi  Array X adalah int A [2][4][5], 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)                                 d. 0052(H)                    
            b. 0022(H)                                 e. 0034(H)
            c. 0055(H)

16.  Diketahui suatu deklarasi variabel  int x,y,*z; 
       variabel yang merupakan penunjuk ke pointer adalah : 
            a. x                                           d. x dan y
            b. y                                           e. x, y dan z
            c. z

17.  Perintah yang tepat untuk mempersiapkan sebuah node baru berserta alokasi memorinya, adalah ….
            a.         Create                         d. New
            b.         Null                              e. Insert
            c.          Input

18.  Jika Tail = Null, maka kondisi Linked List adalah : 
            a. Penuh                                  d. Tidak dapat ditambah
            b. Kosong                                 e. Baru
            c. Terisi 








19.  Gambar diatas menunjukkan bentuk penghapusan node pada posisi :
            a.         Belakang                                 d. Tengah dan Depan
            b.         Depan                                      e. Depan dan Belakang
            c.         Tengah

20.  Perintah yang tepat untuk menyatakan Linked list berada dalam kondisi kosong, adalah ….
            a. head=tail                              d. bantu=head
            b. head=tail=null                     e. bantu=tail
            c. bantu=null

21.  Operasi Stack yang digunakan untuk memeriksa apakah stack sudah penuh, adalah …..        
            a. PUSH                                  d. ISEMPTY
            b. POP                                     e. ISFULL
            c. CLEAR

22.  Menambah satu (increment) nilai TOP of STACK setiap ada penambahan elemen stack selama stack masih belum penuh, merupakan langkah awal pada operasi STACK yaitu …..         
            a. PUSH                                   d. ISEMPTY
            b. POP                                     e. ISFULL
            c. CLEAR

23.  Jika pada stack terdapat kondisi TOP of STACK = MAX_STACK - 1 maka stack berada dalam keadaan ...
            a. ISEMPTY                              d. RETREIVE
            b. CLEAR                                  e. FULL
            c. TOP


24.  Pada saat awal, Top of Stack selalu bernilai :
            a.Top = 0                                 d. Top = Max_Stack
            b.Top = 1                                 e. Top = Max_Stack - 1
            c. Top = -1

25.  Diberikan perintah/instruksi pada program C++, yaitu  tumpuk.top++;  Maksud dari perintah/instruksi tersebut adalah ….
            a. Top = Top + 1                      d. Top = - 1
            b. Top = Top - 1                       e. Top = 1
            c. Top = 0

26.  Operasi pada Antrian yang digunakan untuk menambahkan item pada posisi paling belakang, adalah …
            a. Create                                 d. Enqueue
            b. Clear                                   e. Dequeue
            c. Tail

27.  Perintah IsFull pada antrian digunakan untuk  :
            a. Memeriksa apakah antrian sudah penuh
            b. Memeriksa apakah Antrian penuh atau kosong
            c. Menambahkan elemen ke dalam Antrian
            d. Menghapus elemen dari dalam Antrian
            e. Memeriksa apakah antrian sudah kosong

28.  Yang tidak termasuk dalam operasi antrian, adalah ...
            a. Clear                                   d. Push
            b. Enqueue                              e. Dequeue
            c. IsFull

29.  Menghapus elemen dari antrian dilakukan dari posisi :
            a. Tengah / Middle                 d. Belakang / Tail
            b. Depan / Head                      e. Atas / Top
            c. Bawah / bottom

30.  Maksud dari perintah program antrian.head=antrian.tail=-1; adalah untuk ......
            a. Menambah elemen antrian
            b Mengecek kondisi antrian kosong atau tidak         
            c. Mengecek kondisi antrian penuh atau tidak
            d. Membentuk semua elemen antrian
            e. Menghapus elemen antrian


Latihan Soal Struktur Data (Pertemuan 1)
1. Type data dibawah ini, yang tidak termasuk dalam tipe 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();
}
Tipe data yang tepat untuk (a) adalah ….
a. Boolean
b. String
c. Char
d. Integer
e. Array

5. void main()
{
int r = 10; int s;
clrscr();
s = 10 + ++r;
cout <<“r = “<< r << ‘\n’;
cout <<“s = “<< s << ‘\n’;
getch();
}
Hasil eksekusi dari program diatas adalah ….
a. r = 11, s = 21
b. r = 11, s = 20
c. r = 12, s = 21
d. r = 10, s = 21
e. r = 10, s = 20

Latihan Soal Struktur Data (Pertemuan 2)
1. Setiap elemen dari sebuah Array haruslah mempunyai type data yang sama, termasuk dalam karakteristik array yaitu :
a. Statis
b. Dinamis
c. Terurut
d. Heterogen
e. Homogen

2. Array yang sering digunakan dalam menterjemahkan matriks pada pemrograman, adalah array berdimensi :
a. Satu                               b. Dua                   c. Tiga
d. Satu dan Dua                                             e. Satu dan Tiga

3. Contoh aplikasi array dimensi dua adalah…..
a. Input data suhu
b. Input nama hari
c. Input nilai mahasiswa perkelas dan matakuliah
d. Input nilai ipk mahasiswa
e. Input nama bulan

4. Terdapat Array : A [5][4] maka jumlah elemen Array tersebut adalah ……
a. 25
b. 35
c. 9
d. 15
e. 20

5. Diketahui float A[5] dan lokasi awal terletak di alamat 00F(H), maka lokasi A[3] adalah …..
a. 00FC(H)
d. 01B(H)
b. 017(H)
e. 111(H)
c. 071(H)

6. Setiap elemen dari sebuah Array haruslah mempunyai type data yang sama, termasuk dalam karakteristik array yaitu :
a. Statis
b. Dinamis
c. Terurut
d. Heterogen
e. Homogen

Latihan Soal Struktur Data (Pertemuan 3)
1.Array yang sangat banyak elemen nol-nya, dikenal sebagai :
a. Upper tringular Array
b. Lower tringular Array
c. Sparse Array
d. One Dimensional Array
e. Multi Dimensional Array

2 Array yang seluruh elemen dibawah diagonal utamanya = 0, dikenal sebagai :
a. Upper tringular Array
b. Lower tringular Array
c. Sparse Array
d. One Dimensional Array             e. Multi Dimensional Array

3. Terdapat Array : A [3][4][5] maka jumlah elemen Array tersebut adalah ……
a. 25
b. 35
c. 12       d. 15      e. 60

4. Diketahui suatu array segitiga memiliki 4 baris dan kolom. Jumlah elemen yang bukan nol pada array segitiga tersebut adalah …..
a. 10
b. 8                              Pakai rumus I=N(N+1)/2
c. 4
d. 16
e. 20

5. Deklarasi Array X adalah int A [2][4][5], 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)                   Pakai rumus :
b. 0022(H)                   @M[m][n][p]=M[0][0[0] + {(m-1) * (jum.El.2 * jum.El.3)}
c. 0055(H)                     +{(n-1) * (jum.El.3)} + {(p-1)} * L
d. 0052(H)
e. 0034(H)

6.Array yang sangat banyak elemen nol-nya, dikenal sebagai :
a. Upper tringular Array
b. Lower tringular Array
c. Sparse Array
d. One Dimensional Array
e. Multi Dimensional Array

Latihan Soal I Struktur Data (Pertemuan 4)
1.Diketahui suatu deklarasi variabel int x,y,*z; variabel yang merupakan penunjuk ke pointer adalah :
a. x
b. y
c. z
d. x dan y
e. x, y dan z

2.Perintah yang tepat untuk mempersiapkan sebuah node baru berserta alokasi memorinya, adalah ….
a. Create
b. Null
c. Input
d. New
e. Insert

3.Jika Tail = Null, maka kondisi Linked List adalah :
a. Penuh
b. Kosong
c. Terisi
d. Tidak dapat ditambah
e. Baru

4. Gambar diatas menunjukkan bentuk penghapusan node pada posisi :
a. Belakang
b. Depan
c. Tengah
d. Tengah dan Depan
e. Depan dan Belakang

5. Perintah yang tepat untuk menyatakan Linked list berada dalam kondisi kosong, adalah ….
a. head=tail
b. head=tail=null
c. bantu=null
d. bantu=head
e. bantu=tail
6. Diketahui suatu deklarasi variabel int x,y,*z; variabel yang merupakan penunjuk ke pointer adalah :
a. x
b. y
c. z
d. x dan y
e. x, y dan z

Latihan Soal II Struktur Data (Pertemuan 5)
1.Operasi Stack yang digunakan untuk memeriksa apakah stack sudah penuh, adalah …..
a. PUSH
b. POP
c. CLEAR
d. ISEMPTY
e. ISFULL

2. Menambah satu (increment) nilai TOP of STACK setiap ada penambahan elemen stack selama stack masih belum penuh, merupakan langkah awal pada
operasi STACK yaitu …..
a. PUSH
b. POP
c. CLEAR
d. ISEMPTYe. ISFULL

3. Jika pada stack terdapat kondisi TOP of STACK = MAX_STACK – 1 maka stack berada dalam keadaan …
a. ISEMPTY
b. CLEAR
c. TOP
d. RETREIVE        e. FULL

4. Pada saat awal, Top of Stack selalu bernilai :
a. Top = 0
b. Top = 1
c. Top = -1
d. Top = Max_Stack
e. Top = Max_Stack – 1

5. Diberikan perintah/instruksi pada program C++, yaitu tumpuk.top++; Maksud dari perintah/instruksi tersebut
adalah ….
a. Top = Top + 1
b. Top = Top – 1
c. Top = 0
d. Top = – 1
e. Top = 1

6.Operasi Stack yang digunakan untuk memeriksa apakah stack sudah penuh, adalah …..
a. PUSH
b. POP
c. CLEAR
d. ISEMPTY
e. ISFULL



Latihan Soal II Struktur Data (Pertemuan 6)
1.Operasi pada Antrian yang digunakan untuk menambahkan item pada posisi paling belakang, adalah …
a. Create
b. Clear
c. Tail
d. Enqueue
e. Dequeue

2.Perintah IsFull pada antrian digunakan untuk :
a. Memeriksa apakah antrian sudah penuh
b. Memeriksa apakah Antrian penuh atau kosong
c. Menambahkan elemen ke dalam Antrian
d. Menghapus elemen dari dalam Antrian
e. Memeriksa apakah antrian sudah kosong

3.Yang tidak termasuk dalam operasi antrian, adalah …
a. Clear
b. Enqueue
c. IsFull
d. Push
e. Dequeue

4. Menghapus elemen dari antrian dilakukan dari posisi :
a. Tengah / Middle
b. Depan / Head
c. Bawah / bottom
d. Belakang / Tail
e. Atas / Top

5. Maksud dari perintah program antrian.head=antrian.tail = -1; adalah untuk ……
a. Menambah elemen antrian
b  Mengecek kondisi antrian kosong atau tidak
c. Mengecek kondisi antrian penuh atau tidak
d. Membentuk atau menghapus semua elemen antrian
e. Menghapus elemen antrian

6.Operasi pada Antrian yang digunakan untuk menambahkan item pada posisi paling belakang, adalah …
a. Create
b. Clear
c. Tail
d. Enqueue
e. Dequeue 

Macam-macam Kejahatan Internet (Cyber Crime)       Seperti halnya di dunia nyata, internet sebagai dun...