WHAT'S NEW?
Loading...

Pemahaman Pemrograman berorientasi objek (object-oriented programming disingkat OOP)


Entah Udah berapa kali mata kuliah yg bahas "Orientasi Objek Program" aka "Object Oriented Programming" tapi ampe semester ini pun gw kurang ngerti maksud secara gampangnya gimana
Dosen dan modul cuma hingar bingar ngebahas kehebatan ni OOP buat programing yg fleksibel,, tp ga dijabarin makna sesungguhnya orientasi objek ini, cuma pengertian singkatnya aja
Oleh karena seringnya di bahas dan dipake di semua bahasa pemrograman populer, makanya gw coba sedikit bertanya ke simbah Gugel deh,,
Ternyata ketemulah di salah satu archive kaskus, disitu di jelasin oleh agan-agan dengan gaya sehari hari yg fleksibel, jadi gw cepet nanggepnya hehehe
mari kita simak salinan dari kaskus itu:
{info} Bahasa pemrograman yang mendukung OOP antara lain:

  1. Visual Foxpro
  2. Java
  3. C++
  4. Pascal (bahasa pemrograman)
  5. Visual Basic.NET
  6. SIMULA
  7. Smalltalk
  8. Ruby
  9. Python
  10. PHP
  11. C#
  12. Delphi
  13. Eiffel
  14. Perl
  15. Adobe Flash AS 3.0





Thred Starter by andy41:

"gan gwe mau nanya2 sdikit ttp OOP, soalnya slama ini gwe blajar OOP pke java tp gwe sndiri ga tau hakikat OOP itu sendiri.


[*]gwe mau tanya, OOP itu apa sih? apa bedanya ama yg seblum2nya yg belom berorientasi object?

[*]apa aja sih komponen yg hrs ada di OOP (terutama java), & bagaimana step2nya yg sistematis?

[*]apa sih kelebihan OOP dibanding yg lain?



thx yah ga bwt pencerahannya.."

/* Ini jawaban yg memberikan pencerahan bwt gw*/
posted by littlejagged:

Coba Bantu buat pertanyaan lw nomer satu gan
IMHO

salah satu alasan penting mengapa enakan make OO adalah supaya kita dapat membangun kode dengan cara yang mirip dengan pola pikir manusia dalam melakukan sesuatu, agar mudah di maintain, mudah dimengerti, dapat diandalkan dan mampu bekerja dengan baik walaupun untuk skala aplikasi yang besar sekalipun.

contoh: Roda sudah ditemukan bertahun2 yang lalu, walaupun kita melakukan modifikasi dari berbagai macam hal kaya bentuk nya warna nya bahannya dan lain sebagainya. sedangkan "Roda" nya itu sendiri ngga perlu didefinisikan ulang atau ditemukan ulang, ya ngga ?!!

berikut adalah beberapa hal yang akan kita (manusia) lakukan dan pikirkan ketika menghadapi atau menanggapi sesuatu

1) kita seringkali membagi2 sesuatu kedalam kategori dan perbandingan: "yang ini lebih besar dari yang itu", "yang ini lebih mahal dari yang itu", dan lain lain.

2) kita biasanya ngga mau repot  :"iye gw tau, klo ini mobil dengan mesin V8 dengan liquid cooled turbo, cuma gw kan ngga perlu tau mengenai detail itu klo gw cuma mau nyalain nih mobil, iya kan?".

3) kita biasanya menamai, mendefinisikan, atau menstandarisasikan sesuatu:"segitiga, lingkaran dan persegi akan kita sebut dengan sebutan BANGUN RUANG dan mereka semua mempunyai KELILING dan LUAS".

4) kita seneng meniru: "gw suka ma knalpot mobil lw, bisa ngga ya gw pasang di motor bebek gw?"

5) kita sering membuat rancangan kasar: "sekarang gw blom punya duitnya
atau waktunya atau persetujuannya, tapi nanti gw mau nih rumah ada pintunya, kamarnya, atapnya, jendelanya, dan pastinya ada temboknya".

6) kita juga seringkali melindungi sesuatu: "nih gw kasih tau harga total nya aja, tapi markup nya brapa ga gw liatin ya ".

7) kita tentunya suka berkomunikasi dengan lainnya: "gw mau supaya gw bisa ngakses rekening gw lewat HP, komputer, atm, burung merpati danlain-lain".

OOP klo diindonesiain kan Memprogram dengan pendekatan terhadap Objek (benda), jadi kita memperlakukan aplikasi yang akan kita buat seperti kita memperlakukan benda2

sebenernya sih ini ada bener nya juga

hence, istilah2 yang dikenal di OOP berikut penjelasannya adalah sebagai berikut:

Class : Mendefinisikan Objek mentah yang akan kita buat secara umum, berikut karakter dari objek tersebut(atribut, properties) dan prilaku objek tersebut (apa aja yang bisa dilakuin oleh objek tsb, cara2 bagaimana objek tersebut memproses sesatu, atau mungkin fitur2 yang dimiliki objek tersebut). bisa juga diistilahkan sebagai rancangan dasar (blue print). contoh: sebuah objek KAMBING akan mempunya semua hal secara umum untuk seekor KAMBING, seperti warna kulit (karakteristik), suaranya mbeee (prilaku).

Object : jika class dari KAMBING mendefinisikan semua kemungkinan jenis KAMBING dari segi karaktekistik dan prilaku, misal ada objek KAMBING dengan nama BANDOT, maka si BANDOT adalah salah satu KAMBING (diatas disebut bahwa class KAMBING punya karakteristik warna kulit) dengan warna kulit HITAM.

