Cpp Pemrograman
Beranda / Pemrograman / Urutan Prioritas Operator – Belajar C++ 16

Urutan Prioritas Operator – Belajar C++ 16

Assalamualaikum sobat pada artikel kali ini kita akan belajar tentang urutan prioritas operator dalam pemrograman C++. Pada sebuah ekspresi mungkin mengandung beberapa operator di dalamnya. Misalnya :

a = 10 + 5 * 8;
Pada ekspresi diatas akan menghasilkan nilai 50 untuk variabel a. Dikarenakan operator * memiliki skala prioritas yang lebih tinggi dibandingkan operator +, maka operator * akan dijalankan terlebih dahulu. Kita dapat mengecualikan urutan prioritas operator menggunakan tanda kurung (), jadi operator yang berada di dalam tanda kurung () akan di prioritaskan terlebih dahulu dan akan dieksekusi terlebih dahulu oleh compiler. Berikut adalah perbedaan hasil program jika kita menggunakan tanda kurung :
a = 10 + (5 * 8);  // a = 50 (nilainya sama seperti jika tidak menggunakan tanda kurung)
a = (10 + 5) * 8; // a = 120
Berikut adalah daftar urutan prioritas operator pada C++ dari skala yang terbesar ke skala terkecil :
Level
Kelompok Prioritas
Operator
Deskripsi
Pembacaan
1
Scope
::
scope
qualifier
Kiri
ke kanan
2
Postfix
(unary)
++ —
postfix
increment / decrement
()
Pemanggilan
fungsi
[]
Elemen
Array
.
->
member
access (pointer ke anggota struktur atau kelas)
3
Pefix
(unary)
++ —
prefix
increment / decrement
Kanan
ke kiri
~ !
bitwise
NOT / Logika NOT
+ –
unary
prefix
&
*
reference
/ dereference
new
delete
alokasi
/ dealokasi
sizeof
parameter
pack
(type)
C-style
type casting
4
Pointer-to-member
.*
->*
access
pointer
Kiri
ke kanan
5
Arithmetic:
scaling
* / %
Kali,
bagi, modulo
6
Artihmetic:
addition
+ –
penambahan,
pengurangan
7
Bitwise
shift
<<
>>
shift
left, shift right
8
Relasi
<
> <= >=
Operator
perbandingan
9
Persamaan
== !=
Persamaan
/ pertidaksamaan
10
And
&
bitwise
AND
11
Exclusive
OR
^
bitwise
XOR
12
inclusive
OR
|
bitwise
OR
13
Konjungsi
&&
Logika
AND
14
Disjunction
||
Logika
OR
15
Assignment-level
expressions
= *=
/= %= += -= >>= <<= &= ^= |=
Assignment
/ compound assignment
Kanan
ke kiri
?:
operator
kondisional
16
Sequencing
,
Koma
Kiri
ke kanan
Ketika sebuah ekspresi memiliki level prioritas yang sama. cara pembacaan menentukan ekspresi mana yang dieksekusi terlebih dahulu (kiri ke kanan atau kanan ke kiri).

Contoh Program

Pada contoh program berikut kita akan membuktikan urutan prioritas operator menggunakan operator aritmetik.
#include <iostream>
using namespace std;
int main(){
    int a = 10;
    int b = 20;
    int c = 30;
    int hasil1 = a + b * c;
    int hasil2 = (a + b) * c;
    cout << “10 + 20 * 30 = ” << hasil1 << endl;
    cout << “(10 + 20) * 30 = ” << hasil2 << endl;
return 0;
}
Hasil programnya :
Penjelasan program :
Pada contoh program diatas operator kali (*) prioritasnya lebih tinggi dari operator tambah (+) maka untuk variabel hasil1, program akan mengkalikan 20 dengan 30 selanjutnya ditambahkan 10 jadi hasilnya 610. Sedangkan pada variabel hasil2, kita menggunakan tanda kurung yang menyebabkan ekspresi program yang berada di dalam tanda kurung akan diproses terlebih dahulu jadi nilai 10 ditambahkan dengan nilai 20 dahulu kemudian dikalikan dengan 30 menghasilkan nilai 900.

Video Tutorial

Sekian untuk tutorial kali ini sampai jumpa di artikel selanjutnya.

Komentar

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *