
String sebagai tipe data bentukan adalah representasi data berupa kumpulan/deretan karakter. Adapun contoh dari deretan karakter yang dimaksud adalah teks seperti “C++“, “Programmer“, “noob“, dan lain sebagainya. Pada bahasa pemrograman C++ terdapat dua cara yang bisa kita lakukan untuk merepresentasikan dan menyimpan deretan karakter tersebut, yaitu:
- String gaya bahasa C (C-strings /C-style Strings)
- String gaya bahasa C++ (String sebagai objek dari class string)
String Gaya Bahasa C
Dalam pemrograman C, string adalah sekumpulan karakter yang disatukan dalam sebuah array. Cara tersebut juga didukung dalam bahasa pemrograman C++. Hal tersebut berarti bahwa cara tersebut juga dapat dilakukan dalam bahasa pemrograman C++. Dalam bahasa C++ cara ini dikenal dengan istilah C-strings atau C-style.
Gaya C-strings adalah membentuk string dari array 1 dimensi bertipe karakter (char)
Cara mendefenisikan string dengan gaya C-strings
Untuk mendefenisikan sebuah string menggunakan gaya C-strings, maka kita harus mendeklarasikan sebuah aray sebagai wadah untuk menampung string (deretan karakter). Perhatikan sintaks berikut ini:
Sintaks 1
char nama_array[ ]= "teks"
Keterangan:
- char : adalah keyword untuk tipe data karakter
- nama_array[ ] : diisi dengan nama array yang diinginkan diikuti dengan kurung siku
- “teks” : diisi dengan teks yang akan dimasukkan kedalam array yang diapit dengan tanda petik dua
Berikut gambar ilustrasi dari sintaks 1 di atas. Perhatikan gambar 1.

Agar dapat memahami sintaks di atas, berikut kami berikan contoh. Perhatikan gambar 2.

Pada gambar 2 dapat diketahui bhwa telah dideklarasikan sebuah array bertipe char
dengan nama array namaPanggilan
. Array namaPanggilan
menampung karakter 'B'-'u'-'d'-'i'
. Pada C++, nilai null
atau \0
akan ditambahkan secara otomatis di akhir array, sehingga indeks setelah indeks yang menyimpan karakter “i
” terdapat \0
. Kondisi array setelah diisi dengan teks “Budi
” dapat diilustrasikan seperti gambar 3 di bawah ini.

Sesuai ilustrasi gambar 3, kita dapat mengetahui bahwa teks yang diinputkan, dalam hal ini “Budi
“, akan disimpan perkarakter pada array. Setiap indeks atau ruang pada array akan menyimpan sebuah karakter. Lalu setelah karakter terakhir, secara otomatis akan ditambahkan karakter null “\0
“. Kumpulan karakter dalam array yang membbentuk teks inilah yang dikenal dengan istilah string gaya C (C-style) atau C-strings.
Jika menggunakan sintaks 1, maka ukuran array akan menyesuaikan dengan banyaknya teks. Namun, juga terdapat cara lain seperti pada contoh berikut:
char strng[5] = "Budi";
char strng[] = {'B','u','d','i','\0'};
char strng[i] = {'B','u','d','i','\0'};
Contoh program sederhana string gaya C
Contoh program membaca input string sebuah kata
#include <iostream>
using namespace std;
int main()
{
char namaPanggilan[50];
cout << "Masukkan nama panggilan anda: ";
cin >> namaPanggilan;
cout << "Anda memasukkan nama: " << namaPanggilan << endl;
return 0;
}
Output:
Masukkan nama panggilan anda: Budi
Anda memasukkan nama: Budi
Jika pada program di atas anda mencoba memasukkan nama lengkap ( mengandung spasi) maka hanya kata pertama yang akan diambil. Hal ini disebabkan karena operator >>
bertindak seperti fungsi scanf()
dalam bahasa C, dimana spasi dianggap sebagai karakter pemberhentian.
Solusi dari permasalahan di atas adalah dengan menggunakan fungsi cin.get(array, jumlah_karakter)
.
Berikut contoh program membaca satu baris teks (kalimat)
#include <iostream>
using namespace std;
int main()
{
char namaLengkap[50];
cout << "Masukkan nama lengkap anda: ";
cin.get(namaLengkap, 50);
cout << "Anda memasukkan: " << namaLengkap << endl;
return 0;
}
Output:
Masukkan nama lengkap anda: Boruto Uzumaki
Anda memasukkan: Boruto Uzumaki
String Gaya C++
Library standar C++ menyediakan tipe class string
. Dengan menggunakan cara ini, kita tidak perlu lagi membuat array bertipe char
untuk menampung kumpulan karakter. Cukup dengan membentuk objek dari class string
maka sebuah objek atau variabel dapat menampung deretan karakter.
Dalam gaya C++, string adalah objek yang merepresentasikan urutan karakter.
Objek string dibentuk dari class tring.Objek string tidak memiliki panjang yang tetap seperti ketika menggunakan gaya C-string
. Objek yang dibentuk dapat menyesuaikan ukurannya sesuai panjang string yang disimpan.
Cara mendeklarasikan objek string dan menginisialisasi string ke dalamnya
Adapun cara mendefenisikan mendeklarasiakan objek atau variabel bertipe string dapat dilihat pada sintaks 2.
Sintaks 2
string nama_objek;
Keterangan:
- string : adalah keyword class string
- nama_objek : diisi dengan nama objek / variabel yang akan digunakan untuk menampung teks / string
Agar dapat lebih mudah memahami maksud dari sintaks di atas, perhatikan gambar 4.

