• Tidak ada hasil yang ditemukan

Subchapter 3 – Go Program ✓

3. Expression & Operator

Statement

Apa itu Statement?

Statement adalah perintah untuk melakukan suatu aksi. Sebuah program terdiri dari sekumpulan statement. Sebuah statement bisa berupa :

Declaration Statement

Declaration statement untuk membuat sebuah variabel,

Assignment Statement

Assignment statement untuk memberikan nilai pada sebuah variabel,

Invocation Statement

Invocation statement untuk memanggil sebuah block of code,

Conditional Statement

Conditional statement untuk mengeksekusi kode berdasarkan kondisi,

Iteration Statement

Iteration statement untuk mengeksekusi kode secara berulang,

Disruptive Statement

Disruptive statement untuk keluar dari sebuah control flow.

Expression Statement

Expression statement untuk evaluasi sebuah expression,

| B e l a j a r D e n g a n J e n i u s G o L a n g – G u n G u n F e b r i a n z a Sebuah statement dapat memiliki sebuah expression atau tidak sama sekali (non-expression statement), tapi apa itu Expression?

Expression

Expression adalah suatu statement yang digunakan untuk melakukan komputasi agar memproduksi suatu nilai. Expression adalah kombinasi dari literal, variable, operand dan operator yang dievaluasi untuk memproduksi sebuah value.

Di bawah ini terdapat dua buah statement :

Pada statement pertama di dalam function main() terdapat perintah untuk melakukan deklarasi variabel. Statement berikutnya di sebut dengan expression statement karena terdapat operasi untuk memproduksi suatu nilai.

Operator Precedence

Ketika sebuah expression memiliki lebih dari satu operator maka terdapat aturan untuk mengatur operator precedence. Pada contoh kode di bawah ini compiler mengetahui mana operasi aritmetika yang harus dilakukan pertama kali :

| B e l a j a r D e n g a n J e n i u s G o L a n g – G u n G u n F e b r i a n z a Operasi perkalian akan dilakukan terlebih dahulu sebelum operasi penjumlahan.

Block of Code

Sebuah block terdiri dari serangkaian statements atau zero statement yang berada di sekup (scope) dalam curly braces, dan secara semantic beraksi sebagai sebuah single syntactic statement.

Pada contoh kode di bawah ini fungsi main() bekerja menjadi single syntactic statement yang membungkus setiap statement di dalamnya :

Operator & Operand

Operator yang digunakan dalam expression kode sumber sebelumnya adalah multiplication (*), angka 2 dan 10 adalah sebuah operand.

| B e l a j a r D e n g a n J e n i u s G o L a n g – G u n G u n F e b r i a n z a Dalam sebuah bahasa pemrograman terdapat sekumpulan operator yang digunakan untuk mengekspresikan suatu statement. Salah satunya adalah simple arithmetic operator.

Arithmetic Operator

Di bawah ini adalah arithmetic operator dalam Go. Tidak hanya penjumlahan, pengurangan, perkalian dan pembagian. Go menyediakan operator untuk remainder, unary, pre & post increment dan pre & post decrement :

Tabel 5 Arithmetic Operator

Operator Description Example

+ Addition (String Concat) atau penjumlahan 2+1 //3

- Subtraction atau pengurangan 2-1 //1

/ Division atau pembagian 6/2 //3

* Multiplication atau perkalian 3*2 //6

% Remainder 3%2 //1

Contoh arithmetic operation dalam Go :

| B e l a j a r D e n g a n J e n i u s G o L a n g – G u n G u n F e b r i a n z a

Modulus Operation

Contoh modulus operation dalam Go :

Pada baris pertama terdapat 12 mod 5 hasilnya adalah 2, karena angka integer 5 maksimum hanya dapat di kalikan dua kali saja (5*2) atau (5+5) yaitu sama dengan 10.

Angka integer 5 tidak bisa dikalikan tiga kali karena tidak bisa lebih dari 12. Angka integer hanya dapat dikalikan dua kali saja maka hasil mod adalah 12-10 = 2

| B e l a j a r D e n g a n J e n i u s G o L a n g – G u n G u n F e b r i a n z a

Comparison Operator

Ada beberapa Comparison Operator / Relational Operator yang bisa kita gunakan untuk mengatur kondisi dan control flow. Bisa kita lihat pada tabel Comparison Operator di bawah ini, sebagai contoh diketahui nilai x = 5 maka :

Tabel 6 Relational Operator

Operator Description Example Return

== Membandingkan dua buah operand apakah setara atau tidak, jika setara atau sama maka hasilnya adalah true

x == 9 False

!= Membandingkan dua buah operand apakah setara atau tidak, jika tidak setara atau tidak sama maka hasilnya adalah true

x != 8 True

> Membandingkan dua buah operand apakah nilai operand kanan lebih besar daripada nilai operand kiri

x > 8 False

< Membandingkan dua buah operand apakah nilai operand kiri lebih kecil daripada nilai operand kanan

x < 3 False

>= Membandingkan dua buah operand apakah nilai operand kanan lebih besar atau sama daripada nilai operand kiri

x >= 5 True

| B e l a j a r D e n g a n J e n i u s G o L a n g – G u n G u n F e b r i a n z a

<= Membandingkan dua buah operand apakah nilai operand kiri lebih kecil atau sama daripada nilai operand kanan

x <= 1 False

Saat kita melakukan comparison terhadap dua buah operand terdapat hasil berupa data type boolean. Perhatikan kode di bawah ini :

Kita juga bisa melakukan perbandingan string mana yang lebih besar atau biasa disebut lexicographical order. Dalam bahasa sederhana string di bandingkan berdasarkan abjad per abjad. Perhatikan kode di bawah ini :

Logical Operator

Jika terdapat lebih dari satu perbandingan dalam satu kondisi kita bisa menggunakan logical operator. Bisa kita lihat pada tabel Logical Operator di bawah ini, sebagai contoh diketahui x = 4 dan y = 5 maka :

Tabel 7 Logical Operator

| B e l a j a r D e n g a n J e n i u s G o L a n g – G u n G u n F e b r i a n z a

Operator Description Example Return

&& Bernilai true jika dua expression bernilai true. Bernilai false jika sebaliknya.

(x > 3 && y = 5) True

|| Bernilai true jika salah satu expression terdapat true. Bernilai false jika sebaliknya.

Operator OR (

||

) digunakan jika kondisi nilai yang diberikan benar atau dapat diterima oleh salah satu kondisi. Perhatikan contoh kode di bawah ini :

Operator AND

Operator AND (

&&

) digunakan jika kita ingin menguji nilai yang diberikan namun harus memenuhi dua kondisi sekaligus. Perhatikan kode di bawah ini :

| B e l a j a r D e n g a n J e n i u s G o L a n g – G u n G u n F e b r i a n z a

Operator NOT

Operator NOT (

!

) digunakan jika kita ingin mengubah suatu operand kedalam data type boolean, return berupa true or false secara kebalikan (inverse value). Perhatikan contoh kode di bawah ini :

| B e l a j a r D e n g a n J e n i u s G o L a n g – G u n G u n F e b r i a n z a

Assignment Operator

Di bawah ini adalah assignment operator dalam Go. Kita dapat menggunakanya untuk menetapkan sebuah nilai dengan berbagai cara :

Tabel 8 Assignment Operator

Operator Description Example

= Menetapkan sebuah literal pada sebuah variabel. Literal dapat berupa data tunggal atau sebuah expression.

C = A → C = 12 C = A * B → C = 12 * 2

+= Menetapkan sebuah literal pada operand kiri, hasil dari operand kiri adalah penjumlahan operand kiri dengan operand kanan.

C += A → C = C + A 12 += 2 → 12 = 12 + 2

-= Menetapkan sebuah literal pada operand kiri, hasil dari operand kiri adalah selisih dari operand kiri dengan operand kanan.

C -= A → C = C - A 12 -= 2 → 12 = 12 - 2

*= Menetapkan sebuah literal pada operand kiri, hasil dari operand kiri adalah perkalian operand kiri dengan operand kanan.

C *= A → C = C * A 12 *= 2 → 12 = 12 * 2

/= Menetapkan sebuah literal pada operand kiri, hasil dari operand kiri adalah pembagian operand kiri dengan operand kanan.

C /= A → C = C / A 12 /= 2 → 12 = 12 / 2

%= Menetapkan sebuah literal pada operand kiri, hasil dari operand kiri adalah modulus operand kiri dengan operand kanan.

C %= A → C = C % A 12 = 2 → 12 = 12

% 2

| B e l a j a r D e n g a n J e n i u s G o L a n g – G u n G u n F e b r i a n z a

Dokumen terkait