Skip to content

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.
}

Soal 5.Menggunakan Mixin

Dart
mixin BisaTerbang {
  void terbang() {
    print("Terbang di udara.");
  }
}

class Burung with BisaTerbang {}

class Pesawat with BisaTerbang {}

void main() {
  var burung = Burung();
  burung.terbang(); // Output: Terbang di udara.

  var pesawat = Pesawat();
  pesawat.terbang(); // Output: Terbang di udara.
}