Palindrom sendiri memiliki arti sebuah kata, frasa, atau angka yang bisa dibaca dengan sama, baik dari depan maupun belakang (spasi antara huruf-huruf biasanya diperbolehkan). contoh :
terdapat dua kelas yaitu KelasPalindrom.java dan Palindrom .java
package palindrom;
public class kelasPalindrom {
String data;
public void setHitungPal(String kalimat){
data=kalimat; }
public String getKalimat(){
return data;}
public void HitungPal(){
boolean cocok=false;
//membalik kata yang di inputkan
String balik ="";
for (int a = 0; a < data.length(); a++) {
balik = data.charAt(a)+balik;
}
if (balik.equals(data)){
cocok=true;
}
else {
cocok=false;
}
System.out.println("");
System.out.println("Kata "+getKalimat()+" Yang tadi anda Masukkan adalah");
if (cocok == true) {
System.out.println("Palindrom !");
} else {
System.out.println("Bukan Palindrom !");
}
}
}
package palindrom;
import java.util.Scanner;
public class Palindrom {
public static void main(String[] args) {
menu(); }
public static void menu(){
Scanner input=new Scanner(System.in);
System.out.print("Masukkan kalimat/kata : ");
String kalimat = input.nextLine();
kelasPalindrom palin=new kelasPalindrom();
palin.setHitungPal(kalimat);
palin.HitungPal();
System.out.println();
String lagi;
do{
System.out.print("Cari lagi (Y/T) : ");
lagi = input.nextLine();
if (lagi.equalsIgnoreCase("y")){
menu(); }
else if(lagi.equalsIgnoreCase("t")){
break; }
}while(!lagi.equalsIgnoreCase("y"));
}
}
Selamat mencoba
Dari source saya ini menggunakan pengecekan
dengan metode pembalikan, yaitu
kata/kalimat yang dibaca dari depan maupun belakang adalah sama dan membandingkan inputan dengn kata itu sendiri
yang dibalik..apakah sama atau tidak,,jika sama maka bilangan itu adalah
palindrom, dan jika tidak sama maka bukan palindrom, misalnya kita inputkan
“jemuran” dan String ini akan disimpan di data kemudian masuk ke proses trus
dibalik dan balikannya disimpan dalam string balik menjadi “narumej”..nahh
kemudian di bandingkan dengan yang di input tadi..hasilnya adalah false..
karena tidak sama
Contoh lagi : kita inputkan kasur rujak..maka akan
diproses dan dibalik satu2
Masukkan kata : kasur rujak
k
ak
sak
usak
rusak
rusak
r rusak
ur rusak
jur rusak
ajur rusak
kajur rusak
<= hasil pembalikan
false
<=bernilai salah karena hasil tidak sama
kasur rujak
<=inputan dari user
terdapat dua kelas yaitu KelasPalindrom.java dan Palindrom .java
kelas KelasKPalindrom.java
package palindrom;
public class kelasPalindrom {
String data;
public void setHitungPal(String kalimat){
data=kalimat; }
public String getKalimat(){
return data;}
public void HitungPal(){
boolean cocok=false;
//membalik kata yang di inputkan
String balik ="";
for (int a = 0; a < data.length(); a++) {
balik = data.charAt(a)+balik;
}
if (balik.equals(data)){
cocok=true;
}
else {
cocok=false;
}
System.out.println("");
System.out.println("Kata "+getKalimat()+" Yang tadi anda Masukkan adalah");
if (cocok == true) {
System.out.println("Palindrom !");
} else {
System.out.println("Bukan Palindrom !");
}
}
}
kelas Palindrom.java
package palindrom;
import java.util.Scanner;
public class Palindrom {
public static void main(String[] args) {
menu(); }
public static void menu(){
Scanner input=new Scanner(System.in);
System.out.print("Masukkan kalimat/kata : ");
String kalimat = input.nextLine();
kelasPalindrom palin=new kelasPalindrom();
palin.setHitungPal(kalimat);
palin.HitungPal();
System.out.println();
String lagi;
do{
System.out.print("Cari lagi (Y/T) : ");
lagi = input.nextLine();
if (lagi.equalsIgnoreCase("y")){
menu(); }
else if(lagi.equalsIgnoreCase("t")){
break; }
}while(!lagi.equalsIgnoreCase("y"));
}
}
Selamat mencoba
baca juga ni ini menggunakan metode queue http://guruinformatika.blogspot.com/2014/12/mengecek-kata-polindrome-dengan-java.html
ReplyDelete