Senin, 18 April 2011

Tugas -4

Penjelasan  latihan Soal Struktur Data Pertemuan 4 (stack atau tumpukan)
  1. Stack termasuk (a) linear list atau (b) non linear list.jelaskan.
  2. Apa saja perlakuan yang dimungkinkan sehingga suatu stack dikatakan dalam keadaan hampa?
  3. Sebutkan 4(empat) operasi pada stack dan beri contohnya .
  4. Sebutkan dua kesalahan yang mungkin terjadi pada pengoperasian stack dan pada kondisi seperti apa kesalahan itu bisa terjadi.
  5. konversikan notasi infix A-B*(^D^(E*F/(G-H)) ke notasi positif.

Penjelasan
  1. stack(tumpukan) termasuk linear list/ bentuk khusus dari linear list yang pemasukan dalam penghapusan elemennya hanya dapat dilakukan pada satu posisi , yaitu posisi akhir dari list (top)
  2. Suatu stack dikatakan dalam kondisi hampa jika posisi akhir dari list(top) pada stack berada di posisi top= -1.
  3. 4(empat) operasi pada stack
Sebenarnya ada 6 operasi pada stack yaitu :
    1. push (menginput data pada stack)
Ex : void push (char d[20])
            {
            Tumpukan . top ++ ;
            Strcpy (tumpukan . data [tumpuk . top],d);
            Printf (“data berhasil dimasukkan”);
            }
    1. pop (mengambil data pada stack )
Ex : void pop ()
{
printf (“data %s terambil “,  tumpuk . data [tumpuk . top]);
tumpuk . top -- ;
}
    1. isFull (mengecek apakah stack penuh )
Ex : int isFull ()
            {
            if(tumpuk . top = = max _stack -1)
            return 1;
            else
            return 0;
            }
    1. isEmpty (mengecek apakah stack kosong )
Ex : int isEmpty ()
            {
            if(tumpuk . top = = -1)
            return 1;
            else
            return 0;
            }
    1. clear (membersihkan isi seluruh stack )
Ex : void clear ()
            {
                                    tumpuk . top = -1;
                                    printf (“semua data terhapus “);
                                    }
    1. print (mencetak seluruh isi stack)
Ex : void print ()
            {
            for (int i = tumpuk . top;i>=0 ; i - -)
            printf(“%s\n”,tumpuk . data [i]);
            }
  1. kesalahan yang mungkin terjadi pada pengoperasian stack dan pada kondisi seperti apa kesalahan itu bisa terjadi.
    1. apabila keadaan stack kosong dan kita akan mem-pop (menghapus data) maka akan terjadi kesalahan dan kemudian error(underflow).
    2. apabila keadaan stack penuh dan kita akan men-top (menambah data) maka akan terjadi kesalahan dan kemudian error (underflow).
    5.  konversikan notasi infix  A-B*(^D^(E*F/(G-H)) ke notasi postfix
    infix      = A-B*(^D^(E*F/(G-H))
    postfix  = ABCDEFGH-/*^^*-

    0 komentar:

    Posting Komentar

    Template by:
    Free Blog Templates