String adalah sebuah array yang bertipe char yang diakhiri dengan karakter null (\0). 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', `!', `\0'}; 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','\0'}; char nama3[5]="BUDI"; char nama4[5]={'B','u','d','i','\0'} 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 gets digunakan untuk membaca data berupa string dari keyboard. 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 Fungsi strlen digunakan untuk mengetahui panjang suatu string. 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 strcpy berfungsi untuk menyalin isi suatu string ke string lain. Fungsi strncpy berfungsi untuk menyalin isi suatu string ke string lain sebanyak n karakter. Contoh program : #include ‹stdio.h› #include ‹string.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]='\0';// 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 strcmp digunakan untuk membandingkan 2 buah string secara case sensitive. 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) printf("String1 lebih besar dari String2\n"); else if(hasil0) printf("String1 lebih besar dari String2\n"); else if(hasil0) printf("String3 lebih besar dari String4\n"); else if(hasil0) printf("String3 lebih besar dari String4\n"); else if(hasil
Comments
Post a Comment