Anda di halaman 1dari 3

Operasi String Bahasa Pemrorgraman

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

usingnamespacestd;

intmain()
{
constintN_ITEMS=5,S_LENGTH=31;
charprods[5][S_LENGTH]={"TV311televisi31inch",
"CD111CDPlayer",
"MC123MesinCuci",
"TM456tapeMobil",
"PC955PersonalComputer"};
charlookUp[S_LENGTH],*strPtr=NULL;
intindex;

cout<<"\tProductDatabase\n\n";
cout<<"MasukanKodeangkaproductuntukmencaridata:";
cin.getline(lookUp,S_LENGTH);

for(index=0;index<N_ITEMS;index++)
{
strPtr=strstr(prods[index],lookUp);
if(strPtr!=NULL)
break;
}
if(strPtr==NULL)
cout<<"kodetidaksesuaidenganproduk.\n";
else
cout<<prods[index]<<endl;
getch();
return0;
}

Keluaran program diatas adalah:


ProductDatabase
MasukanKodeangkaproductuntukmencaridata:CD111[Enter]
CD111CDPlayer

ProductDatabase
2008 | Direktorat Pembinaan SMK 305

Bahasa Pemrograman Operasi String



MasukanKodeangkaproductuntukmencaridata:GJ987[Enter]
kodetidaksesuaidenganproduk.

Dalam program tersebut diatas, if(strPtr==NULL)


karena pengulangan tiap putaran cout<<"kodetidaksesuaidengan
melalui string dalam pemanggilan produk.\n";
array maka pernyataannya adalah else
sebagai berikut: cout<<prods[index]<<endl;

strPtr=strstr(prods[index],lookUp);
8.7. Konversi String/Numeric
Fungsi strstr mencari string yang Ada suatu perbedaan besar
sesuai oleh prods[index] karena antara nomor yang disimpan sebagai
nama yang dimasukkan oleh string dan yang disimpan sebagai
pengguna, yang mana disimpan nilai klasifikasi. String "26792"
dalam lookUp. Jika lookUp ditemukan sebenarnya tidak sebagai nomor,
di dalam prods[index], fungsi akan tetapi rangkaian yang diwakili kode-
mengembalikan alamatnya. Dalam kode ASCII untuk setiap digit-digit
kasus tersebut, statemen if dari nomor. Rangkaian tersebut
menyebabkan pengulangan akan menggunakan enam byte dari
berakhir. memori termasuk kode akhir string
(null).
if(strPtr!=NULL) Karena itu bukan sebagai nomor
break; nyata, maka tidak mungkin untuk
melaksanakan operasi matematik
Di luar pengulangan tersebut, sesuai dengannya, kecuali jika hal tersebut
statemen IF-ELSE untuk menentukan dikonversi menjadi nilai numerik.
jika string dimasukkan oleh pengguna Beberapa fungsi yang ada dalam
ditemukan dalam array. Jika tidak, pustaka C++ untuk mengubah
maka akan menginformasikan penyajian string angka ke dalam nilai
kepada pengguna bahwa tidak ada numerik dan sebaliknya. Tabel
produk yang sesuai ditemukan. dibawah menunjukan fungsi-fungsi
Sebaliknya, nomor produk dan tersebut:
deskripsi akan ditampilkan:

Tabel 8.2. Fungsi Konversi String

FUNGSI PENJELASAN
atoi Dalam string sebagai argument. Fungsi untuk mengubah String
menjadiintegerdanmengembalikannilai.
ContohPenggunaan:num=atoi("4569");
atol Dalam bahasa c, string sebagai argument. Fungsi untuk mengubah
Stringmenjadilongintegerdanmengembalikannilai.
306 Direktorat Pembinaan SMK| 2008

Operasi String Bahasa Pemrorgraman

ContohPenggunaan:lnum=atol("500000");
atof MenerimaCstringsebagaiargumen.Fungsimengubahstringkedua
yang kembali dan nilai. Gunakan fungsi ini mengkonversi string ke
floatataudouble.
ContohPenggunaan:fnum=atof("3,14159")
itoa Mengkonversi sebuah integer ke string. Argumen pertama, nilai,
adalah integer. Hasilnya akan disimpan di lokasi yang oleh kedua
argumen, string. Argumen yang ketiga, basis, merupakan integer. It
menentukan penomoran system yang dikonversi integer yang harus
dinyatakandalam(8=oktal,desimal=10,16=heksadesimal,dll).
ContohPenggunaan:itoa(nilai,string,basis);

Fungsi atoi mengkonversi string double akan dikembalikan, seperti


menjadi bilangan integer. Hal ditunjukkan pada program dibawah
tersebut menerima argumentasi ini:
string dan kebalika nilai bilangan
integer yang dikonversi. Di bawah ini doublefnum;
adalah sebuah contoh dari bagai- fnum=atof("12.67");
mana cara melakukan konversi:
Fungsi itoa adalah serupa
intnum; dengan atoi, tetapi itoa bekerja
num=atoi("1000"); kebalikannya. Itoa akan
mengkonversi suatu bilangan integer
Dalam statemen ini, atoi ke dalam penyajian string yang
mengkonversi string "1000" ke dalam merepresentasikan bilangan integer.
bilangan integer 1000. Begitu Fungsi itoa menerima tiga
variabel num diberikan nilai argumentasi: yaitu nilai bilangan
tersebut,maka dapat digunakan integer untuk dikonversi, suatu
dalam operasi matematik atau setiap penunjuk pointer menjadi lokasi
opersi yang memerlukan suatu nilai memori dimana string tersebut
numerik. disimpan, dan sebuah nomor
Fungsi atol bekerja seperti merepresentasikan dasar-dasar
halnya atoi, kecuali pada nilai dengan sebuah nilai yang dikonversi. Di
tipe data long integer. Perhatikan bawah ini adalah satu satu contoh
contoh dibawah ini: instruksinya:

longbigNum; charnumArray[10];
bigNum=atol("500000"); itoa(1200,numArray,10);
cout<<numArray<<endl;
sebagaimana yang diinginkan, fungsi
atof menerima sebuah argumentasi Sebuah potongan program
string dan melakukan konversi string tersebut diatas akan mengkonversi
menjadi double. Sebuah nilai numerik bilangan integer 1200 menjadi string.

2008 | Direktorat Pembinaan SMK 307

Anda mungkin juga menyukai