Kamis, 05 Juli 2012

Latihan Soal Struktur Data UTS



Latihan Soal Struktur Data ( Pertemuan 1 )

Pilih Jawaban & Alasannya :

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

Jawabannya : b. String
Alasannya    : Karena type data String merupakan type data Sederhana Majemuk artinya type Data              yang merupakan kumpulan dari beberapa karakter.

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

Jawabannya : d. Relasi
Alasannya    : Digunakan dalam Operator Bahasa C++, yang fungsinya untuk mengecek kebenaran dengan simbol (= = / Sama dengan bukan assignment / pemberian tugas ; <= / Lebih kecil atau sama dengan ; >= / Lebih besar atau sama dengan ; != / Tidak sama dengan)

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


Jawabannya : a. Boolean
Alasannya    : Karena hanya Type Data Boolean yang hanya mempunyai dua bentuk keluaran yaitu Benar dan Salah yang dinyatakan dengan 1 dan 0, sehingga satuan data yang terpakai cukup 1 bit saja.

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();
    }

    Type data yang tepat untuk (a) adalah ....
    a. Boolean   b. String   c. Char   d. Integer   e. Array

Jawabannya : d. Integer
Alasannya    : Karena dalam type data ini merupakan bentuk penjumlahan sederhana

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

Jawabannya : a. r = 11, s = 21
Alasannya    : Karena r sudah memiliki nilai 10 dan ++r berarti 10 + 1 = 11, sedangkan s sendiri memiliki nilai 10 + r tadi yang bernilai 11 = 21.

Pertemuan2
  1. Diketahui float A[5] dan lokasi terletak di alamat 00F(H) maka lokasi A[3] adalah :
Diketahui :
@A[5]               = A[3]
B                      = 00F(H)
i                       = 3
L                      = 4
Jawab :
B + ( i – 1 ) * L
00F(H) + ( 3 – 1 ) * 4
00F(H) + 8(D) = 8(H)
0017(H)

  1. Diketahui double A[20] dan lokasi awal terletak ai alamat 00AB(H) maka lokasi A[15] adalah :
Diketahui :
@A[20] = A[15]
B                      = 00AB(H)
i                       = 15
L                      = 8
Jawab :
B + ( i – 1 ) * L
00AB(H) + ( 15 – 1 ) * 8
00AB(H) + 112(D)
00AB(H) + 70(H)
011B(H)

  1. Diketahui int A[100] dan lokasi awal terletak di alamat 00FB(H) maka lokasi A [78} adalah :
Diketahui:
@A[100]           = A[78]
B                      = 00FB(H)
i                       = 78
L                      = 2
Jawab :
B + ( i – 1 ) * L
00FB(H) + ( 78 – 1 ) * 2
00FB(H) + 154(D)
00FB(H) + 9A(H)
017C(H)

4.    Diketahui char A [50] dan lokasi awal terletak di alamat 00FF(H) maka lokasi A [38] adalah :
Diketahui:
@A[50] = A[38]
B                      = 00FF(H)
i                       = 38
L                      = 1
Jawab :
B + ( i – 1 ) * L
00FF(H) + ( 38 – 1 ) * 1
00FF(H) + 37(D)
00FF(H) + 25(H)
00124(H)

Pertemuan 3
1.        Terdapat Array float A[5][4] dan lokasi awal terletak di alamat 00F(H) maka lokasi A[3][4] secara kolom dan baris adalah :
Diketahui :
@M[i][j]                = A[3][4]
@M[0][0]              = 00F(H)
i                               = 3
j                               = 4
N                             = 4
L                             = 4
K                             = 5
Jawab : Secara Baris
@M[i][j] = @M[0][0] + {(i – 1)* N + (j – 1)}*L
A[3][4]                   = 00F(H) + {(3 – 1)* 4 + (4 – 1)}*4
                                                = 00F(H) + 44(D)
                                                = 00F(H) + 2C(H)
                                                = 03B(H)
Jawab : Secara Kolom
@M[i][j] = @M[0][0] + {(j – 1)* K + (i – 1)}*L
A[3][4]                   = 00F(H) + {(4 – 1)* 5 + (3 – 1)}*4
                                                = 00F(H) + 68(D)
                                                = 00F(H) + 44(H)  
                                                = 053(H)

2.        Terdapat Array Long Double A[50][75] dan lokasi awal terletak di alamat 00FF(H) maka lokasi A[48][60] secara kolom dan baris adalah :
Diketahui :
@M[i][j]                = A[48][60]
@M[0][0]              = 00FF(H)
i                               = 48
j                               = 60
N                             = 75
L                             = 10
K                             = 50
                 Jawab : Secara Baris
@M[i][j] = @M[0][0] + {(i – 1)* N + (j – 1)}*L
A[48][60]               = 00FF(H) + {(48 – 1)* 75 + (60 – 1)}*10
                                                = 00FF(H) + 35840(D)
                                                = 00FF(H) + 8C00(H)
                                                = 8CFF(H)
Jawab : Secara Kolom
@M[i][j] = @M[0][0] + {(j – 1)* K + (i – 1)}*L
A[3][4]                   = 00FF(H) + {(60 – 1)* 50 + (48 – 1)}*10
                                                = 00FF(H) + 29970(D)
                                                = 00FF(H) + 7512(H)           
                                                = 7611(H)


