Minggu, 01 Desember 2013

Penerapan Stack dengan Logika Dasar

package Tugas;
import java.util.Stack;
public class TugasStack {
    private int Batas;//variabel batas
    private String[] isian;//variabel isian
    private int top; //variabel top
    public void total(int s) //untuk menentukan kapasitas stack
    {
        Batas = s;// batas elemen stack sama  dengan total stack yang di push
        isian = new String[Batas];//tempat menyimpanan stack
        top = -1;// top berada pada posisi -1
    }
    public void push(String data) {//implemenasi push berupa integer    
 if (top >= Batas - 1) {
            System.out.println("Maaf Stack Sudah Penuh. " + data + " Tidak Bisa Masuk");
            // suatu kondisi jika top lebih dari batas maksimum elemen stack
            //maka data yang di pushkan tidak bisa masuk ke stack
        } else {
            top++;
            isian[top] = data;
            System.out.println(data + " Masuk ke Stack");
            //sebaliknya data yang di pushkan sesuai penyimpanan
            //maka data bisa masuk ke stack
        }
    }
    public String pop() {//implementasi pop
        String t;
        if (top >= 0) {
            t = isian[top];
            System.out.println(t + " Keluar dari Stack");
            top--;
            return (t);
            //suatu kondisi pop akan dimulai dari urutan ke 0
        } else {
            System.out.println("Stack Kosong");
            return (-1);
        }
    }
    public void view() {
        System.out.print("Isi Stack: ");
        for (int i = 0; i <= top; i++) {
            System.out.print(isian[i] + ", ");
            //untuk menampilkan isi stack ketika sudah di push atau di pop
        }
        System.out.println();
    }
        public static void main(String[] args) {//method main
        TugasStack stk = new TugasStack();//inputan
        stk.total(3);//total isi stack
        //isi stack
        stk.push("Aku");
        stk.push("Dia");
        stk.push("Kamu");
        //mengurangi stack
        stk.pop();
        //menampilkan isi stack
        stk.view();
        stk.pop();
        stk.push("Kamu");
        stk.pop();
        stk.push("Dia");
        stk.pop();
        stk.pop();
        stk.push("Aku");
        stk.push("Kamu");
        stk.push("Dia");
        stk.push("Aku");
        stk.pop();
        stk.view();
    }
}

NAMA: AJI DWI KUSMAN
NIM    : 1200631034

Tidak ada komentar:

Posting Komentar