PERTEMUAN 1 PEMROGRAMAN BERORIENTASI OBYEK DENGAN C LOGO
PERTEMUAN 1 PEMROGRAMAN BERORIENTASI OBYEK DENGAN C++ L/O/G/O 1
LEARNING OUTCOMES Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • menjelaskan sejarah, kemampuan & contoh PBO dengan Bahasa C++ 2
OUTLINE MATERI • Perbedaan C & C++ • Pengenalan C++ • Program C++ pertama 3
SEJARAH C DAN C++ v 1967 – Martin Richard mengembangan Bahasa Pemrograman BCPL (Basic Combined Programming Language) v 1970 – Ken Thomson (Bell Lab) mengembangkan Bahasa B dari Bahasa BCPL utk meng-create Unix v 1972 – Dennis Ritchie (Bell Lab) mengembangkan Bahasa C dari Bahasa B utk di implementasikan pada Komputer DEC PDP-11 (16 -bit minicomputers , Digital Equipment Corp) v C Hardware independent (Portable programs), Fleksibel (Machine Accessible Program), Universal v 1989 – Standarisasi C oleh ANSI & ISO (ANSI/ISO 9899: 1990) 4
SEJARAH C DAN C++ v 1980 – Bjarne Stroustrup (Bell Lab) mengembangkan Bahasa C++ dari Bahasa C v 1983 – C++ dipublikasikan oleh Bell Lab v. C++ C With Classes (Kemampuan Object Oriented Programming) v. OOP membangun software dengan cepat, tepat & ekonomis (produktif), mempermudah programmer menulis & memodifikasi program v. Objects Reuseable & Extendable 5
BERORIENTASI OBJECT • • • 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 An object is a component of a program that knows how to perform certain actions and to interact with other pieces of the program 6
BERORIENTASI OBJECT • 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. 7
TEKNOLOGI OBJECT • Object Software unit packaging together data and methods to manipulate that data • Class Template or factory for creating objects • Attribute Properties/Data item defined as part of class or object • Behaviour Service / Operation / Method / Procedure / Function defined as part of a class or object as implementation 8
TEKNOLOGI OBJECT • • • Message Request sent to an object to execute its method Encapsulation Packaging data and operation into an object/class (Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut) 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 (Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan diciptakan dengan jenis khusus dari objek yang sudah ada - objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang) Polymorphism The ability to hide different implementation behind the common interface 9
OPERATOR, VARIABEL, KONSTANTA • Urutan Arithmetic Operator – (), *, /, %, +, – Y=2*5*5+3*5+7 = 10 * 5 + 3 * 5 + 7 = 50 + 15 + 7 = 65 + 7 = 72 • Relational Operator <, >, <=, >= • Equality Operator == , != 10
OPERATOR, VARIABEL, KONSTANTA • 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 11
STRUKTUR PROGRAM C++ • Preprocessor Directive (# Include ) • Function Prototype (merupakan deklarasi dari sebuah fungsi yang menghilangkan fungsi tubuh tetapi tidak menetapkan nama fungsi tersebut, void main() • Argument & Return Function 12
Contoh Sederhana • • • using namespace std; # Include <iostream. h> / / Pertama definisi dan penggunaan C + + class • / * Ini adalah file adalah definisi kelas minimal dan penggunaan dalam C + + menunjukkan yang paling dasar struktur. */ class Hotel { publik: int roomcount; float occrate; }; • • int main () { Hotel manor; Hotel beechfield; manor. roomcount = 6; beechfield. roomcount = 18; manor. occrate = 0, 85; beechfield. occrate = 0, 35; int totrooms = manor. roomcount + beechfield. roomcount; <<Pengadilan "Total kamar tercantum: " <totrooms <<<" n"; return 0; } / * Membangun dan jalankan: Wizzard: c 232 graham $ make hmain g + + hmain. cpp-o hmain Wizzard: c 232 graham $ / hmain. Jumlah kamar terdaftar: 24 Wizzard: c 232 graham $ */ 13
TUGAS 1 • Tugas 1 A: Mahasiswa secara individu mengerjakan soal sejarah C++ dan dikumpulkan lewat email • Tugas 1 B: Mahasiswa mengerjakan soal konversi program C ke C++ • Tugas 1 C: Mahasiswa mengerjakan soal contoh sistem aplikasi program berbasis object 14
- Slides: 14