Anda di halaman 1dari 20

DASAR BERORIENTASI

OBJEK
Pemrograman berorientasi objek (Object Oriented Programming atau disingkat OOP)

adalah paradigma pemrograman yang berorientasikan kepada objek yang merupakan


suatu metode dalam pembuatan program, dengan tujuan untuk menyelesaikan kompleksnya
berbagai masalah program yang terus meningkat. Objek adalah entitas yang memiliki
atribut, karakter (bahavour) dan kadang kala disertai kondisi (state) (Douglas, 1992

Ide dasar pada OOP adalah mengkombinasikan data dan fungsi untuk
mengakses data menjadi sebuah kesatuan unit yang dikenal dengan nama objek.
Objek adalah struktur data yang terdiri dari bidang data dan metode bersama
dengan interaksi mereka untuk merancang aplikasi dan program komputer. Semua
data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-
objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan
ke objek lainnya.
Dalam konsep Pemrograman Berorientasi Objek dikenal beberapa istilah
umum, yaitu:
1) Attribute
Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas,
Atribut dapat memiliki hak akses private, public maupun protected.
Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses
secara langsung oleh kelas yang membungkusnya, sedangkan kelas
lainnya tidak dapat mengakses atribut ini secara langsung.
2) Method
Method adalah fungsi atau prosedur yang dibuat oleh seorang programmer
didalam suatu Class. Dengan kata lain, method pada sebuah kelas hampir
sama dengan fungsi atau prosedur pada pemrograman prosedural.
Pada sebuah method di dalam sebuah kelas juga memiliki izin akses seperti
halnya atribut pada kelas, izin akses itu antara lain private, public dan
protected yang memiliki arti sama pada izin akses atribut yang telah
dibahas sebelumnya. Sebuah kelas boleh memiliki lebih dari satu method
dengan nama yang sama asalkan memiliki parameter masukan yang
berbeda sehingga kompiler atau interpreter dapat mengenali method
mana yang dipanggil.
3) Class
Class didefinisikan sebagai sebuah blueprint(denah), atau prototipe, yang
mendefiniskan variabel-variabel dan metode-metode yang umum untuk semua objek dari n
jenis tertentu (n maksudnya jumlah tertentu). Sebuah kelas menyerupai sebuah struktur yang
merupakan tipe data sendiri, misalkan tipe data titik yang terdiri dari koordinat x dan y.
Bahasa Java telah menggunakan sebuah kelas untuk menyatakan tipe data titik karena
bahasa pemrograman Java merupakan bahasa pemrograman berorientasi objek murni
sehingga tidak mengenal struktur, melainkan mengenal apa yang disebut dengan kelas.
4) Object
Merupakan perwujudan dari class, setiap object akan mempunyai attribute dan method
yang dimiliki oleh classnya, contohnya: amir, ahmad, yani merupakan object dari class
manusia. Setiap object dapat berinteraksi dengan object lainnya meskipun berasal dari class
yang berbeda.
Object 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. Pada dasarnya semua benda
yang ada di dunia dapat dianggap sebagai sebuah object. Rumah, mobil, sepeda motor, meja,
dan komputer merupakan contoh-contoh object yang ada di dunia nyata. Object adalah
implementasi dari class. Secara sederhananya, dapat dikatakan terdiri dari properti (atribut)
dan method.
Konsep-konsep yang ada pada OOP/PBO:
1) Abstraction
Merupakan kemampuan sebuah program untuk melewati aspek informasi yang diproses
olehnya, yaitu kemampuan 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.
Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk
mengembangkan sebuah pengabstrakan.
 
2) Encapsulation
Merupakan suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari
kemungkinan interferensi atau penyalahgunaan dari luar sistem dan sekaligus menyederhanakan
penggunaan sistem tersebut.
Encapsulation memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari
sebuah objek dengan cara yang tidak layak. Hanya metode dalam objek tersebut yang diberi ijin
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.
3) Inheritance
Merupakan konsep mewariskan attribute dan method yang dimiliki oleh sebuah class kepada
class turunannya. Dengan konsep ini class yang dibuat cukup mendefinisikan attribute dan
method yang spesifik didalamnya, sedangkan attribute dan method yang lebih umum akan
didapatkan dari class yang menjadi induknya.
Inheritance mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan
dan diciptakan dengan jenis khusus dari objek yang sudah ada.Objek-objek ini dapat membagi
(dan memperluas) perilaku nya tanpa harus mengimplementasi ulang perilaku tersebut (bahasa
berbasis objek tidak selalu memiliki inheritas).
4) Polymorphism
Merupakan konsep yang memungkinkan digunakannya suatu interface yang sama untuk
memerintah suatu object agar melakukan suatu tindakan yang mungkin secara prinsip sama
tetapi secara proses berbeda.

Model data berorientasi objek disebut dapat memberi fleksibilitas yang


