Kamis, 05 Februari 2009

Palindrom Tester


Palindrom adalah sebuah sebuah kata atau frase yang berbunyi sama, saat dibaca normal maupun terbalik. Di kota Malang saat penulis pernah tinggal di sana 3 tahun, sering menggunakan kata dengan dibaca terbalik. Contoh MALANG menjadi NGALAM.



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 lompat ke baris 9, 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.

Tidak ada komentar:

Posting Komentar