Bahasa Pemrograman 2 - APP Palindrom
Nama : Lina Wardani
NPM : 21082010116
Kelas : Par-C
Soal
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
Source Code
Class Elemen
package PkgPalindrom; public class cElemen { private String nama; cElemen next,prev; cElemen(String n){ nama=n; System.out.println("Object "+n+" created..."); } public String getNama(){ return nama; } }
Class Stack
package PkgPalindrom; public class cStack { cElemen top,bottom; int jumlah; cStack(){ top=bottom=null; jumlah=0; System.out.println("Object Stack created..."); } public void push(cElemen 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){ cElemen t=top; top=bottom=null; System.out.println("Pop "+t.getNama()+" Success"); return t.getNama(); } else{ cElemen t=top; top=top.next; top.prev=null; t.next=null; System.out.println("Pop "+t.getNama()+" Success"); return t.getNama(); } } }
Main
package PkgPalindrom; import java.util.Scanner; public class AppPalindrom { public static void main(String[] args) { Scanner s = new Scanner(System.in); cStack Stack = new cStack(); int pilih=0; do{ System.out.println("\nMENU STACK"); System.out.println("1. Cek Palindrom"); System.out.println("2. Exit"); System.out.print("Pilih = "); pilih=s.nextInt(); switch(pilih){ case 1: System.out.print("Input Kata : "); String kata=s.next(); for (int i = 0; i < kata.length(); i++){ char k = kata.charAt(i); cElemen huruf = new cElemen(Character.toString(k)); Stack.push(huruf); } System.out.println(""); String output = ""; for (int i = 0; i < kata.length(); i++){ String hasil=Stack.Pop(); output = output+hasil; } System.out.println(""); if(output.matches(kata)){ System.out.println("\nOutput = PALINDROM"); } else{ System.out.println("\nOutput = BUKAN PALINDROM"); } break; case 2: System.out.println("Thank You !"); break; } }while(pilih!=2); } }
Comments
Post a Comment