STACK
Stack adalah salah satu komponen yang biasanya digunakan dalam pemrograman ataupun penyimpanan komputer.
Bagi orang yang dekat dengan dunia IT, stack mungkin menjadi istilah yang sudah familiar.
Tak bisa dimungkiri, stack membuat penggunanya menjadi mudah dalam mengorganisasi data.
Lalu, sebenarnya apa itu stack? Apa saja kelebihan dan kekurangan saat menggunakannya?
PENGERTIAN
Merupakan tumpukan data yang seolah-olah diletakkan di atas data yang lain.
Kita dapat menambahkan (menyisipkan) data dan mengambil (menghapus) data melalui ujung yang sama, yang disebut sebagai ujung atas stack (top of stack). Stack bersifat LIFO (Last In First Out). Benda yang terakhir masuk ke dalam stack akan menjadi yang pertama keluar dari stack.
KARAKTERISTIK STACK
- Elemen stack yaitu item-item data di elemen stack.
- Top (elemen puncak dari stack)
- Jumlah elemen pada stack.
- Status / kondisi stack.
KONDISI STACK
Kondisi stack yang perlu diperhatikan adalah:
1. Penuh: bila elemen stack mencapai kapasitas maksimum. Pada kondisi ini tidak mungkin dilakukan penambahan ke stack. Penambahan elemen menyebabkan kondisi kesalahan overlow
2. Kosong: bila tidak ada elemen di stack. Pada kondisi ini, tidak mungkin dilakukan pengambilan elemen dari stack. Pengambilan elemen menyebabkan kondisi kesalahan underflow.
OPERATOR OPERATOR DI DALAM STACK
1. Operasi Push
Adalah operasi menambahkan elemen baru pada sebuah stack.
Aturan penambahan stack:
- Sebagai kondisi awal ada sebuah stack yang telah memiliki beberapa elemen dengan elemen paling atas sebagai top.
- Dibuat sebuah elemen baru yang akan dimasukkan ke dalam stack.
- Elemen baru dimasukkan ke dalam stack.
- Penunjuk top pada stack diubah menunjuk ke elemen yang baru saja ditambahkan
# ILUSTRASI
2. Operasi Pop
Adalah operasi mengambil sebuah elemen dari sebuah stack. Aturan mengambil sebuah elemen dari sebuah stack adalah sebagai berikut:
- Sebagai kondisi awal ada sebuah stack yang telah memiliki beberapa elemen dengan elemen paling atas sebagai top.
- Penunjuk top diubah menjadi menunjuk elemen di bawah elemen atas.
- Elemen atas diambil dari stack.
# ILUSTRASI
- Dalam dunia komputer, penggunaan stack (tumpukan) merupakan suatu hal yang umum digunakan seperti untuk penentuan alamat memory, penempatan ruang data dan aplikasi lain.
- Aplikasi stack juga digunakan untuk berbagai macam keperluan seperti pengujian kalimat palindrome, penguji tanda kurung (matching parentheses), dan juga berfungsi sebagai konversi dari notasi infix menjadi notasi postfix.
- Sebuah kompilator mempunyai tugas, salah satu di antaranya adalah menyelidiki apakah Pemrogram telah dengan cermat mengikuti aturan tata bahasa, atau sintaks dari bahasa pemrograman yang bersangkutan.
- Misalnya untuk parantheses kiri (tanda kurung buka) yang diberikan, harus dipastikan adanya parantheses kanan (tanda kurung tutup) yang bersangkutan.
Kelebihan dan Kekurangan Menggunakan Stack
Berikut kelebihan dan kekurangan dari stack:
1. Kelebihan
• Membantu mengelola data dengan metode LIFO
• Secara otomatis membersihkan objek
• Tidak mudah rusak
• Ukuran variabel tidak dapat diubah
• Mengontrol memori secara mandiri
2. Kekurangan
• Memori stack sangat terbatas
• Ada kemungkinan stack akan meluap atau overflow jika terlalu banyak objek
• Tidak memungkinkan akses acak, karena harus mengeluarkan tumpukan paling atas terlebih dahulu untuk mengakses tumpukan paling bawah
Secara garis besar, stack adalah struktur data yang membuat programmer jadi lebih mudah dalam mengatur penyimpanan komputer dan pemrograman.
Demikianlah penjelasan singkat mengenai stuck.