Nulis-Ilmu.com

Tutorial Elektronika dan Komputer

  • Home
  • Elektronika
  • Komputer
  • Javascript
You are here: Home / PHP / Tutorial PHP OOP Part 21 : Perbandingan Object

Tutorial PHP OOP Part 21 : Perbandingan Object

6 Desember 2014 By Eko Purnomo

perbandingan object

Perbandingan antara dua buah object dapat dilakukan dengan operator perbandingan (==) seperti yang sering dipakai pada saat menggunakan logika IF. Dengan cara ini, kedua object diperbandingkan secara sederhana. Hasil dari operator (==) akan bernilai benar (TRUE) jika kedua object memiliki atribut dan nilai yang sama dan juga merupakan instantisasi dari class yang sama.

Selain operator perbandingan (==) pada PHP juga terdapt operator identik yaitu (===) atau tanda sama dengan yang ditulis tiga kali. Bila menggunakan operator identitas (===), variabel object disebut identik dan menghasilkan nilai benar (TRUE) jika dan hanya jika mereka mengacu pada instantisasi yang sama dari kelas yang sama.


Contoh penggunaan operator perbandingan (==) dan operator identik (===)

 <?php  
function bool2str($bool)
{
if ($bool === false) {
return 'SALAH';
} else {
return 'BENAR';
}
}

function Bandingkan(&$object1,$namaobject1, &$object2,$namaobject2)
{
echo $namaobject1 .' == '.$namaobject2.' -> '. bool2str($object1 == $object2) . "<br/>";
echo $namaobject1 .' != '.$namaobject2.' -> '. bool2str($object1 != $object2) . "<br/>";
echo $namaobject1 .' === '.$namaobject2.' -> '. bool2str($object1 === $object2) . "<br/>";
echo $namaobject1 .' !== '.$namaobject2.' -> '. bool2str($object1 !== $object2) . "<br/>";
}

class Class1
{
public $contoh;
function Test1($contoh = true) {
$this->contoh = $contoh;
}
}

class Class2
{
public $contoh;
function Test2($contoh = true) {
$this->contoh = $contoh;
}
}

$object1 = new Class1();
$object2 = new Class1();
$object3 = $object1;
$object4 = new Class2();

echo "<h1>Kriteria perbandingan :</h1>
".htmlspecialchars("$")."object1 = new Class1();<br/>
".htmlspecialchars("$")."object2 = new Class1();<br/>
".htmlspecialchars("$")."object3 = ".htmlspecialchars("$")."object1;<br/>
".htmlspecialchars("$")."object4 = new Class2();<br/>
<br/>
";

echo "<h1>Hasil Perbandingan :</h1>";

echo "<b>Dua instantisasi dari class yang sama :</b><br/>";
Bandingkan($object1,'$object1', $object2,'$object2');

echo "<br/><b>Dua reference dari instantisasi yang sama :</b><br/>";
Bandingkan($object1,'$object1', $object3,'$object3');

echo "<br/><b>Instantisasi dari dua class berbeda :</b><br/>";
Bandingkan($object1,'$object1', $object4,'$object4');
?>

Jika program diatas dijalankan akan tampil hasil perbandingan seperti ini :

Kriteria perbandingan :

$object1 = new Class1();
$object2 = new Class1();
$object3 = $object1;
$object4 = new Class2();

Hasil Perbandingan :

Dua instantisasi dari class yang sama :
$object1 == $object2 -> BENAR
$object1 != $object2 -> SALAH
$object1 === $object2 -> SALAH
$object1 !== $object2 -> BENAR

Dua reference dari instantisasi yang sama :
$object1 == $object3 -> BENAR
$object1 != $object3 -> SALAH
$object1 === $object3 -> BENAR
$object1 !== $object3 -> SALAH

Instantisasi dari dua class berbeda :
$object1 == $object4 -> SALAH
$object1 != $object4 -> BENAR
$object1 === $object4 -> SALAH
$object1 !== $object4 -> BENAR

Penjelasan program :

Dari percobaan diatas dapat diperoleh beberapa kondisi, yaitu:

  1. Object1 dan Object2 merupakan object yang di instantisasi dari class yang sama, maka ketika dibandingkan dengan operator (==) menghasilkan “BENAR” dan ketika dibandingkan dengan operator (===) menghasilkan “SALAH”.
  2. Object1 dan Object3 merupakan object yang direferen dari instantisasi dari class yang sama, maka ketika dibandingkan dengan operator (==) menghasilkan “BENAR” dan ketika dibandingkan dengan operator (===) menghasilkan “BENAR”.
  3. Object1 dan Object4 merupakan object yang diinstantisasi dari class yang berbeda, maka ketika dibandingkan dengan operator (==) menghasilkan “SALAH” dan ketika dibandingkan dengan operator (===) menghasilkan “SALAH”.

Referensi :

  • //php.net/manual/en/language.oop5.object-comparison.php

Filed Under: PHP

Kategori

  • Android
  • Blogging
  • CSS
  • Desain
  • Elektronika
  • HTML
  • Internet
  • Javascript
  • Komputer
  • Mikrokontroler
  • PHP
  • Website

Pos-pos Terbaru

  • Rangkaian Adaptor 12 Volt 3 Ampere
  • 10 Aplikasi Transportasi Online Terbaru 2018
  • 3 Cara Screenshot di Laptop Windows
  • Rangkaian Adaptor 12V 35Ampere
  • Komunitas Desainer Kampung Jepara
  • Solder Yang Bagus dan Berkualitas
  • Cara Melewatkan Parameter ke dalam Fungsi pada Bahasa C
  • Parameter Dalam Bahasa C: Formal dan Aktual
  • Prototipe Fungsi dalam Bahasa C
  • Cara Menggunakan Fungsi dalam Bahasa C
  • Home
  • Privacy
  • Disclaimer
  • Kontak

Copyright © 2024 ยท Nulis-ilmu.com