Stack dalam struktur data merupakan suatu tumpukan dari sekumpulan data. Konsepnya adalah LIPO (Last In First Out), data yang pertama masuk akan keluar paling akhir.
Operasi - operasi dalam stack antara lain :
1. Push : memasukkan data
2. Pop : mengambil / mengeluarkan data
3. IsEmpty : memeriksa apakah stack kosong
4. IsFull : memeriksa apakah stack penuh
5. Clear : mengosongkan stack
berikut adalah source code nya :
/** * * @author Wim Sonevel */ public class Stackx { int data[]; int top=-1; Stackx(int kapasitasData){ data=new int[kapasitasData]; } public boolean isFull(){ if(top==data.length-1){ return true; }else{ return false; } } public boolean isEmpty(){ if(top==-1){ return true; }else{ return false; } } public void push(int dataBaru){ if(!isFull()){ top++; data[top]=dataBaru; }else{ System.out.println("Data sudah penuh"); } } public void pop(){ if(!isEmpty()){ top--; System.out.println("data dikeluarkan"); }else{ System.out.println("Stack kosong"); } } public void tampilkan(){ int pencacah=0; while(pencacah<=top){ System.out.print("|"+data[pencacah]+"| "); pencacah++; } if(isEmpty()){ System.out.print("Stack Kosong"); } System.out.println(); } } import java.io.*; public class AplikasiStack { public static void main(String[]args){ Stackx mystack=new Stackx(3); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); while(true){ System.out.println("1. Push"); System.out.println("2. Pop"); System.out.println("3. Tampilkan data"); System.out.println("4. Exit"); try{ System.out.print("pilihan anda no :"); int pilih = Integer.parseInt(br.readLine()); if(pilih==1){ System.out.print("Masukkan data :"); int data = Integer.parseInt(br.readLine()); mystack.push(data); }else if(pilih==2){ mystack.pop(); }else if(pilih==3){ mystack.tampilkan(); }else{ System.exit(0); } }catch(Exception e){ } } } }output :
1. Push
2. Pop
3. Tampilkan data
4. Exit
pilihan anda no :1
Masukkan data :10
1. Push
2. Pop
3. Tampilkan data
4. Exit
pilihan anda no :1
Masukkan data :20
1. Push
2. Pop
3. Tampilkan data
4. Exit
pilihan anda no :3
|10| |20|
1. Push
2. Pop
3. Tampilkan data
4. Exit
pilihan anda no :2
data dikeluarkan
1. Push
2. Pop
3. Tampilkan data
4. Exit
pilihan anda no :3
|10|
1. Push
2. Pop
3. Tampilkan data
4. Exit
pilihan anda no :2
data dikeluarkan
1. Push
2. Pop
3. Tampilkan data
4. Exit
pilihan anda no :3
Stack Kosong
1. Push
2. Pop
3. Tampilkan data
4. Exit
pilihan anda no :4
Tags:
Java