Senin, 24 Desember 2012

String

Definisi String

String merupakan bentuk data yang biasa dipakai dalam pemrograman guna menampung dan memanipulasi data teks. Di dalam  C++, string bukan tipe data tersendiri tetapi hanya merupakan jenis khusus dari array.
String dipergunakan dalam konstanta dan variabel. Suatu konstanta string ditulis dengan diawali dan diakhiri oleh tanda petik. Misalnya:

“turbo C++”

Konstanta string akan disimpan berurutan dalam memori dan diakhiri tanda \0 atau NULL da setiap karakter akan menempati memori sebesar 1 byte.

 Contoh:
..... Turbo C++ \0. . .

Variabel string adalah variabel yang dipakai untuk menyimpan data string,

contoh:
Char nama [20] ;

Instruksi diatas berarti deklarasikan variabel nama dengan panjang maksimal 20 karakter dan bertipe array char.

Fungsi pada STRING

Pada C++ disediakan sejumlah fungsi makro yang didefinisikan dengan praprosesor #define.

Makro-makro yang didefinisikan dalam type.h adalah:

1.  Isalnum ()
Fungsi makro ini akan menghasilkan nilai benar (bukan nol) kalau argumennya adalah huruf besar, huruf kecil dan karakter digit ‘0’ sampai ‘9’.
Bentuknya adalah sebagai berikut:
Tipe isalnum (tipe argumen) ;
Contohnya adalah sebagai berikut:
                Int isalnum (int d);

2.  Isalpha ()
Fungsi makro ini akan menghasilkan nilai benar (bukan nol) kalau argumennya adalah huruf bukan angka.
Bentuknya adlah sebagai berikut:
                Tipe isalpha (tipe argumen)
3.  Isdigit ()
Fungsi makro ini akan menghasilkan nilai benar (bukan nol) kalau argumennya adalah karakter digit ‘0’ sampai ‘9’
Bentuknya adalah sebagai berikut:
                Tipe isdigit (tipe argumen)
4.  Islower ()
Fungsi makro ini akan menghasilkan nilai benar (bukan nol) kalau argumennya adalah huruf kecil.
Bentuknya adalah sebagai berikut:
                Tipe islower (tipe argumen)
5.  Isupper ()
Fungsi makro ini akan menghasilkan nilai benar (bukan nol) kalau argumennya adalah hurf besar.
Bentuknya adalah sebagai berikut:
                Tipe isupper (tipe argumen)
6.  Tolower ()
Fungsi makro ini akan menghasilkan huruf kecil jika diisi huruf besar, jika diisi bukan huruf besar maka akan menghasilkan sama dengan argumen itu sendiri.
Bentuknya adalah sebagai berikut:
                Tipe tolower (tipe argumen)
7.  Toupper ()
Fungsi makro ini kebalikan dari tolower yaitu akan menghasilkan huruf besar jika diisi huruf kecil  tetapi jika diisi selain huruf besar akan menghasilkan sama dengan argumen yang diisikan tersebut.
Bentuknya adalah sebagai berikut:
                Tipe toupper (tipe argumen)
8.  Strcpy ()
Fungsi ini dipakai untuk menyalin string asal ke variabel string tujuan, variabel tujuan harus memiliki ukuran yang dapat menampung seluruh karakter string asal.
Bentuknya adalah sebagai berikut:
                Strcpy (tujuan, asal)
9.  Strlen ()
Fungsi ini dipakai untuk menghitung jumlah karakter argumennya.
Bentuknya adalah sebagai berikut:
    Char S[ ] = “HALLO”
Cout<<”panjangnya : \n”, strlen (S);
Maka hasilnya adalah 5
10.  Strcat ()
Fungsi ini dipakai untuk menambah string asal ke bagian akhir string tujuan.
Bentuknya:
Strcat (tujuan, asal)
11.  Strcmp ()
Fungsi ini dipakai untuk membandingkan string str 1 dengan string str 2. Hasil dari fungsi ini bertipe int berupa nilai negatif (str1 kurang dari str2), nol(str1 = str2), positif (str 1 lebih dari str 2).

Contoh program:
#include
#include
#include

void main()
{
char kalimat [50];
int jum_kecil=0;
int jum_kapital=0;
int jum_pungtuasi=0;//tanda pungtuasi (seperti !/?)
int jum_digit=0; //karakter digit ( 0 sampai 9)

clrscr();
cout<<"masukkan string apa saja "<
cin.getline (kalimat,50);

for (int i=0; kalimat[i]; i++)
{
if (islower (kalimat [i]))
jum_kecil++;
if (isupper (kalimat[i]))
jum_kapital++;
if (ispunct (kalimat[i]))
jum_pungtuasi++;
if (isdigit (kalimat[i]))
jum_digit++;
}


cout<
cout<<"JUMLAH \n";
cout<<"Huruf kecil   : "<<
cout<<"Huruf kapital : "<<
cout<<"pungtuasi     : "<<
cout<<"Digit         : "<<
getch();
}

Contoh toupper dan tolower:


#include
#include
#include //toupper-tolower

void main()
{
char kata[20];
clrscr();
cout<<"masukkan sebuah kata : ";
cin.getline (kata,20);
for (int i = 0; kata [i]; i++)
kata [i]=toupper (kata [i]);
//kata [i]=tolower (kata [i]);
cout<<
getch();
}

Tidak ada komentar:

Posting Komentar