

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
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)