Sie sind auf Seite 1von 10

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.

TOPIK BAHASAN

1. Objek ada di mana-mana


2. Konsep dan karakteristik kelas
3. Kelas (class) dan karakteristiknya.

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.

Java – Pengenalan PBO 5


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.

B. 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.

Retooling Java – Pengenalan PBO 6


Definisi Objek

Suatu objek adalah unik. Ia mewakili suatu objek dunia-nyata,


seperti orang (contohnya seorang penumpang atau kedatangan
pesawat), mobil, rekening bank. Objek mirip dengan suatu rekaman
(record) dalam suatu sistem berkas (misalnya rekaman karyawan).
Suatu objek didefinisikan berdasarkan namanya, sebuah kata benda
seperti: karyawan, rekening bank, ataupun kartu kredit. Objek juga
memiliki atribut dan metode.
Yang menjadi pertanyaan berikutnya, apa sebenarnya perbedaan
antara kelas dengan objek? Dalam konteks pemrograman berorientasi
objek, kelas 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. Dalam pemroraman, metode dan atribut biasanya
dapat dibedakan dari format penulisannya, yaitu
nama_metode(tipe_parameter daftar_parameter, (…)) untuk format
metode (parameter dan tipe parameter bisa lebih dari satu) dan tipe
parameter nama_atribut untuk format atribut. Jadi Berbicara (int
Suara) dan Jumlahkan (double Bil1,double Bil2) merupakan metode,
sedangkan int Suara, double Bil1 dan double Bil2 merupakan atribut.
Sedangkan objek merupakan contoh-langsung atau contoh-nyata
dari kelas. Misal: dari kelas Guru dapat dibuat objek Umar_Bakrie.
Artinya, Umar_Bakrie merupakan contoh-langsung dari kelas Guru.
Secara definisi, dapat dijelaskan bahwa: “An object is an instance of
class”.

TIP: Suatu objek kadangkala direferensikan sebagai suatu contoh


langsung (instance) atau suatu kejadian (occurrence).

Atribut

Suatu objek memiliki atribut-atribut. Atribut merupakan


deskripsi (data) yang berhubungan dengan objek. Sebagai contoh,
seorang karyawan dapat mencakup nama, alamat, tanggal lahir, nomor

Retooling Java – Pengenalan PBO 7


jaminan sosial, dan tanggal awal kerja. Atribut mirip dengan elemen-
elemen data.

TIP: Hal yang paling penting mengenai objek adalah bahwa objek
memiliki data (atribut) dan fungsi (metode).

C. 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).

D. 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,

Retooling Java – Pengenalan PBO 8


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.

E. PARADIGMA DALAM PERUSAHAAN

Sebagai sebuah organisasi bisnis, sebuah perusahaan dapat


dipandang sebagai kesatuan dari beberapa kelas yang berbeda, atau
yang biasanya disebut sebagai departemen. Departemen-departemen
tersebut antara lain adalah: Departemen Keuangan, Departemen
Pemasaran, Departemen Personalia, Departemen Pengadaan, dan
sebagainya. Setiap departemen memiliki fungsi dan perannya sendiri-
sendiri. Dalam hal ini suatu departemen memiliki metode dalam
menjalankan operasi departemennya. Namun demikian, masing-masing

Retooling Java – Pengenalan PBO 9


departemen mengolah data dan informasi yang berbeda-beda pula
(memang, dimungkinkan untuk memiliki data bersama antar-
departemen). Dengan demikian, dapat diartikan bahwa tiap-tiap
departemen memiliki atribut-nya masing-masing. Hal ini dapat
dijelaskan pada Gambar 2.1.

Departemen Keuangan Departemen Pemasaran

♦ Data Keuangan ♦ Data Pemasaran


♦ Manajer Keuangan ♦ Manajer Pemasaran
♦ Staf Keuangan ♦ Staf Pemasaran

Departemen Personalia Departemen Pengadaan

♦ Data Personalia ♦ Data Pengadaan


♦ Manajer Personalia ♦ Manajer Pengadaan
♦ Staf Personalia ♦ Staf Pengadaan

dan lain-lain. dan lain-lain.

