Masukkan Password
05 1.4 Arithmetic Operators in Dart Programming Language | Learn Dart Language | Dart Course
Pada materi ini kita mulai masuk ke salah satu bagian sangat penting dalam pemrograman, yaitu operator.
Kalau sebelumnya kita belajar comment, sekarang kita belajar bagaimana Dart melakukan perhitungan, perbandingan, dan operasi terhadap data.
Caption ini fokus pada arithmetic operators (operator aritmatika), jadi kita akan bahas bagian itu secara mendalam terlebih dahulu.
1. Apa itu Operator?
Operator adalah simbol yang digunakan untuk melakukan suatu operasi terhadap data atau variabel.
Contoh paling sederhana:
int a = 50;
int b = 20;
print(a + b);
Hasilnya:
70
Simbol:
+
disebut operator.
Sedangkan:
a
b
adalah nilai/operand yang dioperasikan.
2. Apa itu Operand?
Di caption disebut istilah operand.
Operand adalah nilai atau data yang dikenai operasi oleh operator.
Contoh:
50 + 20
Di sini:
50 โ operand
+ โ operator
20 โ operand
Jadi bentuk sederhananya:
operand + operand
Contoh lain:
a + b
Di sini:
a โ operand
+ โ operator
b โ operand
Jadi jangan terlalu bingung dengan istilah “operand”.
Operator = yang melakukan operasi. Operand = data yang dioperasikan.
3. Jenis Operator
Dart mempunyai banyak jenis operator.
Secara umum kita akan menemukan:
- Arithmetic operators โ operasi matematika
- Assignment operators โ memberikan/mengubah nilai
- Comparison operators โ membandingkan nilai
- Logical operators โ operasi logika
- Unary operators โ operasi terhadap satu operand
- dan beberapa operator lainnya
Tetapi pada materi ini kita fokus pada:
Arithmetic Operators
Yaitu operator untuk melakukan perhitungan matematika.
4. Daftar Arithmetic Operator
Operator aritmatika yang dibahas dalam materi:
| Operator | Nama | Fungsi |
|---|---|---|
+ | Addition | Penjumlahan |
- | Subtraction | Pengurangan |
-expression | Unary minus | Membalik tanda |
* | Multiplication | Perkalian |
/ | Division | Pembagian |
~/ | Integer division | Pembagian dengan hasil bilangan bulat |
% | Modulus | Mengambil sisa pembagian |
Sekarang kita bahas satu per satu.
5. Addition +
Operator:
+
digunakan untuk penjumlahan.
Contoh:
int a = 50;
int b = 20;
print(a + b);
Hasil:
70
Karena:
50 + 20 = 70
Dengan variabel
Misalnya:
int price = 10000;
int shipping = 5000;
print(price + shipping);
Hasil:
15000
Artinya:
harga + ongkir
= 10000 + 5000
= 15000
6. Subtraction -
Operator:
-
digunakan untuk pengurangan.
Contoh:
int a = 50;
int b = 20;
print(a - b);
Hasil:
30
Karena:
50 - 20 = 30
Contoh dalam kehidupan nyata
Misalnya kamu punya saldo:
int balance = 100000;
int shopping = 35000;
print(balance - shopping);
Hasil:
65000
Artinya saldo setelah belanja:
100000 - 35000 = 65000
7. Unary Minus
Ini bagian yang agak berbeda.
Operator minus biasanya kita kenal sebagai pengurangan:
50 - 20
Tetapi minus juga bisa digunakan sebagai unary minus.
Unary berarti operator tersebut bekerja terhadap satu operand.
Contoh:
int number = 30;
print(-number);
Hasil:
-30
Perhatikan:
-number
Ini bukan berarti melakukan pengurangan.
Ini berarti:
“Balik tanda dari
number.”
8. Contoh Unary Minus dengan Ekspresi
Misalnya:
int a = 50;
int b = 20;
int result = b - a;
print(result);
Hitung:
20 - 50 = -30
Maka hasil:
-30
Kemudian:
int result = b - a;
print(-result);
Sekarang:
result = -30
Kemudian:
-result
menjadi:
30
Jadi:
-(-30) = +30
9. Cara Mudah Memahami Unary Minus
Bayangkan sebuah tanda:
+
kalau diberi unary minus, tandanya dibalik:
+30 โ -30
Begitu juga:
-30 โ +30
Contoh:
print(-10); // -10
print(-(-10)); // 10
10. Multiplication *
Operator:
*
digunakan untuk perkalian.
Contoh:
int a = 50;
int b = 20;
print(a * b);
Hasil:
1000
Karena:
50 ร 20 = 1000
Contoh kehidupan nyata
Misalnya harga satu barang:
int price = 10000;
Kamu membeli:
int quantity = 5;
Total:
print(price * quantity);
Hasil:
50000
Karena:
10000 ร 5 = 50000
11. Division /
Operator:
/
digunakan untuk pembagian.
Contoh:
int a = 50;
int b = 20;
print(a / b);
Hasil:
2.5
Karena:
50 รท 20 = 2.5
12. Hal Penting: / Menghasilkan double
Ini bagian yang sangat penting dari materi.
Misalnya:
int a = 50;
int b = 20;
double result = a / b;
print(result);
Hasil:
2.5
Kenapa menggunakan:
double
bukan:
int
Karena hasil pembagian dengan / adalah nilai pecahan/desimal.
Contohnya:
50 / 20 = 2.5
2.5 bukan integer.
Kesalahan yang mungkin terjadi
Misalnya:
int result = a / b;
Ini akan bermasalah karena hasil:
2.5
tidak bisa dimasukkan ke variabel bertipe:
int
Karena int hanya menyimpan bilangan bulat.
13. Integer Division ~/
Nah, sekarang kita sampai pada operator yang cukup penting:
~/
Namanya:
Integer division
Operator ini melakukan pembagian tetapi hasil akhirnya berupa bilangan bulat.
Contoh:
int a = 50;
int b = 20;
print(a ~/ b);
Hasil:
2
Sedangkan:
print(a / b);
hasilnya:
2.5
14. Perbedaan / dan ~/
Ini harus benar-benar dipahami.
Kita mempunyai:
int a = 50;
int b = 20;
Menggunakan /
print(a / b);
Hasil:
2.5
Menggunakan ~/
print(a ~/ b);
Hasil:
2
Jadi:
/ โ pembagian biasa
~/ โ integer division
15. Kenapa 50 ~/ 20 menghasilkan 2?
Karena kita mencari berapa kali 20 bisa masuk secara utuh ke dalam 50.
20 ร 2 = 40
Sedangkan:
20 ร 3 = 60
60 sudah lebih besar dari 50.
Jadi hasil bilangan bulatnya adalah:
2
Dan ada sisa:
50 - 40 = 10
Sisa 10 inilah yang bisa kita dapatkan dengan operator modulus %.
16. Modulus %
Operator:
%
disebut modulus.
Fungsinya adalah mengambil sisa hasil pembagian.
Contoh:
int a = 50;
int b = 20;
print(a % b);
Hasil:
10
Kenapa?
Karena:
50 รท 20
20 bisa masuk 2 kali:
20 ร 2 = 40
Kemudian:
50 - 40 = 10
Jadi sisanya:
10
17. Hubungan /, ~/, dan %
Ketiga operator ini sangat bagus dipelajari bersamaan.
Dengan:
50 dan 20
kita mendapatkan:
50 / 20 = 2.5
50 ~/ 20 = 2
50 % 20 = 10
Maknanya:
| Operasi | Hasil | Makna |
|---|---|---|
50 / 20 | 2.5 | Pembagian biasa |
50 ~/ 20 | 2 | Hasil pembagian bulat |
50 % 20 | 10 | Sisa pembagian |
18. Contoh Lengkap Seperti di Video
Kita bisa membuat program:
void main() {
int a = 50;
int b = 20;
print(a + b);
print(a - b);
print(a * b);
print(a / b);
print(a ~/ b);
print(a % b);
}
Hasil:
70
30
1000
2.5
2
10
Mari kita cocokkan:
50 + 20 = 70
50 - 20 = 30
50 * 20 = 1000
50 / 20 = 2.5
50 ~/ 20 = 2
50 % 20 = 10
19. Contoh Unary Minus
Tambahkan:
int result = b - a;
print(result);
print(-result);
Karena:
b - a
= 20 - 50
= -30
Maka:
result = -30
-result = 30
20. Operator dan Urutan Perhitungan
Dart juga mengikuti aturan matematika mengenai urutan operasi.
Misalnya:
print(10 + 5 * 2);
Jangan langsung menghitung dari kiri:
10 + 5 = 15
15 ร 2 = 30
Hasilnya bukan 30.
Perkalian dilakukan lebih dahulu:
5 ร 2 = 10
kemudian:
10 + 10 = 20
Jadi hasilnya:
20
21. Gunakan Kurung Jika Ingin Mengatur Urutan
Misalnya:
print((10 + 5) * 2);
Sekarang yang dikerjakan terlebih dahulu adalah:
10 + 5 = 15
kemudian:
15 ร 2 = 30
Hasil:
30
Bandingkan:
10 + 5 * 2
hasil:
20
dengan:
(10 + 5) * 2
hasil:
30
Jadi tanda kurung sangat berguna untuk membuat maksud perhitungan menjadi jelas.
22. Contoh dalam Program Nyata
Misalnya kita ingin menghitung total harga:
void main() {
int price = 10000;
int quantity = 3;
int total = price * quantity;
print(total);
}
Hasil:
30000
Kalau ingin memberikan diskon:
void main() {
double price = 100000;
double discount = 0.10;
double discountAmount = price * discount;
double total = price - discountAmount;
print(total);
}
Perhitungannya:
100000 ร 0.10 = 10000
Kemudian:
100000 - 10000 = 90000
Jadi:
90000
23. Kegunaan Modulus dalam Program
Modulus % ternyata sangat berguna.
Contoh paling terkenal adalah menentukan bilangan genap atau ganjil.
Misalnya:
int number = 10;
print(number % 2);
Hasil:
0
Artinya 10 habis dibagi 2.
Kalau:
int number = 11;
print(number % 2);
Hasil:
1
Artinya ada sisa 1.
Kita bisa membuat:
void main() {
int number = 10;
if (number % 2 == 0) {
print('Genap');
} else {
print('Ganjil');
}
}
Jadi modulus sering digunakan dalam logika program, bukan hanya matematika.
24. Contoh Modulus dengan Pembagian Barang
Misalnya ada:
23 apel
dan setiap orang mendapatkan:
5 apel
Kita bisa mencari berapa orang yang mendapatkan bagian penuh:
print(23 ~/ 5);
Hasil:
4
Karena:
5 ร 4 = 20
Kemudian kita bisa mencari berapa apel yang tersisa:
print(23 % 5);
Hasil:
3
Jadi:
23 apel
โ 4 orang mendapatkan 5 apel
โ tersisa 3 apel
Ini contoh nyata kenapa ~/ dan % sangat berguna.
25. Ringkasan Operator Aritmatika
Mari kita buat tabel yang mudah diingat.
| Operator | Nama | Contoh | Hasil |
|---|---|---|---|
+ | Penjumlahan | 50 + 20 | 70 |
- | Pengurangan | 50 - 20 | 30 |
- | Unary minus | -(30) | -30 |
* | Perkalian | 50 * 20 | 1000 |
/ | Pembagian | 50 / 20 | 2.5 |
~/ | Integer division | 50 ~/ 20 | 2 |
% | Modulus | 50 % 20 | 10 |
26. Cara Mengingat /, ~/, dan %
Bagian ini biasanya yang paling membingungkan pemula.
Gunakan satu contoh:
50 dan 20
/
Tanya:
“Hasil pembagian sebenarnya berapa?”
Jawab:
2.5
~/
Tanya:
“Berapa hasil pembagian dalam bilangan bulat?”
Jawab:
2
%
Tanya:
“Setelah pembagian bulat, sisanya berapa?”
Jawab:
10
Jadi:
50 / 20 โ 2.5
50 ~/ 20 โ 2
50 % 20 โ 10
Ini tiga operator yang sebaiknya kamu hafalkan.
27. Catatan Penting tentang Caption
Ada beberapa istilah di caption yang kurang jelas karena hasil transkripsi otomatis.
Misalnya caption menyebut:
“division give result in double”
Maksud yang tepat dalam Dart adalah operator / menghasilkan nilai bertipe double.
Sedangkan:
~
pada:
~/
menandakan integer division.
Dan istilah:
“reminder”
yang dimaksud adalah remainder, yaitu sisa pembagian.
28. Gambaran Besarnya
Kalau kita sederhanakan seluruh materi ini:
OPERATOR
โ
โผ
melakukan operasi
โ
โโโโโโโโโโโโดโโโโโโโโโโโ
โ โ
Arithmetic lainnya
โ
โผ
+ โ tambah
- โ kurang
* โ kali
/ โ bagi โ double
~/ โ bagi โ integer
% โ sisa
Unary minus:
-30 โ 30
30 โ -30
digunakan untuk membalik tanda sebuah nilai/ekspresi.
๐ง Inti Materi yang Wajib Kamu Kuasai
Kalau kamu baru belajar Dart, jangan mencoba menghafal semuanya sekaligus. Pastikan kamu benar-benar memahami contoh berikut:
void main() {
int a = 50;
int b = 20;
print(a + b); // 70
print(a - b); // 30
print(a * b); // 1000
print(a / b); // 2.5
print(a ~/ b); // 2
print(a % b); // 10
}
Dan pahami arti masing-masing:
+ โ penjumlahan
- โ pengurangan / membalik tanda
* โ perkalian
/ โ pembagian biasa
~/ โ pembagian bilangan bulat
% โ sisa pembagian
Yang paling penting: jangan hanya menghafal bahwa 50 ~/ 20 = 2. Pahami kenapa hasilnya 2 dan kenapa 50 % 20 = 10. Kalau konsep ini sudah masuk, kamu akan jauh lebih mudah memahami operator-operator berikutnya seperti comparison operators (>, <, ==), logical operators (&&, ||, !), dan assignment operators (=, +=, -=, dll.).