Defenisi String
String sebenarnya merupakan penggunaan tipe data char secara berkelompok. Tipe data string merupakan array dari tipe data char, karena
string merupakan array dari char, maka pendeklarasian sama dengan mendeklarasikan array dari char. Untuk menampilkan string yang dikandung oleh sebuah array, karakter format yang dipergunakan adalah “%s”. Ketika kita menginstruksikan computer untuk menampilkan string, computer akan memeriksa satu persatu elemen array dan menampilkannya ke layar monitor. Computer akan berhenti memeriksa elemen array yang selanjutnya jika menemukan null character ('\0).
Fungsi – Fungsi dari Librari String
1.String.h merupakan library yang menyimpan fungsi-fungsi yang digunakan untuk menangani string ataupun substring.
2.Fungsi – fungsi dalam library string.h antara lain : strcpy, strncpy, strcat, strncat, strcmp, strncmp, strlen, strchr.
A. 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.
Input-output data string
Untuk memasukkan atau menampilkan data String bisa digunakan beberapa fungsi
standar yang ada di stdio.h.
Untuk operasi input :
– scanf()
Ketika memakai scanf(),
data string masukan tidak boleh mengandung spasi, sebagai contoh sebagai berikut :
#include<stdio.h>
#include<conio.h>
main()
{
char name[15];
printf("Masukan Nama Anda : ");
scanf("%s",name);
printf("\n Halo, %s. selamat belajar string",name);
getch();
}
berikut outputnya
Coding diatas adalah memasukkan string menggunakan fungsi scanf(), ketika kita memasukkan string dengan karakter spasi dalam string, karakter string spasi dan setelahnya tidak akan terbaca.
–gets()
Sedangkan menggunakan fungsi gets() untuk memasukkan string, kita boleh menggunakan karakter spasi, sebagai contoh codingnya sebagai berikut
#include<stdio.h>
#include<conio.h>
main()
{
char name[15];
printf("Masukan Nama Anda : ");
gets(name);
printf("\n Halo, %s. selamat belajar string",name);
getch();
}
berikut outputnya
Fungsi gets() akan membaca seluruh karakter yang diketik melalui keyboard sampai tombol ENTER dan tekandengan tanpa mengecek batasan panjang array yang merupakan argumennya. Jika string yang dimasukkan melebihi ukuran array, maka sisa string ( panjang string masukan dikurangi ukuran array plus karakter NULL) akan ditempatkan dilokasi sedudah bagian lain dari array tersebut. Jika terjadi seperti ini, untuk mengatasinya, disarankan menggunakan fungsi fgets() untuk menggantikan fungsi gets() tadi dalam memasukkan data string.
–fgets()
#include<stdio.h>
#include<conio.h>
main()
{
char name[15];
printf("Masukan Nama Anda : ");
fgets(name,sizeof name,stdin);
printf("\n Halo, %s. selamat belajar string",name);
getch();
}
nah, sudah terlihat bedanya kan? jadi kalo fungsi gets akan menympan seluruh input meskipun melebihi array, sedangkan fungsi fgets hanya akan menyimpan input yang panjangnya sesuai dengan array
#include<stdio.h>
#include<conio.h>
main()
{
char name[15];
scanf("%s",name);
printf("\n Halo, %s. selamat belajar string",name);
getch();
}
berikut outputnya
–gets()
Sedangkan menggunakan fungsi gets() untuk memasukkan string, kita boleh menggunakan karakter spasi, sebagai contoh codingnya sebagai berikut
#include<stdio.h>
#include<conio.h>
main()
{
char name[15];
printf("Masukan Nama Anda : ");
gets(name);
printf("\n Halo, %s. selamat belajar string",name);
getch();
}
berikut outputnya
Fungsi gets() akan membaca seluruh karakter yang diketik melalui keyboard sampai tombol ENTER dan tekandengan tanpa mengecek batasan panjang array yang merupakan argumennya. Jika string yang dimasukkan melebihi ukuran array, maka sisa string ( panjang string masukan dikurangi ukuran array plus karakter NULL) akan ditempatkan dilokasi sedudah bagian lain dari array tersebut. Jika terjadi seperti ini, untuk mengatasinya, disarankan menggunakan fungsi fgets() untuk menggantikan fungsi gets() tadi dalam memasukkan data string.
–fgets()
#include<stdio.h>
#include<conio.h>
main()
{
char name[15];
printf("Masukan Nama Anda : ");
fgets(name,sizeof name,stdin);
printf("\n Halo, %s. selamat belajar string",name);
getch();
}
nah, sudah terlihat bedanya kan? jadi kalo fungsi gets akan menympan seluruh input meskipun melebihi array, sedangkan fungsi fgets hanya akan menyimpan input yang panjangnya sesuai dengan array
0 komentar:
Posting Komentar