1. konsep pbo

46
Pemrograman Berorientasi Obyek PERTEMUAN 1 AVIV YUNIAR RAHMAN, ST

Upload: jonajona

Post on 14-Apr-2017

500 views

Category:

Technology


9 download

TRANSCRIPT

Page 1: 1. konsep pbo

Pemrograman Berorientasi Obyek

PERTEMUAN 1

AVIV YUNIAR RAHMAN, ST

Page 2: 1. konsep pbo

Catatan Kontrak Kuliah : UTS : 35 % UAS : 35% TUGAS 1 & 2 : (30 %) Koordinator Kelas : Reg a. Ridho

(085755925001) Reg b. Maulana (089673661441)

Page 3: 1. konsep pbo

Structured vs Object-Oriented Structured

Pendekatan masalah berorientasi pada aksi atau data

Object-OrientedPendekatan masalah berorientasi pada aksi dan data

Page 4: 1. konsep pbo

Contoh Structured vs Object-Oriented

Page 5: 1. konsep pbo

Tujuan Umum : Mahasiswa mampu menganalisa dan

mendesain sistem yang berbasiskan pada prinsip-prinsip obyek.

Page 6: 1. konsep pbo

Sub Pokok Bahasan Pertemuan 1 Teknologi Obyek Konsep Berorientasi Obyek- Abstraksi (abstraction)- Pewarisan (Inheritance)- Polimorfisme banyakrupa (Polymorphism)- Pembungkusan (encapsulation)- Asosiasi- Agregasi

Page 7: 1. konsep pbo

Konsep Object• Dalam paradigma berbasis object, “object” adalah

representasi sebuah entitas yang memiliki makna tertentu yang menjadi perhatian si pemandang object memiliki abstraksi tertentu bagi si pemandang Contoh: dalam sistem akademik di kampus, beberapa

kandidat object adalah: mahasiswa, dosen, kelas, mata kuliah, kurikulum, praktikum, laboratorium, perpustakaan, KRS, KHS, …

• Object dapat menerima pesan (message), mengolah data, dan mengirimkan pesan ke object lain membentuk interaksi antar object

• Object bersifat independen: tiap object dapat dipandang sebagai sebuah entitas mandiri yang memiliki peran atau tanggung jawab tertentu

Page 8: 1. konsep pbo

Objek Obyek – sesuatu yang dapat dilihat, disentuh atau

dirasakan dan digunakan pengguna serta akan disimpan data dan perilakunya. Bisa berupa: Orang, tempat, benda atau kejadian Pegawai, pelanggan, guru, dosen, mahasiswa, murid. Gudang, kantor, bangunan, ruangan. Kendaraan, produk, konputer, video.

Atribut – data yang menyatakan sifat dari obyek

Page 9: 1. konsep pbo

Object dan Interaksinya

pembeli kasir pelayan

pesan & bayar

siapkan burger

siapkan kentang

siapkan minum

sajikan

Skenario: restoran cepat-saji

Page 10: 1. konsep pbo

ObjectSebuah instance (perwujudan nyata) dari suatu kelas tertentu

public class SegiEmpat { int panjang; int lebar; string warna;

public SegiEmpat(string w, int p, int l) { panjang = p; lebar = l; warna = w; }

public setWarna (string w) { warna = w; }}

SegiEmpat sPink = new SegiEmpat(“pink”, 20,10);

SegiEmpat sPutih = new SegiEmpat(“putih”, 15,10);

SegiEmpat sOrange = new SegiEmpat(“orange”, 30,15);

Page 11: 1. konsep pbo

Konsep-Konsep dalam OOP: Kelas (Class) Mendefinisikan karakteristik abstrak dari sebuah

entitas Property (statis) – fields, atribut Behaviour (dinamika) – fitur, methods Contoh: abstraksi “sepeda” memiliki property “punya

roda”, “punya rantai”, dsb., dan behaviour “bisa berjalan”, “bisa berbelok”, dsb.

Sebagai abstraksi dari sebuah entitas, definisi kelas harus mencerminkan karakteristik sebenarnya dari entitas tsb.

Page 12: 1. konsep pbo

Kelas Kelas merupakan “cetakan” (template) untuk instance (wujud nyata) entitas-entitas yang direpresentasikannya Sebuah kelas dapat melahirkan lebih dari satu instance

satu template

banyak instance(wujud nyata)

Page 13: 1. konsep pbo

Tingkah laku Tingkah laku (behavior) – hal-hal yang

dapat dikerjakan obyek dan merupakan fungsi yang dikenakan pada data (atribut) dari obyek tersebut.

Dalam paradigma OO, perilaku obyek disebut metode, operasi, atau layanan (method,operation, or service).

Page 14: 1. konsep pbo

Contoh: Class, object, atributtes dan behavior

Page 15: 1. konsep pbo

Pemrograman BerorientasiObyek (PBO) C++ Java Visual Basic .net Delphi dll..

Page 16: 1. konsep pbo

Ide dasar PBO Mengkombinasikan data dan fungsi/atribut

untuk mengakses data menjadi sebuah kesatuan unit.

Page 17: 1. konsep pbo

Memahami istilah dalam OOP / PBO Obyek : komponen di dalam sebuah

program Property : karakteristik yang dimiliki

obyek Method : aksi yang dapat dilakukan oleh

obyek Event : kejadian yang dapat di alami oleh

obyek

Page 18: 1. konsep pbo
Page 19: 1. konsep pbo

abstraksi Prinsip untuk merepresentasikan dunia nvata

yang kompleks menjadi satu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.

Secara sederhana dikatakan membuang atribut obyek dan operasi yang hanya sampai pada yang benar-benar diperlukan.

