Terdapat Array : A(5)(4) maka jumlah elemen Array tersebut adalah

  1. 1. ARRAY DIMENSI BANYAK Pertemuan 3
  2. 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. 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. 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. 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. 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. 7. Tampilan Program
  8. 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. 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. 10. Suatu Array Upper Tringular dan yang Array sama, Lower dapat yang Tringular disimpan berbeda, dapat dengan order arraysebagai suatu dengan order Contohnya :
  11. 11. SPARSE ARRAY (ARRAY JARANG) Suatu Array yang sangat banyak elemen nol-nya, contohnya adalah Array A pada Gambar berikut :
  12. 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. 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. 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. 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. 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. 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. Aritmatika           

    b. Relasi    c. Unary               

    d. Bitwise    e. Binary

3. Type data yang menghasilkan

 bentuk keluaran nilai True dan False (Benar 

dan 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 = 21

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

7. Array yang sering

 digunakan dalam menterjemahkan matriks pada 

pemrograman, adalah array berdimensi :    a. Satu

    b. Dua

    c. Tiga    d. SatudanDua    e. SatudanTiga

8. Contoh

 aplikasi array dimensi dua 

adalah…..    a. Input data suhu           b. Input namahari

    c. Input nilai

 mahasiswa perkelas dan matakuliah

    d. Input nilaiipkmahasiswa    e. Input namabulan

9. Terdapat Array : A [5][4] maka

 jumlah elemen Array tersebut 

adalah ……    a. 25    b. 35    c. 9    d. 15

    e. 20

10. Diketahui float A[5] dan

 lokasi awal terletak di alamat  00F(H), maka 

lokasi 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 Array

12. 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

13.Terdapat Array : A [3][4][5] maka

 jumlah 

elemen 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 tersebut 

adalah …..
    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 berapa 

alamat 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 penunjuk 

ke 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. Insert

18.Jika Tail=Null,maka

 

kondisi Linked List adalah :    a. Penuh

    b. Kosong

    c. Terisi

    d. Tidak

 dapat 

ditambah    e. Baru

19. 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

20. Operasi STACK yang digunakan

 untuk memeriksa apakah STACK sudah penuh 

adalah    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 dalam 

keadaan :    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 perintahtersebut 

adalah :    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 belakang

adalah :    a. CREATE    b. CLEAR    c. TAIL

    d. ENQUEUE

    e. DEQUEUE

26. 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 dari 

posisi :    a. Tengah/Middle

    b. Depan/Head

    c. Bawah/Bottom    d. Belakang/Tail    e. Atas/Top

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 derajat 

masuk = 0, adalah ….       a. Node / simpul

    b. Root / akar

    c. Leaf / daun    d. edge / ruas    e. level

31. Jika

 suatu pohon biner memiliki simpul sebanyak 5 maka banyaknya ruas 

adalah :    a. 2    b. 3    c. 4

    d. 5

    e. 6

32. Pohon

 biner yang memiliki cirri Semua simpul (kecuali daun) memiliki 2 anak dan tiap cabangmemiliki panjang ruas yang sama, adalah pohon 

biner ….    a. Lengkap / complete           b. Similer               c. Miring / skewed

    d. Penuh / full

    e. ekivalen

33. Suatu

 pohon memiliki level = 4, maka banyaknya Simpul Maksimum yang dapat terbentuk

sampai 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. Complete

35. Kunjungan

 dengan urutan : kunjungi simpul akar, cabang kiri, cabang kanan, adalah

kunjungan….
    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. Postorder

37. Tehnik

 pengurutan data yang paling tepat digunakan untuk tabel data yang sangat besar

adalah…    a. Selection Sort    b. Bubble Sort

    c. Merge Sort

    d. Quick Sort    e. Insertion Sort

38. Mengelompokan

 deret bilangan kedalam 2 bagian, 4 bagian, 8 bagian, …dst, merupakansalah satu iterasi didalam 

metode:
    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 dengan 

metode 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   3

40.(1) Tentukan

 batas bawah (LB) dan batas atas (UB) (2) Bila LB>UB, maka data ditukar
   Pernyataan
 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 digunakan 

adalah …    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 terbaik 

dalam 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 pada 

kondisi…    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) adalah

metode    a. Linier Searching    b. Sequential Searching    c. Binary searching    d. A dan B benar    e. B dan C benar

46.Bila

 diketahui urutan data sebagai 

berikut :     5   10   15   20   25

    Pencarian data 10 dengan

 metode Binary dapat diselesaikan pada langkah 

ke…    a. 1

    b. 2

    c. 3    d. 4    e. 5

47. Graph yang memiliki

 ruas sejajar dan gelung 

disebut …
    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-nya 

adalah ….
    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 tersebut 

adalah ….    a. 19    b. 21

    c. 40

    d. 10    e. 15

51. Matriks

 penyajian graph yang menghubungkan vertex dengan vertex, tanpa ruas sejajar, disebut 

matriks…    a. Incidence    b. Adjacency

    c. Directed Graph

    d. Undirected Graph    e. Semuajawabansalah

52. Maksimum

 jumlah busur dari n simpul 

dalam Directed Graph    a. n ( n - 1) / 2

    b. n ( n - 1)

    c. n - 1    d. (n – 1) / 2    e. (n – 1) + 2

53. Bila

 diketahui simpul dari suatu graph berarah (Directed Graph) adalah 5, maka maksimumjumlah busur dari graph tersebut 

adalah….    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


Page 2