MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Sistem Presensi Mahasiswa menggunakan Dart

Capaian Pembelajaran

Setelah mengikuti praktikum ini, mahasiswa diharapkan dapat:

  1. Memahami konsep 4 pilar OOP (Encapsulation, Inheritance, Polymorphism, dan Abstraction)

  2. Mengimplementasikan 4 pilar OOP menggunakan bahasa Dart

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

  1. Abstraction: Menyembunyikan kompleksitas dengan menunjukkan hanya fitur-fitur penting dari objek

  2. Encapsulation: Membungkus data dan method dalam satu unit/objek

  3. Inheritance: Kemampuan sebuah class untuk mewarisi properties dan methods dari class lain

  4. Polymorphism: Kemampuan objek untuk memiliki berbagai bentuk method yang sama

Alat dan Bahan

  1. Dart SDK (minimal versi 2.15.0)

  2. Visual Studio Code atau IDE lainnya

  3. Git (opsional)

  4. Terminal atau Command Prompt

Langkah Percobaan

Percobaan 1: Implementasi Abstract Class (Abstraction)

Tugas:

  1. Jelaskan mengapa kita menggunakan abstract class?

  2. Apa perbedaan abstract class dengan interface?

Percobaan 2: Implementasi Inheritance

Tugas:

  1. Tambahkan property tambahan pada class Student

  2. Implementasikan method baru untuk menampilkan riwayat presensi

Percobaan 3: Implementasi Encapsulation

Tugas:

  1. Tambahkan setter dengan validasi

  2. Jelaskan pentingnya encapsulation dalam konteks ini

Percobaan 4: Implementasi Polymorphism

Tugas:

  1. Tambahkan satu jenis attendance baru (misal: HybridAttendance)

  2. Implementasikan method khusus untuk jenis attendance baru tersebut

Percobaan 5: Implementasi Sistem Lengkap

Tugas:

  1. Tambahkan minimal 3 mahasiswa dan 2 mata kuliah

  2. Implementasikan sistem presensi untuk satu semester penuh

Latihan Mandiri

  1. Buatlah class Lecturer yang merupakan turunan dari Person

  2. Implementasikan sistem validasi presensi dengan batasan waktu

  3. Tambahkan fitur untuk mengekspor riwayat presensi ke format CSV

  4. Implementasikan sistem perhitungan persentase kehadiran

  5. Buatlah interface untuk menangani notifikasi ketika presensi berhasil dilakukan

Kriteria Penilaian

  1. Ketepatan implementasi 4 pilar OOP (40%)

  2. Kelengkapan fitur sistem presensi (30%)

  3. Kerapian dan dokumentasi kode (15%)

  4. Pengembangan fitur tambahan (15%)

Referensi

  1. Dart Documentation - https://dart.dev/guides

  2. 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:

  1. Database persistence menggunakan SQLite

  2. User authentication dan authorization

  3. REST API untuk akses mobile

  4. Unit testing untuk semua class utama

  5. UI sederhana menggunakan Flutter

Catatan: Dokumentasikan semua pengembangan dan tambahkan komentar yang jelas pada kode.

Last updated

Was this helpful?