Translate

tutorial operasi string halaman 8

Selamat datang di eagleboot dan selamat membaca.

Fungsi yang terakhir dalam tabel diatas adalah strstr, yang digunakan untuk mencari sebuah string dalam dari sebuah string yang penjang. Sebagai contoh, misalnya digunakan untuk mencari string "tujuh" didalam sebuah string kalimat yang lebih besar "Nilai Empat dan tujuh pada tahun yang lalu".  Fungsi argumentasi yang pertama adalah string dicari, dan argumentasi yang kedua adalah string untuk mencari. Jika fungsi menemukan string dalam string yang kedua terlebih dulu hal tersebut kembalikan ke alamat kejadian string didalam string yang kedua. Sebaliknya jika hal tersebut tidak dikembalikan alamat 0, atau alamat NULL. Di bawah ini adalah contoh pengunaan fungsi tersebut:
 chararray[]="Nilaiempatpadatujuh tahunyanglalu"; char*strPtr; cout<<array<<endl; strPtr=strstr(array,"tujuh"); //mencaristring"tujuh" cout<<strPtr<<endl; 

Dalam segmen program yang sebelumnya, strstr akan menempatkan string "tujuh" di dalam string "Nilai Empat pada tujuh tahun yang lalu”. Hal tersebut akan kembalikan kealamat dari karakter yang pertama didalam "tujuh", yang selanjutnya akan disimpan dalam variabel penunjuk pointer strPtr. Jika menjalankan bagian dari suatu program engkap, segmen tersebut akan menampilkan sebagai berikut: NilaiEmpatpadatujuhtahunyanglalu tujuhpadatahunyanglalu  Fungsi strstr dapat bermanfaat dalam setiap program yang harus menempatkan informasi didalam string satu atau lebih. Program dibawah merupakan contoh, menyimpan suatu database sejumlah  produk dan penjelasan dalam satu array pada string. Hal tersebut memperbolehkan pengguna untuk mengetahui penjelasan sebuah produk dengan memasukan semua atau bagian dari nomor produknya. 

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 

MasukanKodeangkaproductuntukmencaridata:GJ987[Enter] kodetidaksesuaidenganproduk.  Dalam program tersebut diatas, karena pengulangan tiap putaran melalui  string dalam pemanggilan array maka pernyataannya adalah sebagai berikut: strPtr=strstr(prods[index],lookUp);  Fungsi strstr mencari string yang sesuai oleh prods[index] karena nama yang dimasukkan oleh pengguna, yang mana disimpan dalam lookUp. Jika lookUp ditemukan di dalam prods[index], fungsi akan mengembalikan alamatnya. Dalam kasus tersebut, statemen if menyebabkan pengulangan akan berakhir. if(strPtr!=NULL) break;  Di luar pengulangan tersebut, sesuai statemen IF-ELSE untuk menentukan jika string dimasukkan oleh pengguna ditemukan dalam array. Jika  tidak, maka akan menginformasikan kepada pengguna bahwa tidak ada produk yang sesuai ditemukan. Sebaliknya, nomor produk dan deskripsi akan ditampilkan: if(strPtr==NULL) cout<<"kodetidaksesuaidengan produk.\n"; else cout<<prods[index]<<endl;

8.7.Konversi String/Numeric

Ada suatu perbedaanbesar antara nomor yang disimpan sebagai string dan yang disimpan sebagai nilai klasifikasi. String "26792" sebenarnya tidak sebagai nomor, tetapi rangkaian yang diwakili kode- kode ASCII untuk setiap digit-digit dari nomor. Rangkaian tersebut menggunakan enam byte dari memori termasuk kode akhir string (null).  Karena itu bukan sebagai nomor nyata, maka tidak mungkin untuk melaksanakan operasi matematik dengannya, kecuali jika hal tersebut dikonversi menjadi nilai numerik. Beberapa fungsi yang ada dalam pustaka C++ untuk mengubah penyajian string angka ke dalam nilai numerik dan sebaliknya. Tabel dibawah menunjukan fungsi-fungsi tersebut:  Ta

Next read ON halaman 9

Share this

Related Posts

Previous
Next Post »