Jumat, 17 Juni 2011

STRUCTUR SEARCHING

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.

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

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    

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)

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