STRUKTUR DATA
PERTEMUAN 13
DIK : L= 1
U= 1000
DIT: X=212………….?
JWB: m =(L + U)/2
=(1+1000)/2
=500,5
1. X DATA (m)
212 < 500
U =m-1
= 500-1
=499
m =(L +U)/2
=(1+499)/2
=250
2. X DATA(m)
212 < 250
U =m-1
=250-1
=249
m =(L+U)/2
=(1+249)/2
=125
3. X DATA(m)
212 > 125
L =m+1
=125+1
=126
m =(L+U)/2
=(126+249)/2
=187,5
4. X DATA(m)
212 > 187
L =m+ 1
=187+1
=188
m =(L+U)/2
=(188+249)/2
=218,5
5. X DATA(m)
212 < 218
U =m -1
=218-1
=217
m =(L+U)/2
=(188+217)/2
=202,5
6. X DATA(m)
212 > 202
L =m +1
=202 +1
=203
m =(L+U)/2
=(203+217)/2
=210
7. X DATA(m)
212 > 210
L =m +1
=210 + 1
=211
m =(L+U)/2
=(211+217)/2
=214
8. X DATA(m)
212 < 214
U =m -1
=214 – 1
=213
m =(L+U)/2
=(211+213)/2
=212
9. X DATA(m)
212 = 212
noniez dolpinz
Rabu, 08 Juni 2011
Selasa, 19 April 2011
TUGAS PETEMUAN KE-4
TUGAS STRUKTUR DATA STACK
Soal!
1. Stack termasuk (a) linear list atau (b) non linear lilst? Jelaskan
2. Apa saja perlakuan yang di mungkinkan sehinga suatu stack di katakana dalam kondisi hampa?
3. sebutkan 4 (empat) operasi pada stack dan beri contoh-contohnya.
4. sebutkan dua kesalahan yang mungkin terjadi pada pengoprasian stack dan pada kondisi seperti apa kesalahan itu bias terjadi?
5. konfersikan notasi infix A-B*C^D^(E*F/(G-H)) ke notasi postfix.
Jawab:
1. Stack adalah termasuk (a) linear list, karena penghapusan elemenya hanya dapat di lakukan pada satu posisi, yaitu posisi akhir dari list (TOP)
2. Perlakuan yang di mungkinkan sehinga suatu stack di katakana dalam kondisi hampa yaitu Dengan cara memeriksa TOP of STACK, jika TOP masih =-1, maka berarti STACK masih kosong.
3. A. ISEMPTY
Ex: Int ISEMPTY ()
{
If (tumpuk.top==-1
Return 1;
Else
Return 0;
}
B. ISFULL
Ex: Int ISFULL ()
{
If (tumpuk, top==MAX_STACK-1
Return 1;
Else
Return 0;
}
C. PUSH
Ex: Void Push (char d[s])
{tumpuk.top++
Strcpy(tumpuk.data[tumpuk.top],d);
}
D. CLEAR
Ex: Void POP ()
{
Print(“Data yang di POP=%5/n”,tumpuk.data
[tumpuk.top]);tumpuk.top--;
}
4. Kesalahan yang mungkin terjadi pada pengoprasian stack yaitu apabila penghapusan di lakukan di posisi awal, dan apabila cara memeriksa TOP of STACK, TOP tidak =-1, yatu pada posisi hampa.
5. Infix : A-B*C^D^(E*F/(G-H))
Postfix : AB-CD*^E^F*GH-+
Soal!
1. Stack termasuk (a) linear list atau (b) non linear lilst? Jelaskan
2. Apa saja perlakuan yang di mungkinkan sehinga suatu stack di katakana dalam kondisi hampa?
3. sebutkan 4 (empat) operasi pada stack dan beri contoh-contohnya.
4. sebutkan dua kesalahan yang mungkin terjadi pada pengoprasian stack dan pada kondisi seperti apa kesalahan itu bias terjadi?
5. konfersikan notasi infix A-B*C^D^(E*F/(G-H)) ke notasi postfix.
Jawab:
1. Stack adalah termasuk (a) linear list, karena penghapusan elemenya hanya dapat di lakukan pada satu posisi, yaitu posisi akhir dari list (TOP)
2. Perlakuan yang di mungkinkan sehinga suatu stack di katakana dalam kondisi hampa yaitu Dengan cara memeriksa TOP of STACK, jika TOP masih =-1, maka berarti STACK masih kosong.
3. A. ISEMPTY
Ex: Int ISEMPTY ()
{
If (tumpuk.top==-1
Return 1;
Else
Return 0;
}
B. ISFULL
Ex: Int ISFULL ()
{
If (tumpuk, top==MAX_STACK-1
Return 1;
Else
Return 0;
}
C. PUSH
Ex: Void Push (char d[s])
{tumpuk.top++
Strcpy(tumpuk.data[tumpuk.top],d);
}
D. CLEAR
Ex: Void POP ()
{
Print(“Data yang di POP=%5/n”,tumpuk.data
[tumpuk.top]);tumpuk.top--;
}
4. Kesalahan yang mungkin terjadi pada pengoprasian stack yaitu apabila penghapusan di lakukan di posisi awal, dan apabila cara memeriksa TOP of STACK, TOP tidak =-1, yatu pada posisi hampa.
5. Infix : A-B*C^D^(E*F/(G-H))
Postfix : AB-CD*^E^F*GH-+
Selasa, 12 April 2011
TUGAS 3 STRUKTUR DATA
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...
dik : @M[0][0] = 00F(H)
i = 3
j = 4
K = 5
N = 4
L = 4
Penyelesaian :
Secara Baris :
@M[i][j] = @M[0][0] + {(i-1) * N + (j-1)}*L
X[3][4] = 00F(H) + {(3-1) * 4 + (4-1)}* 4
= 00F(H) + {(2) * 4 + (3)}* 4
= 00F(H) + 44(D)
= 00F(H) + 02C(H)
= 03B(H)
Secara Kolom :
@M[i][j] = @M[0][0] + {(j-1) * K + (i-1)}* L
X[3][4] = 00F(H) + {4-1) * 5 + (3-1)}* 4
= 00F(H) + {(3) * 5 + (2)}* 4
= 00F(H) + 68(D)
= 00F(H) + 044(H)
= 053(H)
2. 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:
Dik : Long Double A [50][75] i = 48
A[0][0] = 00FF(H) j = 60
L = 10 K = 50
A[i][j] = A[48][60] N = 75
Dit : A[48][60] = ….?
penyelesaian :
secara Baris
A[i][j] = @A[0][0] + {(i-1) * N + (j-1)} * L
A[48][60] = 00FF(H) + {(48-1) * 75 + (60-1)} * 10
= 00FF(H) + {(47 * 75) + 59} * 10
= 00FF(H) + (3584 * 10)
= 00FF(H) + 35840(D)
= 00FF(H) + 8C00(H)
= 8CFF(H)
secara Kolom
A[i][j] = @A[0][0] + {(j-1) * K + (i-1)} * L
A[48][60] = 00FF(H) + {(60-1) * 50 + (48-1)} * 10
= 00FF(H) + {(59 * 50) + 47} * 10
= 00FF(H) + (2997 * 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:..
Dik : Double A [25][50] i = 17
A[0][0] = 009F(H) j = 48
L = 8 K = 25
A[i][j] = A[17][48] N = 50
Dit : A[17][48] = ….?
Jawab :
Ø Baris
A[i][j] = @A[0][0] + {(i-1) * N + (j-1)} * L
A[17][48] = 009F(H) + {(17-1) * 50 + (48-1)} * 8
= 009F(H) + {(16 * 50) + 47} * 8
= 009F(H) + (847 * 8)
= 00FF(H) + 6776(D)
= 00FF(H) + 1A78H)
= 1B17(H)
Ø Kolom
A[i][j] = @A[0][0] + {(j-1) * K + (i-1)} * L
A[17][48] = 009F(H) + {(48-1) * 25 + (17-1)} * 8
= 009F(H) + {(47 * 25) + 16} * 8
= 00FF(H) + (1191 * 8)
= 00FF(H) + 9528(D)
= 00FF(H) + 2538(H)
= 2507(H)
4. Deklarasi array X adalah double A[2][4][5] dengan alamat awal index A[0][0][0] berada di 0021(H) tentukan berapa alamat array di[2][2][2]
Double A[2][4][5] ndex 1 = 2
A[0][0][0] = 0021(H) index 2 = 4
L = 8 index 3 = 5
A[n][m][p] = A[2][2][2]
Dit : A[3][4] = ….?
Jawab :
A[n][m][p] = A[0][0][0] + {((n-1) * (index 1)) + ((m-1) * (index 2)) + ((p-1) * (index 3))} * L
A[2][2][2] = 0021(H) + {(2-1) * 2 + (2-1) * 4 + (2-1) * 5} * 8
= 0021(H) + {(2 + 4 + 5)} * 8
= 0021(H) + (11 * 8)
= 0021(H) + 88(D)
= 0021(H) + 58(H)
= 0076(H)
dik : @M[0][0] = 00F(H)
i = 3
j = 4
K = 5
N = 4
L = 4
Penyelesaian :
Secara Baris :
@M[i][j] = @M[0][0] + {(i-1) * N + (j-1)}*L
X[3][4] = 00F(H) + {(3-1) * 4 + (4-1)}* 4
= 00F(H) + {(2) * 4 + (3)}* 4
= 00F(H) + 44(D)
= 00F(H) + 02C(H)
= 03B(H)
Secara Kolom :
@M[i][j] = @M[0][0] + {(j-1) * K + (i-1)}* L
X[3][4] = 00F(H) + {4-1) * 5 + (3-1)}* 4
= 00F(H) + {(3) * 5 + (2)}* 4
= 00F(H) + 68(D)
= 00F(H) + 044(H)
= 053(H)
2. 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:
Dik : Long Double A [50][75] i = 48
A[0][0] = 00FF(H) j = 60
L = 10 K = 50
A[i][j] = A[48][60] N = 75
Dit : A[48][60] = ….?
penyelesaian :
secara Baris
A[i][j] = @A[0][0] + {(i-1) * N + (j-1)} * L
A[48][60] = 00FF(H) + {(48-1) * 75 + (60-1)} * 10
= 00FF(H) + {(47 * 75) + 59} * 10
= 00FF(H) + (3584 * 10)
= 00FF(H) + 35840(D)
= 00FF(H) + 8C00(H)
= 8CFF(H)
secara Kolom
A[i][j] = @A[0][0] + {(j-1) * K + (i-1)} * L
A[48][60] = 00FF(H) + {(60-1) * 50 + (48-1)} * 10
= 00FF(H) + {(59 * 50) + 47} * 10
= 00FF(H) + (2997 * 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:..
Dik : Double A [25][50] i = 17
A[0][0] = 009F(H) j = 48
L = 8 K = 25
A[i][j] = A[17][48] N = 50
Dit : A[17][48] = ….?
Jawab :
Ø Baris
A[i][j] = @A[0][0] + {(i-1) * N + (j-1)} * L
A[17][48] = 009F(H) + {(17-1) * 50 + (48-1)} * 8
= 009F(H) + {(16 * 50) + 47} * 8
= 009F(H) + (847 * 8)
= 00FF(H) + 6776(D)
= 00FF(H) + 1A78H)
= 1B17(H)
Ø Kolom
A[i][j] = @A[0][0] + {(j-1) * K + (i-1)} * L
A[17][48] = 009F(H) + {(48-1) * 25 + (17-1)} * 8
= 009F(H) + {(47 * 25) + 16} * 8
= 00FF(H) + (1191 * 8)
= 00FF(H) + 9528(D)
= 00FF(H) + 2538(H)
= 2507(H)
4. Deklarasi array X adalah double A[2][4][5] dengan alamat awal index A[0][0][0] berada di 0021(H) tentukan berapa alamat array di[2][2][2]
Double A[2][4][5] ndex 1 = 2
A[0][0][0] = 0021(H) index 2 = 4
L = 8 index 3 = 5
A[n][m][p] = A[2][2][2]
Dit : A[3][4] = ….?
Jawab :
A[n][m][p] = A[0][0][0] + {((n-1) * (index 1)) + ((m-1) * (index 2)) + ((p-1) * (index 3))} * L
A[2][2][2] = 0021(H) + {(2-1) * 2 + (2-1) * 4 + (2-1) * 5} * 8
= 0021(H) + {(2 + 4 + 5)} * 8
= 0021(H) + (11 * 8)
= 0021(H) + 88(D)
= 0021(H) + 58(H)
= 0076(H)
TUGAS 2 STRUKTUR DATA
1. Diketahui float A[5] dan lokasi awal terletak di alamat 00F(H), maka lokasi A[3] adalah :
Jawaban :
dik: Penyelesaian :
@A[i] = A[5] A[3] = 00F(H) + (3-1)*4
B = 00F(H) = 00F(H) + 8(D)
i = A[3] = 00F(H) + 8(H)
L = 4 = 0017(H)
2. Diketahui double A[20] dan lokasi awal terletak di alamat 00AB(H), maka lokasi A[15] adalah :
Jawaban :
dik : Penyelesaian :
@ A[i] = A[20] A[15] = 00AB(H) + (15-1)*8
B = 00AB(H) = 00AB(H) + 112(D)
i = A[15] = 00AB(H) + 70(H)
L = 8 = 011B(H)
3. Diketahui int A[100] dan lokasi awal terletak di alamat 00FB(H) maka lokasi A[78] adalah :
Jawaban :
dik: Penyelesaian :
@A[i] = A[100] A[78] = 00FB(H) + (78-1)*2
B = 00FB(H) = 00FB(H) + 154(D)
i = A[78] = 00FB(H) + 9A(H)
L = 2 = 0195(H)
4. Diketahui char A[50] dan lokasi awal terletak di alamat 00FF(H) maka lokasi A[38] adalah :
Jawaban :
dik : Penyelesaian :
A[i] = A[50] A[50] = 00FF(H) + (38-1)*1
B = 00FF = 00FF(H) + 37(D)
i = A[38] = 00FF(H) + 25(H)
L = 1 = 0124(H)
Jawaban :
dik: Penyelesaian :
@A[i] = A[5] A[3] = 00F(H) + (3-1)*4
B = 00F(H) = 00F(H) + 8(D)
i = A[3] = 00F(H) + 8(H)
L = 4 = 0017(H)
2. Diketahui double A[20] dan lokasi awal terletak di alamat 00AB(H), maka lokasi A[15] adalah :
Jawaban :
dik : Penyelesaian :
@ A[i] = A[20] A[15] = 00AB(H) + (15-1)*8
B = 00AB(H) = 00AB(H) + 112(D)
i = A[15] = 00AB(H) + 70(H)
L = 8 = 011B(H)
3. Diketahui int A[100] dan lokasi awal terletak di alamat 00FB(H) maka lokasi A[78] adalah :
Jawaban :
dik: Penyelesaian :
@A[i] = A[100] A[78] = 00FB(H) + (78-1)*2
B = 00FB(H) = 00FB(H) + 154(D)
i = A[78] = 00FB(H) + 9A(H)
L = 2 = 0195(H)
4. Diketahui char A[50] dan lokasi awal terletak di alamat 00FF(H) maka lokasi A[38] adalah :
Jawaban :
dik : Penyelesaian :
A[i] = A[50] A[50] = 00FF(H) + (38-1)*1
B = 00FF = 00FF(H) + 37(D)
i = A[38] = 00FF(H) + 25(H)
L = 1 = 0124(H)
Sabtu, 26 Maret 2011
STRUKTUR DATA
1.Type data dibawah ini yang bukan merupakan type data tunggal/sederhana adalah:
A.Boolean C.Char E.Float
B.String
D.Integer
Jawab: B. String
(Karena String merupakan Data sederhana majemuk sedangkan Boolean,Char,Integer,Float merupakan type Data tunggal, jadi yang benar adalah setring.)
2. ==,<=,>=,!=, Termasuk dalam operator :
A. Aritmatika C.Binary E.Bitwise
B. Unary D.Relasy
Jawab: D.Relasy
(Karena ==,<=,>=,!=, bukan termasuk operator Aritmatika,Binary,Unary,bitwise tapi melainkan operator RELASY)
3. Type Data yang menghasilkan bentuk keluaran nilai True & False (benar Dan Salah),Adalah :
A.Boolean C. Char E.Float
B. String D.Integer
Jawab: A. Boolean
(karena String merupakan type data majemuk yang berisi kumpulan character,char merupakan data berupa aksara,integer merupakan bilangan bulat,sedangkan float merupakan type data berupa pecahan)
4. Void main ()
{
……(a)…..x,y,z;
Clrscr();
Cout<<”\input nilai x=”cin>>X;
Cout<<”\input nilai Y=”cin>>Y;
Z=X+Y;
Cout<<”\nhasil penjumlahan=”<<Z;
Getch();
}
Type data yang tepat untuk (a) adalah
A.Boolean C.Char E.Aray
B.String D.Integer
Jawab: D.integer
(karena a,….z,x,y,z termasuk suatu bilangan bulat (Integer) sehingga hasil penjumlahan Z=X+Y,
5. Void main ()
{
Int r=10;ints S;
Clrscr();
S=10+++r;
Cout<<”r=”<<r<<’\n’;
Cout<<s=”<<s<<’\n’;
Getch();
}
Hasil exsekusi dari program diatas adalah:
A.r=11,s=21 C.r=12,s=21 E.r=10,s=20
B.r=11,s=20 D.r=10,s=21
Jawab: A.r=11,s=21
Penjelasan:
r=10
r=r+1=11
s=10+r++
=10+r+1
S=21 jadi=r=11,s=21
A.Boolean C.Char E.Float
B.String
D.Integer
Jawab: B. String
(Karena String merupakan Data sederhana majemuk sedangkan Boolean,Char,Integer,Float merupakan type Data tunggal, jadi yang benar adalah setring.)
2. ==,<=,>=,!=, Termasuk dalam operator :
A. Aritmatika C.Binary E.Bitwise
B. Unary D.Relasy
Jawab: D.Relasy
(Karena ==,<=,>=,!=, bukan termasuk operator Aritmatika,Binary,Unary,bitwise tapi melainkan operator RELASY)
3. Type Data yang menghasilkan bentuk keluaran nilai True & False (benar Dan Salah),Adalah :
A.Boolean C. Char E.Float
B. String D.Integer
Jawab: A. Boolean
(karena String merupakan type data majemuk yang berisi kumpulan character,char merupakan data berupa aksara,integer merupakan bilangan bulat,sedangkan float merupakan type data berupa pecahan)
4. Void main ()
{
……(a)…..x,y,z;
Clrscr();
Cout<<”\input nilai x=”cin>>X;
Cout<<”\input nilai Y=”cin>>Y;
Z=X+Y;
Cout<<”\nhasil penjumlahan=”<<Z;
Getch();
}
Type data yang tepat untuk (a) adalah
A.Boolean C.Char E.Aray
B.String D.Integer
Jawab: D.integer
(karena a,….z,x,y,z termasuk suatu bilangan bulat (Integer) sehingga hasil penjumlahan Z=X+Y,
5. Void main ()
{
Int r=10;ints S;
Clrscr();
S=10+++r;
Cout<<”r=”<<r<<’\n’;
Cout<<s=”<<s<<’\n’;
Getch();
}
Hasil exsekusi dari program diatas adalah:
A.r=11,s=21 C.r=12,s=21 E.r=10,s=20
B.r=11,s=20 D.r=10,s=21
Jawab: A.r=11,s=21
Penjelasan:
r=10
r=r+1=11
s=10+r++
=10+r+1
S=21 jadi=r=11,s=21
Langganan:
Postingan (Atom)