Soal 1: Penerapan Inheritance dan Polimorfisme
Buatlah program Dart yang menangani berbagai jenis bentuk geometri. Program ini harus dapat menghitung luas dari beberapa jenis bentuk seperti lingkaran dan persegi panjang. Gunakan konsep inheritance dan polimorfisme untuk mencapai ini. Program harus menggunakan kelas abstrak sebagai dasar untuk bentuk-bentuk ini, dan setiap bentuk harus mengimplementasikan metode untuk menghitung luasnya.
Instruksi:
-
Buat kelas abstrak
Shapedengan metode abstrakdouble area()yang mengembalikan luas dari bentuk. -
Buat dua kelas
CircledanRectangleyang mengimplementasikan Shape.-
Kelas
Circleharus memiliki atributradiusdan mengimplementasikan metodearea()untuk menghitung luas lingkaran. -
Kelas
Rectangleharus memiliki atributwidthdanheightserta mengimplementasikan metodearea()untuk menghitung luas persegi panjang.
-
-
Dalam fungsi
main(), buat objekCircledanRectangle, lalu cetak luas dari masing-masing objek menggunakan polimorfisme.
Soal 2: Penerapan Encapsulation dan Named Parameters
Buatlah program Dart yang menyimpan informasi tentang karyawan, termasuk nama, umur, dan posisi mereka. Gunakan konsep enkapsulasi untuk melindungi properti kelas dan gunakan named parameters untuk meningkatkan keterbacaan kode. Program harus menyediakan metode untuk menampilkan informasi karyawan dan memastikan bahwa data yang diberikan valid.
Instruksi:
-
Buat kelas
Employeedengan properti privat_name,_age, dan_position. -
Buat konstruktor dengan named parameters untuk menginisialisasi properti
Employee. -
Sediakan getter dan setter untuk setiap properti, dengan validasi untuk memastikan
agepositif danpositiontidak kosong. -
Tambahkan metode
displayInfo()untuk menampilkan informasi karyawan. -
Dalam fungsi
main(), buat objekEmployeedan gunakan getter dan setter untuk mengakses dan mengubah properti, lalu panggil metodedisplayInfo().
Selamat mengerjakan !