Membuat Stack(Tumpukan) dengan Java

Tuesday, April 23, 2013


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

Share this :

Previous
Next Post »
0 Komentar

Penulisan markup di komentar
  • Silakan tinggalkan komentar sesuai topik. Komentar yang menyertakan link aktif, iklan, atau sejenisnya akan dihapus.
  • Untuk menyisipkan kode gunakan <i rel="code"> kode yang akan disisipkan </i>
  • Untuk menyisipkan kode panjang gunakan <i rel="pre"> kode yang akan disisipkan </i>
  • Untuk menyisipkan quote gunakan <i rel="quote"> catatan anda </i>
  • Untuk menyisipkan gambar gunakan <i rel="image"> URL gambar </i>
  • Untuk menyisipkan video gunakan [iframe] URL embed video [/iframe]
  • Kemudian parse kode tersebut pada kotak di bawah ini
  • © 2015 Simple SEO ✔

Ads