Tutorial Belajar C Part 24: Pengertian Typedef dan Cara Penggunaan Typedef Struct

Kali ini kita tidak membahas tipe data bahasa pemrograman C, tapi perintah atau keyword typedef serta typedef struct yang sering dipakai pada saat pendefinisian type data dalam bahasa C.


Pengertian Typedef dalam Bahasa C

Typedef adalah perintah atau keyword bahasa C yang dipakai untuk memberikan nama lain atau alias dari tipe data.

Sebagai contoh, saya bisa membuat tipe data angkaBulatPositif yang merupakan alias dari tipe data int unsigned. Atau tipe data angkaPecahan yang merupakan nama lain dari tipe data float. Nantinya kita juga bisa membuat alias dari tipe data yang lebih kompleks seperti struct.


Cara Penggunaan Typedef

Perintah typedef ditulis sebelum kode program utama, yakni sebelum main(). Dimana format penulisannya adalah sebagai berikut:

typedef tipeDataAsal namaAlias

Berikut contohnya:

#include <stdio.h>

typedef unsigned int angkaBulatPositif;
typedef float angkaPecahan;

int main(void)
{
  angkaBulatPositif a;
  angkaPecahan b;

  a = 123456;
  printf("Isi variabel a: %d \n",a);

  b = 23.4513;
  printf("Isi variabel b: %.2f \n",b);

  return 0;
}

Contoh kode program typedef bahasa pemrograman C
Di sini saya membuat 2 tipe data alias, yakni angkaBulatPositif sebagai nama lain dari unsigned int, serta angkaPecahan sebagai nama lain dari float (baris 3 dan 4)

Kedua "tipe data baru" ini dipakai untuk mendefinisikan variabel a dan b di baris 8 – 9. Hasilnya tidak berbeda dengan tipe data asli tersebut.

Anda juga bisa membuat nama alias dari tipe data lain, sekedar supaya penulisannya lebih singkat atau agar lebih mudah dipahami.


Cara Penggunaan Typedef Struct

Salah satu penggunaan typedef yang banyak dipakai adalah ketika di kombinasikan dengan struct. Tujuannya juga sama yakni mempersingkat penulisan.

Sebagai contoh awal, berikut kode program dengan tipe data struct tanpa typedef :

#include <stdio.h>

struct Siswa {
  char  nama[50];
  char  sekolah[50];
  unsigned int  uangSaku;
};

int main(void)
{
  struct Siswa siswa01;

  strcpy(siswa01.nama, "Andi Permana Nugroho");
  strcpy(siswa01.sekolah, "SMA 1 Lumut Ijo");
  siswa01.uangSaku = 10000;

  printf("%s bersekolah di %s ", siswa01.nama, siswa01.sekolah);
  printf("dengan uang saku %i per hari\n", siswa01.uangSaku);

  return 0;
}

Hasil Kode Program:

Contoh kode program tipe data struct bahasa pemrograman C

Kode program ini sama seperti yang kita pelajari pada tutorial sebelumnya: Pengertian dan Contoh Kode Program Tipe Data Struct.

Sekarang dengan tambahan perintah typedef, saya bisa tulis seperti ini:

#include <stdio.h>

struct Siswa {
  char  nama[50];
  char  sekolah[50];
  unsigned int  uangSaku;
};

typedef struct Siswa biodataSiswa;

int main(void)
{
  biodataSiswa siswa01;

  strcpy(siswa01.nama, "Andi Permana Nugroho");
  strcpy(siswa01.sekolah, "SMA 1 Lumut Ijo");
  siswa01.uangSaku = 10000;

  printf("%s bersekolah di %s ", siswa01.nama, siswa01.sekolah);
  printf("dengan uang saku %i per hari\n", siswa01.uangSaku);

  return 0;
}

Tambahannya ada di baris 9. Di sini saya membuat "biodataSiswa" sebagai alias dari struct Siswa. Sehingga di baris 13 untuk bisa menggunakannya ke dalam variabel siswa01 saya tinggal menulis biodataSiswa siswa01, tidak perlu lagi menulis ulang menggunakan keyword struct seperti contoh sebelumnya.

Lebih jauh lagi, typedef dan struct bisa digabung dalam 1 perintah:

#include <stdio.h>

typedef struct Siswa {
  char  nama[50];
  char  sekolah[50];
  unsigned int  uangSaku;
} biodataSiswa;

int main(void)
{
  biodataSiswa siswa01;

  strcpy(siswa01.nama, "Andi Permana Nugroho");
  strcpy(siswa01.sekolah, "SMA 1 Lumut Ijo");
  siswa01.uangSaku = 10000;

  printf("%s bersekolah di %s ", siswa01.nama, siswa01.sekolah);
  printf("dengan uang saku %i per hari\n", siswa01.uangSaku);

  return 0;
}

Perhatikan kode program di baris 3 – 7. Di sini saya menggabungkan typedef dengan struct. Nama alias biodataSiswa ditempatkan di bagian akhir (baris 7) setelah pendefinisan struct.


Seperti yang bisa kita lihat, perintah typedef ini tidak lain untuk membuat alias atau nama lain dari sebuah tipe data. Ini biasa dipakai untuk mempersingkat penulisan, atau agar tipe data menjadi semakin jelas. Meskipun ini juga bisa membawa efek negatif karena seseorang yang membaca kode program bisa saja bingung apa itu tipe data "angkaBulatPositif", dibandingkan "unsigned int".

Berikutnya kita akan membahas tentang tipe data Boolean dalam bahasa pemrograman C.

4 Comments

  1. Citizen Indo
    09 Jun 20
  2. GIlang
    13 Dec 20
  3. dea fahira
    07 Mar 21
  4. Adnya
    12 Jan 23

Add Comment

Leave a Reply to Citizen Indo Cancel reply