Anda di halaman 1dari 3

TIPE DATA LANJUTAN

Bahasa C mempunyai lima tipe data dasar, yaitu int, float, double, chardan void.
Disamping tipe data dasar ini, bahasa C juga menyediakan tipe data enumerasi,struktur,
medan digit(bit field) dan union. Sebuah kata kunci typedef bukan suatu tipe data, tetapi
dapat digunakan untuk mendefinisikan suatu nama tipe data menjadi tipe data lainnya.
1. Enumerasi
numerasi suatu tipe data yang mempunyai elemen!elemen bernilai konstatnta dengan
urutan yang sudah tertentu."ilai!nilai tersebut berupa nilai integer. "ama enumerasi
boleh tidak ditulis jika tidak digunakan untuk enumerasi lain.
Deklarasi
enum "ama#tipe $ elemen%,elemen&,'()
Contoh * enum $+inggu, senin,selasa, rabu, kamis,jumat,sabtu() printf(,-d
-d-d-d-d-d.,minggu,senin,selasa,rabu,kamis,jumat,sabtu))
/utput * 0%&1234
Inialisasi
enum $+inggu, senin,selasa 5%0, rabu, kamis,jumat 5&1,sabtu()
printf(,-d -d -d -d -d.,minggu,senin,selasa,rabu,kamis,jumat))
output * 0 % %0 %% %& &1
Deklarasi variabel enum * "ama#tipe nama#variabel )
Contoh *
6include 7stdio.h8
main () $ enum nama_hari 99deklarasi enum
$senin,selasa,rabu,kamis,jumat,sabtu( hari%,hari& )
hari%5 senin) hari& 5 jumat) printf( selisih hari 5 -d., hari&!hari%)) (
output * selisih hari 5 2
ket * hasil didapat dari jumat : senin 5 2 : 0 5 2
hari% dan hari& adalah variable bertipe enum
bila didefinisikan terpisah dengan deklarasi enum maka ditulis menjadi
nama_hari hari%, hari&)
2. Struktur
adalah suatu pengelompokan dari variable!variabel yang bernaung dalam satu nama
yang sama. ;ariabel!variabel yang membentuk suatu strukur disebut sebagai elemen
atau anggota struktur. Dengan demikian suatu struktur dapat berisi dengan elemen!
elemen data bertipe int, float, char dan lain!lain.
Deklarasi
Struct "ama#Struktur $ elemen9tipe data struktrur ) ( )
Contoh * struct Data $
int tinggi )
char alamat<10=)
()
Bahasa C, M-13 Jamilah, Skom
%
variable struktur dideklarasikan dengan * struct "ama#struktur "ama#variable)
Contoh * struct Data Dian, >ndi) 99 Dian dan >di variable dari struct Data
Cara lain mendeklarasikan variable struktur adalah digabung dengan deklarasi struct
dengan bentuk sbb *
struct Data $ int tinggi)
char >lamat<10=)
( Dian, Adi;
Inisialisasi
;ariabel!varibel struct dapat langsung diberi nilai a?al.
Contoh * struct Data $
int tinggi)
char >lamat<10=)
( Dian, Adi ! 1"#, $%l.ma&ar 2'( ;
nilai a?al diberikan pada variable >di dengan tinngi %@0 dan alamat ,jl.+a?ar &.
Bila deklarasi variable terpisah dengan deklarasi nama dan tipe data strukturnya, ditulis
menjadi * struct Data Dian , >di 5$%@0, ,jl.ma?ar &.()
)en*akses Elemen+elemen struktur.
Bentuk * variable#struktur.nama#anggota
Contoh * Dian.tinggi 5 %43)
Contoh program% *
6include 7stdio.h8
main () $
struct Data 99 deklarasi struktur dengan nama Data
$ int +id, Aas)
int "ilai#akhir) ( )
Data Dian 5 $B0,C0(, >di 5 $ @0, 40()
Dian."ilai#>khir 5 Dian.+idDDian.Aas 9 & )
>di."ilai#>khir 5 >di.+idD>di.Aas9&)
printf(,"ilai Dian * -d En., Dian."ilai#>khir))
printf(,"ilai >di * -d En., >di."ilai#>khir)) (
/utput * "ilai Dian * B3
"ilai >di * 43
,. Uni-n
>dalah suatu struktur yang elemen!elemenya menempati meory yang sama. Antuk
penghematan memory. Deklarasi union serta deklarasi variabel sama seperti struct
dengan menggunakan kata kunci union.
Contoh sama seperti program% pada struktur *
union Data 99 deklarasi union dengan nama Data
$ int +id, Aas)
int "ilai#akhir) ( )
Data Dian 5 $B0,C0(, >di 5 $ @0, 40()
Ferbedaan dengan struck adalah pada struct Dian dan >di menempati lokasi
memory yang berbeda tetapi pada union Dian dan >di menempati lokasi yang
sama.
Bahasa C, M-13 Jamilah, Skom
&
.. )edan Di*it /inar0
/perasi bit dengan bahasa C didasarkan pada suatu struktu yang mempunyai
elemen!elemen berupa medan digit binary (bit field). Giap bit field dapat
ditentukan banyaknya bit yang akan di?akilinya, Fendeklasian bit filed sama
seperti struktur. Bit filed hanya dapat didiklarasikan dengan tipe int, signed atau
unsigned.
Contoh )
struct tanggal $ unsigned hari * 3)
unsigned bulan * 2)
unsigned tahun * @B) ( )
keterangan * elemen hari diberi nilai 3 bit berarti dapat me?akili 3 nilai 0 s9d %
cukup untuk me?akili nilai hari dalam % bulan.
1. T02ede3
Digunakan untuk mendefinisikan kembali suatu nama tipe data yang baru
berdasarkan dengan tipe data yang lama.
Contoh *
Gypedef float Fecahan)
Fecahan "ilai)
>kan membuat tipe data yang baru yaitu Fecahan yang ekivalen dengan tipe data
float. +aka variabel "ilai bertipe pecahan sama dengan float "ilai )
Bahasa C, M-13 Jamilah, Skom
1

Anda mungkin juga menyukai