Jumat, 05 Juni 2015

Stack

Secara sederhana stack atau tumpukan bisa diartikan sebagai kumpulan data yang seolah-olah diletakkan di atas data yang lain. Satu hal yang  perlu diingat bahwa kita bisa menambah (menyisipkan) data dan mengambil (menghapus) data melalui ujung yang sama, yang disebut sebagai ujung atas stack.
Contoh sederhana, sebuah stack bisa diilustrasikan seperti gambar berikut :
                                         *Tumpukan yang terdiri dari 6 kotak

Dari gambar diatas, bisa dilihat bahwa yang menjadi ujung atas stack adalah kotak F. jadi jika ada kotak lain yang akan disisipkan, maka kotak tersebut akan diletakkan di atas kotak F, dan jika ada kotak yang akan diambil, maka kotak F yang pertama kan diambil.
Operasi pada Stack
·         Operasi Push
    Perintah push digunakan untuk memasukkan data ke dalam stack. Untuk lebih jelasnya perhatikan ilustrasi berikut. Misalkan kita mempunyai data-data 3, 25 dan 9 dalam stack dengan posisi 3 paling bawah dan 9 paling atas. Dan kita akan memasukkan data 34 ke dalam stack tersebut. Tentu saja data 34 akan diletakkan di atas data 9.

                                                            *ilustrasi operasi push data
 
·         Operasi Pop
   Operasi Pop adalah operasi untuk menghapus elemen yang terletakpada posisi paling atas dari sebuah stack. Sama halnya dengan operasi push, maka deklarasi untuk operasi pop dapat dilihat pada program berikut ini :
    Char Pop (NOD  **T)
    {
            NOD   *P; char item;

            if ( ! StackKosong (*T))
            {
                        P= *T;
                        *T = (*T)→next;
                        Item=p→data;
                        Free (P);
            }
            return item;
    }



                                                         *Ilustrasi operasi pop data
 
Fungsi untuk mengetahui kosong tidaknya suatu stack dapat dilihat pada penggalan program berikut ini :
    //Uji Stack Kosong
    BOOL StackKosong (NOD  *T)
    {
            Return ((BOOL)(T==NULL));
    }
·         IsEmpty          : Fungsi yang digunakan untuk mengecek apakah stack sudah kosong
·         IsFull               : Fungsi yang digunakan untuk mengecek apakah stack sudah penuh

o   Contoh program Stack menggunakan Bahasa C++


Bila program diatas dijalankan, akan muncul hasil :


Itulah penjelasan mengenai materi stack, jika ada yang perlu di tanyakan silahkan hubungi ke email saya atau bisa langsung melalui kolom komentar dibawah. Terima Kasih Telah Berkunjung.

Tidak ada komentar:

Posting Komentar