Perbedaan antara Pemrograman Prosedural dengan Object Oriented Programming
Pada posting ini penulis akan membahas tentang Perbedaan antara program Prosedural dengan OOP (Object Oriented Programming). Penjelasan secara singkat dari 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.
Berikut ini adalah Perbedaan antara program Prosedural dengan OOP :
No.
|
Prosedural
|
No.
|
OOP
|
1
|
Fokus utama pada fungsi dan prosedur yang beroperasi pada data | 1 | Menekankan pada data yang sedang beroperasi dan tidak fungsi atauprosedur |
2
|
Program besar terbagi dalam program unit kecil yang disebut fungsi | 2 | Program dibagi ke dalam apa yang disebut objek |
3
|
Data dan fungsi diperlakukan sebagai entitas terpisah | 3 | Data dan fungsi diperlakukan sebagai entitas terpisah |
4
|
Data bebas bergerak di sekitar sistem dari satu fungsi lain | 4 | Data tersemmbunyi dan tidak dapat diakses oleh fungsi eksternal |
5
|
Data bersifat pasif | 5 | Objek-objek dalam Oop bersifat aktif |
6
|
Program desain dengan pendekatan “Top Down” yaitu tugas-tugas kompleks dipecah menjadi bagian yang lebih kecil, sampai sub-tugas tersebut mudah diimplementasikan | 6 | Program desain pendekatan “Buttom Up” yaitu memuat prosedur-prosedur untuk menyelesaian tugas-tugas yang sederhana, kemudian menggabungkan prosedur-prosedur tersebut dalam prosedur yang lebih kompleks, sampai fungsionalitas yang ingin tercapai |
Perbedaan dari Cara Pandang :
- OOP : program adalah serangkaian objek yang bekerja sama untuk menyelesaikan suatu problem.
- Prosedural : program adalah suatu urutan instruksi.
Beda nyata antara prosedural dan OOP
- Prosedural fokus pada bagaimana cara komputer menangani masalah.
- OOP fokus pada masalah yang ditangani dengan menggunakan komputer.
Prosedural biasa digunakan untuk membuat program yang sederhana sementara OOP untuk yang lebih kompleks karena cara berfikirnya bisa seperti manusia(natural).
Pemrograman prosedural dan pemrograman berorientasi objek (Object-Oriented Programming/OOP) adalah dua paradigma pemrograman yang berbeda dengan pendekatan yang berbeda dalam mengorganisasi dan menulis kode. Berikut adalah perbedaan antara keduanya:
- Pendekatan Dasar:
- Prosedural: Dalam pemrograman prosedural, program terorganisir dalam fungsi-fungsi atau prosedur-prosedur. Kode dieksekusi dari atas ke bawah, baris per baris.
- OOP: Dalam OOP, program terdiri dari objek-objek yang memiliki data (atribut) dan perilaku (metode). Objek-objek ini berinteraksi satu sama lain untuk mencapai tujuan yang diinginkan.
- Pengelolaan Data:
- Prosedural: Data dipisahkan dari fungsi-fungsi, dan sering diakses dan dimodifikasi melalui parameter fungsi atau variabel global.
- OOP: Data dan perilaku terkait dikapsulasi bersama dalam objek. Ini dikenal sebagai konsep enkapsulasi, di mana objek mengatur data dan metode yang beroperasi padanya.
- Inheritance (Pewarisan):
- Prosedural: Tidak ada konsep pewarisan dalam pemrograman prosedural.
- OOP: OOP mendukung konsep pewarisan di mana objek dapat mewarisi sifat-sifat dan perilaku dari objek lain yang lebih umum. Ini memungkinkan untuk penggunaan kode yang lebih efisien dan peningkatan kelas-kelas baru dengan memperluas fungsionalitas yang ada.
- Polymorphism (Polimorfisme):
- Prosedural: Tidak ada konsep polimorfisme dalam pemrograman prosedural.
- OOP: OOP mendukung polimorfisme, yang memungkinkan objek dari kelas yang berbeda untuk merespons pesan-pesan dengan cara yang sesuai dengan kelas mereka sendiri. Misalnya, metode yang sama dapat diterapkan dalam beberapa kelas dengan cara yang berbeda.
- Abstraksi:
- Prosedural: Abstraksi dapat dicapai melalui penggunaan fungsi-fungsi.
- OOP: OOP memungkinkan abstraksi yang lebih kuat dengan konsep kelas dan objek. Anda dapat membuat objek yang merepresentasikan konsep atau entitas dalam domain masalah Anda.
- Perubahan Data:
- Prosedural: Perubahan data dapat lebih sulit dikelola karena tidak ada mekanisme bawaan untuk memvalidasi atau membatasi akses ke data.
- OOP: OOP mengelola perubahan data melalui konsep enkapsulasi. Anda dapat menggunakan metode untuk memvalidasi dan membatasi akses ke data.
Pemilihan antara pemrograman prosedural dan OOP tergantung pada kompleksitas proyek, preferensi pengembang, dan kebutuhan spesifik dari aplikasi yang dikembangkan. OOP sering dianggap lebih cocok untuk proyek-proyek besar dengan kompleksitas yang tinggi karena lebih mudah dalam mengorganisasi kode dan mempertahankan struktur yang terorganisir.
Bahasa pemrograman yang digunakan dalam kedua paradigma tersebut:
- Pemrograman Prosedural:
- Bahasa pemrograman yang sering digunakan untuk paradigma ini antara lain:
- C: C adalah bahasa pemrograman yang sangat populer untuk pengembangan sistem dan pemrograman prosedural. C sering digunakan untuk pengembangan sistem operasi, perangkat lunak embedded, dan aplikasi yang memerlukan kinerja tinggi.
- Pascal: Meskipun tidak sepopuler C, Pascal adalah bahasa pemrograman yang sering digunakan dalam pendidikan dan pengembangan perangkat lunak bisnis pada era sebelumnya.
- Fortran: Fortran adalah bahasa pemrograman yang sering digunakan dalam pemodelan numerik, ilmiah, dan teknik.
- Bahasa pemrograman yang sering digunakan untuk paradigma ini antara lain:
- Object-Oriented Programming (OOP):
- Bahasa pemrograman yang sering digunakan untuk OOP meliputi:
- Java: Java adalah bahasa pemrograman yang sangat populer untuk pengembangan perangkat lunak berbasis web, perangkat lunak enterprise, permainan, dan aplikasi mobile. Java memiliki dukungan yang kuat untuk OOP dengan konsep seperti kelas, warisan, polimorfisme, dan enkapsulasi.
- C++: C++ adalah bahasa pemrograman yang kuat dan fleksibel yang menggabungkan fitur-fitur dari C dengan konsep-konsep OOP. C++ digunakan secara luas dalam pengembangan permainan, aplikasi desktop, sistem embedded, dan aplikasi kecerdasan buatan.
- Python: Python adalah bahasa pemrograman yang sangat populer untuk berbagai keperluan pengembangan perangkat lunak. Python mendukung paradigma OOP dengan cara yang bersih dan efisien, dan sering digunakan dalam pengembangan web, ilmu data, kecerdasan buatan, dan pengembangan perangkat lunak umum.
- Bahasa pemrograman yang sering digunakan untuk OOP meliputi:
Pemilihan bahasa pemrograman juga bergantung pada kebutuhan proyek, preferensi pengembang, dan ekosistem pengembangan yang tersedia untuk bahasa tersebut. Beberapa bahasa, seperti Java dan C++, memiliki dukungan yang kuat untuk OOP, sementara bahasa lainnya, seperti C, lebih fokus pada paradigma pemrograman prosedural.