VARIABEL DAN KONSTANTA DALAM C++
1. Nama Variabel
Nama variabel bisa terdiri dari huruf, angka, dan tanda underscore _
, tetapi tidak boleh diawali dengan sebuah angka. Nama variabel juga tidak boleh terdiri dari keyword-keyword dari C++ seperti if, for,else, atau while.
Beberapa Keyword pada C++
and | and_eq | asm | auto | bitand |
bitar | bool | break | case | catch |
char | class | const | const_case | continue |
default | delete | do | double | dynamic_cast |
else | enum | explicit | export | extern |
false | float | for | friend | goto |
if | inline | int | long | mutable |
namespace | new | not | not_eq | operator |
or | or_eq | private | protected | public |
registeed | return | short | signet | try |
sizeof | static_cast | struct | switch | unsigned |
template | this | throw | true | wchar_t |
typedef | typeid | typename | union | |
using | virtual | void | volatile | |
while | xor | xor_eq | ||
reinterpret_cast |
nama variabel juga bersifat case sensitif sehingga nama, Nama, NaMa, NAMA, dan namA akan dianggap sebagai nama variabel yang berbeda. Meskipun demikian, pemberian nama variabel seperti itu tidak disarankan karena bisa menyebabkan kebingungan dan kesalahan dalam penulisan program nantinya.
2. Pendeklarasian Tipe Data Variabel
Pada C++ atau bahasa pemrograman yang lain, semua varibael yang akan digunakan dalam program harus dideklarasikan terlebih dahulu. Deklarasi dari variabel memiliki 2 tujuan.
- Menentukan tipe dan nama variabel.
- Memungkinkan compiler untuk menentukan berapa banyak ruang penyimpanan yang bisa digunakan untuk variabel-variabel tersebut.
int
Merupakan variabel yang dapat menampung nilai positif atau ilai negatif. Ada batasan nilai yang boleh dipergunakan. Pada PC, nilai yang diperbolehkan adalah nilai -32768 sampai 32767.
float
Merupakan variabel yang dapat menampung semua nilai bilangan real, mewakili semua bilangan, dan bilangan dengan pecahan desimal. Jangkauan dari float tergantung pada sistem komputer yang dipakai. Biasanya system 4 byte menggunakan jangkauan mulai -1038 sampai +1038.
char
Tipe ini mewakili suatu karakter tunggal, sebuah huruf, 1 digit, atau tanda baca. Tipe ini biasanya berukuran 1 byte.
Contoh-contoh untuk variabel tersebut adalah :
int 123 -56 0 4645
float 16.315 -0.67 31.567
char '+' 'A' 'a' '*' '7'
Contoh-contoh pendeklarasian variabel adalah :
int i, j, count;
float sum, product;
char ch;
Deklarasi-deklarasi di atas menentukan i, j, dan count menggunakan tipe integer, sum dan product menggunakan tipe float, dan ch menggunakan tipe char.
Deklarasi sebuah variabel memiliki bentuk umum.
Type Nama_variabel
Type | menentukan tipe variabel |
Nama_variabel | menentukan nama variabel yang |
Variabel bisa diinisialisasi pada saat dideklarasikan dengan memberikan nilai-nilai.
contoh
int i, j, count = ();
float sum = ().(), product;
char ch = '7';
yang memberikan nilai () untuk variabel count, dan memberikan nilai ().() untuk variabel sum. Variabel ch diberi nilai awalan berupa karakter 7
. Variabel-variabel yang tidak diberi nilai awal tidak akan diberi nilai (tidak diberi nilai()).
Catatan
C++ juga memungkinkan pemrograman untuk menentukan tipe data sendiri (user define data type).
Penentuan itu meliputi juga penentuan class.
3. Mendefinisikan Konstanta pada C++
Ada 3 teknik yang digunakan untuk mendefinisikan konstanta pada C++. Teknik pertama berasal dari bahasa pemrograman C. Konstanta didefinisikan menggunakan preprosesor directive #define. Preprosesor adalah program yang memodifikasi file-file source code pada saat sebelum kompilasi. Prerposesor yang umum digunakan adalah #include yang digunakan untuk menambahkan kode-kode tambahan ke dalam kode program kita. Ada beberapa preprosesor yang lain di antaranya #if dan #endif. Contoh penggunaan preposesor #define:
#define pi 3.14515
#define id_no 12345
Di mana pun variabel-variabel pi dan id_no muncul pada program kita, preprosesor akan menggantinya dengan nilai-nilai yang telah ditentukan sehingga di mana pun pi digunakan, nilainya akan diganti dengan 3.1415. Compiler akan melihat nilai 3.1415 pada baris program dan bukan pi. Teknik itu sudah out of date dan jarang digunakan.
Const
Teknik kedua adalah menggunakan keyword const saat mendeklarasikan variabel. Ketika digunakan, const akan menjaga nilai variabel agar tetap tidak berubah ketika ada baris-baris program yang akan mengubah varibel tersebut.
const float pi = 3.1415
const in id_no = 12345;
Manfaat utama dibandingkan teknik yang pertama, tipe dari konstanta ditentukan. Float untuk pi dan int untuk id_no sehingga compiler bisa melakukan pengecekan tipe.
Enumeration
Teknik ketiga adalah enumeration. Enumeration mendefinisikan tipe baru dan batasan nilai hanya pada kumpulan nilai yang ditentukan oleh programmer. Sebagai contoh:
enum COLOR { RED, BLUE, GREEN};
enum SHAPE { SQUARE, RECTANGLE, TRIANGLE, CIRCLE, ELLIPSE};
Setiap enumerator memiliki nilai integer, kecuali ditentukan nilainya. Enumerator pertama akan memiliki nilai (). Nilai bertambah satu-satu untuk setiap penambahan enumerasi. Sebagai contoh, RED memiliki nilai (), BLUE memiliki nilai 1, dan GREEN memiliki nilai 2. Sementara itu SQUARE bernilai 0, RECTANGLE bernilai 1, dan seterusnya.
Nilai dari setiap enumerator bisa juga ditentukan secara khusus.
enum SHAPE(SQUARE=5, RECTANGLE, TRIANGLE=17, CIRCLE, ELLIPSE);
Disini SQUARE bernilai 5, RECTANGLE bernilai 6, TRIANGLE bernilai 17, CIRCLE bernilai 18, dan ELLIPSE bernilai 19. Kenuntungan dari enumerasi adalah terdapatnya tipe dan batasan nilai yang nantinya akan dicek ketika kompilasi.
Kode yang bisa anda coba
#include <iostream>
using namespace std;
int main()
{
enum color {RED, GREEN, BLUE};
color myColor = 5;
if(myColor == RED)
{
cout << "panas" << endl;
}
if (myColor == CLUE)
{
cout << "dingin" << endl;
}
if (myColor == GREEN)
{
cout << "sejuk" << endl;
}
return 0;
}
Jika program diatas dikompilasi, maka tidak akan dihasilkan output apa pun. Hal itu disebabkan olehvariabel mycolor yang diberi tipe color dengan batasan nilai yang diberikan hanya 0, 1, dan 2 sehingga nilai 5 tidak legal sehingga program tidak memberikan output.
Untuk memberikan pemahaman yang lebih mendalah, mari kita coba baris program berikut
#include <iostream>
#define pi 3.14
using namespace std;
int main()
{
float luas;
float jari;
cout << "isikan nilai jari-jari: ";
cin >> jari;;
luas = 4 * pi * jari * jari;
cout << "Luas BOla: " << luas;
return 0;
}
QUIZ
Isikan nilai jari = 10, apakah output programmnya?
Ubahlah deklarasi #define dengan deklarasi const, tetapi output program tetap sama dengan prgram di atas.