Instance : si BANDOT adalah sebuah instance dari class KAMBING. BANDOT sebagai seekor KAMBING mampu mengembeee, jadi mengembee() adalah salah satu method yang dimiliki oleh BANDOT

Message passing : misal ada objek lain yang diberinama PENGEMBALA trus katakanlah si pengembala mau bilang ke BANDOT untuk mengembeee dengan cara memanggil method mengembee()

Inheritance : "Subclass" adalah jenis class yang lebih spesifik, dimana para subclasses ini mempunyai semua atribut, karakteristik, prilaku yang dimiliki oleh class nya (parent), dan bisa mempunyai atribut, karakteristik, prilaku khusus sendiri.

Abstraction : dimana sebuah class dapat diperlakukan berbeda2 tergantung siapa yang memanggilnya, contoh BANDOT si KAMBING mungkin akan selalu dianggap seekor kambing, namun si BANDOT juga bisa dibilang BINATANG, ketika misalkan sedang dilakukan perhitungan mengenai jumlah BINATANG peliharaan si GEMBALA.

Encapsulation : class KAMBING kan punya method mengembee(). didalam method ini dijelaskan semua proses yang terjadi agar terjadi sebuah embee-an (tarik_napas(), buang_napas_bareng_suara(), pada tingkat suara tertentu). BANDIT, temennya si BANDOT ngga perlu tau detailnya bagaimana si BANDOT mengembee. karena mengembee() dienkapsulasi


dari penjelasan ini, kaya nya bisa ditarik kesimpulan sendiri deh mengenai bedanya ma bahasa2 yang dulu dan mengenai kelebihan pengunaan pendekatan OO dibanding dengan yang lain, cheers
mudah2an jelas gaan
klo ane ada salah2 kata atau penjelasa mohon dimaapkan

/* jawaban laennya */
posted by SlimShady91:

1. OOP itu ada lah pemrograman dengan cara object oriented gan... beda nya dengan yg belum berorientasi object adalah ibarat lo punya AC...
klo lo mw turunin suhu lo gk perlu lgi kn buka AC nya lalu atur transistor nya..
nah d sana lah guna nya OOP... membungkus object" tersebut menjadi lbh sistematis...

2. kompnen utama dari OOP adalah class & object ...
class itu adalah sebuah konsep sedangkan object adalah realisasi nya..
ibaratnya klo lo mw membangun rumah, tentu lo harus buat blueprint nya dlo... atau draft nya... nah itulah class.. sedangkan object nya adalah rumah yg d bangun tersebut...
kunci nya di sini adalah class : konsep, Object : realisasi..
class tidak bisa di print sedangkan object bisa di print...

dari sinilah ada konsep encapsulation, inheritance, agregation, abstraction,dll

3. OOP itu adalah konsep pemrograman... misalnya OOP java, OOP C++,dll...

/* berikutnya */
posted by quad_shock:

coba jawab ah,

1. oop yaitu pemrograman berorientasi objek. jadi segala sesuatu harus dipikirkan sebagai objek. bedanya kalo sama yg belom oop, kalo oop istilahnya kalo ada yang perlu di ubah hanya objek yang perlu diubah aja, dibandingkan dengan pemrograman yg belom oop yang memungkinkan merevisi semua kodingan.

2. mungkin kita bisa bayangin blueprint (bidang arsitek), direpresentasikan dengan class. bagaimana blueprint tsb bisa diwujudkan itu dinamakan method.

3. kelebihannya, kemampuan reusability program yg kita buat. jadi kalo kita butuh make ulang suatu class yang udah dibuat disuatu program dan mau kita pake di program lain.


/* terakhir */

posted by rxblue:

Just Share
Keuntungan OOP:

- Problem Oriented Approach
OOP merupakan teknik pemograman yang melakukan pendekatan terhadap masalah yang terjadi, sehingga lebih mudah menciptakan aplikasi untuk menangani masalah yang terjadi.

- Information Hiding (data abstraction)
information hiding merupakan salah satu feature yang ada dalam OOP, dimana data dalam sebuah class, belum tentu bisa diakses atau diketahui pihak luar.

- Reusability dan Extensibility
program dalam OOP dapat digunakan kembali, dan dengan cakupan yang luas

- Improve maintainability
dalam OOP, memperbaiki dan memelihara program atau aplikasi dapat dilakukan dengan lebih mudah sehingga meningkatkan efisien dan efektivitas.

- Low probability errors
dengan OOP, programmer dapat mengurangi kemungkinan kesalahan dalam membuat program

-Teamwork
dengan keunggulan berorientasi objek, OOP memungkinkan sebuah teamwork dalam membuat program atau aplikasi

Hint buat Polimorphism:
Overriding Method dan Polymorphism

Konsep polymorphism memungkinkan satu interface untuk beberapa method. Dynamic Method Dispatch adalah mekanisme pemanggilan overriding method yang dilakukan pada saat run time bukan pada saat compile time. Pada saat overriding method dipanggil melalui variable reference superclass , JVM menentukan versi method yang akan dieksekusi berdasarkan tipe obyek yang direferensikan / diacu.


Jadi :

Jika superclass berisi method yang dioverride pada beberapa subclassnya maka pemanggilan versi method akan ditentukan dari tipe obyek yang dipassing / dilewatkan ke variable reference superclass. Prinsip inilah yang merupakan implementasi Polymorphism dalam java.

0 comments:

Post a Comment