Konstanta String String pada bahasa C

2008 | Direktorat Pembinaan SMK 291 g a t o t k a c a \0 Gambar 8.1. Contoh sebuah string Pada gambar diatas setiap karakter akan menempati memori sebesar 1 byte. Byte terakhir otomatis akan berisi karakter NULL \0. Dengan mengetahui bahwa suatu string diakhiri nilai NULL, maka akhir dari nilai suatu string akan dapat dideteksi. Sebagai sebuah array karakter, karakter pertama dari nilai string mempunyai indeks ke-0, karakter kedua mempunyai indeks ke-1, dan seterusnya. Program dibawah ini mengilustrasikan sebuah string yang diperlakukan oleh compiler sebagai sebuah nilai dengan type data char . Hal tersebut merupakan sebuah operasi pointer pada sebuah karakter. 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 intp endl; cout q storedAt intq endl int string lainnya ; return ; } Keluaran program diatas adalah sebagai berikut: Hello Bailey Hello disimpan pada 4309447 Bailey disimpan pada 4309454 4309461 Dua tugas pada program diatas adalah menampilkan string dalam bentuk pointer menjadi char dengan menggunakan variabe type char. Pointer p dan q kemudian menahan sebagai alamat dari dua string. Dengan memilih sebuah pointer int maka akan mengetahui dimana 292 Direktorat Pembinaan SMK| 2008 konstanta string disimpan dalam sebuah memori. Dalam kasus ini sebuah compiler telah menyimpan semua konstanta string pada sebuah program dalam lokasi memori yang berurutan.

8.1.2. Variabel String

Sebuah variabel string dapat ditahan oleh string pada bahasa C yang ditulis dalam bentuk kode program. Untuk memiliki suatu karakter string dari sebuah keyboard, atau dari sebuah file, maka harus dapat mendefinisikan sebuah array untuk menampung karakter string tersebut. Di dalam melakukan hal ini, yang perlu pastikan adalah pada saat mengalokasikan satu tambahan isi array untuk mengakhiri karakter null. Sebagai contoh, jika string akan lebih dari 19 karakter panjangnya, maka perlu mengalokasikan sebuah array dengan 20 karakter, seperti contoh penulisan dibawah ini: char company[20]; instruksi tersebut diatas merupakan instruksi untuk mendeklarasikan variabel string dengan panjang maksimal 20 karakter termasuk karakter NULL. Deklarasi tersebut sebenarnya tidak lain merupakan deklarasi array bertipe char. Pada sebuah konstanta string, compiler string akan menunjukkan string melalui alamat pertama karakter string, dalam hal ini, array identifier. Pada satu array dentifier dengan tanpa tanda kurung diinterprestasikan oleh compiler sebagai alamat pertama yang masuk pada array. Suatu string dalam bahasa c didefinisikan sebagai satu array dapat diberi nilai dengan menginisialisasi string tersebut. Selain memberi nilai dapat juga dilakukan dengan membaca karakter string melalui sebuah keyboard atau file, atau dapat juga dengan melakukan copy karakter ke dalam array satu karakter pada saat yang sama. Hal ini dapat juga dikatakan bahwa suatu variabel string dapat diinisialisasi seperti halnya array yang lain. Namun tentu saja elemen terakhirnya haruslah berupa karakter NULL. char corporation[] ={’G’,’r’,’a’,’p’,’h’,’I’,’c’,’s’,’\0’}; yang menyatakan bahwa name adalah variabel string dengan nilai awal berupa string: “Graphics” Bentuk inisialisasi yang lebih singkat: char corporation[ ] = Graphics; atau contoh lain bisa juga ditentukan jumlah karakternya: char company[20] = Robotic Systems, inc.; Pada bentuk penulisan diatas, karakter NULL tidak perlu ditulis. Secara implisit akan disisipkan oleh kompiler. Dalam penulisan yang perlu diperhatikan, bila corporation dideklarasikan sebagai string, penugasan assignment suatu string ke variabel string dan tidak diperkenankan menulis seperti dibawah ini: corporation = “Graphics; 2008 | Direktorat Pembinaan SMK 293 dalam melakukan inisialisasi array sebuah string caranya adalah, ukuran dari array di dalam sebuah array merupakan sebuah opsional. Jika hal tersebut tidak ditentukan, maka compiler itu akan mengatur ukuran string sesuai dengan banyaknya karakter yang ada didalam string tersebut seperti contoh diatas. String pada bahasa C mendefinisikan sebagai aray atau larik yang dapat terbaca dan ditulis dengan berbagai object, operator, maupun keanggotaan fungsi masukan atau keluaran sebuah class. Suatu string pada bahasa C akan disimpan seorang programmer untuk mendefinisikan array yang dapat diproses dengan notasi subscript standar. Program dibawah merupakan sebuah contoh program string. Contoh tersebut akan mengeluarkan satu karakter string pada waktu yang sama, dan berhenti ketika itu menemukan akhiran null. Instruksi tersebut menggunakan fungsi keanggotaan getline yang dimiliki oleh bahasa C. Untuk lebih jelasnya perhatikan program dibawah ini: Program 8.3 include iostream using namespace std; int main { const int LENGTH = 80 ; char line[LENGTH]; int count = ; cout Masukan kalimat tidak lebih dari LENGTH‐ 1 characters:\n ; cin.getlineline, LENGTH; cout Kalimat yang anda Masukan Adalah:\n ; while line[count] = \0 { cout line[count]; count++; } return ; } 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 ??