Nama : ABDULLAH
NIM : 18102776
Kelas : 12.2D.14
Soal !
1. Jika terdapat 1000 mahasiswa baru BSI Karawang dengan number urut pendaftaran yang terurut.Maka jika dilakukan pencarian untuk data ke 775.Lakukan dengan Binary search,ada berapa perbandingan ?
JAWAB :
U=1000
L=1
M= ( L + U ) /2
= ( 1 + 1000 ) /2
= 500,5
1. cari data [ 500 ]
775 > 500
L = m+1
= 500+1
= 501
M = ( L + U ) /2
= ( 501 + 1000 ) /2
= 750,5
2. cari data [750]
775 > 750
L = m+1
= 750 + 1
=751
m = ( L + U ) /2
= ( 751 + 1000 ) /2
= 875,5
3. cari data [875]
775 < 875
U = m-1
= 875-1
= 874
M = ( L + U ) /2
= ( 751 + 874 ) /2
=812,5
4. cari data [812]
775 < 812
U = m-1
= 812-1
= 811
M= ( L + U ) /2
= ( 751 + 811 ) /2
= 781
5. cari data[781]
775 < 781
U = m-1
= 781-1
=780
m = ( L + U ) /2
= ( 751 + 780 ) /2
= 765,5
6. cari data [765]
775 > 765
L = m+1
= 765 +1
= 766
m= ( L + U ) /2
= (766 + 780 ) /2
= 773
7. cari data [773]
L = m+1
=773 +1
= 774
m = ( L + U ) /2
= (774 +780 ) /2
=777
8. cari data [777]
775 < 777
U = m+1
= 777 -1
= 776
m = ( L + U ) /2
= ( 774 +776 ) /2
= 775
9. cari data [775]
775 = 775
Data ditemukan pada langkah ke -9.
Jumat, 17 Juni 2011
TUGAS PERTEMUAN 10
Nama : ABDULLAH
NIM : 18102776
Kelas : 12.2D.14
KUNJUNGAN PADA POHON BINER
2.) Soal : A – B * C ^ D ( E * F )
^
^ *
* D E F
- C
A B
a.) Infix = In order ( Kiri – Root – Kanan )
A – B * C ^ D ^ ( E * F )
b.) Postfix = Post order ( Kiri – Kanan – Root )
A B – C * D ^ E F * ^
c.) Prefix = Pre order ( Root – Kiri – Kanan )
^ ^ * – A B C D * E F
NIM : 18102776
Kelas : 12.2D.14
KUNJUNGAN PADA POHON BINER
2.) Soal : A – B * C ^ D ( E * F )
^
^ *
* D E F
- C
A B
a.) Infix = In order ( Kiri – Root – Kanan )
A – B * C ^ D ^ ( E * F )
b.) Postfix = Post order ( Kiri – Kanan – Root )
A B – C * D ^ E F * ^
c.) Prefix = Pre order ( Root – Kiri – Kanan )
^ ^ * – A B C D * E F
STACK ATAU TUMPUKAN
TUGAS PERTEMUAN 5 ( STACK ATAU TUMPUKAN )
Nama : ABDULLAH
NIM : 18102776
Kelas : 12.2D.14
1. Stack termasuk linear list atau non linear list?
JAWAB :
Stack termasuk linear list karena stack merupakan suatu bentuk khusus dari linear list dimana operasi penyisipan dan penghapusan elemen-elemennya hanya dapat dilakukan pada satu sisi saja,yaitu posisi akhir list.posisi ini disebut puncak atau disebut sebagai “ TOP “
2. Prinsip kerja stack adalah………………..????Jelaskan.
JAWAB :
Prinsip kerja stack adalah LIFO ( Last In First Out ) atau terakhir masuk pertama keluar.
Maksudnya yaitu dimana data yang terakhir dimasukkan adalah data yang akan pertama kali dikeluarkan.
Jika ada NOEL elemen didalam stack, maka elemen ke NOEL merupakan elemen puncak (TOP).
3. Sebutkan empat operasi pada stack dan beri contohnya.
JAWAB :
a. CREATE
adalah operator yang menunjukkan suatu stack kosong dengan nama S.
Jadi : NOEL(CREATE(S)) = 0
TOP(CREATE(S)) adalah TIDAK TERDEFINISI.
b. ISEMPTY
adalah operator yang menentukan apakah stack S kosong.
Operandnya terdiri dari type data stack. Hasilnya merupakan type data Boolean:
ISEMPTY(S) = True. Jika S hampa, yakni bila NOEL(S) = 0.
c. PUSH
adalah operator yang menambahkan elemen E pada puncak stack S.
Hasilnya merupakan stack yang lebih besar.
PUSH(E,S). E ditempatkan sebagai TOP(S).
d. POP(stack)
adalah operator yang menghapus sebuah elemen dari puncak stack S.
Hasilnya merupakan stack yang lebih kecil.
• POP(S) mengurangi NOEL(S)
• POP(CREATE(S)) → kondisi error
• POP(PUSH(E,S)) = Stack
4. Dari keempat operasi tersebut,mana yang menghasilkan data yang bertipe Boolean?
JAWAB :
ISEMPTY(Stack) yang akan menghasilkan data bertipe Boolean.
Termasuk tipe Boolean karena operasi ini memiliki dua kondisi Boolean,yaitu :
a. True , jika stack tersebut kosong atau dapat dikatakan NOEL ( S ) = 0
b. False, jika stack tersebut tidak dalam kondisi kosong atau dapat dikatakan NOEL (S ) > 0
5. Sebutkan dua kesalahan yang mungkin terjadi pada pengoperasian stack dan pada kondisi seperti apa kesalahan itu terjadi.
JAWAB :
Dua kesalahan yang mungkin terjadi pada pengoperasian stack yaitu :
a.) Kesalahan overflow
Kesalahan ini akan terjadi jika kita melakukan operasi pemasukan data(push) pada stack yang sudah penuh(dalam hal ini jika banyak nya elemen yang kita masukkan ke dalam sebuah stack sudah melampaui batas kemampuan memory atau telah di definisikan sebelum nya).
b.) Kesalahan underflow
Kesalahan ini akan terjadi jika stack sudah dalam keadaan hampa,kita lakukan operasi pengeluaran atau penghapusan(pop).
6. Alihkan notasi infix A-B*C^D^(E*F) ke notasi postfix.
JAWAB :
Notasi infix A-B*C^D^(E*F) jika dirubah ke notasi postfix menjadi ABCDE*F^
Dibawah ini merupakan cara perubahannya :
A - B * C ^ D ^ ( E * F )
S
T ( ( (
A ^ ^ ^ ^ ^
C * * * * *
K - - - - - - -
A B C D E * F
Nama : ABDULLAH
NIM : 18102776
Kelas : 12.2D.14
1. Stack termasuk linear list atau non linear list?
JAWAB :
Stack termasuk linear list karena stack merupakan suatu bentuk khusus dari linear list dimana operasi penyisipan dan penghapusan elemen-elemennya hanya dapat dilakukan pada satu sisi saja,yaitu posisi akhir list.posisi ini disebut puncak atau disebut sebagai “ TOP “
2. Prinsip kerja stack adalah………………..????Jelaskan.
JAWAB :
Prinsip kerja stack adalah LIFO ( Last In First Out ) atau terakhir masuk pertama keluar.
Maksudnya yaitu dimana data yang terakhir dimasukkan adalah data yang akan pertama kali dikeluarkan.
Jika ada NOEL elemen didalam stack, maka elemen ke NOEL merupakan elemen puncak (TOP).
3. Sebutkan empat operasi pada stack dan beri contohnya.
JAWAB :
a. CREATE
adalah operator yang menunjukkan suatu stack kosong dengan nama S.
Jadi : NOEL(CREATE(S)) = 0
TOP(CREATE(S)) adalah TIDAK TERDEFINISI.
b. ISEMPTY
adalah operator yang menentukan apakah stack S kosong.
Operandnya terdiri dari type data stack. Hasilnya merupakan type data Boolean:
ISEMPTY(S) = True. Jika S hampa, yakni bila NOEL(S) = 0.
c. PUSH
adalah operator yang menambahkan elemen E pada puncak stack S.
Hasilnya merupakan stack yang lebih besar.
PUSH(E,S). E ditempatkan sebagai TOP(S).
d. POP(stack)
adalah operator yang menghapus sebuah elemen dari puncak stack S.
Hasilnya merupakan stack yang lebih kecil.
• POP(S) mengurangi NOEL(S)
• POP(CREATE(S)) → kondisi error
• POP(PUSH(E,S)) = Stack
4. Dari keempat operasi tersebut,mana yang menghasilkan data yang bertipe Boolean?
JAWAB :
ISEMPTY(Stack) yang akan menghasilkan data bertipe Boolean.
Termasuk tipe Boolean karena operasi ini memiliki dua kondisi Boolean,yaitu :
a. True , jika stack tersebut kosong atau dapat dikatakan NOEL ( S ) = 0
b. False, jika stack tersebut tidak dalam kondisi kosong atau dapat dikatakan NOEL (S ) > 0
5. Sebutkan dua kesalahan yang mungkin terjadi pada pengoperasian stack dan pada kondisi seperti apa kesalahan itu terjadi.
JAWAB :
Dua kesalahan yang mungkin terjadi pada pengoperasian stack yaitu :
a.) Kesalahan overflow
Kesalahan ini akan terjadi jika kita melakukan operasi pemasukan data(push) pada stack yang sudah penuh(dalam hal ini jika banyak nya elemen yang kita masukkan ke dalam sebuah stack sudah melampaui batas kemampuan memory atau telah di definisikan sebelum nya).
b.) Kesalahan underflow
Kesalahan ini akan terjadi jika stack sudah dalam keadaan hampa,kita lakukan operasi pengeluaran atau penghapusan(pop).
6. Alihkan notasi infix A-B*C^D^(E*F) ke notasi postfix.
JAWAB :
Notasi infix A-B*C^D^(E*F) jika dirubah ke notasi postfix menjadi ABCDE*F^
Dibawah ini merupakan cara perubahannya :
A - B * C ^ D ^ ( E * F )
S
T ( ( (
A ^ ^ ^ ^ ^
C * * * * *
K - - - - - - -
A B C D E * F
ARRAY DIMENSI 1&2
TUGAS PERTEMUAN 2
Nama : ABDULLAH
NIM : 18102776
Kelas : 12.2D.14
1. Diketahui float A [5] dan lokasi awal terletak di alamat 00F(H),maka lokasi A [3] adalah……
Diket : A [5]
B = 00F(H)
i = 3
L = 4
Ditanya : @ A[3] ?
Jawab : @ A[i] = B + ( i – 1 )*L
@ A[3]= 00F(H) + (3 – 1)*4
= 00F(H) + 8(d)
= 00F(H) + 8(H)
= 017(H)
2. Diketahui int A [5][4] dan lokasi awal terletak di alamat 00F(H),maka lokasi A [2][4] adalah?hitung dengan baris dan kolom…..
Diket : A [2][4]
i = 2
j = 4
L = 2
B = 00F(H)
K = 5
N = 4
Ditanya : @ A [2][4] secara baris dan kolom ?
Jawab :
• Secara kolom
@ A [i][j] = A [0][0] + { (j-1)*K + (i-1) }*L
@ A [2][4] = 00F(H) + { (4-1)*5 + (2-1)*2
= 00F(H) + 32(d)
= 00F(H) + 20(H)
= 02F(H)
• Secara baris
@ A [i][j] = A [0][0]+ { (i – 1)*N + (j-1) }*L
@ A [2][4] = 00F(H) + { (2-1)*4 + (4-1) }*2
= 00F(H) + 14(d)
= 01D(H)
3. Diketahui double A[10][25] dan lokasi awal terletak di alamat 0011(H),maka lokasi A[8][20] adalah?Hitung berdasarkan baris dan kolom ……
Diket : A [8][20]
i = 8
j = 20
L = 8
B = 0011(H)
K = 10
N = 25
Ditanya : @ A [8][20] secara baris dan kolom?
Jawab :
• Secara kolom
@ A [i][j] = A [0][0] + { (j-1)*K + (i-1) }*L
@ A [8][10] = 0011(H) + { (20-1)*10 + (8-1) }*8
= 0011(H) + 1576(d)
= 0011(H) + 628 (H)
= 0639(H)
• Secara baris
@ A [i][j] = A [0][0]+ { (i – 1)*N + (j-1) }*L
@ A [8][10] = 0011(H) + { (8-1)*25 + (20-1) }*8
= 0011(H) + 1552(d)
= 0011(H) + 610(H)
= 0621(H)
4. Diketahui int A [99] dan lokasi awal terletak di alamat 00F(H),maka lokasi A [78] adalah….
Diket : A [99]
B = 00F(H)
i = 78
L = 2
Ditanya : @ A [78] ?
Jawab :
@ A[i] = B + ( i – 1 )*L
@ A[78] = 00F(H) + (78-1)*2
= 00F(H) +154(d)
= 00F(H) + 9A(H)
= 7E9(H)
Nama : ABDULLAH
NIM : 18102776
Kelas : 12.2D.14
1. Diketahui float A [5] dan lokasi awal terletak di alamat 00F(H),maka lokasi A [3] adalah……
Diket : A [5]
B = 00F(H)
i = 3
L = 4
Ditanya : @ A[3] ?
Jawab : @ A[i] = B + ( i – 1 )*L
@ A[3]= 00F(H) + (3 – 1)*4
= 00F(H) + 8(d)
= 00F(H) + 8(H)
= 017(H)
2. Diketahui int A [5][4] dan lokasi awal terletak di alamat 00F(H),maka lokasi A [2][4] adalah?hitung dengan baris dan kolom…..
Diket : A [2][4]
i = 2
j = 4
L = 2
B = 00F(H)
K = 5
N = 4
Ditanya : @ A [2][4] secara baris dan kolom ?
Jawab :
• Secara kolom
@ A [i][j] = A [0][0] + { (j-1)*K + (i-1) }*L
@ A [2][4] = 00F(H) + { (4-1)*5 + (2-1)*2
= 00F(H) + 32(d)
= 00F(H) + 20(H)
= 02F(H)
• Secara baris
@ A [i][j] = A [0][0]+ { (i – 1)*N + (j-1) }*L
@ A [2][4] = 00F(H) + { (2-1)*4 + (4-1) }*2
= 00F(H) + 14(d)
= 01D(H)
3. Diketahui double A[10][25] dan lokasi awal terletak di alamat 0011(H),maka lokasi A[8][20] adalah?Hitung berdasarkan baris dan kolom ……
Diket : A [8][20]
i = 8
j = 20
L = 8
B = 0011(H)
K = 10
N = 25
Ditanya : @ A [8][20] secara baris dan kolom?
Jawab :
• Secara kolom
@ A [i][j] = A [0][0] + { (j-1)*K + (i-1) }*L
@ A [8][10] = 0011(H) + { (20-1)*10 + (8-1) }*8
= 0011(H) + 1576(d)
= 0011(H) + 628 (H)
= 0639(H)
• Secara baris
@ A [i][j] = A [0][0]+ { (i – 1)*N + (j-1) }*L
@ A [8][10] = 0011(H) + { (8-1)*25 + (20-1) }*8
= 0011(H) + 1552(d)
= 0011(H) + 610(H)
= 0621(H)
4. Diketahui int A [99] dan lokasi awal terletak di alamat 00F(H),maka lokasi A [78] adalah….
Diket : A [99]
B = 00F(H)
i = 78
L = 2
Ditanya : @ A [78] ?
Jawab :
@ A[i] = B + ( i – 1 )*L
@ A[78] = 00F(H) + (78-1)*2
= 00F(H) +154(d)
= 00F(H) + 9A(H)
= 7E9(H)
TUGAS STRUKTUR DATA Kelas 12.2d.14
JAWABAN STRUKTUR DATA PERTEMUAN 1
NAMA :ABDULLAH
NIM : 18102776
1. Type data dibawah ini ,yang tidak termasuk dalam type data sederhana tunggal adalah……….
a. Boolean d. integer
b. String e. float
c. Char
Jawaban :
B ( STRING ) : Karena string merupakan type data majemuk yang berbentuk dari kumpulan character sebanyak 256 ( default ).sedangkan boolean, char, integer, float termasuk tipe data sederhana tunggal.oleh karena itu jawabannya string.
2. ==, <= , >= , != ,termasuk dalam operator………….
a. Aritmatika d. Relasi
b. Unary e. Bitwise
c. Binary
Jawaban :
D ( RELASI ) : Karena operator-operator tersebut ( == , <= , >= , != ) merupakan operator relasi,yaitu operator untuk membandingkan dua buah nilai.
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
Jawaban :
A ( BOOLEAN ) : Karena boolean merupakan tipe data yang mempunyai dua bentuk keluaran nilai true dan false sehingga disebut tipe data boolean.
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………..
Jawaban :
D ( INTEGER ) : Karena kalau tipe data boolean hanya mempunyai dua bentuk keluaran nilai true dan false.Sedangkan string untuk kumpulan dari beberapa karakter .Kalau char untuk menampung sebuah character.Kalau pake array juga bisa,tetapi terlalu sederhana.Maka jawabannya yang tepat adalah pakai integer.
5. void main ( )
}
NAMA :ABDULLAH
NIM : 18102776
1. Type data dibawah ini ,yang tidak termasuk dalam type data sederhana tunggal adalah……….
a. Boolean d. integer
b. String e. float
c. Char
Jawaban :
B ( STRING ) : Karena string merupakan type data majemuk yang berbentuk dari kumpulan character sebanyak 256 ( default ).sedangkan boolean, char, integer, float termasuk tipe data sederhana tunggal.oleh karena itu jawabannya string.
2. ==, <= , >= , != ,termasuk dalam operator………….
a. Aritmatika d. Relasi
b. Unary e. Bitwise
c. Binary
Jawaban :
D ( RELASI ) : Karena operator-operator tersebut ( == , <= , >= , != ) merupakan operator relasi,yaitu operator untuk membandingkan dua buah nilai.
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
Jawaban :
A ( BOOLEAN ) : Karena boolean merupakan tipe data yang mempunyai dua bentuk keluaran nilai true dan false sehingga disebut tipe data boolean.
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………..
Jawaban :
D ( INTEGER ) : Karena kalau tipe data boolean hanya mempunyai dua bentuk keluaran nilai true dan false.Sedangkan string untuk kumpulan dari beberapa karakter .Kalau char untuk menampung sebuah character.Kalau pake array juga bisa,tetapi terlalu sederhana.Maka jawabannya yang tepat adalah pakai integer.
5. void main ( )
}
int r=10 ; int s;
clrscr ( );
s=10+ ++r;
cout<<”r=”<<r<<’\n’;
cout<<”s=”<<s<<’\n’;
getch ( );
}
Hasil ekskusi dari program diatas adalah…………
Jawaban :
A ( r=11 , s=21 ) : Karena r=10 , s=10 ++r .penambahan dilakukan terlebih dahulu.- ++ r —> r= r+1
- =10+1
- = 11
- s = 10++r
- = 10+11
- = 21
Selasa, 14 Juni 2011
Langganan:
Postingan (Atom)