Contoh Program Stack Java: Pengenalan dan Implementasi

Contoh Program Stack Java: Pengenalan dan Implementasi
Konten Halaman

Jika anda seorang pengembang Java, maka anda pasti akrab dengan istilah “Stack”. Stack adalah struktur data yang digunakan untuk menyimpan dan mengambil data dengan urutan last-in-first-out (LIFO).

Dalam artikel ini, kami akan membahas contoh program Stack Java dan cara implementasinya.

Pengenalan Stack Java

Stack adalah struktur data sederhana yang digunakan untuk menyimpan data dalam urutan LIFO. Artinya, data terakhir yang dimasukkan ke dalam stack akan menjadi data pertama yang diambil. Stack adalah salah satu dari beberapa struktur data yang paling banyak digunakan di dunia pemrograman, karena kemampuannya untuk mengelola memori dengan efektif dan efisien.

Dalam bahasa Java, Stack diimplementasikan sebagai kelas Stack. Kelas Stack adalah bagian dari paket Java.util dan menyediakan metode untuk menambahkan dan mengambil elemen dari stack. Berikut adalah contoh program Stack Java sederhana:

import java.util.Stack;

public class ContohStack {
   public static void main(String[] args) {
      Stack stack = new Stack();
      stack.push("Contoh");
      stack.push("Program");
      stack.push("Stack");
      System.out.println("Elemen-elemen di stack: " + stack);
      System.out.println("Elemen teratas dari stack: " + stack.peek());
      stack.pop();
      System.out.println("Setelah menghapus satu elemen: " + stack);
   }
}

Pada contoh program Stack Java di atas, kita mengimport kelas Stack dari paket java.util. Kemudian, kita membuat objek Stack baru dan menambahkan beberapa elemen ke dalamnya menggunakan metode push(). Setelah itu, kita mencetak elemen-elemen stack menggunakan metode println() dan mengambil elemen teratas dari stack menggunakan metode peek(). Terakhir, kita menghapus satu elemen dari stack menggunakan metode pop() dan mencetak hasilnya.

Menggunakan Metode Stack pada Java

Kelas Stack pada Java menyediakan beberapa metode yang dapat digunakan untuk menambahkan dan mengambil elemen dari stack. Beberapa metode yang paling umum digunakan adalah sebagai berikut:

push()

Metode push() digunakan untuk menambahkan elemen ke dalam stack. Metode ini memiliki satu parameter, yaitu elemen yang akan ditambahkan.

pop()

Metode pop() digunakan untuk menghapus elemen teratas dari stack. Metode ini tidak memiliki parameter dan mengembalikan elemen yang dihapus.

peek()

Metode peek() digunakan untuk mengambil elemen teratas dari stack tanpa menghapusnya. Metode ini tidak memiliki parameter dan mengembalikan elemen teratas dari stack.

empty()

Metode empty() digunakan untuk memeriksa apakah stack kosong atau tidak. Metode ini tidak memiliki parameter dan mengembalikan nilai boolean.

Contoh Program Stack Java yang Lebih Kompleks

Berikut adalah contoh program Stack Java yang lebih kompleks. Program ini mengimplementasikan stack untuk melakukan evaluasi ekspresi matematika dasar.

import java.util.Stack;

public class EvaluasiEkspresi {
   public static int evaluasi(String ekspresi) {
      Stack<Integer> stack = new Stack<Integer>();
      for (int i = 0; i < ekspresi.length(); i++) {
         char c = ekspresi.charAt(i);
         if (Character.isDigit(c)) {
            stack.push(c - '0');
         } else {
            int nilai1 = stack.pop();
            int nilai2 = stack.pop();
            switch (c) {
               case '+':
                  stack.push(nilai2 + nilai1);
                  break;
               case '-':
                  stack.push(nilai2 - nilai1);
                  break;
               case '*':
                  stack.push(nilai2 * nilai1);
                  break;
               case '/':
                  stack.push(nilai2 / nilai1);
                  break;
            }
         }
      }
      return stack.pop();
   }

   public static void main(String[] args) {
      String ekspresi = "42*3+";
      System.out.println("Hasil evaluasi ekspresi: " + evaluasi(ekspresi));
   }
}

Program ini mengambil ekspresi matematika dalam bentuk string dan mengembalikan hasil evaluasi ekspresi tersebut. Program menggunakan stack untuk menyimpan nilai-nilai sementara dan menghitung hasilnya.

Kesimpulan

Stack adalah struktur data yang penting dalam pemrograman. Dalam bahasa Java, Stack diimplementasikan sebagai kelas Stack dan menyediakan beberapa metode untuk menambahkan dan mengambil elemen dari stack. Contoh program Stack Java yang kami berikan dapat membantu anda memahami cara kerja stack dan cara mengimplementasikannya dalam program Java. Semoga artikel ini bermanfaat bagi anda.