Matakuliah Tahun : T0456 / Algoritma dan Metode Object Oriented Programming : 2007 Perbedaan Metode Pemrograman Procedural dan Object oriented Pertemuan 2 Learning Outcomes Pada akhir pertemuan ini, diharapkan: •Mahasiswa dapat merumuskan perbedaan antara procedural oriented programming dengan object oriented programming Buku Referensi: C++ - How to program, Deitel & Deitel, Prentice Hall, 2001. Websites: http://www.deitel.com Bina Nusantara Outline Materi • • • • • • • • Procedural Oriented Programming (POP). Object Oriented Programming (OOP). Perbedaan POP dan OOP Struktur Program POP Struktur program OOP Bahasa C Bahasa C++ Perbedaan Bahasa C dan C++ Bina Nusantara Procedural Oriented Programming 1. 2. 3. Bina Nusantara 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 4. Dalam program yang besar, terdapat banyak fungsi dan data global, sehingga timbul masalah: o Struktur program rumit. o Program sulit dimodifikasi, karena perubahan pada data global dapat menyebabkan penulisan program diulang kembali. 5. Pemrograman terstruktur menggunakan teorema terstruktur: o Sequence (berurutan). o Selection (pemilihan). o Repetition (pengulangan). Bina Nusantara Object Oriented Programming 1. 2. Gagasan dasar dari OOP adalah menggabungkan data dengan fungsi menjadi satu kesatuan yang utuh. Karakteristik utama dari OOP adalah: o Encapsulation. o Inheritance. o Polymorphism. 3. Bina Nusantara Encapsulation adalah pengemasan data dan fungsi dalam satu wadah bernama obyek. Object Oriented Programming 4. 5. Bina Nusantara 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 6. Keuntungan OOP: o o o o o o Bina Nusantara Problem Oriented Approach. Information Hiding (Data Abstraction). Reusability & Extensibility. Improve maintainability. Low probability errors. Teamwork. Perbedaan OOP dengan Non-Obyek 1. Penggunaan alat: Untuk menggambarkan model dalam PBO digunakan object diagram sedangkan dalam Non-PBO digunakan data flow diagram, entity relationship diagram dan structure chart 2. 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. Bina Nusantara Struktur program dari POP Bina Nusantara Struktur program dari OOP Bina Nusantara Bahasa C 1. 2. 3. 4. Bina Nusantara 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++ 1. 2. 3. 4. Bina Nusantara 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++ 5. 6. 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). Bina Nusantara Perbedaan Bahasa C dan C++ 1. 2. 3. Bina Nusantara 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. Bina Nusantara Contoh Program 1. 2. 3. 4. 5. 6. 7. 8. Bina Nusantara // program C++ sederhana #include <iostream.h> main() { cout << "Selamat belajar AMOOP“ << endl; return 0; } 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. Bina Nusantara Diskusi dan Tanya Jawab ??? 20 Bina Nusantara
© Copyright 2024 Paperzz