Sunday, June 18, 2023

Queue - 22082010216

 Nama : Novia Citra Fadhlilla

 NPM  : 22082010216


source code :

(appQueue)

package queue;

import java.util.Scanner;

public class appQueue {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        cQueue antrian=new cQueue();

        int pilih=0;

        System.out.println("=============================================");

        System.out.println("Nama : Novia Citra Fadhlilla");

        System.out.println("NPM : 22082010216");

        System.out.println("=============================================");

        do{

            System.out.println("\n=============================================");

            System.out.println("                 MENU ANTRIAN                  ");

            System.out.println("=============================================");

            System.out.println("1. Tambah Antrian");

            System.out.println("2. Proses Antrian");

            System.out.println("3. Lihat Antrian");

            System.out.println("4. Selesai");

            System.out.print("Pilih : ");

            pilih=sc.nextInt();

            switch(pilih){

                case 1:

                    System.out.println("\n=============================================");

                    System.out.println("             << Tambah Antrian >>             ");

                    System.out.println("=============================================");

                    System.out.print("Nama Barang   : ");

                    String brg=sc.next();

                    cNode baru=new cNode(brg);

                    antrian.enqueue(baru);

                    break;


                case 2:

                    cNode t=antrian.dequeue();

                    boolean cek=false;

                    if(t==null){

                        cek=true;

                    }


                    if(cek==true){

                        System.out.println("Antrian Kosong!");

                    }


                    else{

                        System.out.println(t.getBarang()+" keluar");


                    }

                    break;


                case 3:

                    antrian.viewQueue();

                    break;

                    

                case 4:

                    System.out.println("=============================================");

                    System.out.println("               TERIMA KASIH                 ");

                    System.out.println("=============================================");

                    break;


            }


        }while(pilih!=4);


    }


}

  

(cNode)

package queue;

public class cNode {

    String barang;

    cNode next;

    cNode(String b){

        barang=b;

    }

    public String getBarang(){

        return barang;

    }

}

(cQueue)

package queue;

public class cQueue {

    cNode front,rear;

    int jumlah;

    cQueue(){

        front=rear=null;

        jumlah=0;

        System.out.println("Object Antrian dibuat...");

    }

    public void enqueue(cNode baru){

        if(rear==null){

            rear=front=baru;

        }

        else{

            rear.next=baru;

            rear=baru;

        }

        System.out.println("Nomor Antrian ke-"+(jumlah+1));

        jumlah++;

        System.out.println("Tambah Antrian Sukses...");

    }

    public cNode dequeue(){

        cNode temp=front;

        if(temp==null){

            System.out.println("Antrian Kosong!");

        }

        else if(front.next==null){

            cNode t=front;

            front=rear=null;

            temp.next=null;

            System.out.println("Proses Antrian Sukses...");

            jumlah--;

            return(t);

        }

        else{ //antrian berisi >1 simpul

            cNode t=front.next;

            cNode t2=front;

            t2.next=null;

            front=t;

            front.next=null;

            System.out.println("Proses Antrian Sukses...");

            jumlah--;

            return(t2);

        }

        return temp;

    }

    

    public void viewQueue(){

        int count=1;

        System.out.println("Panjang Antrian : "+jumlah);

        System.out.println("Daftar Antrian  :");

        for(cNode t=front;t!=null;t=t.next){

            System.out.println(count+"."+t.getBarang()+" ");

            count++;

        }

        if(jumlah==0){

            System.out.println("Antrian Kosong!");

        }

    }

}






Hasil Run :
Object Antrian dibuat...
=============================================
Nama : Novia Citra Fadhlilla
NPM : 22082010216
=============================================

=============================================
                 MENU ANTRIAN                  
=============================================
1. Tambah Antrian
2. Proses Antrian
3. Lihat Antrian
4. Selesai
Pilih : 1

=============================================
             << Tambah Antrian >>             
=============================================
Nama Barang   : Buku
Nomor Antrian ke-1
Tambah Antrian Sukses...

=============================================
                 MENU ANTRIAN                  
=============================================
1. Tambah Antrian
2. Proses Antrian
3. Lihat Antrian
4. Selesai
Pilih : 1

=============================================
             << Tambah Antrian >>             
=============================================
Nama Barang   : Penggaris
Nomor Antrian ke-2
Tambah Antrian Sukses...

=============================================
                 MENU ANTRIAN                  
=============================================
1. Tambah Antrian
2. Proses Antrian
3. Lihat Antrian
4. Selesai
Pilih : 3
Panjang Antrian : 2
Daftar Antrian  :
1.Buku 
2.Penggaris 

=============================================
                 MENU ANTRIAN                  
=============================================
1. Tambah Antrian
2. Proses Antrian
3. Lihat Antrian
4. Selesai
Pilih : 2
Proses Antrian Sukses...
Buku keluar

=============================================
                 MENU ANTRIAN                  
=============================================
1. Tambah Antrian
2. Proses Antrian
3. Lihat Antrian
4. Selesai
Pilih : 3
Panjang Antrian : 1
Daftar Antrian  :
1.Penggaris 