lebih, kemudahan mengubah program dan digunakan luas dalam teknik piranti lunak
skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah
dipelajari bagi pemula dibanding dengan pendekatan sebelumnya selain itu
pendekatan OOP lebih mudah dikembangkan dan dirawat.
KONSEP DASAR
PEMROGRAMAN
BERORIENTASI OBJEK
A. KONSEP BERORIENTASI OBJEK SEKILAS

Bagian ini menjelaskan yang dimaksud objek dalam


bidang teknologi
objek (object technology/OT). Bagian ini juga menguji karakteristik-
karakteristik kunci untuk objek, bagaimana objek-objek berinteraksi, dan
bagaimana mereka dikelompokkan.
 

TUJUAN
Setelah akhir pelatihan sesi ini, peserta pelatihan akan dapat:
1. Menerangkan bagaimana objek-objek berhubungan dalam dunia nyata.
2. Mengenal bagaimana objek-objek dapat didefinisikan dalam model
komputasi bisnis.
3. Mendeskripsikan suatu kelas.
4. Mendeskripsikan konsep berorientasi objek, seperti enkapsulasi, komposisi,
asosiasi, dan pesan.
5. Memahami bagaimana objek-objek diorganisasikan ke dalam kelas-kelas.
6. Menjelaskan implikasi dari pewarisan/penurunan (inheritance).
7. Mendeskripsikan karakteristik kohesi dan polimorfisme.
OBJEK ADA DI MANA-MANA

Bagian ini mendiskusikan bagaimana objek-objek ada di mana-


mana dalam dunia nyata dan bagaimana mereka dikonsepsualisasi
dalam model komputasi bisnis.
Objek dalam Dunia Nyata
 
Teknologi objek memerlukan paradigma yang membedakannya dengan
sudut pandang tradisional dari pemrograman terstruktur. Dunia, selain
dapat dipandang sebagai sekumpulan fungsi, dapat pula dipandang sebagai
sekumpulan kelas. Orang-orang, tempat, benda- benda, dan sebagainya,
semuanya merupakan kelas. Contohnya, suatu bandara terdiri atas ratusan
kelas yang nampak, termasuk:
a. pesawat terbang
b. penumpang
c. bagasi
 
Abstraksi dapat pula merupakan kelas:
 
a. pemesanan tiket
b. penundaan
c. cek keamanan
 
Meskipun tampaknya konsep ini sangat dasar, ia memberikan fondasi yang
penting bagi pemahaman kelas dalam konteks komputasi.
 
Objek dalam Model Komputasi Bisnis
 
Objek-objek dari dunia komputasi bisnis merupakan sesuatu yang
berguna secara nyata dalam lingkungan bisnis. Sebagai contoh,
objek dalam perangkat lunak komputasi bisnis pada suatu bandara
bisa berupa penumpang, penerbangan, landas-pacu, pemesanan,
dan jadwal.
A. KONSEP DAN KARAKTERISTIK KELAS DAN OBJEK
 
Pengembangan berorientasi objek sangat berbeda dari pemrograman
tradisional. Ia mencakup penerjemahan dari penggambaran dunia nyata
beserta objek-objek yang ada di dalamnya ke dalam model-model konseptual
dari masalah-masalah tersebut. Model konseptual ini kemudian dapat
diciptakan menggunakan perangkat dan bahasa berorientasi-objek untuk
menjalankan suatu sistem komputasi sebagai aplikasinya.
A. KONSEP DASAR PBO
 
Pemrograman berorientasi objek sering sekali disebut sebagai
PBO/OOP (Object Oriented Programming). Bahasa pemrograman yang
lazim digunakan dalam PBO adalah C++ ( Keluaran Borland disebut Borland
C++, sedangkan dari Microsoft disebut Ms C++. Namun yang terakhir
kurang poluler ). Demikian pula, jka ada bahasa pemrograman yang
menggunakan C++ sebagai landasan utama bagi pengembangannya, maka
bahasa tersebut bisa dipakai untuk PBO, seperti Java, yang menjadi
perhatian utama dalam pelatihan ini (bahasa ini sangat populer pada
jaringan komputer, dalam hal ini adalah: Internet).
A. ALASAN DIGUNAKANNYA PBO
 
