Anda di halaman 1dari 6

Grafik perbandingan

Dasar untuk
POP OOP
perbandingan

Dasar Berorientasi prosedur / struktur. Berorientasi pada objek.

Pendekatan Top-down. Dari bawah ke atas.

Fokus utama adalah pada Fokus utama adalah pada


"bagaimana menyelesaikan 'keamanan data'. Oleh karena itu,
Dasar
tugas" yaitu pada prosedur atau hanya objek yang diizinkan untuk
struktur program. mengakses entitas kelas.

Program besar dibagi menjadi


Seluruh program dibagi menjadi
Divisi beberapa unit yang disebut
objek.
fungsi.

Mode mengakses Tidak ada specifier akses yang Penentu akses adalah "publik",
entitas diamati. "pribadi", "dilindungi".

Kelebihan / Baik itu membebani fungsi Ini kelebihan fungsi, konstruktor,


Polimorfisme maupun operator. dan operator.

Mereka tidak ada ketentuan Warisan dicapai dalam tiga mode


Warisan
warisan. publik swasta dan dilindungi.

Data disembunyikan dalam tiga


Tidak ada cara yang tepat untuk
Menyembunyikan mode publik, pribadi, dan
menyembunyikan data, sehingga
data & keamanan dilindungi. karenanya keamanan
data tidak aman
data meningkat.

Data global dibagi di antara Data dibagi di antara objek-objek


Berbagi data
fungsi-fungsi dalam program. melalui fungsi anggota.

Kelas atau fungsi dapat menjadi


teman dari kelas lain dengan kata
Fungsi / kelas teman Tidak ada konsep fungsi teman. kunci "teman".
Catatan: kata kunci "teman" hanya
digunakan dalam c ++
Konsep fungsi virtual muncul
Kelas / fungsi virtual Tidak ada konsep kelas virtual.
selama pewarisan.

Contoh C, VB, FORTRAN, Pascal C ++, JAVA, VB.NET, C # .NET.

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.

Kenapa harus OOP?

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.

Empat Konsep OOP

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:

Encapsulation/pembungkusan, merupakan penyembunyian informasi melalui private dan protected.

Inheritance/pewarisan, adalah kemampuan untuk membuat class turunan yang


mewarisi property dan method dari kelas induk.

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.

Beberapa Istilah Dalam OOP

a) Class

· Digunakan untuk mendefinisikan tipe data baru


· Blueprint

b) Object

· Sebuah entitas yang memiliki state, behavior dan identity. Contoh nyata dari sebuah class

· Dibuat pada saat class di-instantiate menggunakan keyword new

· Contoh: pada Sistem registrasi siswa

c) Attribut

· Elemen data dari sebuah object

· Menyimpan informasi tentang object

· Alias dari atribut : Data member, instance variable, property, data field

· Contoh: pada Sistem registrasi siswa

d) Method

· Menyatakan sifat dari sebuah object

· Disebut juga fungsi atau prosedur

· Contoh: pada Sistem registrasi siswa

e) Konstruktor

· Menyerupai method

· Untuk membuat dan menginisialisasi sebuah object baru

· Bukan merupakan anggota dari sebuah object

· Package

· Pengelompokan class atau subpackage

· Fungsinya sama seperti direktori

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

· Mengarah pada properi dan sifat yang diterima dari asalnya

· Dikenal juga dengan hubungan "is-a"


i) Polymorfisme

· "poly" berarti banyak sedangkan "morph" berarti bentuk

· Kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk yang
berbeda

j) Interface

· Sebuah contract dalam bentuk kumpulan method dan deklarasi konstanta

· Mengimplementasikan janji pada class untuk mengikuti contract

OOP adalah paradigma pemrograman yang berorientasi object. Pembuatan program dengan
orientasi object memiliki Kelebihan:

Improved software-development productivity


– Modularity : Pembuatan program dengan membuat modul-modul berupa object
– Flexibility : Sistem Program dapat dimodifikasi tanpa melibatkan banyak modul, hanya object yang
terlibat saja.
– Extensibility : Class Object dapat dikembangkan dengan menambahkan attributes dan behaviors
baru.
– Expandability : Sistem Program dapat dikembangankan sampai skala yang paling kompleks (large
scale software system).
– Reusability : Class Object dipakai lagi pada lintas aplikasi program

Improved software maintainability


Karena design-nya modular, bagian dari software system dapat dengan mudah di-maintain jika ada
perubahan meskipun dalam skala yang besar.

Faster development
OOP disupport oleh banyak library object yang reusable, sehingga mempercepat penyelesaian
program dan juga project berikutnya.

Lower cost of development


Faster development tentu akan mengurangi biaya pengembangan proyek software.

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:

Lebih kompleks untuk dipelajari.


Untuk beberapa programmer, butuh waktu untuk terbiasa dengan OOP. Program OOP yang
komprehensif melibatkan banyak konsep, seperti abstraction, inheritance dan polymorphism.

Ukuran Program OOP lebih besar dibandingkan dengan program POP.

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

Loncat ke navigasiLoncat ke pencarian

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.

Jenis Paradigma Pemrograman[sunting | sunting sumber]

Pemrograman Fungsional

Pemrograman Prosedural atau Iteratif

Pemrograman Berorientasi Objek

Pemrograman Deklaratif, Predikatif atau Lojik

Ciri-Ciri Pemrograman Berorientasi Objek (OOP)

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.

Method name overloading.

Anda mungkin juga menyukai