7.1.
Definisi String
String adalah kumpulan
beberapa karakter atau array dari karakter. String dan karakter dibedakan cara
penulisannya. String ditulis dengan diapit oleh tanda petik ganda “ … “ , dan
karakter ditulis dengan diapit oleh tanda petik tunggal ‘ … ‘. Akhir dari
string ditunjukkan oleh NULL karakter. Semua fungsi yangdigunakan untuk
melakukan manipulasi terhadap string menganggap string diakhiri dengan null.
Karakter null direpresentasikan dengan tanda ‘ \0 ‘.
7.2.
Deklarasi
String
Untuk
mendeklarasikan string, maka array yang ada harus dilebihkan 1(satu) untuk
tempat menampung karakter null.
Contoh
deklarasi string :
Akan
dideklarasikan array str untuk menampung string sepanjang 6 (enam) karakter,
maka
:
char
str [ 7 ] = “ string “ ; atau
char
str [ 7 ] = {‘s’, ‘t’, ‘r’, ’i’, ‘n’, ‘g’, ‘\0’ } ;
String juga
dapat dideklarasikan dengan menggunakan pointer, contoh:
|
7.3.
Contoh Operasi
Pada String
1.
Meng-copy
String
Untuk memberikan nilai
string dari suatu variable ke variable yang lain tidak dapat dilakukan hanya
dengan perintah : kata2 = kata1. Untuk memberikan nilai ke variable lain dalam
C++ digunakan perintah :
strcpy ( kata2, kata1 );
Maksudnya adalah akan di-copy isi dari
kata1 ke kata2.
Contoh:
|
2.
Mendapatkan
Panjang String
Untuk mendapatkan
panjang suatu string dapat menggunakan fungsi
strlen (string) ;
Contoh program :
int
panjangteks ;
char
kalimat [ 27 ] = “Belajar C++ tidaklah sulit” ;
panjangteks
= strlen (kalimat) ;
cout << “Panjang string adalah :’
<< panjangteks ;
3.
Menggabungkan
dua String
Sintaks : strcat
(string1, string2). Maksudnya : akan menambahkan string2
ke dalam string1.
Contoh program :
Char kata1 [ 5 ] = “Satu” ;
Char kata2 [ 5 ] = “Dua” ;
Strcat (kata1, kata2) ;
Hasil
dari potongan program diatasa adalah : Satu Dua
4.
Mencari
Sub-String
Sintaks : strstr
(string1, string2) ;
Fungsi ini akan
mereturn nilai 1 jika nilai string2 merupakan substring dari string1 dan akan
mereturn nilai 0(nol) jika string2 bukan substring dari string1.
Contoh program :
Diberikan suatu string “Jakarta Kota
Metropolitan”. Apakah string “Metro” terdapat dalam kalimat tersebut ?
Potongan program untuk menjawabnya
adalah :
if
(strstr(“Jakarta Kota Metropolitan”, “Metro”) = = 1 )
cout << “Merupakan
substring” ;
else
cout
<< “Bukan substring” ;
7.4.
Array of String
Untuk
mendeklarasikan array dari string digunakan sintak seperti contoh berkut:
char
nama[10][50];
berarti
mendeklarasikan array of string yang berjumlah 10 data bertipe string (array of
character), dimana masing-masing string mampu menampung karakter maksimal
sebanyak 50 karakter.
|
Contoh:
7.5.
Exercise
1.
Buatlah program
untuk menganalisa sebuah string inputan yang diinputkan oleh user dan kemudian
tampilkan:
o Berapa jumlah karakter yang berupa karakter vokal (a,i,u,e,o)
o Berapa jumlah karatker yang non vokal dan karakter-karakter
lainnya
2.
Kembangkan soal
1 untuk menghitung berapa jumlah vokal “A“, “I“, “U“, “E“, dan “O“
masing-masing!
3.
Buatlah program
untuk membalik kata, misalnya kata “anton“ akan menjadi “notna“ dengan
menggunakan array of char!
4.
A common typing
error is to place your hands on the keyboard one row to the right of the
correct position. Then “Q” is typed as “W” and “J” is typed as “K” and so on.
Your task is to decode a message typed in this manner.
Input
Input consists of several lines of text. Each line may contain
digits, spaces, uppercase letters (except “Q”, “A”, “Z”), or punctuation shown
above [except back-quote (‘)]. Keys labeled with words [Tab, BackSp, Control,
etc.] are not represented in the input.
Output
You are to replace each letter or punctuation symbol by the one
immediately to its left on the QWERTY keyboard shown above. Spaces in the input
should be echoed in the output.
Sample Input
O S, GOMR YPFSU/
Sample Output
I AM FINE TODAY.