Gambar 2.1 Organisasi kelas-kelas departemen dalam suatu perusahaan.

Setiap kotak (elips) menggambarkan objek, dan objek-objek tersebut,


di-link menjadi bangunan utuh perusahaan.

Retooling Java – Pengenalan PBO 10


Terdapat 3 (tiga) metodologi dasar PBO yaitu :
1. Pemodulan/pengkapsulan (encapsulation)
2. Penurunan/pewarisan (Inheritance)
3. Polimorfisme (Polimorphism)

F. PEMODULAN (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). Untuk menjelaskan konsep ini diberikan
contoh sebagai berikut.
Contoh 1: 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.
Contoh 2: Kelas rice cooker (penanak nasi). Seorang ibu rumah
tangga tidak tahu mengapat rice cooker bisa bekerja seperti itu.
Barangkali seorang ibu rumah tangga tidak menyadari bahwa rice
cooker modern memiliki sebuah mikroposesor setara Z80.
Dari dua contoh di atas jelaslah bagaimana proses dalam metode
suatu kelas selalu disembunyikan sedemikian rupa sehingga seseorang
hanya tahu kelas tersebut dapat berfungsi, bukannya apa yang
menyebabkan kelas itu bisa berbuat demikian.
Hal di atas cukup penting dalam PBO membangun aplikasi kompleks
yang melibatkan beberapa pemrograman. Misalnya sebuah kelompok
pemrograman akan membuat aplikasi akuntansi (aplikasi ini biasanya
membutuhkan ilmu yang sangat kompleks). Pemrogram I menangani
masalah struktur data, Pemrogram II menangani masalah akuntansi dan
Pemrogram III menangani masalah tampilan layar, dan sebagainya.
Sebelum dikenal PBO, setiap pemrogram harus membuat suatu
fungsi yang memiliki argumen masukan dan keluaran. Jadi bila
Pemrogram I ingin mengolah program dari Pemrogram II, dia harus
memberikan masukan dan menerima keluarannya. Cara ini sudah banyak

Retooling Java – Pengenalan PBO 11


digunakan dan mempunyai kelemahan yang antara lain tidak adanya
kesatuan antara data dan fungsinya.

G. PENURUNAN (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.
Contoh: Dari kelas kendaraan bermotor dapat diturunkan beberapa
kelas baru, misalnya: sepeda motor, sedan, pick-up, mini-bus, dan
kendaraan roda banyak (Gambar 2.2)

Kendaraan
Bermotor
Kendaraan
roda banyak
Sepeda
motor
Minibus

Sedan Pick_up

Gambar 2.2 Hirarki kelas kendaraan bermotor.

Masing-masing kendaraan bermotor ini memiliki beberapa data yang


sama, seperti posisi gigi persnelling, kecepatan putaran mesin,
kecepatan linear kendaraan, dan sebagainya. Namun masing-masing
kelas turunan ini memiliki beberapa data dan metode yang berlainan.
Contoh: Sedan memiliki data AC, sedangkan sepeda motor tidak.
Karena sedan memiliki data AC maka terdapat juga metode-metode
yang berhubungan dengan AC seperti menyalakan AC, mengubah suhu
AC, mematikan AC, dan sebagainya.
Hirarki suatu kelas tidak harus bertingkat satu seperti contoh di
atas. Hirarki kelas dapat bertingkat-tingkat dan sangat kompleks.

Retooling Java – Pengenalan PBO 12


Contoh: 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, seperti ditunjukkan pada Gambar
2.3.

Kendaraan
Bermotor

Sepeda
motor Sedan
dst.

Sepeda motor Sepeda motor


2 tak 4 tak

Honda
Suzuki Yamaha

Honda Honda dsb.


Karisma Supra X

Gambar 2.3 Kelas dan kelas turunan kendaraan bermotor.

H. POLIMORFISME (POLYMORPHISM)

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,

Retooling Java – Pengenalan PBO 13


sedangkan CD player menggunakan sinar laser untuk membaca bit-bit
digital yang terekam di permukaan CD.

Retooling Java – Pengenalan PBO 14

Das könnte Ihnen auch gefallen