Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pemrograman Berbasis Objek.  Object Oriented Programming in C++ (4 th Ed) (Robert Lafore, SAMS)

Presentasi serupa


Presentasi berjudul: "Pemrograman Berbasis Objek.  Object Oriented Programming in C++ (4 th Ed) (Robert Lafore, SAMS)"— Transcript presentasi:

1 Pemrograman Berbasis Objek

2  Object Oriented Programming in C++ (4 th Ed) (Robert Lafore, SAMS)

3

4  Computer hanya mengerti instruksi dalam bahasa mesin  Manusia dalam memberikan instruksi ke Computer lebih mudah menggunakan Bahasa Natural (Human Language) atau High Level Language  Problem Layer Instruction mempengaruhi tingkatan akses computer memenuhi setiap instruksi

5  Agar Computer mengerti Instruksi maka dibutuhkan Translator (Compiler/Interpreter)  Compiler akan melakukan proses penerjemahan dari Source Code menjadi Object Code dan Target Code Binary Code Byte Code

6  Pembuatan Aplikasi menggunakan paradigma Object Oriented seiring dengan perkembangan paradigma Object Oriented Analysis and Design (Unified Modelling Language)  Dahulu (era 60/70-an) pemrograman menggunakan paradigma Top-Down atau Structure Programming (Pemrograman Terstruktur) seiring dengan paradigma Analisa Sistem Informasi menggunakan pendekatan (Data Flow Diagram, System Flow dsb)

7  1967 – Martin Richard mengembangan Bahasa Pemrograman BCPL  1970 – Ken Thomson (Bell Lab) mengembangkan Bahasa B dari Bahasa BCPL utk meng-create Unix  1972 – Dennis Ritchie (Bell Lab) mengembangkan Bahasa C dari Bahasa B utk di implementasikan pada Komputer DEC PDP-11  C  Hardware independent (Portable programs), Fleksibel (Machine Accessible Program), Universal  1989 – Standarisasi C oleh ANSI & ISO (ANSI/ISO 9899:1990)

8  1980 – Bjarne Stroustrup (Bell Lab) mengembangkan Bahasa C++ dari Bahasa C  1983 – C++ dipublikasikan oleh Bell Lab  C++  C With Classes (Kemampuan Object Oriented Programming)  OOP  membangun software dengan cepat, tepat & ekonomis (produktif), mempermudah programmer menulis & memodifikasi program  Objects  Reuseable & Extenable

9  C++ merupakan turunan dari bahasa C. C++ merupakan superset dari Bahasa C

10

11 Abstraction Process (Object+ Class) Light lt = new Light(); lt.on();

12  Object adalah penyusun dasar (basic building block) dari OOP  Object diambil dari real world pada bidang aplikasinya (application domain)  Object dalam mail order system: companies, customer, order, product & departments  Object dalam library system: members, books, loans, reservation & cancellations  Object dalam O-O system dapat berupa benda (customers, products, members, book ), konsep(order, loan, reservation, cancellation ) atau organisasi (companies, departments )  Object dalam implementasi komputer: GUI windows, files, atau linked list

13 Light lt = new Light(); lt.on();  Real world objects mempunyai data properties / attributes. Dalam mail orders system, object customer punya nama, No_telpon, alamat utk tujuan invoicing.  Real world object juga mempunyai karakteristik function behavior. Dalam mail order system customer dapat mengubah No_telpon dan alamatnya.

14 Light lt = new Light(); lt.on();  Real world objects mempunyai data properties / attributes. Dalam mail orders system, object customer punya nama, No_telpon, alamat utk tujuan invoicing.  Real world object juga mempunyai karakteristik function behavior. Dalam mail order system customer dapat mengubah No_telpon dan alamatnya.

15 Light lt = new Light(); lt.on();  Object  pemaketan data dan metode untuk manipulasi data  Class  Template atau factory untuk membuat objek  Attribute  bagian dari class atau object berupa Properties/Data item  Behaviour  Service / Operation / Method / Procedure / Function defined as part of a class or object as implementation

