String

Written by: Zhan   |   Updated on: Oktober 14, 2018

String merupakan kumpulan dari beberapa karakter yang diakhiri dengan karakter null ('\0'). Di dalam bahasa pemrograman C, tidak terdapat tipe data string. Jadi, untuk membuat sebuah string digunakan array of char atau pointer. Sebuah string dimulai dan diakhiri dengan kutip dua (double quote), contoh "hello world" bukan 'hello world'. Kutip satu hanya digunakan untuk char. Berikut contoh string dengan menggunakan array.

#include <stdio.h>

int main() {
	char nama[5] = "Budi";
	
	printf("%s\n", nama);
	
	return 0;
}

Keluaran:

Budi

Pada source code di atas, karena array of char (nama[5]) pada saat dideklarasi langsung diinisialisasi, maka penambahan karakter null ('\0') pada akhir string tidak diperlukan karena akan ditambahkan secara otomatis. Jadi, cukup lebihkan banyak elemen array-nya sebanyak satu. Jika panjang stringnya empat (seperti contoh source code di atas), maka banyak elemen arraynya adalah lima. Elemen kelima (index ke-4) digunakan untuk karakter null ('\0').

Jika terdapat sebuah array of char sebagai berikut.

char nama[5];

Karena nama belum diinisialisasi, kita tidak bisa melakukan operasi seperti di bawah ini untuk menyimpan string ke dalam nama.

nama = "Budi"; //error

Untuk menyimpan string ke dalam sebuah array of char diperlukan bantuan fungsi strcpy atau strncpy yang ada pada header string.h. Berikut contoh penggunaan strcpy.

#include <stdio.h>
#include <string.h>

int main() {
	char nama[5];
	
	strcpy(nama, "Budi");
	
	printf("%s", nama);
	
	return 0;
}

Keluaran:

Budi

Fungsi strcpy terdiri dari dua parameter, yang pertama adalah variabel array untuk menampung string (dalam kasus ini adalah nama) dan yang kedua adalah string yang akan disimpan ke dalam array of char (dalam kasus ini adalah "Budi"). String yang disimpan ke variabel array dengan menggunakan fungsi strcpy akan secara otomatis ditambahkan karakter null di akhir string.

Baca :   C-Style String

Beberapa Operasi Dasar String

strcmp

Fungsi ini digunakan untuk membandingkan dua buah string, apakah sama atau berbeda karena untuk membandingkan dua buah string kita tidak dapat menggunakan operator pembanding “==” layaknya membandingkan dua buah angka. Fungsi strcmp ini case sensitive, jadi karakter 'A' akan diperlakukan berbeda dengan karakter 'a'. Fungsi strcmp akan mengembalikan nilai selain nol jika kedua string yang dibandingkan tidak sama.

#include <stdio.h>
#include <string.h>

int main() {
	char string_1[6] = "hello";
	char string_2[5] = "halo";
	
	printf("%d\n", strcmp(string_1, string_2));
	
	return 0;
}

Keluaran:

1

Membandingkan dua buah string juga dapat dibuat sendiri, dengan memanfaatkan perulangan for, while atau do-while.

strlen

Fungsi ini digunakan untuk menghitung panjang sebuah string. Panjang yang dihitung tidak termasuk karakter null (‘\0’).

#include <stdio.h>
#include <string.h>

int main() {
	char str[] = "hello world";
	int panjang_string = strlen(str);
	
	printf("%d\n", panjang_string);
	
	return 0;
}

Keluaran:

11

strcat

Fungsi ini digunakan untuk menggabungkan dua buah string.

#include <stdio.h>
#include <string.h>

int main() {
	char str[100] = "saya";
	
	strcat(str, " lagi ");
	strcat(str, "belajar bahasa ");
	strcat(str, "pemrograman C");
	
	printf("%s", str);
	
	return 0;
}

Keluaran:

Saya lagi belajar bahasa pemrograman C

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *