04_Stack

Nama                     : Dikdik Nawa Cendekia Agung

NPM                       : 23552011240

Kelas/Semester   : 223PD /Semester 1 (ganjil)

 


Stack

Stack atau tumpukan adalah salah satu jenis struktur data pada komputer yang berfungsi untuk menyimpan dan mengorganisir data dalam urutan tertentu. Stack adalah struktur data linear yang bekerja berdasarkan prinsip LIFO (Last In First Out) atau yang artinya data yang terakhir dimasukkan ke dalam stack akan menjadi data yang pertama kali diambil atau dikeluarkan dari stack.
    Stack biasanya digunakan dalam penggunaan 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.

Karakteristik utama dari stack diantaranya:

  1. LIFO (Last In First Out): Stack mengikuti prinsip LIFO yang berarti data yang terakhir dimasukkan ke dalam stack akan menjadi data yang pertama kali diambil atau dikeluarkan dari stack. Contoh prinsip LIFO dalam kehidupan sehari-hari dapat dicontohkan saat kita akan mengambil piring dari sebuah tumpukan piring, kita tidak bisa mengambil piring dari bagian bawah atau tengah tumpukan piring itu, jika kita mengambil piring dari tumpukan paling bawah atau tengah, maka piring-piring yang ada di atasnya akan jatuh.
  2. Tidak dapat diakses secara acak: Elemen pada stack hanya dapat diakses secara berurutan, yaitu elemen terakhir yang dimasukkan akan menjadi elemen teratas dalam stack tersebut, dan akan menjadi data yang pertama kali dikeluarkan dalam stack. Ini mengikuti prinsip dari LIFO (Last In First Out).
  3. Tidak Terbatas (pada implementasi Linked List atau Dynamic Stack) sehingga dapat menangani jumlah elemen yang tidak terbatas.
  4. Terbatas (pada implementasi Array atau Circular Stack) sehingga hanya dapat menangani jumlah elemen yang sudah ditentukan saat deklarasi.
  5. Menggunakan Prinsip Rekursi: Stack juga digunakan dalam prinsip rekursi, yaitu ketika suatu fungsi memanggil dirinya sendiri.
Pada struktur data stack, terdapat beberapa operasi yang dapat dilakukan untuk mengolah data yang ada di dalam stack, operasi-operasi tersebut diantaranya:
  1. Peek: seperti namanya yaitu mengintip, operasi ini digunakan untuk melihat elemen teratas pada stack tanpa menghapusnya, jadi sebagai klien atau programer dapat mengetahui elemen teratas pada sebuah stack.
  2. IsEmpty: Operasi ini digunakan untuk memeriksa apakah stack dalam keadaan kosong atau tidak. Jika stack kosong, maka akan menampilkan nilai true, sedangkan jika stack memiliki isi atau data maka akan menampilkan nilai false.
  3. IsFull: Operasi ini digunakan untuk memeriksa apakah stack sudah penuh atau belum. jika stack dalam keadaan penuh, maka operasi ini akan menampilkan nilai true, dan jika stack tersebut masih bisa diisi oleh data, maka akan menampilkan nilai false.
  4. Clear: singkatnya operasi ini digunakan untuk menghapus semua elemen atau data yang ada pada stack.
  5. Create: Operasi ini berfungsi untuk membuat sebuah stack baru yang belum memiliki isi.
Struktur Data Stack memiliki beberapa fungsi yang berguna dalam pemrograman dan algoritma, diantaranya; Pengelolaan memori: Stack digunakan untuk menyimpan alamat memori dari suatu fungsi saat program dijalankan; Pengecekan tata bahasa: Stack digunakan untuk menyimpan konteks dari suatu ekspresi matematika atau kondisi logika. 


Komentar

Postingan populer dari blog ini

01_Pengantar_Struktur_Data

06_Linked_List

03_Array