Fungsi pada String dalam Bahasa C

Dalam bahasa pemrograman, string adalah data yang berisi teks atau karakter. Kalimat ini juga merupakan string. Dalam bahasa C, string adalah kumpulan karakter (array of char). Bahasa C juga memiliki beberapa fungsi yang hanya berlaku pada string.

Karena kali ini hanya berfokus pada fungsi yang berlaku pada string dalam bahasa C, maka penjelasan mengenai string bisa buka array dalam Bahasa C. Untuk menggunakan berbagai fungsi pada string, terdapat header yang bisa kita gunakan, yaitu string.h. Fungsi-fungsi bawaan dari file header memiliki kegunaan yang berbeda.

Daftar isi

Concatenation

Fungsi-fungsi dalam bahasa C juga bisa kita gunakan untuk menggabungkan string satu ke string lainnya.

strcat()

Fungsi ini akan menambahkan isi string sumber ke string tujuan. Oleh karena itu fungsi ini memiliki dua argumen, yaitu tujuan dan sumber.

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

int main(){
    char tujuan[50] = "cah";
    char sumber[50] = "Infor";
    
    strcat(tujuan,sumber);
    printf("%s", tujuan);
}

Output:

cahInfor

strncat()

Sama seperti fungsi strcat(), hanya saja fungsi ini memiliki tambahan argumen (parameter) yaitu n. Sehingga fungsi ini cocok jika ingin menambahkan sebanyak maksimal n karakter.

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

int main(){
    char tujuan[50] = "cah";
    char destination[50] = "cah";
    char sumber[50] = "Infor";
    
    strncat(tujuan,sumber,3);
    strncat(destination,sumber,10);
    printf("%s\n", tujuan);
    printf("%s", destination);
}

Output:

cahInf
cahInfor

Meskipun pada baris 10 mengambil 10 karakter, namun karakter yang ada pada sumber kurang dari 10. Sehingga program akan mengambil tepat sebanyak panjang karakternya.

Copying

Selain menambahkan string, C juga menyediakan fungsi untuk menyalin dari string satu ke string lainnya.

strcpy()

strcpy() adalah fungsi seluruh karakter string ke string lainnya. Fungsi ini memiliki dua parameter yaitu dest dan src (tujuan dan sumber).

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

int main(){
    char tujuan[50];
    char sumber[50] = "cahInfor";
    
    strcpy(tujuan, sumber);
    printf("%s", tujuan);
}

Output:

cahInfor

Pada awalnya, string tujuan tidak memiliki karakter. Namun fungsi strcpy() menyalin seluruh karakter dari sumber tanpa menghapus satupun karakter.

strncpy()

Sama seperti sebelumnya, hanya saja fungsi ini akan menyalin maksimal n karakter dari sumber.

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

int main(){
    char tujuan[50];
    char sumber[50] = "cahInfor";
    
    strncpy(tujuan, sumber, 5);
    printf("%s", tujuan);
}

Output:

cahIn

Tentu saja jika n lebih besar dari banyaknya karakter, maka karakter yang tersalin akan sebanyak jumlah karakter yang tersedia.

Comparison

Bahasa C menyediakan beberapa fungsi untuk membandingkan dua buah string apakah keduanya merupakan string dengan karakter yang sama.

Perbandingan dimulai dari karakter pertama (indeks 0). Jika keduanya sama, maka fungsi akan mengembalikan nilai 0. Jika string pertama lebih kecil (berdasarkan ASCII), fungsi akan mengembalikan nilai negatif dan sebaliknya. Fungsi perbandingan akan berhenti jika saat indeks ke-n dari string1 dan string2 berbeda.

strcmp()

Fungsi ini akan membandingkan keseluruhan string atau setidaknya sampai akhir dari salah satunya.

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

int main(){
    char str1[50] = "cahInfor";
    char str2[50] = "cahInfor";
    
    int res = strcmp(str1, str2);
    printf("%d\n", res);
    
    strcpy(str1, "cahinfor");	//mengubah str1
    strcpy(str2, "cahInfor");	//mengubah str2
    res = strcmp(str1, str2);
    printf("%d", res);
}

Output:

0
32

Pada keluaran pertama, string pertama dan kedua sama. Sehingga fungsi akan menghasilkan nilai 0. Sedangkan pada keluaran kedua program mendeteksi perbedaan pada indeks ke-3 yaitu ‘i’ dan ‘I’. Pada kode ASCII, ‘i’ bernilai 105 sedangkan ‘I’ bernilai 73.

strncmp()

Meskipun sama-sama membandingkan, namun fungsi strncmp() hanya akan membandingkan n karakter pertama dari dua buah string. Hasil dari perbandingan sama seperti fungsi strncmp().

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

int main(){
    char str1[50] = "cahInzfor";
    char str2[50] = "cahInfor";
    
    int res = strncmp(str1, str2, 5);
    printf("%d", res);
}

Output:

0

Karena bernilai 0, artinya keduanya merupakan string yang sama untuk 5 karakter pertama.

Searching

strrchr()

Fungsi ini akan mencari posisi terakhir dari sebuah karakter dan kemudian akan mengembalikan string dari karakter tersebut.

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

int main(){
    char str1[50] = "cahInfor";
    char ch = 'f';
    char *str2;
    
    str2 = strrchr(str1, ch);
    printf("%s", str2);
}

Output:

for

Karena ‘f’ terakhir adalah indeks 5, maka program akan mencetak mulai dari ‘f’ terakhir tersebut. Namun jika karakter tidak ditemukan, maka keluaran dari program adalah (null).

Other

strlen()

strlen() berfungsi untuk mendapatkan panjang dari sebuah string atau sampai program menemukan karakter ‘\0’. Keluaran dari fungsi ini memiliki tipe data unsigned long int (lu).

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

int main(){
    char string[] = "cahInfor";
    char string2[] = "cahInf\0or";
    
    printf("%lu\n", strlen(string));
    printf("%lu", strlen(string2));
}

Output:

8
6

Fungsi-fungsi tersebut adalah fungsi yang paling sering dipakai, untuk semua fungsi yang ada bisa dibuka di C String.

Share Now:

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Langganan

Subscribe To Our Newsletter

0
Would love your thoughts, please comment.x
()
x