Fungsi strcmp dan strncmp mungkin masih banyak orang yang awam bahasa C bingung bagaimana penggunaan fungsi tersebut dan apakah return value dari fungsi tersebut. Nah disini saya akan mengulas sedikit mengenai fungsi strcmp dan strncmp itu.


strcmp :

adalah fungsi untuk membandingkan dua buah string

Syntax : strcmp(string1,string2);

Return Value :

-1 –> jika string 1 lebih kecil dari string2

0 –> jika string1 sama dengan string2

1 –> jika string1 lebih besar dari string2

Contoh Source Code :

#include //definisi printf
#include //definisi getch
#include //definisi strcmp,strlen
int main(){

int result, n;

char string1[100] = "tutorialpemrograman.wordpress.com",

string2[100] = "tutorial-programming.blogspot.com",

string3[30] = "pemrograman";

//membandingkan string1 dan string2

result = strcmp(string1,string2);

printf("%d\n",result);

/*

membandingkan string1 dan string2 mulai dari indeks 0 sebanyak n karakter

jadi membandingkan "tutorial" dan "tutorial"

*/

n = strlen("tutorial");

result = strncmp(string1,string2,n);

printf("%d\n",result);

/*

membandingkan string1 mulai dari indeks 8 dan string2 mulai dari indeks 0 sebanyak panjang karakter string3

jadi membandingkan "pemrograman" dan "pemrograman"

*/

result = strncmp(&string1[8],string3,strlen(string3));

printf("%d\n",result);

getch(); //menahan tampilan output pada layar

return 0;

}

Output :

1

0

0

Kenapa 1?? Output yang pertama ada hasil membandingkan string1 dan string2

string1 : t u t o r i a l p

string2 : t u t o r i a l -

saat tutorial ASCII dari string1 dan string2 sama, kemudian pada saat ‘p’ dan ‘-’ kita tinjau nilai ASCIInya :

‘p’ = 112 dan ‘-’ = 45

maka ASCII ‘p’ lebih besar daripada ASCII ‘-’ sehingga pengecekan dihentikan sehingga dapat disimpulkan bahwa string1 lebih besar daripada string2 dan outputnya adalah 1