L/O/G/O 1 P ERTEMUAN 1 P EMROGRAMAN B ERORIENTASI O BYEK DENGAN C++
L EARNING O UTCOMES Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : menjelaskan sejarah, kemampuan & contoh PBO dengan Bahasa C++ 2
O UTLINE M ATERI Perbedaan C & C++ Pengenalan C++ Program C++ pertama 3
S EJARAH C DAN C++ 1967 – Martin Richard mengembangan Bahasa Pemrograman BCPL (Basic Combined Programming Language) 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 (16-bit minicomputers, Digital Equipment Corp) C Hardware independent (Portable programs), Fleksibel (Machine Accessible Program), Universal 1989 – Standarisasi C oleh ANSI & ISO (ANSI/ISO 9899:1990) 4
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 & Extendable 5 S EJARAH C DAN C++
B ERORIENTASI O BJECT 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 6 An object is a component of a program that knows how to perform certain actions and to interact with other pieces of the program
B ERORIENTASI O BJECT 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
T EKNOLOGI O BJECT 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
T EKNOLOGI O BJECT 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 dan 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
O PERATOR, V ARIABEL, K ONSTANTA Urutan Arithmetic Operator –( ), *, /, %, +, - –Y = 2 * 5 * * = 10 * * = * = = = 72 Relational Operator , = Equality Operator ==, != 10
O PERATOR, V ARIABEL, K ONSTANTA 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 =
S TRUKTUR P ROGRAM 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 / / 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; }; 13 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: c232 graham $ make hmain g + + hmain.cpp-o hmain Wizzard: c232 graham $ / hmain. Jumlah kamar terdaftar: 24 Wizzard: c232 graham $ * /
T UGAS 1 Tugas 1A: Mahasiswa secara individu mengerjakan soal sejarah C++ dan dikumpulkan lewat Tugas 1B: Mahasiswa mengerjakan soal konversi program C ke C++ Tugas 1C: Mahasiswa mengerjakan soal contoh sistem aplikasi program berbasis object 14