210 likes | 541 Views
Pertemuan 2 POP dan OOP. Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun : 2005 Versi : 5. Learning Outcomes. Pada akhir pertemuan ini, diharapkan:
E N D
Pertemuan 2 POP dan OOP Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun : 2005 Versi : 5
Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat menjelaskan perbedaan antara Procedural Oriented Programming (POP) dan Object Oriented Programming (OOP)
Outline Materi • Procedural Oriented Programming (POP). • Object Oriented Programming (OOP).
Procedural Oriented Programming • Metode pemrograman ini memecah program menjadi beberapa fungsi dan modul. • Tidak ada hubungan antara fungsi dan data, Fungsi tidak dapat membatasi akses terhadap data yang global. • Data lokal tersembunyi dalam fungsi dan digunakan secara eklusif oleh fungsi tersebut, tetapi pada saat dua fungsi mengakses data yang sama, maka data tersebut harus dibuat.
Procedural Oriented Programming • Dalam program yang besar, terdapat banyak fungsi dan data global, sehingga timbul masalah: • Struktur program rumit. • Program sulit dimodifikasi, karena perubahan pada data global dapat menyebabkan penulisan program diulang kembali. • Pemrograman terstruktur menggunakan teorema terstruktur: • Sequence (berurutan). • Selection (pemilihan). • Repetition (pengulangan).
Object Oriented Programming • Gagasan dasar dari OOP adalah menggabungkan data dengan fungsi menjadi satu kesatuan yang utuh. • Karakteristik utama dari OOP adalah: • Encapsulation adalah pengemasan data dan fungsi dalam satu wadah bernama obyek. • Encapsulation. • Inheritance. • Polymorphism.
Object Oriented Programming • Inheritance (pewarisan) merupakan sifat dari OOP yang dimungkinkan menurunkan sifat-sifat dari suatu kelas pada kelas yang lain. • Polymorphism merupakan suatu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai berbagai bentuk dan perilaku yang berbeda.
Object Oriented Programming • Keuntungan OOP: • Problem Oriented Approach. • Information Hiding (Data Abstraction). • Reusability & Extensibility. • Improve maintainability. • Low probability errors. • Teamwork.
Perbedaan OOP dengan Non-Obyek • Penggunaan alat: Untuk menggambarkan model dalam PBO digunakan object diagram sedangkan dalam Non-PBO digunakan data flow diagram, entity relationship diagram dan structure chart • Data dan proses: Pada non-obyek, data dan proses dianggap sebagai dua komponen yang berlainan, sedangkan pada PBO, data dan proses merupakan satu kesatuan yaitu bagian dari obyek.
Bahasa C • Flexibility: dapat mengakses / mendekati mesin, namun mudah dimengerti oleh manusia. • Portability: dipakai mulai dari komputer mikro (mikrokontroller) sampai superkomputer. • Bahasa yang paling banyak digunakan dalam ilmu komputer, untuk membuat OS, aplikasi, dll. • Didukung oleh banyak pustaka (libraries).
Bahasa C++ • Bahasa C yang dikembangkan dan diberi kemampuan OOP. • Dikembangkan oleh Bjarne Stroustrup di AT&T Bell Labs pada 1980. • Digunakan pertama kali diluar Bell Labs pada Juli 1983. • Sejak 1987 mulai dikembangkan oleh ANSI dan vendor lainnya.
Bahasa C++ • Karena merupakan subset dari bahasa C, maka library yang ditulis dalam bahasa C dapat dipergunakan dalam C++. • Mendukung metode pemrograman: • Pemrograman abstraksi data, kemampuan menciptakan tipe data. • Pemrograman berorientasi obyek, pemrograman dengan hirarki kelas dan polymorphism. • pemrograman generic, dengan parameterisasi pada data dan fungsi (algoritma).
Perbedaan C dan C++ • Dalam C atau bahasa pemrograman procedural yang lain, cenderung action oriented, sedangkan dalam C++ adalah object oriented. • Dalam C, unit pemrograman adalah fungsi (prosedure), sedangkan dalam C++, unit pemrogramannya adalah kelas (class) yang membentuk object. • Pada C, programmer lebih terfokus pada penulisan fungsi, atau kumpulan action dalam suatu fungsi sehingga terbentuk program, sedangkan dalam C++ programmer memfokuskan pada pembuatan tipe data yang didefinisikan oleh user yaitu class sebagai pembentuk object.
Struktur Program Setiap program C/C++ terdiri dari satu atau lebih fungsi. Bila program tersebut adalah program/modul utama maka dalam program tersebut harus mempunyai fungsi bernama main(). Fungsi main() adalah fungsi yang pertama kali dikerjakan dalam setiap program.
Contoh Program 1. // program C++ sederhana 2. #include <iostream.h> 3. main() 4. { 5. cout << "Selamat belajar AMOOP" 6. << endl; 7. return 0; 8. }
Penjelasan program • Baris (1), merupakan komentar yang tidak dieksekusi pada saat kompilasi • Baris (2), merupakan header file yangdigunakan untuk proses pembacaan dan penulisan • Baris (3), merupakan fungsi main(). Tipe data dari fungsi ini secara default adalah int, sehingga perlu return nilai integer. • Baris (4) dan (8), adalah tanda pembuka dan penutup tubuh program/fungsi main() • Baris (5), digunakan untuk menuliskan “selamat belajar AMOOP” di monitor. • Baris (6), digunakan untuk mengarahkan kursor ke baris berikutnya. • Baris (7), digunakan untuk mengembalikan nilai 0 jika program berjalan baik dan telah selesai.
Penutup • Untuk memahami perbedaan antara POP dan OOP mahasiswa membahas tugas pertemuan 2 no 1, 2, dan 3. (diskusikan dalam kelompok)