Pada pertemuan ini kita akan mempelajari operator yang digunakan untuk melakukan perhitungan, memberikan nilai, membandingkan data, dan membuat logika sederhana dalam C++.
Setelah menyelesaikan pertemuan ini, kita diharapkan mampu:
- Memahami arithmetic operator.
- Memahami assignment operator.
- Memahami comparison operator.
- Memahami logical operator.
- Memahami increment dan decrement.
- Memahami expression.
- Menggunakan operator dalam program sederhana.
- Memahami perbedaan
=dan==.
Operator adalah simbol yang digunakan untuk melakukan suatu operasi terhadap data.
Contoh:
int hasil = 10 + 5;Pada kode tersebut:
10
↓
Operand
+
↓
Operator
5
↓
Operand
Hasilnya:
15
Secara sederhana:
Operand + Operator + Operand
Arithmetic operator digunakan untuk melakukan operasi matematika.
| Operator | Fungsi | Contoh |
|---|---|---|
+ |
Penjumlahan | 10 + 5 |
- |
Pengurangan | 10 - 5 |
* |
Perkalian | 10 * 5 |
/ |
Pembagian | 10 / 5 |
% |
Sisa pembagian | 10 % 3 |
Contoh:
int a = 10;
int b = 3;
cout << a + b << endl;
cout << a - b << endl;
cout << a * b << endl;
cout << a / b << endl;
cout << a % b << endl;Output:
13
7
30
3
1
Digunakan untuk menjumlahkan dua nilai.
int a = 10;
int b = 5;
int hasil = a + b;
cout << hasil;Output:
15
Digunakan untuk mengurangi nilai.
int a = 10;
int b = 5;
int hasil = a - b;
cout << hasil;Output:
5
Digunakan untuk mengalikan nilai.
int a = 10;
int b = 5;
int hasil = a * b;
cout << hasil;Output:
50
Digunakan untuk membagi nilai.
int a = 10;
int b = 5;
int hasil = a / b;
cout << hasil;Output:
2
Perhatikan tipe data yang digunakan.
Jika:
int a = 10;
int b = 3;maka:
cout << a / b;menghasilkan:
3
bukan:
3.33333
Karena kedua operand bertipe int.
Jika ingin mendapatkan hasil desimal:
double hasil = static_cast<double>(a) / b;Operator % digunakan untuk mendapatkan sisa dari pembagian.
Contoh:
int hasil = 10 % 3;Hasil:
1
Karena:
10 ÷ 3 = 3 sisa 1
Contoh lain:
int hasil = 10 % 2;Hasil:
0
Operator % sangat berguna untuk mengecek bilangan genap dan ganjil.
Contoh:
int angka = 10;
cout << angka % 2;Output:
0
Artinya 10 habis dibagi 2.
Assignment operator digunakan untuk memberikan nilai kepada variable.
Operator paling dasar adalah:
=Contoh:
int umur = 20;Artinya variable umur diberikan nilai 20.
C++ juga menyediakan bentuk singkat untuk melakukan operasi sekaligus assignment.
| Operator | Arti |
|---|---|
= |
Memberikan nilai |
+= |
Menambahkan nilai |
-= |
Mengurangi nilai |
*= |
Mengalikan nilai |
/= |
Membagi nilai |
%= |
Menyimpan sisa pembagian |
Contoh:
int angka = 10;
angka += 5;Sama dengan:
angka = angka + 5;Nilai akhirnya:
15
int angka = 10;
angka += 5;
cout << angka << endl;
angka -= 3;
cout << angka << endl;
angka *= 2;
cout << angka << endl;
angka /= 4;
cout << angka << endl;Perubahan nilainya:
10
↓
+5
↓
15
↓
-3
↓
12
↓
×2
↓
24
↓
÷4
↓
6
Comparison operator digunakan untuk membandingkan dua nilai.
Hasil perbandingan adalah:
true
atau:
false
Operator yang tersedia:
| Operator | Arti |
|---|---|
> |
Lebih besar |
< |
Lebih kecil |
>= |
Lebih besar atau sama dengan |
<= |
Lebih kecil atau sama dengan |
== |
Sama dengan |
!= |
Tidak sama dengan |
Contoh:
int a = 10;
int b = 5;
cout << (a > b);Hasil:
1
Karena 10 memang lebih besar dari 5.
Ini adalah salah satu hal yang sangat penting dalam C++.
Digunakan untuk memberikan nilai.
int umur = 20;Artinya:
umur diberi nilai 20
Digunakan untuk membandingkan.
umur == 20Artinya:
Apakah umur sama dengan 20?
Jadi:
=
Assignment
==
Comparison
Jangan sampai tertukar.
int umur = 20;
cout << (umur > 17) << endl;
cout << (umur < 17) << endl;
cout << (umur >= 20) << endl;
cout << (umur <= 20) << endl;
cout << (umur == 20) << endl;
cout << (umur != 20) << endl;Hasil:
1
0
1
1
1
0
Secara konsep:
20 > 17 → true
20 < 17 → false
20 >= 20 → true
20 <= 20 → true
20 == 20 → true
20 != 20 → false
Logical operator digunakan untuk menggabungkan atau membalik kondisi.
Ada tiga operator utama:
&& akan menghasilkan true jika semua kondisi benar.
Contoh:
int umur = 20;
cout << (umur >= 17 && umur <= 30);Kondisinya:
umur >= 17
↓
true
umur <= 30
↓
true
Karena keduanya benar:
true && true
↓
true
|| menghasilkan true jika minimal salah satu kondisi benar.
Contoh:
int umur = 20;
cout << (umur < 17 || umur >= 20);Kondisinya:
umur < 17
↓
false
umur >= 20
↓
true
Maka:
false || true
↓
true
! digunakan untuk membalik nilai boolean.
Contoh:
bool lulus = true;
cout << !lulus;Hasil:
0
Karena:
true
↓
!
↓
false
Sebaliknya:
bool lulus = false;
cout << !lulus;hasilnya:
1
Increment digunakan untuk menambahkan nilai sebesar 1.
Contoh:
int angka = 10;
angka++;
cout << angka;Output:
11
Sama seperti:
angka = angka + 1;Decrement digunakan untuk mengurangi nilai sebesar 1.
int angka = 10;
angka--;
cout << angka;Output:
9
Sama seperti:
angka = angka - 1;Increment dan decrement memiliki dua bentuk.
angka++;
angka--;++angka;
--angka;Untuk perubahan nilai sederhana, keduanya sama-sama mengubah nilai sebesar 1.
Perbedaannya akan terasa ketika operator digunakan sebagai bagian dari sebuah expression.
Contoh:
int angka = 10;
int hasil = angka++;Setelah kode tersebut:
hasil = 10
angka = 11
Sedangkan:
int angka = 10;
int hasil = ++angka;Hasil:
hasil = 11
angka = 11
Intinya:
angka++
→ gunakan nilai terlebih dahulu, kemudian tambah 1
++angka
→ tambah 1 terlebih dahulu, kemudian gunakan nilainya
Expression adalah kombinasi dari variable, nilai, operator, atau fungsi yang menghasilkan sebuah nilai.
Contoh:
10 + 5merupakan expression.
Contoh:
int hasil = 10 + 5;Expression-nya:
10 + 5Hasilnya:
15
Expression juga dapat menggunakan variable.
int a = 10;
int b = 5;
int hasil = a + b;Expression:
a + bmenghasilkan:
15
Contoh yang lebih kompleks:
int a = 10;
int b = 5;
int hasil = (a + b) * 2;Perhitungannya:
(10 + 5) × 2
↓
15 × 2
↓
30
C++ mengikuti aturan prioritas operator.
Contoh:
int hasil = 10 + 5 * 2;Hasilnya:
20
Bukan:
30
Karena perkalian dilakukan terlebih dahulu:
5 × 2 = 10
10 + 10 = 20
Jika ingin menentukan urutan sendiri, gunakan tanda kurung:
int hasil = (10 + 5) * 2;Hasil:
30
Untuk tahap awal, biasakan menggunakan tanda kurung jika expression mulai kompleks agar lebih mudah dibaca.
Sekarang kita gabungkan beberapa operator.
#include <iostream>
using namespace std;
int main()
{
int a;
int b;
cout << "Masukkan angka pertama: ";
cin >> a;
cout << "Masukkan angka kedua: ";
cin >> b;
cout << endl;
cout << "=== HASIL ===" << endl;
cout << "Penjumlahan : " << a + b << endl;
cout << "Pengurangan : " << a - b << endl;
cout << "Perkalian : " << a * b << endl;
cout << "Pembagian : " << a / b << endl;
cout << "Sisa : " << a % b << endl;
return 0;
}Contoh:
Masukkan angka pertama: 10
Masukkan angka kedua: 3
=== HASIL ===
Penjumlahan : 13
Pengurangan : 7
Perkalian : 30
Pembagian : 3
Sisa : 1
Kita juga dapat membandingkan input pengguna.
#include <iostream>
using namespace std;
int main()
{
int umur;
cout << "Masukkan umur: ";
cin >> umur;
cout << "Umur >= 17 : " << (umur >= 17) << endl;
cout << "Umur < 17 : " << (umur < 17) << endl;
cout << "Umur == 20 : " << (umur == 20) << endl;
return 0;
}Jika memasukkan:
20
hasilnya:
Umur >= 17 : 1
Umur < 17 : 0
Umur == 20 : 1
Buat program yang meminta dua angka:
Angka pertama:
Angka kedua:
Kemudian tampilkan:
Penjumlahan:
Pengurangan:
Perkalian:
Pembagian:
Sisa:
Buat program yang menerima satu angka.
Gunakan operator:
%Petunjuk:
angka % 2
Jika hasilnya:
0
maka angka tersebut genap.
Jika bukan 0, maka angka tersebut ganjil.
Pada challenge ini kita belum menggunakan
if. Coba pahami dulu bagaimana operator%bekerja.
Buat program yang meminta dua nilai:
Nilai pertama:
Nilai kedua:
Kemudian tampilkan hasil perbandingan:
Nilai pertama > nilai kedua
Nilai pertama < nilai kedua
Nilai pertama == nilai kedua
Buat variable:
int angka = 10;Kemudian gunakan:
+=
-=
*=
/=Tampilkan nilai angka setelah setiap operasi.
Operator akan menjadi fondasi penting untuk materi berikutnya.
Jangan hanya menghafalkan simbolnya.
Pahami maksudnya:
+ → menghitung
- → menghitung
* → menghitung
/ → menghitung
% → mencari sisa
= → memberikan nilai
> → membandingkan
< → membandingkan
== → membandingkan
!= → membandingkan
&& → semua kondisi harus benar
|| → salah satu kondisi benar
! → membalik kondisi
++ → tambah 1
-- → kurang 1
- Memahami operator.
- Memahami operand.
- Memahami arithmetic operator.
- Memahami assignment operator.
- Memahami
+=,-=,*=,/=,%=. - Memahami comparison operator.
- Memahami perbedaan
=dan==. - Memahami logical operator.
- Memahami
&&. - Memahami
||. - Memahami
!. - Memahami
++. - Memahami
--. - Memahami prefix dan postfix.
- Memahami expression.
- Memahami dasar prioritas operator.
Pada pertemuan sebelumnya kita belajar menyimpan data menggunakan variable.
Sekarang kita sudah belajar bagaimana data tersebut dapat diproses:
Variable
↓
Operator
↓
Expression
↓
Hasil
Contohnya:
int a = 10;
int b = 5;
int hasil = (a + b) * 2;Alurnya:
a + b
↓
10 + 5
↓
15
↓
15 × 2
↓
30
Operator adalah salah satu fondasi utama dalam pemrograman karena hampir semua program membutuhkan operasi terhadap data.
Pada pertemuan berikutnya kita akan mulai membuat program yang bisa mengambil keputusan.
Materi:
if
↓
else
↓
else if
↓
nested if
↓
conditional logic
Contohnya nanti program dapat melakukan:
Jika nilai >= 75
↓
LULUS
Jika nilai < 75
↓
TIDAK LULUS
Di sinilah operator perbandingan dan logical operator yang kita pelajari pada pertemuan ini mulai benar-benar terasa kegunaannya.
Happy Coding! 🚀
