author Ahmad Muhardian

Belajar C++ #05: Mengenal Variabel dan Tipe Data


Inti dari sebuah program komputer adalah menerima input, melakukan pemrosesan, dan menghasilkan output.

Input, proses, dan output

Nilai input bisa kita dapatkan dari keyboard, file, kamera, mikrofon, dan sebagainya.

Sementara output dapat kita tampilkan ke monitor, cetak ke dokumen, atau ke dalam sebuah file.

Pada tahap pemrosesan, program membutuhkan bantuan variabel untuk menyimpan nilai sementara.

Sama seperti waktu kita berpikir, kita membutuhkan beberapa ingatan untuk memproses informasi.

Pada tutorial ini, saya akan bahas tuntas tentang cara penggunaan variabel dan tipe data dalam pemrograman C++.

Siap?

Mari kita mulai…

Apa itu Variabel dan Tipe Data?

Semua program komputer yang sedang berjalan akan menyimpan data sementara di dalam RAM (Random Access Memori).

Data-data yang tersimpan di dalam RAM memiliki alamat yang direpresentasikan dalam bilangan heksadesimal.

Bagaimana cara program menyimpan nilai ke RAM?

Jawabannya dengan menggunakan variabel.

Semakin banyak variabel yang kamu buat semakin besar pula memori yang akan digunakan di dalam RAM.

Penyimpanan data di dalam RAM

Jadi dapat kita simpulkan…

Variabel adalah sebuah nama lokasi penyimpanan di dalam memori.

Sementara tipe data adalah jenis data yang akan disimpan di dalam variabel.

Macam-macam tipe data di C++ dapat dilihat dari tabel berikut.

Nama Tipe DataUkuran dalam MemoriRentang Nilai
char1byte-127 sampai 127 atau 0 sampai 255
unsigned char1byte0 sampai 255
signed char1byte-127 sampai 127
int4bytes-2147483648 sampai 2147483647
unsigned int4bytes0 sampai 4294967295
signed int4bytes-2147483648 sampai 2147483647
short int2bytes-32768 sampai 32767
unsigned short intRange0 sampai 65,535
signed short intRange-32768 sampai 32767
long int4bytes-2,147,483,648 sampai 2,147,483,647
signed long int4bytessame as long int
unsigned long int4bytes0 sampai 4,294,967,295
float4bytes+/- 3.4e +/- 38 (~7 digits)
double8bytes+/- 1.7e +/- 308 (~15 digits)
long double8bytes+/- 1.7e +/- 308 (~15 digits)
wchar_t2 or 4 bytes1 wide character
boolean4bytestrue atau false

Cara Membuat Variabel di C++

Pembuatan variabel atau deklarasi variabel di C++ dapat kita lakukan seperti ini:

string nama;
int umur;
char jenis_kelamin;

Tipe datanya ditulis terlebih dahulu, lalu diikuti dengan nama variabelnya.

FYI: untuk C++11 kita bisa gunakan tipe data auto sebagai placeholder untuk tipe data yang belum jelas tipe datanya.

Variabel-variabel di atas akan menyimpan nilai null (kosong), karena belum kita isi.

Kita juga dapat membuat variabel dengan mengisinya langsung.

Contoh:

string nama = "Petani Kode";
float tinggi = 172.43;

Untuk lebih jelasnya, mari kita coba praktikkan dalam program.

Membuat Program C++ dengan Variabel dan Tipe Data

Silakan buat sebuah file baru bernama biodata.cpp, kemudian isi dengan kode berikut:

#include <iostream>

using namespace std;

int main(){
 
  // deklarasi tipe data variabel
  string nama;
  int umur;
  char jenis_kelamin;
 
  // --- proses input ---
  cout << "Siapakah namamu?" << endl;
  cout << "jawab: ";
  // menyimpan data ke variabel
  getline(cin,nama);
 
  cout << "Berapa umurmu?" << endl;
  cout << "jawab: ";
  // menyimpan data ke variabel
  cin >> umur;
 
  cout << "Jenis kelamin [L/P]: ";
  // menyimpan data ke variabel
  cin >> jenis_kelamin;
 
  // --- proses output ---
  cout << "Salam kenal, " << nama << " Sekarang engkau berusia ";
  cout << umur << " dan kau berjenis kelamin "<< jenis_kelamin;
 
  return 0;

}

Setelah itu lakukan kompilasi dan eksekusi programnya.

Kompilasi dan eksekusi Program C++

Mudah bukan?

Jelaskan donk program di atas!

Baik saya akan jelaskan.

Pertama dimulai dari membuat variabel.

string nama;
int umur;
char jenis_kelamin;

Pada baris kode tersebut, kita membuat tiga buah variabel dengan tipe data yang berbeda-beda.

Lalu kita mengisi nilainya berdasarkan input yang diberikan dari keyboard dengan perintah cin.

cin >> umur;
cin >> jenis_kelamin;

Khusus untuk tipe data string, kita menggunakan fungsi getline() untuk mengambil satu baris nilai yang diinputkan.

getline(cin, nama);

Terakhir kita menampilkan isi variabelnya dengan perintah cout.

Mengubah Nama Tipe Data

Kita bisa mengubah nama tipe data sendiri dengan perintah typedef.

Membuat tipe data baru di C++

Contohnya:

typedef int angka; 

