indonetmedia
Jumat, 02 Agustus 2013

07.04

Kali ini saya akan share Macam macam Operator pada pemrograman C++, hal ini perlo sobat ketahui dalam pemrograman C++ karena operator C++ akan sering digunakan di berbagai macam program.

Pada bahasa pemograman C++, operator yang disediakan berupa keyword atau karakter khusus. Operator-operator ini cukup penting untuk diketahui, karena merupakan salah satu dasar pemrograman bahasa C++.

Assignation ( = )



Operator Assignation digunakan untuk memberikan nilai pada suatu variabel. contohnya :

a=5 ;

Pernyataan di atas berarti kita memberikan nilai integer 5 ke variabel a. Sisi kiri operator disebut lvalue (left value) dan sisi kanan disebut rvalue (right value). lvalue harus selalu berupa variabel dan rvalue atau sisi kanan dapat berupa konstanta, variabel, hasil dari suatu operasi atau kombinasi dari semuanya.

Aturan yang paling penting pada assigning (operasi sama dengan) adalah aturan kanan-ke-kiri: Operasi assignment selalu terjadi dari kanan ke kiri, dan tidak pernah sebaliknya.

a = b

Pernyataan ini memberikan arti variabel a (lvalue) di beri harga b (rvalue).
Contoh penerapannya begini :

a = 10; //berarti a bernilai 10 b = 4; //berarti a bernilai 10 dan b bernilai 4 a = b; //berarti a bernilai 4 dan b bernilai 4. Ingat aturannya, Kanan ke Kiri. b = 7; //berarti a bernilai 4 dan b bernilai 7.


Operator Aritmatika



Operator aritmatika yang dapat digunakan di C++ ada 5, yaitu : + Penjumlahan - Pengurangan * Perkalian / Pembagian % Modulo atau modulus (Hasil bagi)

Wah pasti tidak perlu di jelaskan satu persatu sobat juga pasti sudah paham. Mungkin yang sedikit bingung adalah operator ( % ) atau modulo. Modulo adalah operasi yang memberikan sisa dari pembagian dua nilai. Misalnya begini:

c = 36 - 58 a = 11 % 3

Variabel a akan bernilai 2. Nilai 2 didapat dari sisa pembagian 11 dibagi 3. Coba saja di cek kalau tidak percaya. Tetapi jangan menggunakan kalkulator, karena hasilnya akan bilangan desimal.

Increase ( ++ ) and Decrease ( -- )



Di C++ kita dapat memperpendek operasi :

* Increase (++) a++; a+=1; a=a+1;
* Decrease (--) a--; a-=1; a=a-1;

Misalnya a=3; a++; maka nilai a yang baru/selanjutnya adalah 4.

Operator Increase (++) dan Decrease (--) dapat digunakan sebagai prefix atau suffix. Dengan kata lain dapat dituliskan sebelum identifier variabel (++a) atau sesudahnya (a++). Operator increase yang digunakan sebagai prefix (++a), begini perbedaannya:

Contoh 1 (Prefix) Contoh 2(Surfix)
B = 3;
A = + + B;
// A berisi 4, B berisi 4
B = 3;
A = B + +;
// A berisi 3, B berisi 4

Pada contoh 1, B ditambahkan sebelum nilainya diberikan ke A. Sedangkan contoh 2, Nilai B diberikan terlebih dahulu ke A dan B ditambahkan kemudian.
Pada operator yang satu ini biasa digunakan pada Looping/pengulangan.

Operator Relasi/perbandingan( ==, !=, >, <, >=, <= )



Untuk mengevaluasi antara 2 ekspresi, dapat digunakan operator Relasional di atas. Hasil dari operator ini adalah nilai Boolean yaitu hanya berupa True atau False, atau dapat juga dalam nilai int, 0 untuk mereprensentasikan "false" dan 1 untuk merepresentasikan "true".

== Sama dengan
!= Tidak sama dengan
> Lebih besar dari
< Lebih kurang dari
>= Lebih besar dari atau Sama dengan
<= Lebih kurang dari atau Sama dengan

