download

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