Operator Relasional Pada C++


Operator relasional yang dipakai dalam C++ adalah :

<     Lebih kecil dari

<=   Lebih kecil atau sama dengan

>     Lebih besar dari

>=   Lebih besar atau sama dengan

==   Sama dengan

!=    Tidak sama dengan

Operator-operator relasional di atas adalah opeator biner yang fungsinya melakukan tes pada hubungan diantara kedua operannya, Hasil tes ini adalah true atau false, misalnya :

(5 > 2)

hasilnya adalah true, sedangkan:

(2>5)

hasilnya adalah false.

Operator relasional dipakai dengan pernyataan-pernyataan while dan if-else untuk melakukan tes pada suatu kondisi. Pada suatu while-loop, suatu blok yang terdiri dari banyak pernyataan akan dieksekusi berulang-ulang asalkan hasil tesnya true, misalnya:

n=10;

while (n > 0)

{

cout << n;

n = n – 1;

}

C++ akan mengganti hasil tes yang true dengan 1 dan yang false dengan 0, jadi untuk  while-loop di atas, keputusan untuk mengulang loop atau keluar dari loop tergantung dari hasil tes yang dapat 1 atau 0, C++ akan memperlakukan bilangan yang tidak sama dengan nol sebagai true sehingga penggalan program tadi dapat ditulis:

n= 10;

while (n)

{

cout << n;

n = n – 1;

}

Sedangkan untuk pernyataan if-clse, hasil tes yang memutuskan blok mana yang dieksekusi, misalnya :

x=1;
y=2;

if ( x == y )

cout << “x sama dengan y “;

else

cout << “x tidak sama dengan y”;

Operator yang dipakai dalam pernyataan if-else adalah operator sama dengan (==), bukan operator assignment (=), misal penggalan program di atas ditulis:

x=1;
y=2;

if ( x = y )

cout << “x sama dengan y “;

else

cout << “x tidak sama dengan y”;

berarti nilai dari variabel y, karena kesalahan pemakaian operator, ditempatkan di variabel x, sehingga tes pada pemyatan  if akan menghasilkan 2, yang diartikan true oleh C++ sehingga pada layar akan tercetak “x sama dengan y”, Hasil ini sudah tentu tidak benar, kalau pemakaian operatornya benar yaitu (x == y) maka nilai variabel x akan dibandingkan dengan nilai variabel y, hasilnya adalah false atau 0 sehingga pada layar akan tercetak “x tidak sama dengan y”.

Order of precedence dari operator-operator relasional ini lebih rendah dari operator-operator aritmatik tetapi lebih tinggi dari operator assignment sehingga ekpresi :

z == y – 1    adalah sama dengan  z == (y – 1)

sehingga variabel z akan dibandingkan dengan variabel (y-1). Contoh ekpresi lain:

z == x * x == y adalah sama dengan     z = (x *x == y)

disini  (x * x === y) menghasilkan true atau false dan hasilnya disimpan dalam variabel   z  jadi variabel  z mempunyai nilai true atau false. Contoh yang lain lagi:

x == y != z   adalah sama dengan ((x == y) \= z)

tidak sama dengan (x == (y != z)

karena assosiativitas dari operator-operator relasional adalah dari kiri ke kanan. Contoh pemakaian ekpresi yang terakhir ini adalah sebagai berikut:

// C4_2.CPP

#include <iostream.h>

 

main ()

{

int x = 2, y = 2, z = 0;

if(x==y !=z)

cout << “true \n”;

else

cout << “false \n”;

}


Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *