MODUL
PERANCANGAN
BERORIENTASI
OBJEK
1
BAB I
PENDAHULUAN
A. Konsep Dasar Pendekatan Objek
• Suatu teknik atau cara pendekatan baru dalam melihat permasalahan dari
sistem (sistem perangkat lunak, sistem informasi, atau sistem lainnya).
• Pendekatan berorientasi objek akan memandang sistem yang akan
dikembangkan sebagai suatu kumpulan objek yang berkorespondensi
dengan objek-objek dunia nyata.
• Ada banyak cara untuk mengabstraksikan dan memodelkan objek-objek
tersebut, mulai dari abstraksi objek, kelas, hubungan antar kelas sampai
abstraksi sistem.
• Saat mengabstraksikan dan memodelkan objek ini, data dan proses-proses
yang dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi satu
kesatuan.
Contoh:
Tinjau aktivitas kuliah pada suatu sistem akademik sebagai berikut:
dosen
materi kuliah
Mahasiswa
Dari aktivitas kuliah tersebut, secara eksplisit ada 3 objek yang langsung
dapat dikenali yaitu Dosen yang memberikan kuliah, Mahasiswa yang
mengikuti kuliah, dan Materi Kuliah yang disampaikan. Secara implisit,
ada 2 objek lain yang bisa dikenali lagi yaitu Jadwal kapan kuliah
diadakan dan Nilai yang didapat mahasiswa dari kuliah yang sudah
diikutinya. Abstraksi dan pemodelan untuk salah satu dari kelima objek
tersebut, misalnya untuk objek Dosen adalah:
Objek Dosen
diabstraksikan
menjadi
Atribut
Kode_Dosen
Nama_Dosen
Pendidikan
…
Operasi
Rekam
Update
Retrieve
…
Kelas Dosen
2
• Dalam rekayasa perangkat lunak, konsep pendekatan berorientasi objek
dapat diterapkan pada tahap analisis, perancangan, pemrograman, dan
pengujian perangkat lunak.
• Ada berbagai teknik yang dapat digunakan pada masing-masing tahap
tersebut, dengan aturan dan alat bantu pemodelan tertentu.
B. Objek dan Kelas
Apakah yang disebut objek? Apakah yang disebut kelas? Adalah sangat
penting untuk membedakan antar objek dengan kelas
Objek
• Objek adalah abstraksi dari sesuatu yang mewakili dunia nyata seperti
benda, manusia, satuan organisasi, tempat, kejadian, struktur, status atau
hal-hal lain yang bersifat abstrak.
• Suatu entitas yang mampu menyimpan informasi (status) dan mempunyai
operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada
status objeknya.
• Dalam konteks OOP, objek adalah instansiasi (yang dibentuk secara
seketika) dari kelas pada saat eksekusi (seperti halnya deklerasi variabel
pada pemograman prosedural). Jadi semua objek adalah instan dari kelas.
• Objek mempunyai siklus hidup: diciptakan, dimanipulasi, dan
dihancurkan.
Kelas
• Kelas adalah kumpulan dari objek-objek dengan karakterikstik yang sama.
• Kelas adalah definisi statik dari himpunan objek yang sama yang mungkin
lahir atau diciptakan dari kelas tersebut.
• Sebuah kelas akan mempunyai sifat (atribut), kelakuan (operasi),
hubungan (relationship) dan arti.
• Suatu kelas dapat diturunkan dari kelas yang lain, dimana atribut dari
kelas semula dapat diwariskan ke kelas yang baru.
Kesimpulan:
• Objek adalah model eksekusi, sementara kelas adalah deskripsi statik dari
objek yang mungkin lahir pada saat eksekusi.
• Pada saat eksekusi yang kita punyai adalah objek, sementara dalam
pemodelan (analisis dan perancangan) dan teks program yang kita lihat
adalah kelas.
C. Property Objek
Sebuah objek pada dasarnya mempunyai property sebagai berikut:
Atribut
• Nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas
objek.
• Merupakan ciri dari sebuah objek
3
• Dipunyai secara individual oleh sebuah objek.
• Contoh: berat, warna, jenis, nama, dan sebagainya.
Layanan (Service)
• Metode atau operasi yang berfungsi untuk memanipulasi objek itu sendiri.
• Fungsi atau transformasi yang dapat dilakukan terhadap objek atau
dilakukan oleh objek.
• Dapat berasal dari:
- model objek
- event
- aktivitas atau aksi keadaan
- fungsi
- kelakuan dunia nyata
• Contoh: Read, Write, Move, Copy dan sebagainya.
Klasifikasi Objek
Menurut [BOO95] objek dapat menjadi:
• ADT (Abstract Data Type)
Definisi dari kelas dimana komponen type menjadi atribut dan fungsi
primitif menjadi operasi/metode/layanan.
• Mesin
Objek pasif yang punyai status yang akan diaktifkan oleh objek lain.
Fungsi primitif pada mesin merupakan mekanisme transisi yang
mengubah suatu status ke status lain.
• Proses
Objek aktif yang mempunyai “urutan kendali” (thread of control)
D. Sistem Berorientasi Objek
Definisi
• Sebuah sistem yang dibangun dengan berdasarkan motode berorientasi
objek adalah sebuah sistem yang komponennya dibungkus (dienkapsulasi)
menjadi kelompok data dan fungsi.
• Setiap komponen dalam sistem tersebut dapat mewarisi atribut dan sifat
dari komponen lainnya, dan dapat berinteraksi satu sama lainnya.
Karakteristik Sistem Berorientasi Objek
Karakteristik atau sifat-sifat yang dipunyai sebuah sistem berorientasi objek
adalah:
• Abstraksi
Prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu
bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang
tidak sesuai dengan permasalahan.
• Enkapsulasi
4
Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai
objek, untuk membunyikan implementasi dari objek sehingga objek lain
tidak mengetahui cara kerjanya.
• Pewarisan (inheritance)
Mekanisme yang memungkinkan satu objek (baca: kelas) mewarisi
sebagian atau seluruh definisi dai objek lain sebagai bagian dari dirinya.
• Reusability
Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu
permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.
• Generalisasi dan Spesialisasi
Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas
dan objek yang khusus.
• Komunikasi antar Objek
Komunikasi antar objek dilakukan lewat pesat (message) yang dikirim
dari satu objek ke objek lainnya.
• Polymorphism
Kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda
dengan nama yang sama sehingga menghemat baris program.
5