img-dart
#dart #flutter

Installation dart sdk & VS Code Extension

Tipe data

Dart adalah bahasa pemrograman yang statically typed artinya tipe data diperiksa saat kompilasi. Namun, Dart juga mendukung type inference (penyimpulan tipe) dan null safety untuk keamanan.

1. Angka (int, double, num)

int umur = 25;
double harga = 9.99;
num nilai = 42;  // Bisa int atau double

2. Teks (String)

String nama = 'Budi';
String salam = "Halo, $nama!";  // Interpolasi
String multiBaris = '''
Ini adalah
teks multi-baris.
''';
String multiLine2 = "Hello $name\nMy name is Ubay";

3. Boolean (bool)

bool isAktif = true;
bool isLogin = false;

4. List (Array)

List<int> angka = [1, 2, 3, 4, 5];
List<String> nama = ['Alice', 'Bob', 'Charlie'];
angka.add(6);  // Menambahkan elemen baru
angka.addAll([7, 8, 9]);  // Menambahkan beberapa elemen baru

5. Set

Set<int> angka = {1, 2, 3, 4, 5};
Set<String> nama = {'Alice', 'Bob', 'Charlie'};
angka.add(6);  // Menambahkan elemen baru
angka.addAll({7, 8, 9});  // Menambahkan beberapa elemen baru
angka.remove(1);  // Menghapus angka yang memiliki nilai 1
nama.addAll({'ee', 'ff'});

6. Map & Tipe Data Dynamic

Map<String, dynamic> user = {"name": 'agus', 'age': 20}; // menggunakan tipe dynamic agar bisa menambah value dengan tipe apapun.
user['age'] = 25; // menambah nilai age
user['address'] = 'jakarta'; // menambah key value baru
user['family'] = {
  'istri': 'ani',
  'anak': ['budi', 'andre'],
};

7. var, final, dan const

var angka = 10;
final nama = 'Alice';
const pi = 3.14;

8. Object dan Null Safety

Object obj = 'Halo';
obj = 42;

String name = null; // Invalid (tidak bisa)
String? name2 = null; // Valid (Null Safety)

9. Pengecekan & Konversi Tipe

dynamic nilai = 'Halo';

int nilai2 = 2;
String str = nilai2 as String; // Konversi ke string, error jika gagal
print(str);

if (nilai is String) {
  print('type dari variabel nilai adalah ' + nilai.runtimeType.toString());
} else {
  print('no Ini bukan String');
}