Anda di halaman 1dari 17

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 <iostream>
#include<cmath> // 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 <iostream>
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 <iostream>
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 <iostream>
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 <iostream>
#include <cmath>
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;
}

Anda mungkin juga menyukai