3. Jawabannya
Soal 1.Membuat Class dan Object
Dart
class Mobil {
String merk;
String warna;
int tahunPembuatan;
// Constructor
Mobil(this.merk, this.warna, this.tahunPembuatan);
// Method deskripsi
void deskripsi() {
print("Mobil ini adalah $merk berwarna $warna, dibuat pada tahun $tahunPembuatan.");
}
}
void main() {
// Membuat objek mobil
var mobil1 = Mobil("Toyota", "Merah", 2020);
mobil1.deskripsi(); // Memanggil method deskripsi
}
Soal 2.Encapsulation
Dart
class RekeningBank {
String nomorRekening;
double _saldo; // Private
// Constructor
RekeningBank(this.nomorRekening, this._saldo);
// Method untuk menambah saldo
void setor(double jumlah) {
if (jumlah > 0) {
_saldo += jumlah;
} else {
print("Jumlah setor harus positif.");
}
}
// Method untuk mengambil saldo
double getSaldo() {
return _saldo;
}
}
void main() {
// Membuat objek rekening
var rekening = RekeningBank("123456789", 1000.0);
// Menambah saldo
rekening.setor(500.0);
// Mengambil saldo
print("Saldo saat ini: ${rekening.getSaldo()}");
}
Soal 3.Inheritance
Dart
class Kendaraan {
void jalan() {
print("Kendaraan sedang berjalan.");
}
}
class Motor extends Kendaraan {
void berbelok() {
print("Motor berbelok ke kiri.");
}
}
class Mobil extends Kendaraan {
void berbelok() {
print("Mobil berbelok ke kanan.");
}
}
void main() {
var motor = Motor();
motor.jalan();
motor.berbelok();
var mobil = Mobil();
mobil.jalan();
mobil.berbelok();
}
Soal 4.Polymorphism
Dart
class Hewan {
void suara() {
print("Hewan membuat suara.");
}
}
class Anjing extends Hewan {
@override
void suara() {
print("Anjing menggonggong.");
}
}
class Kucing extends Hewan {
@override
void suara() {
print("Kucing mengeong.");
}
}
void main() {
Hewan hewan1 = Anjing();
Hewan hewan2 = Kucing();
hewan1.suara(); // Output: Anjing menggonggong.
hewan2.suara(); // Output: Kucing mengeong.
}