PBO diciptakan karena masih dirasakan adanya keterbatasan pada bahasa
pemrograman tradisional yang dikenal dengan istilah procedural language
seperti C, Pascal dan yang sejenisnya.
Padahal, pemrograman prosedural sendiri pada awalnya merupakan
perbaikan atas bahasa pemrograman sekuensial (sequential programming
language), seperti BASIC ataupun Fortran.
Konsep procedural programming language yaitu bahwa semua masalah
dibagi ke dalam fungsi atau prosedur. Selain itu dalam procedural
programming, fungsi dan data terpisah dan tidak menjadi satu kesatuan.
Contoh kelemahan dari procedural programming adalah bila sebuah
perusahaan membuat program General Ledger (Buku kas besar)
menggunakan variabel yang bisa diakses oleh fungsi-fungsi lainnya, maka
harus dideklarasikan variabel tersebut sebagai variabel global yang letaknya
di luar semua fungsi sehingga bisa diakses oleh semua fungsi. Jika suatu saat
perusahaan tadi memperkerjakan programmer baru yang belum mengetahui
seluk-beluk program general ledger tadi,
maka sangat dimungkinkan terjadinya kerusakan data. Anda juga akan menemukan
kesulitan bila Anda ingin membuat tipe data baru dengan bahasa pemrograman
tradisional.
Konsep PBO adalah bahwa semua pemecahan masalah dibagi ke dalam kelas (class).
Dalam PBO data dan fungsi-fungsi yang akan mengoperasikan data digabungkan
menjadi satu kesatuan yang bisa disebut sebagai kelas.
Fungsi kelas terletak pada fungsi anggota ( member function) dalam Java. Jika
Anda ingin membaca data dalam objek maka Anda harus memanggil fungsi anggota
(member function) dalam objek. hanya dengan cara ini Anda bisa mengakses data.
Jadi Anda tidak bisa mengakses data secara langsung seperti dalam konsep
pemrograman tradisional. Pengaksesan data seperti pada PBO ini dikenal sebagai
pengkapsulan data. Pengkapsulan data (data encapsulation) dan penyembunyian data
merupakan kunci pengertian pemrograman berorientasi objek.
Jika Anda ingin mengubah data dalam objek tentunya Anda harus tahu fungsi-fungsi
apa saja yang berinteraksi dengan objek itu, jadi tidak ada fungsi-fungsi lain yang bisa
mengakses data sehingga penulisan dan penelusuran kesalahan program ( debugging)
akan dapat dilakukan dengan mudah.
Untuk mempermudah pengertian mengenai objek, dimisalkan objek sebagai
departemen-departemen dalam perusahaan, seperti pemasaran, keuangan, produksi,
personalia, pengadaan maupun warehouse. Setiap departemen memiliki fungsi, tugas
dan tanggung jawab yang berbeda. Jika menginginkan data laporan keuangan maka yang
harus diminta adalah departemen keuangan, bukan yang lainnya.
OBJECK ORIENTED DAN
TERSRUKTUR
Pengertian Object Oriented Programing (OOP)

Object Oriented Programming (OOP) merupakan paradigma


pemrograman yang berorientasikan kepada objek. Semua data dan
fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau
objek-objek. Bandingkan dengan logika pemrograman terstruktur.
Setiap objek dapat menerima pesan, memproses data, dan mengirim
pesan ke objek lainnya.
Pengertian Pemrograman Terstruktur

Pemrograman Terstruktur merupakan suatu proses untuk


mengimplementasikan urutan langkah penyelesaian suatu masalah
dalam bentuk program dan merupakan suatu aktifitas pemrograman
yang dilakukan dengan memperhatikan setiap urutan dari setiap
langkah perintah yang dikerjakan secara sistematis, logis, dan
tersusun berdasarkan algoritma yang sederhana dan dapat dengan
mudah dipahami. Prinsip dari pemrograman terstruktur adalah Jika
suatu proses telah sampai pada suatu titik ataupun langkah tertentu,
maka proses selanjutnya tidak boleh mengeksekusi langkah
sebelumnya ataupun kembali ke baris sebelumnya, kecuali pada
langkah - langkah untuk proses pengulangan atau berulang (Loop).
Perbedaan

(-) Pemograman Terstruktur : Memecah program dalam fungsi dan data


Pemograman Berorientasi Object : Menggabungkan fungsi dan data dalam kelas –
kelas atau objek – objek

(-) Pemograman Terstruktur : Memiliki ciri Sequence (berurutan), Selection


(pemilihan) dan Repetition (perulangan)  
Pemograman Berorientasi Object : Memiliki ciri Encapsulation (pengemasan),
Inheritance (penurunan sifat) dan Polymorphism (perbedaan bentuk dan perilaku)

(-) Pemograman Terstruktur : Struktur program rumit karena berupa urutan


proses dan fungsi-fungsi 
Pemograman Berorientasi Object : Struktur program ringkas, cukup dengan
membuat Objek dan class lalu bekerja berdasarkan object dan class tersebut.

(-) Pemograman Terstruktur : Re-use kode program kurang Pemograman


Berorientasi Object : Kode program sangat re-usable. object dan class dapat
digunakan   berkali-kali, sehingga dapat menghemat space memori.
(-) Pemograman Terstruktur : Efektif digunakan untuk menyelesaikan masalah
kecil dan tidak cocok untuk menyelesaikkan masalah yang rumit, karena nantinya
akan kesulitan menemukan solusi permasalahan ketika terjadi error
Pemograman Berorientasi Object : Efektif digunakan untuk menyelesaikan
masalah besar, karena OOP terdiri dari class-class yang memisahkan setiap kode
program menjadi kelompok - kelompok kecil, sesuai dengan fungsinya.

(-) Pemograman Terstruktur : Mudah diawal, namun kompleks diproses


selanjutnya
Pemograman Berorientasi Object : Sulit diawal (karena harus membuat class)
namun selanjutnya akan terasa mudah dan cepat.

(-) Pemograman TerstrOOP (Object-Oriented Programming)

Anda mungkin juga menyukai