Home, Forum diskusi, Chatting, Download


Ekspresi dan Operator

Literal dan variabel dihubungkan oleh operator dan akan menghasilkan ekspresi. JavaScript menyediakan berbagai operator yang memungkinkan programmer menulis sejumlah ekspresi dari yang paling sederhana sampai yang paling sulit.

Contoh :

temp = 24

pada contoh diatas, temp adalah variabel, 24 adalah variabel, = adalah operator, dan  temp=24 adalah ekspresi.

Operator JavaScript dapat dibagi menjadi beberapa kategori berikut:

JavaScript memiliki operator binari maupun unari. Suatu operator binari memiliki format.

operand1 operator operand2

Sebagai contoh , 9 * 7 atau temp = 24 adalah ekspresi dengan operator binari.

Operator unari memiliki dua format:

operand operator

atau

operator operand

Sebagai contoh ekspresi mengunakan operator unari adalah ++y atau y++.

Catatan

Bagi programmer C language, tentu saja operator unari bukan sesuatu yang asing, tetapi bagi programmer dari latarbelakang Basic dan Pascal, penulisan y++ adalah sama dengan y = y + 1.

 

Assignment Operator

Operator pemberi nilai (=) adalah suatu operator binari yang digunakan untuk memberi nilai ke operand di sisi kiri (biasanya berupa suatu variabel) yang didasarkan pada nilai operand sebelah kanan (seperti NamaDepan = "Hendra" atau x = y * 9).  Table 3 adalah daftar singkat operator pemberi nilai.

Table 3. Daftar Operator assignment

Shorthand operator Artinya Contoh
x += y x = x + Y x +=
x -= y x = x - y x -=
x *= y x = x * y x *=
x /= y x = x / y x /=
x %= y x = x % y x %=
x <<= y x = x << y x <<=
x >>= y x = x >> y x >>=
x >>>= y x = x >>> y x >>>=
x &= y x = x & y x &= 0xC0
x |= y x = x | y x |= 0x0F
x ^= y x = x ^ y x ^= 0XFF
Catatan

Bagi yang tidak familiar dengan pemrograman C, hati-hati dengan perbedaan antara assignment operator (=) dan comparison operator (==)

Arithmetic Operator

Sesuai dengan fungsinya operator aritmatika melakukan operasi perhitungan aritmatika terhadap suatu nilai numerik baik dalam literal maupun variabel. JavaScript mendukung operator standard aritmatika untuk penjumlahan (+), pengurangan (-), perkalian (*), dan pembagian (/). Juga memiliki operator modulus (%), increment (++), decrement (--), dan unary negation (-).

Operator modulus (%) adalah suatu operator binary yang mengembalikan nilai sisa dari suatu pembagian bulat operand1 terhadap operand2. Sebagai contoh, hasil dari  27 % 6 adalah  4.

Operator increment unary adalah menambah nilai satu ke variabel operand, sedangkan operator decrement unary mengurangi satu dari padanya. Bagaimanapun, nilai yang dikembalikan tergantung dari posisi operator terhadap operand Jika operator berada didepan (++x atau --x), nilai yang dikembalikan adalah  x+1 atau x-1. Ketika operator dibelakang(x++ or x--), nilai x dikembalikan sebelum ditambah atau dikurang.

Operator khusus unari arithmetic adalah operator unari negation operator. Ia membalikan tanda dari nilai yang diberikan pada suatu variabel.  Sebagai contoh, jika x = -7, -x mengubah nilai menjadi 7.

Bitwise Operator

Untuk programmer yang perlu menangani bit. JavaScript menyediakan satu set dari operator bitwise. Untuk operator ini, JavaScript melakukan konversi terhadap operand menjadi integer 32-bit sebelum melakukan operasi padanya. Operator logika bitwise adalah

JavaScript juga menyediakan satu set bitwise untuk operasi shift operand1 terhadap jumlah yang ditentukan di operand2. Operand ini adalah

Logical Operator

Operator logika membutuhkan operand dengan nilai Boolean (true atau false) dan mereka akan mengembalikan suatu nilai logika. Operator logika adalah sebagai berikut :

Operator logika NOT adalah suatu unary operator yang mempertahankan nilai ekspresi.

Comparison Operator

Operator perbandingan diterapkan pada perbandingan pada data numerik dan data string serta tidak dapat dilakukan pada nilai Boolean. Masing-masing operand harus memiliki tipe yang sama: nemerik dibandingkan dengan numerik atau string dengan string. Hasil dari perbandingan adalah sautu nilai Boolean. Operator perbandingan adalah:

JavaScript juga mendukung ekspresi secara kondisi (conditional expression) yang mana berbentuk.

(kondisi) ? nilai_benar : nilai_salah

Jika kondisi adalah benar, ekspresi memiliki dari true_value. Sebaliknya memiliki nilai dari false_value. Seperti saudaranya yang berbasis bahasa C, ekpresi kondisi adalah ekspresi standard dan dapat digunakan dimana saja, dan dapat dilihat sebagai berikut :

status_baterai = (voltase > 1.3) ? "baik" : "buruk"

Catatan

Bagi programmer C language, tentu saja comparison operator (==)  bukan sesuatu yang asing, tetapi bagi programmer dari latarbelakang Basic dan Pascal, penulisan = adalah tidak sama dengan ==.

 

String Operator

Operator string (+) mengabung dua nilai string dan mengembalikan satu string dimana merupakan hasil gabungan dari keduanya. Sebagai contoh :

"Java" + "Script"

Menghasilkan

"JavaScript"

Operator shorthand += mengabung string kiri dengan string dikanan operand dan memberikan nilai baru pada operand disebelah kiri.

Urutan operasi

Dalam ekspresi yang kompleks dimana melibatkan lebih dari satu operator, urutan operasi dari operator menentukan nilai hasil evaluasi. Dengan menggunakan tanda kurung, programmer dapat mengatur aturan tersebut. Table .4 adalah urutan prioritas operasi dari yang paling rendah sampai yang paling tinggi.

Table 4. Prioritas urutan operasi dari prioritas rendah sampai tinggi.

Keterangan Operator
Assignment = += -= *= /= %= <<= >>= >>>= &= ^= |=
Conditional ?:
Logical OR ||
Logical AND &&
Bitwise OR |
Bitwise XOR ^
Bitwise AND &
Equality == !=
Relational < <= > >=
Bitwise shift << >> >>>
Addition/subtraction + -
Multiply/divide * / %
Negation/increment ! ~ - ++ -
Call, member () []

 


Dibuat  oleh hendra@indoprog.com
Medan - Sumatera Utara
Indonesia

1