Perbedaan Pemograman Berorientasi Objek ( PBO ) Dengan Pemograman Prosedural
Pemrograman berorientasi objek adalah merupakan sebuah metode yang
digunakan untuk mendapatkan solusi dari suatu masalah melalui perspektif
object. Object ini memiliki atribut dan method yang digunakan bersama
dengan object yang lain sehingga menghasilkan solusi untuk sebuah
permasalahan.
Pada model ini, dipecah menjadi bagian - bagian tersendiri yang disebut
dengan object. Dalam pemrograman berorientasi objek, setiap objek akan
memiliki datmethod (perilaku
atau kemampuan melakukan sesuatu, berupa fungsi). Jadi, objek dapat
didefinisikan sebagai suatu entitas yang memiliki data dan method.
Sebagai contoh, manusia adalah suatu objek yang memikiki data - data
(misalnya: nama, jenis kelamin, tinggi badan, berat badan, dan yang
lainnya) dan juga method (misalnya: cara bicara, cara berjalan, cara marah, dan sebagainya).
a (sifat, berupa variable maupun konstanta) dan
Pada pemrograman berorientasi object memungkinkan kita membagi-bagi permasalah berdasarkan object-oject yang terlibat. mendefinisikan peran masing masing objek dalam proses penyelesaian masalah. Sehingga dapat diambil suatu pokok dasar bahwa titik berat pemrograman berorientasi object adalah pembagian tanggung jawab kepada masing masing object dan bukan pembagian berdasarkan proses kerja.
Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Bahasa pemrograman yang mendukung OOP antara lain:
Pemrograman Prosedurala (sifat, berupa variable maupun konstanta) dan
Pada pemrograman berorientasi object memungkinkan kita membagi-bagi permasalah berdasarkan object-oject yang terlibat. mendefinisikan peran masing masing objek dalam proses penyelesaian masalah. Sehingga dapat diambil suatu pokok dasar bahwa titik berat pemrograman berorientasi object adalah pembagian tanggung jawab kepada masing masing object dan bukan pembagian berdasarkan proses kerja.
Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Bahasa pemrograman yang mendukung OOP antara lain:
- Visual Foxpro
- Java
- C++
- Pascal (bahasa pemrograman)
- Visual Basic.NET
- SIMULA
- Smalltalk
- Ruby
- Python
- PHP
- C#
- Delphi
- Eiffel
- Perl
- Adobe Flash AS 3.0
Pada pemrograman prosedural secara
mendasar adalah metode pemrograman yang mengeluarkan perintah yang akan
dieksekusi oleh komputer. Dan biasanya berupa baris baris program yang
dieksekusi secara urut mulai dari baris atas hingga bawah. Teknik yang
lebih canggih menggunakan prosedur dan fungsi yang menjadikan
prosedural menjadi lebih moduler "terbagi menjadi bagian-bagian terkecil". Secara garis besarnya pemrograman prosedural menitik beratkan penyelesaian berdasarkan urutan-urutan proses kerja.
Pada model Pemrograman tradisional atau prosedural (disebut process-oriented model),
semua data dan kode digabung menjadi satu bagian dalam satu program.
Untuk program - program sederhana yang hanya membutuhkan beberapa buah
baris kode, penggunaan model ini tentu tidak begitu menjadi masalah.
Permasalahan baru akan timbul pada saat program tersebut berkembang ke
arah yang lebih besar dan kompleks, yang mungkin membutuhkan ratusan
atau bahkan ribuan baris kode
Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan
urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.
Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).
Bahasa pemrograman yang mendukung pemrograman terstruktur:
- Cobol Turbo Prolog
- C
- Pascal
- Delphi
- Borland Delphi
Bagaimana kita membedakan mana yang pemrograman prosedural dan mana yang pemrograman berorientasi object. Berikut sekilas perbedaannya :
Setelah mengetahu pengertiannya?
dilihat dari pengertian di atas, pemrograman terstruktur memilki beberapa sifat – sifat seperti :
a. Memuat teknik pemecahan masalah yang logis dan sistematis
b. Memuat algoritma yang efisien, efektif dan sederhana
c. Program disusun dengan logika yang mudah dipahami
d. Tidak menggunakan perintah GOTO
e. Biaya pengujian program relatif rendah
f. Memiliki dokumentasi yang baik
g. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah
Berdasarkan penjelasan diatas, sangat jelas sekali bahwa pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri (contohnya ketika dlakukan tracing program ).
Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :
- .maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
- pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya
- dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.
permodelan yang mana yang lebh bagus? itu tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara
Perbedaan mendasar antara OOP dan pemrograman terstruktur adalah:
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sedangkan untuk pemrograman terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur
Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri:
object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ” modules”. Begitu pula halnya dengan “message” pada OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.
Persamaan kedua pemrogaman
adalah keduanya termasuk ke dalam pemodelan pemrograman yang digunakan dewasa ini.
Mana yang lebih baik
tidak ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi tersendiri dalam pemrogramannya. Hal ini juga tergantung pada bagaimana pribadi si pemrogram ingin menyusun program yang akan dibuatnya. Apakah lebih suka menggunakan yang berorientasikan pada objek maupun pemrograman yang terstruktur.
Kapan sama2 baik
Pemrograman prosedural akan dikatakan lebih baik apabila dalam segala situasi melibatkan kompleksitas moderat atau yang memerlukan signifikan kemudahan maintainability. Manfaat yang dirasakan dalam penggunaan pemrograman prosedural adalah kemampuan kembali menggunakan kode yang sama tanpa menggunakan kode yang berbeda ataupun mengkopinya kembali. Dengan menggunakan “goto”, memudahkan programmer melacak kumpulan data sehingga menghindarkan pemrograman terstruktur menjadi seperti spagethii code.
Pemrograman berorientasikan objek dikatakan lebih baik apabila Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Referensi :
- wikipeda.co.id
- darkdevil4bloodyvenus.wordpress.com
- myblogar.blogspot.com
- http://www.ms-room.com
- http://dendibatinova.wordpress.com
- http://warungkopijava.blogspot.com
- http://rohmatulloh-rohmatulloh.blogspot.com
thanks
BalasHapus