Contoh :
(7 == 5) // evaluates to false atau hasil perbandingan salah. (5 > 4) // evaluates to true atau hasil perbandingan benar. (3 != 2) // evaluates to true atau hasil perbandingan benar. (6 >= 6) // evaluates to true atau hasil perbandingan benar. (5 < 5) // evaluates to false atau hasil perbandingan salah.


Selain menggunakan konstanta numerik seperti di atas, kita dapat menggunakan ekspresi yang valid, termasuk variabel. Misalkan a = 2, b = 3 dan c = 6 :

(a == 5) // "evaluates to false" karena a tidak samadengan 5. (a*b >= c) // "evaluates to true" karena (2*3 >= 6) adalah benar. (b+4 > a*c) // "evaluates to false" karena (3+4 > 2*6) adalah salah. ((b=2) == a) // "evaluates to true".

Hati-hati! Operator = (satu tanda sama) adalah tidak sama dengan operator == (dua tanda yang sama), yang pertama adalah operator penugasan (memberikan nilai pada haknya untuk variabel di sebelah kiri) dan yang lainnya (= =) adalah operator kesetaraan yang membandingkan apakah kedua ekspresi dalam dua sisi itu adalah sama satu sama lain.

Operator Logika And, Or, Not ( !, &&, || )



Operator Logika digunakan untuk menghubungkan dua buah operasi relasi menjadi sebuah ungkapan kondisi. Hasil dari operator logika ini menghasilkan nilai numerik 1 (True) atau 0 (False).

! logika Not
&& logika And
|| logika Or

Operator logika NOT ( ! )

Operator logika NOT akan memberikan nilai kebalikkan dari ekspresi yang disebutkan. Jika nilai yang disebutkan bernilai BENAR maka akan menghasilkan nilai SALAH, begitu pula sebaliknya.
Misalnya :
Jika nilai a = 3 pada a + 4 < 10 : Pada ekspresi relasi akan bernilai 1 (true), karena 7 < 10, sedangkan jika digunakan operator NOT akan menjadi !(a + 4 < 10) dan bernilai 0 (false). Operator logika AND ( && )

Operator logika AND digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila semua ekspresi relasi yang dihubungkan bernilai BENAR.
Lihat :
a b a && b
true true true
true false false
false true false
false false false

Contohnya :
Maka penggunaan operator logika AND seperti berikut :

contoh1 jika nilai a = 6, b = 3 jika a + 3 > 5 && b + 3 < 9 maka hasilnya akan benar karena : a(6) + 3 = 9, dan 9 > 5 bernilai true b(3) + 3 = 6, dan 6 < 9 bernilai true maka jika true && true maka hasilnya akan True
contoh2 jika nilai a = 1, b = 3 jika a + 3 > 5 && b + 3 < 9 maka hasilnya akan salah karena : a(1) + 3 = 4, dan 4 > 5 bernilai false b(3) + 3 = 6, dan 6 < 9 bernilai true maka jika false && true maka hasilnya akan False

Operator logika AND bersifat semua nilai yang berelasi harus bernilai true(1) semuanya, jika salah satu bernilai false maka hasilnya akan false(0).


Operator logika OR ( || )

Operator logika OR digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila salah satu ekspresi relasi yang dihubungkan bernilai BENAR dan bila semua ekspresi relasi yang dihubungkan bernilai SALAH,maka akan bernilai SALAH.
Lihat :
a b a && b
true true true
true false true
false true true
false false false

perhatikan berikut :

contoh1 jika nilai a = 2, b = 4 jika a + 3 > 5 || b + 3 < 9 maka hasilnya akan true karena : a(2) + 3 = 5, dan 5 > 5 bernilai False b(4) + 3 = 7, dan 7 < 9 bernilai true maka jika false || True maka hasilnya akan True
contoh2 jika nilai a = 4, b = 5 jika a + 3 > 5 || b + 3 < 2 maka hasilnya akan salah karena : a(4) + 3 = 7, dan 7 > 5 bernilai false b(5) + 3 = 6, dan 6 < 2 bernilai false maka jika False || False maka hasilnya akan False

Jika menggunakan Operator Logika OR dikatakan True jika salah satu atau semua pernyataan bernilai benar, dinyatakan False jika semua pernyataan bernilai salah.

Conditional operator ( ? )


Conditional operator atau operator bersyarat akan mengevaluasi ekspresi dan memberikan hasil tergantung dari hasil evaluasi (true atau false). Sintaks :

condition ? result1 : result2

Jika kondisi true maka akan menghasilkan result1 , jika tidak akan menghasilkanresult2.

Perhatikan :
7==5 ? 4 : 3 // hasil 3, karena 7 tidak sama dengan 5. 7==5+2 ? 4 : 3 // hasil 4, karena 7 sama dengan 5+2. 5>3 ? a : b // hasil bernilai a, karena 5 lebih besar dari 3. a>b ? a : b // hasil tergantung nilai variabel mana yang lebih besar, a atau b.

Bitwise Operators ( &, |, ^, ~, <<, >>)



Operator Bitwise memodifikasi variabel menurut bit yang merepresentasikan nilai yang disimpan, atau dengan kata lain dalam representasi binary.

operator asm equivalent Keterangan
& AND Bitwise AND
| OR Bitwise Inclusive OR
^ XOR Bitwise Exclusive OR
~ NOT Unary complement (bit inversion)
<< SHL Shift Left
>> SHR Shift Right

Explicit type casting operators



Type casting operators memungkinkan untuk mengkonversikan tipe data yang sudah diberikan ke tipe data yang lain. Ada beberapa cara yang dapat dilakukan dalam C++, yang paling popular yaitu tipe baru dituliskan dalam tanda kurung ().

Contoh :
int i; float f = 3.14; i = ( int ) f;
Contoh diatas, mengkonversikan nilai 3.14 menjadi nilai integer (3). Type casting operator yang digunakan ( int ).

Precedence of operators ( Prioritas pada operator )



Maksudnya operasi yang di dahulukan terlebih dahulu. Misal :

a = 4 + 8 / 2 ;
Jawaban atau nilai a adalah 8. Mengapa bukan 6 ? Ya karena pada C++ pengerjaan operasi di lakukan dari level yang tinggi ke level yang lebh rendah.

Berikut ini adalah prioritas operator dari tinggi ke rendah :
Level Operator Description Grouping
1 :: scope Left-to-right
2 () [] . -> ++ -- dynamic_cast static_cast reinterpret_cast const_cast typeid postfix Left-to-right
3 ++ -- ~ ! sizeof new delete unary (prefix) Right-to-left
* & indirection and reference (pointers)
+ - unary sign operator
4 (type) type casting Right-to-left
5 .* ->* pointer-to-member Left-to-right
6 * / % multiplicative Left-to-right
7 + - additive Left-to-right
8 << >> shift Left-to-right
9 < > <= >= relational Left-to-right
10 == != equality Left-to-right
11 & bitwise AND Left-to-right
12 ^ bitwise XOR Left-to-right
13 | bitwise OR Left-to-right
14 && logical AND Left-to-right
15 || logical OR Left-to-right
16 ?: conditional Right-to-left
17 = *= /= %= += -= >>= <<= &= ^= |= assignment Right-to-left
18 , comma Left-to-right

nah itu sedikit pengetahuan yang bisa saya bagikan ke sobat semoga bermanfaat.

sumber : http://tulis123.blogspot.com/2012/12/penggunaan-operator-pada-pemrograman-c.html

 

0 komentar:

Posting Komentar

Catatan:
• Dilarang komentar dengan link aktif!
• Dilarang promosi di kolom komentar!
• Budayakan berkomentar dengan sopan!
• Berilah Informasi Kepada Admin Jika ada script yang Sudah tidak berfungsi
• komentar Jorok/kasar /berbau Sara/Porno /saya anggap sebagai SPAM

• Untuk menyisipkan kode, gunakan tag [code].... kode yang sudah diparse ... [/code]
• Untuk menyisipkan kode panjang, gunakan tag [pre].... kode yang sudah diparse ... [/pre]
• Untuk menyisipkan catatan, gunakan [quote].... Teks ....[/quote]
• Untuk menyisipkan gambar, gunakan [img]URL GAMBAR[/img]
• [youtube]URL Youtube[/youtube]

Sebelum menyisipkan kode silahkan gunakan Tool Konversi Kode terlebih dahulu untuk menampilkan kode tersebut pada kolom komentar

Konversi Kode di SiniChat di Sini