Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan...

Post on 16-Nov-2020

25 views 0 download

Transcript of Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan...

1

Konsep PemrogramanBerorientasi Obyek

2

Tujuan

Memberikan latar belakang sertapemahaman tentang konseppemrograman berorientasi obyek danperbandingannya dengan pemrogramanprosedural.

3

Topik

Pemrograman prosedural vs pemrogramanberorientasi obyek

Mengorganisasi program menjadi elementyang disebut sebagai class, dan bagaimanaclass ini digunakan untuk membuat obyek.

Struktur class: tingkah laku (behavior) danatribut (attributes).

Konsep OOP Cara kompile dan menjalankan aplikasi Java

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

Fungsi dan prosedur menjadi fokus utama. Fungsi dan prosedur digunakan untuk

memanipulasi data. Data bersifat pasif.

5

Pemrograman Berorientasi Obyek

Fungsi dan data bukan menjadi dua halyang terpisah.

Fungsi dan data menjadi satu kesatuanyang disebut sebagai obyek aktif.

Cara pandang program adalahserangkaian obyek yang bekerjasamauntuk menyelesaikan suatu problem.

6

Procedural vs OOP

Focusing on the waya computer handlestasks

Focusing on the taskyou are using thecomputer for

7

Apakah Obyek?

Semua benda yang ada di dunia nyatadapat dianggap sebagai obyek.

Contoh : rumah, mobil, sepeda motor,gelas, komputer, meja dll.

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) : kecepatanyamenaik, kecepatannya menurun, perpindahan gigisepeda.

9

Karakteristik Obyek

Penggambaran pemrogramanberorientasi obyek = penggambaranpada dunia nyata.

Pada pemrograman berorientasi obyek: State disimpan pada variabel Tingkah laku disimpan pada method

10

Apakah Class? Definisi class: merupakan template untuk

membuat obyek. Definisi class: merupakan prototipe / blue

prints yang mendefinisikan variabel – variabeldan method – method secara umum.

Obyek merupakan hasil instansiasi dari suatukelas.

Proses pembentukan obyek dari suatu classdisebut dengan instantiation.

Obyek disebut juga instances.

11

Attributes

Definisi atribut : adalah data yangmembedakan antara obyek satu dengan yanglain.

Contoh: VolcanoRobot A volcanicexploration vehicle, mempunyai atributsebagai berikut: Status exploring, moving, returning home Speed in miles per hour Temperature, in Fahrenheit degrees

Dalam class atribut disebut sebagai variabel.

12

Attributes 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 obyekyang 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.

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 informasidari obyek lain, dan mengirim informasi keobyek lain untuk melakukan suatu task.

Contoh: VolcanoRobot Check current temperature Begin a survey Report its current location

Dalam class, behavior disebut juga sebagaimethods.

14

Behavior

Methods: adalah serangkaianstatements dalam suatu class yangmenghandle suatu task tertentu.

Cara obyek berkomunikasi denganobyek lain adalah denganmenggunakan method.

15

Contoh: class, object, attributtes,dan behavior(methods)

nama class

instance variable

methods

16

Contoh: lanjutan

17

Konsep Dasar OOP

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

18

Enkapsulasi

Definisi enkapsulasi: Pembungkusanvariabel dan method dalam sebuahobyek yang terlindungi sertamenyediakan interface untukmengakses variabel tersebut.

Variabel dan method yang dipunyaisuatu obyek, bisa ditentukan hakaksesnya.

19

Enkapsulasi

Contoh: jam tangan Penting sekali untuk mengetahui waktu. Cara jam mencatat waktu dengan baik

antara jam bertenaga baterai ataubertenaga gerak tidaklah penting kitaketahui.

Dalam OOP, konsep enkapsulasisebenarnya merupakan perluasan daristruktur dalam bahasa C.

20

Pewarisan

Definisi : merupakan pewarisan atributdan method dari sebuah class ke classlainnya.

Class yang mewarisi superclass Class yang diwarisi subclass Subclass bisa berlaku sebagai

superclass bagi class lainya multilevel inheritance.

21

PewarisanContoh : 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 digabungkandalam sebuah class induk sehingga setiapkelas yang diturunkannya memuat hal-halyang spesifik untuk kelas yang bersangkutan.

22

PewarisanSepeda

SepedaGunung

SepedaBalap

SepedaMotor

23

Keuntungan pewarisan

Subclass menyediakan state/behaviour yangspesifik yang membedakan dengansuperclass memungkinkan programmeruntuk menggunakan ulang source code darisuperclass yang telah ada.

Programmer dapat mendefinisikan superclasskhusus yang bersifat generik, yang disebutabstract class, untuk mendefinisikan classdengan tingkah laku dan state secara umum.

24

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.

25

Multilevel inheritance

Suatu subclass bisa menjadi superclassbagi class yang lain.

26

Polimorfisme

Definisi: Kemampuan suatu obyekuntuk mempunyai lebih dari satubentuk .

27

Teknologi Java2Platform

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

28

What is the Java Technology?

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

29

A programming language

Sintak bahasa pemrograman java miripdengan bahasa C++

30

A development environment

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

31

An application environment

Merupakan standalone program yangtidak memerlukan web browser untukmengeksekusi program (applet).

32

A deployment environment

Terdapat 2 deployment environmentutama: JRE (Java Runtime Environment) yang

menyediakan class-class yang tersimpandalam package-package, komponen GUIclass, dan Collection API.

Web browser banyak web browserkomersial yang menyediakan lingkunganJava Technology interpreter dan runtime.

33

TUGAS

Cari artikel tentang program prosedural(terstruktur) dan program OOP, disertaicontoh programnya (bebas). Buatanalisa perbedaan antara keduanya!(dikumpulkan sebelum UAS)