Perbandingan POP & OOP Pertemuan ke 7
Outline Materi Procedural Oriented Programming (POP). Object Oriented Programming (OOP).
Procedural Oriented Programming HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII 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. Institut Bisnis dan Informatika Indonesia
Procedural Oriented Programming HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII 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). Institut Bisnis dan Informatika Indonesia
Object Oriented Programming HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII Gagasan dasar dari OOP adalah menggabungkan data dengan fungsi menjadi satu kesatuan yang utuh. Karakteristik utama dari OOP adalah: Encapsulation. Inheritance. Polymorphism. Encapsulation adalah pengemasan data dan fungsi dalam satu wadah bernama obyek. Institut Bisnis dan Informatika Indonesia
Object Oriented Programming HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII 4. Inheritance (pewarisan) merupakan sifat dari OOP yang dimungkinkan menurunkan sifat-sifat dari suatu kelas pada kelas yang lain. Class adalah sebuah katagori, ia merupakan katagori dari object-object yang mempunyai attribut dan operasi yang sama. 5. Polymorphism merupakan suatu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai berbagai bentuk dan perilaku yang berbeda. Institut Bisnis dan Informatika Indonesia
Object Oriented Programming HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII Object Oriented Programming Keuntungan OOP: Problem Oriented Approach. Information Hiding (Data Abstraction). Reusability & Extensibility. Improve maintainability. Low probability errors. Teamwork. Institut Bisnis dan Informatika Indonesia
Perbedaan OOP dengan Non-Obyek HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII 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. Institut Bisnis dan Informatika Indonesia
Struktur program dari POP HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII Struktur program dari POP Institut Bisnis dan Informatika Indonesia
Struktur program dari OOP HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII Institut Bisnis dan Informatika Indonesia
Bahasa C HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII 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). Institut Bisnis dan Informatika Indonesia
Bahasa C++ Bahasa C yang dikembangkan dan diberi kemampuan OOP. HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII 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. Institut Bisnis dan Informatika Indonesia
Bahasa C++ HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII 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). Institut Bisnis dan Informatika Indonesia
Perbedaan C dan C++ C action oriented unit pemrograman adalah fungsi (prosedure) programmer lebih terfokus pada penulisan fungsi, atau kumpulan action dalam suatu fungsi sehingga terbentuk program C++ object oriented unit pemrogramannya adalah kelas (class) yang membentuk object programmer memfokuskan pada pembuatan tipe data yang didefinisikan oleh user yaitu class sebagai pembentuk object
HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII 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. Institut Bisnis dan Informatika Indonesia
Contoh Program #include<conio.h> #include<iostream.h> HAK CIPTA DILINDUNGI UNDANG-UNDANG DILARANG KERAS MEMPERBANYAK / MENGCOPY TANPA SEIZIN COPY CENTRE IBII Contoh Program #include<conio.h> #include<iostream.h> #include<string.h> #include<iomanip.h> class motor { public; char merk[50]; char jenis[50]; double harga; int stok; }; motor sport; void main() { strcpy(sport.merk, “Honda CB1100SF XII”); strcpy(sport.jenis, “HONDA”); sport.harga=67800000; sport.stok=150; cout<<“Merk Motor sport :”<<sport.merk<<endl; cout<<“Jenis Motor :”<<sport.jenis<<endl; cout<<setiosflags(ios::fixed); cout<<“Harga Motor :”; cout<<setprecsion(0)<<sport.harga<<enl; cout<<“Stok Motor :”<<sport.stok<<endl; getche(); } Institut Bisnis dan Informatika Indonesia