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?
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?
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?
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?
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:
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.
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?
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.
•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?
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.
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.
9. Terdapat Array : A [5][4] maka jumlah elemen Array tersebut adalah ……
19. Gambar diatas menunjukkan bentuk penghapusan node pada posisi :
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
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
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
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
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
{
….(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
{
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
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
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
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
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)
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
a. Create
b. Clear
c. Tail
d. Enqueue
e. Dequeue