Program Palindrome Secara Rekursif Dengan Bahasa C Programming

Program Palindrome Secara Rekursif Dengan Bahasa C Programming – Hai sahabat Kopi Coding, pada postingan kali ini kita akan mempelajari program palindrome secara rekursif menggunakan bahasa C

Program Palindrome Secara Rekursif Dengan Bahasa C Programming
Program Palindrome Secara Rekursif Dengan Bahasa C Programming

Palindrome adalah cara membaca sebuah kata dari belakang yang sama jika dibaca dari depan, contohnya katak jika dibaca dari belakang tetap katak yang berarti katak termasuk dalam palindrome. Program yang akan kita buat kali ini menggunakan rekursif. Rekursif adalah fungsi yang memanggil dirinya sendiri cara tersebut seperti perulangan.

Gambar ilustrasi rekursif
sumber: https://en.wikipedia.org/wiki/Droste

Sebagai contoh pada gambar tersebut ada wanita yang memegang kemasan yang gambar kemasan tersebut adalah gambar dirinya sendiri. Berikut code program palindrome secara rekursif:

Source Code:


#include <stdio.h>
#include <string.h>

typedef char String[100];

int cek(String input, int i, int j){

  int k=j/2;
  if (j==k){
    printf("kata tersebut polindrome \n");
    return 1;
  } else if(input[i] != input[j]){
    printf("kata tesebut tidak polindrome \n");
    return 0;
  } else{
    return cek(input, i+1, j-1);
  }

}

void main(){

  printf("Masukkan sebuah kata:");
  String input;
  scanf("%s", &input);
  printf("", cek(input, 0, strlen(input)-1));

}

Simpan source code dengan nama palindrome.c, tetapi sesuaikan aja dengan nama file yang dinginkan dan jangan lupa harus berektensi .c

Compile & Run

Untuk melakukan compile dan menjalankan programnya, buka terminal dan ikuti command berikut:

$ gcc -i palindrome palindrome.c
$ ./palindrome

Hasil program yang di jalankan

Gambar hasil kata tidak palindrome
Gambar hasil kata palindrome

Sekian contoh program palindrom secara rekursif mengunakan bahasa c. Semoga bermanfaat sahabat kopi coding.

Happy Coding 🙂

Share Post:

Add a Comment

Your email address will not be published. Required fields are marked *