Belajar C++ #05: Mengenal Variabel dan Tipe Data
Inti dari sebuah program komputer adalah menerima input, melakukan pemrosesan, dan menghasilkan 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.
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 Data | Ukuran dalam Memori | Rentang Nilai |
---|---|---|
char | 1byte | -127 sampai 127 atau 0 sampai 255 |
unsigned char | 1byte | 0 sampai 255 |
signed char | 1byte | -127 sampai 127 |
int | 4bytes | -2147483648 sampai 2147483647 |
unsigned int | 4bytes | 0 sampai 4294967295 |
signed int | 4bytes | -2147483648 sampai 2147483647 |
short int | 2bytes | -32768 sampai 32767 |
unsigned short int | Range | 0 sampai 65,535 |
signed short int | Range | -32768 sampai 32767 |
long int | 4bytes | -2,147,483,648 sampai 2,147,483,647 |
signed long int | 4bytes | same as long int |
unsigned long int | 4bytes | 0 sampai 4,294,967,295 |
float | 4bytes | +/- 3.4e +/- 38 (~7 digits) |
double | 8bytes | +/- 1.7e +/- 308 (~15 digits) |
long double | 8bytes | +/- 1.7e +/- 308 (~15 digits) |
wchar_t | 2 or 4 bytes | 1 wide character |
boolean | 4bytes | true 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.
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
.
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:
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
.
Setelah itu, coba compile dan jalankan.
Maka hasilnya:
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 adalahi
(integer) - angka
171.5
tipe datanya adalahd
(double) false
tipe datanya adalahb
(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:
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.