
Jenis Variabel Dalam C++ – Materi ini merupakan materi lanjutan dari materi sebelumnya yang membahas
Komentar, Identifier dan Tipe Data Pada C++. bagi kalian yang belum membaca artikel tersebut dapat mengunjgungi link berikut: Komentar, Identifier dan Tipe Data Pada C++. Setiap pemprograman pastilah memiliki yang namnya variabel untuk menyimpan data sementara. Begitu juga bahasa C++ pun memiliki jenis variabel nya.
bagi kalian yang baru belajar C++ dapat mengunjungi link berikut untuk belajar C++ dari awal
Belajar C++ Belajar Dari Dasar
Jenis Variabel Dalam C++
- Inisiasi Variabel C++
dalam konteks inisiasi, dapat diartikan sebagai proses pengisian nilai awal ke dalam sebuah variabel. Dalam bahasa C++ pengisian nilai variabel menggunakan operator sama dengan ( = ).
bentuk umum inisiasi variabel.
tipe_data nama_variabel = nilai_awal;
atau
tipedata nama variabel1 = nilai_awal1, nama variabel2 = nilai_awal2, nama variabel3 = nilai_awal3;
Contoh
int a = 900;
pada contoh diatas telah melakukan inisiasi terhadap variabel a dengan nilai awalnya yautu 900. jika ingin melakukan inisiasi lebih dari satu variabel dengan tipedata yang sama. maka aka seperti berikut
int a = 1, b=2, c=90;
setidaknya samapi sini kalian telah memahami mengenai cara inisiasi variabel dalam bahasa C++, berikutnya kita akan membahas mengenai Variabel Global dan Variabel Lokal. variabel dibagi menjadi dua berdasarkan ruanglingkupnya. Variabel Global dan Variabel Lokal.
2. Variabel Global
Variabel global merupakan variabel yang dideklerasikan secara global, sehingga dapat dikenali oleh semua lingkukang program yang dibuat. seperti yang kita tahu, dalam pencodean C++ memiliki sebuah fungsi main(). Apabila kita mendeklerasikan sebuah variabel di luar fungsi main, atau fungsi lainya, maka dengan sendirinya compiler akan menganggap variabel tersebut variabel global.
#include <iostream> using namespace std; int a =100; void test(){ cout<<"isi variabel a : "<<a; } int main(){ cout<<"isi variabel a : "<<a<<endl; test(); return 0; }
3. Variabel Lokal
variabel lokar berbeda dengan variabel global, variabel lokal merupakan kebalikan dari variabel global yaotu, variabel lokal hanya dikenal oleh satu fungsi saja, proses deklerasi variabel lokal dilakukan didalam lingkup fungsi yang dimaksud.
contoh :
#include <iostream> using namespace std; void test(){ int a; a=999; cout<<"isi variabel a : "<<a; } int main(){ a =10; cout<<"isi variabel a : "<<a<<endl; test(); return 0; }
pada code di atas akan menjadi error, pesan errornya “ a was not declared in this scope” yang berarti variabel a tidak dideklerasi atau dituliskan pada fungsi tersebut. misal kita bikin seperti code di bawah
#include <iostream> using namespace std; void test(){ int a; a=999; cout<<"isi variabel a pada fungsi test: "<<a; } int main(){ int a; a=1000; cout<<"isi variabel a dapa fungsi main : "<<a<<endl; test(); return 0; }
jika code di atas dijalankan, maka tidak terjadi error, karena variabel telah terdeklerasi di setiap fungsi.
variabel auto merupakan variabel manual yang dideklerasikan di dalam lingkup (scope atau blok program tertentu, atau namalainnya adalah variabel lokal. dalam artian variabel ini hanya dikelan oleh satu blok yang dideklerasikan. conoth
{ int i; auto int x; ... }
4. Variabel Statis
Variabel statis merupakan variabel yang menempati ruang memori kumputer secara permanen, artinya nilai terakhir dari variabel ini akan terus disimpan. Dalam C++, untuk menyatakan variabel statis adalah dengan menggunakan kata kunci static.
Bentuk umum pendeklarasian variabel statis adalah sebagai berikut:
static tipe_data nama_variabel;
Contoh:
static int z; static char b;
variabel static juga dapat digunakan sebagai variabel lokal ataupun variabel global.
Variabel Statis Lokal
variabel statis lokal, variabel ini ditetapkan pada suatu fungsi, sehingga nama variabelnya hanya akan dikenali di dalam fungsi yang dideklerasikan variabel nya saja, Namun perlu di perhatikan bahawa nilai terakhir yang disimpan akan terus disimpan. dengan demikian setiap pemanggilan fungsi yang sama akan memberikan hasil yang berbeda. untuk memahaminya kita akan mencoba code statis dan non statis
code non statis
#include <iostream> using namespace std; int contoh(){ int i = 10; i = i + 110; return i; } int main () { int x, y, z; x = contoh(); y = contoh(); z = contoh(); cout<<"Nilai pada pemanggilan pertama : "<<x<<endl; cout<<"Nilai pada pemanggilan kedua : "<<y<<endl; cout<<"Nilai pada pemanggilan ketiga : "<<z<<endl; return 0; }
pada code di atas jika kalian coba jalankan akan memberikan nilai yang sama. yaitu 120

dari hasil program di atas, akan menghasilkan 120, karena nilai awal variabel i adalah 10 kemudian ditambah dengan 110 maka akan menghasilkan 120, pada pemanggilan pertama, kemudian pada pemanggilan ke dua terjadi hal yang sama, nilai variabel i kembali menjadi 10.
#include <iostream> using namespace std; int contoh(){ static int i = 10; i = i + 110; return i; } int main () { int x, y, z; x = contoh(); y = contoh(); z = contoh(); cout<<"Nilai pada pemanggilan pertama : "<<x<<endl; cout<<"Nilai pada pemanggilan kedua : "<<y<<endl; cout<<"Nilai pada pemanggilan ketiga : "<<z<<endl; return 0; }
jika code di atas dijalankan maka akan menghasilkan nilai berbeda pada setiap variabel x,y dan z

pada code program di atas akan menghasilkan hasil yang berbeda, tidak seperti program sebelumnya, karena pada code program ini menggunakan variabel static, pada peanggilan pertama nilai i adalah 10 dan kemudia ditambahkan 110 maka akan menjadi 120, berikutnya nilai variabel i menjadi 120 ditambahkan dengan 110, maka akan menjadi 230, begitu selanjutnya hingga pada nilai pemanggilan ke tiga, dan mendapatkan hasil 340.
Variabel Statis Global
pada program C++ kita dapat melakukan pembuatan pembuatan fungsi – fungsi terpisah dari program utama. dalam kasus ini tentu variabel statis lokal tidak dapat digunakan, melainkan harus menggunakan variabel statis global, berikut contoh penggunaan variabel statis global.
#include <iostream> using namespace std; static int A=10; void set_NilaiA (int A); int get_NilaiA (); void set_NilaiA (int aa){ A = aa; } int get_NilaiA (){ A = A + 100; return A; } int main () { cout<<"Nialai Pemanggila Pertama : "<<get_NilaiA ()<<endl; cout<<"Nialai Pemanggila Pertama : "<<get_NilaiA ()<<endl; cout<<"Nialai Pemanggila Pertama : "<<get_NilaiA (); return 0; }
Variabel Register
Variabel register, Variabel ini tidak seperti variabel biasa yang diimpan pada memori, variabel register ini akan disimpan di register CPU. Dengan demikian, untuk mengisi atau pun mengubah nilai variabel register tentunya tidak memerlukan akses memori sehingga prosesnya juga akan lebih cepat. Dalam bahasa program C++, variabel register hanya dapat diisi oleh tipe data char, int dan pointer. dan hanya boleh dideklarasikan sebagai variabel lokal ataupun parameter dari sebuah fungsi. Untuk mendeklarasikan variabel register, kita harus menggunakan kata kunci register.
bentuk dari pendeklerasian variabel register:
register tipe_data nama_variabel;
Berikut ini adalah contoh program yang akan menunjukkan cara mendeklarasikan dan mengubah variabel register.
#include <iostream> using namespace std; int Hitung(register int M, register int e){ register int temp; temp = 1; for (;e;e--){ temp = temp * M; } return temp; } int main(){ int x; x = Hitung(5,3); cout<<x<<endl; return 0; }
Variabel Eksternal
Variabel eksternal adalah variabel global yang ada atau sudah dideklarasikan di dalam file lain. variabel jenis ini biasa digunakan apabila program yang kita tulis berjumlah lebih dari satu file. Cara membuat variabel eksternal adalah dengan menyertakan kata kunci extern di depan deklarasi variabel bersangkutan.
sebagai contoh kita akan membuat 2 buah file .cpp dengan cara seperti berikutdalam dev c++,
pilih menu file->new->project
pilih tab basic->empty project-> C++ projrct

akan muncul file baru pada code editor, file pertama save dengan nama main.cpp dan isikan code berikut
#include <iostream> using namespace std; int a; extern void TulisNilai(); int main(){ a = 99; TulisNilai(); return 0; }
selanjutnya buat file kedia dengan nama talis.cpp, dengan cara klik kanan projrct->new

isikan dengan code berikut
#include <iostream> using namespace std; extern int a; void TulisNilai(void){ cout<<"Nilai a : "<<a<<endl; }
hasil pada saat dijalankan
