Statement dan Expression, Bedanya Apa?

baca 2 menit
Statement dan Expression, Bedanya Apa?

Semakin kita mempelajari bahasa pemrograman, seringkali kita menemukan beberapa teori yang mungkin tidak sesuai dengan penerapannya.

Contohnya saja istilah statement dan expression.

Dua istilah ini sering kali digunakan secara bergantian seakan punya arti yang sama. Padahal sebenarnya 2 istilah ini punya perbedaan yang signifikan.

Oleh karena itu, kali ini kita akan membahas inti perbedaan dari statement dan expression secara singkat dan semoga mudah untuk dipahami 😀.

Apa sih Expression itu?

Pertama, kita akan membahas seputar expression. Sebenarnya, apa sih expression itu?

Dalam konsep pemrograman, expression mengacu pada sesuatu yang dapat dihitung dan menghasilkan nilai.

Contohnya saja operasi data yang biasa kita lakukan seperti penjumlahan, pengurangan, perkalian, dan lain sebagainya termasuk pemanggilan fungsi.

Contoh :

python
1 + 7
"Invasi" + "Kode"
x * y
True != False
10.0 / 4

Tidak terbatas pada operasi saja, bahkan data yang berdiri sendiri juga termasuk dalam expression. Ingat! Expression harus bisa mengembalikan nilai.

Contoh :

python
1
"Inva"
x
'I'
True
1.0

Sederhananya, sesuatu yang mengembalikan nilai adalah semua hal yang bisa dimasukkan dalam variabel.

Satu lagi, kita juga akan mencoba menggunakan operator untuk membuat expression yang bersarang. Sehingga kode nya, kurang lebih akan seperti ini :

<ekspresi>: number
    | (<ekspresi>)
    | <ekspresi> + <ekspresi>
    | <ekspresi> * <ekspresi>

Eits tenang dulu, jangan bingung. Dalam kode tersebut, kita mendefinisikan expression menjadi beberapa bentuk, diantaranya :

  • Expression sebagai number;
  • Expression dalam tanda kurung (parentesis);
  • Expression ditambah dengan expression;
  • Expression dikalikan dengan expression.

Intinya, ada banyak cara untuk menulis suatu expression. Satu-satunya hal yang harus diperhatikan adalah bahwa expression mengembalikan sebuah nilai.

Apa itu Statement?

Kalau expression tadi akan mengembalikan sebuah nilai, maka statement tidak akan mengembalikan nilai apapun. Namun, statement akan melakukan sesuatu yang dapat menghasilkan beberapa keadaan atau side effect.

Beberapa statement yang hadir pada mayoritas bahasa pemrograman antara lain :

  • if
  • if ... else
  • while
  • do … while
  • for
  • for each
  • switch

Sekarang kita akan coba lihat lebih jelas contoh dari statement pada kode berikut :

javascript
// if statement (percabangan)
if (...) { 
  ... 
} else { 
  ... 
}

// while statemtent (perulangan)
while (...) { 
    ... 
}

// return statement (fungsi)
return y

Jika kita perhatikan contoh tersebut, kita akan melihat beberapa statement mengandung expression. Namun, yang perlu diketahui adalah statement tersebut tidak melakukan perhitungan terhadap apapun.

Hal unik yang membedakan statement dengan expression adalah statement tergantung pada perintah tertentu. Maka, untuk mengetahui tujuan dari suatu statement, penting untuk mengetahui konteks yang mengarah pada statement tersebut.

Lalu, Apa sih Manfaatnya?

Dengan mengetahui perbedaan antara kedua hal tersebut, dapat membantu kita untuk menulis kode yang lebih masuk akal, teratur dan mendukung untuk menjadi programmer yang lebih baik 😇.

Sedikit informasi lagi, tingkat kejelasan dari definisi statement dan expression dalam kode juga menjadi hal yang penting. Karena jika terdapat ambigu, maka itu akan sangat berpengaruh tidak hanya pada kode, tetapi pada fungsi dan prosedur lainnya.

Maksudnya gimana tuh? Jangan lupa simak artikel kami lainnya, ya!

Happy coding! 👋