Variabel & Tipe Data

var, final, const, tipe dasar (int, double, String, bool), type inference, string interpolation, konversi tipe, dan konstanta.

Part 2 dari 20 ± 45 menit Gratis

Variabel: wadah bernama

Variabel adalah tempat menyimpan nilai. Di Dart kamu bisa menulis tipenya secara eksplisit, atau membiarkan Dart menebaknya (type inference) dengan var.

String nama = 'Budi';     // tipe ditulis jelas
int umur = 25;
var kota = 'Jakarta';     // Dart menebak: String
var tinggi = 170.5;       // Dart menebak: double

Setelah ditebak, tipe tidak bisa berubah. kota = 5; adalah error karena kota sudah bertipe String.

Tipe data dasar

TipeIsiContoh
intBilangan bulat42, -7
doubleBilangan desimal3.14, 2.0
numInduk dari int dan double5 atau 5.5
StringTeks'Halo'
boolBenar/salahtrue, false
List, Set, MapKumpulan data (bab 7)[1, 2, 3]
dynamicTipe apa saja, dicek saat jalan (hindari)

final dan const: nilai yang tidak berubah

final namaToko = 'KelasIT';        // ditentukan saat program jalan, lalu terkunci
const pajak = 0.11;                // sudah diketahui saat kompilasi
final sekarang = DateTime.now();   // OK: nilainya baru ada saat jalan
// const sekarang = DateTime.now(); // ERROR: bukan konstanta kompilasi
Bisa diubah?Nilai diketahui
varYaKapan saja
finalTidak (diisi sekali)Saat program jalan
constTidakSaat kompilasi

Kebiasaan baik: pakai final secara default; ubah ke var hanya jika nilainya memang harus berubah.

String interpolation

var nama = 'Budi';
var umur = 25;
print('Nama: $nama');                       // variabel sederhana: $nama
print('Tahun depan: ${umur + 1}');          // ekspresi: ${...}
print('Panjang nama: ${nama.length}');      // pemanggilan property

String bisa memakai kutip tunggal atau ganda. Untuk teks beberapa baris pakai tiga kutip:

var puisi = '''
Baris satu
Baris dua
''';
var jalur = r'C:\data\baru';   // r = raw, tanda \ tidak diproses

Operasi angka dan konversi

int a = 7;
double b = a / 2;          // 3.5  ( / selalu menghasilkan double )
int c = a ~/ 2;            // 3    ( ~/ pembagian bulat )
int sisa = a % 2;          // 1

int dariTeks = int.parse('42');            // teks -> int
double desimal = double.parse('3.14');
int? aman = int.tryParse('abc');           // null jika gagal (tidak error)
String teks = 42.toString();               // angka -> teks
String dua = 3.14159.toStringAsFixed(2);   // '3.14'
int bulat = 3.7.round();                   // 4

Dart tidak mengubah tipe diam-diam. '5' + 3 adalah error; ubah dulu dengan int.parse.

Mengecek tipe

var x = 10;
print(x.runtimeType);      // int
print(x is int);           // true
print(x is! String);       // true

Error umum

  • A value of type 'String' can't be assigned to a variable of type 'int'. → salah tipe; konversi dengan int.parse atau perbaiki tipenya.
  • Can't assign to the const variable 'x'. → mencoba mengubah final/const.
  • FormatException: Invalid number → int.parse pada teks bukan angka; gunakan tryParse.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X