=============================================
                 MENU ANTRIAN                  
=============================================
1. Tambah Antrian
2. Proses Antrian
3. Lihat Antrian
4. Selesai
Pilih : 4
=============================================
               TERIMA KASIH                 
=============================================
BUILD SUCCESSFUL (total time: 27 seconds)

Program Stack - 22082010216

Nama : Novia Citra Fadhlilla

NPM  : 22082010216


source code : 

(App Stack)

package stack;

import java.util.Scanner;

public class Stack {

    public static void main(String[] args) {

       Scanner s=new Scanner(System.in);

        cStack Stack=new cStack();

        int pilih=0;

        System.out.println("===================================");

        System.out.println("Nama : Novia Citra Fadhlilla");

        System.out.println("NPM  : 22082010216");

        System.out.println("===================================");


        do{

            System.out.println("\n---------------------------------");

            System.out.println("            MENU STACK");

            System.out.println("-----------------------------------");

            System.out.println("1. Cek Palindrom");

            System.out.println("2. Exit");

            System.out.print("Pilih : ");

            pilih=s.nextInt();


            switch(pilih){

                case 1:

                    System.out.println("-----------------------------------");

                    System.out.println("         CEK PALINDROM");

                    System.out.println("-----------------------------------");

                    System.out.print("Input Kata  : ");

                    String kata=s.next();

                    for(int i=0;i<kata.length();i++){

                        char k=kata.charAt(i);

                        cNode huruf=new cNode(Character.toString(k));

                        Stack.push(huruf);


                    }

                    System.out.print("");

                    String output="";

                    for(int i=0;i<kata.length();i++){

                        String hasil=Stack.Pop();

                        output=output+hasil;


                    }

                   System.out.print("");

                    if(output.matches(kata)){

                        System.out.println("\nOutput = PALINDROM");

                    }


                    else{

                        System.out.println("\nOutput = BUKAN PALINDROM");

                    }


                    break;

                case 2:

                    System.out.println("===================================");

                    System.out.println("         TERIMA KASIH!");

                    System.out.println("===================================");

                    

                    break;


            }

        }while(pilih!=2);

    }


}


(cNode)

package stack;

public class cNode {

    private String nama;

    cNode next,prev;

    cNode(String n){

        nama=n;

        System.out.println("Object "+n+" created...");

    }

    public String getNama(){

        return nama;


    }

}

(cStack)
package stack;
public class cStack {
    cNode top,bottom;
    int jumlah;
    cStack(){
        top=bottom=null;
        jumlah=0;
        System.out.println("Object Stack created...");
    }

    public void push(cNode baru){
        if(top==null){
            top=bottom=baru;
        }

        else{
            top.prev=baru;
            baru.next=top;
            top=baru;
        }

        System.out.println("Push "+baru.getNama()+" Success");
    }

    public String Pop(){
        if(top==null){
            System.out.println("Stack Kosong...");
            return null;
        }
        else if(top.next==null){
            cNode t=top;
            top=bottom=null;
            System.out.println("");
            System.out.println("Pop "+t.getNama()+" Success");
            return t.getNama();
        }

        else{
            cNode t=top;
            top=top.next;
            top.prev=null;
            t.next=null;
            System.out.println("");
            System.out.println("Pop "+t.getNama()+" Success");
            return t.getNama();
        }
    }
}







Hasil Run :
Object Stack created...
===================================
Nama : Novia Citra Fadhlilla
NPM  : 22082010216
===================================

---------------------------------
            MENU STACK
-----------------------------------
1. Cek Palindrom
2. Exit
Pilih : 1
-----------------------------------
         CEK PALINDROM
-----------------------------------
Input Kata  : KATAK
Object K created...
Push K Success
Object A created...
Push A Success
Object T created...
Push T Success
Object A created...
Push A Success
Object K created...
Push K Success

Pop K Success

Pop A Success

Pop T Success

Pop A Success

Pop K Success

Output = PALINDROM

---------------------------------
            MENU STACK
-----------------------------------
1. Cek Palindrom
2. Exit
Pilih : 1
-----------------------------------
         CEK PALINDROM
-----------------------------------
Input Kata  : KAMAR
Object K created...
Push K Success
Object A created...
Push A Success
Object M created...
Push M Success
Object A created...
Push A Success
Object R created...
Push R Success

Pop R Success

Pop A Success

Pop M Success

Pop A Success

Pop K Success

Output = BUKAN PALINDROM

---------------------------------
            MENU STACK
-----------------------------------
1. Cek Palindrom
2. Exit
Pilih : 2
===================================
         TERIMA KASIH!
===================================
BUILD SUCCESSFUL (total time: 14 seconds)

Membangun Kesadaran Bela Negara di Kalangan Generasi Muda

Membangun Kesadaran Bela Negara di Kalangan Generasi Muda      Indonesia, negara dengan keanekaragaman budaya dan latar belakang sosial yang...