Implementasi STACK

 

Apa itu Stack?

Stack adalah sala satu struktur data yang memiliki kerja Last In First Out (LIFO), yang terakhir masuk pertama keluar. Dapat diilustrasikan seperti sebuah tumpukan buku, ketika mengambil sebuah buku di dalam tumpukan itu maka harus diambil satu persatu dari buku yang paling atas dari tumpukan buku tersebut. Sebuah stack hanya dapat di tambahkan dan dikurangi elemennya hanya dari satu sisi yakni elemen atasnya atau biasa di sebut Top Of Stack.


Kelebihan dan Kekurangan Stack

Berikut kelebihan dan kekurangan dari stack :

Kelebihan : 

- Membantu mengelola data dengan metode LIFO

- Secara otomatis membersikan object.

- Tidak mudah rusak.

- Ukuran variabel tidak dapat diubah.

- Mengontrol memori secara mandiri.

Kekurangan :

- Memori stack sangat terbatas.

- Ada kemungkinan stack akan meluap atau overflow terlalu banyak object.

- Tidak memungkinkan akses acak, karena harus mengeluarkan tumpukan paling atas terlebih dahulu untuk mengakses tumpukan paling bawah.

Jenis - jenis Operasi pada Stack

1. Pop

Digunakan untuk mengeluarkan data teratas stack dengan syarat bahwa stack tidak kosong. Urutan perintahnya adalah : menghapus data pada posisi nilai top dan menurunkan nilai top. Jika dalam Linked List menggunakan method removeLast.

2. Push

Digunakan untuk menambahkan data ke dalam stack. Penambahan data tidak bisa dilakukan apabila stack suda penuh. Urutan perintahnya adalah : menambahkan nilai top dan menambahkan data pada posisi nilai top. Jika dalam Linked List menggunakan addLast.

3. isFull

Digunakan untuk mengetahui apakah tumpukan sudah penuh atau tidak.

4. isEmpty

Kebalikan dari isFull, isEmpty digunakan untuk memeriksa apakah tumpukan kosong atau tidak.

5. Peek

Digunakan untuk mengetahui data teratas dari tumpukan tanpa harus menghapusnya.

6. Count

Digunakan untuk mengetahui jumlah isi data pada stack.

7. Clear

Digunakan untuk menghapus seluruh data yang ada pada stack.


Penggunaan Stack :

- Perhitungan ekspresi aritmatika (posfix).

- Algoritma backtraking (runut balik).

- Algoritma rekursif.


Implementasi Stack 

Berikut adalah implementasi Stack dalam bahasa pemrograman Java.
Source Code Stack

Source Code StackApp

Output




Komentar

Postingan populer dari blog ini

Tugas 7 PPB - F

Tugas 6 PPB - F