[Bahasa C] String dalam Bahasa C

STRING

Dasar-dasar String :

String sebenarnya merupakan penggunaan tipe data char secara berkelompok

Tipe data string merupakan array dari tipe data char

Deklarasi Variabel String :

Karena string merupakan array dari char, maka pendeklarasiannya sama dengan mendeklarasikan array dari char, yaitu :

Char nama_var [ jml_karakter ]

Contoh :

char alamat [40] –> deklarasi variabel alamat dengan tipe data string.

Nilai Variabel alamat terdiri dari beberapa karakter maksimal 40 karakter (0 s/d 39)

Inisialisasi Variabel String :

Variabel string dapat diinisialisasi dengan cara seperti berikut :

Char x[10]=“Permainan”;

x di memori setelah inisialisasi :

Karakter “” pada x [9] merupakan karakter null yang menandai berakhirnya suatu string.

Perbedaan Char dan String :

Char ‘A’ berbeda dengan string “A”

Lihat perbedaanya pada penggambaran memori berikut:

Operasi string tidak dapat dilakukan untuk tipe data char

Array of String :

Karena string merupakan array dari char, maka array string adalah array dua dimensi dari array char

Contoh : mendeklarasikan array yang menyimpan 30 nama, masing-masing nama terdiri dari 25 karakter

#define jml_orang 30

#define pjg_nama 25

….

Char nama [jml_orang] [pjg_nama]

Inisialisasi Array of String :

Inisialisasi array dari string dapat dilihat pada contoh berikut :

Char bulan[7] [10] = {“Senin”, “Selasa”, “Rabu”, “Kamis”, “Jumat”, “Sabtu”, “Minggu”}

Array of String dengan printf dan scanf :

Printf dan scanf dapat menangani argumen string dengan menggunakan format string %s

Contoh:

Printf(“Topik : %s\n”, string_var);

Secara default penulisan string menggunakan alignment rata kanan.

Untuk menuliskan string secara rata kiri (left justified) maka tuliskan tanda minus (-) didepan s

Contoh :

printf (“%-20s\n”,presiden);

Scanf digunakan untuk pemasukan string (input of string)

Fungsi-Fungsi pada Librari String :

String.h merupakan librari yang menyimpan fungsi-fungsi yang digunakan untuk menangani string ataupun substring.

Fungsi-fungsi dalam librari string.h antara lain : strcpy, strncpy, strcat, strncat, strcmp, strncmp, strlen.

a. Strcpy

Berfungsi untuk menyalin (copying) suatu string asal ke variable string tujuan. Bentuk umumnya : strcpy(var_tujuan, string_asal);

b. Strncpy

Berfungsi untuk menyalin (copying) suatu string asal ke variable string tujuan sebanyak n karakter sesuai yang diinginkan programmer. Bentuk umumnya: strncpy(var_tujuan, string_asal, n);. Dengan n adalah jumlah karakter yang ingin dipindahkan.
Cara menyalin substring di tengah :

Misal :

Char s2[10]

Char s1[15] = “Mar. 15, 2008”

s2 bernilai berapa?

Strncpy (s2,s1,3) –> s2 bernilai “Jan, “

Strncpy (s2, &s1[5], 2) –> s2 bernilai “15”

c. Strcat

Berfungsi untuk menambahkan string sumber ke bagian akhir dari string tujuan. Bentuk umumnya: strcat(tujuan, sumber);.

d. Strncat

Berfungsi sama dengan fungsi strcat, yaitu menambahkan string sumber ke bagian akhir dari string. Yang membedakan adalah pada jumlah karakter yang dipindahkan. Fungsi ini dapat memindahkan karakter sebanyak n karakter sesuai yang sudah diprogram oleh programmer. Bentuk umumnya: strncat(tujuan, sumber, n);. Dengan n adalah jumlah karakter yang ingin dipindahkan.

e. Strcmp

Berfungsi untuk membandingkan dua buah string. Hasil dari fungsi ini bertipe integer dengan nilai:

1) negative, bila string pertama kurang dari string kedua.

2) Nol, bila string pertama sama dengan string kedua.

3) Positif, bila string pertama lebih banyak dari string kedua.

Bentuk umumnya: strcmp(string1, string2);

f. Strncmp

Berfungsi untuk membandingkan n karakter pertama dalam dua buah string. Hasil dari fungsi ini sama dengan hasil dari fungsi strcmp. Bentuk umumnya:

Strncmp(string1, string2, n);. Dengan n adalah jumlah karakter yang ingin dibandingkan.

g. Strlen

Berfungsi untuk memperoleh jumlah karakter dari suatu string. Bentuk umumnya: strlen(string);

Operasi Karakter :

Fungsi dari library ctype.h :

a. Isalpha

Merupakan fungsi operasi karakter dengan tolok ukur fungsi akan bernilai benar jika argumen dalam syntax tersebut merupakan karakter yang berupa huruf dalam alphabet. Bentuk umumnya: isalpha(char);.

b. Isdigit

Merupakan fungsi operasi karakter dengan tolok ukur syntax akan menghasilkan nilai benar (bukan nol) bila karakter merupakan sebuah angka (digit) dari nol sampai sembilan. Bentuk umum: isdigit(char);.

c. Islower

Merupakan fungsi operasi karakter dengan tolok ukur syntax ini bernilai benar (bukan nol) jika karakter merupakan huruf kecil.

Bentuk umumnya: islower(char);.

d. Isupper

Merupakan fungsi operasi karakter dengan tolok ukur fungsi ini akan menghasilkan nilai benar (bukan nol) jika karakter merupakan huruf capital.

Bentuk umumnya: isupper(char);.

e. Ispunct

Merupakan fasilitas yang ada dalam ctype.h yang berfungsi untuk memasukkan karakter yang berupa tanda baca (punctuation), tidak termasuk didalamnya karakter spasi, huruf alphabet, dan angka (digit).

Bentuk umumnya: ispunct(char);.

f. Isspace

Merupakan fasilitas yang ada dalam ctype.h yang berfungsi pada karakter-karakter seperti spasi, newline tab, dan tab. Contoh penggunaannya:

c=getchar();

while(isspace(c) && c!=EOF)

c=getchar();

c=getchar();  while(isspace(c) && c!=EOF)  c=getchar();

g. Tolower

Fungsi ini akan merubah huruf kapital menjadi huruf kecil.

Bentuk umum: tolower(char);.

h. Toupper

Fungsi ini akan merubah huruf kecil menjadi huruf kapital.

Bentuk umum: toupper(char);

2 comments:

Unknown said...

Sangat Berguna mas!!!
Kok mggak di jadikan E-book aja trus di posting di Ilmukomputer.com sekalian promosi blog......

Unknown said...

Pembahasan mengenai string nya cukup lengkap dan jelas, hanya saja kalau boleh menambahkan sebenarnya ketika kita deklarasikan char s[10]; jumlah karakter yang bisa pakai dalam string itu hanyalah 9, karena karakter ke 10 akan diisi oleh null karakter '\0' sebagai penanda akhir dari string.

Dan satu hal lagi, mungkin blog nya akan jauh lebih baik lagi kalau content nya sedikit dirapihi supaya pengunjung bacanya lebih nyaman, :)

terimakasih,
Tukang Coding