3.        Terdapat Array Double A[25][50] dan lokasi awal terletak di alamat 009F(H) maka lokasi A[17][48] secara kolom dan baris adalah :
Diketahui :
@M[i][j]                = A[17][48]
@M[0][0]              = 009F(H)
i                               = 17
j                               = 48
N                             = 50
L                             = 8
K                             = 25
                 Jawab : Secara Baris
@M[i][j] = @M[0][0] + {(i – 1)* N + (j – 1)}*L
A[17][48]               = 009F(H) + {(17 – 1)* 50 + (48 – 1)}*8
                                                = 009F(H) + 6776(D)
                                                = 009F(H) + 1A78(H)
                                                = 1B17(H)
Jawab : Secara Kolom
@M[i][j] = @M[0][0] + {(j – 1)* K + (i – 1)}*L
A[3][4]                   = 009F(H) + {(48 – 1)* 25 + (17 – 1)}*8
                                                = 009F(H) + 9528(D)
                                                = 009F(H) + 2538(H)            
                                                = 25D7(H)

4.        Deklarasi Array X adalah  Double A[2][4][5] dengan alamat awal index [0][0][0] berada di 0021(H) tentukan berapa alamat Array di [2][2][2] :
Diketahui :
@ [n][m][p]           = A [2][4][5]
M [0][0][0]             = 0021(H)
L                              = 8
Jawab :
@ [n][m][p]           = M[0][0][0] + {((n-1)*(index 1)) + ((m-1)*((index 2)) + ((p-1) * (index 3)}*L
                                = 0021(H) + {((2-1)*(2))+((4-1)*((2))+((5-1)*(2))*8
                                = 0021(H) +  128(D)
                                = 0021(H) + 80(H)
                                = 01A1(H)


TUGAS  4 STRUKTUR DATA

1.       Stack termasuk (a) Linier List atau (b) Non Linier List jelaskan
Jawab:
(a) Linier List karena pemasukan dan penghapusan elemennya hanya daat dilakukan pada satu posisi, yaitu posisi akhir dari List (TOP)

2.       Apa saja perlakuan yang dimungkinkan sehingga suatu STACK dikatakan dalam kondisi hampa?
Jawab:
Dengan fungsi IsEmpty, dengan cara memeriksa TOP of STACK jika TOP masih =-1 maka berarti Stack masih kosong / hampa.
Dengan Fungsi Clear, Digunakan untuk mengosongkan Stack/ membuat Stack hampa sehingga TOP pada Stack berada kembali di posisi TOP =-1

3.       Sebutkan empat operasi pada STACK dan beri contohnya
Jawab:
 ISEMPTY  : Untuk memeriksa apakah Stack kosong
Contoh :               int IsEmpty ()
                                {
                                If (tumpukan.top ==-1
                                                Return 1;
                                Else
                                                Return 0;            
                                }
ISFULL : Untuk memeriksa apakah STACK penuh
Contoh :               int IsFull ()
                                {
                                If(tumpukan.top == MAX_STACK-1
                                                Return 1;
                                Else
                                                Return 0;
                                }
PUSH : Untuk menambahkan item pada posisi yang paling atas (TOP)
Contoh :               void push ( char d[5] )
                                {
                                Tumpuk.top ++
                                Strcpy (tumpuk.data[tumpuk.top],d);
                                }
POP : Digunakan untuk menghapus elemen yang berada pada posisi paling atas dari Stack
                Contoh:                                void pop ()
                                                {
                                                Printf(“Data yang di POP = %s\n”, tumpuk.data [tumpuk.top]);
                                                Tumpuk.top --;
}
4.       Sebutkan dua kesalahan yang mungkin terjadi pada pengoperasian Stack dan pada kondisi seperti apa kesalahan itu bisa terjadi
Jawab :
a. Pemasukan elemen
b. Penghapusan elemen
Kondisinya terjadi ketika pemasukan dan penghapusan elemen tidak dilakukan pada satu posisi, padahal kita tahu bahwa Stack merupakan bentuk khusus dari Linier List yang pemasukan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu posisi akhir dari list ( TOP )

5.       Konversikan notasi infix A-B*C^D^( E*F / ( G –H )) ke postfix
Jawab :

               

A
-
B
*
C
^
D
^
(
E
-
F
/
(
G
-
H
)
)
;
stack

-
-
*
*
^
^
^
(
^
(
^
(
^
(
^
(
^
(
(
^
(
(
^
(
(
^
(
(
^
(
^
^

Out
put
A

B
-
C
*
D
^

E
*
F
/

G
-
H


^

Postfix : AB-C*D^E*F/G-H^

selesai baca jangan lupa klik gambar benner saya ^_^ benner blog chilupay

1 komentar:

Anonim mengatakan... Reply comment

Manstaps gann membantu banget ini .. Maju terus gannn jgn lupa upload lagi foto2 unyunya... thanks yaaaaaa

Posting Komentar

Terima kasih atas pesan dan saran agan bloger semuanya, mohon tidak membuat komentar yang bersifat sara, pornografi,kotor dan kata-kata yang tidak sopan ...
(\(\
(='_')
|><|

Related Posts Plugin for WordPress, Blogger...

recent post