Kamis, 27 Mei 2021

Pemrograman OOP Java : Stack 1

 

 

 

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)
package BasicStack;

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)
//OSB = Operasi Stack Basic
//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             

  •  PUSH - PUSH
  •  CETAK - POP
  •  POP - POP
  •  CETAK - PUSH - CETAK

Catatan :

  • Bila gambar yang ditampilkan kurang jelas, mohon klik gambar tersebut.

Terimakasih telah berkunjung, have a nice day :))











Tidak ada komentar:

Posting Komentar