String pada bahasa C
8.1. String pada bahasa C
String merupakan sebuah bentuk yang berurutan dalam bentuk array data yang sering dipakai dalam berdimensi satu. bahasa pemrograman untuk
Dalam bahasa C++, string keperluan menampung dan merupakan suatu nilai karakter yang memanipulasi data teks. Sebagai berurutan dan disimpan dalam contoh fungsi string misalnya sebuah lokasi memori yang salalu digunakan untuk menampung atau diakhiri dengan karakter null. menyimpan sebuah kalimat dan lain
Sehingga untuk memanggil string sebagainya.
akan selalu dalam bentuk karakter Pada bahasa C, string bukanlah
ASCII. Dalam sebuah program merupakan tipe data berdiri operasi string, karakter null biasanya tersendiri, melainkan hanyalah ditulis ‘\0’, dimana hal tersebut kumpulan dari nilai-nilai karakter biasanya secara umum berupa
bilangan integer 0 atau nilai karakter
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Operasi String
null konstanta. Kemudian pernyataan menambah tanda ketik dua. tersebut disimpan dalam bentuk Perhatikan string dibawah ini: karakter variabel seperti dibawah ini:
“siapakah nama anda?”
char ch1, ch2, ch3;
“gatotkaca”
ch1 = '\0'; ch2 = 0;
Kedua penulisan tersebut diatas ch3 = NULL;
merupakan cara penulisan string. Perhatikan contoh program dibawah
Array merupakan sebuah lokasi ini: memori yang berurutan untuk menyimpan nilai tipe data yang Program 8.1 sama, tetapi pada string berupa array
#include <iostream>
yang selalu diakhiri dengan karakter null. String dalam bahasa C++ akan
using namespace std;
muncul dalam program berupa salah satu dari tiga bentuk dibawah ini:
int main()
“Hard-coded’’ string literals
Programmer mendefinisikan array cout << "gatotkaca" ; dari karakter
return 0 ;
Pointers ke karakter
Tanpa memperhatikan dari
ketiga bentuk string yang muncul Pada program diatas dapat dalam program tersebut, string selalu
diketahui bahwa compiler menangani mempunyai ciri array yang diakhiri string yang datang dalam bentuk
oleh karakter null dan string literal. Ketika compiler direpresentasikan dalam program menemui sebuah string “gatotkaca”, dalam bentuk pointer pada karakter maka hal tersebut akan dialokasikan pertama dalam sebuah array. dala sebuah array dengan panjang Dengan kata lain tipe string pada sepuluh karakter dalam bentuk data bahasa C++ adalah:
dalam program.
Compiler kemudian akan char *
menyimpan sembilan karakter dalam bentuk string “gatotkaca”. Dalam
dimana hal tersebut diatas adalah penyimpanan pertama dimasukan tipe char string menggunakan sebuah
karakter kesembilan kedalam array pointer
dan diakhiri dengan karakter null pada penyimpanan akhir. Langkah
terakhir compiler melewatkan nilai Penulisan String Secara harafiah
8.1.1. Konstanta String
tipe char * dan alamat array dari sebenarnya dapat disebut juga karakter pertama menjadi obyek cout. dengan konstanta string yang dapat
ditulis secara langsung dalam program secara berurutan dengan
Direktorat Pembinaan SMK| 2008
Operasi String Bahasa Pemrorgraman
g a t otk
a c a \0
dapat dideteksi. Sebagai sebuah array karakter, karakter pertama dari
nilai string mempunyai indeks ke-0, Gambar 8.1. Contoh sebuah string
karakter kedua mempunyai indeks ke-1, dan seterusnya. Program
Pada gambar diatas setiap dibawah ini mengilustrasikan sebuah karakter akan menempati memori string yang diperlakukan oleh sebesar 1 byte. Byte terakhir compiler sebagai sebuah nilai otomatis akan berisi karakter NULL dengan type data char* . Hal tersebut (\0). Dengan mengetahui bahwa merupakan sebuah operasi pointer suatu string diakhiri nilai NULL, maka
pada sebuah karakter. akhir dari nilai suatu string akan
Program 8.2 #include <iostream>
using namespace std;
int main() {
string storedAt = " disimpan pada " ; char *p, *q; // memasukan string ke pointer sebagai char p = "Hello " ; q = "Bailey" ; // pernyataan berikut sama dengan cout << p << q << endl; //cetak alamat dimana string C disimpan cout << p << storedAt <<int(p)<< endl; cout << q << storedAt <<int(q)<< endl <<int ( "string lainnya" );
return 0 ; }
Keluaran program diatas adalah sebagai berikut: Hello Bailey Hello disimpan pada 4309447
Bailey disimpan pada 4309454 4309461
Dua tugas pada program diatas Pointer p dan q kemudian menahan adalah menampilkan string dalam sebagai alamat dari dua string. bentuk pointer menjadi char dengan
Dengan memilih sebuah pointer int menggunakan variabe type char*. maka akan mengetahui dimana
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Operasi String
konstanta string disimpan dalam array dapat diberi nilai dengan sebuah memori. Dalam kasus ini menginisialisasi string tersebut. sebuah compiler telah menyimpan Selain memberi nilai dapat juga semua konstanta string pada sebuah
dilakukan dengan membaca karakter program dalam lokasi memori yang string melalui sebuah keyboard atau berurutan.
file, atau dapat juga dengan melakukan copy karakter ke dalam
8.1.2. Variabel String
array satu karakter pada saat yang
Sebuah variabel string dapat sama. Hal ini dapat juga dikatakan ditahan oleh string pada bahasa C bahwa suatu variabel string dapat yang ditulis dalam bentuk kode diinisialisasi seperti halnya array program. Untuk memiliki suatu yang lain. Namun tentu saja elemen karakter string dari sebuah keyboard,
terakhirnya haruslah berupa karakter atau dari sebuah file, maka harus NULL. dapat mendefinisikan sebuah array
untuk menampung karakter string char corporation[] tersebut. Di dalam melakukan hal ini,
={’G’,’r’,’a’,’p’,’h’,’I’,’c’,’s’,’\0’}; yang perlu pastikan adalah pada saat
mengalokasikan satu tambahan isi yang menyatakan bahwa name array untuk mengakhiri karakter null.
adalah variabel string dengan nilai Sebagai contoh, jika string akan lebih
awal berupa string: “Graphics” dari 19 karakter panjangnya, maka
Bentuk inisialisasi yang lebih singkat: perlu mengalokasikan sebuah array dengan 20 karakter, seperti contoh char corporation[ ] = "Graphics"; penulisan dibawah ini:
atau contoh lain bisa juga ditentukan char company[20];
jumlah karakternya:
instruksi tersebut diatas merupakan char company[20] = "Robotic Systems, instruksi untuk mendeklarasikan inc."; variabel string dengan panjang maksimal 20 karakter (termasuk
Pada bentuk penulisan diatas, karakter NULL). Deklarasi tersebut karakter NULL tidak perlu ditulis.
sebenarnya tidak lain merupakan Secara implisit akan disisipkan oleh deklarasi array bertipe char.
kompiler. Dalam penulisan yang perlu Pada sebuah konstanta string, diperhatikan, bila corporation
compiler string akan menunjukkan dideklarasikan sebagai string, string melalui alamat pertama penugasan (assignment) suatu string karakter string, dalam hal ini, array ke variabel string dan tidak identifier. Pada satu array dentifier diperkenankan menulis seperti dengan tanpa tanda kurung dibawah ini: diinterprestasikan oleh compiler sebagai alamat pertama yang masuk
corporation = “Graphics"; pada array. Suatu string dalam
bahasa c didefinisikan sebagai satu 292
Direktorat Pembinaan SMK| 2008
Operasi String Bahasa Pemrorgraman
dalam melakukan inisialisasi array class. Suatu string pada bahasa C sebuah string caranya adalah, ukuran
akan disimpan seorang programmer dari array di dalam sebuah array untuk mendefinisikan array yang merupakan sebuah opsional. Jika hal
dapat diproses dengan notasi tersebut tidak ditentukan, maka subscript standar. Program dibawah compiler itu akan mengatur ukuran merupakan sebuah contoh program string sesuai dengan banyaknya string. Contoh tersebut akan karakter yang ada didalam string mengeluarkan satu karakter string tersebut seperti contoh diatas.
pada waktu yang sama, dan berhenti
String pada bahasa C ketika itu menemukan akhiran null. mendefinisikan sebagai aray atau Instruksi tersebut menggunakan larik yang dapat terbaca dan ditulis fungsi keanggotaan getline yang dengan berbagai object, operator, dimiliki oleh bahasa C. Untuk lebih maupun keanggotaan fungsi jelasnya perhatikan program dibawah masukan atau keluaran sebuah ini:
Program 8.3 #include <iostream>
using namespace std;
int main() {
const int LENGTH = 80 ;
char line[LENGTH]; int count = 0 ;
cout << "Masukan kalimat tidak lebih dari " << LENGTH‐ 1 << " characters:\n" ; cin.getline(line, LENGTH); cout << "Kalimat yang anda Masukan Adalah:\n" ; while (line[count] != '\0') {
cout << line[count]; count++;
} return 0 ; }
Keluaran program adalah sebagai berikut: Masukan kalimat tidak lebih dari 79 characters: Bahasa C++ sangat menantang Ya ??[Enter] Kalimat yang anda Masukan Adalah: Bahasa C++ sangat menantang Ya ??
2008 | Direktorat Pembinaan SMK
Bahasa Pemrograman Operasi String