Stack

Stack (tumpukan) merupakan bentuk khusus dari struktur data dengan pengolahannya adalah last in-first out (LIFO), yaitu node yang ditambahkan atau dihapus hanya pada kepalanya saja. Dengan kata lain setiap transaksi atau aktifitas yang ada dilakukan pada kepalanya saja. Pada stack hanya ada 2 fungsi utama yaitu push atau memasukkan/menambah node ke dalam stack, dan pop atau mengeluarkan/menghapus node dari stack.

Analogi yang mudah mengenai stack adalah seperti kumpulan data yang seakan-akan diletakkan di atas data yang lain. Dalam suatu tumpukan akan dilakukan operasi push dan pop pada ujung yang sama, dimana ujung ini adalah ujung yang paling atas tumpukan. Contoh sederhananya seperti berikut :


                     | D |   ----->    atas/top

                     | C |

                     | B |

                     | A |     ---->        bawah

Anggaplah gambar diatas sebagai tumpukan data, D sebagai node/nilai yang atas dan A yang bawah. Jika kita melakukan operasi push, misalnya E, maka penambahan akan dilakukan pada nilai yang paling atas, yaitu D, sehingga menjadi :

                   | E |   ----> top/atas
                   | D |
                   | C |
                   | B |
                   | A |    ----> bawah


Sehingga otomatis nilai E menjadi nilai atas yang baru, dan jika dilakukan operasi pop, maka akan menjadi seperti gambar yang pertama di atas, yaitu nilai D menjadi nilai atas, dan E dibuang/dihapus dari tumpukan tersebut.

pembahasan tentang stack berikutnya :
disini