1/02/2013

Dasar-dasar String Pada Pemrograman C++


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();
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);
Sumber