Tipe Data dan Operator Ekohariadi FT Unesa
Tipe Data Tipe data variabel adalah penting sebab ia menentukan operasi yang diijinkan dan rentang nilai yang disimpan. C++ menentukan beberapa tipe data, dan masing-masing mempunyai karakteristik yang unik. C++ memberi tipe data bawaan yang sesuai dengan data integer, karakter, floating point, dan Boolean. Pada umumnya tipe data di C++ adalah sebagai berikut: Tipe Arti char Karakter int Integer float Floating point double Floating point dobule bool Boolean
Tipe Data C++ mengijinkan tipe data tertentu mempunyai modifier yang diletakkan didepannya. Modifier mengubah arti tipe data yang cocok pada situasi tertentu. Modifier tersebut adalah: signed, unsigned, long, dan short. Modifier signed, unsigned, long, dan short dapat diterapkan di int. Modifier signed dan unsigned dapat diterapkan di tipe char. Modifier long dapat diterapkan di double. Berikut adalah kombinasi tipe data dan modifier serta rentangannya. Tipe Rentang Minimum char -127 sd 127 unsigned char 0 sd 255
signed char int unsigned int
-127 sd 127 -32767 sd 32767 0 sd 65535
Tipe Data Tipe signed int short int unsigned short int signed short int long int unsigned long int unsigned long int float double long double
Rentang Minimum Seperti int -32767 sd 32767 0 sd 65535 Seperti short int -2147483647 sd 2147483647 Seperti long int 0 sd 4294967295 1E-37 sd 1E+37, dgn presisi 6 digit 1E-37 sd 1E+37, dgn presisi 8 digit 1E-37 sd 1E+37, dgn presisi 8 digit
Karakter Variabel tipe char menyimpan karakter ASCII 8 bit seperti A, z, maupun karakter lain. Untuk menentukan karakter, Anda harus menutupnya diantara tanda petik. char kar; kar = ‘X’; Ini menetapkan X ke variabel kar. Anda dapat menampilkan nilai karakter dengan menggunakan pernyataan cout. Misal, cout << “Ini adalah karakter: “ << kar; Hasilnya adalah: Ini adalah karakter: X
Floating Point Variabel tipe float dan double digunakan ketika diperlukan komponen pecahan maupun ketika aplikasi memerlukan bilangan sangat kecil maupun sangat besar. Contoh berikut fungsi sqrt() mengembalikan nilai double yang merupakan akar dari argumen double. Disini, sqrt() digunakan untuk menghitung panjang hypotenuse jika diberikan panjang sisi-sisi yang berlawanan. Output program tersebut adalah Hypotenuse adalah 6.40312
Floating Point /* Menggunakan rumus Pitagoras untuk menentukan panjang hypotenuse jika diberikan panjang sisi-sisi yang berhadapan. */ #include
#include // diperlukan untuk fungsi sqrt() using namespace std; int main() { double x, y, z; x = 5.0; y = 4.0; z = sqrt(x*x + y*y); // fungsi sqrt() bagian pustaka math cout << "Mypotenuse adalah " << z; system ("PAUSE"); Output program: return 0; Hypotenuse adalah 6.40312 }
Tipe Bool Tipe ini menyimpan nilai Boolean . C++ menentukan dua konstanta Boolean, true dan false, Satu konsep dasar di C++ adalah suatu nilai bukan nol ditafsirkan sebagai true dan nol sebagai false. Program di bawah mendemonstrasikan tipe bool. Output yang ditampilkan program adalah b adalah 0 b adalah 1 Ini dieksekusi 8 > 7 adalah 1 Ketika nilai bool dikeluarkan menggunakan cout, akan ditampilkan 0 maupun 1. Hasil operator relasi, seperti <, adalah nilai Boolean. Inilah mengapa ekspresi 8 > 7 adalah nilai 1.
Tipe Bool
// Memperlihatkan nilai boolean #include using namespace std; int main() { bool b; b = false; cout << "b adalah " << b << "\n"; b = true; cout << "b adalah " << b << "\n"; // nilai bool dapat mengendalikan pernyataan if if(b) cout << "Ini dieksekusi.\n"; b = false; if(b) cout << "Ini tidak dieksekusi.\n"; // hasil operator relasi adalah nilai benar/salah cout << "8 > 7 adalah " << (8 > 7) << "\n"; system ("PAUSE"); return 0; }
Operator Aritmatika C++ memberi banyak operator. Suatu operator merupakan simbol yang memberitahu compiler untuk melakukan manipulasi matematika maupun logika tertentu. C++ mempunyai empat kelas umum operator: aitmatika, bitwise, relasi, dan logika. C++ mendefinisikan operator aritmatika berikut: Operator Arti + Penjumlahan Pengurangan * Perkalian / Pembagian % Modulus ++ Kenaikan -Penurunan
Operator Aritmatika Operator % menghasilkan sisa pembagian integer. Program berikut mendemonstrasikan operator modulus. // Mendemonstrasikan operator modulus #include Output program: using namespace std; 10 / 3 adalah 3 dengan sisa 1 int main() { int x, y; 1 / 2 adalah 0 x = 10; 1 % 2 adalah 1 y = 3; cout << x << " / " << y << " adalah " << x / y << " dengan siswa " << x % y << "\n"; x = 1; y = 2; cout << x << " / " << y << " adalah " << x / y << "\n" << x << " % " << y << " adalah " << x % y; system ("PAUSE"); return 0; }
Operator Relasi dan Logika Operator relasi dan logika diperlihatkan di bawah. Perhatikan tidak sama diwakili dengan != dan sama diwakili oleh tanda dua sama dengan, ==. Pada C++, hasil ekspresi relasi dan logika menghasilkan nilai bool, yaitu hasil ekspresi relasi maupun logika adalah true atau false. Operator Relasi Operator Arti > Lebih besar >= Lebih besar atau sama < Lebih kecil <= Lebih kecil atau sama == Sama != Tidak sama
Operator Relasi dan Logika Operator Logika Operator Arti && AND || OR ! NOT Tabel kebenaran dari operasi logika AND, OR, dan NOT seperti di bawah p q p AND q p OR q NOT p 0 0 0 0 1 0 1 0 1 1 1 1 1 1 0 1 0 0 1 0
Operator Relasi dan Logika if(i == j) cout << "ini tidak Berikut adalah program yang dieksekusi\n"; mendemonstrasikan operator if(i >= j) cout << "ini tidak relasi dan logika. // Mendemonstrasikan operator relasi dan dieksekusi\n"; if(i > j) cout << "Ini tidak logika #include dieksekusi\n"; using namespace std; b1 = true; b2 = false; int main() { if(b1 && b2) cout << "ini tidak int i, j; dieksekusi\n"; bool b1, b2; if(!(b1 && b2)) cout << "!(b1 && i = 10; j = 11; b2) adalah benar\n"; if(i < j) cout << "i < j\n"; if(b1 || b2) cout << "b1 || b2 if(i <= j) cout << "i <= j\n"; adalah benar\n"; if(i <= j) cout << "i <= j\n"; system ("PAUSE"); return 0; }
Operator Relasi dan Logika Output program sebagai berikut: i<j i <= j i != j ! (b1 && b2) adalah salah b1|| b2 adalah benar Operator relasi dan logika lebih rendah prioritasnya dibanding operator matematika. Ekspresi seperti 10 > 1+12 dievaluasi seakan-akan ditulis 10 > (1 + 12). Berikut adalah prioritas operator relasi dan relasi: Tertinggi: ! > >= < <= == != && Terendah: ||
Proyek: Operasi Logika XOR C++ tidak mendefinisikan operator logika yang melaksanakan operasi exclusive-OR, yang diacu sebagai XOR. XOR adalah operasi biner yang menghasilkan benar ketika satu dan hanya satu operand benar seperti diperlihatkan di tabel berikut: p q p XOR q 0 0 0 0 1 1 1 0 1 1 1 0 Pada proyek ini, Anda akan membuat operasi XOR dengan menggunakan operator &&, ||, dan !. .
Proyek: Operasi Logika XOR Berikut adalah seluruh program yang mendemonstrasikan operasi XOR. // Membuat XOR menggunakan operator logika. #include #include using namespace std; int main() { bool p, q; p = true;q = true; cout << p << " XOR " << q << " adalah " << ((p || q) && !(p && q) ) << "\n“;
p = false; q = true; cout << p << " XOR " << q << " adalah " << ((p || q) && !(p && q) ) << "\n"; p = true; q = false; cout << p << " XOR " << q << " adalah " << ( (p || q) && !(p && q) ) << "\n"; p = false; q = false; cout << p << " XOR " << q << " adalah " << ( (p || q) && !(p && q) ) << "\n"; system ("PAUSE"); return 0; }
.