Monday, February 25, 2013

Perbedaan == dan === di php

Mungkin ada beberapa bahasa pemrograman seperti php. Pemrograman dimana variable dan type datanya tidak di deklarasikan terlebih dahulu. Ini merupakan sebuah kelebihan, karena developer pemula akan memanfaatkan ini sebagai lazy code, atau code yang malas. Kenapa? karena tanpa harus deklarasi variable dan tipenya dahulu kita bisa langsung menggunakan variable tersebut. Dan yang lebih nyamannya lagi adalah, tipe data untuk variable tersebut akan otomatis berubah sesuai dengan data yang akan di isinnya.

Contoh : 

<?php
    $testVariable = "05";
    echo $testVariable;
 
    echo "<br />";
 
    $hasilPenjumlahan = $testVariable+10;
    echo $hasilPenjumlahan;
?>


Dan hasil yagn muncul di browser adalah:
05
15

Dari echo pertama dihasilkan nilai string, tapi setelah ada proses matematika, hasil dari penjumlahan nilai $testVariable menjadi angka. Hal ini yang mempermudah para developer  amatir atau pemula dalam membuat code-code yang di inginkan.

Ini mungkin sebuah kelebihan, tapi jangan salah. Kelebihan ini juga bisa menjadi sebuah kelemahan jika tidak berhati-hati. Penulis contohkan sekalian ya, kita edit dari script diatas.:


<?php
     $testVariable = "05";
    echo $testVariable;

    echo "<br />";

    if($testVariable == 5){
       echo "Benar";
    }else{
       echo "Salah";
    }
?>
Apa yang keluar? di browser:

05
Benar

Jadi, apakah kondisional diatas benar? jawabannya adalah salah. Karena keinginan kita akan membandingkan nilai yang ada di variable $testVariable dengan angka 5 bukan 05. Tapi, oleh php karena tipe datanya otomatis, maka isi dari dari variable $testVariable akan di anggap angka, dan nilainya jadi 5 bukan 05. Sehingga saat terjadi kondisional tersebut dianggap benar. Walaupun kita anggap salah.
Terus, bagaimana untuk mengatasi hal ini. Di php juga memiliki kemampuan untuk membandingkan tipe data dari sebuah variable tersebut. Jadi jika data dan tipe data sama, maka akan benar dan kalau beda maka akan salah. Bagai mana untuk membuatnya? Sebenarnya mudah, tinggal menambahkan tanda = setelah tanda == jadi code yang akan terbentuk adalah sebagi berikut:


<?php
     $testVariable = "05";
    echo $testVariable;

    echo "<br />";

    if($testVariable === 5){
       echo "Benar";
    }else{
       echo "Salah";
    }
?>
Dan coba jalankan di browser, apa yang terjadi? Maka hasil yang ada adalah:

05
Salah
Nah, dengan begini, maka kondisional yang dibutuhkan sudah benar. Semoga bermanfaat.

Share this

4 Responses to "Perbedaan == dan === di php"

  1. wah, tema postingnya sama kaya di blogku, tahun lalu... :D

    ReplyDelete
  2. Iya kah? Lupa. Tapi bukan copy paste khan?

    ReplyDelete
  3. Oh baru tau ternyata "===" itu buat operasi perbandingan untuk tipe data. Thanks brother, nice info.

    ReplyDelete
  4. Wau begitu , apakah ini juga berlaku di javascript atau bahasa pemrograman lain ?

    ReplyDelete