Object-Oriented Programming & Procedural Programming
Procedural Programming
- Membagi program ke beberapa fungsi. Sekumpulan perintah yang sama dan dipakai berulang-ulang di lokasi yang berbeda dari sebuah program, dipisah menjadi sebuah fungsi.
- Fungsi bersifat umum untuk semua data. Mis: 2 struct yang berbeda bisa dikirim ke sebuah fungsi. Tidak ada pengecekan apakah yang dikirim adalah struct yang “benar” atau “salah”
- Diselesaikan dalam bentuk prosedur atau fungsi
- Program merupakan urut-urutan instruksi
- Program dipecah-pecah ke dalam sub program yang lebih sederhana
- Fokus utama pada prosedur dan fungsi
- Fungsi dan prosedur digunakan untuk memanipulasi data
- Sedangkan data sendiri bersifat pasif
Pemrograman Berbasis Obyek
- Fungsi dan data menjadi satu kesatuan yang disebut obyek
- Obyek-obyek dalam OOP bersifat aktif
- Cara pandang : program bukan urut-urutan instruksi tapi diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah
- Object terdiri dari data dan fungsi sekaligus.
- Antar object saling berinteraksi dengan mengirim message (fungsi public) satu sama lain.
- Tidak memerlukan variable global
Beda nyata antara prosedural dan OOP
- Prosedural
Fokus pada bagaimana cara komputer menangani masalah
- OOP
Fokus pada masalah yang ditangani dengan menggunakan komputer
Keuntungan OOP
- Data safety, encapsulation
- Reusability
- Creating new types
- Classes – object is a member of the class
- Inheritance - Polymorphism
- Overloading
OOP bukanlah sekedar cara penulisan sintaks program yang berbeda, namun lebih dari itu, OOP merupakan cara pandang dalam menganalisa system dan permasalahan pemrogarman. Dalam OOP, setiap bagian dari program, aalah object. Sebuah object mewakili suatu bagian program yang akan diselesaikan.
Beberapa konsep OOP dasar, antara lain:
- Encapsulation (Class dan Object)
- Inheritance (penurunan sifat)
- Polymorphisme
Object
- Contoh obyek konkrit : rumah, sekolah, dosen, mahasiswa, dll.
- Contoh obyek abstrak : mata kuliah, penjadwalan, dll.
- Obyek memiliki status (state) dan tingkah laku (behavior)
- Status (state) disebut juga dengan atribut
- Pada OOP : status disimpan dalam variabel, dan tingkah laku disimpan dalam method
- Contoh obyek : obyek mobil
- Atribut : merek, warna, bahan baker
- Method : pindah persnelling, kecepatan bertambah, dll
Class
- Class merupakan tempat untuk membuat obyek
- Di dalam class dideklarasikan variable dan method yang dimiliki oleh obyek
- Proses pembuatan obyek dari sebuah class disebut dengan instantiation
- Jadi obyek merupakan hasil instansiasi dari class
- Obyek disebut juga dengan instance
Anggota Class (class member)
- Anggota Class terdiri dari atribut dan method.
- Tiap anggota class memiliki kontrol pengaksesan tersendiri, artinya apakah anggota tersebut dapat diakses dengan bebas (tipe public) atau hanya dapat diakses melalui sebuah interface.
Atribut
- Atribut adalah data yang dapat membedakan antara satu obyek dengan obyek yang lain
- Contoh untuk class mahasiswa terdapat obyek mahasiswa si A, dan obyek mahasiswa si B. Yang membedakan antara obyek si A dan obyek si B adalah NRP-nya yang merupakan atribut dari obyek tersebut.