Macam Fungsi Dari String.h c dan c++
String ??
String adalah sebuah array yang bertipe char yang diakhiri dengan karakter null ().
Sebagai contoh, deklarasi dibawah ini merupakan deklasai sebuah array yang bertipe char, dan bisa disamakan dengan deklarasi sebuah string dengan nama st.
char array_ch[7] = {`H’, `e’, `l’, `l’, `o’, `!’, `’};
Dalam C, karakter null dapat digunakan untuk menandai akhir sebuah string. Setiap karakter akan membutuhkan 1 byte dalam memori.
Sekumpulan karakter-karakter yang diapit dengan kutip ganda (“”) disebut sebagai konstanta string. C akan secara otomatis menambahkan karakter null pada setiap akhir konstanta string untuk menandakan akhir dari sebuah string.
char nama[21];
char *nama2;
Kedua cara tersebut dapat dipergunakan. Cara ke-1 adalah dengan membuat suatu array char sebanyak 21 karakter. Pada langkah ini, variabel nama hanya diperbolehkan diisi sampai panjangnya 20 karakter karena untuk menutup suatu string membutuhkan satu byte untuk karater null.
Cara ke-2 adalah dengan membuat suatu variabel ke suatu pointer char, yang menunjuk ke suatu alamat di memori yang berisi data stringnya (isinya).
Cara pendeklarasian yang ke-1 (array) lebih baik dari pada yang pointer, karena kalau membuat string sebagai pointer maka ketika akan mengisikan data maka harus meminta tempat dulu ke memori untuk menampung datanya contohnya dengan malloc, karena ketika kita tidak meminta alokasi memori dulu, maka ada kemungkinan data string yang diisikan ke pointer akan mengisi ke suatu tempat yang dimiliki oleh variabel lain.
char nama[]=”Ini adalah string”;
char nama2[]={‘i’,'n’,'i’, ‘ ‘,’s',’t',’r',’i',’n',’g',”};
char nama3[5]=”BUDI”;
char nama4[5]={‘B’,'u’,'d’,'i’,”}
char *nama5=”Ini juga string”;
Untuk mengisi suatu string caranya adalah :
strcpy(nama,”Ini string”);
nama5=”Ini juga string”;
Coba diperhatikan, untuk string yang dideklarasikan sebagai sebuah array karakter, pengisian nilainya adalah dengan menggunakan suatu perintah strcpy yang berguna untuk mengisikan suatu string ke string lain. Pengisiannya tidak boleh langsung. Tetapi jika string dideklarasikan sebagai sebuah pointer karakter, maka pengisiannya boleh diisikan secara langsung.
Fungsi puts digunakan untuk menampilkan suatu string ke layar (monitor).
Contoh program :
#include <stdio.h>
int main(void)
{
char string[80];
printf(“Masukan Sebuah string:”);gets(string);
puts(string);
return 0;
}
Hasil run program :
Contoh progam :
#include <stdio.h>
#include <string.h>
int main(void)
{
char string[80];
int panjang;
printf(“Masukan String: “);gets(string);
panjang=strlen(string);
printf(“Panjang String adalah %i karakter\n”,panjang);
return 0;
}
Hasil run program :
Fungsi strncpy berfungsi untuk menyalin isi suatu string ke string lain sebanyak n karakter.
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char string[31];
char *str1 = “Ini adalah sebuah string”;
char str2[31];
strcpy(string, str1);
printf(“Isi String : %s\n”, string);
strncpy(str2,str1,10);
str2[10]=”;// menutup string
printf(“Isi Str2 : %s”,str2);
getch();
return 0;
}
Hasil run program :
Fungsi strncmp digunakan untuk membandingkan 2 buah string sebanyak n buah karakter secara case sensitive
Fungsi strcmpi digunakan untuk membandingkan 2 buah string secara case insensitive.
Fungsi strncmpi digunakan untuk membandingkan 2 buah string sebanyak n buah karakter secara case insensitive.
Semua fungsi tersebut akan menghasilkan sebuah nilai integer yang mempunyai ketentuan :
§ Nilai return akan lebih dari 0 (>0) ketika string1 lebih besar dari string2
§ Nilai return akan sama dengan 0 (==0) ketika string1 sama dengan string 2
§ Nilai return akan kurang dari 0 (<0) ketika string1 lebih kecil dari string 2
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char str1[5]=”ABCD”,str2[5]=”abcd”,str3[5]=”BCDE”,str4[5]=”BCda”;
int hasil;
hasil=strcmp(str1,str2);
printf(“Hasil STRCMP : \n”);
if(hasil==0) printf(“String1 sama dengan String2\n”); else
if(hasil>0) printf(“String1 lebih besar dari String2\n”); else
if(hasil<0) printf(“String1 lebih kecil dari String2\n”);
hasil=strcmpi(str1,str2);
printf(“Hasil STRCMPI : \n”);
if(hasil==0) printf(“String1 sama dengan String2\n”); else
if(hasil>0) printf(“String1 lebih besar dari String2\n”); else
if(hasil<0) printf(“String1 lebih kecil dari String2\n”);
hasil=strncmp(str3,str4,3);
printf(“Hasil STRNCMP : \n”);
if(hasil==0) printf(“String3 sama dengan String4\n”); else
if(hasil>0) printf(“String3 lebih besar dari String4\n”); else
if(hasil<0) printf(“String3 lebih kecil dari String4\n”);
hasil=strncmpi(str3,str4,3);
printf(“Hasil STRNCMPI : \n”);
if(hasil==0) printf(“String3 sama dengan String4\n”); else
if(hasil>0) printf(“String3 lebih besar dari String4\n”); else
if(hasil<0) printf(“String3 lebih kecil dari String4\n”);
getch();
return 0;
}
Hasil run program :
Fungsi strncat berfungsu untuk menggabungkan 2 buah string sebanyak n karakter.
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char str1[80];
char str2[15]=”Saya Belajar “;
char str3[10]=”Turbo C”;
clrscr();
strcpy(str1,str2);
strcat(str1,str3);
printf(“Hasil penggabungan dengan STRCAT : %s\n”,str1);
strcpy(str1,str2);
strncat(str1,str3,5);
printf(“Hasil penggabungan dengan STRNCAT : %s\n”,str1);
getch();
return 0;
}
Hasil Run program :
Fungsi strupr berguna untuk mengubah isi string menjadi capital.
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char str1[80]=”Saya Belajar Turbo C”;
clrscr();
printf(“Normal : %s\n”,str1);
strupr(str1);
printf(“UpperCase : %s\n”,str1);
strlwr(str1);
printf(“LowerCase : %s\n”,str1);
getch();
return 0;
}
Hasil run program :
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char str1[80]=”Saya Belajar Turbo C”;
clrscr();
printf(“Normal : %s\n”,str1);
strrev(str1);
printf(“Reverse : %s\n”,str1);
getch();
return 0;
}
Hasil run program :
Fungsi strnset berguna untuk mengganti isi suatu string dengan suatu karakter tertentu sebanyak n buah data.
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char str1[21]=”Saya Belajar Turbo C”;
clrscr();
strnset(str1,’A',12);
printf(“Setelah strnset 12 : %s\n”,str1);
strset(str1,’x');
printf(“Setelah strset : %s\n”,str1);
getch();
return 0;
}
Hasil run program :
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char str1[21]=”Saya Belajar Turbo C”;
char str2[6]=”Turbo”;
char *str3;
clrscr();
str3 = strstr(str1, str2);
printf(“String Asli: %s\n”,str1);
printf(“Sub string : %s\n”, str3);
printf(“Posisi : %d\n”,str3-str1);
getch();
return 0;
}
Hasil run program :
String Asli: Saya Belajar Turbo C Sub string : Turbo C
Posisi : 13
String adalah sebuah array yang bertipe char yang diakhiri dengan karakter null ().
Sebagai contoh, deklarasi dibawah ini merupakan deklasai sebuah array yang bertipe char, dan bisa disamakan dengan deklarasi sebuah string dengan nama st.
char array_ch[7] = {`H’, `e’, `l’, `l’, `o’, `!’, `’};
Dalam C, karakter null dapat digunakan untuk menandai akhir sebuah string. Setiap karakter akan membutuhkan 1 byte dalam memori.
Sekumpulan karakter-karakter yang diapit dengan kutip ganda (“”) disebut sebagai konstanta string. C akan secara otomatis menambahkan karakter null pada setiap akhir konstanta string untuk menandakan akhir dari sebuah string.
Mendeklarasikan String
Cara pendeklarasian variabel-variabel yang berjenis string dapat dilakukan dengan cara sebagai berikut :char nama[21];
char *nama2;
Kedua cara tersebut dapat dipergunakan. Cara ke-1 adalah dengan membuat suatu array char sebanyak 21 karakter. Pada langkah ini, variabel nama hanya diperbolehkan diisi sampai panjangnya 20 karakter karena untuk menutup suatu string membutuhkan satu byte untuk karater null.
Cara ke-2 adalah dengan membuat suatu variabel ke suatu pointer char, yang menunjuk ke suatu alamat di memori yang berisi data stringnya (isinya).
Cara pendeklarasian yang ke-1 (array) lebih baik dari pada yang pointer, karena kalau membuat string sebagai pointer maka ketika akan mengisikan data maka harus meminta tempat dulu ke memori untuk menampung datanya contohnya dengan malloc, karena ketika kita tidak meminta alokasi memori dulu, maka ada kemungkinan data string yang diisikan ke pointer akan mengisi ke suatu tempat yang dimiliki oleh variabel lain.
Inisialisasi String
Cara untuk menginisialisasi string, dapat dilakukan dengan salah satu cara di bawah ini :char nama[]=”Ini adalah string”;
char nama2[]={‘i’,'n’,'i’, ‘ ‘,’s',’t',’r',’i',’n',’g',”};
char nama3[5]=”BUDI”;
char nama4[5]={‘B’,'u’,'d’,'i’,”}
char *nama5=”Ini juga string”;
Untuk mengisi suatu string caranya adalah :
strcpy(nama,”Ini string”);
nama5=”Ini juga string”;
Coba diperhatikan, untuk string yang dideklarasikan sebagai sebuah array karakter, pengisian nilainya adalah dengan menggunakan suatu perintah strcpy yang berguna untuk mengisikan suatu string ke string lain. Pengisiannya tidak boleh langsung. Tetapi jika string dideklarasikan sebagai sebuah pointer karakter, maka pengisiannya boleh diisikan secara langsung.
Fungsi-Fungsi Manipulasi String
- gets dan puts
Fungsi puts digunakan untuk menampilkan suatu string ke layar (monitor).
Contoh program :
#include <stdio.h>
int main(void)
{
char string[80];
printf(“Masukan Sebuah string:”);gets(string);
puts(string);
return 0;
}
Hasil run program :
Masukan Sebuah string:String adalah sekumpulan karakter String adalah sekumpulan karakter |
- strlen
Contoh progam :
#include <stdio.h>
#include <string.h>
int main(void)
{
char string[80];
int panjang;
printf(“Masukan String: “);gets(string);
panjang=strlen(string);
printf(“Panjang String adalah %i karakter\n”,panjang);
return 0;
}
Hasil run program :
Masukan String: ABCDEFGHIJKLMNOPQRSTUVWXYZ Panjang String adalah 26 karakter |
- strcpy dan strncpy
Fungsi strncpy berfungsi untuk menyalin isi suatu string ke string lain sebanyak n karakter.
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char string[31];
char *str1 = “Ini adalah sebuah string”;
char str2[31];
strcpy(string, str1);
printf(“Isi String : %s\n”, string);
strncpy(str2,str1,10);
str2[10]=”;// menutup string
printf(“Isi Str2 : %s”,str2);
getch();
return 0;
}
Hasil run program :
Isi String : Ini adalah sebuah string Isi Str2 : Ini adalah |
- strcmp, strncmp, strcmpi dan strncmpi
Fungsi strncmp digunakan untuk membandingkan 2 buah string sebanyak n buah karakter secara case sensitive
Fungsi strcmpi digunakan untuk membandingkan 2 buah string secara case insensitive.
Fungsi strncmpi digunakan untuk membandingkan 2 buah string sebanyak n buah karakter secara case insensitive.
Semua fungsi tersebut akan menghasilkan sebuah nilai integer yang mempunyai ketentuan :
§ Nilai return akan lebih dari 0 (>0) ketika string1 lebih besar dari string2
§ Nilai return akan sama dengan 0 (==0) ketika string1 sama dengan string 2
§ Nilai return akan kurang dari 0 (<0) ketika string1 lebih kecil dari string 2
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char str1[5]=”ABCD”,str2[5]=”abcd”,str3[5]=”BCDE”,str4[5]=”BCda”;
int hasil;
hasil=strcmp(str1,str2);
printf(“Hasil STRCMP : \n”);
if(hasil==0) printf(“String1 sama dengan String2\n”); else
if(hasil>0) printf(“String1 lebih besar dari String2\n”); else
if(hasil<0) printf(“String1 lebih kecil dari String2\n”);
hasil=strcmpi(str1,str2);
printf(“Hasil STRCMPI : \n”);
if(hasil==0) printf(“String1 sama dengan String2\n”); else
if(hasil>0) printf(“String1 lebih besar dari String2\n”); else
if(hasil<0) printf(“String1 lebih kecil dari String2\n”);
hasil=strncmp(str3,str4,3);
printf(“Hasil STRNCMP : \n”);
if(hasil==0) printf(“String3 sama dengan String4\n”); else
if(hasil>0) printf(“String3 lebih besar dari String4\n”); else
if(hasil<0) printf(“String3 lebih kecil dari String4\n”);
hasil=strncmpi(str3,str4,3);
printf(“Hasil STRNCMPI : \n”);
if(hasil==0) printf(“String3 sama dengan String4\n”); else
if(hasil>0) printf(“String3 lebih besar dari String4\n”); else
if(hasil<0) printf(“String3 lebih kecil dari String4\n”);
getch();
return 0;
}
Hasil run program :
Hasil STRCMP :
String1 lebih kecil dari String2 Hasil STRCMPI : String1 sama dengan String2 Hasil STRNCMP : String3 lebih kecil dari String4 Hasil STRNCMPI : String3 sama dengan String4 |
- strcat dan strncat
Fungsi strncat berfungsu untuk menggabungkan 2 buah string sebanyak n karakter.
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char str1[80];
char str2[15]=”Saya Belajar “;
char str3[10]=”Turbo C”;
clrscr();
strcpy(str1,str2);
strcat(str1,str3);
printf(“Hasil penggabungan dengan STRCAT : %s\n”,str1);
strcpy(str1,str2);
strncat(str1,str3,5);
printf(“Hasil penggabungan dengan STRNCAT : %s\n”,str1);
getch();
return 0;
}
Hasil Run program :
Hasil penggabungan dengan STRCAT : Saya Belajar Turbo C Hasil penggabungan dengan STRNCAT : Saya Belajar Turbo |
- strlwr dan strupr
Fungsi strupr berguna untuk mengubah isi string menjadi capital.
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char str1[80]=”Saya Belajar Turbo C”;
clrscr();
printf(“Normal : %s\n”,str1);
strupr(str1);
printf(“UpperCase : %s\n”,str1);
strlwr(str1);
printf(“LowerCase : %s\n”,str1);
getch();
return 0;
}
Hasil run program :
Normal : Saya Belajar Turbo C
UpperCase : SAYA BELAJAR TURBO C LowerCase : saya belajar turbo c |
- strrev
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char str1[80]=”Saya Belajar Turbo C”;
clrscr();
printf(“Normal : %s\n”,str1);
strrev(str1);
printf(“Reverse : %s\n”,str1);
getch();
return 0;
}
Hasil run program :
Normal : Saya Belajar Turbo C Reverse : C obruT rajaleB ayaS |
- strset dan strnset
Fungsi strnset berguna untuk mengganti isi suatu string dengan suatu karakter tertentu sebanyak n buah data.
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char str1[21]=”Saya Belajar Turbo C”;
clrscr();
strnset(str1,’A',12);
printf(“Setelah strnset 12 : %s\n”,str1);
strset(str1,’x');
printf(“Setelah strset : %s\n”,str1);
getch();
return 0;
}
Hasil run program :
Setelah strnset 12 : AAAAAAAAAAAA Turbo C Setelah strset : xxxxxxxxxxxxxxxxxxxx |
- strstr
Contoh program :
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char str1[21]=”Saya Belajar Turbo C”;
char str2[6]=”Turbo”;
char *str3;
clrscr();
str3 = strstr(str1, str2);
printf(“String Asli: %s\n”,str1);
printf(“Sub string : %s\n”, str3);
printf(“Posisi : %d\n”,str3-str1);
getch();
return 0;
}
Hasil run program :
String Asli: Saya Belajar Turbo C Sub string : Turbo C
Posisi : 13