Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
Definisi
Pemrograman berorientasi objek (Inggris:
objcet-oriented programming disingkat
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.
Model data berorientasi
objek dikatakan 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, dan pendekatan OOP lebih mudah
dikembangkan dan dirawat.
OOP berputar pada
konsep dari objek yang merupakan elemen dasar dari program Anda. Ketika kita
membandingkan dengan dunia nyata, kita dapat menemukan beberapa objek disekitar
kita seperti mobil, singa, manusia dan seterusnya. Objek ini dikarakterisasi
oleh atribut dan tingkah lakunya.
Contohnya, objek sebuah
mobil mempunyai atribut tipe transmisi, warna dan manufaktur. Mempunyai tingkah
laku berbelok, mengerem dan berakselerasi. Dengan cara yang sama pula kita
dapat mendefinisikan perbedaan sifat dan tingkah laku dari singa.
Konsep Dasar
Pemrograman Berorientasi Objek (Objcet-Oriented Programing disingkat OOP)
adalah paradigma pemrograman yang berorientasi kepada objek. Semua data dan
fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objekk.
Bahasa pemrograman yang
lazim digunakan dalam PBO adalah C++ (Keluaran Borland disebut Borland C++,
sedangkan dari Microsoft disebut Ms C++. Namun yang terakhir kurang populer).
Demikian pula, jika ada bahasa pemorgraman 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).
Karakteristik
1. Abstraction
Adalah cara kita melihat suatu sistem
dalam bentuk yang lebih sederhana, yaitu sebagai suatu kumpulan subsistem (objcet) yang saling berinteraksi. Alat
meng-abstraksikan sesuatu adalah class objcet
bersifat modularity. Objek dapat
ditulis dan dimaintain terpisah (independen) dari objek lain.
Abstraksi merupakan kemampuan sebuah program untuk melewati aspek
informasi yang diproses olehnya, yaitu kemampuan untuk memfokus 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
Encapsulasi
merupakan suatu mekanisme atau metode untuk menyembunyikan atau mengindari
suatu proses dari kemungkinan interferensi sekaligus menyederhanakan penggunaan
sistem itu sendiri agar tidak bisa diakses secara langsung dengan cara method atau proses tidak didefiniskan
seluruhnya sebagai public tetapi
didefinisikan sebagai private.
Sebagai contoh, data
bertipe integer terdiri dari beberapa
macam, yaitu char, short, long dan _int64 yang
masing-masing menempati ruang dalam memori yang besarnya berbeda-beda tetapi
memiliki kesamaan dalam operasi-operasi yang dapat diterapkan, yaitu
penambahan, pengurangan, perkalian, dan pembagian.
3. Inheritance
Inheritence
adalah suatu proses dimana suatu class
diturunkan dari class lainnya
sehingga ia mendapatkan ciri atau sifat dari class tersebut. Atau bisa dikatakan membentuk suatu hierarki.
Contoh : hierarki class
Java
Keyword: extends
4. Polymorphism
Polymorphism
berasal dari bahasa Yunani yang berarti "Banyak bentuk". Dalam OOP,
konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah
suatu objek agar melakukan suatu aksi atau tindakan yang mungkin akan
memberikan hasil akhir yang serupa, tetapi melalui proses yang berbeda. Dalam
konsep yang lebih umum seringkali Polymorphism
ini disebut dengan istilah "Satu interface,
banyak aksi".
Sebagai contoh : ada
lima class, dimana satu class utama didefinisikan public dan empat class lainnya yang saling terhubung dalam satu hierarki
didefinisikan secara normal. Semisal Ada class
Kucing, Kuda dan Ayam yang semuanya merupakan turunan dari class Hewan, masing-masing class
memiliki nama method yang sama yaitu
bersuara tapi detailnya berbeda-beda untuk masing-masing class.
Dengan kata lain bahwa Polymorphism merupakan beberapa objek
dapat memiliki nama metode yang sama tetapi implementasinya berbeda
Implementasi konsep
polymorphism:
a. Overloading:
Kemampuan untuk menggunakan nama yang sama untuk beberapa method yang berbeda parameter (tipe dan atau jumlah).
b. Overriding: Kemampuan subclass untuk menimpa method dari superclass, yaitu dengan cara menggunakan nama dan parameter yang sama pada method.
b. Overriding: Kemampuan subclass untuk menimpa method dari superclass, yaitu dengan cara menggunakan nama dan parameter yang sama pada method.
Istilah Umum Dalam PBO/OOP
1. Attribute
a. Definisi
dan Gambaran Umum Atribut
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.
Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung
oleh kelas lain di luar kelas yang membungkusnya.
Sebuah atribut yang
dinyatakan sebagai protected tidak
dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya,
kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang
membungkusnya.
Atribut juga biasa
disebut state/ properties/field
merupakan bagian yang dimiliki oleh sebuah class
yang tidak melakukan operasi, tetapi kepadanya dilakukan operasi sehingga dapat
merubah nilai dari Attribute
tersebut.
b. Karakteristik
Atribut
Dalam class, atribut disebut sebagai variabel. Atribut dapat membedakan
antara satu objcet dengan objcet yang lain. Sebagai contoh, pada class : mahasiswa, terdapat objcet mahasiswa si A, dan objcet mahasiswa si B.
Yang membedakan antara objcet
si A dan si B adalah NPM-nya (Nomor Pokok Mahasiswa) yang merupakan atribut dari
objcet tersebut. Pada atribut,
terdapat pula dua istilah variabel, yaitu Instance
Variabel dan Class Variabel.
Dimana pada tiap
variabel memiliki karakteristik tersendiri, diantaranya : Pada Instance Variabel à tiap objcet memiliki instance variabel dan menyimpan nilainya
tersendiri.
Sedangkan pada Class Variabel
à atribut yang dimiliki oleh semua objcet
yang berasal dari class yang sama,
serta semua objcet memiliki nilai class variabel yang sama. atribut yang
dimiliki objcet dari class yang sama.
2. Method
a. Definisi
dan Gambaran Umum 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.
Hal ini dinamakan overloading.
Di dalam sebuah kelas, terdapat juga yang disebut sebagai method atau atribut statis yang memiliki kata kunci static. Maksud dari statis di sini
adalah method yang dapat diakses
secara berbagi dengan semua objek lain tanpa harus membuat objek yang memiliki method statis tadi (tanpa proses new),
tapi sebuah method statis mempunyai
keterbatasan yaitu hanya dapat mengakses atribut atau method lain di dalam kelas yang membungkusnya yang juga bersifat
statis. Method statis biasanya
diimplementasikan untuk method main.
b. Karakteristik
Method
Didalam suatu class, behaviour disimpan
dalam bentuk Method. Method merupakan serangkaian statemen/perintah
(perintah = baris program) dalam suatu class
yang meng-handle task tertentu. Method
merupakan hal-hal yang bisa dilakukan oleh object
dari suatu class.
Method
didefinisikan pada class akan tetapi
dipanggil melalui object. Method memiliki peranan diantaranya :
i.
Merubah nilai atribut dari suatu object,
ii.
Menerima informasi dari objek lain, dan
iii. Mengirim
informasi ke objek lain untuk melakukan suatu task (cara obyek berkomunikasi dengan objek lain adalah dengan
menggunakan method).
3. Class
Merupakan model yang berisi kumpulan
attribute dan method dalam suatu unit
untuk suatu tujuan tertentu. Sebagai contoh class
manusia memiliki attribute berat, tinggi, usia kemudian memiliki method makan, minum, tidur. Method dalam sebuah class dapat merubah attribute yang dimiliki oleh class tersebut. Sebuah class merupakan dasar dari modularitas
dan struktur dalam pemrograman berorientasi object.
a. Definisi
dan Gambaran Umum 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.
Perbedaan sebuah kelas dengan sebuah struktur adalah sebuah kelas dapat
berdiri sendiri dan dapat digunakan untuk berbagai keperluan kelas-kelas yang
lain, sedangkan sebuah struktur tidak dapat berdiri sendiri. Sebuah kelas lebih
fleksibel untuk digunakan oleh kelas lain tanpa harus membongkar kode program
utama, sedangkan jika digunakan struktur maka kode program harus dibongkar unuk
disalin bagian strukturnya ke kode program utama yang lain.
Sebuah file dapat terdiri dari berbagai kelas, namun biasanya pada
bahasa pemrograman Java sebuah file
hanya terdiri dari satu kelas yang disimpan dengan nama kelas, misal file List. Java berisi kelas List.
Namun jika kelas yang dibuat misalnya public
class nama_kelas, maka kelas itu
harus disimpan dalam satu file hanya untuk satu kelas. Setelah dilakukan
kompilasi maka pada Java akan ada
sebuah file .class yang berisi bytecode dari setiap kelas.
Jika sebuah file terdiri dari dua kelas, maka setelah dilakukan
kompilasi akan dihasilkan dua buah file .class
yang nantinya akan dibaca oleh interpreter
Java saat program dieksekusi. Sebuah
kelas saat program dieksekusi dan perintah new dijalankan, maka akan dibuat
sebuah objek.
Class
adalah template untuk pembuatan objek. Class
juga memiliki anggota, diantaranya : atribut dan method.
Pemahaman singkatnya :
i. Class
merupakan pola/template yang
menggambarkan kumpulan object yang
mempunyai sifat dan perilaku yang sama.
ii.
Class
merupakan struktur data dari object (blueprint dari sebuah object), dan proses pembuatan object dari sebuah class disebut juga dengan instantiation.
iii. Class
merupakan definisi data dan fungsi dari suatu hal (benda, konsep, dll).
iv. Di
dalam class dideklarasikan variabel
dan method yang dimiliki oleh obyek
b. Karakteristik
Class
Class
memiliki beberapa karakteristik, diantaranya : anggota class terdiri dari atribut dan method.
Tiap-tiap anggota class memiliki control pengaksesan tersendiri,
maksudnya adalah apakah anggota class
tersebut dapat diakses dengan bebas (dengan tipe public) atau hanya dapat diakses melalui sebuah interface.
Dalam hal ini,
interface adalah device yang
digunakan untuk komunikasi antar object
berbeda yang tidak memiliki hubungan apapun. Interface bisa dikatakan sebagai protokol komunikasi antar object tersebut.
4. Object
Merupakan perwujudan dari class, setiap object akan mempunyai attribute dan method yang dimiliki oleh class-nya,
contohnya: amir, ahmad, yani merupakan object
dari class manusia. Setiap object dapat berinteraksi dengan object lainnya meskipun berasal dari class yang berbeda.
a. Definisi
dan Gambaran Umum Object
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.
Pemahaman singkatnya :
i. Objek merupakan sebuah objek khusus yang
digunakan untuk mengakses anggota objek (atribut atau method) dari dalam objek itu sendiri.
ii.
Apabila terdapat variabel lain yang
memiliki nama yang sama dengan nama atribut di dalam objek, “this” dapat digunakan untuk merujuk ke
atribut objek.
b. Karakteristik
Object
Setiap object memiliki dua karakteristik yang utama, yaitu atribut dan behaviour. Atribut merupakan status object dan behaviour merupakan tingkah laku dari object tersebut.
Contoh sederhana adalah sepeda. Object
sepeda memiliki atribut : pedal, roda, dan gigi, kecepatan serta memiliki
tingkah laku seperti pacu dan rem. Sama seperti penggambaran di dunia nyata,
pengembangan program dengan konsep OOP juga menggunakan model object yang akan menyimpan atributnya
dalam variabel dan tingkah lakunya dalam method
atau fungsi-fungsi/prosedur. Deskripsinya :
Dalam pengembangan
perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan
state-nya dalam variabel dan menyimpan informasi tingkah laku (behaviour) dalam method-method atau
fungsi-fungsi/prosedur.
Comments
Post a Comment