Senin, 24 Oktober 2016

TIPE DATA

A. Pengertian Tipe Data
Tipe data biasanya digunakan untuk menentukan jenis nilai yang dapat ditampung oleh suatu variabel, umumnya telah menyediakan tipe-tipe data yang sederhana (simple) maupun yang terstruktur. Apabila kita membutuhkan tipe data yang belum tersedia, kita dapat mendefinisikan sendiri tipe data baru yang disebut enumerated type



A. Tipe Data Dasar (Basic)

Tipe data dasar dalam bahasa C dikelompokan ke dalam 2 tipe, yaitu tipe integer dan tipe floating-point.

1. Tipe Integer

Tipe integer (tipe bilangan bulat) adalah suatu tipe data yang digunakan untuk menyimpan nilai-nilai yang berbentuk bilangan bulat (bilangan yang tidak mengandung koma), misalnya 5, 10, 100 dan sebagainya. Namun perlu diperhatikan juga bahwa bilangan bulat juga dikelompokkan lagi menjadi 2 jenis, yaitu bilangan bulat positif dan negatif. Untuk itu di dalam bahasa C tipe bilangan bulat juga dibedakan lagi menjadi beberapa macam dengan rentang nilai tertentu. Adapun yang termasuk ke dalam tipe bilangan bulat di dalam bahasa C adalah seperti yang terlihat pada tabel berikut.
TipeUkuranRentang
char1 byte-128 sampai 127 atau 0 sampai 255
unsigned char1 byte0 sampai 255
signed char1 byte-128 sampai 127
int2 atau 4 byte-32,768 sampai 32,767 atau -2,147,483,658 sampai 2,147,483,647
unsigned int2 atau 4 byte0 sampai 65,535 atau 0 sampai 4,294,967,295
short2 byte-32,768 sampai 32,767
unsigned short2 byte0 sampai 65,535
long4 byte-2,147,483,648 sampai 2,147,483,647
unsigned long4 byte0 sampai 4,294,967,295
Dalam tipe integer untuk mendapatkan ukuran yang tepat dari tipe atau variable pada platformtertentu, kita dapat menggunakan operator sizeof. Ekspresi sizeof(tipe) menghasilkan ukuran penyimpanan objek atau tipe dalam byte.

Contoh :

#include <stdio.h>#include <limits.h>

int main() {

    printf("Ukuran penyimpanan pada tipe int adalah : %d \n", sizeof(int));
    scanf("%d");
    return 0;

}

2. Tipe Floating-Point

Tipe floating-point (tipe bilangan riil) adalah tipe data yang digunakan untuk menyimpan nilai-nilai bilangan riil (bilangan yang mengandung koma), misalnya 2.12, 2.24, 5.96 dan sebagainya. Adapun yang termasuk ke dalam tipe tersebut adalah seperti yang tertera pada tabel di bawah ini.
TipeUkuranRentangPresisi
float4 byte1.2E-38 sampai 3.4E+386 angka dibelakang koma
double8 byte2.3E-308 sampai 1.7E+30815 angka dibelakang koma
long double10 byte3.4E-4932 sampai 1.1E+493219 angka dibelakang koma
Dalam tipe floating-pointfile header "float.h" mendefinisikan macro yang memungkinkan kita untuk menggunakan nilai-nilai dan rincian lainnya tentang representasi biner dari bilangan riil dalam program yang kita buat.

Contoh :

#include <stdio.h>#include <float.h>

int main() {

    printf("Ukuran penyimpanan tipe float adalah : %d \n", sizeof(float));
    printf("Minimal nilai positif tipe float adalah : %E \n", FLT_MIN);
    printf("Maksimal nilai positif tipe float adalah : %E \n", FLT_MAX);
    printf("Nilai presisinya adalah : %d \n", FLT_DIG);
    scanf("%d");
    return 0;
}


B. Tipe Data Enumerated

Tipe data enumerated (enumerasi) adalah tipe data yang dideklarasikan oleh user. Tipe ini mendeklarasikan variabel yang hanya bisa diberi nilai salah satu dari nilai yang sudah dideklarasikan didalam brace ({})/semicolon ( ; ). berikut syntax deklarasi nilai pada tipe dataenumerated:


enum identifier {nilai1, nilai2 ... nilain};


Setelah mendeklarasikan nilai-nilai yang akan diaplikasikan, selanjutnya mendeklarasikan variabel-variabel yang akan diberi nilai-nilai tersebut, syntaxnya adalah:


enum identifier variabel1, varabel2, variabel3, ... variabeln;


Variabel variabel1variabel2 s.d variabeln hanya dapat diberi salah satu dari nilai nilai1nilai2, s.dnilain.

Contoh :

#include <stdio.h>

main()
{

enum hari {Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu};
enum hari hari_pertama, hari_terakhir;
hari_pertama = Senin;
hari_terakhir = Minggu;
printf("Hari Pertama = %d\n", hari_pertama);
printf("Hari Terakhir = %d\n", hari_terakhir);
scanf("%d");

}


C. Tipe Data Void

Tipe data void merupakan tipe data tidak bertipe dan memiliki jumlah bit sebanyak 0 bit. Biasanya digunakan saat pendeklarasian fungsi. Tipe data ini biasanya digunakan dalam tiga jenis situasi, yaitu:

1. Fungsi return sebagai void

Ada berbagai fungsi di C yang tidak mengembalikan nilai apapun atau bisa disebut juga "kembali ke 0". fungsi yang tidak mengembalikan nilai memiliki jenis return sebagai void.

