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

33
1 Konsep Pemrograman Berorientasi Obyek

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

Page 1: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

1

Konsep PemrogramanBerorientasi Obyek

Page 2: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

2

Tujuan

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

Page 3: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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

Page 4: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 5: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 6: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

6

Procedural vs OOP

Focusing on the waya computer handlestasks

Focusing on the taskyou are using thecomputer for

Page 7: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

7

Apakah Obyek?

Semua benda yang ada di dunia nyatadapat dianggap sebagai obyek.

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

Page 8: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 9: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

9

Karakteristik Obyek

Penggambaran pemrogramanberorientasi obyek = penggambaranpada dunia nyata.

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

Page 10: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 11: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 12: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 13: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 14: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

14

Behavior

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

Cara obyek berkomunikasi denganobyek lain adalah denganmenggunakan method.

Page 15: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

15

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

nama class

instance variable

methods

Page 16: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

16

Contoh: lanjutan

Page 17: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

17

Konsep Dasar OOP

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

Page 18: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 19: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 20: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 21: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 22: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

22

PewarisanSepeda

SepedaGunung

SepedaBalap

SepedaMotor

Page 23: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 24: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 25: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

25

Multilevel inheritance

Suatu subclass bisa menjadi superclassbagi class yang lain.

Page 26: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

26

Polimorfisme

Definisi: Kemampuan suatu obyekuntuk mempunyai lebih dari satubentuk .

Page 27: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

27

Teknologi Java2Platform

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

Page 28: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

28

What is the Java Technology?

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

Page 29: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

29

A programming language

Sintak bahasa pemrograman java miripdengan bahasa C++

Page 30: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

30

A development environment

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

Page 31: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

31

An application environment

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

Page 32: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

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.

Page 33: Konsep Pemrograman Berorientasi Obyek€¦ · Konsep Pemrograman Berorientasi Obyek. 2 Tujuan ðnMemberikan latar belakang serta pemahaman tentang konsep pemrograman berorientasi

33

TUGAS

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