Palindrom adalah sebuah kata, frasa, angka maupun susunan lainnya yang dapat dibaca dengan sama baik dari depan maupun belakang (spasi antara huruf-huruf biasanya diperbolehkan). Kata "palindrom" berasal dari bahasa Yunani:
palin ("balik") dan
dromos ("pacuan kuda").
Menurut buku
Mother Tongue: English & How It Got That Way (hal. 227): "Palindrom … berumur setidaknya 2.000 tahun."
Palindrom Latin "Sator Arepo Tenet Opera Rotas" sangat unik karena ia akan megulang kalimatnya lagi jika kita membentuk kata dari huruf pertama setiap kata kemudian disambung dengan huruf kedua setiap kata, dan seterusnya. Karena itu ia juga dapat disusun dalam sebuah kotak yang dapat dibaca secara vertikal maupun horisontal:
S A T O R
A R E P O
T E N E T
O P E R A
R O T A S
Palindrom ada dalam banyak bahasa-bahasa Barat, terutamanya di bahasa Inggris. Meskipun begitu, gelar "bahasa palindrom" jatuh pada bahasa Finlandia.
Selain itu, palindrom juga ada dalam bahasa-bahasa non-Barat, contohnya bahasa Jepang, bahasa Tionghoa dan bahasa Korea.
Dalam Bahasa Indonesia kalimat seperti di bawah ini juga merupakan palindrom:
- Aku suka rajawali, bapak. Apabila wajar, aku suka (oleh Benjamin Goodspeed Zimmer).
- Kasur ini rusak.
- Kasur Nababan rusak.
kita dapat menentukan apakah sebuah kata atau kalimat tersebut merupakan Palindrome atau bukan dengan menggunakan pemrograman java yaitu dengan menggunakan program di bawah ini:
import javax.swing.JOptionPane;public class palindrome2 { public static void main(String[] args) { String kalimat = JOptionPane.showInputDialog("Kalimat/kata : "); boolean ketemu = false; for (int a = kalimat.length() - 1; a >= 0; a--) { for (int b = 0; b < kalimat.length(); b++) { System.out.println("huruf ke-" + b + " dihitung dari depan karakternya adalah " + kalimat.charAt(b)); if (kalimat.charAt(a) == kalimat.charAt(b)) { ketemu = true; } else { ketemu = false; } } System.out.println(); System.out.println("Huruf ke-" + a + " dihitung dari belakang karakternya adalah " + kalimat.charAt(a)); System.out.println(); } if (ketemu == true) { System.out.println("Palindrom !"); } else { System.out.println("Bukan Palindrom !"); } } } penjelasan program di atas adalah
saat kita memasukan subuah kata maka kata tersebut akan di loop dengan for pertama dari akhir kata, lalu dengan for ke dua kata tersebut akan di loop dari awal kata
contoh
for pertama
<---
3 2 1
a s a
for ke dua
---->
1 2 3
a s a
selanjutnya degan if kita akan mengecek apakah kata tersebut merupakan kata Palindrome atau bukan
di sini kita akan mengecek contoh
apakah a pertama sama degan a di akhir kata
apakah s kedua sama dengan s kedua
apakah a terakhir sama dengan a pertama
jika sama maka kata tersebut merupakan kata Palindrome hasil program
download sourceLabel: Programming