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; }
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:
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.
Mudah di mengerti artikel nya
kak, kalo yang input nya user, pake yang typedef struct itu gimana ya?
struct Siswa {
char nama[50];
char sekolah[50];
unsigned int uangSaku;
};
untuk instansi objeknya kenapa harus mengetika kata struct lagi -> struct Siswa siswa01
saya coba di c++ bisa langsung -> Siswa siwa01
permisi min, mau nanya untuk semisal keluarannya itu ga menunjukkan angkat 10000 malah nunjukkin angka -780994000. Itu kira” kenapa yang min ?