twitter



Konsep dasar dan ciri object oriented programing

Ciri-ciri dan konsep penting dalam OOP, antara lain :

1.      Kelas (Class)
Class atau kelas adalah kelompok objek-objek yang memiliki karakteristik yang sama (yang sejenis) dan merupakan kumpulan atas definisi data dengan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu.  
Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

2.      Objek (Object)
Object adalah elemen dasar dari konsep pemrograman, merupakan sesuatu yang memiliki identitas (nama), pada umumnya juga memiliki data tentang dirinya maupun object lain dan mempunyai kemampuan untuk melakukan sesuatu dan bisa bekerja sama dengan objek lainnya. Objek membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program computer.

3.      Method
Method adalah fungsi dan prosedur atau behavior dari suatu objek atau juga sebuah tindakan (implementasi) dari sebuah object . Contohnya pada Komputer  seperti cara memastikan, cara menghidupkan, cara menyimpan, menghapus data dan lain-lain.

4.      Abstraksi
Abstrak merupakan kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu untuk fokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan selain itu proses, fungsi juga dapat di buat abstrak.

5.      Enkapsulasi
Enkapsulasi adalah mekanisme pembungkusan untuk menyembunyikan atau melindungi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem juga sekaligus menyederhanakan penggunaan sistem itu sendiri.

6.      Polimorfisme
Polimorfisme merupakan konsep yang dimungkinkan untuk menggunakan suatu interface yang sama agar suatu objek melakukan aksi atau tindakan yang mungkin secara prinsip sama tapi secara proses bisa berbeda-beda.

7.      Inheritance
Pewarisan atau inheritance adalah sebuah kelas mewarisi state dan behaviour dari kelas lain  atau dengan kata lain kemampuan suatu class (kelas induk) untuk menurunkan sifatnya ke class baru (kelas anak).
Tiga Konsep inheritance :
* Semua atribut & method dari kelas induk diturunkan ke kelas anak
* Pada kelas anak dapat menambahkan atribut & method yang tidak ada pada kelas induk
* Pada kelas anak dapat memodifikasi method (behavior) yang sudah ada di kelas induk




Sumber : http://www.agustav.web.id/2009/11/konsep-oop-objek-oriented-programming.html
               http://chalax212.wordpress.com/2012/09/26/konsep-dasar-object-oriented-programming-oop/
               http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek



Pemrograman Prosedural vs OOp

Dalam dunia pemrograman dikenal dua jenis metode pemrograman yaitu pemrograman prosedural dan object oriented programming. Beberapa hal yang membedakan kedua pemrograman tersebut akan dibahas dalam tulisan dibawah ini.

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. 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.

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. Cara pandang OOP ini yaitu sebuah program merupakan serangkaian objek yang bekerjasama untuk menyelesaikan suatu problem.

Ringkasan :
Pemrograman Prosedural:
1. Fokus utama pada fungsi dan prosedur yang beroperasi pada data
2. Program Besar terbagi dalam program unit kecil yang disebut fungsi
3. Data dan fungsi diperlakukan sebagai entitas terpisah.
4. Data bebas bergerak di sekitar sistem dari satu fungsi lain.
5. Data bersifat pasif.
6. Program desain dengan pendekatan “Top Down” yaitu tugas-tugas kompleks dipecah menjadi bagian yang lebih kecil, sampai sub-tugas tersebut mudah diimplementasikan.
7. Memiliki sudut pandang program adalah suatu urutan instruksi
8. Prosedural fokus pada bagaimana cara komputer menangani masalah
OOP:
1. Menekankan pada data yang sedang beroperasi dan tidak fungsi atau prosedur
2. Program dibagi ke dalam apa yang disebut objek.
3. Data dan fungsi bersama diperlakukan sebagai entitas terpisahkan.
4. Data tersembunyi dan tidak dapat diakses oleh fungsi eksternal.
5. Objek-objek dalam OOP bersifat aktif
6. Program desain pendekatan “Bottom Up ” yaitu membuat prosedur-prosedur untuk menyelesaikan tugas-tugas yang sederhana, kemudian menggabungkan prosedur-prosedur tersebut dalam prosedur yang lebih kompleks, sampai fungsionalitas yang ingin tercapai.
7. Memiliki cara pandang program adalah serangkaian objek yang bekerja sama untuk menyelesaikan suatu problem
8. OOP fokus pada masalah yang ditangani dengan menggunakan komputer


Sumber:  http://istiaprillani.wordpress.com
               http://kinur.wordpress.com
               http://www.adityarizki.net


Sejarah Object oriented programming (oop)

Dasar untuk OOP dimulai pada awal tahun 1960-an, terobosan pertama untuk menggunakan bahasa pemrograman objek adalah Simula 67 yang dirancang untuk tujuan membuat simulasi, dan dikembangkan oleh Kristen Nygaard dan Ole-Johan Dahl di Norwegia.Sebuah pemrograman berorientasi objek pertama kali digali dari rancang bangun sebuah kapal, setiap kapal tentunya mempunyai sebuah pola atau cetakan yang tentunya akan dihasilkan perilaku yang unik, selanjutnya sebuah pola pembuatan kapal tadi dijadikan sebuah class atas objek yang berbetuk kapal.

Istilah "object oriented programming" pertama kali dipakai oleh Xerox PARC. Istilah ini digunakan untuk merujuk kepada proses menggunakan objek sebagai dasar untuk penghitungan. Suatu objek akan dapat dibentuk, diubah dan di hapus. Simula 67 yang telah memberikan masukan terhadap berbagai bahasa pemrograman lain, termasuk Pascal dan Lips. Tahun 1980, C++ mendominasi pemrograman dengan kategori berorientasi objek dan mulai berkembang pemrograman berorientasi objek dengan memikirkan graphics user interface.  
Grafics user interface yang dinamis pertama kali di kembangkan oleh Cocoa dengan struktur yang ada dalam Mac OS X adalah contoh yang baik dari GUI yang dinamis yang bekerja dengan bahasa pemrograman berorientasi objek. Paradigma dari pemrograman ini juga telah memainkan peranan penting dalam pengembangan event-driven programming.
Bahasa pemrograman yang menggunakan teknik pemrograman berorientasi objek diantanya Fortran (bahasa pemrograman untuk pengolahan rumus), BASIC dan pascal. Bahasa pemrograman ini murni karena tidak memiliki fungsi yang diperlukan oleh programmer, hal ini akan memberikan kebuntuan bagi para programmer.
Untuk memecahkan kebuntuan tersebut maka ditemukan Java, Java menjadi populer karena menggunakan virtual machine yang mirip dengan C++, sehingga memungkinkan Java bisa berjalan pada berbagai platform.Kepopuleran pemrograman berorientasi objek telah menyebabkan pengembangan dalam bahasa modeling, design patern, dan lain sebagainya. Sehingga akan memberi harapan pengembangan bahasa pemrograman akan selalu ada dimasa mendatang.



Sumber : http://objekaja.blogspot.com
              http://saidsanklaksana.blogspot.com
              http://farai16.wordpress.com