1. Dasar
2. Variabel
3. Operator
4. Fungsi
5. Control Flow
6. Perulangan
7. Asinkron
8. Class
9. Cascade notation
10. Collection
Langsung saja :
1. Dasar
Variable Mutable
var namaVariabel;
atau agar lebih jelas kita bisa menuliskannya dengan tipe datanya seperti
berikut :
kita print
Variable Immutable
Berbeda dengan variabel mutable yang kita bisa mengubah-ubah isinya, pada
immutable kita mengunci nilainya sehingga nilai dari variabel tersebut tidak bisa
kita ubah-ubah, untuk membuatnya kita tuliskan seperti berikut :
3. Operator
Aritmatika Operator
Perbandingan
== sama dengan
Logika
|| OR logika
Condition
null terjadi apabila datanya tidak ada atau memang dia null, untuk itu dalam dart
kita bisa memberi nilai default apabila suatu variable itu bernilai null, caranya
main() {
var nama;
print(nama ?? "rizal");
kita run :
default if null
4. Fungsi
Fungsi adalah blok kode program yang bisa kita gunakan berulang-ulang
dengan cara memanggilnya
namaFungsi(parameter) {
// body function
}
kita coba buat sebuah fungsi untuk mengecek apakah dia bilangan genap :
cekGenap(int number) {
if (number % 2 == 0) {
return true;
}
return false;
// lebih singkat
// return number % 2 == 0;
}
Tipe data boolean adalah tipe data yang berisi nilai 聽 true 聽 dan 聽 false
聽 saja
kita run :
cekGenap
Sama seperti variable, fungsi pada dart juga bisa kita definisikan tipe data yang
di kembalikan/return nilainya, seperti berikut :
fungsi anonim
5. Control Flow
1. if
2. switch case
ifelse
if seperti berikut:
int angka = 11;
if (cekGenap(angka)) {
print("$angka adalah bilangan genap");
} else {
print("$angka adalah bilangan ganjil");
}
if condition dart
main() {
int nilai = 70;
kita run :
if else condition dart
danswitch case
switch (nilai){
case 'A':
// blok kode;
break;
case 'B':
// blok kode;
break;
case 'C':
// blok kode;
break;
default:
// blok kode;
}
switch (nilai) {
case "A":
print("Sangat Baik");
break;
case "B":
print("Baik");
break;
case "C":
print("Cukup");
break;
default:
print("Mengulang");
}
}
kita run :
Pada perulangan ini kita bisa mengeksekusi baris program secara berulang kali
1. for
2. while
3. do while
for loop
kondisi ini jika hasilnya true maka perulangan akan tetap dijalankan
bingung ? kita coba langsung saja, kita buat daftar nama-nama buah lalu kita
print seluruhnya satu-satu :
main() {
List<String> buah = ["anggur", "nanas", "mangga", "apel", "manggis", "jeruk",
"pir", "leci", "pisang", "kecapi", "durian", "naga", "semangka"];
kita run :
selama nilai i masih lebih kecil dari total buah maka tampilkan buahnya,
lalu kita tambah 1 agar bisa menampilkan buah selanjutnya.
while loop
sama dengna for loop namun dia hanya menerima parameter untuk kondisinya
saja, perulangan dengan while sintaksnya yaitu seperti berikut :
while (kondisi) {}
main() {
int i = 1;
while (i < 10) {
print(i);
i++;
}
}
dan hasilnya :
do while loop
pada do while ini bedanya kita jalankan dulu kodenya baru kita cek kondisinya,
sintaksnya yaitu:
do {} while (kondisi);
jalankan kode ini selama kondisi
main() {
int i = 1;
do {
print(i);
i++;
} while (i < 10);
}
kita run :
Tips tambahan
7. Asinkron
ketika kita membuat sebuah kode program, maka biasanya kode-kode akan
dijalankan secara berurutan, artinya kode di baris berikutnya tidak akan
dijalankan sebelum kode dibaris sekarang sedang beroperasi, cara seperti itu
akan membuat program menjadi terlihat hang ketika kita menjalankan operasi
yang membutuhkan waktu lebih lama seperti mendapatkan gambar melalui
internet, mengakses API, mengirim data keserver, dll.
Untuk mengatasi hal itu kita bisa menggunakan teknik asinkron, artinya kode
tersebut dijalankan namun dia sifatnya non-blocking, sehingga program tidak
akan terlihat hang.
dalam Flutter untuk membuat Asinkron, kita cukup buat seperti berikut :
hitungDetik() async {
int i = 1;
kita run
async dart
kita bisa lihat fungsi hitung detik belum selesai, namun kita tetap bisa melakukan
print(鈥淗 itung 鈥);
return
pada fungsi ini kita membuat sebuah listener ketika proses jumlah angka selesai
maka kita print nilainya;
8. Class
class NamaClass {
// member/properti
int a;
int b;
// constructor
NamaClass(this.b);
// method - method
setA(int a){
this.a = a;
}
showAB() {
print("A: $a, B: $b");
}
}
kita run :
kita membuat sebuah class yang ketika di inisialisasi membutuhkan
parameter integer untuk memberi nilai b
Tambahan
main() {
NamaClass x = NamaClass(2, c: 20);
x.setA(3);
x.showAB();
x.showC();
}class NamaClass {
// member/properti
int a;
int b;
int c;
// constructor
NamaClass(this.b, {this.c});
// method - method
setA(int a){
this.a = a;
}
showAB() {
print("A: $a, B: $b");
}
showC() {
print(c ?? "C belum di set");
}
}
jika tanpa c:
without c parameter
Latihan Class Lingkaran
silahkan buat sebuah class seperti berikut, lalu kita panggil hasilnya :
main() {
Lingkaran lingkaran = Lingkaran(17);
print("Keliling = ${lingkaran.getKeliling()}cm");
print("Luas = ${lingkaran.getLuas()}cm");
}class Lingkaran {
double pi = 3.14;
double r;
Lingkaran(this.r);
void setJariJari(double r) {
this.r = r;
}
double getKeliling() {
return 2 * pi * r;
}
double getLuas() {
return pi*(r * r);
}
}dan
9. Cascade Notation
Untuk memahaminya kita akan membuat sebuah class baru yang berfungsi
untuk menghitung kelulusan ujian, buat seperti ini :
class Ujian {
int matPel1;
int matPel2;
int matPel3;
setMatPel1(int nilai) {
this.matPel1 = nilai;
}
setMatPel2(int nilai) {
this.matPel2 = nilai;
}
setMatPel3(int nilai) {
this.matPel3 = nilai;
}
bool isLulus() {
int jumlahNilai = matPel1 + matPel2 + matPel3;
double rata2 = jumlahNilai / 3;
main() {
Ujian ujian = Ujian();
ujian.setMatPel1(80);
ujian.setMatPel2(70);
ujian.setMatPel3(30);
if (ujian.isLulus()) {
print("Anda lulus");
} else {
print("Anda tidak lulus");
}
}
maka hasilnya :
ujian dart
jika kita lihat untuk menset semua nilainya maka kita perlu menulis objek ujian
berulang kali:
ujian.
10. Collection
collection adalah kumpulan dari data-data atau koleksi sesuai dengan namanya,
ada beberapa collection yang akan kita pelajari dan salah satunya telah kita
pakai, yaitu :
1. Lists
2. Sets
3. Maps
Lists
list atau biasa dikenal dengan istilah array, adalah salah satu contoh collection,
kita bisa membuat dengan cara seperti berikut :
List<String> hewan = ["rusa", "singa", "gajah", "buaya", "angsa"];
Sets
sets adalah collection yang tidak berurutan dan sifatnya unik, artinya
data-datanya tidak boleh ada yang sama
Maps
map adalah collection yang menggunakan key dan value, keduanya(key dan
value) bisa dalam bentuk tipe apapun, kita buat:
main() {
Map<String, int> nilai = {
"math": 80,
"ipa": 90,
"bindo": 100,
"fisika": 85,
"bing": 70
};
print(nilai['math']);
print(nilai['bindo']);
}
lalu kita run, maka hasilnya :
Referensi :聽 https://dart.dev/guides/language/language-tour