Anda di halaman 1dari 7

Pengertian Tipe Integer Bahasa C++

Tipe data integer adalah tipe data yang dipakai untuk menampung angka bulat
positif maupun negatif, seperti: 1, 45, dan -1945.
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 / C++.
Secara internal, char sebenarnya bertipe integer. Untuk membedakan
apakah char ini berisi karakter atau huruf dilakukan pada saat menampilkannya
(akan kita lihat dengan contoh praktek).
Perbedaan dari keempat jenis tipe data diatas adalah dari segi jangkauan angka
yang bisa ditampung. Tabel berikut menyajikan data yang lebih lengkap:

Jenis Tipe Data Ukuran Memory Penyimpanan Jangkauan

char 1 byte -128 hingga 127

short 2 bytes -32,768 hingga 32,767

int 2 bytes -32,768 hingga 32,767

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

-2,147,483,648 hingga
long 4 bytes 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,535

unsigned int 2 bytes 0 hingga 65,535

0 hingga
unsigned int 4 bytes 4,294,967,295

0 hingga
unsigned long 4 bytes 4,294,967,295
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 teori, mari kita masuk ke contoh praktek. Dalam kode program
berikut saya menampilkan 3 tipe data integer dalam bahasa C++:
1 #include <iostream>
2
using namespace std;
3
4
int main()
5 {
6   short angka1;
7   int   angka2;
8   long  angka3;
9
10   angka1 = 32767;
11   angka2 = 2147483647;
  angka3 = 2147483647;
12
13   cout << "Isi variabel angka1 (short): " << angka1 << endl;
14   cout << "Isi variabel angka2 (int)  : " << angka2 << endl;
15
16   cout << "Isi variabel angka3 (long) : " << angka3 << endl;
17
18   return 0;
19 }
20
Di awal kode program saya membuat 3 variabel: angka1, angka2, dan angka3. Setiap
variabel di-set dengan tipe data yang berbeda-beda, dimana
variabel angka1 sebagai short, variabel angka2 sebagai int, dan
variabel angka3 sebagai 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 cout.
Khusus untuk char, mendapat perlakuan khusus karena di proses dengan sedikit
berbeda. Berikut contoh kasusnya:
1
2 #include <iostream>
3
4 using namespace std;
5
int main()
6 {
7   char foo = 65;
8   char bar = 'Z';
9
10   cout << "Isi variabel foo: " << foo << endl;
  cout << "Isi variabel bar: " << bar << endl;
11
12   printf("Isi variabel foo: %d \n",foo);
13   printf("Isi variabel bar: %d \n",bar);
14
15   return 0;
16 }
17
Dalam kode program ini saya membuat dua buah variabel bertipe char: foo dan bar.
Untuk variabel foo diisi dengan angka 65, sedangkan variabel bar diisi dengan
karakter ‘Z’.
Sekilas kode seperti ini terlihat aneh. Kenapa tipe data char bisa diisi angka dan
karakter sekaligus? Jawabannya karena secara internal, tipe data char disimpan
sebagai angka. Akan tetapi begitu di tampilkan dengan perintah cout seperti di baris
10 dan 11, tampil berbentuk karakter.
Ketika variabel foo diakses akan tampil huruf ‘A’. Dari mana datangnya huruf ‘A’ ini?
Huruf A tersebut berasal dari daftar kode karakter ASCII. Di dalam daftar karakter
ASCII, huruf A berada di urutan ke 65. Daftar lengkap karakter ASCII bisa dilihat
ke id.wikipedia.org/wiki/ASCII.
Jika kita ingin mengakses angka yang tersimpan di dalam variabel char, bisa
menggunakan perintah printf milik bahasa C. Inilah yang saya pakai di baris 13 – 14.
Hasilnya, variabel foo tampil sebagai angka 65, dan variabel bar sebagai angka 90.
Angka 90 untuk karakter ‘Z’ ini juga bisa dilihat dari daftar karakter ASCII.
Mengenai cara kerja perintah printf bahasa C, bisa dibaca dalam tutorial Format
Penulisan printf untuk Menampilkan isi Variabel.

Contoh Kode Program Unsigned Integer C++


Di penjelasan sebelumnya, jangkauan angka positif tipe data integer bisa
diperbesar dengan menambah keyword unsigned. Berikut contoh penggunaannya:
1
2 #include <iostream>
3
4 using namespace std;
5
6 int main()
{
7
  unsigned char  angka1;
8   unsigned short angka2;
9   unsigned int   angka3;
10
  unsigned long  angka4;
11
12   angka1 = 255;
13   angka2 = 65535;
14   angka3 = 4294967295;
15   angka4 = 4294967295;
16
  printf("Isi variabel angka1: %d \n",angka1);
17
18   cout << "Isi variabel angka2: " << angka2 << endl;
19   cout << "Isi variabel angka3: " << angka3 << endl;
20   cout << "Isi variabel angka4: " << angka4 << endl;
21
22   return 0;
23 }
24
Hasil kode program:

