Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Pemrograman Berorientasi Obyek
Abstract Data Type Example (Stack or Queue Problem) Memerlukan data (array atau pointer) dan fungsi-fungsi untuk mengoperasikannya seperti enqueue and dequeue. data dan fungsinya saling ketergantungan menjadi suatu entity yang tak terpisahkan. Entity ini sering disebut sebagai ADT ADT = Abstract Data Structure + Operations (Interface) Dalam perkembangannya dibuatlah sesuatu yang dinamakan class (sejak dibuat C++) Sebuah entity dg properties-nya disebut sebagai abstract data type (ADT). Pemrograman Berorientasi Obyek
2
Pemrograman Berorientasi Obyek
Contoh ADT (segitiga) #include <iostream.h> struct segitiga{ int alas, tinggi; }; double luassegitiga(segitiga pS){ return pS.alas * pS.tinggi * 0.5; Pemrograman Berorientasi Obyek
3
Pemrograman Berorientasi Obyek
Encapsulation Dari kata “kapsul”. Sifat kapsul: isinya bermacam-macam jenis obat Biasanya untuk resep racikan Sifat kapsul: Information hiding Cukup tahu kegunaan, isi tidak perlu tahu secara detail Pemrograman Berorientasi Obyek
4
Pemrograman Berorientasi Obyek
Encapsulation Data dan Fungsi dapat digabung dalam suatu class/object Information Hiding Cukup mengetahui header yang bersifat public dan protected. Tidak perlu mendetail melihat keseluruhan code untuk menggunakannya. Pemrograman Berorientasi Obyek
5
Pemrograman Berorientasi Obyek
Class versus Object Class Global, Virtual, Can’t be accessed or manipulated Template to create object Object Specific/Unique, Real, Can’t be accessed or manipulated Pemrograman Berorientasi Obyek
6
Pemrograman Berorientasi Obyek
Class Member Data Variable (common and user-defined) Constant Array Pointer Static Data Other Class (Nested Class) Function Pemrograman Berorientasi Obyek
7
Function Example (use struct)
#include <iostream.h> struct segitiga{ int alas, tinggi; }; double luassegitiga(segitiga pS){ return pS.alas * pS.tinggi * 0.5; Void main(){ segitiga MyTriangle; MyTriangle.alas=10; MyTriangle.tinggi=5; cout<<luassegitiga(MyTriangle); Pemrograman Berorientasi Obyek
8
Function Example (use class)
#include <iostream.h> class segitiga{ public: int alas, tinggi; double luas(){ return this->alas * this->tinggi; }; Void main(){ segitiga MyTriangle; MyTriangle.alas=10; MyTriangle.tinggi=5; cout<<MyTriangle.luas(); Pemrograman Berorientasi Obyek
9
Function Prototype (outside class)
#include <iostream.h> struct segitiga{ int alas, tinggi; }; double luassegitiga(segitiga); Void main(){ segitiga MyTriangle; MyTriangle.alas=10; MyTriangle.tinggi=5; cout<<luassegitiga(MyTriangle); double luassegitiga(segitiga pS){ return pS.alas * pS.tinggi * 0.5; Pemrograman Berorientasi Obyek
10
Function Prototype (inside class)
#include <iostream.h> class segitiga{ public: int alas, tinggi; double luas(); }; Void main(){ segitiga MyTriangle; MyTriangle.alas=10; MyTriangle.tinggi=5; cout<<MyTriangle.luas(); double segitiga::luas(){ return this->alas * this->tinggi; Pemrograman Berorientasi Obyek
11
Class Example (case: simple RPG character class)
class karakter{ char* name; int level; int life, maxlife; int mp, maxmp; int damage, armor; void attack(); void hit(int lifepoint); void cure(int lifepoint); void levelup(); void usemagic(); void restoremp(int mppoint); }; Pemrograman Berorientasi Obyek
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.