Konsep pemrograman berorientasi obyek

41
Konsep Pemrograman Berorientasi Obyek 06/15/22 1 Ah. Handoyo collections

Transcript of Konsep pemrograman berorientasi obyek

Page 1: Konsep pemrograman berorientasi obyek

Konsep Pemrograman Berorientasi Obyek

04/12/23 1Ah. Handoyo collections

Page 2: Konsep pemrograman berorientasi obyek

TujuanMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi obyek dan perbandingannya dengan pemrograman prosedural.

04/12/23 2Ah. Handoyo collections

Page 3: Konsep pemrograman berorientasi obyek

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

Page 4: Konsep pemrograman berorientasi obyek

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

Page 5: Konsep pemrograman berorientasi obyek

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

Page 6: Konsep pemrograman berorientasi obyek

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

Page 7: Konsep pemrograman berorientasi obyek

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

Page 8: Konsep pemrograman berorientasi obyek

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

Page 9: Konsep pemrograman berorientasi obyek

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

Page 10: Konsep pemrograman berorientasi obyek

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

Page 11: Konsep pemrograman berorientasi obyek

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

Page 12: Konsep pemrograman berorientasi obyek

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

Page 13: Konsep pemrograman berorientasi obyek

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

Page 14: Konsep pemrograman berorientasi obyek

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

Page 15: Konsep pemrograman berorientasi obyek

Contoh

04/12/23 15Ah. Handoyo collections

Page 16: Konsep pemrograman berorientasi obyek

04/12/23 16Ah. Handoyo collections

Page 17: Konsep pemrograman berorientasi obyek

Konsep Dasar OOP

• Enkapsulasi (Encapsulation) • Penurunan (Inheritance) • Polimorfisme (Polymorphism)

04/12/23 17Ah. Handoyo collections

Page 18: Konsep pemrograman berorientasi obyek

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

Page 19: Konsep pemrograman berorientasi obyek

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

Page 20: Konsep pemrograman berorientasi obyek

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

Page 21: Konsep pemrograman berorientasi obyek

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

Page 22: Konsep pemrograman berorientasi obyek

04/12/23 22Ah. Handoyo collections

Page 23: Konsep pemrograman berorientasi obyek

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

Page 24: Konsep pemrograman berorientasi obyek

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

Page 25: Konsep pemrograman berorientasi obyek

Multilevel inheritance

• Suatu subclass bisa menjadi superclass bagi class yang lain.

04/12/23 25Ah. Handoyo collections

Page 26: Konsep pemrograman berorientasi obyek

Polimorfisme

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

04/12/23 26Ah. Handoyo collections

Page 27: Konsep pemrograman berorientasi obyek

Teknologi Java2Platform

• Enterprise Edition(J2EE) • Standard Edition (J2SE) • Micro Edition (J2ME)

04/12/23 27Ah. Handoyo collections

Page 28: Konsep pemrograman berorientasi obyek

What is the Java Technology?

• A programming language • A development environment • An application environment • A deployment environment

04/12/23 28Ah. Handoyo collections

Page 29: Konsep pemrograman berorientasi obyek

A programming language

• Sintak bahasa pemrograman java mirip dengan bahasa C++

04/12/23 29Ah. Handoyo collections

Page 30: Konsep pemrograman berorientasi obyek

A development environment

Teknologi java menyediakan: kompiler, interpreter, documentation generator, class file packaging.

04/12/23 30Ah. Handoyo collections

Page 31: Konsep pemrograman berorientasi obyek

An application environment

• Merupakan standalone program yang tidak memerlukan web browser untuk mengeksekusi program (applet).

04/12/23 31Ah. Handoyo collections

Page 32: Konsep pemrograman berorientasi obyek

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

Page 33: Konsep pemrograman berorientasi obyek

04/12/23 33Ah. Handoyo collections

Page 34: Konsep pemrograman berorientasi obyek

04/12/23 34Ah. Handoyo collections

Page 35: Konsep pemrograman berorientasi obyek

04/12/23 35Ah. Handoyo collections

Page 36: Konsep pemrograman berorientasi obyek

04/12/23 36Ah. Handoyo collections

Page 37: Konsep pemrograman berorientasi obyek

04/12/23 37Ah. Handoyo collections

Page 38: Konsep pemrograman berorientasi obyek

04/12/23 38Ah. Handoyo collections

Page 39: Konsep pemrograman berorientasi obyek

04/12/23 39Ah. Handoyo collections

Page 40: Konsep pemrograman berorientasi obyek

04/12/23 40Ah. Handoyo collections

Page 41: Konsep pemrograman berorientasi obyek

04/12/23 41Ah. Handoyo collections