Tipe Data Bahasa C

Assalamu'alaikum poinreaders,
Di hari yang cerah ini saya akan membahas materi mengenai tipe data pada bahasa C. Tipe data adalah suatu pengenal (identifier) yang merupakan bagian program paling penting karena tipe data mempengaruhi setiap instruksi yang akan dilaksanakan oleh komputer. Dalam bahasa C tipe data diklasifikasikan menjadi 4 macam, yaitu tipe dasar (basic), tipe enumerated, tipe void dan tipe derived. Untuk mengetahui lebih jauh ke-4 macam tipe data tersebut, langsung saja simak ulasan berikut...

Tipe Data Bahasa C

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.
Tipe Ukuran Rentang
char 1 byte -128 sampai 127 atau 0 sampai 255
unsigned char 1 byte 0 sampai 255
signed char 1 byte -128 sampai 127
int 2 atau 4 byte -32,768 sampai 32,767 atau -2,147,483,658 sampai 2,147,483,647
unsigned int 2 atau 4 byte 0 sampai 65,535 atau 0 sampai 4,294,967,295
short 2 byte -32,768 sampai 32,767
unsigned short 2 byte 0 sampai 65,535
long 4 byte -2,147,483,648 sampai 2,147,483,647
unsigned long 4 byte 0 sampai 4,294,967,295
Dalam tipe integer untuk mendapatkan ukuran yang tepat dari tipe atau variable pada platform tertentu, 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.
Tipe Ukuran Rentang Presisi
float 4 byte 1.2E-38 sampai 3.4E+38 6 angka dibelakang koma
double 8 byte 2.3E-308 sampai 1.7E+308 15 angka dibelakang koma
long double 10 byte 3.4E-4932 sampai 1.1E+4932 19 angka dibelakang koma
Dalam tipe floating-point, file 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 data enumerated:

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 variabel1, variabel2 s.d variabeln hanya dapat diberi salah satu dari nilai nilai1, nilai2, s.d nilain.

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 union dan 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;

}

Semoga materi yang saya sampaikan kali ini dapat bermanfaat bagi sobat poinreaders, jangan lupa follow akun sosial kami agar sobat poinreaders bisa mendapatkan materi terupdate tentang pemrograman lainnya.

Share this

Related Posts

Previous
Next Post »