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

0 Komentar
Penulisan markup di komentar