STACK.
Pengertian Stack.
Stack (Tumpukan) adalah kumpulan elemen-elemen data yang disimpan dalam satu lajur
linear. Kumpulan elemen-elemen data hanya boleh diakses pada satu lokasi saja yaitu
posisi ATAS (TOP) tumpukan.
Lanjutan…
Konsep utamanya adalah LIFO (Last In First Out), benda yang terakhir masuk dalam stack akan
menjadi benda pertama yang dikeluarkan dari stack. Tumpukan disebut juga “Push Down Stack”
yaitu penambahan elemen baru (PUSH) dan pengeluaran elemen dari tumpukan (POP).
Lanjutan…
Pada gambar diatas penerapan stack dalam kehidupan sehari-hari yaitu peletakkan buku di atas meja
sehingga apa bila kita mau mengambil Buku-1 maka Buku-4 (Paling atas) harus di keluarkan/diambil
terlebih dahulu.
Macam-macam Stack.
1. Stack dengan Array
Sesuai dengan sifat stack, pengambilan atau penghapusan elemen dalam stack
harus dimulai dari elemen teratas (TOP).
Lanjutan…
1. Double Stack dengan Array
Metode ini adalah teknik khusus yang dikembangkan untuk menghemat pemakaian memori
dalam pembuatan dua stack dengan array. Intinya adalah penggunaan hanya sebuah array
untuk menampung Dua Stack.
Inisialisasi Stack.
Pada mulanya isi top dengan -1, karena array dalam C dimulai dari 0, yang berarti stack adalah
Kosong. Top adalah suatu variabel penanda dalam Stack yang menunjukkan elemen teratas
Stack sekarang. Top Of Stack akan selalu bergerak hingga mencapai Max Of Stack sehingga
menyebabkan Stack penuh.
Operasi Dalam Stack.
1. Push : Untuk menambah item pada Stack pada tumpukan paling atas.
2. Pop : Untuk mengambil item pada Stack pada tumpukan paling atas.
3. Clear : Untuk mengosongkan Stack.
4. Create Stack : Untuk membuat tumpukan baru Stack, dengan jumlah elemen kosong.
5. IsEmpty : Untuk melakukan pengecekan apakah Stack sudah Kosong.
6. Isfull : Untuk melakukan pengecekan apakah Stack sudah Penuh.
Lanjutan…
1. PUSH
Digunakan untuk memasukkan elemen ke dalam
stack dan selalu menjadi elemen teratas stack.
Cara:
(A – B) * (C + D)
Prioritas pengerjaan soal diatas adalah sebagai berikut :
a. Dalam kurung yang paling kiri : (A – B)
b. Dalam kurung yang kedua : (C + D)
c. Perkalian hasil pengurangan dengan hasil penjumlahan. Notasi prefiks dan notasi
postfix lebih mudah dikerjakan oleh komputer.
Lanjutan…
1. Notasi Prefix, jika operator ditempatkan sebelum dua operand.
Contoh:
*+A B C
2. Notasi Inflix, jika operator ditempatkan di antara dua operand.
Contoh:
(A + B) * C
3. Notasi Postfix, jika operator ditempatkan setelah dua operand.
Contoh:
AB+C*
Thanks!