Sunday, March 8, 2015

Perbedaan = dan ==

Beberapa programmer pemula, mungkin masih agak bingung membedakan kegunaan antara = dan ==. Dan bagaimana pemanfaatannya di dalam bahasa pemrograman. Sebelum tahu perbedaan detilnya, mungkin harus tahu antara assigment dan conditional.

Apa itu Assigment?

Didalam bahasa pemrograman dikenal dengan assigment. Assigment ini kegunaannya adalah memberikan sebuah nilai kepada sebuah variable yang di deklarasikan. Nilai yang di masukkan ke dalam variable harus sesuai dengan type data yang diset untuk variable tersebut untuk beberapa bahasa pemrograman seperti java, c, delphi, dll. Akan tetapi, untuk php dan javascript, variable tersebut tidak perlu di deklarasikan typenya terlebih dahulu karena akan otomatis.
Sebagai contoh:

$sample_data = 5;
$sample_string = 'test';
$sample_data = "oke";

Dari sample diatas, terlihat ada 3 assigment ke sebuah variable. Dimana variable pertama di set menjadi 5. Dan apabila di echo atau di gunakan variable tersebut akan mengeluarkan nilai 5. Sedangkan untik variable ke 2. Di isi dengan nilai test. Maka data yang ada di dalam variable 2 akan berupa string test. Dan untuk assign variable ke 3, di isi dengan oke. Dan ini terlihat ada re-assign untuk variable yang sama. Dan jika di gunakan setelah re-assign. Maka datq yang muncul adalah string oke. Dan terlihat kalau di bahasa pemrograman seperti php dan javascript, type data sebuah variable bisa berubah sesuai dengan data yang ada di dalamnya.

Apa itu Conditional?

Sedangkan apa yang di sebut dengan kondisional, conditional adalah sebuah metode dalam bahasa pemrograman untuk membandingkan data yang ada di kiri dan data di kanan. Baik data yang ada di dalam sebuah variable atau bukan. Dan perbandingan ke 2 data ini, akan menghasilkan 1 buah keluaran yaitu benar dan salah atau dikenal juga dengan true or false.

Hasil benar atau salah ini di dapat dari membandingkan 2 buah variable yang ada. Jika benar akan melakukan apa dan jika salah akan melakukan apa. Sebagai contoh:
$data_satu = "test";
If($data_satu == "test"){
//perintah jika benar
}else{
//perintah jika salah
};

Dari sample diatas, akan menghasilkan data benar, maka akan melakukan perintah2 yang ada di kondisi benar. Akan tetapi, jika $data_satu diisi dengan bilangan, maka akan melakukan perintah2 yang ada di kondisi salah. Dan bagaimana jika kondisional itu hanya ada 1 operator =?. 

Contoh:
$data_satu = "makan";
If($data_satu = "test"){
//perintah jika benar
}else{
//perintah jika salah
};


Maka hasil dari contoh diatas akan selalu benar. Dan perintah jika kondisi salah, tidak akan pernah di jalankan. Kenapa? Karena yang ada di dalam if adalah assigment bukan membandingkan 2 data. So rekan programmer, harus hati-hati dan lebih teliti lagi dalam membuat kondisional. Jangan sampai kondisional tersebut menjadi assigment.

********* semoga bermanfaat ********

Share this