1 Isi variabel angka1: 255


2 Isi variabel angka2: 65535
3 Isi variabel angka3: 4294967295
Isi variabel angka4: 4294967295
4
Sekarang jangkauan setiap tipe data sudah membesar 2 kali lipat dengan
mengorbankan angka negatif. Namun, kita tidak bisa lagi menginput angka negatif
ke dalam variabel di atas.

Tipe data char yang sebelumnya hanya bisa sampai angka 127 sekarang bisa
menampung nilai 0 – 255. Begitu juga dengan tipe data unsigned short yang bisa
menampung 0 – 65535. Serta tipe data int dan long yang sekarang sampai ke
4294967295.
Apa yang terjadi apabila menginput angka di luar batas maksimum? Mari kita coba:

1
2 #include <iostream>
3
4 using namespace std;
5
6 int main()
{
7
  unsigned char  angka1;
8   unsigned short angka2;
9   unsigned int   angka3;
10
  unsigned long  angka4;
11
12   angka1 = 299;
13   angka2 = 65599;
14   angka3 = 4294967299;
15   angka4 = 4294967299;
16
  printf("Isi variabel angka1: %d \n",angka1);
17
18   cout << "Isi variabel angka2: " << angka2 << endl;
19   cout << "Isi variabel angka3: " << angka3 << endl;
20   cout << "Isi variabel angka4: " << angka4 << endl;
21
22   return 0;
23 }
24

Hasilnya, angka yang tersimpan tidak lagi sesuai. Atau untuk beberapa compiler,
bisa saja tampil pesan error.

Batas Minimum dan Maksimum Integer Bahasa C++


Sebagai kode program terakhir, saya akan menambah sebuah file header baru,
yakni <limits>. File header ini berisi berbagai konstanta dan fungsi agar kita bisa
melihat berapa sebenarnya nilai maksimum dan minimum dari setiap tipe data.
Berikut contoh penggunaannya:
1
2 #include <iostream>
#include <limits>
3
4 using namespace std;
5
6 int main()
7 {
8  cout << "Ukuran memory tipe data char: "  << sizeof(char) << " byte \n";
9  cout << "Ukuran memory tipe data short: " << sizeof(short) << " byte \n";
10  cout << "Ukuran memory tipe data int: "   << sizeof(int) << " byte \n";
11  cout << "Ukuran memory tipe data long: "  << sizeof(long) << " byte \n";
12
13  cout << endl;
14
15  cout << "Nilai minimal tipe data char: "  << SCHAR_MIN << endl;
 cout << "Nilai minimal tipe data short: " << SHRT_MIN  << endl;
16
 cout << "Nilai minimal tipe data int: "   << INT_MIN   << endl;
17
18  cout << "Nilai minimal tipe data long: "  << LONG_MIN  << endl;
19
 cout << endl;
20
21
 cout << "Nilai maksimal tipe data char: "  << SCHAR_MAX << endl;
22  cout << "Nilai maksimal tipe data short: " << SHRT_MAX  << endl;
23  cout << "Nilai maksimal tipe data int: "   << INT_MAX   << endl;
24  cout << "Nilai maksimal tipe data long: "  << LONG_MAX  << endl;
25
26  return 0;
27 }
28

Perhatikan tambahan perintah #include <limits> di baris kedua. Inilah cara kita


menambahkan fungsi-fungsi baru ke dalam kode program C++.
Dengan tambahan perintah ini, kita bisa menggunakan fungsi sizeof() untuk melihat
berapa jumlah memory yang dipakai untuk setiap tipe data, serta mengakses
konstanta seperti SCHAR_MIN untuk melihat nilai minimum dari tipe data char,
serta SCHAR_MAX untuk melihat nilai maksimum tipe data char. Begitu juga
dengan tipe data integer lainnya.
Dalam tutorial kali ini kita telah membahas pengertian tipe data integer, melihat 4
jenis tipe data integer bahasa C++, serta menjalankan beberapa contoh kode
program untuk tipe data integer.

Tipe data integer hanya bisa dipakai untuk menampung angka bulat. Bagaimana
dengan angka pecahan? Kita akan bahas dalam tutorial selanjutnya: Tipe Data Float
dan Double Bahasa C++.

Anda mungkin juga menyukai