Chapter II. TIPE DATA DAN VARIABEL I. Tipe Data - Variabel Di dalam memprogram sering dilakukan penyimpanan nilai dalam suatu variabel (mis: a = b+c ). Terlebih dahulu dilakukan deklarasi variabel. pesan alokasi memori memberinya nama/alamat, mendefinisikan tipe data yang bisa masuk ke dalam memori tersebut. <tipe data> <nama variabel> [= ekspresi] Contoh : float nilai = 10; --> alokasikan memori bertipe: float dengan alamat/nama: nilai dan bernilai: 10. Pengisian nilai, bersama dengan deklarasi variabel diperbolehkan <tidak seperti di Pascal>. Nama variabel bebas (tanpa tanda spasi) Tipe Data Jumlah Bit Jangkauan Keterangan char 8-128 s/d 127 karakter int 16-32768 s/d 32767 integer float 32 3.4E-38 s/d 3.4E+38 real double 64 1.7E-308 s/d 1.7E+308 real presisi ganda void 0 - Tak bertipe Nb: sumber = modul praktikum c++, faisal, 2007 Variabel didefinisikan sebelum digunakan (Pendefinisiannya boleh di mana saja). Biasanya deklarasi variabel diletakkan secara mengelompok tepat di awal program utama (untuk memudahkan pengecekan apakah suatu variabel sudah didefinisikan atau belum). contoh 1. int y; float x = 12.3; char huruf; y = 5; huruf = 'Y'; cout << Nilai Y = << y << endl; www.hatma.info 1
cout << Nilai X = << x << endl; cout << Huruf = << huruf << endl; Nama variabel adalah case sensitive. Artinya ketika kita memberikan nama sebuah variabel dengan Jumlah tidak akan sama dengan variabel bernama jumlah, JUMLAH, atau JumLah. int Jumlah = 100; int jumlah = 200; c = jumlah + 50 ; = 250; www.hatma.info 2
II.Operasi - Ekspresi Ekspresi merupakan statement yang berisi operasi matematika atau operasi logika. Semisal ada statement seperti ini : x = 5 + 6. Statement tersebut merupakan ekspresi. Contoh lain : x = y z. Statement ini juga merupakan ekspresi dengan operasi logika. 1. Operasi Matematika Simbol Arti * Perkalian / Pembagian % Sisa pembagian (MOD) 5 mod 2 = 1 10 mod 3 = 1 + Penjumlahan - Pengurangan ++ Penjumlahan dengan 1 misal variabel x = 2. x++ ; maka x = 3 -- Pengurangan dengan 1 x = 15; x--; x=?? 14 variabel_penampung = variabel_operan1 <operasi> variabel_operan2; Contoh 2 : a = a%2; 5 mod 2 = 1; www.hatma.info 3
2. Operasi Logika (operasi bit) Simbol Arti >> geser bit ke kanan << geser bit ke kiri ^ XOR ~ NOT OR & AND Pengunaannya sama seperti operasi aritmetika di atas, memakai dua operan dan satu variabel penampung kecuali untuk operasi ~(NOT). Contoh 3: int x = 10; x = x << 1; Hasil dari x digeser bitnya ke kiri satu bit menjadi x = 20. Penjelasannya sbb : x = 10 -> 0000 0000 0000 1010 digeser ke kiri 1 bit menjadi x = 20 -> 0000 0000 0001 0100 Contoh 4: int x = 10; x = x &(~x); Hasilnya nilai x = 0. Penjelasannya sbb : x = 10 -> 0000 0000 0000 1010 dan ~x -> 1111 1111 1111 0101 Kemudian dikenakan operasi AND, maka hasilnya menjadi x = 0 -> 0000 0000 0000 0000 www.hatma.info 4
3. Operator Kombinasi Ekspresi Kependekan dari x += 2 x = x + 2 x -= 2 x = x - 2 x *= 2 x = x * 2 x /= 2 x = x / 2 x %= 2 x = x % 2 x << 2 x = x << 2 x >> 2 x = x >> 2 x &= 2 x = x & 2 x = 2 x = x 2 x ^= 2 x = x ^ 2 Contoh 5 : d ^= 2 10 ^= 2 = 8 4. Konversi Tipe Data Jika operan pada suatu ekspresi berbeda tipe, maka harus dilakukan konversi tipe data. Apabila operan tetapi masih dalam jenis yang sama (int, char, longint merupakan jenis tipe integer. float, double merupakan jenis tipe real) maka konversi dilakukan otomatis oleh C++. Misal : Jika ada salah satu operan bertipe longint, maka semua operan diubah ke longint. Atau jika salah satu operan bertipe double, maka semua operan diubah ke tipe data double. (tipe data yang digunakan adalah tipe data yang memiliki bit paling luas) Cara kedua menggunakan variabel cast (bila operan memiliki jenis yang berbeda, misalnya float dengan int). int x; float y, jumlah; jumlah = y * (float) x; Atau : int x, y; float jumlah; jumlah = (float) (x * y); (float) akan memaksa variabel yang mengikutinya dikonversi ke tipe data yang didefinisikan. www.hatma.info 5
5. Definisi Konstanta Pemrograman C++ Mendefinisikan konsanta dapat dilakukan dengan fungsi define di preprocessor. Namun ada cara mendefinisikan konsanta yang lebih baik ( tipe data variabel konsanta jelas. ). Yaitu dengan fungsi const. const int nilai = 90; const float jumlah = 80.6; const float phi = 3.14 ; 6. Typedef C++ menyediakan fasilitas fungsi typedef untuk menggantikan nama tipe data yang panjang (menggantikan tipe data bernama 'tipe' dengan unsigned short int ). typedef unsigned short int tipex; tipex nilai, jumlah; nilai = 90; jumlah = 80; www.hatma.info 6
7. Enumerasi Enumerasi adalah mendefinisikan beberapa konsanta sekaligus ( enum ). Fungsi enum diikuti dengan nama konstanta dan nilainilai enumerasi dimasukkan dalam tanda kurawal enum warnahijau, merah, biru, cokelat, putih, hitam; cout << hijau << endl; cout << merah << endl; Hasilnya adalah hijau untuk konstanta bernilai 0, merah = 1, biru = 2, dst. Jika ingin nilainilai tersebut kita definisikan sendiri, enum warnahijau =100, merah = 900, biru=500, cokelat = 1, putih = 90, hitam; cout << hijau << endl; cout << merah << endl; cout << cokelat << endl; Hasilnya hijau bernilai = 100, merah = 900, dan cokelat = 1. www.hatma.info 7