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 :))