Tugas 4

 STACK

Stack adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), yang terakhir masuk pertama keluar. Dapat di ilustrasikan seperti sebuah tumpukan buku, ketika mengambil sebuah buku di dalam tumpukan itu maka harus diambil satu persatu dari buku yang paling atas dari tumpukan buku tersebut.  Sebuah stack hanya dapat ditambahkan dan dikurangi elemennya hanya dari satu sisi yakni elemen atasnya atau biasa disebut Top Of Stack.


Operasi pada Stack
  • Push : Untuk menambahkan elemen atau data, dimana data paling akhir akan diletakkan di paling atas
  • Pop : untuk mengambil atau mengeluarkan data dimana data yang diambil adalah data terakhir atau paling atas.
  • Clear : digunakan untuk mengosongkan stack
  • IsEmpty : untuk memeriksa apakah stack sudah kosong
  • IsFull : untuk memeriksa apakah stack dalam keadaan penuh

Contoh Implementasi Stack: 

package struktur_data;
import java.util.Scanner;
/**
*
* @author Nabila Zakiyah
*/
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();
}
}
view raw Stack hosted with ❤ by GitHub
Output:



Komentar

Postingan populer dari blog ini

Tugas 1 - PPB F

Final Project - Eas