Artinya, tipe data int (integer) akan kita buat namanya menjadi angka.

Lalu, untuk menggunakannya kita bisa tulis seperti ini:

angka umur;

Mari kita coba dalam program.

Buatlah program baru dengan nama tipe_data_alias.cpp, kemudian isi dengan kode berikut:

#include <iostream>
using namespace std;

int main() {
    // membuat nama alias untuk tipe data
    typedef int angka;
    typedef char* teks;

    // membuat variabel dengan tipe data alias
    teks nama_produk = "1Kg Beras";
    angka harga_produk = 99000;


    // menampilkan isi variabel
    cout << "Nama produk: " << nama_produk << endl;
    cout << "Harga: " << harga_produk << endl;

    return 0;
}

Kemudian coba compile dan jalankan.

Maka hasilnya:

Tipe data alias

Menggunakan auto untuk tipe data

Kata kunci auto berfungsi untuk menentukan tipe data secara otomatis berdasarkan data yang tersimpan di dalam sebuah variabel. Tipe auto biasanya dipakai untuk menentukan tipe data secara dinamis.

Contohnya:

auto tinggi_badan;

Karena variabel tinggi_badan dideklarasikan secara auto, maka kita bisa isi dengan tipe data apapun. Nanti tipe datanya akan menyesuaikan dengan datanya.

Misalnya:

Kita mengisi dengan 170 maka tipe datanya akan menjadi integer. Kalau kita isi 170.5 maka tipe datanya akan jadi double. Lalu kalau kita isi "170cm" maka tipe datanya akan jadi string.

Oh iya, kata kunci auto ini baru ada di C++ versi C++11. Jika kamu menggunakan C++ di bawah versi ini, maka tidak akan bisa.

Pastikan saat compile, kita menentukan versi C++ yang dipakai dengan cara menambahkan argumen -std=c++11.

Mari kita coba!

Buatlah program baru dengan nama tipe_data_auto.cpp, kemudian isi dengan kode berikut:

#include <iostream>
using namespace std;

int main() {

    auto name = "Petani Kode";
    auto age = 22;
    auto tinggi_badan = 171.5;
    auto is_menikah = false;

    cout << "Nama: " << name << endl;
    cout << "Tipe: " << typeid(name).name() << endl;

    cout << "Umur: " << age << endl;
    cout << "Tipe: " << typeid(age).name() << endl;

    cout << "Tinggi badan: " << tinggi_badan << endl;
    cout << "Tipe: " << typeid(tinggi_badan).name() << endl;

    cout << "Menikah: " << is_menikah << endl;
    cout << "Tipe: " << typeid(is_menikah).name() << endl;

    return 0;
}

Pada contoh latihan ini, kita menggunakan fungsi typeid() untuk mendapatkan nama tipe data dari variabel.

Setelah itu compile dengan memberikan flag atau argumen -std=c++11 seperti ini:

g++ tipe_data_auto.cpp -std=c++11 -o tipe_data_auto

Atau, buat kamu yang pakai Codeblocks, silakan setting compiler-nya dengan cara masuk ke menu Settings->Compiler, lalu centang flag -std=c++11.

Setting flag di codeblocks

Setelah itu, coba compile dan jalankan.

Maka hasilnya:

Hasil program tipe data auto

Coba perhatikan hasil tipe data dari masing-masing variabel.

Untuk variabel yang kita isi dengan teks "Petani Kode" ternyata tipe datanya adalah PKc yang artinya Pointer Konstanta Char.

Lalu untuk variabel lainnya:

  • angka 22 tipe datanya adalah i (integer)
  • angka 171.5 tipe datanya adalah d (double)
  • false tipe datanya adalah b (boolean)

Mari kita coba eksperimen dengan mengubah tipe datanya.

Ubahlah kode tadi menjadi seperti ini:

#include <iostream>
using namespace std;

int main() {

    auto name = string("Petani Kode");
    auto age = 22;
    auto tinggi_badan = 171.5f;
    auto is_menikah = false;

    cout << "Nama: " << name << endl;
    cout << "Tipe: " << typeid(name).name() << endl;

    cout << "Umur: " << age << endl;
    cout << "Tipe: " << typeid(age).name() << endl;

    cout << "Tinggi badan: " << tinggi_badan << endl;
    cout << "Tipe: " << typeid(tinggi_badan).name() << endl;

    cout << "Menikah: " << is_menikah << endl;
    cout << "Tipe: " << typeid(is_menikah).name() << endl;

    return 0;
}

Pada kode ini kita mengubah teks "Petani Kode" menjadi string("Petani Kode") dan 171.5 menjadi 171.5f. Oh iya, huruf f setelah angka 171.5 artinya tipe data float.

Mari kita coba compile ulang dan jalankan lagi.

Maka hasilnya:

Hasil eksperimen

Coba perhatikan hasilnya, sekarang tipe datanya berubah bukan?

Yang awalnya Pkc menjadi NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE, dan untuk angka 171.5 yang awalnya double menjadi float.

Apa Selanjutnya?

Kita sudah mengenal variabel dan tipe data, selanjutnya apa?

Selanjutnya silakan pelajari tentang:

📖 Untuk daftar tutorial C++ lainnya, lihat di List Tutorial C++

Ada yang ditanyakan?

Silakan sampaikan melalui komentar.