1. konsep pbo
TRANSCRIPT
Pemrograman Berorientasi Obyek
PERTEMUAN 1
AVIV YUNIAR RAHMAN, ST
Catatan Kontrak Kuliah : UTS : 35 % UAS : 35% TUGAS 1 & 2 : (30 %) Koordinator Kelas : Reg a. Ridho
(085755925001) Reg b. Maulana (089673661441)
Structured vs Object-Oriented Structured
Pendekatan masalah berorientasi pada aksi atau data
Object-OrientedPendekatan masalah berorientasi pada aksi dan data
Contoh Structured vs Object-Oriented
Tujuan Umum : Mahasiswa mampu menganalisa dan
mendesain sistem yang berbasiskan pada prinsip-prinsip obyek.
Sub Pokok Bahasan Pertemuan 1 Teknologi Obyek Konsep Berorientasi Obyek- Abstraksi (abstraction)- Pewarisan (Inheritance)- Polimorfisme banyakrupa (Polymorphism)- Pembungkusan (encapsulation)- Asosiasi- Agregasi
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
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
Object dan Interaksinya
pembeli kasir pelayan
pesan & bayar
siapkan burger
siapkan kentang
siapkan minum
sajikan
Skenario: restoran cepat-saji
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);
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.
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)
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).
Contoh: Class, object, atributtes dan behavior
Pemrograman BerorientasiObyek (PBO) C++ Java Visual Basic .net Delphi dll..
Ide dasar PBO Mengkombinasikan data dan fungsi/atribut
untuk mengakses data menjadi sebuah kesatuan unit.
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
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.
Contoh Abstraksi Program mesin cuci → tidak butuh serial
number Program transaksi laundry → butuh serial
number Obyek sama-sama mesin cuci
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(); }
Inheritance (Pewarisan) Adalah konsep yang menyatakan bahwa
metode atau atribut dalam kelas dapat diturunkan atau digunakan kembali oleh kelas lain.
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)
Contoh Inheritance (Pewarisan)
Contoh Inheritance (Pewarisan)“bentuk”
poligon ellips
lingkaran
persegipanjang
segitiga
bujursangkar
Contoh Inheritance (Pewarisan)
Pewarisan (cont’d)
Contoh Program Pewarisan Menggunakan Java
Contoh Program Pewarisan Lanjutan 1
Contoh Program Pewarisan Lanjutan 2
Contoh Program Pewarisan Lanjutan 3
Hasil Program Pewarisan
Polimorfisme banyak rupa (Polimorphism) Arti : mempunyai banyak bentuk Merupakan
suatu konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda.
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
Pembungkusan (encapsulation) Adalah pembungkusan/pengemasan data
dan fungsi dalam wadah bernama obyek. atau...Menyembunyikan operasi-operasi dari
dunia luar dan dari obyek-obyek lain
Contoh Encapsulation Televisi :
- Tampak luar hanya layar dan beberapa tombol operasi
- Di dalam terkandung kompleksitas rangkaian elektronika
Tingkat Akses Private ( Encapsulation- Private)
Gambar 1
Gambar 2
NO NO
NONO
Tingkat Akses Private ( Encapsulation- Protected)
OK OK
OKNO
Tingkat Akses Public (Encapsulation-Public)
OK OK
OK OK
Asosisasi (Asosiasion) Merupakan relasi atau hubungan obyek satu
dengan lainnya. Sebuah obyek dapat berelasi dengan obyek
yang lain
Contoh Asosisasi (Asosiasion) Contoh : Seorang
pegawai bekerja pada sebuah perusahaan.
Maka “bekerja” merupakan sebuah asosiasi antara kelas pegawai dan kelas perusahaan
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
Contoh Agregasi Dalam dunia nyatanya adalah object pemain
bola dan klub bola dimana pemain bola bisa tetap ada walau tidak ada klub bola
Contoh Program Agregasi public class pemainbola {protected String nama;protected String Alamat;public pemainbola ( String nama, String alamat){this.nama=nama;this.alamat=alamat}}
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;}}
Contoh Program Agregasi Lanjutan 2public void main(){klubbola juventus = new klubbola(“Juventus”);pemainbola orang1 = new pemainbola(“Del Piero”,”Sukabirus”);juventus.setpemainsatu(orang1);}