Jumat, 02 Oktober 2015

Materi String


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:

#include <iostream.h>
void main()
{
char nama[5] = “Andi”;
cout<<”Nama awal : “<<nama<<endl;
char *ptr;
ptr = nama;
*(ptr+3) = ‘y’;
cout<<”Nama menjadi : “<<nama<<endl;
}
 
 









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:

# include <iostream.h>
# include < conio.h>
# include < string.h>

void main ( )
{
char kata1 [ 6 ] = “Hallo” ;
char kata2 [ 6 ] ;
strcpy (kata2, kata1) ;
cout << “Kata 1 adalah” << kata1 << endl ;
cout << “Kata 2 adalah” << kata2 << endl ;
}
 
 









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.

#include <stdio.h>
#include <conio.h>
int main()
{
int x,y;
char Bulan[12][4] = {"Jan", "Peb", "Mar", "Apr",  "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nop", "Des"};

for(x=0;x<12;x++)
{
for(y=0;y<3;y++)
cout << Bulan[x][y]);
printf(" ");
}
getch();
}
 
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.


Tidak ada komentar:

Posting Komentar