Format Penulisan :

void exit (int status);

Contoh Penulisan :

#include <stdio.h>#include <stdlib.h>

int main ()
{

printf("Memulai Program....\n");

printf("Keluar Program....\n");
scanf("%d");
exit(0);

printf("Akhir dari program....\n");
scanf("%d");

return(0);

}

2. Fungsi arguments sebagai void

Ada berbagai fungsi di C yang tidak menerima parameter (arguments) apapun. Sebuah fungsi tanpa parameter dapat menerima void.

Format Penulisan :

int rand(void);

Contoh Penulisan :

#include <stdio.h>#include <stdlib.h>

int main()
{

int i, n;
time_t t;

n = 5;

srand((unsigned) time(&t));

for( i = 0 ; i < n ; i++ )
{
   printf("%d\n", rand() % 50);
}
scanf("%d");

return(0);

}

3. Pointer ke void

Sebuah pointer tipe void * merupakan alamat dari sebuah objek, tetapi tidak bertipe. Sebagai contoh, fungsi alokasi memori void *malloc(size_t size); mengembalikan pointer ke void yang dapat diisi untuk semua jenis data.

Format Penulisan :

void *malloc(size_t size);

Contoh Penulisan :

#include <stdio.h>#include <stdlib.h>

int main()
{

   char *str;

   str = (char *) malloc(15);
   strcpy(str, "pointopoin");
   printf("String = %s,  Alamat = %u\n", str, str);

   str = (char *) realloc(str, 25);
   strcat(str, ".com");
   printf("String = %s,  Alamat = %u\n", str, str);

   free(str);
   scanf("%d");

   return(0);

}


D. Tipe Data Derived

Tipe data derived terbagi menjadi 5 bagian, yaitu tipe pointer, tipe array, tipe struktur, tipe uniondan tipe fungsi.

1. Tipe Pointer

Tipe pointer merupakan variabel khusus yang berisi suatu alamat (address) di lokasi lain di dalam memori. Suatu variabel yang menunjuk (points) ke suatu tipe data disebut sebagai pointer.

Contoh :

#include <stdio.h>#include <stdlib.h>

int main()
{

int beratBadan = 78 ;
int *contohPointer ;
contohPointer = &beratBadan;
printf("Berat badan = %d", contohPointer);
scanf("%d");

}

2. Tipe Array

Tipe Array adalah tipe data yang sudah terstruktur dengan baik meskipun tipe data ini masih sederhana. Array mampu menyimpan sejumlah data dengan tipe yang sama dalam sebuah variabel.

Contoh :

#include <stdio.h>
int main () {

   int n[ 10 ];
   int i,j;

   for ( i = 0; i < 10; i++ ) {
      n[ i ] = i + 100;
   }

   for (j = 0; j < 10; j++ ) {
      printf("Array[%d] = %d\n", j, n[j] );
   }
   scanf("%d");

   return 0;

}

3. Tipe Struktur

Tipe Struktur adalah tipe data yang dapat melakukan penyimpanan beberapa data yang saling terkait (seperti Nama, NRP, Alamat), sebagai suatu kesatuan, sehingga data-data tersebut seakan-akan menjadi suatu data tunggal.

Contoh :

#include <stdio.h>#include <string.h>

struct nilai_mahasiswa {
   int  nim;
   char  nama[50];
   int nilai;
};

int main( ) {

   struct nilai_mahasiswa nilai1;
   struct nilai_mahasiswa nilai2;

   nilai1.nim = 653789081;
   strcpy( nilai1.nama, "Denis Julianto");
   nilai1.nilai = 90;

   nilai2.nim = 653789082;
   strcpy( nilai2.nama, "Raizal Dzil Wafa");
   nilai2.nilai = 95;

   printf( "NIM : %d\n", nilai1.nim);
   printf( "NAMA : %s\n", nilai1.nama);
   printf( "NILAI : %d\n", nilai1.nilai);

   printf( "\n============================\n\n" );

   printf( "NIM : %d\n", nilai2.nim);
   printf( "NAMA : %s\n", nilai2.nama);
   printf( "NILAI : %d\n", nilai2.nilai);
   scanf("%d");
   return 0;

}

4. Tipe Union

Tipe union adalah tipe data khusus yang tersedia di C. Tipe ini memungkinkan untuk menyimpan berbagai jenis data di lokasi memori yang sama.

Contoh :

#include <stdio.h>#include <string.h>

union Data {

   int i;
   float f;
   char str[20];

};

int main( ) {

   union Data data;

   printf( "Ukuran Memori yang ditempati oleh sebuah data adalah : %d ", sizeof(data));
   printf( "byte\n");
   scanf("%d");

   return 0;

}

5. Tipe Fungsi

Fungsi adalah blok perintah yang digunakan untuk melakukan pekerjaan tertentu yang diletakkan diluar prosedur utama. Blok perintah ini dapat digunakan berulang-ulang kali dengan memanggil namanya dan parameter yang dibutuhkan.

Format Penulisan :

int jumlah(int,int) ;

Contoh Penulisan :

#include <stdio.h>

int jumlah(int nilai1, int nilai2);
int main () {

   int a = 100;
   int b = 200;
   int hasil;

   hasil = a+b;

   printf( "Hasil dari 100 + 200 adalah : %d\n", hasil );
   scanf("%d");

   return 0;

}

0 komentar:

Posting Komentar

 
;