1. Pendahuluan
Dalam bahasa C, string dianggap sebagai array karakter biasa. Karena karakteristik ini, penanganannya berbeda dari bahasa pemrograman lainnya. Khususnya, pada saat melakukan penugasan (assignment) atau inisialisasi string, penanganan penutup menggunakan karakter null (
) sangat penting. Artikel ini membahas topik “c bahasa pemrograman string assignment”, mulai dari deklarasi dasar hingga metode penugasan dan manipulasi string. Kami juga membahas poin-poin penting untuk menjaga stabilitas program.
2. Deklarasi dan Inisialisasi String
Dalam bahasa C, deklarasi string dilakukan melalui array karakter. Berikut adalah beberapa metode umum untuk deklarasi dan inisialisasi.
Deklarasi dan Inisialisasi Menggunakan Array
String dapat dideklarasikan dan diinisialisasi melalui array seperti berikut:
char greeting[] = "Hello";
Pada contoh di atas, string greeting
diinisialisasi dengan “Hello”, dan karakter null (
) secara otomatis ditambahkan di akhir. Dalam bahasa C, saat mendeklarasikan array, kita dapat menggunakan operator “=
” untuk inisialisasi, dan biasanya ukuran array tidak perlu ditentukan secara eksplisit.
Penambahan Karakter Null
Jika string diinisialisasi dengan karakter satu per satu, karakter null harus ditambahkan secara manual seperti berikut:
char greeting[6] = {'H', 'e', 'l', 'l', 'o', ' '};
Tanpa karakter null, fungsi manipulasi string di bahasa C tidak akan berfungsi dengan benar dan dapat membaca melewati batas memori, yang dapat menyebabkan perilaku yang tidak diinginkan.

3. Metode Penugasan String
Dalam bahasa C, kita tidak dapat langsung menugaskan satu string ke string lain. Untuk menyalin isi string ke variabel lain, gunakan fungsi strcpy
.
Penggunaan Dasar Fungsi strcpy
strcpy
adalah fungsi yang terdapat dalam pustaka standar <string.h>
dan digunakan seperti berikut:
#include <stdio.h>
#include <string.h>
int main() {
char source[] = "Hello";
char destination[10];
strcpy(destination, source);
printf("String yang disalin: %s\n", destination);
return 0;
}
Kode di atas menyalin isi string dari source
ke destination
, sehingga destination
berisi “Hello”. Karena strcpy
tidak memeriksa ukuran array, kita harus berhati-hati agar tidak terjadi buffer overflow.
4. Manipulasi String
Bahasa C memiliki beberapa fungsi yang berguna untuk memanipulasi string. Berikut adalah penjelasan tentang fungsi-fungsi yang sering digunakan seperti strlen
, strcat
, dan strcmp
.
Mengambil Panjang String: strlen
Untuk mendapatkan panjang string, gunakan fungsi strlen
. Fungsi ini mengembalikan jumlah karakter tanpa menghitung karakter null.
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello";
printf("Panjang string: %zu\n", strlen(str));
return 0;
}
Menggabungkan String: strcat
Fungsi strcat
menggabungkan satu string dengan string lainnya.
#include <stdio.h>
#include <string.h>
int main() {
char greeting[20] = "Hello";
char name[] = " World";
strcat(greeting, name);
printf("String gabungan: %s\n", greeting);
return 0;
}
Membandingkan String: strcmp
Fungsi strcmp
membandingkan dua string secara leksikografis. Jika sama, fungsi mengembalikan 0; jika berbeda, mengembalikan nilai positif atau negatif.
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
int result = strcmp(str1, str2);
if (result == 0) {
printf("String sama.\n");
} else {
printf("String berbeda.\n");
}
return 0;
}
Dengan cara ini, kita dapat memeriksa apakah string sama atau menentukan urutannya secara leksikografis.
5. Penanganan String dengan Pointer
Kita juga dapat menangani string menggunakan pointer. Menggunakan pointer memungkinkan manajemen memori yang lebih fleksibel, tetapi kesalahan dalam penggunaannya dapat menyebabkan error atau crash.
Penugasan String dengan Pointer
Saat menggunakan pointer, kita dapat mendeklarasikan dan menugaskannya seperti berikut:
#include <stdio.h>
int main() {
char *greeting = "Hello";
printf("%s\n", greeting);
return 0;
}
Dengan pointer, kita dapat langsung menunjuk ke string literal. Namun, isi literal tidak dapat diubah.
6. Kesimpulan dan Poin Penting
Dalam penugasan dan manipulasi string, sering terjadi kesalahan seperti buffer overflow atau akses pointer yang tidak valid. Khususnya saat menggunakan strcpy
atau strcat
, pastikan untuk mempertimbangkan ukuran array dan menyediakan buffer yang memadai. Saat menggunakan pointer, perhatikan juga penanganan karakter null dan manajemen memori. Dengan mengikuti prosedur yang benar, manipulasi string dapat menjadi metode yang efektif untuk memproses data.