Anda di halaman 1dari 8

Pengertian Tipe Data

Sebelum sampai ke jenis-jenis tipe data di dalam bahasa C, ada baiknya


membahas sedikit pengertian dari tipe data itu sendiri. Apa itu tipe data?
Mengutip dari wikipedia (Data type):
“A data type or simply type is a classification of data which tells the compiler
or interpreter how the programmer intends to use the data”.
Terjemahannya:

“Tipe data atau kadang disingkat dengan ‘tipe’ saja adalah sebuah
pengelompokan data untuk memberitahu compiler atau interpreter
bagaimana programmer ingin mengolah data tersebut”
Secara sederhana, tipe data adalah cara kita memberitahu komputer
untuk mengelompokkan data berdasarkan apa yang dipahami oleh
komputer.
Sebagai contoh, misalkan saya memiliki data berupa angka. Agar bisa
dipahami oleh compiler bahasa C, data ini harus disimpan ke dalam variabel
yang sudah di set agar bisa menyimpan angka. Di dalam bahasa C, terdapat
tipe data integer dan float yang bisa diisi dengan angka. Sedangkan jika data
tersebut berupa huruf, bisa disimpan ke dalam tipe data char.

Jenis-jenis Tipe Data dalam Bahasa C


Terdapat 8 tipe data di dalam bahasa pemrograman C yang bisa dibagi ke
dalam 4 kelompok besar: tipe data dasar, tipe data turunan, tipe data
bentukan, dan tipe data void.
1. Tipe Data Dasar
Sesuai dengan namanya, tipe data dasar adalah tipe data paling dasar yang
tersedia di dalam bahasa pemrograman C. Terdapat 3 jenis tipe data dasar:

 Char: tipe data yang berisi 1 huruf atau 1 karakter.


 Integer: tipe data untuk menampung angka bulat.
 Float: tipe data untuk menampung angka pecahan.
Tipe data dasar dasar disebut juga sebagai Primary Data Type, Fundamental
Data Types atau Basic Data Type.
2. Tipe Data Turunan
Tipe data turunan berasal dari tipe data dasar yang dikelompokkan atau di
modifikasi. Terdapat 3 tipe data turunan di dalam bahasa pemrograman C:

 Array: Tipe data yang terdiri dari kumpulan tipe data dasar. Tipe data
tersebut harus 1 jenis.
 Structure: Tipe data yang terdiri dari kumpulan tipe data dasar. Tipe
data tersebut bisa lebih dari 1 jenis.
 Pointer: Tipe data untuk mengakses alamat memory secara langsung.
Tipe data turunan disebut juga sebagai Derived Data Type.
3. Tipe Data Bentukan (enum)
Sesuai dengan namanya, tipe data bentukan adalah tipe data yang dibuat
sendiri oleh kita (programmer). Isinya berupa data-data yang sudah
ditentukan. Tipe data bentukan ini dikenal juga sebagai Enumerated Data
Type atau disingkat sebagai enum.
4. Tipe Data Void
Tipe data void adalah tipe data khusus yang menyatakan tidak ada data.
Penggunaannya khusus untuk beberapa situasi seperti function yang tidak
mengembalikan nilai (return void), atau mengisi argumen function dengan
nilai kosong.

Tanpa pengelompokan, berikut ke-8 tipe data dalam bahasa pemrograman C:

1. Char
2. Integer
3. Float
4. Array
5. Structure
6. Pointer
7. Enum
Voidpe data char dalam bahasa C:

#include <stdio.h>
1 int main(void)
2 {
3 char huruf;
huruf = 'Z';
4 printf("Huruf yang tersimpan adalah: %c",huruf);
5 printf("\n");
6 return 0;
7 }
8
9
1.
menggunakan library khusus: stdbool.h.
Sedangkan untuk string, di dalam bahasa C termasuk ke dalam array. String
di defenisikan sebagai array dari tipe data char.

Penjelasan lebih lanjut tentang tipe data ini, termasuk contoh penggunaannya
akan kita bahas secara bertahap dalam beberapa tutorial ke depan.

Dalam contoh ini, saya mendefinisikan variabel huruf yang bertipe char.
Huruf ini kemudian diisi dengan karakter ‘Z’ dan kemudian ditampilkan
dengan perintah printf. Sangat sederhana.
Untuk contoh kedua, saya akan buat konstanta dengan tipe data char:
1
#include <stdio.h>
2 int main(void)
3 {
4 const char huruf = 'a';
5 printf("Huruf yang tersimpan adalah: %c",huruf);
6 printf("\n");
return 0;
7 }
8
Disini huruf berupa sebuah konstanta bertipe char, bukan lagi variabel
seperti sebelumnya. Mengenai perbedaan antara variabel dengan konstanta,
sudah pernah kita bahas dalam beberapa tutorial sebelum ini: Cara
Pembuatan Konstanta dalam Bahasa C, dan Pengertian Variabel dan Cara
Penulisan Variabel Bahasa C.
Sebagai contoh terakhir, saya akan kombinasikan dengan perintah scanf agar
lebih dinamis:
1
2
#include <stdio.h>
3 int main(void)
4 {
5 char karakter1, karakter2, karakter3;
6 printf("Input 3 karakter sembarang \n");
printf("========================== \n");
7 printf("\n");
8 printf("Karakter pertama: ");
9 scanf(" %c",&karakter1);
10 printf("Karakter kedua: ");
11 scanf(" %c",&karakter2);
printf("Karakter ketiga: ");
12 scanf(" %c",&karakter3);
13 printf("\n");
14 printf("karakter yang diinput adalah: %c %c %c", karakter1, karakter2, karakter3);
15 printf("\n");
return 0;
16 }
17
18
Di awal kode program, saya menyiapkan 3 buah variabel bertipe data char.
Ketiga variabel ini bernama karakter1, karakter2 dan karakter3. Isi
program akan meminta inputan dari user untuk 3 karakter tersebut, kemudian
menampilkannya kembali.
Yang juga patut diingat, karakter disini bisa terdiri dari huruf, angka, serta
karakter khusus seperti ?, *, %, #. Jadi tidak masalah jika kita menginput
angka ke dalam tipe data char. Namun angka tersebut tetap harus 1 digit.

Angka yang diinput ke dalam tipe data char tidak bisa diolah, misalnya
dipakai untuk perhitungan atau penambahan. Jika kita menginginkan hal ini,
harus menggunakan tipe data khusus angka seperti integer atau float.

Bagaimana dengan karakter yang lebih dari 1 digit, seperti kata atau kalimat?
Di dalam bahasa C, kata atau kalimat (di kenal juga sebagai string) dianggap
sebagai array dari tipe data char. Lebih lanjut akan kita pelajari setelah
membahas tentang tipe data array nanti.
Tipe data integer adalah tipe data yang dipakai untuk menampung angka
bulat positif maupun negatif, seperti: 1, 99, dan -463.
Di dalam bahasa C, terdapat beberapa sub-tipe integer yang dibedakan
berdasarkan jangkauan angka yang bisa ditampung. Setidaknya terdapat 4
tipe data integer di dalam bahasa C:

 char
 short
 int
 long
Loh, bukannya char adalah tipe data untuk karakter? Kenapa juga ada di
dalam integer? Betul, inilah keunikan tipe data char di dalam bahasa C.
Secara internal, char sebenarnya bertipe integer. Untuk membedakan
apakah char ini berisi karakter atau huruf dilakukan pada saat
menampilkannya.
Jika di dalam perintah printf menggunakan kode %c, karakter lah yang akan
ditampilkan. Sedangkan jika di dalam perintah printf menggunakan
kode %d, maka akan menampilkan tipe data integer. Kita akan lihat
perbedaannya dengan contoh kode program sesaat lagi.
Tabel berikut merangkum jangkauan setiap tipe data integer dalam bahasa C:
Jenis Tipe Ukuran Memory
Data Penyimpanan Jangkauan

