Latihan Individu Menggunakan Stack

 Nama: Annisa Dita Putri Kartika 

NPM: 21082010090

Dengan memanfaatkan struktur data Stack yang dibuat memakai linked list, buatlah program untuk mengecek apakah sebuah kata itu termasuk PALINDROM ataukah bukan. Palindrom adalah kata yang jika dibaca dari depan dan dari belakang, hasilnya sama. Contoh:

Input kata = KATAK

Output : Palindrom

Input kata = KAMAR

Output : Bukan Palindrom


dalam program ini menggunakan 2 class yaitu : CElemen, CTumpukann, apppalindrom

berikut adalah SourceCodenya


public class cElemen {

    private char c;

    cElemen next, prev;

    cElemen(char cc){

        c=cc;

        next=prev=null;

    }

    public char getKata(){

        return c;

    }

}


public class cTumpukann {

    cElemen top, bottom;

    int jumlah;

    cTumpukann (){

        top=bottom =null;

        jumlah=0;

        System.out.println("objek stack dibuat...");

    }

    public void push (cElemen baru){

        if (top==null) {

            top=bottom=baru;

            

        }

        else{

            bottom.next=baru;

            baru.prev=bottom;

            bottom=baru;


        }

        System.out.println("push ok....");

    }

     public cElemen pop(){


         if(top.next==null){

            cElemen t= top;

            top=bottom=null;

            t.next=null;

            System.out.println("Pop OK...");

            return t;

        }

        else{

            cElemen t= top;

            top=top.next;

            t.next = null;

            System.out.println("Pop OK...");

            return t;

        }

        

    }



}


import java.util.Scanner;

import java.util.Stack;

public class apppalindrom {

  public static void main(String [] args) {

        Scanner s = new Scanner(System.in);

        Stack stack = new Stack();

        int pilih=0;

        do{

            System.out.println("\nPALINDROM");

            System.out.println("1. cek ");

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

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

            pilih = s.nextInt();

            switch(pilih){

                case 1:

                    System.out.print("Masukkan Kata = ");

                    String kata = s.next();

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

                        stack.push(kata.charAt(i));

                        

                    }

                    String revkata = "";

                    while(!stack.isEmpty()){

                        revkata= revkata+stack.pop();

                    }

                    if (kata.equals(revkata)) {

                        System.out.println("Kata "+ kata + " Merupakan Polindrom");

                    }

                    else{

                        System.out.println("Kata "+ kata+"  Bukan Merupakan Polindrom");

                    }

                    break;

                    

                case 2:

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

                        break;

                      

            }

            

            

        }while(pilih!=2);

    }   

}


OUTPUT






Komentar