top of page

Operasi Dasar Stack

May 31, 2021
2 min read

Dalam ilmu komputer, Stack adalah data abstrak jenis yang berfungsi sebagai kumpulan elemen. Sebagian besar semua operasi dilakukan hanya di satu ujung dari tumpukan yang paling atas tumpukan. Urutan penyimpanan elemen dalam tumpukan dengan cara LIFO (Last-in-First-Out). Ini berarti elemen yang dimasukkan terakhir akan dihapus terlebih dahulu.




Source Code App Stack

package Stack;
import java.util.Scanner;
public class appStack {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        cStack myStack = new cStack();
        System.out.println("Aplikasi STACK");
        int pilih;
        do{
            System.out.println("Pilihan MENU:");
            System.out.println("1. Push");
            System.out.println("2. Pop");
            System.out.println("3. Print");
            System.out.println("4. Exit");
            System.out.print("Pilih : ");
            pilih = sc.nextInt();
            System.out.println("");
            switch(pilih){
                case 1:
                    System.out.println("PUSH");
                    System.out.println("Nama Mahasiswa : ");
                    String nm = sc.next();
                    cItem t = new cItem(nm);
                    myStack.push(t);
                    System.out.println("Mahasiswa berhasil ditambahkan...");
                    break;
                case 2:
                    System.out.println("POP");
                    t = myStack.pop();
                    if(t == null){
                        System.out.println("Data Kosong");
                    }else{
                        System.out.println("Nama Mahasiswa : "+t.getNama());
                        System.out.println("Mahasiswa Berhasil dihapus");   
                    }
                    break;
                case 3:
                    System.out.println("PRINT");
                    myStack.Print();
                    System.out.println("");
                    break;
                case 4:
                    System.out.println("Terimakasih");
                    break;
            }
        }while(pilih != 4);
    }
}

Source Code cItem

package Stack;
class cItem {
    private String nama;
    cItem next, prev;
    cItem (String n){
        nama = n;
    }
    public void setNama(String nm){
        nama = nm;
    }
    public String getNama(){
        return nama;
    }
}

Source Code cStack

package Stack;
class cStack {
    cItem top, tail;
    int Jum;
    cStack (){
        top = tail = null;
        Jum = 0;
    }
    public void push (cItem Baru){
        if(top == null){
            top = tail = Baru;
        }
        else{
            Baru.next = top;
            top.prev = Baru;
            top = Baru;
        }
    }
    public cItem pop(){
        if (top == null){
            return null;
        }else if (top.next == null){
            cItem t = top;
            top = tail = null;
            return t;
        }else {
            cItem t = top;
            top = top.next;
            top.prev = null;
            t.next = null;
            t.prev = null;
            return t;
        }
    }
    public void Print(){
        System.out.println("Daftar Nama Mahasiswa : \n");
        for(cItem t = top; t != null; t =t.next){
            System.out.println(t.getNama());
        }
        System.out.println("");
    }
}

Hasil Program





Comments


Don't forget to visit my other Social Media

  • Pinterest
  • Instagram

© 2023 by Radinplace. Proudly created with Wix.com

bottom of page