Belajar Tipe Data String dalam C++ (Disertai Gambar dan Video Penjelasan)

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)
Video 1. String gaya C dan C++

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.

Gambar 1. Sintaks pendefenisian string dengan gaya C (C-string / C-style)

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

Gambar 2. Contoh pendefenisian string menggunakan array sesuai sintaks 1

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.

Gambar 3. Ilustrasi array yang telah diisi dengan karakter dari string “Budi”

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.

Gambar 4. Sintaks pembentukan objek class string

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

Gambar 5. Contoh penggunaan sintaks 2

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.

Gambar 6. Sintaks penginisialisasian nilai string ke dalam objek pada saat pendeklarasian objek

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

Gambar 7. Contoh penggunaan sintaks 3

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.

Gambar 8. Inisialisasi nilai string pada objek

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

Gambar 9. Contoh penginisialisasian string berdasarkan sintaks 4

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 bytes
  • length()
    Mengembalikan nilai panjang string dalam satuan bytes
  • at(i)
    Mengembalikan nilai berupa karakter yang berada pada indeks ke i
  • back()
    Mengembalikan nilai berupa karakter terakhir dari string
  • front()
    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,030 total views,  6 views today

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *