Pengertian Tipe Data String dalam Bahasa C
Pengertian umum di bidang programming, string adalah tipe data yang menampung kumpulan karakter, seperti “aku”, “kamu” atau “Duniailkom”. Sebuah kalimat juga terhitung sebagai tipe data string, seperti “Saya sedang belajar bahasa C di Duniailkom”.
Di dalam bahasa pemrograman yang lebih modern, string biasanya menjadi tipe data bawaan. Misalnya di bahasa PHP atau JavaScript, tipe string langsung tersedia sebagaimana tipe data lain seperti integer, float atau char.
Namun bahasa pemrograman C tidak memiliki tipe data string secara langsung. String di dalam bahasa C adalah array dari tipe data char.
Cara Penggunaan Tipe Data String bahasa C
Karena string tidak lain adalah array dari char, maka cara pembuatan tipe data string dalam bahasa C juga sama seperti cara pembuatan array. Berikut contohnya:
#include <stdio.h> int main(void) { char foo[8] = {'b','e','l','a','j','a','r','\0'}; printf("Isi variabel foo adalah %s \n", foo); return 0; }
Hasil program :
Isi variabel foo adalah belajar
Di baris 5 saya membuat array foo yang bisa berisi 8 element, isi array foo ini berupa 8 buah tipe data char, yakni huruf ‘b’, ‘e’, ‘l’, ‘a’, ‘j’, ‘a’, ‘r’, dan ‘\0’. Ini dipakai untuk membuat sebuah string “belajar”.
Nanti dulu, kenapa ada tambahan ‘\0’ di bagian akhir?
Ini adalah salah satu syarat pembuatan string di dalam bahasa C. Semua string harus memiliki karakter “khusus” untuk menandakan akhir dari string. Tanda ‘\0’ mewakili karakter null yang dipakai oleh compiler bahasa C sebagai tanda akhir sebuah string.
Karena alasan ini pula saya harus membuat array foo sebagai foo[8], yakni sebuah array dengan 8 element, meskipun “belajar” hanya terdiri dari 7 karakter, bukan 8.
Ketika di tampilkan dengan perintah printf di baris 6, tipe data string memiliki kode tersendiri, yakni %s.
Bagaimana jika ternyata array foo di set dengan ukuran yang lebih kecil daripada yang seharusnya? Mari kita coba:
#include <stdio.h> int main(void) { char foo[5] = {'b','e','l','a','j','a','r','\0'}; printf("Isi variabel foo adalah %s \n", foo); return 0; }
Hasil program :
Isi variabel foo adalah belaj$
Hasilnya variabel foo berisi string “belaj$”, tanda $ di sini menandakan bahwa ada sesuatu yang salah. Selain itu di bagian bawah Code::Block tampil pesan peringatan: “warning: excess elements in array initializer”, yup ini karena array kita tidak bisa menampung semua karakter.
Karena string pada dasarnya sebuah array, kita bisa akses setiap element string sebagaimana layaknya sebuah array:
#include <stdio.h> int main(void) { char foo[8] = {'b','e','l','a','j','a','r','\0'}; printf("Isi variabel foo[0] adalah %c \n", foo[0]); printf("Isi variabel foo[5] adalah %c \n", foo[5]); printf("Isi variabel foo[7] adalah %c \n", foo[6]); printf("Isi variabel foo[8] adalah %c \n", foo[7]); return 0; }
Hasil kode program:
Isi variabel foo[0] adalah b
Isi variabel foo[5] adalah a
Isi variabel foo[7] adalah r
Isi variabel foo[8] adalah
Khusus untuk foo[8] tidak ada karakter yang tampil karena ‘\0’ atau karakter null yang secara prinsip berarti “kosong” atau “tidak ada”.
Alternatif lain dari penulisan string adalah dengan menulisnya dalam tanda kutip dua, seperti contoh berikut:
#include <stdio.h> int main(void) { char foo[11] = "Duniailkom"; printf("Selamat datang di %s \n", foo); return 0; }
Hasil kode program:
Selamat datang di Duniailkom
Jika ditulis seperti ini, kita tidak perlu menambah karakter null atau ‘\0’ di akhir string. String “Duniailkom” terdiri dari 10 karakter, tapi saya tetap harus membuat variabel foo[11] karena karakter null akan ditambahkan secara otomatis sebagai karakter ke-11.
Lebih jauh lagi, jumlah element array pun sebenarnya boleh tidak ditulis:
#include <stdio.h> int main(void) { char foo[] = "Belajar C di Duniailkom"; printf("Selamat datang di %s \n", foo); printf("Panjang string adalah %d \n", sizeof(foo)); return 0; }
Hasil program :
Selamat datang di Belajar C di Duniailkom
Panjang string adalah 24
Secara otomatis compiler bahasa C akan mengisi jumlah element array foo sesuai dengan jumlah karakter string, ditambah 1 untuk karakter null.
Di baris 8 saya menggunakan operator sizeof untuk mencari ukuran string foo, hasilnya “Panjang string adalah 24”, yakni total string “Belajar C di Duniailkom” sebanyak 23 karakter + 1 karakter null.
Dalam tutorial kali ini kita telah membahas pengertian dan cara penggunaan tipe data string dalam bahasa C, atau lebih tepat disebut sebagai array of char (array dari tipe data char).
Sumber : https://www.duniailkom.com/tutorial-belajar-c-pengertian-dan-contoh-kode-program-tipe-data-string/