25 February 2014

Teori Dasar Object Oriented Programming

Siang guys.. Kembali lagi nih, utak-atik postingan yang sudah cukup lama saya tinggalkan. Maklum, tugas lagi lumayan banyak, jadi baru sempat kali ini nge-posting lagi. :D

Buat para programmer, teori OOP pastinya sangat penting. Karena dewasa ini konsep OOP ini meledak dan sedang booming di kalangan para developer. Tapi ngomong-ngomong, apa sih OOP itu?

OOP (Object Oriented Programming) merupakan sebuah teknik yang memfokuskan desain pada object dan class berdasarkan pada skenario dunia nyata. Intinya konsep ini melakukan pengelompokan-pengelompokan coding sehingga memudahkan developer/programmer dalam menangani kesalahan dikemudian hari.

Lalu, bagaimana cara menerapkannya?

Untuk dapat menerapkan konsep OOP di dalam baris coding, tentunya diperlukan latihan terus menerus. Akan tetapi tetap saja pada awalnya harus tahu konsep dasar dalam OOP itu sendiri. Dalam OOP dikenal class, object, constructor, inheritance, polymorphism, dll.



Class, merupakan kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu dimana didalamnya terdapat kumpulan atribut dan method.


Object, merupakan bentuk representasi dari sebuah kelas, membungkus data dan fungsi bersama menjadi suatu unit atau entitas dalam sebuah program komputer. 

Atribut, Sesuatu yang dimiliki oleh objek. Setiap objek yang dibuat dari kelas yang sama akan memiliki atribut yang sama. Pada implementasi program, sebuah atribut ditulis dalam bentuk data/ variable.  

Method, adalah sesuatu yang dapat dilakukan oleh objek. Method dalam implementasi program ditulis dalam bentuk fungsi.

Constructor (Konstruktor), adalah bagian dari definisi suatu kelas yang berfungsi menciptakan instans dari kelas tersebut. Bentuk konstruktor sendiri mirip dengan sebuah metode. Beda yang paling mencolok adalah konstruktor tidak memiliki definisi return type seperti sebuah metode. 

Package, menunjuk pada pengelompokan class dan/atau subpackage. Strukturnya dapat disamakan dengan direktorinya.


Abstraction, adalah kemampuan untuk membuat kelas abstrak pada OOP (kelas yang tidak mungkin mempunyai instans).

Enkapsulasi adalah suatu cara untuk menyembunyikan elemen/field detail dari suatu class.