Pengelolaan input user pada operasi string
String
sebenarnya merupakan penggunaan tipe data char secara berkelompok. Tipe data
string merupakan array dari tipe data char.
1.
Variabel String
a.
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)
b. 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.
2.
Array of String
a.
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]
b. 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.
3.
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);
4. 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:
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).

Tidak ada komentar:
Posting Komentar