Kumpulan Artikel-Artikel yang sangat bermanfaat untuk di baca , sekian dan terimakasih

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”;
}

0 komentar:

Post a Comment

Visitor