Berorientasi Objek
-STRUKTUR DATA-
Pengantar (1)
Pemrograman Terstruktur adalah suatu aktifitas
pemrograman dengan memperhatikan urutan
langkah-langkah perintah secara sistematis,
logis, dan tersusun berdasarkan algoritma yang
sederhana dan mudah dipahami.
Pemrograman Berorientasi Objek (Inggris:
object-oriented programming disingkat OOP)
merupakan paradigma pemrograman yang
berorientasikan kepada objek, jadi semua data
dan fungsi di dalam paradigma ini dibungkus
dalam kelas-kelas atau objek-objek.
Pengantar (2)
Perbedaan keduanya adalah pada pemrograman
berorientasi objek setiap objek dapat menerima
pesan, memproses data, dan mengirim pesan ke
objek lainnya.
Sedangkan untuk pemrograman terstruktur
adalah sebuah cara pemrosesan data yang
terstruktur (sistematis) dalam analisa, cara dan
penulisan pemrograman.
Pengantar (3)
Pemrograman terstruktur unggul dalam melakukan
pemrograman sederhana karena lebih efisien dan
lebih mudah dalam hal perawatannya.
Sementara itu pemrograman berorientasi objek
memliki beberapa keuntungan seperti :
Maintenance, program lebih mudah dibaca dan
dipahami, dan pemrograman berorientasi obyek
mengontrol kerumitan program hanya dengan
mengijinkan rincian yang dibutuhkan untuk
programmer.
Pengubahan program (berupa penambahan atau
penghapusan fitur tertentu) disesuaikan dengan
keperluan berdasarkan objeknya.
Class
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.
Class adalah suatu struktur dalam program yang
berisi satu atau beberapa metode (dapat berupa
fungsi dan/atau prosedur) dan atribut (dapat
berupa data ataupun variabel yang akan
dipoerasikan dalam metode).
Dengan demikian atribut merupakan anggota kelas
yang bersifat statis, sedangkan metode merupakan
anggota kelas yang bersifat dinamis.
Object
Setiap obyek dibangun dari sekumpulan data
(atribut) yang disebut variabel untuk menjabarkan
karakteristik khusus dari obyek, dan juga terdiri
dari sekumpulan method yang menjabarkan
tingkah laku dari obyek.
Bisa dikatakan bahwa obyek adalah sebuah
perangkat lunak yang berisi sekumpulan variabel
dan method yg berhubungan.
Sebuah obyek adalah sebuah instance (keturunan)
dari class.
Metodologi PBO
Terdapat 3 (tiga) metodologi dasar PBO yaitu :
1. Pemodulan/pengkapsulan (encapsulation)
2. Penurunan/pewarisan (Inheritance)
3. Polimorfisme (Polimorphism)
Pemodulan/pengkapsulan
(encapsulation)
Pemodulan adalah metode untuk menggabungkan
data dengan fungsi. Dalam konsep ini data dan fungsi
digabung menjadi satu kesatuan yaitu kelas.
Konsep ini erat kaitannya dengan konsep
penyembunyian informasi (information hiding).
Contoh :
Mobil adalah sebuah kelas. Seorang pengendara
mobil tidak harus tahu bagaimana proses kerja mesin
mobilnya, pembakaran bahan bakar, proses
pemindahan transmisi gigi, dan seterusnya. Yang dia
tahu adalah bahwa setir untuk mengendalikan
jalannya mobil, pedal gas untuk menambah
kecepatan, pedal rem untuk mengurangi kecepatan,
dan seterusnya. Singkatnya dia hanya tahu bahwa
mobilnya berjalan dengan baik.
Penurunan/pewarisan (Inheritance)
Dari konsep penurunan ini suatu kelas bisa
diturunkan menjadi kelas baru yang masih
mewarisi sifat-sifat kelas orangtuanya.
Hal ini dapat dianalogikan dengan kelas
manusia. Manusia merupakan turunan dari
orang tuanya dan sifat-sifat orang tua diwarisi
olehnya.
Bisa ditarik kesimpulan bahwa semua kelas di
dunia selalu memiliki hirarki yang
menggambarkan silsilah kelas tersebut.
Penurunan/pewarisan (Inheritance)
Contoh:
Dari kelas kendaraan bermotor dapat
diturunkan beberapa kelas baru, misalnya:
sepeda motor, sedan, pick-up, mini-bus, dan
kendaraan roda banyak.
Penurunan/pewarisan (Inheritance)
Contoh 2: kelas sepeda motor mungkin masih dibagi lagi menjadi
dua kelas, yaitu sepeda motor 2 tak dan 4 tak. Sepeda motor 2 tak
mungkin masih dibagi lagi menurut pabrik pembuatnya, seperti
Honda, Suzuki, Yamaha, dan seterusnya. Masing-masing pabrik
mungkin masih mempunyai beberapa kelas turunan lagi, seperti
Honda Astrea Star, Honda Astrea Grand, dan seterusnya.
Keuntungan Pewarisan
Subclass menyediakan state/behaviour yang
spesifik yang membedakan dengan superclass.
Memungkinkan programmer untuk
menggunakan ulang source code dari superclass
yang telah ada.
Programmer dapat mendefinisikan superclass
khusus yang bersifat generik, yang disebut
abstract class, untuk mendefinisikan class
dengan tingkah laku dan state secara secara
umum.
Polimorfisme (Polimorphism)
Polimorfisme berarti kelas-kelas yang berbeda
tetapi berasal dari satu orang tua dapat mempunyai
metode yang sama tetapi cara pelaksanaannya
berbeda-beda. Atau dengan kata lain, suatu fungsi
akan memiliki perilaku berbeda jika dilewatkan ke
kelas yang berbeda-beda.
Contoh: kelas untuk input sound system. Sebuah
tape recorder dan CD player memiliki tombol PLAY
yang berfungsi untuk memainkan musik yang
dikehendaki. Tape recorder mengimplementasikan
tombol PLAY dengan membaca isyarat-isyarat yang
terekam di pita magnetis kaset, sedangkan CD
player menggunakan sinar laser untuk membaca
bit-bit digital yang terekam di permukaan CD.
Bahasa Pemrograman
Bahasa pemrograman yang mendukung OOP antara lain:
Visual Foxpro
Java
C++
Pascal (bahasa pemrograman)
Visual Basic.NET
SIMULA
Smalltalk
Ruby
Python
PHP
C#
Delphi
Eiffel
Perl
Adobe Flash AS 3.0