Latihan kode program bahasa Pascal kali ini akan membahas cara membuat program untuk memeriksa kata atau angka palindrom. Soal ini bisa dipakai untuk menguji pemahaman logika dasar serta perulangan.
Soal Cek Kata Palindrom
Buatlah program dalam bahasa Pascal yang meminta data inputan berupa kata atau angka. Program kemudian akan memeriksa apakah kata tersebut termasuk palindrom atau bukan.
Berikut contoh tampilan akhir yang diinginkan (1) :
## Program Pascal Cek Kata Palindrom ## ========================================= Input kata: katak katak adalah palindrome!
Berikut contoh tampilan akhir yang diinginkan (2) :
## Program Pascal Cek Kata Palindrom ## ========================================= Input kata: aku11uka aku11uka adalah palindrome!
Berikut contoh tampilan akhir yang diinginkan (3) :
## Program Pascal Cek Kata Palindrom ## ========================================= Input kata: belajar belajar bukan palindrome!
Tips Membuat Kode Program Periksa Kata/Angka Palindrom
Mengutip wikipedia, palindrom adalah sebuah kata, bilangan, frasa, atau susunan karakter lain yang serupa jika dibaca dengan urutan terbalik ataupun tidak, seperti dalam kakak ataupun apa.
Tugas kita adalah merancang kode program dalam bahasa Pascal untuk memeriksa apakah sebuah kata yang diinput sama jika dibaca dari sisi kiri dan sisi kanan.
Ide dasar untuk kode programnya adalah buat sebuah perulangan, lalu bandingkan isi karakter 1 dengan karakter terakhir. Jika sama, maka bandingkan lagi karakter kedua dengan karakter terakhir -1, dst. Jika terdapat karakter yang tidak sama, maka bisa dipastikan itu bukan kata palindrom.
Soal ini melatih logika dasar dan pemecahan masalah. Berikut tutorial pendahuluan yang bisa diikuti:
- Pengertian Variabel dalam Bahasa Pascal
- Cara Penggunaan Perintah Read dan Readln
- Operator Aritmatika Pascal
- Operator Perbandingan / Relasional Pascal
- Percabangan Kondisi IF THEN ELSE dalam Pascal
- Perulangan FOR DO dalam Pascal
Silahkan coba rancang sebentar programnya.
Kode Program Bahasa Pascal Cek Kata Palindrom
Berikut salah satu solusi dari soal memeriksa kata atau kata palindrom menggunakan bahasa pemrograman Pascal:
program cek_palindrom; uses crt; var input: string; i, panjang_input: integer; palindrom: boolean; begin clrscr; writeln('## Program Pascal Cek Kata Palindrom ##'); writeln('========================================='); writeln; write('Input kata: '); readln(input); panjang_input := length(input); palindrom := true; for i := 1 to (panjang_input div 2) do if (input[i] <> (input[panjang_input-i+1])) then begin palindrom := false; break end; if (palindrom) then writeln(input,' adalah palindrome!') else writeln(input,' bukan palindrome!'); readln; end.
Di awal kode program, terdapat deklarasi 4 variabel. Variabel input dipakai untuk menampung teks yang akan diinput oleh user. Variabel i disiapkan sebagai variabel counter untuk perulangan, dan variabel panjang_input nantinya dipakai untuk menampung panjang string input.
Variabel palindrom bertipe boolean dan akan berfungsi sebagai flag atau penanda. Karena bertipe boolean, isi variabel ini hanya bisa true atau false.
Masuk ke kode program utama, proses input dilakukan pada baris 15 dengan perintah readln(input)
. Panjang karakter input bisa didapat dari function length(input)
di baris 16 dan disimpan ke dalam variabel panjang_input.
Setelah itu isi variabel palindrom di set sebagai true sebagai persiapan sebelum perulangan for do.
Pemeriksaan apakah kata yang diinput itu palindrom atau bukan dilakukan dengan perulangan for do pada baris 20-25. Perulangan ini mulai dari i := 1
hingga panjang_input div 2
. Pembagian dengan angka 2 bertujuan karena kita hanya perlu melakukan perulangan untuk setengah karakter awal saja.
Dalam bahasa Pascal, operator div dipakai untuk mendapatkan angka bulat pembagian. Sebagai contoh, 14 div 4 = 3
.
Di dalam perulangan, akan diperiksa apakah karakter di posisi input[i]
tidak sama dengan input[panjang_input-i+1])
. Jika ada satu karakter saja yang tidak sama, isi nilai false ke dalam variabel palindrom dan hentikan perulangan.
Proses perulangan ini akan mencocokkan karakter pertama dengan karakter terakhir, kemudian karakter kedua dengan karakter terakhir-1, lalu karakter ketiga dengan karakter terakhir -2, dst.
Isi dari variabel palindrom akan menjadi penentu hasil akhir. Jika nilainya true, maka string input adalah palindrom. Namun jika isinya false, maka string input bukanlah palindrom. Proses pemeriksaan ini ada di kondisi logika if else pada baris 27-30.
Sebagai bonus, program ini juga bisa dipakai untuk memeriksa angka palindrom, bukan kata saja.
Demikian kode program latihan periksa kata palindrom dalam bahasa pemrograman Pascal. Semoga bisa bermanfaat.