AhmadDahlan.NET – Tipe data dalam Bahasa Pemograman C akan selalu diasosiasikan dengan Variabel yang digunakan. Tipe data ini mengacu pada sistem kestensi yang digunakan dalam mendeklarasikan sebuah variabel atau fungsi yang dibangun.
Daftar Isi
Tipe Data
Pada Bahasa C, Variable dan Tipe data yang digunakan akan menentukan seberapa besar memori yang akan digunakan untuk melakukan proses komputasi dari data.
Tipe data dapat diklasifikasikan sebagai berikut :
- Basics – Tipe data aritmatika yang terbagi dalam dua kelompok yakni (1) integer dan (2) floating-point.
- Enumerated – Jenis tipe data yang isinya dapat didefenisikan dan berlawan dengan data aritmatika, Enumerated teridiri dari data-data yang berisfat diskrit.
- Void – Tipe data tidak bernilai yang menunjukan bahwa tidak nilai yang tersedia.
- Derived – Tipe data yang tidak berdiri sendiri dan merupakan jenis type data lain seperti
- Pointer
- Array
- Struktur
- Union
- 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.
Type | Ukuran Memori (byte) | Range Data |
Char | 1 | -128 – 127 atau 0 – 255 |
Int | 2 atau 4 | -32,768 sampai 32,767 -2,147,483,648 sampai 2,147,483,647 |
unsigned Int | 2 atau 4 | 0 sampai 65,535 0 sampai 4,294,967,295 |
Short | 2 | -32,768 sampai 32,767 |
unsigned Short | 2 | 0 to 65,535 |
Float | 4 | 1.2E-38 — 3.4E+38 |
Double | 4 | 2.3E-308 — 1.7E+308 |
Long | 8 | -9223372036854775808 sampai 9223372036854775807 |
A. Data Integer
Tipe Data Integer adalah data yang berisi angka yang mewakili bilangan bulat. Bilangan Bulat ini adalah bilangan yang tidak memiliki koma dan pada Data Sains, Bilangan Integer ini adalah bilangan Diskrit.
Contoh BIlangan Bulat ini adalah 1, 2, 3, … dan seterusnya. Pada Bahasa C, tipe data Integer terdiri dari banyak tipe seperti yang tertera pada tabel di atas. Ada tipe int yang hanya mengakomodiasi bilangan dari -32,768 sampai 32,767.
Jadi jika misalnya kita ingin menjumlahkan angka 34000 + 2000, maka programer tidak boleh menggunakan data Integer. Lebih khususnya sebenarnya tipe data integer lebih dugunakan untuk mencacah jumlah data saja, tidak pas untuk operasi matematis.
b. Data Float atau Double
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
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.