Tipe Data dalam Bahasa Pemograman C

2 min read

Tipe data dalama bahasa pemograman C

AhmadDahlan.NET – Dalam bahasa C, setiap Variable akan diasosiakan dengan tipe/jenis data yang digunakan. Tipe data akan mengacu pada sistem ekstensif yang digunakan untuk mendklarasikan sebuah variable atau fungsi yang dibangun. Jenis dari variable dan data yang digunakan akan menentukan seberapa besar memory yang digunakan untuk memproses kalkulasi pada data.

Jenis dna tipe data dalam bahasa C

Tipe data dalam Bahasa C dapat diklasifikasikan sebagai berikut :

  1. Basics – Tipe data aritmatika yang terbagi dalam dua kelompok yakni (1) integer dan (2) floating-point
  2. Enumerated – Jenis tipe data yang isinya dapat didefenisikan dan berlawan dengan data aritmatika, Enumerated teridiri dari data-data yang berisfat diskrit.
  3. Void – Tipe data tidak bernilai yang menunjukan bahwa tidak nilai yang tersedia.
  4. Derived – Tipe data yang tidak berdiri sendiri dan merupakan jenis type data lain seperti
    1. Pointer
    2. Array
    3. Struktur
    4. Union
    5. Function

Tipe data Array dan Struktur adalah jenis data kolektif yang berfungsi sebagai tipe agregat. Tipe fungsi adalah tipe data yang nilainya ditentukan oleh fungsi.

A. Tipe Data Integer

Berikut ini spesifikasi dari data-data integer dalam bahasa C.

TypeUkuran Memori (byte)Range Data
Char1 -128 – 127 atau 0 – 255
Int2 atau 4 -32,768 sampai 32,767

-2,147,483,648 sampai 2,147,483,647
unsigned Int2 atau 40 sampai 65,535

0 sampai 4,294,967,295
Short2-32,768 sampai 32,767
unsigned Short20 to 65,535
Float41.2E-38 — 3.4E+38
Double42.3E-308 — 1.7E+308
Long8-9223372036854775808 sampai 9223372036854775807

Pada tipe data Float atau Double yang menyediakan penulisan data desimal, pemisahnya menggunakna standar titik bukan kome, jadi penulsi 2,3 tidak dikenali tetapi ditulis dengan 2.3.

Penulisan tipe data karakter (Char) harus diapit dengan tanda petik satu agar bisa dikenali batas Char yang dimaksud. Sebagai contoh berikut ini contoh penulisan sederhana di Bahasa C.

#include <stdio.h>

int main(){
    int usia = 30;
    float berat = 60.3;
    double tinggi = 171.00;

    printf("Nama saya %s\n", "Ahmad Dahlan");   
    printf("Usia: %i tahun\n", usia);
    printf("Tinggi: %.2f cm\n", tinggi);
    printf("Berat: %.2f Kg\n", berat);
    printf("\n");
    printf("Sekian dan terima kasih \n");
    // tanda miring ini membuat tulisan akan diabaikan pada 
    //bagian hasil dan hanya dijadikan sebagai penjelasn dari 
    //program

    return 0;
}

Hasilnya jika dijalankan :

Nama: Ahmad Dahlan
Usia: 30 tahun
Tinggi: 171.00 cm
Berat: 60.30 Kg

Sekian dan terima kasih

Perhatikan tanda %.2f pada bagian program, sintak ini adalah perintah untuk menunjukkan 2 angka di belakang koma, jika hanya ditulis %f, maka tipa data float dan double secara otomatis akan menuliskan 6 angka di belakang koma.

Nama: Ahmad Dahlan
Usia: 30 tahun
Tinggi: 171.000000 cm
Berat: 60.299999 Kg

Sekian dan terima kasih
Conoth Bahasa C dan TIpe Data variable
Cuplikan penulisan code di Bahasa C

B. Tipe Data Void

Tipe data Void adalah defenisi khusus untuk memberikan informasi tidak ada data yang eksis. Tidak ada data yang eksis ini berbeda dengan 0. Dalam bahasa program, 0 ini sudah terdefenisi dan memiliki data meskipun nilainya 0, sehingga bisa dioperasikan, sedangkan Void atau null tidak bisa dioperasikan.

Dalam bahasa program hal ini sangat penting untuk menentukan proses komputasi dari data yang dikelola. Bahkan pada bahasa program yang lebih tinggi (librarinya) seperti Javascript ada tipe data Undifined atau data belum didefenisikan dalam memory.

C. Konversi Type Data

Keunikan dari bahasa C adalah semua tipe data harus didefenisikan di awal pada saat data ingin dituliskan, misalkan kita menulis perintah :

float a = (float) 26;

Angak 26 disini sekalipun bilangan bulan akan dikenal dengan tipe data float. Hal ini jika terjadi kekeliruan tipe data misalnya menyusun program seperti berikut ini.

#include <stdio.h>

void main(){
    int x = 7;
    int y = 3;

    float c = x / y;

    printf("Jawaban = %.2f\n", c);
}

Ketika program ini di jalankan akan menghasilkan

Jawaban a / b = 2.00

Padahal seharusnya hasil pembagian 7/3 harusnya 2,333333. Hal ini disebabkan oleh tipe data yang dibagi adalah bilangan bulat (int) sehingga hasilnya akan selalu dibulatkan.

Untuk menkonversi tipe data x dan y ini ke float maka, program harus diberikan instruksi untuk melakukan proses kalkulasi x dan y sebagai float sekalipun sumber asal dari x dan y tersebut adalah integer.

#include <stdio.h>

void main(){
    int x = 7;
    int y = 3;

    float c = (float) x / (float) y;

    printf("Jawaban a / b = %.2f\n", c);
}

Maka hasilnya akan menunjukkan 2 angka di belakang koma sesuai perintah print-nya

Jawaban a / b = 2.33

Misalkan ganti perintah %.2f dengan %.28f, maka akan muncul 28 angka di belakang koma, sayangnya hasilnya tidak sama dengan perhitungan asli dimana yakni 2,33333333333333333333 tapi 2.33333325386047363281.

Hasil ini tidak presisi dalam menganalisis angka detail membuat Bahasa C tidak begitu cocok digunakna untuk keperluan komputasi pada ilmu-ilmu eksak, sekalipun ada beberapa layanan yang bisa digunakan untuk melakukan operasi matematis.