Friday, May 2, 2014

Program mengecek kata palindrom dengan C++

Polindrom adalah kata yang apabila dibaca dari depan maupun dari belakang menghasilkan kata yang sama, misalnya KATAK, KODOK, dan masih banyak lagi lainnya.

Berikut adalah contoh programnya :

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
 //Kata yang akan diperiksa
 char kata[6] = "KATAK";
 
 /*mendeklarasikan variabel kiri dan kanan
  *untuk membandingkan index huruf dari sebelah kiri
  *dan index huruf dari sebelah kanan*/
 
 int kiri, kanan;
 
 kiri = 0;
 //Menghitung jumlah kata
 kanan = strlen(kata);
 
 //Melakukan pengecekan polidrom terhadap kata
 while ((kiri <= kanan) && (kata[kiri] == kata[kanan-1]))
 {
  kiri++;
  kanan--;
 }
 
 if (kiri > kanan)
 {
  cout<<kata<<" termasuk kata palindrom";
 }
 else
 {
  cout<<kata<<" bukan termasuk kata palindrom";
 }
 
 return 0;
}

Pada program di atas, akan dilakukan pengeceken antara huruf dari index sebelah kiri (0, 1, 2 ... n) dan huruf dari index sebelah kanan (n .... 2, 1) jika karakter antara dua index tersebut sama maka kondisi bernilai true. Kemudian dilakukan operasi increment dan decrement sebagai pada masing-masing index.

Jika nilai variabel kiri lebih besar dari variabel kanan, itu berarti operasi perbandingan semua index bernilai true, yang artinya karakter dari selebah kiri dan sebelah kanan adalah sama.