- sapta fadhila yang cantik jelita tiada duanya di indonesia blog's

Minggu, 13 Juni 2010

STACK

Stack adalah suatu urutan elemen yang elemennya dapat diambil dan ditambah
hanya pada posisi akhir (top) saja. Dengan demikian stack adalah struktur data yang menggunakan konsep LIFO(Last In Fist Out).


Operasi stack : 
  •  ISEMPTY
    Untuk Memeriksa apakah stack kosong
    • ISFULL
    Untuk memeriksa apakah stack sudah penuh
    • PUSH
    Untuk menambah item pada posisi paling atas(top)
    • POP
    untuk menghapus item paling atas (top)
    • CLEAR
    Untuk mengosongkan stack


    Deklarasi Stack

    ISEMPTY
     
    Operasi ini digunakan untuk memeriksa apakah stack dalam keadaan kosong. Operasi
    ini penting dilakukan dalam proses pop. Ketika suatu stack dalam keadaan kosong,
    maka proses pop tidak bisa dilakukan. Adapun langkah-langkah operasi ini adalah :

    Jika top bernilai 0 (untuk elemen yang dimulai dengan index 1) atau top bernilai -1 (untuk elemen
    yang dimulai dengan index 0), maka berarti stack dalam keadaan empty (kosong)
    yang akan me-return-kan true (1) dan jika tidak berarti stack mempunyai isi dan
    me-return-kan nilai false (0).

    pendeklarasian dalam c++ 
    int isempty(tstack stack)
    {
        if (stack.top==-1)
           return 1;
        else
           return 0;
    }
     IsFull

    Operasi ini berguna untuk memeriksa keadaan stack apakah sudah penuh atau belum.
    Operasi ini akan menghasilkan nilai true (1) jika stack telah penuh dan akan
    menghasilkan nilai false (0) jika stack masih bisa ditambah. Langkah-langkah untuk
    operasi ini adalah :

    Operasi ini akan memberikan nilai true (1) jika field top sama dengan field
    maks_elemen (untuk array yang elemennya dimulai dari posisi 1) atau top sama
    dengan maks_elemen-1 (unauk array yang elemennya dimulai dari posisi 0).

    pendeklarasian dalam c++ 
    int isfull(tstack stack)
    {
        if (stack.top==(stack.maks_elemen-1))
           return 1;
        else
     return 0;

    Push

    Operasi push adalah operasi dasar dari stack. Operasi ini berguna untuk menambah
    suatu elemen data baru pada stack dan disimpan pada posisi top yang akan
    mengakibatkan posisi top akan berubah. Langkah operasi ini adalah :

    1.Periksa apakah stack penuh (isfull). Jika bernilai false/0 (tidak penuh) maka
    proses push dilaksanakan dan jika pemeriksaan ini bernilai true/1 (stack
    penuh), maka proses push digagalkan.

    2.Proses push-nya sendiri adalah dengan menambah field top dengan 1,
    kemudian elemen pada posisi top diisi dengan elemen data baru.  

    pendeklarasian dalam c++ 
    void push(tstack *stack, int baru)
    {
       if(!isfull(*stack))
       {
     stack->top++;
     stack->elemen[stack->top]=baru;
       }
       else
       {
      printf("Stack Full. Push Gagal.\n");
       }
    }
     Pop

    Operasi pop adalah salah satu operasi paling dasar dari stack. Operasi ini berguna
    untuk mengambil elemen terakhir (top) dan kemudian menghapus elemen tersebut
    sehingga posisi top akan berpindah. Operasi ini biasanya dibuat dalam bentuk
    function yang me-return-kan nilai sesuai data yang ada di top.Langkah operasi ini adalah :

    memeriksa apakah stack sedang keadaan kosong, jika tidak kosong maka data
    diambil pada posisi yang ditunjuk oleh posisi top, kemudian simpan dalam
    variable baru dengan nama data, kemudian posisi top – 1, kemudian nilai pada
    variable  data di-return-kan ke function.

    pendeklarasian dalam c++ 
    int pop(tstack *stack)
    {
         int data;
         if(!isempty(*stack))
         {
      data=stack->elemen[stack->top];
      stack->top--;
       return data;
         }
         else
     return 0;

    }


    Clear

    Digunakan untuk mengosongkan stack,sehingga top pada stack kembali berada di posisi Top=-1

    pendeklarasian dalam c++ 
    Void clear ()
    {
        Tumpuk.data=tumpuk.top=-1
    Printf(“data clear”);
    }

    0 komentar:

    Posting Komentar