Monday, December 9, 2013

Java Source Code : Stack

Udah lama gak pernah ngepost tentang kodingan. Cukup kangen dan cukup exciting waktu nulis kodingan di blog karena sudah jadi budaya di jurusan komputer manapun, mahasiswa selalu kesulitan mencari kode program yang sesuai dengan tugas dari dosen, apalagi mahasiswa baru. Dan dengan menulis ini, saya berharap bisa membantu sedikit untuk menambah referensi kode bagi mahasiswa jurusan komputer. Dan kali ini saya membahas tentang Stack.

Apa itu Stack? Stack itu adalah tumpukan. Sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhir kali dimasukkan akan menjadi yang pertama kali keluar dari stack tersebut. Teman-teman dari Stack adalah Queue, List, BinaryTree, dkk. Mereka semua adalah bagian dari struktur data.

Stack sendiri memiliki beberapa operasi umum yang sering digunakan. Operasinya adalah "Pop", "Push", "isEmpty", "isFull", dan "Display". Operasi ini adalah operasi dasar yang biasanya ada dalam Stack. Dalam tutorial kali ini, saya membuat dua class. Class Stack dan juga class App. Class App hanyalah main class biasa untuk menjalankan class Stack, sedangkan Stack adalah tempat operasi-operasi Pop, Push, dkk. dideklarasikan. Berikut ini adalah kode program dari class Stack.java dan App.java
public class Stack {

    int[] tempat;
    int atas, maks;
 
 //int s adalah untuk menentukan tingginya Stack
    public Stack(int s) {
        maks = s-1;
        tempat = new int[s];
        atas = -1;
    }

    public boolean isEmpty() {
        return atas == -1;
    }
    
    public boolean isFull() {
        return atas >= maks;
    }

    public void push(int tambahan) {
  if (isFull()) {
   System.out.println("Maaf, sudah penuh");
  } else {
   tempat[atas + 1] = tambahan;
   atas++;
  }
    }
    
    public void pop(){        
        if (isEmpty()){
            System.out.println("Masih kosong");
        } else {
            int itr = atas-1;
            atas = tempat[itr];
        }
    }
 
 public void display() {
  for (int i = 0; i <= maks; i++){
   System.out.println("||  "+tempat[i]+"  ||");
  }
 }
}

Dan ini adalah kode program dari class App.java

public class App {
    
    public static void main (String [] args) {
  //menginisiasi panjangnya Stack adalah 4
        Stack st = new Stack(4);
        
  st.push(5);
        st.push(5);
        st.push(6);
  st.push(7);
  //mencoba apakah kalo sudah penuh masih bisa diisi???
  st.push(8);
  st.display();
    }
}
Dengan begitu pada saat mem-Push angka 8, Stack akan menolak dan menampilkan notif bahwa Stack sudah penuh dan yang ada dalam tumpukan hanya 5, 5, 6, 7 saja seperti terlihat pada gambar di bawah.

Cukup sekian dulu tutorial mengenai Stack. Mungkin di lain waktu akan saya posting mengenai teman-temannya seperti List, Queue, dkk. Doakan semoga saya tetep semangat mengupdate blog ini. Semoga bermanfaat dan terima kasih :D



Artikel Terkait

1 comment: