Hakikatnya, yang dilakukan oleh suatu program adalah pengolahan beragam informasi agar dapat melakukan apa yang diinginkan oleh pembuatnya. Informasi – informasi disimpan dan diolah sebagai sebuah data. Data ini menentukan bagaimana dia harus di olah, sehingga penting untuk mengetahui tipe – tipe data.
Dalam bahasa C/C++, secara garis besar hanya ada tiga tipe data: Bilangan bulat atau yang lebih dikenal dengan integer, bilangan asli atau floating, kemudian tipe void. Tipe data inilah yang menentukan data seperti apa yang bisa disimpan dan kemudian dikelola di dalam program. Yang akan kita bahas kali ini merupakan tipe data built-in yang dikenal oleh C.
- Tipe Bilangan Bulat Seperti namanaya, data tipe ini merupakan semua data yang tidak memiliki pecahan, misalnya 5, 1928, 36, ‘a’, dll. Kemudian tipe ini terbagi lagi ke beberapa tipe data lain yang tentu saja memiliki perbedaan – perbedaan tertentu. Selain untuk menyimpan data yang bukan pecahan, biasanya tipe bilangan bulat juga digunakan dalam pernyataan switch, perbandingan kondisi, dll. Pada dasarnya, yang membedakan suatu tipe dengan tipe lainnya adalah range atau bisa dikatakan sebagai berapa besar data yang bisa disimpan menggunakan tipe tersebut. Berikut ini yang termasuk dalam tipe data bilangan bulat:
- integer Tipe integer digunakan untuk menyimpan data bulat yang merupakan angka. Keyword tipe ini adalah int
- character Tipe ini lebih banyak digunakan untuk menyimpan data yang berupa karakter (tentu saja karakter ini memiliki nilai integernya masing – masing) atau string. Keywordnya adalah char.
- boolean (hanya tersedia di C99) Tipe ini hanya bisa dianggap sebagai tipe integer yang paling sederhana karena hanya bisa menyimpan nilai true dan false. Keywordnya adalah _bool. Range masing – masing tipe data bisa saja berbeda dari satu kompiler dengan kompiler lain, tapi dalam semua kasus, tipe char selalu 1 byte. Ingat satu byte sama dengan 8-bit, dan setiap bit hanya menyimpan nilai 1 atau 0.
- Tipe Bilangan Asli Tipe ini tentu saja digunakan untuk menyimpan data yang memiliki pecahan atau bilangan asli. Tipe ini kebanyakan digunakan dalam program yang membutuhkan perhitungan yang akurat, karena itu range tipe data ini cukup besar. Keyword tipe ini ada dua, yaitu float dan double. Yang membedakan keduanya hanya range masing – masing.
- void Tipe ini hanya digunakan dalam membuat fungsi, alasannya karena memang, seperti namanya, tipe void tidak bisa menyimpan data. Bisa dikatakan begitu. Menggunakan tipe ini dalam membuat suatu fungsi menandakan bahwa fungsi tersebut tidak memiliki pengembalian nilai (return value).
Memodifikasi tipe data
Kecuali untuk tipe void, tipe – tipe data di atas bisa dimodifikasi. Kita menggunakan modifier untuk mengubah range dari tipe data dasar untuk menyesuaikan dengan keperluan pemrograman. Ada empat modifier, yaitu:
signed
unsigned
long
short
signed digunakan untuk menandakan bahwa tipe data yang dimodifikasi bisa menyimpan nilai minus (lebih kecil dari 0). Unsigned menyandakan bahwa tipe data yang dimodif hanya bisa menyimpan nilai positif. long digunakan untuk menambah range dari tipe data dan short digunakan untuk mengecilkan rangenya. Berikut ini bentuk umum dalam memodifikasi tipe data:
modifier tipe varname;
Suatu tipe data bisa menggunakan dua modifier, misalnya
unsigned long int;
Tapi deklarasi berikut merupakan sebuah kesalahan
unsigned signed int;
Jadi, suatu tipe data bisa saja menggunakan dua modifier selama maksud dari modifier tersebut tidak sama dan tidak saling berlawanan. signed berlawanan dengan unsigned dan long berlawanan dengan short. Namun ada pengecualian, sejauh yang saya tahu, tipe int bisa menggunakan 3 modifier, yaitu signed atau unsigned dengan modifier long long.
Berikut ini tabel yang menunjukkan range masing tipe – tipe data dan juga menunjukkan modifier apa saja yang bisa digunakan pada setiap data
Tipe | Ukuran tipikal dalam Bit | Range Minimal |
char | 8 | -127 sampai 127 |
signed char | 8 | -127 sampai 127 |
unsigned char | 8 | 0 sampai 255 |
int | 16 atau 32 | -32.767 sampai 32.767 |
signed int | 16 atau 32 | sama dengan int |
unsigned int | 16 atau 32 | 0 sampai 65.535 |
short int | 16 | -32.767 sampai 32.767 |
long int | 32 | -2.147.483.647 sampai 2.147.483.647 |
signed short int | 16 | sama dengan short int |
unsigned short int | 16 | sama dengan unsigned int |
signed long int | 32 | sama dengan long int |
unsigned long int | 32 | 0 sampai 4.294.967.295 |
float | 32 | 6 digit ketelitian |
double | 64 | 10 digit ketelitian |
long double | 80 | 6 digit ketelitian |
Bisa anda lihat bahwa, char secara default merupakan signed, sehingga dianggap tidak perlu untuk menuliskan signed char dalam program. Sama halnya dengan tipe int yang secara default signed.
Ketika modifier digunakan tanpa menentukan tipe data yang dimodifikasi, maka secara otomatis akan dianggap sebagai tipe int. Sehingga
Deklarasi | Sama Dengan |
---|---|
signed | sigend int |
unsigned | unsigned int |
short | short int |
long | long int |
Meski begitu, sebaiknya dalam pemrograman tetap menyertakan keyword int.
No comments:
Post a Comment