Perbedaan antara Pemrograman Terstruktur dengan Pemrograman Berbasis Objek

Berikut ini perbedaan antara Pemrograman Terstruktur dengan Pemrograman Berbasis Objek

Ciri dari Pemrograman Terstruktur:
1. Memecah program dalam fungsi dan data
2. Memiliki ciri Sequence (berurutan), Selection (pemilihan) dan Repetition (perulangan) 
3. Struktur program rumit karena berupa urutan proses dan fungsi-fungsi  
4. Re-use kode program kurang
5. Efektif digunakan untuk menyelesaikan masalah kecil dan tidak cocok untuk menyelesaikkan masalah yang rumit, karena nantinya akan kesulitan menemukan solusi permasalahan ketika terjadi error  
6. Mudah diawal, namun kompleks diproses selanjutnya
7. Eksekusi lebih lambat karena setiap perintah dikerjakan berurutan  


contoh:
#include <iostream.h>
void garis()  {
for (i=0; i<49; i++) cout << ‘-‘;
cout << endl;
}
void judul(){
int i;
cout << “\t\tDaftar Buku”<< endl;  // \t = tabulasi
garis();
cout <<”Judul Buku”<<”\t\tPengarang”<< endl;
garis();
}
void main()  {
judul();
}

Ciri dari Pemrograman Berbasis Objek:
1. Menggabungkan fungsi dan data dalam kelas – kelas atau objek - objek
2. Memiliki ciri Encapsulation (pengemasan), Inheritance (penurunan sifat) dan Polymorphism (perbedaan bentuk dan perilaku)
3. Struktur program ringkas, cukup dengan membuat Objek dan class lalu bekerja berdasarkan object dan class tersebut.
4. Kode program sangat re-usable. object dan class dapat digunakan berkali-kali, sehingga dapat menghemat space memori.   

5. Efektif digunakan untuk menyelesaikan masalah besar, karena OOP terdiri dari class-class yang memisahkan setiap kode program menjadi kelompok - kelompok kecil, sesuai dengan fungsinya
6. Sulit diawal (karena harus membuat class) namun selanjutnya akan terasa mudah dan cepat
7. Eksekusi lebih cepat karena dieksekusi bersamaan, program hanya mengatur Objek, properties dan method-nya saja   

contoh:
#include <iostream>
using namespace std;
class PersegiPanjang{
int panjang,lebar;
public:
int luas(){
return (panjang*lebar);
}
void set_values(int x,int y){
panjang = x;
lebar = y;
}
};
class Segitiga{
int alas,tinggi;
public:
float luas(){
return (alas*tinggi*0.5);
}
void set_values(int a, int t){
alas = a;
tinggi = t;
}
};

int main(){
PersegiPanjang Kotak1;
PersegiPanjang Kotak2;
Segitiga Segitiga1;
Segitiga Segitiga2;
Kotak1.set_values(10,10);
Kotak2.set_values(5,5);
Segitiga1.set_values(7,6);
Segitiga2.set_values(3,7);
cout << “Luas Kotak 1 adalah ” << Kotak1.luas() << endl;
cout << “Luas Kotak 2 adalah ” << Kotak2.luas() << endl;
cout << “Luas Segitiga 1 adalah ” << Segitiga1.luas() << endl;
cout << “Luas Segitiga 2 adalah ” << Segitiga2.luas() << endl;
}

Comments

Popular posts from this blog

Image Viewer

Tugas PBO

TUGAS 5