BATANGHARI.COM

Pemograman Berorientasi Objek dengan Python: Konsep, Implementasi, dan Studi Kasus

 

Sukirno Kasau, S.Kom., M.Kom

Nur Islamuddin, S.Kom., M.Kom

 

 

CV. Batanghari Academia Indonesia Kolaka (BAIK)

 

Editor:

Sulfikar Sallu

Kadaruddin

 

Desain Cover : Trika

 

Sumber : link

 

Tata Letak : Dwika Putra

 

Proofreader : Keko

 

Ukuran :

Jml hal judul 20, Jml hal isi naskah 167, Uk: 15.5×23 cm

 

ISBN : No ISBN

 Cetakan Pertama : Januari 2026

 

Hak Cipta 2026, Pada Penulis

Isi diluar tanggung jawab percetakan

Copyright © 2026 by CV. Batanghari Academia Indonesia Kolaka (BAIK)

All Right Reserved

 

Hak cipta dilindungi undang-undang

Dilarang keras menerjemahkan, memfotokopi, atau

memperbanyak sebagian atau seluruh isi buku ini

tanpa izin tertulis dari Penerbit.

 

Penberbit: CV. Batanghari Academia Indonesia Kolaka (BAIK)

Jl. Poros Kolaka Pomalaa No. 7 RW 1 RT 1

Kel. Ngapa Kec, Wundulako Kolaka Sulawesi Tenggara 93561

IKAPI 009/Sultra/2024

Telp: 081340565171

Website: https://batanghariacademia.com

E-mail: kontak@batanghariacademia.com


 

Kata Pengantar

Puji dan syukur penulis panjatkan ke hadirat Allah SWT atas segala rahmat dan karunia-Nya, sehingga buku ini yang berjudul “Pemrograman Berorientasi Objek dengan Python: Konsep, Implementasi, dan Studi Kasus” dapat diselesaikan dengan baik.

Buku ini merupakan kelanjutan dari buku sebelumnya, “Pemrograman Dasar dengan Python”, yang telah membahas konsep-konsep dasar pemrograman secara prosedural. Melalui buku lanjutan ini, pembaca akan diajak melangkah ke tahap yang lebih tinggi, yaitu pemrograman berorientasi objek (Object-Oriented Programming / OOP) yaitu sebuah paradigma yang menjadi fondasi utama dalam pengembangan perangkat lunak modern.

Buku ini disusun dengan harapan dapat menjadi panduan praktis dan sistematis bagi mahasiswa, dosen, maupun pembelajar mandiri yang ingin memahami OOP menggunakan Python. Setiap konsep dijelaskan dengan bahasa yang sederhana, disertai dengan contoh implementasi yang relevan, serta studi kasus yang menghubungkan teori dengan praktik di dunia nyata.

Struktur buku ini dirancang agar pembaca dapat belajar secara bertahap:

1.      Bab awal membahas konsep dasar OOP dan penerapan kelas serta objek.

2.     Bab pertengahan menjelaskan empat pilar utama OOP (Enkapsulasi, Pewarisan, Polimorfisme, dan Abstraksi).

3.     Bab lanjutan mengupas konsep lanjutan seperti Magic Methods, Error Handling, dan Modularisasi.

4.     Bagian akhir memperkenalkan penerapan prinsip desain OOP serta proyek mini sebagai latihan komprehensif.

Dengan pendekatan seperti ini, pembaca diharapkan tidak hanya mampu memahami teori, tetapi juga terampil mengimplementasi konsep OOP dalam proyek nyata, baik dalam konteks akademik maupun industri.

Penulis menyampaikan terima kasih kepada semua pihak yang telah memberikan dukungan, masukan, serta semangat dalam penyusunan buku ini, khususnya rekan sejawat dosen dan mahasiswa yang telah menjadi bagian dari proses pembelajaran dan pengembangan materi ini di kelas.

Penulis juga menyadari bahwa buku ini masih terdapat kekurangan. Oleh karena itu, kritik dan saran yang membangun sangat diharapkan demi penyempurnaan edisi berikutnya.

Akhirnya, semoga buku ini dapat memberikan manfaat yang sebesar-besarnya bagi pembaca dalam memahami, menerapkan, dan mengembangkan pemrograman berorientasi objek dengan Python.

“Ilmu pemrograman bukan hanya tentang bagaimana menulis kode, tetapi bagaimana berpikir secara logis, terstruktur, dan kreatif untuk menyelesaikan masalah.”

Selamat belajar dan bereksplorasi!

 

Sukirno Kasau & Nur Islamuddin

Daftar Isi

 

Kata Pengantar. iii

Tentang Buku Ini vi

Panduan Pembaca. vii

Daftar Isi xi

Daftar Gambar. xv

Daftar Tabel xvi

Daftar Kode. xvii

Bab 1  Pengantar Pemrograman Berorientasi Objek (OOP) 1

Pendahuluan. 1

1.1.      Sejarah dan Konsep Dasar OOP. 2

1.2.     Paradigma OOP vs Pemrograman Prosedural 2

1.3.     Empat Pilar Utama OOP. 4

1.4.     Implementasi OOP dalam Python. 5

1.5.     Studi Kasus: Representasi Objek di Dunia Nyata. 6

Ringkasan Bab. 8

Bab 2 Membuat dan Menggunakan Class. 9

Pendahuluan. 9

2.1.     Apa Itu Class dan Object?. 9

2.2.     Membuat Class di Python. 10

2.3.     Menambahkan Atribut dan Metode. 10

2.4.     Membuat dan Menggunakan Objek. 11

2.5.     Menambahkan Metode Lain dalam Class. 12

2.6.    Menambahkan Atribut Tambahan Setelah Objek Dibuat. 14

