1 / 47

Konsep Pemrograman Berorientasi Obyek

Konsep Pemrograman Berorientasi Obyek. Pertemuan 1 Oleh Tita karlita. Tujuan. Pengenalan bahasa Java Memberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi obyek dan perbandingannya dengan pemrograman prosedural. Topik. Tek n ologi J ava

Download Presentation

Konsep Pemrograman Berorientasi Obyek

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Konsep Pemrograman Berorientasi Obyek Pertemuan 1 Oleh Tita karlita

  2. Tujuan • Pengenalan bahasa Java • Memberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi obyek dan perbandingannya dengan pemrograman prosedural.

  3. Topik • Teknologi Java • Pemrograman prosedural vs pemrograman berorientasi obyek • Mengorganisasi program menjadi element yang disebut sebagai class, dan bagaimana class ini digunakan untuk membuat obyek. • Pengenalan Obyek • Konsep OOP • Cara kompile dan menjalankan aplikasi Java

  4. Kelebihan Java • Sederhana • Berbasis obyek • Full-modularity • Handal • Platform independent • Aman

  5. What is the Java Technology? • A programming language • A development environment • An application environment • A deployment environment

  6. A programming language • Sintak bahasa pemrograman java mirip dengan bahasa C++

  7. A development environment • Teknologi java menyediakan: kompiler, interpreter, documentation generator, class file packaging.

  8. An application environment • Merupakan standalone program yang tidak memerlukan web browser untuk mengeksekusi program (applet).

  9. 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 Technology interpreter dan runtime.

  10. Fitur dari Java Technology • Java Virtual Machine (JVM) • Garbage collection • Sekuritas kode

  11. JVM • Menyediakan spesifikasi hardware platform • Membaca byte code yang sudah terkompilasi yang mendukung multi-platform • Diimplementasikan sebagai software atau hardware • Diimplementasikan di Java technology development tool atau web browser

  12. Garbage collection • Mengecek dan membersihkan memori yang tidak lagi terpakai • Dilakukan otomatis • Berjalan sesuai dengan implementasi JVM

  13. Java Runtime Environment Menangani 3 tugas utama: • Melakukan pemanggilan kode • Memverifikasi kode • Mengeksekusi kode

  14. Operation of the JRE

  15. F(1) F(2) A B C …. Pemrograman Prosedural

  16. 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.

  17. F(1) F(2) …. Pemrograman berorientasi obyek

  18. Keuntungan OOP • Reusabilitas • Pembangunan program lebih cepat • Fleksibilitas lebih tinggi • Ekstensibilitas • Less maintenance

  19. Pemrograman Berorientasi Obyek • 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.

  20. Kata kunci OOP • Objek dapat berupa Class atau Instances. Harus berasal dari entitas atau konsep dunia nyata. • Class  template untuk membuat obyek. • Atribut identitas unik dari obyek • Metode fungsi untuk pengaksesan atribut atau tugas tertentu • Enkapsulasi  menyembunyikan struktur data dan implementasi suatu class. • Inheritansi merepresentasikan keterhubungan struktural antar class • Polymorphism  kemampuan untuk merepresentasikan 2 bentuk obyek yang berbeda

  21. Apakah Obyek? • Semua benda yang ada di dunia nyata dapat dianggap sebagai obyek. • Contoh : rumah, mobil, sepeda motor, gelas, komputer, meja dll.

  22. Karakteristik Obyek • Setiap obyek memiliki state sebagai status (atribut). • Setiap obyek memiliki tingkah laku (method) • Contoh: obyek sepeda • Memiliki atribut : pedal, roda, jeruji, warna, jumlah roda. • Memiliki method  : kecepatanya menaik, kecepatannya menurun, perpindahan gigi sepeda.

  23. Karakteristik Obyek • Penggambaran pemrograman berorientasi obyek = penggambaran pada dunia nyata. • Pada pemrograman berorientasi obyek: • State disimpan pada  variabel • Tingkah laku disimpan pada  method

  24. 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 suatu kelas. • Proses pembentukan obyek dari suatu class disebut dengan instantiation. • Obyek disebut juga instances.

  25. Atribut • 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 1, 2, 3 dll in miles per hour) • Temperature  100, 120, 130 dll (in Fahrenheit degrees) • Dalam class atribut disebut juga dengan variabel.

  26. Atribut • Instance variable: adalah atribut untuk tiap obyek dari class yang sama. • Tiap obyek mempunyai dan menyimpan nilai atributnya sendiri. • Jadi tiap obyek dari class yang sama boleh mempunyai nilai 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.

  27. Tingkah Laku • Tingkah laku adalah hal – hal yang bisa dilakukan oleh obyek dari suatu class. • Tingkah laku 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, tingkah laku disebut juga sebagai method.

  28. Tingkah Laku • Method: adalah serangkaian statements dalam suatu class yang menghandle suatu task tertentu. • Cara obyek berkomunikasi dengan obyek lain adalah dengan menggunakan method.

  29. Contoh: class, object, attributtes, dan behavior nama class instance variable methods

  30. Contoh: lanjutan

  31. Konsep Dasar OOP • Enkapsulasi (Encapsulation) • Penurunan (Inheritance) • Polimorfisme (Polymorphism)

  32. 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.

  33. 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.

  34. Pewarisan • Definisi : 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.

  35. 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 dimiliki oleh beberapa kelas dapat digabungkan dalam sebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifik untuk kelas yang bersangkutan.

  36. Pewarisan Sepeda Sepeda Gunung Sepeda Balap Sepeda Motor

  37. 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.

  38. Single dan multiple inheritance • 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.

  39. Multilevel inheritance • Suatu subclass bisa menjadi superclass bagi class yang lain.

  40. Polimorfisme • Definisi: Kemampuan suatu obyek untuk mempunyai lebih dari satu bentuk .

More Related