Pendahuluan
Palindrome adalah kata, frasa, angka, atau urutan karakter yang dibaca sama baik dari depan maupun belakang. Contoh dari palindrome adalah:
Kata: "katak", "radar", "malam"
Angka: "12321", "4554", "1001"
Pada artikel ini, kita akan membuat program untuk mengecek apakah suatu string atau angka adalah palindrome menggunakan C dan C++.
Konsep Palindrome
Untuk menentukan apakah suatu kata atau angka merupakan palindrome, kita perlu melakukan langkah-langkah berikut:
Meminta pengguna memasukkan input berupa string atau angka.
Menyimpan nilai asli dari input untuk dibandingkan nanti.
Membalikkan input sehingga karakter pertama menjadi terakhir dan sebaliknya.
Membandingkan input asli dengan input yang sudah dibalik.
Jika hasilnya sama, maka input tersebut adalah palindrome. Jika tidak, maka bukan palindrome.
Program Mengecek Palindrome dalam Bahasa C
Berikut adalah kode sumber program untuk mengecek palindrome dalam C:
#include <stdio.h>
#include <string.h>
int main() {
char str[100], rev[100];
int len, i, j;
// Meminta input string dari pengguna
printf("Masukkan kata atau angka: ");
scanf("%s", str);
len = strlen(str); // Menghitung panjang string
// Membalikkan string
for (i = 0, j = len - 1; i < len; i++, j--) {
rev[i] = str[j];
}
rev[len] = '\0'; // Menandai akhir string dengan karakter null
// Membandingkan string asli dengan yang sudah dibalik
if (strcmp(str, rev) == 0)
printf("%s adalah palindrome.\n", str);
else
printf("%s bukan palindrome.\n", str);
return 0;
}
Penjelasan Program dalam C
Meminta input string dari pengguna menggunakan
scanf()
.Menghitung panjang string dengan
strlen()
.Menggunakan perulangan
for
untuk membalikkan string:i
mulai dari awal string.j
mulai dari akhir string.Karakter di posisi
j
disalin ke posisii
dalam arrayrev
.
Menambahkan karakter null (
\0
) di akhir arrayrev
agar menjadi string valid.Menggunakan
strcmp()
untuk membandingkan string asli dan terbalik:Jika hasilnya 0, maka string adalah palindrome.
Jika tidak, maka bukan palindrome.
Program Mengecek Palindrome dalam Bahasa C++
Berikut adalah kode sumber program untuk mengecek palindrome dalam C++:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
string str, rev;
// Meminta input string dari pengguna
cout << "Masukkan kata atau angka: ";
cin >> str;
// Menyalin string asli ke variabel rev
rev = str;
reverse(rev.begin(), rev.end()); // Membalikkan string menggunakan fungsi bawaan
// Membandingkan string asli dengan yang sudah dibalik
if (str == rev)
cout << str << " adalah palindrome." << endl;
else
cout << str << " bukan palindrome." << endl;
return 0;
}
Penjelasan Program dalam C++
Menggunakan
string
untuk mempermudah manipulasi teks.Meminta input dari pengguna menggunakan
cin
.Menyalin input ke variabel
rev
.Menggunakan
reverse()
dari library<algorithm>
untuk membalikkan string.Membandingkan string asli dengan yang sudah dibalik:
Jika sama, maka input adalah palindrome.
Jika berbeda, maka input bukan palindrome.
Contoh Output
Jika pengguna memasukkan katak, maka outputnya:
Masukkan kata atau angka: katak
katak adalah palindrome.
Jika pengguna memasukkan coding, maka outputnya:
Masukkan kata atau angka: coding
coding bukan palindrome.
Ilustrasi Palindrome
Berikut adalah ilustrasi konsep palindrome:
(Gambar di atas adalah contoh bagaimana string dibalik dan dibandingkan.)
Kesimpulan
Program ini memeriksa apakah string adalah palindrome atau bukan.
Menggunakan string manipulation dan perulangan untuk membalikkan string.
Palindrome sering digunakan dalam pemrosesan teks dan pengolahan data.
Semoga bermanfaat! 🚀
Comments
Post a Comment