Sabtu, 21 Agustus 2010

Palindrom


Palindrom adalah sebuah program komputer yang dapat menentukan apakah sebuah kata atau frase memiliki ejaan yang sama, baik di baca secara maju maupun mundur.



Misalnya, program harus bisa mengecek bahwa kata-kata seperti "MALAM" adalah palindrom, sedangkan "SIANG" adalah bukan Palindrom.
 


Selain itu, program ini harus mampu mendeteksi bahwa suatu frase seperti "Dennis and Edna sinned." adalah palindrom.



Pada aturan yang dibuat programmer umumnya, kata tanda baca seperti petik satu ('), koma (,), spasi  serta tanda baca lainnya harus diabaikan. Tanda petik satu (') sering dipakai dalam bahasa Inggris, bahkan pada nama orang, seperti O'Brian, O'Connor dan sebagainya.

Algoritma Palindrom
  1. Baca data dari keyboard, Simpan dalam variable angka.
  2. Lakukan pengecekan, bila jumlah digit < 3, maka kembali ke-baris 1. (Kata palindrom min 3 digit)
  3. Saring input dari keyboard dengan menghapus semua karakter selain huruf dan angka seperti tanda spasi , koma, tanda baca ('), contoh: Contoh I'm a O'Brian. Hasil penyaringan disimpan di variabel sentences.   
  4. Konversi semua huruf menjadi huruf besar. sentences = Ucase(sentences)
  5. Asumsikan awal, isPalindrom = True.
  6. Membuat 2 variabel posisi, intAwal = 1, intAkhir = panjang(sentences)
  7. Bandingkan tiap karakter pada intAwal dan intAkhir, jika tidak sama isPalindrom = False lalu keluar,jika tidak lanjutkan ke baris ke-8
  8. Ubah posisi intX bergerak ke kanan, intX=intX+1 dan posisi intY bergerak ke kiri,  intY=intY+1. Jika intX+1 < intY, ulang baris ke-7, jika tidak, lanjutkan baris ke-9
  9. Cetak isPalindrom
  10. Selesai

1 komentar: