Pemrograman Prosedural Vs Object Oriented Programming

      Pemrograman prosedural merupakan suatu metode menulis program yang didasarkan pada "serangkaian tugas yang diselesaikan dalam bentuk fungsi atau prosedur". Cara pandang pemrograman prosedural yaitu sebuah program adalah suatu urutan instruksi. Programmer harus mem-break down suatu problem/masalah menjadi sub problem yang lebih sederhana. Fokus utama metode prosedural ini adalah fungsi dan prosedur, dimana keduanya digunakan untuk memanipulasi data. Dalam hal ini data bersifat pasif. Algoritma pada pemrograman procedural berisi langkah-langkah atau tahapan kegiatan tentang penyelesaian suatu masalah dimana program dipecah menjadi beberapa modul yang diistilahkan dengan modular (procedural). Program dibedakan antara bagian data dan bagian instruksi. Bagian instruksi akan dilaksanakan secara berurutan oleh pemrosesan, beberapa instruksi menentukan instruksi berikutnya yang akan dieksekusi (percabangan kondisional). Kemudian, data yang disimpan dalam memori dimanipulasi secara berurutan (procedural). Konsep pemrogramannya yaitu flow programming yang dieksekusi mulai baris awal perintah sampai baris akhir. Pada konsep ini, antara data (varibel, konstanta, dll) dan metode (fungsi dan prosedur) akan dipandang secara terpisah.
     Lain halnya dengan pemrograman berorientasi objek (OOP), fungsi dan data bukan menjadi dua hal yang terpisah. Fungsi dan data menjadi satu kesatuan yang disebut sebagai objek aktif. Cara pandang OOP ini yaitu sebuah program merupakan serangkaian objek yang bekerjasama untuk menyelesaikan suatu problem. Obyek (object) yang dimaksud dalam Object Oriented Programming (OOP) yaitu kumpulan elemen-elemen dalam suatu program dan hubungan yang terjadi antar elemen tersebut. OOP merupakan perkembangan dari paradigma pemrograman procedural yang dibuat untuk mengatasi kesulitan yang ada pada pemrograman procedural.
     OOP merupakan paradigma yang berbeda dengan pemrograman prosedural. Pada pemrograman prosedural, data (variabel, konstanta, dll), metode (prosedur dan fungsi) dan hubungan satu dengan lainnya dipandang secara terpisah, sedangkan pada OOP elemen-elemen serta hubungannya dikemas atau dikelompokkan dalam suatu modul yang dinamakan kelas (class). Kelas inilah yang digunakan untuk membangun atau membentuk obyek.
Dalam OOP juga terdapat langkah-langkah dalam penyelesaian masalah, diantarnya yaitu:
  • Langkah pengkombinasian data dan berbagai metode yang berhubungan dengannya. Hasil kombinasinya disebut sebagai obyek (object) yang merupakan tipe data baru.
  • Membentuk obyek baru yang memiliki sifat sama atau mirip dengan obyek yang sudah ada sebelumnya (pewarisan). Obyek turunan juga dapat membetuk obyek turunan lagi dan seterusnya, dimana setiap perubahan pada obyek induk, juga akan mengubah obyek turunannya.
  • Object yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
       Jika diambil sebuah kasus untuk merepresentasikan sebuah objek (misalnya tabung) dalam pemrogaman procedural dan oop, maka dalam pemrograman procedural akan mendeklarasikan beberapa variabel untuk menggambarkan objek (tabung) tersebut. Semua bagian tabung tersebut akan direpresentasikan ke dalam variabel-variabel terpisah seperti: tinggi, jari-jari, warna, konstanta phi, begitu juga untuk fungsi dan atau prosedur. Namun pada OOP, data-data dimaksud yang disebut dengan atribut dan fungsi atau prosedur yang disebut metode (method) dikemas dalam satu tipe baru yang disebut dengan kelas (class). Dari class inilah nantinya diciptakan obyek-obyek.
        Dengan kata lain, metode prosedural berfokus pada cara komputer menangani tugas, sedangkan metode OOP berfokus pada tugas yang kita kembangkan untuk dieksekusi komputer. Kedua jenis metode pemrograman tersebut dapat digunakan untuk menangani masalah yang sama, asalkan bahasa pemrograman yang digunakan mendukung metode-metode tersebut.

Sumber  :
     http://istiaprillani.wordpress.com/2010/03/07/pemrograman-prosedural-vs-oop/
     http://www.adityarizki.net/2012/06/konsep-dasar-pemrograman-berorientasi-objek/

0 comments:

Post a Comment