Fungsi & Array : Program untuk Mengecek Kalimat Palindrome Menggunakan Fungsi & Sifat-Sifat Array

7 12 2009
  1. Buatlah Program dengan menggunakan fungsi dan sifat-sifat array untuk mengecek kalimat bahwa itu Palindrome atau bukan (dilarang menggunakan prosedur-prosedur dalam string.h).

Contoh :

“MalaM” – Palindrome

“KaSur iNi ruSaK” – Palindrome

“Hajar” – Bukan Palindrome

Syarat : minimal ada 2 fungsi

Algoritma Program :

a)      Program memberikan instruksi kepada user untuk memasukkan input kata / kalimat.

b)      Program memasukkan input dengan alamat kalimat.

c)      Program memanggil fungsi ukur yang telah dideklarasikan sebelumnya.

d)     Fungsi ukur menghitung panjang kata / kalimat.

e)      Fungsi ukur mengembalikan nilai (return value) panjang angka ke fungsi utama.

f)       Program menampilkan jumlah karakter dari input kepada user.

g)      Program memanggil fungsi kembar yang telah dideklarasikan sebelumnya.

h)      Fungsi kembar membandingkan input kata / kalimat dengan kata / kalimat yang telah dibalik. Jika sama maka palindrome jika tidak sama maka bukan palindrome.

i)        Fungsi kembar mengembalikan nilai (return value) kalimat ke fungsi utama.

j)        Program menampilkan  statement apakah input berupa palindrome atau bukan kepada user.

k)      Program menawarkan untuk mengulangi lagi atau tidak kepada user.

Source code :

#include<stdio.h>      //Header

#include<conio.h>

int ukur(char panjangkata[100]);           //Fuction Prototype

char kembar(char sama[100], int jumlah);

int main(void)//Main function

{

int lenkalimat=0,balik=0;  //Declaration Variabel lenkalimat=0,balik=0

char kalimat[100];        //Declaration variabel kalimat(array)

do{    //pengulangan jika ingin menggunakan kembali

void clrscr(void);          //membersihkan layar

fflush(stdin);

//inputan user berupa kata / kalimat

printf("Masukkan Kalimat (Besar kecil huruf berpengaruh) : ");

gets(kalimat); //memasukkan input ke dalam variabel kalimat

lenkalimat=ukur(kalimat); //menjalankan fungsi ukur untuk mengetahui

//panjang kalimat/kata input

//menampilkan jumlah karakter

printf("\nJumlah Karakter ada %d\n\n",lenkalimat);

printf("Bandingkan karakter di bawah ini :\n\n");

kembar(kalimat,lenkalimat); //menjalankan fungsikembar untuk mengetahui

//palindrome atau bukan

//mengambil input untuk menggunakan lagi

printf("\n\nIngin menggunakan lagi(yes=1, no=0) : ");

scanf("%d",&balik);

}while(balik==1);//jika nilai balik=1 maka kembali ke atas

return 0;

}

int ukur(char panjangkata[100])//Fungsi pencari panjang kalimat/kata input

{

int a=0;

//mencari panjang kata input

while(panjangkata[a] != ''){

a++;}

return(a);

}

char kembar(char sama[100],int jumlah)//Fungsi pembanding character

{

char huruf[100];  //deklarasi variabel

int plek=0;

int a=0;

for( a=0; a<jumlah; a++){   //mengisi variabel huruf dengan variabel

printf("%c", sama[a]);      //sama namun variabel huruf dimulai dari

huruf[jumlah-a-1]=sama[a];} //belakang

printf("\n\n");

for(a=0; a<jumlah; a++)  //Menampilkan isi variabel huruf

printf("%c",huruf[a]);

for(a=0;a<jumlah;a++){     //Membandingkan sama dengan huruf

if(huruf[a]==sama[a])

plek+=1;

else


plek+=0;

}

if(plek==jumlah) //jika jumlah yang sama = panjang kata  maka:

printf("\n\nSama khan  jadi karakter masukan Anda palindrome");

else

printf("\n\nYach ga sama jadi karakter masukan Anda bukan palindrome");

return (a);

}

Posted By : Evan Yofiyanto @ Evan’s Blog : Kuliah Informatika (kuliahinformatika.wordpress.com)

[FREAX]

About these ads

Actions

Information

2 responses

11 04 2011
novan

gan mau tanya
while(panjangkata[a] != ‘ ‘)
nah yang ditanda petik itu diisi apa??
soalnya kalo di compile error gan

28 10 2011
puji

kalo pake for aja bisa ga? d pascalnya gmn?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




Follow

Get every new post delivered to your Inbox.

%d bloggers like this: