TIPS: Rangkuman ini hanya sebagai pemahaman secara umum. Pastikan Anda juga membaca BMP (Buku Materi Pokok) versi cetak atau digital di Ruang Baca Virtual (RBV) untuk pemahaman lebih mendalam.
DILARANG: Memperjualbelikan seluruh konten atau latihan soal yang terdapat di portal ini. Pelanggaran akan dikenakan sanksi sesuai ketentuan yang berlaku.
1. Konsep Stack
2. Ilustrasi Stack
1. Metode Update/Mutator ADT
2. Metode Accessor ADT
3. Tabel Operasi Stack (Tabel 4.1)
| No | Method | Return Value | Stack Contents |
|---|---|---|---|
| 1 | push(5) | - | (5) |
| 2 | push(3) | - | (5, 3) |
| 3 | size() | 2 | (5, 3) |
| 4 | pop() | 3 | (5) |
| 5 | isEmpty() | False | (5) |
| 6 | pop() | 5 | () |
| 7 | isEmpty() | True | () |
| 8 | pop() | Null | () |
| 9 | push(7) | - | (7) |
| 10 | push(9) | - | (7, 9) |
| 11 | top() | 9 | (7, 9) |
| 12 | push(4) | - | (7, 9, 4) |
| 13 | size() | 3 | (7, 9, 4) |
| 14 | pop() | 4 | (7, 9) |
| 15 | push(6) | - | (7, 9, 6) |
| 16 | push(8) | - | (7, 9, 6, 8) |
| 17 | pop() | 8 | (7, 9, 6) |
1. Perbandingan ADT dan Class Java
java.util yang mengimplementasikan stack berkonsep LIFO.size(), push(e), pop() — sama pada ADT dan Java.isEmpty() (ADT) → empty() (Java); top() (ADT) → peek() (Java).2. API Java
1. Konsep Stack dalam Array
add(indeks, data), remove(indeks), set(indeks, data).2. Contoh Operasi pada Array
add(2, e) — menambahkan data e di indeks ke-2, data setelahnya bergeser ke kanan.remove(4) — menghapus data pada indeks ke-4, data setelahnya bergeser ke kiri.set(2, i) — mengubah data pada indeks ke-2 menjadi i (edit data).1. Deklarasi Panjang Array
1. Konsep Roothis Array Stack
2. Operasi pada Roothis Array Stack
add(2, x) — menambahkan data x pada indeks ke-2, data lain bergeser sesuai blok.remove(1) — menghapus data indeks ke-1, data setelahnya bergeser sesuai blok.1. Implementasi Stack dengan LinkedList
LatihStack dengan method main.L bertipe LinkedList sebagai tempat tumpukan data.add(), addFirst(), addLast(), remove().2. Contoh Coding Stack
class LatihStack {
public static void main(String[] args) {
LinkedList L = new LinkedList();
L.add("I");
L.addFirst("E");
L.addFirst("W");
L.addFirst("Z");
L.addFirst("E");
L.addFirst("N");
L.addFirst("O");
L.addLast("Y");
L.add(3, "X");
L.remove(0);
for (Object stackList : L) {
System.out.print(stackList + "->");
}
}
}
3. Penjelasan Perintah Coding
1. Ilustrasi Operasi Stack
| Operasi | Indeks 0 | Indeks 1 | Indeks 2 | Indeks 3 | Indeks 4 | Indeks 5 | Indeks 6 | Indeks 7 |
|---|---|---|---|---|---|---|---|---|
| add | I | |||||||
| addFirst("E") | E | I | ||||||
| addFirst("W") | W | E | I | |||||
| addFirst("Z") | Z | W | E | I | ||||
| addFirst("E") | E | Z | W | E | I | |||
| addFirst("N") | N | E | Z | W | E | I | ||
| addFirst("O") | O | N | E | Z | W | E | I | |
| addLast("Y") | O | N | E | Z | W | E | I | Y |
| add(3,"X") | O | N | E | X | Z | W | E | I |
| remove(0) | N | E | X | Z | W | E | I | Y |
add() pada indeks ke-0.addFirst() menambah data di tumpukan teratas (indeks ke-0), data lain bergeser ke kanan.addLast() menambah data di akhir tumpukan.add(3,"X") menyisipkan data pada indeks ke-3.remove(0) menghapus data pada indeks ke-0 (data "O").