- 1. ARRAY DIMENSI BANYAK Pertemuan 3
- 2. 3. ARRAY DIMENSI TIGA (Three Dimensional Array) Digunakan untuk mengelola data dalam bentuk 3 dimensi atau tiga sisi. Deklarasi : Type_Data Nama_Variabel [index1] Misal : int A [3][4][2]; [ndex2] [index3]; Penggambaran secara Logika : 0 1 2 1 0 0 1 2 3
- 3. Menentukan jumlah elemen dalam Array dimensi 3 : n = Perkalian dari statemen sebelumnya(index array) i=1 Contoh : Suatu Array X dideklarasikan sbb : int A [3][4][2]; maka jumlah elemen Array dimensi tiga tersebut adalah : (3) * (4) * (2) = 24
- 4. PEMETAAN (MAPPING) ARRAY DIMENSI TIGA KE STORAGE Rumus : @M[m][n][p] = M[0][0][0] + {((m-1) *(jum.elemen2 * jum.elemen3)) + ((n-1)*(jum.elemen 3)) + ((p-1)}* L Contoh : Suatu Array A dideklarasikan sebagai berikut : int A [2][4][3], dengan alamat awal index A[0][0][0] berada di 0011(H) dan ukuran type data int = 2 alamat array di A[2][3][2] ? Tentukan berapa
- 5. Contoh Pemetaan : Penyelesaian : 1. Tentukan jumlah elemen array A [2][4][3] = (2) * (4) * (3) = 24 2. @M[m][n][p] = M[0][0][0] + {((m-1) *(jum.elemen2 * jum.elemen3)) + ((n-1)*(jum.elemen 3)) + ((p-1)}* L A[2][3][2] = 0011(H) + {((2–1) * 4 * 3) + ((3-1) * 3) + (2-1)} * 2 = = = = 0011(H) + {12 + 6 + 1 } * 2 0011(H) + 38 0011(H) + 26 0037(H) 26(D) (H) (H)
- 6. Contoh Program array dimensi 3 /* *Judul Program *Bahasa Program : : : Array dimensi 3 Bahasa C Hendro Pramana*Pembuat Sinaga *Tanggal */ Program printf("Liga Champions : nn"); Pembuatan : 5 Mei 2012 for(i=0; i<5; i++) { ++h; printf("Grup %c #include #include <stdio.h> <conio.h> n", h); for(s=0; s<4; { s++) main() printf(" %d. %s n",{ s+1, nama[i][s]);char h=64, nama[5][4][22] = { } printf("n"); "AC Milan","Barcelona","Porto","Monaco", "Liverpool","Real Madrid","CSK Moskow","PSG", "Inter Milan","Arsenal","Atletico Madrid","Ajax", "AS Roma","Manchester United","Dortmund","Valencia", "Manchester City","Bayern Munich","Napoli","Vilareal" } getch(); } };
- 7. Tampilan Program
- 8. TRINGULAR ARRAY (ARRAY SEGITIGA) Tringular Array dapat merupakan Upper Tringular (seluruh elemen di bawah diagonal utama = 0), ataupun Lower Tringular (seluruh elemen di atas diagonal utama = 0). Dalam Array Lower Tringular dengan N baris, jumlah maksimum elemen <> 0 pada baris ke-I adalah = I, karenanya total elemen <> 0, tidak lebih dari N I = N(N+1) / 2 I=1
- 9. Contoh : Diketahui suatu array segitiga atas kolom, tentukan berapakah jumlah nol pada array tersebut. memiliki 3 baris dan elemen yang bukan I I = = = = N(N+1) / 2 3 (3+1) / 2 12 / 2 6 Contoh bentuk array nya adalah seperti dibawah ini : 10 0 0 20 40 0 30 50 60 5 0 0 10 20 0 15 25 30 Dan lain-lain
- 10. Suatu Array Upper Tringular dan yang Array sama, Lower dapat yang Tringular disimpan berbeda, dapat dengan order arraysebagai suatu dengan order Contohnya :
- 11. SPARSE ARRAY (ARRAY JARANG) Suatu Array yang sangat banyak elemen nol-nya, contohnya adalah Array A pada Gambar berikut :
- 12. Latihan 1. Suatu array A dideklarasikan sbb: Float A[5][5][5] dengan alamat awal A[0][0][0] = 0021(H), A[5][4][3]? berapakah alamat array A[2][3][2] dan 2. Suatu array B dideklarasikan sbb: Char B[3][4][3] dengan alamat awal A[0][0][0] = 0021(H), A[3][4][3]? berapakah alamat array A[2][3][2] dan
- 13. Latihan Soal Struktur Data (Pertemuan 3) 1. Array yang sangat banyak sebagai : elemen nol-nya, dikenal a. b. c. Upper tringular Array Lower tringular Array Sparse Array d. One Dimensional Array e. Multi Dimensional Array 2 Array yang seluruh elemen = 0, dikenal sebagai : dibawah diagonal utamanya a. b. c. Upper tringular Array Lower tringular Array Sparse Array d. One Dimensional Array e. Multi Dimensional Array
- 14. 2 Array yang seluruh elemen dibawah diagonal utamanya = 0, dikenal sebagai : a. Upper tringular Array Array b. Lower tringular Array Array c. Sparse Array d. One Dimensional e. Multi Dimensional 3. Terdapat Array : A [3][4][5] tersebut adalah …… maka jumlah elemen Array a. b. c. 25 35 12 d. 15 e. 60
- 15. 3. Terdapat Array : A [3][4][5] maka jumlah elemen Array tersebut adalah …… a. b. c. 25 35 12 d. 15 e. 60 4. Diketahui suatu array segitiga memiliki 4 baris dan pada arraykolom. Jumlah elemen yang bukan nol segitiga tersebut adalah ….. a. b. c. 10 8 4 d. 16 e. 20
- 16. 4. Diketahui suatu array segitiga memiliki 4 baris dan pada arraykolom. Jumlah elemen yang bukan nol segitiga tersebut adalah ….. a. b. c. 10 8 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. b. c. 0034(H) 0022(H) 0055(H) d. 0052(H) e. 0034(H)
- 17. 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] d. 0052(H) e. 0034(H) ? a. b. c. 0034(H) 0022(H) 0055(H) 1. Array yang sebagai : sangat banyak elemen nol-nya, dikenal a. b. c. Upper tringular Array Lower tringular Array Sparse Array d. One Dimensional Array e. Multi Dimensional Array
1. Type data dibawah ini, yang tidak termasuk dalam tipe data sederhana
tunggal, adalah : a. Boolean b. Integer
c. String
d. float e. Char2. ==, <=, >=, !=, termasukdalam operator … a. Aritmatikab. Relasi c. Unary
d. Bitwise e. Binary3. Type data yang menghasilkan
bentuk keluaran nilai True dan False (Benardan Salah) ,adalah :
a. Boolean b. Integer c. String d. float e. Char4. 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 hasilpenjumlahan =“ << z; getch(); }
Tipe data yang tepat
untuk (a) adalah …. a. Boolean
b. Integer
c. String d. Array e. Char5. void main() { int r = 10; int s; clrscr(); s = 10 + ++r; cout<<“r = “<< r << ‘\n’; cout<<“s = “<< s << ‘\n’; getch(); } Hasileksekusidari program diatasadalah ….a. r = 11, s = 21
b. r = 10, s = 21 c. r = 11, s = 20 d. r = 10, s = 20 e. r = 12, s = 216. Setiap
elemen dari sebuah Array haruslah mempunyai type data yang sama, termasuk dalamkarakteristik array yaitu : a. Statis b. Dinamis c. Terurut d. Heterogen
e. Homogen
7. Array yang sering
digunakan dalam menterjemahkan matriks padapemrograman, adalah array berdimensi : a. Satu
b. Dua
c. Tiga d. SatudanDua e. SatudanTiga8. Contoh
aplikasi array dimensi duaadalah….. a. Input data suhu b. Input namahari
c. Input nilai
mahasiswa perkelas dan matakuliahd. Input nilaiipkmahasiswa e. Input namabulan
9. Terdapat Array : A [5][4] maka
jumlah elemen Array tersebutadalah …… a. 25 b. 35 c. 9 d. 15
e. 20
10. Diketahui float A[5] dan
lokasi awal terletak di alamat 00F(H), makalokasi A[3] adalah ….. a. 00FC(H)
b. 017(H)
c. 071(H) d. 01B(H) e. 111(H)
11. 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 Array12. Array yang seluruh
elemen dibawah diagonal utamanya = 0, dikenalsebagai :
a. Upper tringular Array b. Lower tringular Array c. Sparse Array d. One Dimensional Array e. Multi Dimensional Array
13.Terdapat Array : A [3][4][5] maka
jumlahelemen Array tersebutadalah …… a. 25 b. 35 c. 12 d. 15
e. 60
14. Diketahui
suatu array segitiga memiliki 4 baris dan kolom.Jumlah elemen yang bukan nol pada array segitiga tersebutadalah …..
a. 10 b. 8 c. 4 d. 16 e. 20
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 berapaalamat array di A[2][2][2] ? a. 0034(H) b. 0022(H) c. 0055(H) d. 0052(H)
e. 0034(H)
16. Diketahui
suatu deklarasi variabel int. X,Y,*Z ; variabel yang merupakan penunjukke POINTER adalah : a. X b. Y
c. Z
d. X dan Y e. X,Y dan Z
17. Perintah yang tepat untuk mempersiapkan sebuah node baru beserta alokasi memorinya
adalah : a. Create b. Null c. Input
d. New
e. Insert18.Jika Tail=Null,maka
kondisi Linked List adalah : a. Penuh
b. Kosong
c. Terisid. Tidak
dapatditambah e. Baru
19. Perintah yang tepat
untuk menyatakan Linked List berada dalam kondisi kosongadalah : a. Head=Tail
b. Head=Tail=Null
c. Bantu=Null d. Bantu=Head e. Bantu=Tail20. Operasi STACK yang digunakan
untuk memeriksa apakah STACK sudah penuhadalah a. PUSH b. POP c. CLEAR d. ISEMPTY
e. ISFULL
21. Menambah
satu (increament) 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. ISEMPTY e. ISFULL
22. Jika
pada STACK terdapat kondisi TOP of STACK =MAX_STACK – 1 maka STACK dalamkeadaan : a. ISEMPTY b. CLEAR c. TOP d. RETRIVE
e. FULL
23. 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
24. Diberikan
perintah instruksi pada program C++ yaitu tumpuk TOP++, maksud dari perintahtersebutadalah : a. TOP = TOP + 1 b. TOP = TOP – 1 c. TOP = 0 d. TOP = -1 e. TOP = 1
25. Operasi
pada Antrian yang digunakan untuk menambahkan item pada posisi paling belakangadalah : a. CREATE b. CLEAR c. TAIL
d. ENQUEUE
e. DEQUEUE26. Perintah ISFULL pada
Antrian digunakan untuk :a.Memeriksa apakah Antrian sudah penuh
b.Memeriksa apakah Antrian sudah penuh atau kosong
c.Menambahkan Elemen ke dalam Elemen
d.Menghapus Elemen dari Antrian
e.Memeriksa apakah Antrian sudah termasuk dalam operasi Antrian
adalah : a. CLEAR b. ENQUEUE c. ISFULL
d. PUSH e. DEQUEUE
28. Menghapus
Elemen dari Antrian dilakukan dariposisi : a. Tengah/Middle
b. Depan/Head
29. 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. MenghapusElemenAntrian
30. Simpul
Khusus pada pohon yang memiliki derajat keluar>= 0, dan derajatmasuk = 0, adalah …. a. Node / simpul
b. Root / akar
c. Leaf / daun d. edge / ruas e. level31. Jika
suatu pohon biner memiliki simpul sebanyak 5 maka banyaknya ruasadalah : a. 2 b. 3 c. 4
d. 5
e. 632. Pohon
biner yang memiliki cirri Semua simpul (kecuali daun) memiliki 2 anak dan tiap cabangmemiliki panjang ruas yang sama, adalah pohonbiner …. a. Lengkap / complete b. Similer c. Miring / skewed
d. Penuh / full
e. ekivalen33. Suatu
pohon memiliki level = 4, maka banyaknya Simpul Maksimum yang dapat terbentuksampai Level 4 adalah …. a. 8 b. 15 c. 12 d. 4
e. 7
34. Pohon biner yang memiliki struktur dan informasinya sama
disebut : a. Miring (Skewed) b. Terstruktur
c. Ekivalent
d. Similer e. Complete35. Kunjungan
dengan urutan : kunjungi simpul akar, cabang kiri, cabang kanan, adalahkunjungan….
a. Preorder b. Inorder c. Symetric Order d. Postorder
e. Outorder
ini, yang tidak termasuk dalam kunjungan pohon biner
adalah : a. Inorder
b. Outorder
c. Symetric Order d. Preorder e. Postorder37. Tehnik
pengurutan data yang paling tepat digunakan untuk tabel data yang sangat besaradalah… a. Selection Sort b. Bubble Sort
c. Merge Sort
d. Quick Sort e. Insertion Sort38. Mengelompokan
deret bilangan kedalam 2 bagian, 4 bagian, 8 bagian, …dst, merupakansalah satu iterasi didalammetode:
a. Selection Sort b. Bubble Sort c. Merge Sort d. Quick Sort e. Insertion Sort
39. Jika
urutan data pada langkah pertama adalah : 5 8 2 10 3 maka urutan data secara ascending pada langkah berikutnya denganmetode Insertion sort adalah … a. 2 8 5 10 3 b. 2 3 5 10 8 c. 2 5 8 3 10
d. 2 3 5 8 10
e. 2 5 8 10 340.(1) Tentukan
batas bawah (LB) dan batas atas (UB) (2) Bila LB>UB, maka data ditukarPernyataan diatas adalah langkah pengurutan data dengan
metode : a. Bubble b. Merge c. Selection d. Insertion e. Quick
41. Jika
diketahui urutan data 26 18 21 6 12, bila urutan data pada langkah berikutnyamenjadi 18 26 6 21 12, maka metode sorting yang digunakanadalah … a. Quick b. Bubble c. Insertion d. Selection
e. Merge
terbaik (best case) untuk pencarian data dengan sequential search adalah jika ….
a. Data yang dicari berada di indeks belakang
b. Data yang dicari berada di indeks terdepan
c. Data yang dicari berada di tengah indeks
d. Data yang dicari tidak ada pada indeks array
e. Tidak ada
jawaban yang benar
43. Yang merupakan
metode terbaikdalam searching adalah a. Linier Searching b. Sequential Searching c. Binary searching d. A, B dan C benar e. A, B dan C salah
44.Pencarian data dengan
metode Binary search akan berhenti bila data dicari sudah ditemukan, yaitu padakondisi… a. cari< data[m] b. cari = data[m] c. cari<> data[m] d. cari> data[m] e. cari = 0
45. Suatu
teknik pencarian data dalam array dimensi 1 yang akan menelusuri semua elemen array dari awal sampai akhir, dimana data-data tidak perlu diurutkan terlebih dahulu (acak) adalahmetode a. Linier Searching b. Sequential Searching c. Binary searching d. A dan B benar e. B dan C benar
46.Bila
diketahui urutan data sebagaiberikut : 5 10 15 20 25
Pencarian data 10 dengan
metode Binary dapat diselesaikan pada langkahke… a. 1
b. 2
c. 3 d. 4 e. 547. Graph yang memiliki
ruas sejajar dan gelungdisebut …
a. Gelung/self loop b. Multigraph c. Simple Graph d. Graph sederhana e. Euler graph
48. Perjalanan (Walk) dalam suatu graph akan disebut tertutup
bila ….
a. V1 = Vn b. Vn = V(n-1) c. V1 <>Vn d. V1 = V(n-1) e. V1 = 0
49. Bila
diketahui banyaknya ruas pada suatu graph = 7, maka jumlah derajat Graph-nyaadalah ….
a. 14 b. 49 c. 6 d. 21 e. 7
50. Bila
diketahui jumlah derajat semua simpul pada suatu graph adalah 20, maka banyaknyaruas pada graph tersebutadalah …. a. 19 b. 21
c. 40
d. 10 e. 1551. Matriks
penyajian graph yang menghubungkan vertex dengan vertex, tanpa ruas sejajar, disebutmatriks… a. Incidence b. Adjacency
c. Directed Graph
d. Undirected Graph e. Semuajawabansalah52. Maksimum
jumlah busur dari n simpuldalam Directed Graph a. n ( n - 1) / 2
b. n ( n - 1)
c. n - 1 d. (n – 1) / 2 e. (n – 1) + 253. Bila
diketahui simpul dari suatu graph berarah (Directed Graph) adalah 5, maka maksimumjumlah busur dari graph tersebutadalah…. a. 25
b. 20
c. 10 d. 15 e. 2
54. Penelusuran graph yang diawali dari node-1 kemudian melebar pada node-2, node-3 danseterusnya, adalah penelusuran dengan
cara ….
a. Breadth First Search b. Depth First Search c. Width First Search d. Node First Search
e. Edge First Search