Monday, April 18, 2011

tugas 4 struktut data

STACK DAN TUMPUKAN (5)

1. Stack termasuk (a) linear list atau (b) non linear list?? Jelaskan

jawab

Stack adalah termasuk (a) linear list, karena penghapusan elemenya hanya dapat di lakukan pada satu posisi, yaitu posisi akhir dari list (TOP)

2. apa saja perlakuan yang dimungkinkan sehingga suatu stack dikatakan dalam kondisi

hampa??

jawab :

Perlakuan yang di mungkinkan sehinga suatu stack di katakan dalam kondisi hampa yaitu

Dengan melakukan operasi clear untuk mengosongkan stack. atau jika simbol adalah sebuah

operator, maka jika top stack adalah operator dgn level lebih tinggi atau sama maka elemen top

kita pop sebagai output. selanjutnya sampai top merupakan "(", bila terjadi maka operator kita

Push kedalam stack, di akhirnya menggunakan ' ; ' dalam keadaan ini kita POP semua elemen

stack, sehingga stack menjadi HAMPA

3. Sebutkan 4 operasi pada stack dan beri contoh-contohnya??

Jawab :

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[5])

{

tumpuk.top++

Strcpy(tumpuk.data[tumpuk.top],d);

}

d. Clear

Ex: Void POP ( )

{

Print(“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 :

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, yaitu pada

posisi hampa.

5. Infix : A-B*C^D^(E*F/(G-H))

Postfix : ABC*D^EF*GH/-

A

-

B

*

C

^

D

(

E

*

F

/

(

G

-

H

)

)

(

(

(

(

*

*

/

/

/

/

/

/

*

*

(

(

(

(

(

(

(

(

(

(

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

A

B

C

*

D

E

F

*

G

H

/

-

No comments:

Post a Comment