Hari 8: Class & Object
60 min
Last updated 09 Apr 2026
Membuat Class
class Mahasiswa {
// Properties
String nama;
int umur;
String jurusan;
double ipk;
// Constructor
Mahasiswa(this.nama, this.umur, this.jurusan, this.ipk);
// Named constructor
Mahasiswa.baru(this.nama) : umur = 18, jurusan = "Belum ditentukan", ipk = 0.0;
// Method
void perkenalan() {
print("Nama: $nama, Jurusan: $jurusan, IPK: $ipk");
}
bool lulus() => ipk >= 2.0;
}
void main() {
Mahasiswa m1 = Mahasiswa("Budi", 20, "Informatika", 3.5);
m1.perkenalan();
print("Lulus: ${m1.lulus()}");
Mahasiswa m2 = Mahasiswa.baru("Sari");
m2.perkenalan();
}
Getter & Setter
class Persegi {
double _sisi;
Persegi(this._sisi);
// Getter
double get luas => _sisi * _sisi;
double get keliling => 4 * _sisi;
// Setter dengan validasi
set sisi(double nilai) {
if (nilai <= 0) throw ArgumentError("Sisi harus positif");
_sisi = nilai;
}
}
void main() {
Persegi p = Persegi(5.0);
print("Luas: ${p.luas}"); // 25.0
print("Keliling: ${p.keliling}"); // 20.0
p.sisi = 7.0;
print("Luas baru: ${p.luas}"); // 49.0
}
💡
Notice: this.property di constructor otomatis assign nilai ke property.
Assignment
Buat class Mobil dengan constructor, named constructor, method, dan getter.
Expected output:
Merk: Toyota, Tahun: 2022, Harga: Rp 300000000
Antik: false
Merk: Honda, Tahun: 2000, Harga: Rp 50000000
Antik: false
Dart
main.dart
Solution
Output