Latihan kode program bahasa C 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 Periksa Kata/Angka Palindrom
Buatlah program dalam bahasa C 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 Kata / Angka Palindrom Bahasa C ## =========================================== Input kata/angka: malam malam adalah palindrome!
Berikut contoh tampilan akhir yang diinginkan (2) :
## Program Kata / Angka Palindrom Bahasa C ## =========================================== Input kata/angka: 1234321 1234321 adalah palindrome!
Berikut contoh tampilan akhir yang diinginkan (3) :
## Program Kata / Angka Palindrom Bahasa C ## =========================================== Input kata/angka: kataku kataku 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 C 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 Bahasa C
- Cara Penggunaan Perintah scanf
- Jenis-jenis Operator Perbandingan / Relasional Bahasa C
- Percabangan Kondisi IF ELSE Bahasa C
- Perulangan FOR Bahasa C
Silahkan coba rancang sebentar programnya.
Kode Program Bahasa C Periksa Kata/Angka Palindrom
Berikut salah satu solusi dari soal memeriksa kata atau kata palindrom menggunakan bahasa pemrograman C:
#include <stdio.h> #include <string.h> int main(void) { printf("## Program Kata / Angka Palindrom Bahasa C ## \n"); printf("=========================================== \n\n"); char input[50]; int i,panjang_input; printf("Input kata/angka: "); gets(input); panjang_input = strlen(input); printf("\n"); for (i=0; i<panjang_input/2; i++) { if (input[i] != input[panjang_input-i-1]) { printf("%s bukan palindrome!",input); break; } } if (i==panjang_input/2) { printf("%s adalah palindrome!",input); } printf("\n"); return 0; }
Pada awal kode program, selain butuh header file stdio.h, saya juga perlu header file string.h di baris 2. File string.h nantinya akan dipakai untuk mengakses fungsi strlen()
ketika mencari panjang string.
Masuk ke dalam function main()
, terdapat deklarasi 3 variabel: input, i dan panjang_input. Variabel input dibuat sebagai array dari char karena bahasa C tidak menyediakan tipe data string secara bawaan.
Proses input dilakukan pada baris 13 dengan perintah gets(input)
. Panjang karakter input bisa didapat dari function strlen(input)
di baris 15 dan disimpan ke dalam variabel panjang_input.
Pemeriksaan apakah kata yang diinput itu palindrom atau bukan dilakukan dengan perulangan for pada baris 18-23. Perulangan ini mulai dari i=0
hingga i<panjang_input/2
. Pembagian dengan angka 2 bertujuan karena kita hanya perlu melakukan perulangan untuk setengah karakter awal saja.
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, maka jalankan perintah printf("%s bukan palindrome!",input)
dan break
untuk segera menghentikan perulangan. Namun jika karakter tersebut sama, maka lanjut ke iterasi berikutnya.
Kata yang diinput akan dinyatakan sebagai palindrom hanya jika nilai variabel i sama dengan panjang_input/2. Kondisi ini akan tercapai jika perulangan for sukses berjalan sampai akhir. Proses pemeriksaan ini dilakukan pada baris 25-27.
Demikian kode program latihan periksa kata palindrom dalam bahasa pemrograman C. Semoga bisa bermanfaat.