16 Light lt = new Light(); lt.on();  Message  Request sent to an object to execute its method  Encapsulation  Packaging data and operation into an object/class  Data hiding  Making the internal details of an object invisible to other object  Inheritance  Mechanism for defining a new class in terms of an existing class  Polymorphism  The ability to hide different implementation behind the common interface

17 Light lt = new Light(); lt.on();  UML – Model object-oriented systems and aid design ▪ Flexible ▪ Extendable ▪ Independent of many OOAD processes ▪ One standard set of notations  2001: Object Management Group (OMG) Released UML version 1.4  Complex, feature-rich graphical language ▪ Activity Diagram, Class Diagram, Collaboration Diagram, Componen diagram, Deployment diagram, Object Diagram, Package Diagram, Sequence Diagram, State Diagram, State Diagram, Use Case Diagram

18 Light lt = new Light(); lt.on();  Class Diagram  Association  Multiplicity  Generalization  Agregation  Composite

19  Ada banyak IDE/Compilers untuk bahasa C++ Old Compilers -- Turbo C++ dari Borland New Compilers 1. Microsoft Visual C++ 2. Borland C++ Builder 3. New & Free  Code::Blocks (http://www.codeblocks.org/) Light lt = new Light(); lt.on();

20  Download code::blocks dari website www.codeblocks.org  Download file : codeblocks-13.12mingw-setup  Jalankan file setup, ikuti proses setup Light lt = new Light(); lt.on();

21

22

23

24

25  Compile (CTRL+F9), Run (Ctrl+F10) Light lt = new Light(); lt.on();

26 //Contoh C++ Programming #include int main() { int bushels; float dollars, rate; cout << "How many dollars did you get? $"; cin >> dollars; cout << "For how many bushels? "; cin >> bushels; rate = dollars / bushels; cout.precision(2); cout << "You have received $" << rate << " for each bushel.\n"; return 0; } Light lt = new Light(); lt.on(); Preprocessor Directive Function Prototype Function main() Argument & Return Function

27 Light lt = new Light(); lt.on();  Main Program gunakan  main ( ) contoh  int main () { return ; }

28 Light lt = new Light(); lt.on();  Preprocessor Directive gunakan  #include namaheaderfile contoh  #include #include  Comment in Source Code gunakan  //comment-text

29 Light lt = new Light(); lt.on();  Urutan Arithmetic Operator  ( ), *, /, %, +, -  Y = 2 * 5 * 5 + 3 * 5 + 7 = 10 * 5 + 3 * 5 + 7 = 50 + 3 * 5 + 7 = 50 + 15 + 7 = 65 + 7 = 72  Relational Operator , =  Equality Operator  ==, !=

30 Light lt = new Light(); lt.on();  Aturan penamaan Variable  Diawali huruf atau garis bawah, bukan angka  Case Sensitive  Bukan keyword  Deklarasi Konstanta  Macro Based Constant ▪ #define pi 3.14 ▪ #define kuadrat(x) (x*x)  Named Constant (Formal) ▪ Const float pi = 3.14

31  Aturan penamaan Variable  Diawali huruf atau garis bawah, bukan angka  Case Sensitive  Bukan keyword  Deklarasi Konstanta  Macro Based Constant ▪ #define pi 3.14 ▪ #define kuadrat(x) (x*x)  Named Constant (Formal) ▪ Const float pi = 3.14

32 Light lt = new Light(); lt.on();  Escape sequences can be used as separate characters or embedded in string constants. Escape SequencesCharacter \aBunyi Bell \bBackspace \fForm Feed \nBaris Baru \rReturn \tTab

33 // ex1.cpp: A First Glance // from Hands-on C++ #include main() { cout << "Frankly, my dear...\n"; cout << "C++ is a better C.\n"; return 0; } Light lt = new Light(); lt.on();

34 Thankyou


Download ppt "Pemrograman Berbasis Objek.  Object Oriented Programming in C++ (4 th Ed) (Robert Lafore, SAMS)"

Presentasi serupa


Iklan oleh Google