Pernah mendengar procedural programming?
Atau pernah mendengar Object Oriented Programming?
Procedural Programming ataupun Object Orienterd
Programming (OOP) merupakan bentuk struktur data dari algoritma
pemrograman. Object Oriented Programming (OOP) adalah suatu metode
pemrograman yang berbasiskan pada objek, secara singkat pengertian dari
OOP adalah koleksi objek yang saling berinteraksi dan saling memberikan
informasi satu dengan yang lainnya. Pemrograman Terstruktur adalah suatu
proses untuk mengimplementasikan urutan langkah untuk menyelesaikan
suatu masalah dalam bentuk program.
Jadi apa bedanya?
Procedural programming itu berorientasi pada aksi, berbanding terbalik dengan OOP yang berorientasi terhadap objek.
Nicklaus wirth, seorang ilmuwan komputer dari
Swiss, yang telah merancang berbagai bahasa pemrograman, seperti Algol
W, Pascal, Modula, Modula-2, dan Oberon, memberikan judul bukunya
Algorithms + Data Structures = Programs. Dari judulnya, secara tidak
langsung beliau mengatakan bahwa algoritma dahulu, struktur data
kemudian.
Menurut Nicklaus wirth, pada awalnya pikirkan
dahulu bagaimana memanipulasi data, baru kemudian menentukan struktur
data apa yang tepat digunakan agar manipulasinya menjadi mudah. OOP
membalik urutan tersebut dengan merancang struktur data diawal, baru
kemudian mencari algoritma terbaik untuk memanipulasi data.
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.
Kelebihan OOP
- data dan fungsi dibungkus dalam kelas – kelas atau objek – objek
- efektif digunakan untuk menyelesaikan masalah besar, karena OOP terdiri dari class-class yang memisahkan setiap code program menjadi kelompok-kelompok kecil, sesuai dengan fungsinya.
- Fungsi-fungsi algoritma yang terbagi menjadi beberapa class dapat memudahkan kita dalam memahami program, begitu juga ketika ada bug pada program, kita bisa lebih mudah menemukan penyebab errornya dibanding ketika menggunakan prosedural programming.
- object dan class dapat digunakan berkali-kali, sehingga dapat menghemat space memori.
Kekurangan OOP
- programmer yang telah terbiasa membuat program dengan konsep prosedural sering merasa kesulitan ketika dihadapkan dengan OOP. Biasanya "mereka" bingung dengan banyaknya istilah-istilah dalam OOP.
Kelebihan Prosedural
- efektif digunakan untuk menyelesaikan masalah kecil
- memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana
Kekurangan Prosedural
- Tidak cocok untuk menyelesaikkan masalah yang rumit, karena nantinya akan kesulitan menemukan solusi permasalahan ketika terjadi eror.
Pada dasarnya pemrograman berorientasi objek maupun
prosedural 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. Tapi sebenarnya struktur
pemrograman apapun yang digunakan, kembali lagi kepada programmernya
sendiri. Ketika seorang programmer telah terbiasa dengan bahasa
prosedural, ia tidak bisa dipaksa menggunakan OOP.
Posting Komentar