Skip to main content

Program Mengecek Palindrome dalam C dan C++

 

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:

  1. Meminta pengguna memasukkan input berupa string atau angka.

  2. Menyimpan nilai asli dari input untuk dibandingkan nanti.

  3. Membalikkan input sehingga karakter pertama menjadi terakhir dan sebaliknya.

  4. Membandingkan input asli dengan input yang sudah dibalik.

  5. 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

  1. Meminta input string dari pengguna menggunakan scanf().

  2. Menghitung panjang string dengan strlen().

  3. Menggunakan perulangan for untuk membalikkan string:

    • i mulai dari awal string.

    • j mulai dari akhir string.

    • Karakter di posisi j disalin ke posisi i dalam array rev.

  4. Menambahkan karakter null (\0) di akhir array rev agar menjadi string valid.

  5. 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++

  1. Menggunakan string untuk mempermudah manipulasi teks.

  2. Meminta input dari pengguna menggunakan cin.

  3. Menyalin input ke variabel rev.

  4. Menggunakan reverse() dari library <algorithm> untuk membalikkan string.

  5. 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

Popular posts from this blog

Membuat Segitiga dengan "*" dalam Bahasa C/C++

 Dalam pemrograman, mencetak pola seperti segitiga menggunakan karakter * adalah latihan dasar yang sering digunakan untuk memahami konsep perulangan ( loop ). Pada artikel ini, kita akan belajar cara membuat segitiga menggunakan bahasa pemrograman C/C++. Konsep Dasar Kita akan menggunakan perulangan bersarang ( nested loop ) untuk mencetak segitiga. Struktur dasarnya terdiri dari: Loop luar : Mengatur jumlah baris segitiga. Loop dalam pertama : Mencetak spasi untuk merapikan segitiga. Loop dalam kedua : Mencetak karakter * membentuk segitiga. Kode Program dalam C Berikut adalah kode lengkap dalam bahasa C: #include <stdio.h> int main() { int i, j, tinggi; // Meminta pengguna memasukkan tinggi segitiga printf("Masukkan tinggi segitiga: "); scanf("%d", &tinggi); // Loop untuk baris for (i = 1; i <= tinggi; i++) { // Loop untuk mencetak spasi (agar segitiga rata tengah) for (j = 1; j <= tinggi - i; ...

Macam-Macam Header C++ ( Borland C++ ) dan Fungsinya

Macam-Macam File Header pada C++ Dan Fungsinya --Sebelum melangkah lebih jauh  untuk lebih mendalamai bahasa pemrograman C++,alangkah baiknya kita mengenal terlebih dahulu beberapa bagian dalam bahasa C++,salah satunya adalah file header.File Header merupakan sebuah file yang berisi deklarasi untuk berbagai fungsi yang dibutuhkan oleh program baik itu sebagai standar Input/Output maupun sebagai syntax. File Header dalam bahasa pemrograman C++ digunakan untuk memanggil library-library yang ada sehingga suatu fungsi dapat digunakan secara baik dan benar. #Include digunakan untuk mendeklarasikan file header dalam C++, Berikut macam-macam file header dalam bahasa pemrograman C++: 1.#Include<Iostream.h> Digunakan untuk menampilkan perintah: - Cin Merupakan fungsi masukan(digunakan untuk menyimpan data dalam suatu variabel). Bentuk umum: cin>>var x; - Cout Merupakan fungsi keluaran(digunakan untuk menampilkan data ataupun tulisan). Bentuk...

Contoh program Heap Sort untuk C++ || Borland C++

     Sesuai dengan judulnya kali ini saya akan membagikan contoh program Heap Sort untuk C++ atau Borland C++, langsung saja kalian download filenya dibawah ini : DOWNLOAD #include <stdio.h> #include <limits.h> #include <conio.h> int heap[1000000],UkuranHeap; void Init() {     UkuranHeap = 0;     heap[0] = -INT_MAX; } void Insert(int element) {     UkuranHeap++;     heap[UkuranHeap] = element; /*Sisipkan di tempat terakhir*/     /*Sesuaikan posisinya*/     int now = UkuranHeap;     while(heap[now/2] > element)     {             heap[now] = heap[now/2];             now /= 2;     }     heap[now] = element; } int DeleteMin() {     int minEl...