Dasar Program Java Berorientasi Objek
Stack 1 : Push & Pop with Linked List
The Objective
Buatlah aplikasi Stack dengan menggunakan single linked list yang memiliki menu: push, pop, cetak, dan exit. Data yang disimpan adalah nama-nama barang. Uji cobakan skenario: push, push, cetak, pop, pop, pop, cetak, push, cetak.
Source Code
- appTumpukanwListunggal (Main)
package BasicStack;
import java.util.Scanner;
public class appTumpukanwListunggal {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        cOSB tumpukan=new cOSB();
        int opsional=0;
        
        do {
            System.out.println();
            System.out.println("Operasi Komponen Tumpukan");
            System.out.println("1. PUSH");
            System.out.println("2. POP");
            System.out.println("3. CETAK");
            System.out.println("4. Keluar");
            System.out.print("Opsi : ");
            opsional=input.nextInt();
            switch(opsional) {
                case 1:
                        System.out.print("Masukkan Nama Komponen / Barang :");
                        String nmako=input.next();
                        cKomponen brng=new cKomponen(nmako);
                        tumpukan.masuk(brng);
                        break;
                
                case 2:
                        cKomponen p=tumpukan.hilang();
                        if(p==null) {
                            System.out.println("Tumpukan Saat ini Kosong");
                        } else {
                            System.out.println(p.getnamakomponen()+" dikeluarkan");
                        }
                        break;
                case 3:
                        tumpukan.mencetak();
                        break;
                
                case 4:
                        System.out.println("Sampai Jumpa");
                        break;
            }
        }while(opsional!=4);
    }
}
- cKomponen (The Element)
public class cKomponen {
private String namakomponen;
cKomponen selanjutnya;
cKomponen(String nmako) {
namakomponen=nmako;
System.out.println("Barang / Komponen Berhasil Dibuat");
} public String getnamakomponen() {
return namakomponen;
}
}
- cOSB (The Stack Operation)
//Payun = depan
//Pengker = belakang
//masuk = push
//hilang = pop
package BasicStack;
public class cOSB {
cKomponen payun, pengker;
int akumulasi;
cOSB() {
payun=pengker=null;
akumulasi=0;
}
public void masuk(cKomponen baru) {
if(payun==null) {
payun=pengker=baru;
}
else {
baru.selanjutnya=payun;
payun=baru;
} System.out.println("Operasi PUSH Berhasil");
}
public cKomponen hilang() {
if(payun==null) {
System.out.println("Tumpukan Sudah Kosong");
return null;
}
else if(payun.selanjutnya==null) {
cKomponen p=payun;
payun=pengker=null;
System.out.println("Operasi POP Berhasil");
return p;
}
else {
cKomponen p=payun;
payun=payun.selanjutnya;
p.selanjutnya=null;
System.out.println("Operasi POP Berhasil");
return p;
}
}
public void mencetak() {
System.out.println("Isi Tumpukan Barang");
for(cKomponen p=payun; p!=null; p=p.selanjutnya) {
System.out.print(p.getnamakomponen()+" ");
}
System.out.println();
}
}
The Visual Output
-  CETAK - POP
-  POP - POP
Catatan :
- Bila gambar yang ditampilkan kurang jelas, mohon klik gambar tersebut.
Terimakasih telah berkunjung, have a nice day :)) 





 








