Dasar untuk
POP OOP
perbandingan
Mode mengakses Tidak ada specifier akses yang Penentu akses adalah "publik",
entitas diamati. "pribadi", "dilindungi".
OOP (Object Oriented Programming) adalah sebuah konsep pemograman yang berbasis
objek, OOP merupakan terobosan baru dalam pemrograman setelah pemrograman prosedural,
pemrograman modular dan pemrograman abstraksi data.
OOP memberikan kemudahan bagi programmer dalam pembuatan sebuah program, memberikan
fleksibilitas yang lebih, kemudahan penggunaan program, dan dipakai luas dalam teknik piranti lunak
skala besar. Selain itu dengan pemograman OOP kode yang dibuat akan lebih mudah dikembangkan
dan dirawat dalam arti seorang programer bisa menambah sebuah objek baru tanpa harus
menggangu dan merubah modul yang lain. Berikut ini keuntungan dari penggunaan OOP dalam
pemograman :
Reusability (kemampuan untuk digunakan kembali). Kode yang dibuat dapat digunakan kembali di
aplikasi atau program lainnya.
Extensibility (Kemampuan untuk dapat dikembangkan). Kita dapat membuat method yang baru atau
mengubah yang sudah ada sesuai dengan yang kita inginkan tanpa harus membuat kode dari awal.
Maintainability (Kemampuan untuk mudah dikelola), kode yang sudah dibuat lebih mudah untuk di
maintain/manage. Apabila aplikasi yang dibuat adalah aplikasi dengan skala besar dan apabila terjadi
error atau kesalahan maka dengan OOP hal tersebut mudah ditangani karena pemograman yang
menggunakan OOP sudah modularitas(memecahkan program yang besar menjadi bagian-bagian
kecil) sehingga perbaikan cukup pada modul-modul tertentu saja tanpa harus mengubah modul yang
lainnya.
Dalam pemograman OOP, ada empat hal yang harus diperhatikan karena hal tersebut merupakan
konsep vital dari OOP tersebut. Berikut ini konsep tiga konsep utama tersebut:
Abtraction/abtraksi, adalah sebuah konsep yang merupakan representasi abstrak dari konsep dalam
pemograman, misalnya objek mobil merupakan representasi abstrak dari mobil dalam dunia nyata.
Polymorphism/banyak bentuk, seorang programer bisa memakai method dengan nama yang sama
pada class-class yang berbeda.
a) Class
b) Object
· Sebuah entitas yang memiliki state, behavior dan identity. Contoh nyata dari sebuah class
c) Attribut
· Alias dari atribut : Data member, instance variable, property, data field
d) Method
e) Konstruktor
· Menyerupai method
· Package
f) Enkapsulasi
· Suatu prinsip penyembunyian desain atau pengimplementasian informasi yang tidak sesuai
pada object yang ada
g) Abstraksi
· Mengabaikan aspek dari subjek yang tidak sesuai dengan tujuan yang ada supaya lebih banyak
mengkonsentrasikan yang ada
h) Pewarisan
· Hubungan antara class dimana dalam satu class ada superclass atau class induk dari class yang
lain
· Kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk yang
berbeda
j) Interface
OOP adalah paradigma pemrograman yang berorientasi object. Pembuatan program dengan
orientasi object memiliki Kelebihan:
Faster development
OOP disupport oleh banyak library object yang reusable, sehingga mempercepat penyelesaian
program dan juga project berikutnya.
Higher-quality software
Faster development akan memberikan lebih banyak waktu dan resource untuk melakukan proses
verification software. Banyak library object yang digunakan juga sudah teruji.
Disamping kelebihan itu, OOP juga memiliki kekurangan:
Runtime program OOP lebih lambat dari pada POP karena ukurannya lebih besar.
Tidak semua masalah program diselesaikan dengan OOP. Beberapa solusi lebih efisien menggunakan
POP atau programming style yang lain.
Paradigma pemrograman
Paradigma dapat diartikan sudut pandang atau sudut serang dalam suatu persoalan, realitas dsb.
Begitu pula dalam pemrograman, ada pendekatan-pendekatan untuk menyelesaikan suatu
persoalan yang disebut dengan paradigma pemrograman.
Pemrograman Fungsional
Object Oriented Programming (OOP) adalah suatu pemprograman yang berorientasi objek. Ciri-ciri
atau karakteristik pemrograman berorientasi objek, antara lain :
1. Abstraksi (abstraction)
2. Pembungkusan (encapsulation)
3. Pewarisan (inheritance)
4. Polimorfisme (polymorphism)
Ciri-ciri pemprograman java tersebut merupakan dasar-dasar dari konsep yang terkandung dalam
pemrograman java itu sendiri.
Konsep OOP
Abstrak Class
Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data.
Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang digunakan untuk
menciptakan objek.
Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan operasi pada data dalam
suatu unit tunggal.
Kelas mendefinisikarn suatu struktur yang terdiri atas data kelas (data field), prosedur atau fungsi
(method), dan sifat kelas (property).
Encapsulation
Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam sebuah unit tunggal
sebagai bentuk untuk menyembunyikan detail informasi.
Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu kelas karena kita
tidak perlu mengetahui segala hal secara rinci.
Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana
menggunakan objek kelas tertentu.
Contoh: kelas mobil menyediakan antarmuka fungsi untuk menjalankan mobil tersebut, tanpa kita
perlu tahu komposisi bahan bakar, udara dan kalor yang diperlukan untuk proses tersebut.
Inheritance
Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada.
Penurunan sifat ini bisa dilakukan secara bertingkattingkat, sehingga semakin ke bawah kelas
tersebut menjadi semakin spesifik.
Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari kelas
supernya.
Dengan konsep pewarisan, seorang programmer dapat menggunakan kode yang telah ditulisnya
pada kelas super berula
ng kali pada kelas-kelas turunannya tanpa harus menulis ulang semua kodekode itu.
Polymorphism
Polimorfisme merupakan kemampuan objekobjek yang berbeda kelas namun terkait dalam
pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama.
Polimorfisme juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana
yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan.
Method overriding.