Lompat ke konten Lompat ke sidebar Lompat ke footer

Strcat dan Strcmp Bahasa C dan Fungsinya

Rekursi dapat digunakan untuk kedua tugas berikut dalam satu baris program. Berikut ini adalah baris implementasi untuk strcat() dan strcmp().

2 Contoh Program Penggunaan Fungsi Strcat dan Strcmp pada Bahasa C
Ilustrasi Strcat dan Strcmp Bahasa C

Sebelum memahami lebih dalam materi tentang Strcat dan Strcmp Bahasa C dan Fungsinya, terlebih dahulu pelajari materi tentang: Membuat Array Multidimensi Bahasa C dan Fungsinya [klik], Petik Tunggal dan Ganda pada Array Char Bahasa C [klik], dan Array Shalow Copy Bahasa C dan Fungsinya [klik].

Contoh:

// my_strcat(dest, src)

// menduplikasi data dari src

// ke dest. Untuk

// melakukannya, maka terlebih

// dahulu harus mencapai

// bagian akhir dari dest

// menggunakan pemanggilan

// rekursifmy_strcat(++dest,

// src). Ketika bagian akhir

// telah dicapai, data akan

// diduplikasi menggunakan

// (*dest++ = *src++)?

// my_strcat(dest, src).

void my_strcat(char *dest, char *src)

{

(*dest)? my_strcat(++dest, src): (*dest++ = *src++)?

my_strcat(dest, src): 0 ;

}

 

// fungsi driver untuk

// melakukan percobaan.

int main()

{

char dest[100] = "MakanDan";

char *src = "Makan";

my_strcat(dest, src);

printf(" %s ", dest);

getchar();

}



Contoh: 
Fungsi my_strcmp() secara sederhana dibandingkan dengan my_strcmp().

// my_strcmp(a, b) returns

// nilai 0 jika string a dan b

// adalah sama, jika tidak

// maka akan mengembalikan

// nilai 1. Fungsi tersebut

// secara rekursif akan

// meningkatkan nilai pointer

// a dan b. Pada titik

// tertentu, jika nilai *a

// tidak sama dengan *b, maka

// akan mengemballikan nilai

// 1. Namun, jika berhasil

// mencapai hingga bagian

// akhir dari kedua string

// pada waktu yang bersamaan,

// maka akan mengembalikan

// nilai 0.

int my_strcmp(char *a, char *b)

{

return (*a == *b && *b == '\0')? 0 : (*a == *b)? my_strcmp(++a, ++b): 1;

}

 

// Fungsi driver untuk

// melakukan percobaan.

int main()

{

char *a = "MakanNasiPadang";

char *b = "MakanNasiPadang";

 

if(my_strcmp(a, b) == 0)

printf("String bernilai"

" sama");

else

printf("String tidak"

" bernilai sama");

 

getchar();

return 0;

}


Program sebelumnya fungsi rangkaian string sederhana dan string perbandingan, diman kedua fungsi tersebut tidak menyediakan fungsi yang sama seperti fungsi standar library.

Artikel ini didedikasikan kepada: Shania Putri Harlyyanti, Siska Rahma Sari, Tri Angga Wijayanto, Utari Hadi Novitasari, dan Windi Wandira.

5 komentar untuk "Strcat dan Strcmp Bahasa C dan Fungsinya"

  1. Apa yang dimaksud dengan strcat pada bahasa C?

    BalasHapus
    Balasan
    1. Pada bahasa pemrograman C ditawarkan beberapa fungsi pustaka yang disebut strcat yang memungkinkan satu blok memori dapat ditambahkan ke blok memori lainnya. Nama strcat adalah singkatan dari "string concatenate", yang terdapat pada file header.

      Hapus
  2. Apa fungsi strcmp pada bahasa C?

    BalasHapus
    Balasan
    1. Fungsi strcmp pada bahasa C digunakan untuk membandingkan dua nilai string, dimana dua nilai string tersebut adalah str1 dan str2. Jika kedua string tersebut bernilai sama maka strcmp() akan mengembalikan nilai 0, jika tidak, maka akan mengembalikan nilai bukan nol atau 1. Fungsi ini membandingkan karakter string dengan karakter lainnya menggunakan nilai karakter dari tabel ASCII.

      Hapus
    2. Fungsi strcmp digunakan untuk membandingkan argumen string yang terdapat dalam program bahasa C. fungsi ini membandingkan string secara leksikografis, yang berarti membandingkan karakter string dengan karakter lainnya. Fungsi strcmp akan mulai membandingkan karakter pertama dari string dengan karakter lainnya sampai karakter dari kedua string tersebut adalah sama atau karakter null ditemukan.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -