Operasi String
About String String merupakan tipe data dasar dalam C++ untuk menyatakan kumpulan karakter / kata / kalimat. Dengan menggunakan string, pemrogram dapat menampilkan pesan kesalahan, menampilkan prompt bagi masukan dari keyboard, ataupun memberikan informasi pada layar. Untuk dapat menggunakan tipe data string diperlukan penggunaan #include “string” pada header dalam program c++ Untuk dapat menerima input berupa string (kalimat dari beberapa kata), penggunaan sintak cin diikuti fungsi anggota getline().
GETLINE() Penulisan getline getline (cin, nama_variabel) //fungsi getline string kalimat1, kalimat2; cout<<"Masukkan kalimat 1 : "; getline(cin, kalimat1); cout<<"Masukkan kalimat 2 : "; getline(cin, kalimat2); cout<<kalimat1<<endl<<kalimat2;
Menyambung STRING string kalimat1, kalimat2; string kalimat; cout<<"Masukkan kalimat 1 : "; getline(cin, kalimat1); cout<<"Masukkan kalimat 2 : "; getline(cin, kalimat2); kalimat = kalimat1 + kalimat2; cout<<kalimat<<endl; atau cout<<kalimat1<<" "<<kalimat2<<endl; cout<<kalimat1 + " " + kalimat2;
Panjang STRING Panjang suatu string dapat diketahui dengan menggunakan fungsi anggota length() atau size() string kalimat = "Saya senang belajar C++"; int panjang = kalimat.length(); cout<<panjang; atau int panjang = kalimat.size(); Saya senang belajar C++ 23 karakter
Mengambil STRING Untuk mengambil bagian dari suatu string, baik itu berupa suatu karakter, berupa kata, maupun beberapa kata dalam suatu string digunakan sintak substr Penulisannya : str.substr (x, y) akan diambil dari str mulai dari posisi x sebanyak y karakter. dengan : str = nama variabel string x = posisi mulai string diambil (int) y = panjang string yang mau diambil (int)
Misalkan ada string kota = “Jawa Tengah” maka bila kota Misalkan ada string kota = “Jawa Tengah” maka bila kota.substr(5,6) = “Tengah”
string kalimat1, kalimat2; cout<<"Masukkan kalimat 1 : "; getline(cin, kalimat1); cout<<"Masukkan kalimat 2 : "; getline(cin, kalimat2); string kata = kalimat1.substr(3); string kata1 = kalimat1.substr(6,12); string kata2 = kalimat2.substr(0,5); string kata3 = kalimat2.substr(0); cout<<endl<<kata<<endl<<kata1<<endl<<kata2<<endl<<kata3;
Mencari STRING Untuk menentukan posisi suatu karakter atau potongan string di dalam suatu string besar digunakan fungsi anggota find. Penulisannya : str.find(“aaa”) akan dicari dan diambil posisi dari xx di dalam string dengan : str = nama variabel string aaa = apa yang akan dicari hasil dari pengembalian nilai find berupa posisi awal dalam tipe data integer
Index untuk menunjukan apa yang dicari tidak ditemukan string kalimat1 = “Pagi ini cuacanya cerah sekali”; string kalimat2 = “Saya senang kuliah di MDP”; int posisi1 = kalimat1.find(‘a’); int posisi2 = kalimat1.find(“Pagi”); int posisi3 = kalimat2.find(“senang”); int posisi4 = kalimat2.find(“Saya senang kuliah”); int posisi5 = kalimat2.find(“pagi”); cout<<posisi1<<endl<<posisi2<<endl<<posisi3<<endl<<posisi4<<endl<<posisi5; Index untuk menunjukan apa yang dicari tidak ditemukan
Mengganti STRING Untuk mengganti suatu karakter atau potongan string di dalam suatu string besar digunakan fungsi anggota replace. Penulisannya : str.replace (a, b, “ccc”); dengan : str = nama variabel string a = posisi dimulainya pergantian b = panjang bagian string yang mau diganti ccc = string yang menggantikan / potongan string baru.
cout<<kalimat<<endl; kalimat.replace(0,12,"Kami"); string kalimat = "Saya dan dia sama-sama mengambil mata kuliah ini"; cout<<kalimat<<endl; kalimat.replace(0,12,"Kami"); cout<<kalimat; string kalimat = “There are two needles in this haystack with needles"; string kata = "needles"; int posisi; kalimat.replace(kalimat.find(kata), kata.length(), “mouse");
Menyisipkan STRING Untuk menyisipkan suatu karakter / kata / potongan string ke dalam suatu string lainnya digunakan fungsi anggota insert. Penulisannya : str.insert(x, “yyy”); dengan : str = nama variabel string x = posisi dimulainya penyisipan yyy = string yang mau disisipkan /potongan string baru.
kalimat.insert(5,“Renni "); string kalimat = "Saya dan dia sama-sama mengambil mata kuliah ini"; cout<<kalimat<<endl; kalimat.insert(45,“Dasar Pemrograman "); cout<<kalimat; kalimat.insert(5,“Renni ");
Menghapus STRING Untuk menghapus suatu karakter / kata / potongan string di dalam suatu string digunakan fungsi anggota erase. Penulisannya : str.erase(x, y); dengan : str = nama variabel string x = posisi dimulainya penghapusan y = panjang karakter yang akan dihapus
kalimat.erase(0,kalimat.length()); string kalimat = "Saya dan dia sama-sama mengambil mata kuliah ini"; cout<<kalimat<<endl; kalimat.erase(13,10); cout<<kalimat; kalimat.erase(0,kalimat.length());
TOUPPER & TOLOWER toupper adalah suatu fungsi untuk membuat suatu karakter (char) menjadi upper case (huruf kapital). Bila karakter sudah upper case, maka tidak ada perubahan. Penulisannya : toupper(char) Ada juga fungsi tolower untuk membuat suatu karakter menjadi lower case (huruf kecil semua / kebalikan dari toupper). tolower(char)
int panjang = kalimat.length(); cout<<kalimat<<endl; string kalimat = “aaaBbb Ccccc DDdddeeeeeeee”; int panjang = kalimat.length(); cout<<kalimat<<endl; for (int i=0; i<=panjang-1; i++) { kalimat[i] = toupper(kalimat[i]); } kalimat[i] = tolower(kalimat[i]);
LATIHAN Buatlah sebuah program yang menerima input string dari user sebanyak tiga buah string, dan tampilkanlah gabungan dari ketiganya serta panjang gabungan string tersebut. Tampilkan potongan kata STMIK GI MDP dari string “Saya melanjutkan kuliah di STMIK GI MDP dan MDP Bussiness School untuk 3,5 tahun kedepannya” dan tentukan posisi untuk kata MDP yang pertama dan kata MDP yang kedua.
Disajikan string data sebagai berikut : BRG001|Indomie Goreng Pedas|3000 Tampilkan data untuk kode barang, nama barang, serta harga barang seperti eksekusi di bawah ini : Buatlah program untuk menghitung banyaknya kata dalam kalimat : "Hari ini kita mempelajari tentang operasi string“ Tampilkan banyak kata yang didapat.