char 1 byte -128 hingga 127

short 2 bytes -32,768 hingga 32,767

int 2 bytes -32,768 hingga 32,767

int 4 bytes -2,147,483,648 hingga 2,147,483,647

long 4 bytes -2,147,483,648 hingga 2,147,483,647


Ukuran Memory Penyimpanan adalah jumlah memory yang dibutuhkan
untuk menyimpan angka tersebut. Semakin besar jangkauan, semakin banyak
juga ruang memory yang dibutuhkan.
Khusus untuk tipe data int, bisa terdiri dari 2 byte maupun 4 byte. Ini
tergantung sistem komputer dan compiler bahasa C yang dipakai.
Jangkauan tipe data diatas adalah untuk angka yang bertanda (signed).
Maksudnya, setiap tipe data bisa menampung angka positif dan negatif. Kita
bisa mengorbankan nilai negatif ini untuk memperbesar jangkauan angka
positif dengan menambahkan keyword unsigned sebelum penulisan tipe data.
Jika tipe data integer di-set sebagai unsigned (tidak bertanda), maka tipe data
tersebut tidak bisa menampung angka negatif, namun jatah untuk angka
negatif akan dialihkan kepada angka positif sehingga jangkauannya menjadi
2 kali lipat.
Berikut tabel jangkauan setiap tipe data unsigned integer dalam bahasa C:
Jenis Tipe Data Ukuran Memory Penyimpanan Jangkauan

unsigned char 1 byte 0 hingga 255

unsigned short 2 bytes 0 hingga 65,53

unsigned int 2 bytes 0 hingga 65,53

unsigned int 4 bytes 0 hingga 4,294

unsigned long 4 bytes 0 hingga 4,294


Terlihat jangkauan angkanya menjadi lebih besar, tapi tidak bisa menampung
angka negatif. Tipe data unsigned ini cocok untuk data yang tidak pernah
negatif, seperti tinggi badan, berat badan, jumlah orang, dsb.

Contoh Kode Program Tipe Data Integer


Bahasa C
Cukup dengan teorinya, mari kita masuk ke contoh praktek. Dalam kode
program berikut ini saya menampilkan ke-4 tipe data integer dalam bahasa
C:
1
2 #include <stdio.h>
3 int main(void)
{
4 char angka1;
5 short angka2;
6 int angka3;
7 long angka4;
8 angka1 = 127;
angka2 = 32767;
9 angka3 = 2147483647;
10 angka4 = 2147483647;
11 printf("Isi variabel angka1 (char): %d \n",angka1);
12 printf("Isi variabel angka2 (short) %d \n",angka2);
printf("Isi variabel angka3 (int): %d \n",angka3);
13
printf("Isi variabel angka4 (long): %d \n",angka4);
14 printf("\n");
15 return 0;
16 }
17
18

Kode program ini cukup sederhana. Pertama, saya membuat 4


variabel: angka1, angka2, angka3dan angka4. Setiap variabel di-set dengan
tipe data yang berbeda-beda, dimana variabel angka1sebagai char,
variabel angka2 sebagai short, variabel angka3 sebagai int, dan
variabel angka4sebagai long.
Setelah pendefinisian variabel, setiap variabel diisi dengan angka. Angka
yang ada sengaja saya set dengan nilai maksimum untuk setiap tipe data.
Terakhir setiap variabel ditampilkan menggunakan perintah printf.
Khusus untuk char, ini memang cukup unik. Karena fungsinya akan berbeda
tergantung cara menampilkan tipe data ini. Berikut contoh perbedannya:
1
2 #include <stdio.h>
3 int main(void)
4 {
char foo = 65;
5 char bar = 'Z';
6 printf("Isi variabel foo (char): %d \n",foo);
7 printf("Isi variabel foo (char): %c \n",foo);
8 printf("\n");
printf("Isi variabel bar (char): %d \n",bar);
9 printf("Isi variabel bar (char): %c \n",bar);
10 printf("\n");
11 return 0;
12 }
13

Anda mungkin juga menyukai