Konsep dari Object Oriented Programming (OOP) sendiri adalah lebih dari sekedar sebuah konsep pemrograman, dimana cara berpikir tentang aplikasi yang mempelajari untuk memandang bahwa aplikasi bukan sekedar prosedur melainkan sebagai objek dan real entity. Objek yang dimaksud disini memiliki pengertian suatu modul yang mengkombinasikan antara data dan kode program yang bekerja sama dalam program dengan melewatkan proses satu sama lain. Jadi, OOP merupakan cara yang paling efisien untuk menulis program komputer yang sangat mudah untuk dikombinasikan dan untuk dipergunakan kembali.
OOP lebih memfokuskan kepada manipulasi object. Kenapa seorang programmer harus mempelajari OOP, bahkan seorang programmer yang tidak pernah bekerja dengan OOP pun harus mempelajarinya juga. Hal ini dikarenakan, suatu saat nanti semua bahasa pemrograman akan menambahkan kemampuan OOP pada bahasanya.
Selanjutnya, kita akan melihat beberapa konsep dasar umum yang biasanya terdapat pada semua bahasa pemrograman yang mendukung OOP:
Objek
Secara sederhana, Objek merupakan segala sesuatu yang dapat dibedakan satu sama lainnya. Segala sesuatu yang ada di alam semesta ini adalah Objek. Contohnya: manusia, mobil, hewan, tumbuhan, tempat, atau bahkan yang tidak bersifat fisik seperti kejadian atau konsep-konsep. Sehingga bisa disimpulkan bahwa Objek tidak harus bersifat fisik, karena jika dikaitkan dengan OOP, Objek akan menjadi bentuk logis.
Dalam bahasa teoretis OOP, Objek berfungsi untuk membungkus data dan fungsi bersama menjadi satu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer yang berorientasi pada objek.
Setiap Objek memiliki dua ciri khas, yaitu Atribut/Properti (data merupakan ciri-ciri Objek) dan Method/Behavior. Untuk lebih jelasnya, silahkan lihat ilustrasinya pada gambar berikut:
Class
Definisi Class yaitu template untuk membuat Objek. Class merupakan prototipe atau blue print yang mendefinisikan variabel-variabel dan method-method secara umum. Objek merupakan hasil instances dari suatu Class. Proses pembentukan objek dari suatu Class disebut sebagai instances. Objek disebut juga sebagai instances.
Dalam bahasa teoritis OOP, Class merupakan kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh class of dog adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Untuk lebih jelasnya, silahkan lihat ilustrasi pada gambar berikut:
Dalam bahasa teoritis OOP, Class merupakan kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh class of dog adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Untuk lebih jelasnya, silahkan lihat ilustrasi pada gambar berikut:
Properti
Properti atau Atribut adalah data yang membedakan antara objek satu dengan yang lainnya. Contohnya seperti pada gambar 1.2 terdapat Objek manusia yang memiliki Atribut tinggi, umur dan berat.
Dalam Class, Atribut sering disebut sebagai Variabel. Atribut dibedakan menjadi dua jenis, yaitu Instance Variable dan Class Variable.
Instance Variable adalah Atribut untuk setiap Objek dari Class yang sama. Setiap objek mempunyai dan menyimpan nilai Atributnya sendiri. Jadi, setiap Objek dari Class yang sama boleh mempunyai nilai yang sama atau berbeda.
Instance Variable adalah Atribut untuk setiap Objek dari Class yang sama. Setiap objek mempunyai dan menyimpan nilai Atributnya sendiri. Jadi, setiap Objek dari Class yang sama boleh mempunyai nilai yang sama atau berbeda.
Class Variable adalah Atribut untuk semua Objek yang dibuat dari Class yang sama. Semua Objek mempunyai nilai atribut yang sama. Jadi, semua Objek dari Class yang sama mempunyai hanya satu nilai yang isinya sama.
Method
Behavior atau tingkah laku adalah hal-hal yang bisa dilakukan oleh Objek dari suatu Class. Behavior dapat digunakan untuk mengubah nilai Atribut suatu Objek, menerima informasi dari Objek lain, dan mengirim informasi ke Objek lain untuk melakukan suatu tugas (task). Contohnya seperti pada gambar diatas terdapat Objek manusia memiliki Behavior/Method jalan, lari, lompat, marah dan sebagainya.
Dalam Class, Behavior disebut juga sebagai Method. Method sendiri adalah serangkaian pernyataan dalam suatu Class yang menghandle suatu task tertentu. Cara Objek berkomunikasi dengan Objek yang lain dengan menggunakan Method.
Encapsulation (Pembungkusan)
Salah satu ciri penting OOP adalah Encapsulaption. Definisi Encapsulation secara teoritis adalah pembungkusan variabel dan method dalam sebuah obyek yang terlindungi serta menyediakan interface untuk mengakses variabel tersebut. Variabel dan method yang dimiliki oleh suatu objek, bisa ditentukan hak aksesnya.
Sebagai contoh jam tangan. Dalam hal ini, penting sekali untuk mengetahui waktu, sedangkan cara jam mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting untuk kita ketahui.
Contoh lain, dalam mengendarai motor misalnya, pengendara hanya perlu mengetahui cara mengoper gigi, tanpa perlu tahu bagaimana mesin bergerak berdasarkan operan giginya.
Dengan kata lain, enkapsulasi berfungsi untuk memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam/dari sebuah objek dengan cara yang tidak layak; hanya method dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
Inheritance (Pewarisan)
Inheritance merupakan pewarisan atribut dan method dari sebuah class ke class lainnya. Class yang mewarisi disebut superclass dan Class yang diwarisi disebut subclass. Subclass bisa berlaku sebagai superclass bagi class lainya, disebut sebagai multilevel inheritance.
Sebagai contoh terdapat class mobil sport dan mobil minibus . Mobil termasuk superclass. Mobil sport dan mobil minibus termasuk subclass. Hal ini dikarenakan mobil sport dan mobil minibus memiliki variabel dan method yang dimiliki oleh class mobil, yaitu sama-sama memiliki variabel/properti nomor kendaraan, nomor mesin dan memiliki memiliki method bisa berjalan, berbelok, mengerem.
Sebagai contoh terdapat class mobil sport dan mobil minibus . Mobil termasuk superclass. Mobil sport dan mobil minibus termasuk subclass. Hal ini dikarenakan mobil sport dan mobil minibus memiliki variabel dan method yang dimiliki oleh class mobil, yaitu sama-sama memiliki variabel/properti nomor kendaraan, nomor mesin dan memiliki memiliki method bisa berjalan, berbelok, mengerem.
Prinsip dasar inheritance yaitu persamaan-persamaan yang dimiliki oleh beberapa class dapat digabungkan dalam sebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifik untuk class yang bersangkutan. Secara singkat bisa diartikan, teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung.
Polimorfisme
Polimorfisme adalah kemampuan suatu objek untuk mempunyai lebih dari satu bentuk. Polimorfisme tidak bergantung kepada pemanggilan subrutin. Metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tunggal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
Polimorfisme bisa juga diartikan sebagai aksi yang sama yang dapat dilakukan terhadap beberapa Objek. Polimorfisme berarti bahwa operasi yang sama mungkin mempunyai perbedaan dalam Class yang berbeda.
Sekian Dulu Dari tutorial kali ini masih banyak lagi tutorial yang ampuh untuk belajar anda , terus kunjungi lapakcode Terima kasih