2.7.     Studi Kasus: Data Mahasiswa dengan Nilai 15

2.8.     Keuntungan Menggunakan Class dan Object. 17

Ringkasan Bab. 18

Bab 3 Konstruktor dan Destruktor. 19

Pendahuluan. 19

3.1.     Konstruktor ( __init__ ) 19

3.2.     Parameter Konstruktor. 21

3.3.     Nilai Default pada Konstruktor. 22

3.4.     Destruktor ( __del__ ) 23

3.5.     Siklus Hidup Objek. 24

3.6.    Studi Kasus: Manajemen Akun Pengguna. 25

3.7.     Catatan Penting tentang Destruktor. 27

Ringkasan Bab. 27

Bab 4 Enkapsulasi (Encapsulation) 29

Pendahuluan. 29

4.1.     Konsep Dasar Enkapsulasi 29

4.2.     Atribut dan Metode Public. 30

4.3.     Atribut Protected. 32

4.4.     Atribut Private. 33

4.5.     Getter dan Setter. 34

4.6.    Property Decorator ( @property ) 36

4.7.     Studi Kasus: Sistem Rekening Bank. 37

Ringkasan Bab. 40

Bab 5 Pewarisan (Inheritance) 42

Pendahuluan. 42

5.1.     Konsep Dasar Inheritance. 42

5.2.     Menambahkan Fitur Baru di Class Anak. 43

5.3.     Menggunakan Konstruktor dalam Pewarisan. 44

5.4.     Overriding (Menimpa Metode Induk) 45

5.5.     Menggabungkan Perilaku Induk dan Anak. 46

5.6.    Pewarisan Bertingkat (Multilevel Inheritance) 47

5.7.     Pewarisan Ganda (Multiple Inheritance) 49

5.8.     Method Resolution Order (MRO) 50

5.9.     Studi Kasus: Sistem Akademik Sederhana. 51

Ringkasan Bab. 53

Bab 6 Polimorfisme (Polymorphism) 55

Pendahuluan. 55

6.1.     Konsep Dasar Polimorfisme. 55

6.2.    Polimorfisme dengan Pewarisan. 57

6.3.    Polimorfisme dengan Fungsi 58

6.4.    Polimorfisme dengan Method Overriding. 60

6.5.    Polimorfisme dengan Abstract Class. 62

6.6.    Polimorfisme dengan Built-in Function. 64

6.7.     Studi Kasus: Sistem Pembayaran. 65

6.8.    Keuntungan Polimorfisme. 66

Ringkasan Bab. 67

Bab 7 Abstraksi (Abstraction) 69

Pendahuluan. 69

7.1.      Konsep Dasar Abstraksi 69

7.2.     Abstraksi Tanpa Abstract Class. 70

7.3.     Abstraksi dengan Abstract Class. 72

7.4.     Abstraksi dan Polimorfisme. 74

7.5.     Studi Kasus: Sistem Pembayaran Abstrak. 76

7.6.     Keuntungan Abstraksi 77

7.7.      Abstraksi dan Enkapsulasi 78

Ringkasan Bab. 78

Bab 8 Magic Methods dan Operator Overloading. 80

Pendahuluan. 80

8.1.     Apa Itu Magic Methods. 80

8.2.     Menggunakan Magic Method __str__ dan __repr__.. 81

8.3.     Operator Overloading. 83

8.4.     Studi Kasus: Operasi Matriks Sederhana. 85

8.5.     Magic Methods Lain yang Berguna. 87

Ringkasan Bab. 88

Bab 9 Error Handling dan Exception dalam OOP. 89

Pendahuluan. 89

9.1.     Apa Itu Exception?. 89

9.2.     Menangani Error dengan Try-Except. 90

9.3.     Blok Else dan Finally. 91

9.4.     Membuat Exception Sendiri (Custom Exception) 92

9.5.     Exception dalam Konteks OOP. 93

9.6.    Studi Kasus: Sistem Pemesanan Tiket. 94

9.7.     Praktik Baik dalam Error Handling. 94

Ringkasan Bab. 95

Bab 10 Modularisasi dalam OOP. 96

Pendahuluan. 96

10.1.    Konsep Dasar Modularisasi 97

10.2.   Modularisasi dalam Konteks OOP. 98

10.3.   Membuat dan Mengimpor Class dari Modul 98

10.4.   Package dalam Python. 100

10.5.   Modularisasi Berbasis Layer. 102

10.6.   Studi Kasus: Aplikasi Kasir Modular. 104

10.7.   Best Practice dalam Modularisasi OOP. 107

Ringkasan Bab. 108

Bab 11 Penerapan Prinsip OOP dalam Desain Program… 109

Pendahuluan. 109

11.1.     Best Practice dalam Desain OOP. 109

11.2.    Prinsip SOLID dalam Desain OOP. 111

11.3.    Refactoring Kode Prosedural menjadi OOP. 116

11.4.    Prinsip Tambahan dalam Desain Program… 119

11.5.    Studi Kasus: Sistem Penggajian Pegawai 119

11.6.    Kesalahan Umum dalam Desain OOP. 121

Ringkasan Bab. 122

Bab 12 Proyek Mini (Implementasi Akhir) 123

Pendahuluan. 123

12.1.    Proyek 1 – Sistem Manajemen Perpustakaan. 123

12.2.   Proyek 2 – Sistem Pemesanan Tiket Bioskop. 127

12.3.   Proyek 3 – Sistem Manajemen Toko Online Sederhana. 130

12.4.   Proyek 4 – Sistem Akademik Mini 133

12.5.   Ide Pengembangan Lanjutan. 141

Ringkasan Bab. 142

Penutup. 143

Glosarium Istilah Teknis. 145

Daftar Pustaka (Referensi)