Bagi yang belum tau palindrum itu apa, palindrum itu suatu teks yang walaupun dibaca dari kiri atau kanan bacaannya akan tetap sama. Palindrum bisa juga suatu bilangan. Contoh palindrum teks dan palindrum bilangan adalah "malam' dan "12321". Program yang di buat kali ini adalah program pendeteksi palindrum atau tidak.
ok, langsung saja, ini dia list scriptnya :
var a,d:string; b,c:integer;
begin
read(a)
b:=length(a);
for c:=b downto 1 do begin
d:=d+a[c];
end;
if d=a then writeln( 'palindrum') else writeln('tidak palindrum');
end.
Sebelum memahami script di atas, kita harus terlebih dahulu memahami konsep string dalam pascal. String merupakan kumpulan karakter. Contoh string yang merupakan variabel 'A' :
'terlambat'
ini bisa di uraikan menjadi:
A[1]:t, A[2]:e, A[3]:r, A[4]:l, A[5]:a, A[6]:m, A[7]:b, A[8]:a, A[9]:t
Normalnya, suatu string dalam program akan di baca dari A[1] sampai A[terakhir], dengan mengetahui ciri khas palindrum yang di baca terbalik bacaannya tetap sama, maka kita harus 'memerintahkan' programnya untuk membacanya terbalik, dengan begitu program bisa mendeteksi apakah variabel itu palindrum atau tidak.
Nah, dengan menggunakan formula :
b:=length(a);
for c:=b downto 1 do begin
d:=d+a[c];
Kita bisa memerintahkan program untuk membacanya terbalik, yang hasil bacaannya ada dalam variabel 'd'
Dan fungsi dari :
if d=a then writeln( 'palindrum') else writeln('tidak palindrum')
Hanya untuk menyatakan apakah variabel itu palindrum atau bukan.
ok, sekian.
Tidak ada komentar:
Posting Komentar