Tutorial Belajar C Part 20: Pengertian dan Contoh Kode Program Tipe Data String

Kali ini kita akan lanjut membahas tipe data String dalam bahasa pemrograman C, yakni tentang Pengertian dan Contoh Kode Program Tipe Data String.


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 contoh kode program tipe data string bahasa pemrograman C

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 contoh kode program tipe data string bahasa pemrograman C - 2

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 contoh kode program tipe data string bahasa pemrograman C - 3

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).

Berikutnya saya masih ingin membahas tipe data string ini, yakni cara membaca dan menampilkan tipe data string menggunakan perintah scanf dan gets.

10 Comments

  1. Donny
    05 Oct 18
    • Andre
      06 Oct 18
    • Anam
      15 Sep 19
      • Andre
        16 Sep 19
  2. deny
    10 Nov 18
    • Andre
      16 Sep 19
      • Ki
        24 Nov 22
  3. Fajar Pratama
    11 Oct 19
    • Andre
      11 Oct 19
  4. zebra
    31 Mar 20

Add Comment

Leave a Reply to Donny Cancel reply