Konsep pemrograman berorientasi obyek
-
Upload
handexcel -
Category
Technology
-
view
1.638 -
download
2
Transcript of Konsep pemrograman berorientasi obyek
Konsep Pemrograman Berorientasi Obyek
04/12/23 1Ah. Handoyo collections
TujuanMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi obyek dan perbandingannya dengan pemrograman prosedural.
04/12/23 2Ah. Handoyo collections
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 Java
04/12/23 3Ah. Handoyo collections
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/12/23 4Ah. Handoyo collections
Pemrograman Berorientasi Obyek• Fungsi dan data bukan menjadi dua
hal yang terpisah. • Fungsi dan data menjadi satu
kesatuan yang disebut sebagai obyek aktif.
• Cara pandangprogram adalah serangkaian obyek yang bekerjasama untuk menyelesaikan suatu problem.
04/12/23 5Ah. Handoyo collections
Procedural vs OOP
•
Focusing on the way a computer handles tasks
•
Focusing on the task you are using the computer for
04/12/23 6Ah. Handoyo collections
Apakah Obyek?
• Semua benda yang ada di dunia nyata dapat dianggap sebagai obyek.
• Contoh : rumah, mobil, sepeda motor, gelas, komputer, meja dll.
04/12/23 7Ah. Handoyo collections
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/12/23 8Ah. Handoyo collections
Karakteristik Obyek• Penggambaran pemrograman
berorientasi obyek = penggambaran pada dunia nyata.
• Pada pemrograman berorientasi obyek: – State disimpan pada variabel
– Tingkah laku disimpan pada method
04/12/23 9Ah. Handoyo collections
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/12/23 10Ah. Handoyo collections
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/12/23 11Ah. Handoyo collections
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/12/23 12Ah. Handoyo collections
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/12/23 13Ah. Handoyo collections
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 behavior
04/12/23 14Ah. Handoyo collections
Contoh
04/12/23 15Ah. Handoyo collections
04/12/23 16Ah. Handoyo collections
Konsep Dasar OOP
• Enkapsulasi (Encapsulation) • Penurunan (Inheritance) • Polimorfisme (Polymorphism)
04/12/23 17Ah. Handoyo collections
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/12/23 18Ah. Handoyo collections
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/12/23 19Ah. Handoyo collections
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/12/23 20Ah. Handoyo collections
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/12/23 21Ah. Handoyo collections
04/12/23 22Ah. Handoyo collections
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/12/23 23Ah. Handoyo collections
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.
04/12/23 24Ah. Handoyo collections
Multilevel inheritance
• Suatu subclass bisa menjadi superclass bagi class yang lain.
04/12/23 25Ah. Handoyo collections
Polimorfisme
• Definisi: Kemampuan suatu obyek untuk mempunyai lebih dari satu bentuk .
04/12/23 26Ah. Handoyo collections
Teknologi Java2Platform
• Enterprise Edition(J2EE) • Standard Edition (J2SE) • Micro Edition (J2ME)
04/12/23 27Ah. Handoyo collections
What is the Java Technology?
• A programming language • A development environment • An application environment • A deployment environment
04/12/23 28Ah. Handoyo collections
A programming language
• Sintak bahasa pemrograman java mirip dengan bahasa C++
04/12/23 29Ah. Handoyo collections
A development environment
Teknologi java menyediakan: kompiler, interpreter, documentation generator, class file packaging.
04/12/23 30Ah. Handoyo collections
An application environment
• Merupakan standalone program yang tidak memerlukan web browser untuk mengeksekusi program (applet).
04/12/23 31Ah. Handoyo collections
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 browserbanyak web browser komersial yang menyediakan lingkungan Java Technology interpreter dan runtime.
04/12/23 32Ah. Handoyo collections
04/12/23 33Ah. Handoyo collections
04/12/23 34Ah. Handoyo collections
04/12/23 35Ah. Handoyo collections
04/12/23 36Ah. Handoyo collections
04/12/23 37Ah. Handoyo collections
04/12/23 38Ah. Handoyo collections
04/12/23 39Ah. Handoyo collections
04/12/23 40Ah. Handoyo collections
04/12/23 41Ah. Handoyo collections