Senin, 28 Februari 2011

DASAR STRING

Pengantar String
String sangat memudahkan tugas pemogram. Dengan menggunakan string, pemogram dapat menampilkan pesan kesalahan, menampilkan prompt bagi masukan keyboard ataupun memberikan informasi pada layar dengan mudah. Seperti halnya tipe data yang lain, string dapat berupa konstanta atau variabel. Konstanta string sudah biasa anda sertakan pada program.

Misalnya pada pernyataan :
cout << “C++”<
#include
void main()
{
char teks[13]; //string dengan panjang maksimal 12 karakter
clrscr(); //hapus layar
cout<<”Masukan sebuah kata :”<> teks;
cout<< “Kata yang tercetak :”<<<>Suatu masalah akan timbul kalau cin.get() digunakan 2 kali seperti
>contoh program dibawah ini
>Pada contoh di atas cin.get() pertama digunakan untuk membaca nama
yang kedua untuk membaca alamat. Ternyata program tidak memberikan
>kesempatan untuk mengisi alamat. Hal ini terjadi karena get() yang
>pertama tidak membuang kode newline(\n). Oleh karena get() tidak
>mengabaikan spasi putih( spasi, tab , atau newline) maka get() kedua
#include
#include
void main()
{
char teks[13]; //string dengan panjang maksimal 12 karakter
>clrscr(); //hapus layar
>cout<<”Masukan sebuah kata :”<<;endl; >cin.get(teks, 13);
>cout<< “Kata yang tercetak :”<<;teks; } #include
#include
void main()
{
char nama[25];
char alamat[35];
>clrscr(); //hapus layar
>cout<<”Masukan Nama :”<<;endl; >cin.get(nama, sizeof(nama));
>cout<< “Masukan Alamat :”<<;endl; >cin.get(alamat,sizeof(alamat));
>cout<<”Nama:”<<;nama<<;endl; >cout<<”Alamat:”<<;alamat<<;endl; } >Modul 2 Struktur Data (Arie) - 3
3
>menjadi tidak berfungsi sebagaimana mestinya. Cara untuk
>menyelesaikan masalah di atas dengan menggunakan fungsi getline(),
>karena fungsi ini dapat membuang sisa data yang tidak dibaca, termasuk
newline itu sendiri. Pada contoh berikut, get() diganti dengan getline().
>Tampak bahwa dengan menggunakan getline(), data alamat dapat diisi.
Fungsi strcpyr>Bentuk dari dari strcpy() :r>strcpy(string_target,string_awal)r>Prototipe fungsi di atas ada pada file header string.hr>Contoh program yang menggunakan strcpy():
Fungsi toupper dan tolower
Fungsi toupper() berguna untuk memperoleh huruf kapital dari
suatu huruf kecil. Nilai balik dari fungsi ini akan berupa seperti
argumennya kalau argumen tidak berisi huruf kecil.
Adapun fungsi tolower() adalah kebalikan dari toupper(). Fungsi
ini memberikan nilai balik :
> Berupa huruf kecil kalau argumen berisi huruf kapitalr>�� Berupa nilai seperti argumen kalau argumen tidak berupa huruf
kecil
Kedua fungsi di atas memberikan nilai balik bertipe int dan memiliki
protipe pada file ctype.h
#include
#include
void main()
{
char nama[25];
char alamat[35];
clrscr(); //hapus layar
>cout<<”Masukan Nama :”<;<;endl;r>cin.getline(nama, sizeof(nama));
>cout<< “Masukan Alamat :”<;<;endl;r>cin.getline(alamat,sizeof(alamat));
>cout<<”Nama:”<;<;nama<;<;endl; >cout<<”Alamat:”<;<;<;endl; } #include
#include
#include
void main()
{
char teks[]=”C++ Oke”;
char data [25];
clrscr(); //hapus layar
strcpy(data,teks); // mengcopy isi teks ke data
>cout<<;”Isi data :”<<;<;endl; } Modul 2 Struktur Data (Arie) - 4 4 Contoh program : >Pada contoh di atas,
st[i]= toupper(st[i]);
menyebabkan setiap huruf kecil pada variabel st akan diganti dengan
huruf kapital.
�� Fungsi strlen()
Panjang suatu string dapat diketahui dengan mudah menggunakan
fungsi strlen(). Misalnya saja, didefinisikan :
>char bunga[15]= “mawar”;r>int panjang;r>Maka pernyataan yang menggunakan strlen :
panjang = strlen(bunga);r>akan memberikan panjang string yang tersimpan pada variabel bunga ke
panjang.

Fungsi strlwr() dan strupr
Jika isi semua huruf kapital pada suatu string dinginkan untuk
>diubah menjadi huruf kapital, hal ini dapat dilakukan melalui fungsi
>strlwr(). Misalnya, didefinisikan :
char st[]=”AbCdEfGeHjKl”;
Maka st akan berisi : “abcdefgehjki”;
Sedangkan fungsi strupr() kebalikan dari fungsi strlwr(). Kedua fungsi di
atas sama seperti tolower dan toupper.
>Contoh program untuk memperlihatkan efek strlwr() dan strupr() :
#include
#include<conio.h>
#include<ctype.h>
void main()
{
char st[]=”saya suka C++”;
>clrscr(); //hapus layar
for(int i=0; st[i];i++)
st[i]= toupper(st[i]);
cout<
#include<conio.h>
#include
void main()
{r>char bunga[15]=”mawar”;r>char kosong[23]=””
>clrscr(); //hapus layar
cout<<;strlen(bunga)<<endl; cout<<;strlen(kosong)<<endl;r>}r>Modul 2 Struktur Data (Arie) - 5
5

Konversi String ke Angka dan sebaliknya
Untuk melakukan konversi dari suatu string ke bilangan, dapat
menggunakan sejumlah fungsi bawahan. Fungsi-fungsi yang tersedia
dapat dilihat pada tabel.
Beberapa contoh hasil pengonversian string ke bilangan :r>�� atof(“+2.1E+02”) = 210
atof(“+2.”) = 2
atof(“2abc”) = 2
atof(“ 20.1”) = 20
atoi(“+2.1E+02”) = 2
atoi(“+2.”) = 2r>�� atoi(“2abc”) = 2
atoi(“ 20.1”) = 20
atol(“+2.1E+02”) = 2
atol(“+2.”) = 2
atol(“2abc”) = 2
atol(“ 2000000000”) = 2000000000
>Adapun fungsi yang berguna untuk mengubah suatu nilai bilangan
menjadi suatu string diantaranya ditunjukan pada tabel di bawah
Fungsi Prototipe Keterangan
atoi Stdlib.h Mengkonversi string argumen menjadi nilai
>bertipe int
atof Stdlib.h Mengkonversi string argumen menjadi nilai
bertipe float
atol Stdlib.h Mengkonversi string argumen menjadi nilai
bertipe long int
atold Stdlib.h Mengkonversi string argumen menjadi nilai
>bertipe long doubel
Fungsi Prototipe Keterangan
itoa Stdlib.h Mengkonversi int argumen menjadi nilai bertipe
string
ltoa Stdlib.h Mengkonversi long int argumen menjadi nilair>bertipe string
ultoa Stdlib.h Mengkonversi unsigned long argumen menjadi
nilai bertipe string
#include
#include
#include
void main()
{
char st[]=”AbCdEfGhIjKl”;
clrscr(); //hapus layar
cout<<”Isi St mula-mula:”<<;st<;strlwr(st);
cout<<”Isi setelah dikonversi strlwr: “<<;st<;strupr(st);
cout<<”Isi setelah dikonversi strupr: “<<;endl; } Modul 2 Struktur Data (Arie) - 6r>6
>Ketiga fungsi yang tercantum pada tabel di atas mempunyai tiga buah
argumen.
Argumen pertama berupa nilai yang akan dikonversi ke string
Agumen kedua berupa variabel penerima string hasil konversi
Argumen ketiga berupa basis bilangan yang digunakan. Bisa diisi
>dengan nilai antara 2 sampai dengan 36.
Misalnya, apabila hasil didefinisikan sebagai berikut :
char hasil[24];
int nilai= 2345;
Pernyataan :
itoa(nilai,hasil,10);
membuat hasil berisi “2345”;

1 komentar: