Pengantar atau Kaidah Dasar pemograman Berorientasi Objek
Pemograman
Berorientasi Objek (PBO) atau OOP (Object Oriented Programming) adalah suatu cara
baru dalam berpikir serta berlogika dalam menghadapi masalah-masalah yang akan
dicoba-atasi dengan bantuan komputer. OOP mencoba melihat permasalahan lewat
pengamatan dunia nyata dimana setiap objek adlah entitas tunggal yang memiliki
kombinasi struktur data dan fungsi tertentu.
Faktor
utama ditemukannya pendekatan berorientasi objek adalah karena ditemukannya
kekurangan- kekurangan pada pendekatan terstruktur yaitu : biaya pengembangan
perangkat lunak yang sangat tinggi, pemeliharaan yang sukar, lamanya penyelesaian
suatu proyek, jangka waktu penyelesaian proyek yang hampir selalu terlambat, dan
sebagainya.
Pengertian Objek dan dalam OOP
Objek
dalam OOP adalah konsep atau abstraksi tentang sesuatu yang memiliki arti bagi
aplikasi yang akan dikembangkan. Objek biasanya adalah kata benda, namun objek
dalam konteks OOP bukan hanya objek nyata yang bisa diraba dan dilihat secara kasat
mata seperti mobil, kuda, buku, gitar, komputer dan sebagainya, namun juga
menyangkut dengan entitas-entitas konseptual seperti rumus persamaan kuadrat,
liberialisme, marxisme, dan sebagainya.
Menurut
Khoshafian, “Identitas adalah sesuatu
yang membedakan antara suatu objek dari objek yang lainnya”. Secara umum
dapat dikatakan bahwa objek adalah ‘sesuatu’ didunia nyata yang memiliki
peranan tertentu dalam aplikasi yang akan dikembangkan.
Menurut
Ali Bahrani (1999), Objek dapat
digolongkan memjadi beberapa kategori :
1. Objek Konsep.
Konsep adalah ide atau pemahaman yang kita miliki
tentang suatu fakta yang ada di dunia nyata. Objek konsep digunakan untuk mengorganisasi
aktivitas bisnis atau digunakan untuk berkomunikasi dengan seseorang. Objek
konsep ini sangat penting sebab tanpa konsep-konsep, pemikiran kita akan
menjadi kacau. Contoh dari objek konsep adalah kinerja.
2. Objek Event.
Objek Event adalah sebuah titik dalam waktu yang harus
direkam. Sesuatu hal terjadi pasti pada waktu tertentu, baik sebagai event
tunggal ataupun sebagai bagian dari urutan event. Sesuatu yang berhubungan
dengan event adalah pertanyaan-pertanyaan seperti kapan, siapa, apa, dimana, bagaimana, atau mengapa. Contoh dari
objek event adalah: pendaratan,
interupsi, permintaan, penekanan tombol, serta pemesanan.
3. Objek Organisasi.
Objek organisasi adalah kumpulan orang-orang,
sumberdaya, fasilitas-fasilitas, atau kelompok yang dimiliki pengguna. Contohnya
adalah departemen akuntansi, departemen
riset dan pengembangan, dan sebagainya.
4. Objek Manusia.
Objek manusia menampilkan peran-peran (roles)
yang berbeda dalam hubungannya dengan sistem/perangkat lunak yang kita kembangkan.
Coad dan Yourdon membagi objek manusia dalam 2 kategori : pengguna yang
berinteraksi dengan sistem serta orang-orang yang tidak menggunakan sistem
tetapi informasi tentang orang-orang ini dipelihara oleh sistem. Contoh objek
manusia ini adalah : karyawan, klien,
direktur, dosen, serta manager.
5. Objek Tempat.
Objek tempat meliputi lokasi fisik yang harus
dicatat dalam sistem. Misalnya : gedung,
toko, kantor, dan sebagainya.
6. Sesuatu Yang Terukur Serta Objek Peralatan.
Objek ini meliputi objek fisik serta kelompok objek terukur serta
peralatan-peralatan yang berinteraksi dengan sistem yang kita kembangkan. Contohnya,
mobil adalah sesuatu yang terukur
sedangkan sensor tekanan adalah
peralatan.
Konsep Polimorfisme dan Konsep Pewarisan
Polimorfisme yaitu konsep yang menyatakan bahwa suatu fungsi
yang sama dapat diterapkan dan dapat dimiliki oleh kelas-kelas yang berlainan. Misalnya,
fungsi makan, dapat diterapkan pada baik kelas primata maupun pada kelas
burung. Burung dan primata sama-sama
perlu makan meskipun dengan cara yang berbeda. Pada kasus komputer misalnya “Gambar”, gambar dapat ditemukan pada ListBox, ComboBox, Button dan
sebagainya. Meskipun operasinya sama, implementasinya berbeda untuk
masing-masing objek pada layar komputer itu.
Konsep
Pewarisan (Inheritance) adalah berbagi atribut dan operasi antarkelas
berdasarkan hierarki kelas. Contoh, misalkan ScrollingWindow (Window yang memiliki penggulung) serta FixedWindow (window yang tidak memiliki
penggulung) dapat digolongkan/diklasifikasikan pada kelas yang lebih tinggi yaitu
: Window. Kedua kelas dibawahnya (ScrollingWindow dan FixedWindow) mewarisi data-data serta fungsi-fungsi yang dimiliki
Window sebagai kelas pendahulu, misalnya : tampak di layar monitor, dapat
dibuka, dapat ditutup, dapat diperkecil, dapat diperbesar, memiliki warna
tertentu, bereaksi terhadap peng-klik-an tombol mouse, dan sebagainya. Dalam konteks
pemograman berorientasi objek, pewarisan akan sangat mengurangi penulisan kode
dan mungkin merupakan salah satu keunggulan utama dalam rekayasa perangkat
lunak karena kemungkinan penulisan kode yang lebih sedikit tanpa mengorbankan
esensi perangkat lunak secara keseluruhan. Selain iti, pewarisan juga
memungkinkan untuk menciptakan komponen-komponen yang dapat digunakan ulang (reusable component).
Kelas
Abstraksi
Kelas
Kelas
membungkus (encapsulating)
objek-objek. Kelas mencakup sifat-sifat umum yang dimiliki objek-objek.
Misalnya dosen, rektor, dekan, ketua prodi dan sebagainya yang digolongkan
dalam suatu kelas yang dinamakan Staf
Akademis. Suatu kelass tunggal dapat digunakan untuk menciptakan sejumlah
objek-objek. Selain itu, suatu kelas juga dapat digunakan untuk menciptakan
objek-objek baru yang mewarisi (inheritance) sebagian atau seluruh data serta
fungsi yang dimiliki oleh suatu kelas.
Dengan
membungkus objek-objek dalam struktur kelas, kita mengelompokkan objek-objek
yang berjenis sama, yaitu memiliki keadaan-keadaan serta perilaku-perilaku yang
sama. Pada awal perkembangannya, kelas didefinisikan sebagai tipe data abstrak
(ADT-Abstract Data Type) dalam bahasa pemograman Simula67 dan Smalltalk.
Sekarang ini teknologi berorientasi objek memperluas ide tentang ADT menjadi
konsep kelas atau objek dan mnambahkan banyak inovasi yang penting serta
memungkinkan kita lebih mampu mengelola kompleksitas permasalahan.
Abstraksi
Abstraksi
pada dasarnya adalah menemukan hal-hal
yang esensial pada suatu objek dan mengabaikan hal-hal yang sifatnya insidental.
Maksudnya adalah menangkap sesuatu yang berarti untuk dituangkan dalam sistem
atau perangkat lunak alih-alih menangkap sesuatu fakta yang ada. Pada
pengembangan sistem informasi, ini berarti memfokuskan pada apa itu objek,
ciri-ciri yang dimiliki objek itu (atributnya) serta apa yang objek llakukan
(operasi) sebelum memutuskan bagaimana ia dapat diimplementasikan.
0 Komentar untuk "Pengantar atau Kaidah Dasar Pemograman Berorientasi Objek (OOP - Object Oriented Programming)"