Lompat ke konten Lompat ke sidebar Lompat ke footer

Membandingkan Dua String Menggunakan STRCMP pada Bahasa C

Perintah strcmp() merupakan sebuah fungsi library built-in yang dideklarasikan pada file header <string.h>. Fungsi ini digunakan untuk mengambil dua nilai string yang digunakan sebagai nilai argumen, dimana kedua nilai tersebut akan dibandingkan secara lexicographical.

Membandingkan Dua String Menggunakan STRCMP pada Bahasa C
Fungsi STRCMP Bahasa C

Sebelum memahami lebih dalam materi tentang Membandingkan Dua String Menggunakan STRCMP pada Bahasa C, terlebih dahulu pelajari materi tentang: Strcpy Bahasa C dan Fungsinya [klik], Mengakses Array di Luar Batas Bahasa C [klik], dan Notasi Shorthand Array Bahasa C dan Fungsinya [klik].

Sintak:
int strcmp(const char *leftStr, const char *rightStr );

Ketika menggunakan perintah strcmp() pada bahasa C, maka fungsi tersebut akan mengambil dua buah nilai yang digunakan sebagai nilai parameter dan akan mengembalikan nilai yang telah diolah tersebut sebagai nilai integer berdasarkan perbandingan dari nilai string.

Nilai yang dibandingkan secara leksikografis menggunakan perintah strcmp(), maka nilai tersebut akan dibandingkan per karakter, dimulai dari karakter pertama pada string pertama dan string kedua, kemudian dilanjunkan, pada karakter kedua pada string pertama dan kedua, dan seterusnya hingga semua nilai selesai dibandingkan, atau karakter yang dibandingkan mencapai karakter NULL.

Jika karakter pertama pada string pertama dan string kedua yang dibandingkan menggunakan strcmp() adalah sama, maka fungsi tersebut akan memeriksa karakter selanjutnya atau karakter kedua, jika karakter kedua juga sama, maka akan dilakukan pemeriksaan karakter selanjutnya, dan seterusnya hingg proses mencapai tahap akhir, atau nilai karakter adalah NULL atau tidak bernilai sama.

Baca Juga:

Nilai Return Fungsi strcmp()
Fungsi ini akan mengembalikan tiga buah nilai integer yang berbeda berdasarkan nilai perbandingan berikut:

NOL ( 0 ): Nilai sama dengan nol ketika kedua string ditemukan identik. Artinya, Semua karakter di kedua string adalah sama.

Contoh: Semua karakter string bernilai sama.

// Program bahasa C untuk

// penggunaan fungsi strcmp()

#include<stdio.h>

#include<string.h>


int main()

{

char leftStr[] = "m k n";

char rightStr[] = "m k n";


// Penggunaan strcmp()

int res = strcmp(leftStr, rightStr);


if (res==0)

printf("Strings are equal");

else

printf("Strings are unequal");


printf("\nValue returned by strcmp() is: %d" , res);


return 0;

}

Output:
Strings are equal
Value returned by strcmp() is: 0


Lebih Dari NOL ( >0 ): Nilai yang lebih besar dari nol dikembalikan ketika karakter pertama yang tidak cocok di leftStr memiliki nilai ASCII yang lebih besar daripada karakter yang sesuai di rightStr.

Contoh: Karakter di leftStr secara leksikografis setelah karakter rightStr.

// Penggunaan fungsi strcmp()

// pada bahasa C

#include<stdio.h>

#include<string.h>


int main()

{


// Nilai z lebih dari nilai

// ASCII dan nilai g

char leftStr[] = "zKz";

char rightStr[] = "gKg";

int res = strcmp(leftStr, rightStr);


if (res==0)

printf("Strings are equal");

else

printf("Strings are unequal");


printf("\nValue of result: %d" , res);


return 0;

}

Output:
Strings are unequal
Value returned by strcmp() is: 19


Kurang Dari NOL ( <0 ): Nilai yang kurang dari nol dikembalikan ketika karakter pertama yang tidak cocok di leftStr memiliki nilai ASCII yang lebih rendah daripada karakter yang sesuai di rightStr.

Contoh: Karakter dalam leftStr secara leksikografis sebelum karakter rightStr.

// Ilustrasi program bahasa C 

// penggunana fungsi strcmp()

#include<stdio.h>

#include<string.h>


int main()

{


// b kurang dari nilai ASCII

// dan nilai g

char leftStr[] = "bmb";

char rightStr[] = "gmg";


int res = strcmp(leftStr, rightStr);


if (res==0)

printf("Strings are equal");

else

printf("Strings are unequal");


printf("\nValue returned by strcmp() is: %d" , res);

return 0;

}

Output:
Strings are unequal
Value returned by strcmp() is: -5

Catatan: ketika nilai string tidak sama, akan akan ditemukan nilai return dari fungsi strcmp() yang berbeda diantara nilai ASCII values dari karakter pertama yang tidak cocok dalam leftStr dan rightStr dan dua kondisi kasus.

Artikel ini didedikasikan kepada: Gumilang Rizki Dwi Pratama, Heydita Ratu Dewinta Sari, Kiasatina Tri Putri Cahaya Sari, Magdalena Kaerliasih Amaral, dan Maulida Rachmah.

5 komentar untuk "Membandingkan Dua String Menggunakan STRCMP pada Bahasa C"

  1. Apa yang dimaksud dengan fungsi STRCMP pada bahasa?

    BalasHapus
    Balasan
    1. Fungsi STRCMP merupakan singkatan dari String Comparison atau perbandingan string, yang digunakan untuk membandingkan nilai variabel berupa string pada program bahasa C.

      Hapus
  2. Apa yang dimaksud dengan fungsi strcmp() pada bahasa C?

    BalasHapus
    Balasan
    1. Fungsi strcmp() pada bahasa C merupakan fungsi yang digunakan untuk membandingkan nilai argumen string, dimana fungsi ini akan membandingkan string secara leksikografis yang artinya nilai string akan dibandingkan karakter demi karakter dalam satu untaian string.

      Hapus
    2. Fungsi built-in strcmp() pada bahasa C berfungsi untuk membandingkan nilai string yang ditunjuk oleh string 1 terhadap nilai string yang ditunjuk oleh string2 ke fungsi yang berisi karakter NULL yang menandai akhir dari nilai string.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -