Salah satu aspek penting dalam pemrograman adalah bagaimana menangani angka atau numbers. Dart mendukung dua tipe data utama untuk angka, yaitu int
dan double
.
int
digunakan untuk menyimpan angka bulat (integer), baik positif maupun negatif. Contoh angka bulat termasuk -10, 0, 1, dan 12345. Angka bulat di Dart tidak memiliki batas ukuran yang ditentukan, sehingga dapat menyimpan angka yang sangat besar maupun sangat kecil, selama memori mencukupi.int number1 = 10; int number2 = -5; int number3 = 0; int hex = 0xDEADBEEF;
double
digunakan untuk menyimpan angka desimal atau angka dengan titik floating (floating-point numbers). Contoh angka desimal termasuk 3.14, -0.5, dan 2.71828.double decimal1 = 3.14; double decimal2 = -0.5; double decimal3 = 2.71828;
Operasi Aritmatika
Operasi aritmatika adalah operasi matematis yang dilakukan pada angka untuk menghasilkan nilai baru. Dart mendukung berbagai operasi aritmatika dasar yang dapat digunakan dengan int
dan double
, termasuk penjumlahan, pengurangan, perkalian, pembagian, dan modulus.
Penjumlahan (+)
Penjumlahan adalah operasi aritmatika dasar yang menambah dua angka bersama-sama. Dalam kode di atas, penjumlahan dilakukan antara dua integer (
a
danb
) serta antara dua double (c
dand
).void main() { int a = 10; int b = 3; double c = 4.5; double d = 1.5; // Operasi dengan tipe data int print('Penjumlahan int: ${a + b}'); // 13 // Operasi dengan tipe data double print('Penjumlahan double: ${c + d}'); // 6.0 }
Pengurangan (-)
Pengurangan mengurangi satu angka dari angka lainnya. Operasi ini juga dapat dilakukan baik pada integer maupun double.
void main() { int a = 10; int b = 3; double c = 4.5; double d = 1.5; // Operasi dengan tipe data int print('Pengurangan int: ${a - b}'); // 7 // Operasi dengan tipe data double print('Pengurangan double: ${c - d}'); // 3.0 }
Perkalian (*)
Perkalian mengalikan dua angka. Sama seperti penjumlahan dan pengurangan, operasi ini bisa diterapkan pada integer dan double.
print('Perkalian int: ${a * b}'); // 30 print('Perkalian double: ${c * d}'); // 6.75
Pembagian (/)
Pembagian membagi satu angka dengan angka lainnya. Perlu dicatat bahwa hasil pembagian antara dua integer akan menjadi double karena pembagian dapat menghasilkan angka desimal.
print('Pembagian int: ${a / b}'); // 3.3333333333333335 print('Pembagian double: ${c / d}'); // 3.0
Modulus (%)
Modulus mengembalikan sisa dari pembagian dua angka. Operasi ini biasanya digunakan untuk menemukan sisa dari pembagian integer.
print('Modulus int: ${a % b}'); // 1
Kita juga dapat menggabungkan beberapa operasi aritmatika dalam satu ekspresi untuk melakukan perhitungan yang lebih kompleks. Misalnya, kita bisa menggabungkan penjumlahan dan perkalian:
void main() {
int x = 5;
int y = 2;
int z = 3;
int result = x + y * z; // 5 + (2 * 3) = 11
print('Hasil kombinasi operasi: $result');
}
Dalam contoh ini, perkalian dilakukan terlebih dahulu sesuai dengan aturan prioritas operasi, kemudian hasilnya ditambahkan dengan nilai x
.
Fungsi Matematika
Dalam pengembangan aplikasi, seringkali kita perlu melakukan operasi matematika yang lebih kompleks selain operasi aritmatika dasar. Dart menyediakan berbagai fungsi matematika melalui library dart:math
, yang mencakup berbagai operasi matematika seperti akar kuadrat, pangkat, dan fungsi trigonometri.
Library dart:math
berisi berbagai fungsi dan konstanta matematika yang dapat digunakan untuk melakukan operasi matematika kompleks. Untuk menggunakan fungsi-fungsi ini, kita harus mengimpor library dart:math
.
import 'dart:math';
Berikut adalah beberapa fungsi matematika yang sering digunakan dalam Dart:
Akar Kuadrat (
sqrt
)Fungsi
sqrt
digunakan untuk menghitung akar kuadrat dari sebuah angka. Fungsi ini menerima satu argumen berupa angka double dan mengembalikan hasil akar kuadratnya.void main() { double num = 16.0; print('Akar kuadrat dari $num: ${sqrt(num)}'); // 4.0 }
Dalam contoh di atas, akar kuadrat dari 16.0 adalah 4.0.
Pangkat (
pow
)Fungsi
pow
digunakan untuk menghitung pangkat dari sebuah angka. Fungsi ini menerima dua argumen: basis dan eksponen, kemudian mengembalikan hasil pangkatnya.void main() { print('2 pangkat 3: ${pow(2, 3)}'); // 8 }
Dalam contoh di atas, 2 pangkat 3 (2^3) adalah 8.
Sine (
sin
)Fungsi
sin
digunakan untuk menghitung sine dari suatu sudut dalam radian. Untuk mengonversi derajat ke radian, kita dapat menggunakan konstantapi
dari librarydart:math
.void main() { print('Sine dari 30 derajat: ${sin(30 * pi / 180)}'); // 0.5 }
Dalam contoh di atas, sine dari 30 derajat (30°) adalah 0.5.
Cosine (
cos
)Fungsi
cos
digunakan untuk menghitung cosine dari suatu sudut dalam radian.void main() { print('Cosine dari 60 derajat: ${cos(60 * pi / 180)}'); // 0.5 }
Dalam contoh di atas, cosine dari 60 derajat (60°) adalah 0.5.
Tangent (
tan
)Fungsi
tan
digunakan untuk menghitung tangent dari suatu sudut dalam radian.dartCopy codevoid main() { print('Tangent dari 45 derajat: ${tan(45 * pi / 180)}'); // 1.0 }
Dalam contoh di atas, tangent dari 45 derajat (45°) adalah 1.0.
Dalam fungsi trigonometri, sudut seringkali diberikan dalam bentuk derajat, namun fungsi trigonometri dalam Dart menggunakan radian. Untuk mengonversi derajat ke radian, kita dapat menggunakan rumus berikut:
radian = derajat × 𝜋 / 180
Konstanta pi
disediakan oleh library dart:math
.
Konversi Antara int dan double
Terkadang, kita perlu mengonversi antara int
dan double
. Dart menyediakan metode bawaan yang sangat berguna untuk melakukan konversi ini, yaitu toDouble
untuk mengonversi int
ke double
dan toInt
untuk mengonversi double
ke int
.
Konversi antara int
dan double
mungkin diperlukan dalam berbagai situasi, seperti:
Operasi Aritmatika Campuran: Saat melakukan operasi aritmatika yang melibatkan kedua tipe data ini, mungkin perlu untuk memastikan bahwa operasi tersebut dilakukan pada tipe data yang konsisten.
Kompatibilitas Fungsi: Beberapa fungsi atau API mungkin memerlukan argumen dalam tipe data tertentu.
Penyimpanan dan Pemrosesan Data: Data mungkin perlu disimpan sebagai
int
untuk efisiensi, tetapi diproses sebagaidouble
untuk presisi, atau sebaliknya.
Dart menyediakan metode berikut untuk konversi antara int
dan double
:
toDouble
: Mengonversiint
menjadidouble
.toInt
: Mengonversidouble
menjadiint
. Metode ini akan membuang bagian desimal dari angkadouble
, mengembalikan hanya bagian bilangan bulat.
void main() {
int integer = 10;
double decimal = 5.75;
// Konversi dari int ke double
double fromInt = integer.toDouble();
print('Dari int ke double: $fromInt'); // 10.0
// Konversi dari double ke int
int fromDouble = decimal.toInt();
print('Dari double ke int: $fromDouble'); // 5
}
Dari pembahasan diatas dapat disimpulkan bahwa Numbers dalam Dart adalah konsep yang fundamental dan mudah digunakan. Dengan memahami tipe data int
dan double
, operasi aritmatika, fungsi matematika, serta konversi antara tipe data, kita dapat menangani berbagai kebutuhan perhitungan dalam pengembangan aplikasi menggunakan Dart. Sebagai pengembang, memahami cara kerja angka dalam bahasa pemrograman akan mempermudah dalam menulis kode yang lebih efisien dan efektif.