Dua istilah yang paling sering muncul saat membaca dokumentasi C# adalah statement dan expression. Keduanya kerap tertukar karena saling berkelindan: setiap program tersusun dari statement, sementara di dalam statement hidup expression. Kita perlu membedakan keduanya agar pesan error compiler yang menyebut salah satu istilah itu mudah dipahami.
Statement: Perintah Utuh #
Statement adalah satu perintah lengkap yang memberi tahu compiler untuk melakukan sesuatu. Compiler mengeksekusi statement secara berurutan, satu demi satu, dari atas ke bawah. Contoh statement yang sudah kita pakai sejauh ini:
- Deklarasi variabel:
int panjang = 8; - Pemanggilan method:
Console.WriteLine(luas); - Statement kosong yang hanya berisi
;
Setiap statement diakhiri tanda titik koma (;). Tanda ini menjadi batas tegas antara satu perintah dan perintah berikutnya.
Expression: Kombinasi yang Menghasilkan Nilai #
Expression adalah susunan nilai, variabel, dan operator yang saat dievaluasi menghasilkan satu nilai baru. Expression tidak berdiri sebagai perintah; expression menjadi bagian dari statement. Contohnya: 2 + 3, panjang * lebar, "Halo, " + nama, dan umur >= 17.
Menggabungkan Keduanya dalam Satu Program #
int panjang = 8; // statement deklarasi
int lebar = 5; // statement deklarasi lain
int luas = panjang * lebar; // panjang * lebar adalah expression
Console.WriteLine(luas); // statement pemanggilan methodOutput yang Dihasilkan:
40Mari kita telaah baris demi baris:
- Baris 1 (
int panjang = 8;): Statement deklarasi membuat variabelpanjang; angka8di sisi kanan adalah expression paling sederhana, yaitu sebuah nilai tunggal. - Baris 2 (
int lebar = 5;): Variabellebardibuat dengan cara yang sama. - Baris 3 (
int luas = panjang * lebar;): Compiler mengevaluasi expressionpanjang * lebarterlebih dahulu, memperoleh40, lalu mengikat hasilnya ke variabelluas. - Baris 5 (
Console.WriteLine(luas);): Statement pemanggilan method mengambil nilailuasdan menampilkannya ke console.
Expression juga boleh ditulis langsung di dalam pemanggilan method tanpa variabel perantara:
Console.WriteLine(panjang * lebar + 10);Output yang Dihasilkan:
50Compiler mengevaluasi expression panjang * lebar + 10 terlebih dahulu hingga menghasilkan 50, kemudian hasil itu diteruskan sebagai argumen ke WriteLine. Pola ini memperlihatkan hubungan keduanya: expression menyediakan nilai, statement mengatur apa yang harus dilakukan terhadap nilai tersebut.