Object Oriented Programming

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek
Advertisements

PBO - PERTEMUAN 1- CLASS.
Object Oriented Programming
Pemrograman JAVA (TIB09)
Pemrograman Berorientasi Objek
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
7 Rekayasa Sistem Konsep Utama OOP Dedy Alamsyah, S.Kom.
Object Oriented Programming. Kemampuan untuk memelihara dan mengimplementasikan perubahan di dalam program lebih efektif dan cepatKemampuan untuk memelihara.
Konsep Pemrograman Berorientasi Objek
Advanced Class Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Encapsulation, Inheritance, polymorphism, dan interface
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Pemrograman Berorientasi Objek
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
Class, Inheritance, Encapsulation & Interface
Pemrograman Aplikasi Bergerak
Pemrograman Berorientasi Obyek Oleh Tita Karlita
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
Pemrograman Berorientasi Obyek dengan JAVA Interface
Advanced Class Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Object Oriented Programming with JAVA 2011/2012
Teknik Pemrograman Terstruktur Linked lis & Inheritance 1/12 Pointer (Lanjutan…) Pemrograman Berorientasi Objek.
CLASS, OBJECT METHOD, PROPERTIES Object Oriented Programming
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
1 Pertemuan 9 Inheritance Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Algoritma &Pemrograman 1
Pertemuan 6 PEWARISAN AND POLYMORPHISM
H. Risdiandri Iskandar, SKom,MM 1 Dasar Pemrograman Java.
Kontrak Kuliah Pengenalan OOP
Perancangan dan Pemrograman Web
Firman Asharudin | Pemrograman Lanjut
Outline: Class Objek Konstruktor Destruktor Overloading dan Tipe value
Pemograman Berorientasi Objek
Encapsulation, Inheritance, Polymorphism
Outline: Pewarisan/Inheritance Polymorphism
POLYMORPHISM, ABSTRACT CLASS DAN INTERFACE
Object Oriented Programming.
Pewarisan Disusun Oleh: Reza Budiawan Untuk:
Outline: Abstract Class Interface Boxing dan Unboxing
MODIFIER JAVA.
Association, Composition dan Inheritance
MEMBUAT CLASS SENDIRI 2.
Object Oriented Programming.
Pemrograman Berorientasi Objek
Matakuliah : M0864/Programming I
PBO - PERTEMUAN 1- CLASS.
Object Oriented Programming
POLYMORPHISM.
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Array, Class, Obyek, Method danConstructor.
Pemrograman Berorientasi Object
PEMROGRAMAN BERORIENTASI OBJEK
Algoritma dan Struktur Data
Pemrograman Berorientasi Object
ISTILAH-ISTILAH PENTING PEMROGRAMAN BERBASIS OBYEK
Konsep Bahasa Pemrograman I Konsep OOP
(Object Oriented Programming)
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding Pemrograman.
Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Objek
- PERTEMUAN 1- CLASS Mustazzihim Suhaidi,M.Kom
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
DPH1C4 Pemrograman berorientasi Obyek
FONDASI PEMROGRAMAN & STRUKTUR DATA #4 - 1
Dasar Pemrograman Java H. Risdiandri Iskandar, SKom,MM 1.
Bahasa Pemrograman (Pemrograman Visual)
Transcript presentasi:

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

Object sebuah benda (entity) yang memiliki batasan (boundary) dan identitas (identity) yang terdefinisi dengan jelas, yang membungkus (encapsulate) kondisi (state) dan perilaku (behavior).

Sebuah object adalah sebuah benda yang memiliki batasan yang terdefinisi dengan jelas. Maksudnya, tujuan dari object tersebut harus jelas. Sebuah object memiliki dua hal: kondisi (state) dan perilaku (behavior). Kondisi (state) dari suatu object sering dinyatakan melalui attribute dari object tersebut. Sedangkan perilaku (behavior) dinyatakan melalui operations dari object tersebut.

State atau Attribute dan Behaviour State dapat dipahami sebagai suatu karakteristik yang menjelaskan keadaan atau kondisi suatu object. State dinyatakan dalam bentuk attribute atau property yang memiliki nilai atau isinya sendiri-sendiri.

Mobil memiliki warna, misalnya berwarna pink. Mobil memiliki kapasitas mesin, misalnya 1800 cc. Monitor komputer memiliki merek tertentu, misalnya saja samsung. Seorang mahasiswa memiliki NIM, nama, alamat. Semuanya merupakan attribute dari setiap mahasiswa. Sebuah file pada komputer memiliki ukuran tertentu, misalnya 37 MegaByte.

Behavior adalah perilaku, bagaimana sebuah object ber-aksi dan ber-reaksi. Sebuah object akan melakukan aksi atau reaksi terhadap request atau permintaan dari object lain. Misalnya, dapat dilakukan beberapa aksi pada sebuah object pintu, yaitu : dapat dibuka, dapat dikunci, dll. Behavior dinyatakan dalam bentuk method pemrograman object-oriented.

Sebagai contoh : Mobil dapat dijalankan ke depan maupun ke belakang. Mesin mobil dapat diperbaiki jika rusak. Monitor komputer dapat dihidupkan atau dimatikan dengan menekan tombol power pada monitor. Seorang mahasiswa dapat mengambil suatu mata kuliah terntentu. Sebuah file pada komputer dapat diganti namanya, dipindahkan atau dihapus.

Class Sebuah class adalah blueprint atau rancangan dari sebuah object. Class merupakan prototipe yang mendefinisikan state dan behaviour dari suatu object secara umum. Pada sisi lain, object merupakan instance atau bentuk nyata dari suatu class. sekumpulan object yang memiliki attribute, operasi dan hubungan antar object yang sama. Sebuah object dinyatakan sebagai sebuah instance dari sebuah class.

Contoh : mobil (class) attribute atau property → memiliki roda, memiliki mesin, memiliki pintu, memiliki tempat duduk dll. behavior → dapat dijalankan ke depan dan ke belakang, mesin mobil dapat dihidupkan atau dimatikan, lampu mobil dapat diganti, pintu mobil dapat ditutup dan dikunci, mesin dapat diperbaiki atau diganti spare part-nya jika rusak dll. Bentuk nyata atau instance → mobil kijang, mobil honda jazz, dll. Object → trailer atau tronton

Attribute dan Operation kondisi pada suatu object yang membentuk state dari object tersebut. Attribute memiliki nama dan nilai yang spesifik. Setiap attribute juga memiliki type tertentu sehingga nilai di dalam attribute ini harus sesuai dengan type yang dimiliki. Type dalam C# dapat berupa int, string, bool dll. Sebuah class dapat memiliki attribute maupun tidak.

Operation adalah implementasi dari sebuah service yang dapat diminta oleh object-object lain dari class untuk mempengaruhi bahavior-nya

Deklarasi Class [class modifier] <class> <identifier> [class base] <class body> Class → keyword Identifier → nama dari class yang akan dibuat Class-body → tempat didefinisikannya attribute dan operation dari object yang dibangun berdasarkan class ini.

Contoh Implementasi Class

Abstract Class digunakan untuk menunjukkan bahwa suatu class belum selesai, masih abstrak belum kongkrit. Class ini biasanya digunakan sebagai base class. Abstract class tidak bisa di-create menjadi object, tetapi bisa me-refer objek kongkrit yang class-nya diturunkan dari dirinya. Abstract class boleh memiliki abstract member.

abstract class abstract member Class B turunan class A Terdapat method G() Class C turunan class B Terdapat implementasi F

A adalah abstract class dengan abstract member F() A adalah abstract class dengan abstract member F(). Abstract member tidak ada aktifitas apapun. Class B dturunkan dan class A, tetapi karena B adalah abstract class maka ia tidak perlu mengimplemantasikan F(). Ini tidak berarti B tidak boleh mengimplemenasikan F(). Tetapi jika B mengimplemantasikan F() maka C tidak wajib mengimplementasikan F(). Class B menambah method G(). Karena Class C diturunkan dari B sedang B diturunkan dari A maka C harus mengimplemantasikan F().

Sealed Class class yang memakai modifier sealed. Class yang di-sealed tidak bisa diturunkan atau tidak bisa menjadi base class dari class yang lain. Class D tidak bisa di-compile karena C adalah sealed class.

Class Member Class member dibagi menjadi beberapa kategori: Konstanta Field Method Properties Event Indexer Operator Constructor Destructor

Konstanta adalah anggota Class yang bernilai tetap. [modifiers] <const> <type> <deklarasi> Modifiers : new, public, protected, internal, private. public : semua objek boleh akses tanpa batas. private : hanya berlaku dalam Class. protected : hanya boleh diakses Class sendiri dan turunannya. internal : hanya boleh diakses Class-Class dalam satu project.

Method Overloading Adalah method dengan nama yang sama tapi dengan parameter yang berbeda-beda.

Inheritance kemampuan sebuah object untuk meng-inherit atau mewarisi data dan functionality dari parent class-nya. Parent class → base class Child class → derived class

Derived class akan meng-inherit segala hal yang dimiliki oleh base class kecuali constructor dan destructor. Seluruh public member dari base class secara implicit juga menjadi public member dari derived class. Sedangkan private member dari base class, meskipun juga di-inherit oleh derived class, hanya dapat diakses oleh base class itu sendiri.

Implementasi Method Virtual Method Untuk dapat membuat sebuah method dari suatu base class bisa di-override oleh derived class-nya, method tersebut harus diberi keyword virtual.

Sebuah virtual method harus ada implementasinya di base class Sebuah virtual method harus ada implementasinya di base class. Jika tidak ada implementasi, maka program akan error. Sebuah virtual method tidak dapat diberi access modifier private. Jika method adalah private, hanya class pemilik method itu sendiri yang dapat mengaksesnya. Sebuah virtual method juga tidak dapat dideklarasikan sebagai static.

Override Method method yang akan meng-override method base class tadi harus diberi keyword override.

Seperti halnya pada virtual method, pada override method harus juga terdapat implementasi code. Jika tidak, maka program akan error. Signature dari override method harus sama dengan virtual method yang akan di override. Seperti pada virtual method, override method juga tidak boleh static, dan tidak boleh private.

Encapsulation Encapsulation sering juga dinyatakan sebagai penyembunyian informasi. Contoh : perhitungan suhu termometer.

Interface Kemampuan suatu object untuk melakukan perintah. Contoh: mesin cuci kontrak antar produsen mesin cuci, bahwa mesin cuci mesti mempunyai fungsi minimal untuk mencuci. Kontrak semacam ini dalam C# disebut sebagai Interface. Interface adalah komponen utama dan penting dalam dunia OOP.

See You Next Time