Variabel String String pada bahasa C

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 ?? 294 Direktorat Pembinaan SMK| 2008

8.2. Pointer pada Operasi String

Seperti yang sudah kita ketahui bahwa string pada bahasa C dapat diwakili ketika konstanta string, atau array sebuah karakter. Keduanya metoda ini mengalokasikan array dan lalu menggunakan alamat array sebagai suatu pointerpenunjuk untuk char sebagai aktualisasi yang merepresentasikan string. Perbedaan antara keduanya adalah bahwa dalam kasus yang pertama, array digunakan untuk menyimpan string yang dialokasikan secara implisit oleh compiler, sedangkan pada kasus kedua, array secara eksplisit dialokasikan oleh programmer. Metoda yang ketiga adalah dengan merepresntasikan string bahasa C menggunakan pointer untuk operasi char untuk menunjuk string pada bahasa C. Dengan metode ini penyimpanan sudah dialokasikan oleh salah satu atau dua metoda yang lain. Di sini ada beberapa contoh penggunaan string bahasa C adalah sebagai berikut: char name[ 20 ] = Sekolah menengah ; char p; p = name; cout p endl; cetak p p = sekolahku ; cout p endl; cetak p Keuntungan utama dalam menggunakan sebuah variabel penunjuk pointer adalah untuk merepresentasikan string pada bahasa C yang mempunyai kemampuan untuk membuat penunjuk titik pointer yang menunjuk string yang berbeda. Cara lain cara menggunakan penunjuk pointer char string pada bahasa C++ adalah dengan mendefinisikan penunjuk pointer dan kemudian menetapkannya untuk menunjuk secara dinamis dan mengalokasikan penyimpanan yang dikembalikan oleh operator yang baru. Hal ini dapat digambarkan pada contoh program dibawah ini: Program 8.4 include iostream using namespace std; int main { const int NAME_LENGTH = 50 ; char pname; pname = new char[NAME_LENGTH]; alokasi penyimpanan cout Masukan nama Anda: ; cin pname; cetak nama cout Hello pname; return ; 2008 | Direktorat Pembinaan SMK 295 } Keluaran program diatas setelah diberi masukan adalah: Masukan nama Anda: Suprapto [Enter] Hello Suprapto Suatu kesalahan umum yang sering terjadi dalam menggunakan penunjuk pointer char pada string bahasa C adalah ketika menggunakan penunjuk pointer tetapi tidak menunjuk dan mengalokasikan string dengan baik. Perhatikan contoh kode dibawah ini: char pname; cout Masukan Nama Anda: ; cin pname; kesalahannya adalah karena program mencoba untuk membaca sebuah string ke dalam lokasi memori yang ditunjuk oleh pname, ketika pname belum diinisialisasi dengan baik. 8.3. Library String Bahasa C++ Library C++ menyediakan banyak fungsi untuk memanipulasi dan menguji string. Sebagai contoh, sebuah program segmen berikut menggunakan fungsi strlen untuk menentukan panjang sebuah string yang disimpan dengan nama name: char name[ 50 ] = Thomas Edison ; int length; length = strlenname; Fungsi strlen untuk menerima string sebagai argumentasi. Hal tersebut digunakan untuk mengembalikan panjang string, dimana banyaknya karakter akan sampai tetapi tidak termasuk tanda null akhir string. Sebagai hasil dari panjang variabel string akan memiliki jumlah karakter 13 yang disimpan di dalam string. Panjang sebuah string harus tidak dikacaukan dengan ukuran dari array yang menahannya. Hal yang perlu diingat adalah bahwa satu-satunya informasi yang sedang diberikan kepada strlen adalah alamat permulaan dari string. Hal tersebut tidak mengetahui yang mana array sebagai tujuan akhir, sehingga hal tersebut akan mencari kode null yang menandai adanya ujung string. Karena string pada bahasa C berupa penunjuk pointer untuk tipe data char, string menangani fungsi yang mengambil parameter berupa array dari sebuah char atau ekivalensinya, penunjuk pointer untuk menangani tipe data char. string pada C dapat juga dilewatkan pada fungsi di dalam tiga bentuk manapun dimana string dapat mengambil:  Konstanta string  Nama array yang menyimpan string  Variabel Pointer yang menangani alamat C Sebagai contoh pada operasi untuk menghitung panjang string, maka fungsi strlen dapat digunakan sebagai ditunjukkan dibawah ini: