Tutorial Belajar C Part 22: Cara Mengubah Isi String dengan Fungsi strcpy

Tutorial bahasa C kali ini masih membahas tentang string. Jika sebelumnya kita mempelajari cara pembacaan string yang tidak cukup dengan perintah scanf saja, kali ini akan dibahas tentang cara mengubah isi string yang juga butuh perlakuan khusus.


Error Pada Saat Mengubah Isi String

Dalam beberapa tutorial sebelumnya, kita secara langsung mengisi string pada saat proses deklarasi atau menggunakan perintah scanf / gets. Misalnya: char nama[20]= "Andika Putra".

Tapi ketika isi string diisi setelah di deklarasikan, akan terjadi error. Berikut contohnya:

#include <stdio.h>

int main(void)
{
  char nama[20];
  nama = "Andika Putra";

  printf("Selamat belajar %s \n", nama);
  return 0;
}

Error pada saat pemberian nilai string ke dalam array

Hasil kode program:

error: assignment to expression with array type

Error di atas terjadi karena di dalam bahasa C kita tidak bisa langsung mengubah isi array. Operasi pemberian nilai nama = "Andika Putra" tidak bisa dipakai. Solusinya, harus menggunakan function strcpy.


Cara penggunaan function strcpy

Perintah strcpy bisa dipakai untuk memcopy sebuah string ke dalam string lain, atau sebuah string ke dalam variabel. Dalam bahasa C, strcpy adalah sebuah fungsi atau function.

Menggunakan fungsi strcpy, contoh sebelumnya bisa diubah menjadi sebagai berikut:

#include <stdio.h>

int main(void)
{
  char nama[20];
  strcpy(nama, "Andika Putra");

  printf("Selamat belajar %s \n", nama);
  return 0;
}

Hasil kode program:

Selamat belajar Andika Putra

Sekarang proses pemberian nilai baru ke dalam variabel nama sudah berhasil.

Fungsi strcpy butuh 2 buah "nilai" atau dalam istilah programming butuh 2 buah "argumen". Argumen ini ditulis dalam tanda kurung. Perintah strcpy(nama, "Andika Putra") artinya copy string "Andika Putra" ke dalam variabel nama.

Proses pertukaran nilai string ini juga bisa dilakukan beberapa kali, seperti contoh berikut:

#include <stdio.h>

int main(void)
{
  char nama[20];

  strcpy(nama, "Andika Putra");
  printf("Selamat belajar %s \n", nama);

  strcpy(nama, "Alex Firmansyah");
  printf("Selamat belajar %s \n", nama);

  strcpy(nama, "Fany Ramadhani");
  printf("Selamat belajar %s \n", nama);

  return 0;
}

Contoh kode program strcpy bahasa pemrograman C

Di sini saya mengubah nilai variabel nama sebanyak 3 kali menggunakan function strcpy, kemudian menampilkannya menggunakan perintah printf.

Sedikit catatan, meskipun kita tidak bisa mengubah nilai string secara langsung, tapi setiap element array bisa diubah seperti biasa. Berikut contoh prakteknya:

#include <stdio.h>

int main(void)
{
  char nama[20] = "Andika Putra";
  printf("Selamat belajar %s \n", nama);

  nama[0] = 'I';
  printf("Selamat belajar %s \n", nama);

  return 0;
}

Hasil kode program:

Selamat belajar Andika Putra
Selamat belajar Indika Putra

Di baris 8, saya mengubah nilai karakter pertama dari string nama dengan huruf 'I', sehingga isi variabel nama berubah menjadi "Indika Putra". Artinya, kita tetap bisa mengubah setiap element array nama secara langsung, tapi tidak bisa mengubah keseluruhan string (harus menggunakan function strcpy).


Dalam lanjutan tutorial belajar bahasa pemrograman C di Duniailkom kali ini kita telah membahas cara mengubah string dengan fungsi strcpy. Berikutnya akan dibahas tentang tipe data struct bahasa C.

2 Comments

  1. GAMARA
    18 Oct 18

Add Comment

Leave a Reply to GAMARA Cancel reply