Sebelum menulis satu class pun, Anda perlu melihat sendiri masalah yang membuat pemrograman berorientasi objek diciptakan. Buku ini membangun kasus itu dengan sistem perpustakaan kecil — Pustaka — yang versi proseduralnya mulai kewalahan seiring bertumbuh, lalu membangunnya ulang, konsep demi konsep, pertama dengan Java lalu dengan Python.

A416 BabEdisi Java · Edisi PythonBI · EN
Profitina Pemrograman Berorientasi Objek Jalur Java
Unduh Buku Lengkap (PDF) Unduh Java source code (ZIP)
Profitina Pemrograman Berorientasi Objek Jalur Python
Unduh Buku Lengkap (PDF) Unduh Python source code (ZIP)

Ringkasan

Pemrograman Berorientasi Objek (OOP) hadir sebagai dua edisi paralel — satu dengan Java, satu dengan Python — yang mengajarkan roadmap 16-langkah yang persis sama, hanya berbeda pada idiom bahasanya, sehingga pembaca yang sudah menguasai satu edisi bisa memakai edisi lainnya sebagai perbandingan langsung bagaimana gagasan yang sama tampil di tiap bahasa. Kuliah ini dibuka dengan menunjukkan mengapa program manajemen perpustakaan prosedural (Pustaka) mulai kewalahan seiring bertumbuh, lalu membangunnya ulang sebagai class dengan field, constructor, dan enkapsulasi; menambahkan array/list dan pembentukan string; membahas exception handling dan file I/O; memperkenalkan interface dan abstract class; lalu masuk ke inheritance, polymorphism, generics dan collections framework, pemrograman GUI dengan event dan MVC, konkurensi (thread, race condition, sinkronisasi), dan jaringan dengan socket. Buku ini ditutup dengan menamai, di bab Design Patterns, apa yang sebenarnya sudah dilakukan kode Pustaka sejak lama — dan berakhir dengan proyek puncak client-server GUI-socket.

Yang Akan Anda Pelajari

  • Mengenali kapan dan mengapa program prosedural perlu menjadi berorientasi objek — bukan sekadar cara menulis sintaks class.
  • Merancang class di sekitar field, constructor, dan enkapsulasi, dalam idiom Java maupun Python.
  • Memakai inheritance, polymorphism, interface/abstract class, dan generics untuk membangun kode yang fleksibel dan dapat dipakai ulang.
  • Menangani exception dan file I/O secara andal, serta membangun antarmuka grafis dengan struktur event-driven MVC.
  • Menulis kode konkuren secara aman — thread, race condition, sinkronisasi — serta kode jaringan dengan socket, client, dan server.
  • Mengenali design pattern umum sebagai nama untuk struktur yang sudah dituju sendiri oleh kode Anda.

Isi Buku

  1. Introduction to OOP: From Procedures to Objects — mengapa program perpustakaan Pustaka kewalahan ditulis secara prosedural murni.
  2. Anatomy of a Class: Fields, Constructors & Encapsulation — membangun ulang entitas pertama Pustaka sebagai class sungguhan.
  3. Primitive/Built-in Types, Control Flow, Strings & Debugging Tools — dasar bahasa yang menjadi sandaran setiap class.
  4. Practice Problems: Classes, Fields, Encapsulation & Language Fundamentals — titik pemeriksaan terpandu atas blok pertama.
  5. Arrays/Lists & the String-Building Story — kumpulan objek, dan membangun string secara efisien.
  6. Exception Handling & File I/O — membuat data Pustaka tahan lama dan kegagalannya tertangani rapi.
  7. Interfaces & Abstract Classes — merancang kontrak antar bagian sistem.
  8. Practice Problems: The Midterm — Reviewing Lectures 1 Through 7 — titik pemeriksaan UTS.
  9. Inheritance & Polymorphism — berbagi dan mengkhususkan perilaku antar class yang berkerabat.
  10. Generics & the Collections Framework — struktur data yang type-safe dan dapat dipakai ulang.
  11. GUI Programming: Events & MVC — memberi Pustaka antarmuka grafis sungguhan.
  12. Practice Problems: Quiz 2 — Reviewing Lectures 1 Through 11 — titik pemeriksaan besar kedua.
  13. Concurrency: Threads, Race Conditions, and Synchronization — membuat Pustaka aman diakses secara bersamaan.
  14. Networking: Sockets, Clients, and Servers — mengubah Pustaka menjadi sistem client-server.
  15. Design Patterns: Naming What Pustaka Already Does — mengenali pola yang sudah lama dipakai kode Pustaka.
  16. The Final: A Capstone GUI-Socket Client-Server Project — bentuk akhir Pustaka, dinilai sebagai perangkat lunak yang berjalan.
Untuk siapa buku ini: mahasiswa yang sudah mengambil kuliah Dasar Pemrograman atau Struktur Data dan bisa menulis kode prosedural, dan kini butuh desain berorientasi objek — dalam Java, Python, atau keduanya.

💬 Diskusi Komunitas