Popular Post

Posted by : Panji Maulana Putra Monday, November 27, 2017




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
Enumerasi suatu tipe data yang mempunyai elemen-elemen bernilai konstatnta dengan urutan yang sudah tertentu.Nilai-nilai tersebut berupa nilai integer.  Nama enumerasi boleh tidak ditulis jika tidak digunakan untuk enumerasi lain.

Deklarasi
enum Nama_tipe { elemen1,elemen2,…};

Contoh : enum {Minggu, senin,selasa, rabu, kamis,jumat,sabtu};                 printf(“%d%d%d%d%d%d”,minggu,senin,selasa,rabu,kamis,jumat,sabtu);
               Output : 0123456

Inialisasi
      enum {Minggu, senin,selasa =10, rabu, kamis,jumat =23,sabtu};
                  printf(“%d %d %d %d %d”,minggu,senin,selasa,rabu,kamis,jumat);
output : 0 1 10 11 12 23

Deklarasi variabel enum : Nama_tipe nama_variabel ;
                    
Contoh : 
#include <stdio.h>
main () { enum nama_hari    //deklarasi enum
{senin,selasa,rabu,kamis,jumat,sabtu} hari1,hari2 ;
                  hari1= senin; hari2 = jumat; printf( selisih hari = %d”, hari2-hari1); }
output :      selisih hari = 4  

ket                   :     hasil didapat dari jumat – senin = 4 – 0 = 4
                  hari1 dan hari2 adalah variable bertipe enum
                  bila didefinisikan terpisah dengan deklarasi enum maka ditulis menjadi
                  nama_hari hari1, hari2;  

2.      Struktur
adalah suatu pengelompokan dari variable-variabel yang bernaung dalam satu nama yang sama. Variabel-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 Nama_Struktur { elemen/tipe data struktrur ; } ;
Contoh : struct Data {
                        int tinggi ;
                        char alamat[30]; 
                     };

variable struktur dideklarasikan dengan : struct Nama_struktur Nama_variable;
Contoh :  struct Data Dian, Andi;          // Dian dan Adi variable dari struct Data
Cara lain mendeklarasikan variable struktur adalah digabung dengan deklarasi struct dengan bentuk sbb :
struct   Data { int tinggi;
char Alamat[30];
} Dian, Adi;

Inisialisasi

            Variabel-varibel struct dapat langsung diberi nilai awal.
Contoh :    struct  Data {
int tinggi;
char Alamat[30];
 } Dian, Adi = { 170, “jl.mawar 2”} ;
nilai awal diberikan pada variable Adi dengan tinngi 170 dan alamat “jl.Mawar 2”
Bila deklarasi variable terpisah dengan deklarasi nama dan tipe data strukturnya, ditulis menjadi :       struct Data Dian , Adi ={170, “jl.mawar 2”};

Mengakses Elemen-elemen struktur.
Bentuk : variable_struktur.nama_anggota
Contoh : Dian.tinggi = 165;

Contoh program1 :
#include <stdio.h>
main () {
            struct Data                                     // deklarasi struktur dengan nama Data
{          int Mid, Uas;
                        int Nilai_akhir; } ;
Data Dian = {80,90}, Adi = { 70, 60};
            Dian.Nilai_Akhir = Dian.Mid*Dian.Uas / 2 ;
            Adi.Nilai_Akhir = Adi.Mid*Adi.Uas/2;
            printf(“Nilai Dian : %d \n”, Dian.Nilai_Akhir);
            printf(“Nilai Adi   : %d \n”, Adi.Nilai_Akhir); }

Output : Nilai Dian : 85
                    Nilai Adi   : 65

3.      Union
Adalah suatu struktur yang elemen-elemenya menempati meory yang sama. Untuk penghematan memory. Deklarasi union serta deklarasi variabel sama seperti struct dengan menggunakan kata kunci union.
Contoh sama seperti program1 pada struktur :
union Data                      // deklarasi union dengan nama Data
{          int Mid, Uas;
                                    int Nilai_akhir; } ;
Data Dian = {80,90}, Adi = { 70, 60};

Perbedaan dengan struck adalah pada struct Dian dan Adi menempati lokasi memory yang berbeda tetapi pada union Dian dan Adi menempati lokasi yang sama.

  1.  Medan Digit binary
Operasi bit dengan bahasa C didasarkan pada suatu struktu yang mempunyai elemen-elemen berupa medan digit binary (bit field).  Tiap bit field dapat ditentukan banyaknya bit yang akan diwakilinya, Pendeklasian bit filed sama seperti struktur. Bit filed hanya dapat didiklarasikan dengan tipe int, signed atau unsigned.
Contoh ;
            struct tanggal { unsigned hari : 5;
                                      unsigned bulan : 4;
                                      unsigned tahun : 78; } ;
keterangan : elemen hari diberi nilai 5 bit berarti dapat mewakili 5 nilai 0 s/d 1 cukup untuk mewakili nilai hari dalam 1 bulan.

  1. Typedef
Digunakan untuk mendefinisikan kembali suatu nama tipe data yang baru berdasarkan dengan tipe data yang lama.
Contoh :
                     Typedef float Pecahan;
                     Pecahan Nilai;
Akan membuat tipe data yang baru yaitu Pecahan yang ekivalen dengan tipe data float. Maka variabel Nilai bertipe pecahan sama dengan float Nilai ;

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Panjiologi - Date A Live - Powered by Blogger - Designed by Johanes Djogan -