Implementasi Stack di Java

 STACK


    Stack merupakan salah satu cara pengaturan data dalam topik struktur data. Stack (tumpukan) dapat diibaratkan sebagai sebuah tumpukan buku. Sebuah tumpukan buku hanya dapat ditambah bukunya dari atas dan hanya buku yang berada di paling atas yang dapat diambil jika tidak ingin merusak tumpukan buku tersebut. Hal ini sama seperti konsep stack, yaitu LIFO (Last In First Out) dimana buku terakhir masuk merupakan buku pertama keluar.

Berikut merupakan contoh method-method dari stack

/**
*
* @author Anggito Anju
* @ver 1.0 - 7 Apr 21
*/
import java.util.List;
import java.util.ArrayList;
public class stackBuku
{
private List<Object> list = new ArrayList<Object>();
private int currIndex = -1;
public void push(Object newData) {
list.add(newData);
currIndex++;
}
public Object pop() {
Object popData = list.remove(currIndex);
currIndex--;
return popData;
}
public Object top() {
return list.get(currIndex);
}
public void clearStack(Object newData) {
list.clear();
currIndex = -1;
}
public int size() {
return list.size();
}
}
view raw stackBuku.java hosted with ❤ by GitHub

    Beberapa method digunakan untuk mengakses stack. Method-method tersebut adalah :
  1. Push, untuk menambahkan data pada stack,
  2. Pop, untuk menghapus data teratas pada stack,
  3. Top, untuk melihat data teratas pada stack,
  4. Clear, untuk menghapus/ mengosongkan stack,
  5. Size, untuk mengetahui banyak data pada stack.
    Dengan menggunakan method-method yang sudah ada, stack dapat diimplementasikan dalam berbagai permahsalahan menyimpan data yang bersifat (LIFO). Misalnya, menyimpan buku dalam sebuah tumpukan.

Berikut merupakan contoh implementasi stack dalam sebuah tumpukan buku

/**
*
* @author Anggito Anju
* @ver 1.0 - 7 Apr 21
*/
public class AppBuku
{
public static void main(String[] args) {
stackBuku newStack = new stackBuku();
//masukkan buku
newStack.push("Negeri 5 Menara");
newStack.push("Harry Potter and The Cursed Child");
newStack.push("The Midnight Library");
newStack.push("Zero to One");
newStack.push("The Lean StartUp");
int size = newStack.size();
Object TopData = newStack.top();
System.out.println("Jumlah buku pada stack : " +size);
System.out.println("Judul buku teratas pada stack : " +TopData);
Object PoppedData = newStack.pop();
System.out.println();
System.out.println("Buku yang dikeluarkan : " +PoppedData);
size = newStack.size();
System.out.println("Jumlah buku setelah di pop : " +size);
PoppedData = newStack.pop();
System.out.println();
System.out.println("Buku yang dikeluarkan : " +PoppedData);
size = newStack.size();
System.out.println("Jumlah buku setelah di pop : " +size);
TopData = newStack.top();
}
}
view raw AppBuku.java hosted with ❤ by GitHub

Untuk memperjelas implementasi dari stack tersebut, berikut ouput yang didapatkan



Komentar

Postingan populer dari blog ini

Dokumentasi ETS PWEB 2022

Programming in Java : Mengubah Ekspresi Infix menjadi Postfix