Page 20: 1. konsep pbo

Contoh Abstraksi Program mesin cuci → tidak butuh serial

number Program transaksi laundry → butuh serial

number Obyek sama-sama mesin cuci

Page 21: 1. konsep pbo

Contoh Abstraksi Pada Program Contoh berikut akan menjelaskan penggunaan class abstrak dalam

pemrograman Objek dalam Java. Kelas abstrak yang dibuat adalah kelas Animal, kemudian dengan dua jenis variabel, jumlah kaki dan warna. Ditambahkan method berdasarkan cara jalan dan suaranya.

public abstract class Hewan { private int jmlKaki; private Color warna; public abstract void jalan(); public abstract void suara(); }

Page 22: 1. konsep pbo

Inheritance (Pewarisan) Adalah konsep yang menyatakan bahwa

metode atau atribut dalam kelas dapat diturunkan atau digunakan kembali oleh kelas lain.

Page 23: 1. konsep pbo

Generalisasi,Supertype, dan Subtype Generalisasi/spesialisasi – atribut dan perilaku

yang sama untuk beberapa kelas dikelompokkan ke dalam kelas tersendiri yang disebut supertype.

Supertype – entitas yang berisi atribut dan perilaku yang sama untuk satu atau lebih subtipe kelas. Juga disebut parent class.

Subtype – kelas yang mewarisi (inherit) atribut dan perilaku dari kelas supertype serta mungkin juga berisi atribut dan perilaku lain yang khusus. Juga disebut kelas anak (child). Jika berada pada tingkat yang paling rendah dalam hirarki pewarisan, akan disebut kelas konkret (concrete)

Page 24: 1. konsep pbo

Contoh Inheritance (Pewarisan)

Page 25: 1. konsep pbo

Contoh Inheritance (Pewarisan)“bentuk”

poligon ellips

lingkaran

persegipanjang

segitiga

bujursangkar

Page 26: 1. konsep pbo

Contoh Inheritance (Pewarisan)

Page 27: 1. konsep pbo

Pewarisan (cont’d)

Page 28: 1. konsep pbo

Contoh Program Pewarisan Menggunakan Java

Page 29: 1. konsep pbo

Contoh Program Pewarisan Lanjutan 1

Page 30: 1. konsep pbo

Contoh Program Pewarisan Lanjutan 2

Page 31: 1. konsep pbo

Contoh Program Pewarisan Lanjutan 3

Page 32: 1. konsep pbo

Hasil Program Pewarisan

Page 33: 1. konsep pbo

Polimorfisme banyak rupa (Polimorphism) Arti : mempunyai banyak bentuk Merupakan

suatu konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda.

Page 34: 1. konsep pbo

Contoh Polimorphism pada C++ dapat dikenakan

pada fungsi atau operator dan di kenal dengan overloading.

Berikut fungsi dengan nama gambar : gambar(x,y); Menggambar titik gambar(x1,y1,x2,y2); Menggambar garis gambar(x,y,5); Menggambar lingkaran

Page 35: 1. konsep pbo

Pembungkusan (encapsulation) Adalah pembungkusan/pengemasan data

dan fungsi dalam wadah bernama obyek. atau...Menyembunyikan operasi-operasi dari

dunia luar dan dari obyek-obyek lain

Page 36: 1. konsep pbo

Contoh Encapsulation Televisi :

- Tampak luar hanya layar dan beberapa tombol operasi

- Di dalam terkandung kompleksitas rangkaian elektronika

Page 37: 1. konsep pbo

Tingkat Akses Private ( Encapsulation- Private)

Gambar 1

Gambar 2

NO NO

NONO

Page 38: 1. konsep pbo

Tingkat Akses Private ( Encapsulation- Protected)

OK OK

OKNO

Page 39: 1. konsep pbo

Tingkat Akses Public (Encapsulation-Public)

OK OK

OK OK

Page 40: 1. konsep pbo

Asosisasi (Asosiasion) Merupakan relasi atau hubungan obyek satu

dengan lainnya. Sebuah obyek dapat berelasi dengan obyek

yang lain

Page 41: 1. konsep pbo

Contoh Asosisasi (Asosiasion) Contoh : Seorang

pegawai bekerja pada sebuah perusahaan. 

Maka “bekerja” merupakan sebuah asosiasi antara kelas pegawai dan kelas perusahaan

Page 42: 1. konsep pbo

Agregasi Agregasi – sebuah relasi yang

menyatakan bahwa satu kelas “utuh (whole)” yang lebih besar memuat satu atau lebih kelas “bagian (part)” yang lebih kecil. Sebaliknya, kelas “bagian” adalah bagian dari kelas “utuh”

Dalam UML 2.0 notasi agregasi sudah tidak dipakai lagi

Page 43: 1. konsep pbo

Contoh Agregasi Dalam dunia nyatanya adalah object pemain

bola dan klub bola dimana pemain bola bisa tetap ada walau tidak ada klub bola

Page 44: 1. konsep pbo

Contoh Program Agregasi public class pemainbola {protected String nama;protected String Alamat;public pemainbola ( String nama, String alamat){this.nama=nama;this.alamat=alamat}}

Page 45: 1. konsep pbo

Contoh Program Agregasi Lanjutan 1public class klubbola{protected String nama;protected pemainbola pemainno1;public klubbola( String nama);public void setpemainsatu(pemainbola pemain){this.pemainno1=pemain;}}

Page 46: 1. konsep pbo

Contoh Program Agregasi Lanjutan 2public void main(){klubbola juventus = new klubbola(“Juventus”);pemainbola orang1 = new pemainbola(“Del Piero”,”Sukabirus”);juventus.setpemainsatu(orang1);}