Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Konsep pemrograman berorientasi obyek

  • Login to see the comments

  • Be the first to like this

Konsep pemrograman berorientasi obyek

  1. 1. Konsep PemrogramanBerorientasi Obyek04/07/12 Ah. Handoyo collections 1
  2. 2. TujuanMemberikan latar belakang sertapemahaman tentang konseppemrograman berorientasi obyek danperbandingannya dengan pemrogramanprosedural.04/07/12 Ah. Handoyo collections 2
  3. 3. Topik• Pemrograman prosedural vs pemrograman berorientasi obyek• Mengorganisasi program menjadi element yang disebut sebagai class, dan bagaimana class ini digunakan untuk membuat obyek.• Struktur class: tingkah laku (behavior) dan atribut (attributes).• Konsep OOP• Cara kompile dan menjalankan aplikasi Java04/07/12 Ah. Handoyo collections 3
  4. 4. Bahasa Prosedural• Serangkaian tugas diselesaikan dalam bentuk fungsi atau prosedur.• Cara pandang  program adalah suatu urutan instruksi.• Programer harus me-break down suatu problem menjadi sub problem yang lebih simple.• Fungsi dan prosedur menjadi fokus utama.• Fungsi dan prosedur digunakan untuk memanipulasi data.• Data bersifat pasif.04/07/12 Ah. Handoyo collections 4
  5. 5. Pemrograman BerorientasiObyek• Fungsi dan data bukan menjadi dua hal yang terpisah.• Fungsi dan data menjadi satu kesatuan yang disebut sebagai obyek aktif.• Cara pandangprogram adalah serangkaian obyek yang bekerjasama untuk menyelesaikan suatu problem.04/07/12 Ah. Handoyo collections 5
  6. 6. Procedural vs OOP Focusing on the Focusing on the way a computer task you are• • handles tasks using the computer for04/07/12 Ah. Handoyo collections 6
  7. 7. Apakah Obyek?• Semua benda yang ada di dunia nyata dapat dianggap sebagai obyek.• Contoh : rumah, mobil, sepeda motor, gelas, komputer, meja dll.04/07/12 Ah. Handoyo collections 7
  8. 8. Karakteristik Obyek• Setiap obyek memiliki atribut sebagai status (state).• Setiap obyek memiliki tingkah laku (behavior)• Contoh: obyek sepeda – Memiliki atribut (state) : pedal, roda, jeruji, warna, jumlah roda. – Memiliki tingkah laku (behavior): kecepatanya menaik, kecepatannya menurun, perpindahan gigi sepeda.04/07/12 Ah. Handoyo collections 8
  9. 9. Karakteristik Obyek• Penggambaran pemrograman berorientasi obyek = penggambaran pada dunia nyata.• Pada pemrograman berorientasi obyek: – State disimpan pada variabel – Tingkah laku disimpan pada  method 04/07/12 Ah. Handoyo collections 9
  10. 10. Apakah Class?• Definisi class: merupakan template untuk membuat obyek.• Definisi class: merupakan prototipe / blue prints yang mendefinisikan variabel – variabel dan method – method secara umum.• Obyek merupakan hasil instansiasi dari suatukelas.• Proses pembentukan obyek dari suatu class disebut dengan instantiation.• Obyek disebut juga instances. 04/07/12 Ah. Handoyo collections 10
  11. 11. Attributes• Definisi atribut : adalah data yang membedakan antara obyek satu dengan yang lain.• Contoh: VolcanoRobot  A volcanic exploration vehicle, mempunyai atribut sebagai berikut: – Status  exploring, moving, returning home – Speed in miles per hour – Temperature, in Fahrenheit degrees• Dalam class atribut disebut sebagai variabel.04/07/12 Ah. Handoyo collections 11
  12. 12. Attributes• Instance variable: adalah atribut untuk tiap obyek dariclass yang sama.• Tiap obyek mempunyai dan menyimpan nilai atributnyasendiri.• Jadi tiap obyek dari class yang sama boleh mempunyainilai yang sama atau beda.• Class variable: adalah atribut untuk semua obyek yang dibuat dari class yang sama.• Semua obyek mempunyai nilai atribut yang sama.• Jadi semua obyek dari class yang sama mempunyai hanya satu nilai yang value nya sama. 04/07/12 Ah. Handoyo collections 12
  13. 13. Behavior• Behavior / tingkah laku adalah hal – hal yang bisa dilakukan oleh obyek dari suatu class.• Behavior dapat digunakan untuk mengubah nilai atribut suatu obyek, menerima informasi dari obyek lain, dan mengirim informasi ke obyek lain untuk melakukan suatu task.• Contoh: VolcanoRobot • – Check current temperature • – Begin a survey • – Report its current location• Dalam class, behavior disebut juga sebagai methods.04/07/12 Ah. Handoyo collections 13
  14. 14. Behavior• Methods: adalah serangkaian statements dalam suatu class yang menghandle suatu task tertentu.• Cara obyek berkomunikasi dengan obyek lain adalah dengan menggunakan method.• Contoh: class, object, attributtes, dan behavior04/07/12 Ah. Handoyo collections 14
  15. 15. Contoh04/07/12 Ah. Handoyo collections 15
  16. 16. 04/07/12 Ah. Handoyo collections 16
  17. 17. Konsep Dasar OOP• Enkapsulasi (Encapsulation)• Penurunan (Inheritance)• Polimorfisme (Polymorphism)04/07/12 Ah. Handoyo collections 17
  18. 18. Enkapsulasi• Definisi enkapsulasi: Pembungkusan variabel dan method dalam sebuah obyek yang terlindungi serta menyediakan interface untuk mengakses variabel tersebut.• Variabel dan method yang dipunyai suatu obyek, bisa ditentukan hak aksesnya.04/07/12 Ah. Handoyo collections 18
  19. 19. Enkapsulasi• Contoh: jam tangan – Penting sekali untuk mengetahui waktu. – Cara jam mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting kita ketahui.• Dalam OOP, konsep enkapsulasi sebenarnya merupakan perluasan dari struktur dalam bahasa C.04/07/12 Ah. Handoyo collections 19
  20. 20. PewarisanDefinisi : merupakan pewarisan atribut dan method dari sebuah class ke class lainnya.• Class yang mewarisi superclass• Class yang diwarisi subclass• Subclass bisa berlaku sebagai superclass bagi class lainya multilevel inheritance.04/07/12 Ah. Handoyo collections 20
  21. 21. Pewarisan • Contoh : terdapat class sepeda dan sepeda gunung. – Sepeda superclass – Sepeda gunung subclass – Sepeda gunung memiliki variabel dan method yang dimiliki oleh sepeda. • Prinsip : Persamaan-persamaan yang dimilikioleh beberapa kelas dapat digabungkan dalamsebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifikuntuk kelas yang bersangkutan.04/07/12 Ah. Handoyo collections 21
  22. 22. 04/07/12 Ah. Handoyo collections 22
  23. 23. Keuntungan pewarisan• Subclass menyediakan state/behaviour yang spesifik yang membedakan dengan superclass  memungkinkan programmer untuk menggunakan ulang source code dari superclass yang telah ada.• Programmer dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan tingkah laku dan state secara umum.04/07/12 Ah. Handoyo collections 23
  24. 24. Single dan multipleinheritance• C multiple inheritance• Suatu class diperbolehkan untuk mempunyai lebih dari satu superclass.• Variabel dan method yang diwariskan merupakan kombinasi dari superclass-nya.• Java single inheritance• Suatu class hanya boleh mempunyai satu superclass.04/07/12 Ah. Handoyo collections 24
  25. 25. Multilevel inheritance• Suatu subclass bisa menjadi superclass bagi class yang lain.04/07/12 Ah. Handoyo collections 25
  26. 26. Polimorfisme• Definisi: Kemampuan suatu obyek untuk mempunyai lebih dari satu bentuk .04/07/12 Ah. Handoyo collections 26
  27. 27. TeknologiJava2Platform• Enterprise Edition(J2EE)• Standard Edition (J2SE)• Micro Edition (J2ME)04/07/12 Ah. Handoyo collections 27
  28. 28. What is the JavaTechnology?• A programming language• A development environment• An application environment• A deployment environment04/07/12 Ah. Handoyo collections 28
  29. 29. A programminglanguage• Sintak bahasa pemrograman java mirip dengan bahasa C++04/07/12 Ah. Handoyo collections 29
  30. 30. A developmentenvironment Teknologi java menyediakan: kompiler, interpreter, documentation generator, class file packaging.04/07/12 Ah. Handoyo collections 30
  31. 31. An applicationenvironment• Merupakan standalone program yang tidak memerlukan web browser untuk mengeksekusi program (applet).04/07/12 Ah. Handoyo collections 31
  32. 32. A deployment environment• Terdapat 2 deployment environment utama: – JRE (Java Runtime Environment) yang menyediakan class-class yang tersimpan dalam package-package, komponen GUI class, dan Collection API. – Web browserbanyak web browser komersial yang menyediakan lingkungan Java Technology04/07/12 interpreter Handoyo collections Ah. dan runtime. 32
  33. 33. 04/07/12 Ah. Handoyo collections 33
  34. 34. 04/07/12 Ah. Handoyo collections 34
  35. 35. 04/07/12 Ah. Handoyo collections 35
  36. 36. 04/07/12 Ah. Handoyo collections 36
  37. 37. 04/07/12 Ah. Handoyo collections 37
  38. 38. 04/07/12 Ah. Handoyo collections 38
  39. 39. 04/07/12 Ah. Handoyo collections 39
  40. 40. 04/07/12 Ah. Handoyo collections 40
  41. 41. 04/07/12 Ah. Handoyo collections 41

×