Konsep pemrograman berorientasi obyek

1,779 views

Published on

Published in: Technology, News & Politics
  • Be the first to comment

  • Be the first to like this

Konsep pemrograman berorientasi obyek

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

×