Type Data

Struktur data stack adalah salah satu jenis struktur data pada komputer yang berfungsi untuk menyimpan dan mengorganisir data dalam urutan tertentu, Stack bekerja berdasarkan prinsip LIFO (Last In First Out), yang artinya data yang terakhir dimasukkan ke dalam stack akan menjadi data yang pertama kali diambil atau dikeluarkan dari stack .

Stack biasanya digunakan dalam implementasi algoritma dan fungsi-fungsi matematis seperti konversi infix ke postfix, evaluasi ekspresi postfix, dan validasi tanda kurung pada ekspresi matematis, Stack juga sering digunakan dalam aplikasi yang membutuhkan manajemen tumpukan data seperti pengembangan sistem operasi, kompilator, dan perangkat lunak grafis .

Struktur data stack dapat diimplementasikan menggunakan array atau linked list 1, Stack yang diimplementasikan menggunakan array memiliki kapasitas yang terbatas, sedangkan stack yang diimplementasikan menggunakan linked list tidak memiliki batasan kapasitas .

Berikut adalah beberapa karakteristik struktur data stack :

  1. LIFO (Last In First Out)
  2. Push dan Pop.
  3. Tidak Dapat Diakses Secara Acak.
  4. Tidak terbatas (pada implementasi Linked List atau Dynamic Stack).
  5. Terbatas (pada implementasi Array atau Circular Stack).
  6. Digunakan untuk Menyelesaikan Masalah yang Membutuhkan Urutan Eksekusi.
  7. Menggunakan Prinsip Rekursi.

Stack memiliki beberapa kelebihan, antara lain :

  1. Struktur data sederhana dan mudah dipahami.
  2. Memiliki waktu akses yang cepat.
  3. Digunakan dalam implementasi banyak algoritma.
  4. Menghindari overwriting data yang tersimpan.
  5. Menghindari segmentation fault.

Namun, stack juga memiliki beberapa kekurangan, antara lain :

  1. Batasan kapasitas.
  2. Tidak dapat mengakses data di tengah stack.
  3. Rentan terhadap stack overflow.
  4. Rentan terhadap stack underflow.
  5. Tidak cocok untuk memproses data terstruktur.