Sunday, 12 July 2015

Stack Java

    Assalamualaikum Mina-san.

       Pada Kesempatan Kali Ini Saya Akan Membahas Program yang bernama class Stack di program java menggunakan netbeans, teori stack dibawah ini saya dapat dari modul Praktikum kuliah saya. Silahkan diliat agan-agan bagaimana teori stack tersebut.

TEORI STACK

Stack adalah sekumpulan data dimana pengisian atau penambahan data dan penghapusan atau pengambilan data dilakukan disalah satu ujung/top.
Prinsip sederhana stack adalah Last in First out (LiFo) atau pushdown list.Hal penting pada stack adalah:
·         Indeks
·         Banyaknya data dalam stack
·         Isi data
·         Kondisi (full/empty)
E
D
C
B
A

Kondisi full pada stack jika banyaknya elemen data dalam stack tersebut adalah maksimum atau overflow
Kondisi empty pada stack jika banyaknya elemen data adalah null atau underflow

Operasi penting pada stack adalah:
·         Push Untuk menyisipkan atau menambah data dalam stack
·         Pop Operasi primitif untuk mengambil atau menghapus data dalam stack
·         Count Menghitung Panjang Stack
·         Peek Untuk Melihat Elemen Paling Atas

 Ini Codingan Versi Ane gan.

Import java.util.Scanner;
public class Stack {
    int stack[];
    int indek;
    //Memesan Panjang Stack
    public Stack(int a){
        stack = new int [a];
    }
    //Menghitung Panjang Stack
    public void Count(){
        int hasil = stack.length;
        System.out.println("Jumlah Stak \t:\t"+hasil);
    }
    //Mengisi Nilai dalam Stack
    public void push(int isi){
            stack[indek] = isi;
            indek++;
        }
    //Untuk Melihat Elemen Paling Atas
    public void Peek(){
        int hasil = 0;
        hasil+=stack.length-1;
        System.out.println("Peek Stack Adalah\t:\t"+stack[hasil]);
    }
    public void Print(){
        for(int i = stack.length-1 ;i>=0 ; i--){
                System.out.println(stack[i]);
            }
    }
    public void pop(int angka){
        for(int i = 0; i<stack.length ; i++){
            if(stack[i]==angka){
                stack[i]=0;
            }
        }
    }
    public static void main(String[]args){
        Scanner ir = new Scanner(System.in);
        System.out.print("Masukan Batas \t:\t");
        int batas = ir.nextInt();
        Stack irin = new Stack(batas);
        for(int i = 0; i<batas ; i++){
            System.out.print("Masukan Isi "+(i+1)+"\t:\t");
            int isi = ir.nextInt();
            irin.push(isi);
        }
        System.out.print("______________________________________\n");
        irin.Count();
        System.out.print("______________________________________\n");
        irin.Print();
        System.out.print("______________________________________\n");
        irin.Peek();
        System.out.print("______________________________________\n");
        System.out.print("Berapa Kali Anda Melakukan POP\t:\t");
        int bts = ir.nextInt();
        int angka;
        for(int i = 1 ; i<=bts ; i++){
            System.out.print("Masukan Angka POP\t:\t");
            angka = ir.nextInt();
            irin.pop(angka);
            System.out.print("______________________________________\n");
        }
        irin.Print();
    }
}

Selamat Mencoba!!! :)

No comments:

Post a Comment