Rangkuman


Pada modul awal ini, kita telah mengenal dasar-dasar sebelum melangkah ke modul selanjutnya, yaitu tentang Object Oriented Programming. Mari kita ulas sejenak apa saja yang telah dipelajari pada rangkuman ini :

Paradigma pemrograman adalah gaya atau cara dalam menulis suatu program menggunakan bahasa pemrograman tertentu.

OOP (Object Oriented Programming) adalah salah satu paradigma atau teknik pemrograman yang populer dalam pengembangan aplikasi. Dengan paradigma tersebut, kita dapat dengan mudah memvisualisasikan kode karena OOP sendiri mirip dengan skenario kehidupan nyata.

Dalam penerapannya, OOP menggabungkan kumpulan fungsi atau atribut yang memiliki kesamaan dalam sebuah unit yang kita sebut sebagai objek. 

Class, merupakan sebuah blueprint yang dapat dikembangkan untuk membuat sebuah objek. Di dalam class bisa terdapat beberapa attribut ataupun behaviour.

Property, adalah data yang ada dalam sebuah class yang merepresentasikan karakteristik dari sebuah class. Setiap property memiliki struktur dasar, diantaranya adalah modifier, tipe data, nama konstanta dan nilai.

Function, sebuah prosedur yang memiliki keterkaitan dengan pesan dan objek. 

Ada 4 pilar dalam OOP, yaitu Inheritance, Encapsulation, Abstraction, dan Polymorphism.

Inheritance, mekanisme pewarisan sifat yang dilakukan dari sebuah kelas (induk) ke class baru (anak), di mana beberapa fungsi maupun property yang ada pada induk kelas akan bisa diakses oleh kelas baru tersebut. 

Ada beberapa istilah dalam inheritance, yaitu superclass dan subclass. Superclass adalah class yang fitur-fiturnya akan diwariskan. Sedangkan subclass adalah class baru yang akan mewarisi member milik superclass.

Inheritance di kenal ada beberapa jenis, yaitu :

Single Inheritance, class yang dibuat hanya mewarisi satu class saja.

Multiple Inheritance, class yang mewarisi lebih dari satu superclass

Hierarchical Inheritance, sebuah superclass yang diwarisi oleh beberapa subclass.

Hybrid Inheritance, kombinasi dari beberapa inheritance.

Encapsulation, adalah proses di mana penanganan data diisolasi dan ditempatkan di dalam sebuah class. Data yang terisolasi tidak dapat diakses langsung dari luar. 

Abstraction, adalah mekanisme saat proses dalam sebuah objek disembunyikan dan hanya akan menyediakan apa yang benar-benar perlu digunakan.

Polymorphism,  merupakan kemampuan objek, variabel, atau fungsi yang dapat memiliki berbagai bentuk. Polymorphism terbagi menjadi 2 yaitu:

Compile Time Polymorphism,  adalah sebuah proses di mana sebuah method atau fungsi dipanggil saat kompilasi. Contoh dari ini adalah konsep overloading.

Runtime Polymorphism, adalah proses di mana sebuah fungsi dipanggil pada saat runtime. Contohnya adalah konsep overriding.