Tutorial Belajar C Part 16: Pengertian dan Contoh Kode Program Tipe Data Integer

Posted on

Tipe data berikutnya yang akan kita pelajari di lanjutan panduan belajar bahasa pemrograman C di Source Code Program kali ini yaitu tipe data integer. Kita akan bahas pengertian tipe data integer serta contoh kode program untuk tipe data integer dalam bahasa C.


Pengertian Tipe Integer Bahasa C

Tipe data integer yaitu tipe data yang dimanfaatkan untuk menampung angka bulat positif maupun negatif, seperti: 1, 99, dan -463.

Di di bahasa C, terdapat beberapa sub-tipe integer yang dibedakan menurut jangkauan angka yang dapat ditampung. Setidaknya terdapat 4 tipe data integer di di bahasa C:

  • char
  • short
  • int
  • long

Loh, bukannya char yaitu tipe data untuk karakter? Kenapa pun ada di di integer? Betul, inilah keunikan tipe data char di di bahasa C.

Secara internal, char hakekatnya bertipe integer. Untuk membedakan apakah char ini berisi karakter atau huruf dilakukan di ketika menampilkannya.

Kalau di di command printf menggunakan kode %c, karakter lah yang akan ditampilkan. Sedangkan bila di di command printf menggunakan kode %d, karenanya akan menampilkan tipe data integer. Kita akan lihat perbedaannya dengan contoh kode program sesaat lagi.

Tabel berikut merangkum jangkauan setiap tipe data integer di bahasa C:

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
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 yaitu jumlah memory yang dibutuhkan untuk menyimpan angka tersebut. Semakin besar jangkauan, semakin banyak pun ruang memory yang dibutuhkan.

Khusus untuk tipe data int, dapat terdiri dari 2 byte maupun 4 byte. Ini tergantung program komputer dan compiler bahasa C yang dimanfaatkan.

Jangkauan tipe data diatas yaitu untuk angka yang bertanda (signed). Maksudnya, setiap tipe data dapat menampung angka positif dan negatif. Kita dapat mengorbankan nilai negatif ini untuk memperbesar jangkauan angka positif dengan menambahkan keyword unsigned sebelum penulisan tipe data.

Kalau tipe data integer di-set selaku unsigned (tak bertanda), karenanya tipe data tersebut tak dapat 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 di 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
unsigned int 4 bytes 0 hingga 4,294,967,295
unsigned long 4 bytes 0 hingga 4,294,967,295

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


Contoh Kode Program Tipe Data Integer Bahasa C

Lumayan dengan teorinya, mari kita masuk ke contoh praktek. Di kode program berikut ini saya menampilkan ke-4 tipe data integer di bahasa C:

Kode program ini lumayan sederhana. Pertama-tama-tama, saya mendesain 4 variabel: angka1, angka2, angka3 dan angka4. Setiap variabel di-set dengan tipe data yang berbeda-beda, dimana variabel angka1 selaku char, variabel angka2 selaku short, variabel angka3 selaku int, dan variabel angka4 selaku long.

Setelah pendefinisian variabel, setiap variabel diisi dengan angka. Angka yang terdapat sengaja saya set dengan nilai maksimum untuk setiap tipe data. Terakhir setiap variabel ditampilkan menggunakan command printf.

Khusus untuk char, ini memang lumayan unik. Karena fungsinya akan berbeda tergantung cara menampilkan tipe data ini. Berikut contoh perbedannya:

Di contoh ini saya mendesain 2 buah variabel bertipe char: foo dan bar. Variabel foo diisi angka 65, sedangkan variabel bar diisi dengan karakter ‘Z’.

Hasilnya akan berbeda ketika di di command printf kita menggunakan pola %d untuk tipe integer, atau %c untuk tipe data char.

Ketika variabel foo diakses selaku integer, hasilnya yaitu 65. Ini sesuai dengan nilai awal variabel. Namun ketika variabel foo diakses selaku char, hasilnya yaitu huruf ‘A’. Dari mana datangnya huruf ‘A’?

Ini berasal dari kode karakter ASCII dimana huruf ‘A’ bernilai desimal 65. Dengan kata lain, di di daftar karakter ASCII, huruf A berada di urutan ke 65.

Hal yang sama pun berlaku untuk variabel bar yang diisi karakter ‘Z’. Ketika diakses selaku integer, hasilnya berupa angka 90, karena huruf Z berada di urutan ke 90 daftar karakter ASCII. Untuk tabel karakter ASCII ini dapat dilihat ke id.wikipedia.org/wiki/ASCII.

Kembali ke pembahasan tipe data integer. Bagaimana untuk mendesain tipe data ini selaku unsigned? Caranya tambahkan keyword unsigned sebelum penulisan tipe data, seperti contoh berikut:

Kini ini, jangkauan setiap tipe data telah membesar 2 kali lipat dengan mengorbankan angka negatif. Efek sampingnya, kita tak dapat lagi menginput angka negatif ke di variabel diatas.

Tipe data char yang sebelumnya hanya dapat hingga angka 127 kini ini dapat menampung nilai 0 – 255. Seperti itu pun dengan tipe data unsigned short yang dapat menampung 0 – 65535.

Namun kenapa tipe data unsigned int dan unsigned long menghasilkan -1? Ternyata khusus untuk jenis unsigned, kita tak dapat menggunakan pola karakter %d, tapi mesti diganti menjadi %u.

Dengan demikian, kode program sebelumnya akan saya modifikasi selaku berikut:

Perubahannya hanya mengganti pola %d menjadi %u untuk menampilkan variabel angka3 dan angka4. Yakni variabel untuk tipe data unsigned int dan unsigned long.

Apa yang terjadi apabila menginput angka diluar batas maksimum? Mari kita coba:

Hasilnya, angka yang tersimpan tak lagi sesuai.

Selaku kode program terakhir, saya akan menambah sebuah file header baru, yakni limits.h. File header ini berisi pelbagai konstanta dan kegunaan agar kita dapat melihat berapa hakekatnya nilai maksimum dan minimum dari setiap tipe data. Berikut contoh penggunaannya:

Perhatikan tambahan command #include <limits.h> di baris kedua. Inilah cara kita menambahkan fungsi-fungsi baru ke di kode program C.

Dengan tambahan command ini, saya dapat menggunakan kegunaan sizeof() untuk melihat berapa jumlah memory yang dimanfaatkan 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. Seperti itu pun dengan tipe data integer lainnya.


Di panduan 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 bahasa pemrograman C.

Tipe data integer hanya dapat dimanfaatkan untuk menampung angka bulat. Bagaimana dengan angka pecahan? Kita akan bahas di panduan berikutnya: Pengertian dan Contoh Kode Program Tipe Data Float Bahasa C.


Sumber https://www.duniailkom.com/