MODUL 13 STRING 13.1 Pendahuluan String merupakan suatu kumpulan karakter yang terangkai secara bersamaan. Dalam bahasa C, string bukan merupakan tipe data tersendiri, namun merupakan jenis khusus dari tipe array. Tipe string dapat digunakan sebagai konstanta, yang ditulis dengan diawali dan diakhiri tanda petik ganda. Misalnya:“ Teknik Informatika”. Konstanta string seperti di atas disimpan dalam memori secara berurutan, dengan komposisi sebagai berikut: T E K N I K I N F O R M A T I K A Setiap karakter akan menempati memori sebesar 1 byte, dan byte terakhir otomatis akan berisi karakter NULL. Untuk setiap pendeklarasian string kita juga harus mengalokasikan ruang untuk menempatkan karakter null tersebut. Contoh lain apabila kita ingin menyimpan teks “Cheri”, maka kita membutuhkan suatu array dengan 6 buah elemen. Hal ini artinya kita akan menempatkan 6 buah karakter, yaitu 5 buah karakter untuk teks “Cheri” dan 1 karakter untuk karakter null. Dibawah ini gambar yang akan merepresentasikannya. C h e r i \0 S[0] S[1] S[2] S[3] S[4] S[5] Pada gambar diatas elemen S[5] berisi karakter null yang menunjukkan bahwa string tersebut telah berakhir. http://www.mercubuana.ac.id 1
Untuk menampilkan isi variabel string, dapat digunakan salah satu dari memasukkan data nama : gadisa aulia, maka data string yang dimasukkan akan diletakkan pada area memori yang sudah dipesan. Karena data yang dimasukkan kurang dari 15 karakter, maka otomatis setelah karakter terakhir akan diisi dengan karakter NULL. Instruksi gets( ) akan membaca seluruh karakter yang diketik pada keyboard sampai tombol ENTER ditekan. Dalam hal ini tidak ada pengecekan terhadap batasan dari array yang merupakan argumennya. Jika string yang dimasukkan melebihi ukuran array, maka sisa string (panjang string dikurangi ukuran array plus karakter NULL) akan ditempatkan ke lokasi sesudah bagian akhir array. 13.3 Inisialisasi String Suatu variabel string dapat diinisialisasi seperti halnya variabel array yang lain, namun pada elemen terakhir harus berupa karakter NULL. Sebagai contoh: char kota[ ] = {„Y‟, ‟o‟, ‟g‟, ‟y‟, ‟a‟, ‟k‟, ‟a‟, ‟r‟, ‟t‟, ‟a‟, ‟\0‟}; Contoh diatas menyatakan bahwa variabel kota adalah variabel string dengan nilai awal berupa string “Yogyakarta”. Bentuk inisialisasi yang lebih singkat adalah: char kota[ ] = “Yogyakarta”; Pada bentuk ini, karakter NULL tidak perlu ditulis, karena secara implisit akan disisipkan oleh kompiler. 13.4 Menampilkan isi variabel string ke layar Untuk menampilkan isi variabel string, dapat digunakan salah satu dari pernyataan berikut: o puts(var_string); printf(“%s”,var_string); printf(var_string); Contoh program berikut ini akan menampilkan isi variabel kota, berdasarkan dua bentuk inisialisasi string. /* -------------------------------------------------- */ /* File program : kota.cpp */ /* Contoh menampilkan data string ke layar */ #include <stdio.h> http://www.mercubuana.ac.id 3
Bila dijalankan akan didapatkan output: Pemograman menggunakan bahasa C 2. Fungsi strncat() Fungsi ini juga berguna untuk menambahkan string dari string str2 ke dalam str1. namun disini kita diizinkan menentukan berapa banyak karakter (n) dari str2 yang digabungkan ke str1. Contoh: #include <stdio.h> #include <string.h> main() { char s1[50] = "pemograman"; char s2[21] = "menggunakan bahasa c"; strncat(s1, s2, 11); printf("%s",s1); return 0; } Bila dijalankan akan didapatkan output: Pemograman menggunakan 13.5.2 Menentukan Panjang String Fungsi pustaka strlen() dapat digunakan untuk menghasilkan panjang dari suatu string. Contoh: #include<stdio.h> #include<string.h> main() { char *Nama1 = "Widya Astuti"; char Nama2[7] = "Gadisa"; printf("Panjang string Nama1 = %d\n", strlen(Nama1)); printf("Panjang string Nama2 = %d\n", strlen(Nama2)); return 0; } http://www.mercubuana.ac.id 5