Apakah fungsi utama tanda sama dengan ganda (==) pada bahasa

Berikut ini adalah pertanyaan dari ROFIQ84961 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas

Apakah fungsi utama tanda sama dengan ganda (==) pada bahasa pemrograman seperti php,java,dan python ?

Jawaban dan Penjelasan

Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.

Fungsi utama tanda sama dengan ganda (==)pada bahasa pemrograman sepertiPHP, Java, dan Pythonadalahsebagai operator logika kesamaan nilai dua variabel, yang mengembalikan nilai:

  • true (atau 1)jika nilai kedua variabelsama, atau
  • false (atau 0)jika nilai kedua variabelberbeda.

Walaupun fungsi utamanya sama, terdapat perbedaan dalam penggunaannya, tergantung dari implementasi dan aturan yang ditetapkan pada setiap bahasa pemrograman tersebut.

Pembahasan

Untuk menentukan apakah dua variabel a dan b sama nilainya, bahasa pemrograman seperti PHP, Java, dan Python (bahkan C, C++, dsb.) menggunakan operator berupa tanda sama dengan ganda (==).
Alasan utamanya adalah untuk membedakan dengan operator atau tanda yang digunakan untuk memberi nilai (assignment) pada variabel, yaitu tanda sama dengan tunggal (=).

Agar lebih jelas, kita gunakan contoh ilustrasi.

Untuk contoh ini, kita akan mengevaluasi output dari algoritma sederhana berikut pada interpreter masing-masing bahasa pemrograman tersebut.

  1. Deklarasi sekaligus inisialisasi variabel a dengan nilai integer 10.
  2. Deklarasi sekaligus inisialisasi variabel b dengan nilai string "10".
  3. Periksa apakah a sama dengan nilai integer 10.
  4. Periksa apakah a sama dengan nilai desimal/float 10.0.
  5. Periksa apakah a sama dengan hasil penjumlahan 5 + 5.
  6. Periksa apakah a sama dengan hasil penjumlahan 4.5 + 5.5.
  7. Periksa apakah b sema dengan nilai string "10".
  8. Periksa apakah a sama dengan b.

Hasil Eksekusi Pada Interpreter

PHP

Interpreter dijalankan dengan eksekusi perintah "php -a" pada shell Linux.

  1. php > $a = 10;
  2. php > $b = "10";
  3. php > echo $a == 10;
    1
  4. php > echo $a == 10.0;
    1
  5. php > echo $a == 5 + 5;
    1
  6. php > echo $a == 4.5 + 5.5;
    1
  7. php > echo $b == "10";
    1
  8. php > echo $a == $b;
    1

Java

Interpreter dijalankan dengan eksekusi perintah "jshell" pada shell Linux.

  1. jshell> int a = 10;
    a ==> 10
  2. jshell> String b = "10";
    b ==> "10"
  3. jshell> a == 10;
    $5 ==> true
  4. jshell> a == 10.0;
    $6 ==> true
  5. jshell> a == 5 + 5;
    $7 ==> true
  6. jshell> a == 4.5 + 5.5;
    $8 ==> true
  7. jshell> b == "10";
    $9 ==> true
  8. jshell> a == b;
    |  Error:
    |  bad operand types for binary operator '=='
    |    first type:  int
    |    second type: java.lang.String
    |  a == b;
    |  ^----^

Python

Interpreter dijalankan dengan eksekusi perintah "python" pada shell Linux.

  1. >>> a = 10
  2. >>> b = "10"
  3. >>> a == 10
    True
  4. >>> a == 10.0
    True
  5. >>> a == 5 + 5
    True
  6. >>> a == 4.5 + 5.5
    True
  7. >>> b == "10"
    True
  8. >>> a == b
    False

Kesimpulan

Pada langkah terakhir, terdapat perbedaan, yaitu interpreter PHP menganggap integer 10 sama dengan string "10", sedangkan Java dan Python tidak. Hal ini terjadi karena perbandingan kesamaan nilai variabel dengan tanda sama dengan ganda (==) pada PHP dilakukan dengan mekanisme "type-juggling", artinya membandingkan "isi" dari variabel, tanpa memperhatikan tipe data.

Jika pada langkah terakhir kita ingin mendapatkan output serupa dengan Java atau Python, pada PHP kita gunakan tanda tripel sama dengan (===). Sebagai contoh:

php > echo $a === $b;
⇒ Tidak ada output karena hasilnya 0 atau false.

Agar terlihat outputnya, dapat digunakan perintah PHP berikut ini:
php > echo $a === $b ? "sama" : "tidak sama";
tidak sama

Outputnya adalah "tidak sama".

Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.

Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact

Last Update: Tue, 06 Dec 22