MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
Sistem Presensi Mahasiswa menggunakan Dart
Capaian Pembelajaran
Setelah mengikuti praktikum ini, mahasiswa diharapkan dapat:
Memahami konsep 4 pilar OOP (Encapsulation, Inheritance, Polymorphism, dan Abstraction)
Mengimplementasikan 4 pilar OOP menggunakan bahasa Dart
Membuat sistem presensi mahasiswa sederhana dengan pendekatan OOP
Dasar Teori
1. Object-Oriented Programming (OOP)
OOP adalah paradigma pemrograman yang berfokus pada konsep objek yang memiliki data dan kode. Struktur data dalam OOP dirancang sebagai objek yang memiliki properties (atribut) dan methods (fungsi).
2. Empat Pilar OOP
Abstraction: Menyembunyikan kompleksitas dengan menunjukkan hanya fitur-fitur penting dari objek
Encapsulation: Membungkus data dan method dalam satu unit/objek
Inheritance: Kemampuan sebuah class untuk mewarisi properties dan methods dari class lain
Polymorphism: Kemampuan objek untuk memiliki berbagai bentuk method yang sama
Alat dan Bahan
Dart SDK (minimal versi 2.15.0)
Visual Studio Code atau IDE lainnya
Git (opsional)
Terminal atau Command Prompt
Langkah Percobaan
Percobaan 1: Implementasi Abstract Class (Abstraction)
Tugas:
Jelaskan mengapa kita menggunakan abstract class?
Apa perbedaan abstract class dengan interface?
Percobaan 2: Implementasi Inheritance
Tugas:
Tambahkan property tambahan pada class Student
Implementasikan method baru untuk menampilkan riwayat presensi
Percobaan 3: Implementasi Encapsulation
Tugas:
Tambahkan setter dengan validasi
Jelaskan pentingnya encapsulation dalam konteks ini
Percobaan 4: Implementasi Polymorphism
Tugas:
Tambahkan satu jenis attendance baru (misal: HybridAttendance)
Implementasikan method khusus untuk jenis attendance baru tersebut
Percobaan 5: Implementasi Sistem Lengkap
Tugas:
Tambahkan minimal 3 mahasiswa dan 2 mata kuliah
Implementasikan sistem presensi untuk satu semester penuh
Latihan Mandiri
Buatlah class
Lecturer
yang merupakan turunan dariPerson
Implementasikan sistem validasi presensi dengan batasan waktu
Tambahkan fitur untuk mengekspor riwayat presensi ke format CSV
Implementasikan sistem perhitungan persentase kehadiran
Buatlah interface untuk menangani notifikasi ketika presensi berhasil dilakukan
Kriteria Penilaian
Ketepatan implementasi 4 pilar OOP (40%)
Kelengkapan fitur sistem presensi (30%)
Kerapian dan dokumentasi kode (15%)
Pengembangan fitur tambahan (15%)
Referensi
Dart Documentation - https://dart.dev/guides
OOP Concepts in Dart - https://dart.dev/guides/language/language-tour#classes
Clean Code: A Handbook of Agile Software Craftsmanship - Robert C. Martin
Kesimpulan
Dalam praktikum ini, mahasiswa telah mempelajari dan mengimplementasikan 4 pilar OOP dalam konteks sistem presensi mahasiswa. Pemahaman dan implementasi konsep-konsep ini sangat penting dalam pengembangan software yang terstruktur dan mudah dimaintain.
Tugas Akhir
Kembangkan sistem presensi ini dengan menambahkan:
Database persistence menggunakan SQLite
User authentication dan authorization
REST API untuk akses mobile
Unit testing untuk semua class utama
UI sederhana menggunakan Flutter
Catatan: Dokumentasikan semua pengembangan dan tambahkan komentar yang jelas pada kode.
Last updated