Contoh penerapan sintaks di atas dapat dilihat pada gambar 5 berikut ini.

Dari sintaks dan contoh di atas, kita telah membentuk sebuah objek bernama namaPanggilan
dari class string
. Karena objek namaPanggilan
dibentuk dari class string
, maka objek namaPanggilan
dapat menampung teks serta digunakan untuk mengakses fungsi yang ada pada class string
.
Menginisialisasikan string ke dalam objek
Terdapat 2 cara untuk menginisialisasikan string ke dalam objek yang telah dibentuk.
Cara 1, penginisialisasian pada saat pendeklarasian. Perhatikan sintaks 3.
Sintaks 3
string nama_objek = "teks";
Berikut gambar ilustrasi dari sintaks 3 di atas. Perhatikan gambar 6.

Adapun contoh penggunaan sintaks di atas dapat dilihat pada gambar 7.

Dari sintaks dan contoh di atas, kita telah membentuk sebuah objek bernama namaPanggilan
dari class string
sekaligus melakukan inisialisasi nilai string “Becce“. Pendeklarasian dan penginilisasian nilai dilakukan pada satu baris perintah
Cara 2, penginisialisasian setelah pendeklarasian. Perhatikan sintaks 4.
Sintaks 4
nama_objek = "teks";
Berikut gambar ilustrasi dari sintaks 3 di atas. Perhatikan gambar 8.

Adapun contoh penggunaan sintaks di atas dapat dilihat pada gambar 9.

Dari sintaks dan contoh di atas, kita telah melihat bahwa pendeklarasian dan penginilisasian nilai dilakukan secara terpisah. Sebuah objek dapat digunakan hanya jika sebelumnya telah dideklarasikan
Menggunakan fungsi class string pada objek yang telah dibentuk
Karena objek string dibentuk dari class string
, maka objek tersebut dapat digunakan untuk mengakses fungsi seperti dalam class string
. Berikut beberapa contoh fungsi yang ada pada class string
:
size()
Mengembalikan nilai panjang string dalam satuan byteslength()
Mengembalikan nilai panjang string dalam satuan bytesat(i)
Mengembalikan nilai berupa karakter yang berada pada indeks ke iback()
Mengembalikan nilai berupa karakter terakhir dari stringfront()
Mengembalikan nilai berupa karakter pertama dari string
Selain beberapa fungsi di atas, masih banyak fungsi lainnya yang dapat digunakan pada class string. Salah satu referensi mengenai fungsi dalam class string dapat anda temukan pada tautan http://www.cplusplus.com/reference/string/string/.
Contoh program sederhana string gaya C++
Berikut contoh program mendeklarasikan objek, menginisialisasikan nilai ke dalam objek serta pemanggilan fungsi menggunakan objek string.
#include <iostream>
using namespace std;
int main()
{
//Pendeklarasian objek
string namaPanggilan;
//Penginisialisasian nilai ke dalam objek
namaPanggilan="Becce";
//menampilkan isi objek;
cout<<"Nama panggilan saya adalah "<<namaPanggilan<<endl;
//menampilkan panjang string
cout<<"Panjang string nama saya adalah "<<namaPanggilan.length()<<endl;
//menampilkan karakter ke 2
cout<<"Karakter kedua nama saya adalah "<<namaPanggilan.at(1)<<endl;
}
Output:
Nama panggilan saya adalah Becce
Panjang string nama saya adalah 5
Karakter kedua nama saya adalah e
Pada contoh program sederhana di atas, pada baris 8, objek namaPanggilan
dideklarasikan / dibentuk menggunakan class string. Selanjutnya pada baris 12, objek namaPanggilan
diisi dengan string “Becce
“. Sehingga, saat ini namaPanggilan
menampung nilai “Becce
“.
Pada baris 16 digunakan perintah cout untuk menampilkan string “Nama panggilan saya adalah
” disusul isi dari objek namaPanggilan
. Kemudian pada baris 20
terdapat perintah untuk menampilkan panjang string dalam objek namaPanggilan
. Untuk mendapatkan panjang string tersebut, fungsi length()
digunakan pada objek namaPanggilan
. Pada baris 24 ditampilkan karakter ke 2 dari string yang disimpan pada objek namaPanggilan
menggunakan fungsi at(1)
. Nilai 1 digunakan karena indeks dimulai dari 0. Hasil pengeksekusian baris perintah 16, 20, dan 24 dapat dilihat pada output.
Semoga dapat menambah wawasan teman-teman yang masih baru dalam dunia pemrograman. Semoga bermanfaat.
Jika ingin mendengarkan penjelasan secara lisan, jangan sungkan untuk mengunjungi channel youtube kami “PAKKODING“.
Oh iya, share halaman ini agar orang-orang yang baru belajar pemrograman dapat terbantu.
Salam hangat dari tim pakkoding.id.
6,766 total views, 15 views today