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!!! :)
Selamat Mencoba!!! :)
No comments:
Post a Comment