Membandingkan Array Karakter di C++
Dalam C++, array karakter (char array) digunakan untuk menyimpan string. Kadang-kadang kita perlu membandingkan dua string untuk melihat apakah mereka sama atau tidak. Artikel ini akan membahas berbagai cara membandingkan array karakter di C++.
Menggunakan strcmp()
Fungsi strcmp()
adalah metode standar dalam C++ untuk membandingkan dua string. Fungsi ini mengembalikan nilai integer yang menunjukkan hasil perbandingan:
- 0: Kedua string sama.
- Nilai positif: String pertama lebih besar daripada string kedua secara leksikografis.
- Nilai negatif: String pertama lebih kecil daripada string kedua secara leksikografis.
Berikut contoh kode penggunaan strcmp()
:
#include
#include
using namespace std;
int main() {
char str1[] = "Hello";
char str2[] = "World";
char str3[] = "Hello";
int result1 = strcmp(str1, str2);
int result2 = strcmp(str1, str3);
cout << "strcmp(str1, str2): " << result1 << endl;
cout << "strcmp(str1, str3): " << result2 << endl;
return 0;
}
Kode di atas akan menghasilkan output:
strcmp(str1, str2): -1
strcmp(str1, str3): 0
Menggunakan Perulangan
Kita juga bisa membandingkan array karakter secara manual menggunakan perulangan. Logika perbandingan adalah dengan memeriksa setiap karakter di kedua string, dan menghentikan perulangan jika ditemukan perbedaan atau akhir dari string tercapai.
#include
using namespace std;
int main() {
char str1[] = "Hello";
char str2[] = "World";
char str3[] = "Hello";
bool areEqual = true;
for (int i = 0; str1[i] != '\0' && str2[i] != '\0'; ++i) {
if (str1[i] != str2[i]) {
areEqual = false;
break;
}
}
if (areEqual) {
cout << "str1 dan str2 sama" << endl;
} else {
cout << "str1 dan str2 berbeda" << endl;
}
areEqual = true;
for (int i = 0; str1[i] != '\0' && str3[i] != '\0'; ++i) {
if (str1[i] != str3[i]) {
areEqual = false;
break;
}
}
if (areEqual) {
cout << "str1 dan str3 sama" << endl;
} else {
cout << "str1 dan str3 berbeda" << endl;
}
return 0;
}
Kode di atas akan menghasilkan output yang sama dengan contoh kode strcmp()
.
Memilih Metode
strcmp()
adalah metode yang lebih efisien dan mudah digunakan untuk membandingkan array karakter. Namun, jika anda perlu mengontrol proses perbandingan secara lebih detail, Anda dapat menggunakan metode perulangan.
Kesimpulan
Artikel ini membahas dua metode membandingkan array karakter di C++: menggunakan fungsi strcmp()
dan dengan perulangan. Pilih metode yang sesuai dengan kebutuhan Anda.