Apa itu String? String merupakan bentuk data yang biasa dipakai dalam bahasa pemrograman untuk keperluan menampung dan memanipulasi data teks, misalnya untuk menampung (menyimpan) suatu kalimat.
Pada bahasa C, string bukanlah merupakan tipe data tersendiri, melainkan hanyalah kumpulan dari nilai-nilai karakter yang berurutan dalam bentuk array berdimensi satu array of char.
Konstanta String
Suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda, misalnya:
“ABCDE”
Nilai string ini disimpan dalam memori secara berurutan dengan komposisi sebagai berikut:
String Disimpan Dalam Memori Secara Berurutan |
Sebagai sebuah array of char, karakter pertama dari nilai string mempunyai indeks ke-0, karakter kedua mempunyai indeks ke-1, dan seterusnya.
Variabel String
Variabel string adalah variabel yang dipakai utuk menyimpan nilai string. Misalnya :
char name[15];
merupakan instruksi untuk mendeklarasikan variabel string dengan panjang maksimal 15 karakter (termasuk karakter NULL). Deklarasi tersebut sebenarnya tidak lain merupakan deklarasi array bertipe char.Inisialisasi String
Suatu variabel string dapat diinisialisasi seperti halnya array yang lain (dalam kurung kurawal dipisahkan koma). Namun tentu saja elemen terakhirnya haruslah berupa karakter NULL. Sebagai contoh :
char name[] = {'R','I','N', 'I',’\0’};
Yang menyatakan bahwa name adalah variabel string dengan nilai awal berupa string : “RINI”.char name[] = “RINI”;
pada bentuk ini, karakter NULL tidak perlu ditulis. Secara implisit akan disisipkan oleh kompiler.Input Output Data String
Untuk memasukkan atau menampilkan data String digunakan bisa beberapa fungsi standar yang ada di stdio.h.
Untuk operasi input :
– scanf()
– gets()
– fgets()
Untuk operasi output :
– puts()
– printf()
Memasukkan Data String
Pemasukan data string ke dalam suatu variabel biasa dilakukan dengan fungsi gets() atau scanf(). Bentuk umum pemakaiannya adalah sebagai berikut :
#include <stdio.h>
gets(nama_array);
atau#include <stdio.h>
scanf(“%s”, nama_array);
Perhatikan :- nama_array adalah variabel bertipe array of char yang akan digunakan untuk menyimpan string masukan.
- Di depan nama_array tidak perlu ada operator & (operator alamat), karena nama_array tanpa kurung siku sudah menyatakan alamat yang ditempati oleh elemen pertama dari array tersebut.
- Kalau memakai scanf(), data string masukan tidak boleh mengandung spasi.
main(){
char name[15];
printf("Masukkan nama Anda : ");
gets(name);
printf("\nHalo, %s. Selamat belajar string.\n", name);
}
Pengalokasian String |
Perlu diketahui, fungsi gets() akan membaca seluruh karakter yang diketik melalui keyboard sampai tombol ENTER ditekan dengan tanpa mengecek batasan panjang array yang merupakan argumennya.
Jika string yang dimasukkan melebihi ukuran array, maka sisa string (panjang string masukan dikurangi ukuran array plus karakter NULL) akan ditempatkan di lokasi sesudah bagian akhir dari array tersebut.
Tentu saja kejadian seperti ini bisa menimbulkan hal yang tidak diinginkan, misalnya berubahnya isi variabel yang dideklarasikan sesudah array tersebut karena tertumpuki oleh string yang dimasukkan (overwrite), atau perilaku program yang sama sekali berbeda dengan kemauan user yang dalam hal ini pelacakan kesalahannya (debugging) sangat sulit dilakukan, atau bahkan terjadi penghentian program secara tidak normal.
Untuk mengatasi hal itu, disarankan untuk menggunakan fungsi fgets() untuk menggantikan fungsi gets() dalam memasukkan data string. Bentuk umum pemakaian fgets() adalah :
#include <stdio.h>
fgets(nama_array, sizeof nama_array, stdin);
Uji Coba Dengan gets()
#include <stdio.h>
#define MAKS 5
main(){
char kar = 'A';
char nama[MAKS];
printf("Karakternya = %c\n", kar);
printf("Masukkan nama Anda : ");
gets(nama);
printf("\nNama Anda = %s\n", nama);
printf("Karakternya = %c\n", kar);
}
Output |
Menampilkan Data String
Untuk menampilkan isi variabel string, fungsi yang digunakan adalah puts() atau printf().
Bentuk umum pemakaiannya adalah sebagai berikut :
#include <stdio.h>
puts(var_string);
atauprintf("%s",var_string);
Dalam hal ini var_string adalah sebuah variabel yang berupa sebuah array of char.Fungsi puts() akan menampilkan isi dari var_string dan secara otomatis menambahkan karakter '\n' di akhir string.
Sedangkan fungsi printf() akan menampilkan isi variabel string tanpa memberikan tambahan '\n'. Sehingga, agar kedua pernyataan di atas memberikan keluaran yang sama, maka pada pernyataan printf() dirubah menjadi :
printf("%s\n", var_string);
Mengakses Elemen String
Variabel string merupakan bentuk khusus dari array bertipe char. Oleh karena itu, elemen dari variabel string dapat diakses seperti halnya pengaksesan elemen pada array.
Perhitungan jumlah karakter dari string teks dapat dilakukan dengan memeriksa elemen dari string dimulai dari posisi yang pertama (indeks ke-0) sampai ditemukannya karakter NULL.
Program berikut menunjukkan cara mengakses elemen array untuk menghitung total karakter dari string yang dimasukkan melalui keyboard.
#include <stdio.h>
#define MAKS 256
main() {
int i, jumkar = 0;
char teks[MAKS];
puts("Masukkan suatu kalimat (maks 255 karakter).");
puts("Saya akan menghitung jumlah karakternya.\n");
fgets(teks, sizeof teks, stdin);
for(i=0; teks[i]!='\0'; i++){
jumkar++;
}
printf("\nJumlah karakter = %d\n", jumkar);
}
Output |
Demikian artikel tentang String Dalam Bahasa C. Semoga bermanfaat :)
Ketentuan Komentar !!!
------------------------------
1. Komentar sesuai dengan artikel di atas
2. Komentar SPAM otomatis di blokir dan tidak akan dimunculkan
3. Komentar meninggalkan link aktif otomatis terhapus
4. Berkomentar dengan etika
Terima kasih atas komentarnya, semoga postingan di atas bermanfaat :)