Available courses

Manajemen Keuangan - MPI2 - 20242
Semester 2
Capaian Pembelajaran:
Setelah mengikuti kuliah ini mahasiswa diharapkan mempunyai pemahaman dalam pengelolaan keuangan, menekankan pada bagaimana menempatkan dana yang dimiliki untuk mendapatkan prosek keuntungan terbaik dan mempertahankan atau mengontrol keuntungan tersebut untuk masa depan

SKS : 2 SKS
Semester : 2 (dua)

Pemrograman Berbasis Object - TK2 - 20242
Semester 2

Mata kuliah ini memperkenalkan konsep dasar dan prinsip-prinsip dalam pengembangan perangkat lunak dengan menggunakan paradigma berorientasi objek (OOP).

Tujuan Pembelajaran Membekali mahasiswa dengan keterampilan dalam merancang dan mengembangkan perangkat lunak yang modular, terstruktur, dan mudah dikelola menggunakan prinsip OOP. Mahasiswa akan menggunakan bahasa pemrograman yang mendukung OOP, seperti Java, C++, atau Python, untuk menerapkan konsep-konsep tersebut dalam pengembangan aplikasi.

Bahan Kajian

1.      Pengenalan Pemrograman Berorientasi Objek (OOP)

  • Konsep dasar OOP: Memahami apa itu Pemrograman Berorientasi Objek dan mengapa OOP menjadi paradigma populer dalam pengembangan perangkat lunak.
  • Sejarah dan evolusi OOP: Asal-usul dan perkembangan paradigma OOP.

2. Konsep Utama dalam OOP

  • Kelas (Class): Penjelasan tentang definisi kelas sebagai blueprint untuk objek, serta bagaimana kelas digunakan untuk mendefinisikan atribut dan metode.
  • Objek (Object): Pengertian objek sebagai instance dari kelas dan cara objek berinteraksi dalam aplikasi.
  • Enkapsulasi: Menyembunyikan detail implementasi dalam kelas dan hanya menyediakan interface yang diperlukan (aksesibilitas data melalui metode getter dan setter).
  • Abstraksi: Proses menyederhanakan sistem dengan hanya menampilkan detail penting dan menyembunyikan kompleksitas yang tidak diperlukan.
  • Pewarisan (Inheritance): Konsep di mana kelas anak mewarisi properti dan metode dari kelas induk, memungkinkan kode yang lebih terstruktur dan reuse.
  • Polimorfisme: Kemampuan objek untuk memiliki banyak bentuk, dengan cara mengoverride atau overload metode untuk menyesuaikan perilaku.

3. Prinsip Dasar OOP

  • Prinsip SOLID:
    • S - Single Responsibility Principle (SRP)
    • O - Open/Closed Principle (OCP)
    • L - Liskov Substitution Principle (LSP)
    • I - Interface Segregation Principle (ISP)
    • D - Dependency Inversion Principle (DIP)
  • Desain Berorientasi Objek: Penggunaan prinsip-prinsip desain yang mendukung pembuatan aplikasi yang lebih modular, fleksibel, dan mudah dikelola.

4. Penggunaan Bahasa Pemrograman Berorientasi Objek

  • Bahasa OOP: Seperti Java, C++, Python, atau C# yang mendukung paradigma OOP. Penggunaan bahasa-bahasa ini untuk implementasi konsep-konsep OOP.
  • Sintaks Dasar: Struktur kode untuk mendefinisikan kelas, objek, dan metode dalam bahasa pemrograman OOP.

5. Pengelolaan Atribut dan Metode

  • Atribut (Fields/Properties): Menjelaskan cara mendeklarasikan dan menggunakan atribut dalam kelas untuk menyimpan data.
  • Metode (Methods): Menjelaskan bagaimana mendefinisikan fungsi dalam kelas untuk memberikan perilaku pada objek.
  • Konstruktor dan Dekonstruktor: Penjelasan mengenai konstruktor untuk inisialisasi objek dan dekonstruktor untuk pembersihan sebelum objek dihancurkan.

6. Penggunaan Interface dan Abstrak Kelas

  • Interface: Menjelaskan konsep interface sebagai kontrak yang harus diimplementasikan oleh kelas-kelas lainnya.
  • Abstrak Kelas: Penggunaan kelas abstrak untuk mendefinisikan struktur dasar yang dapat diwarisi oleh kelas lainnya, namun tidak dapat diinstansiasi langsung.

7. Exception Handling dalam OOP

  • Penanganan Kesalahan (Exception Handling): Teknik untuk menangani kesalahan atau kondisi tidak normal dalam aplikasi menggunakan try-catch, throws, dan throw dalam OOP.

8. Desain dan Pengembangan Aplikasi Berorientasi Objek

  • Desain Kelas dan Objek: Teknik merancang kelas dan hubungan antar objek untuk memecahkan masalah secara modular dan efisien.
  • Pattern Desain (Design Patterns): Mengenal pola desain berorientasi objek seperti Singleton, Factory, Observer, dan Strategy yang membantu memecahkan masalah desain yang umum dalam pengembangan perangkat lunak.

9. Pengujian Aplikasi OOP

  • Unit Testing: Teknik untuk menguji setiap unit kode, seperti metode dalam kelas, untuk memastikan bahwa mereka berfungsi sesuai dengan yang diharapkan.
  • Mocking: Teknik untuk meniru objek dalam pengujian unit, terutama saat menguji komponen yang berinteraksi dengan bagian lain dari sistem.

10. Pemrograman Berorientasi Objek Lanjut

  • Generik (Generics): Penggunaan tipe data generik untuk membuat kode yang lebih fleksibel dan reusable.
  • Reflection: Teknik untuk memeriksa atau memodifikasi struktur program di runtime.
  • Lambda Expression dan Anonymous Classes: Penggunaan lambda untuk membuat kode lebih ringkas dan ekspresif dalam bahasa seperti Java.

11. Pemeliharaan dan Refactoring Kode OOP

  • Refactoring: Proses perbaikan kode tanpa mengubah perilakunya, untuk meningkatkan keterbacaan dan efisiensi.
  • Keterbacaan dan Pengelolaan Kode: Teknik untuk menjaga kualitas kode, termasuk penggunaan komentar, penamaan yang tepat, dan struktur yang jelas.