Anda di halaman 1dari 12

[DATE]

[COMPANY NAME]
[Company address]
MODUL 1 KONSEP OBJECT ORIENTED PROGRAMMING

Kegiatan Belajar 1

1. Judul : Konsep Object Oriented Programming

2. Indikator Keberhasilan
Setelah mempelajari materi pokok ini peserta dapat :

 Menjelaskan pengertian objek


 Menjelaskan karakteristik OOP
 Menerapkan konsep OOP

3. Tujuan Pembelajaran
Setelah mempelajari materi pokok ini peserta dapat :

 Menjelaskan pengertian objek dengan benar


 Menjelaskan karakteristik OOP dengan benar
 Menerapkan konsep OOP dengan benar

4. Uraian Materi

Ide-ide dasar yang mendasari teknologi berorientasi obyek meliputi :

 obyek dan kelas (suatu kelas diimplementasikan dari suatu tipe obyek)
 metoda
 permintaan
 warisan (inheritance)
 encapsulation

KONSEP OOP 1
OBYEK

Obyek adalah segala sesuatu dimana dapat diterapkannya suatu konsep. Obyek dapat
berbentuk nyata atau abstrak. Contohnya :

-. suatu faktur,

-. sebuah organisasi,

-. suatu bentuk ketajaman dalam program untuk gambar,

-. sebuah layar monitor dimana user dapat berinter-aksi,

-. suatu mekanisme dalam sebuah peralatan robot,

-. sebuah komponen dalam suatu gambar rekayasa,

-. sebuah pesawat udara,

-. suatu pelayanan penerbangan,

-. dan lain-lain.

Dalam analisis dan disain berorientasi obyek (object oriented = OO), kelakuan (tingkah
laku) dari obyek merupakan sesuatu yang menarik. Dalam membangun piranti lunak,
modul-modul piranti lunak OO berdasarkan pada tipe-tipe obyek.Implementasi obyek
terdiri dari struktur data dan operasi-operasi yang mengekspresikan kelakuan obyek.
Operasi-operasi dikodekan sebagai metoda-metoda. Representasi dari obyek adalah
suatu kumpulan dari tipe data dan metoda-metoda secara bersama-sama (dalam satu
paket).Dengan demikian, obyek dapat juga dikatakan sebagai segala sesuatu, real atau
abstrak, tentang data yang disimpan dan operasi-operasinya dalam manipulasi data.

KONSEP OOP 2
TIPE OBYEK

Tipe obyek adalah suatu kategori dari obyek. Suatu obyek adalah suatu contoh dari
suatu tipe obyek. Contohnya sebagai berikut.

Karyawan atau Pegawai ditempatkan sebagai obyek, yaitu orang-orang yang bekerja
pada suatu instansi tertentu. Sebagai contoh, seorang pegawai adalah satu orang
tertentu. Dalam analisis OO, konsep yang demikian dikenal sebagai tipe obyek, dan
contohnya disebut obyek.Dalam sistem basis data (database) dikenal istilah tipe entitas
(entity), seperti Pelanggan/Nasabah, Karyawan/Pegawai dan Bagian/Divisi.

Contohnya adalah Karyawan : Mirna, Hasan, Agus dan lain-lain.

Hal yang sama juga terdapat dalam OO, yang mendefinisikan tipe obyek dan contoh-
contoh dari tipe obyek.

Contoh : tipe obyeknya adalah faktur dan obyeknya adalah faktur bernomor 12345.

Meskipun demikian, secara mendasar bentuk obyek berbeda dengan bentuk entitas.

 Entitas hanya mengenai data saja. Dalam penyimpanan, satu record untuk setiap
entitas.
 Obyek meliputi data dan metoda-metoda (keduanya), yang digunakan untuk
memanipulasi data tersebut. Data untuk satu obyek tertentu dapat terdiri dari
gabungan tipe record.

Dalam OO, struktur data dan operasi-operasi untuk setiap tipe obyek berada dalam
satu paket bersama.

KONSEP OOP 3
Struktur data tidak dapat diakses atau dimanipulasi kecuali dengan operasi-operasi
yang merupakan bagian dari tipe obyek.

OPERASI-OPERASI
Operasi-operasi digunakan untuk membaca dan memanipulasi data dari suatu obyek.
Operasi-operasi dalam suatu tipe obyek hanya pada struktur data tipe obyek yang
bersangkutan, tidak dapat langsung mengakses struktur data dari obyek yang lain.
Untuk menggunakan struktur data obyek lain, harus terlebih dahulu mengirimkan
pesan ke obyek yang dimaksud.

METODA-METODA
Metoda-metoda menentukan cara-cara atau langkah-langkah bagaimana operasi-
operasi dikodekan dalam piranti lunak.

ENCAPSULATION
Paket data dan operasi-operasi secara bersama disebut encapsulation. Obyek
menyembunyikan datanya dari obyek-obyek yang lain dan mengijinkan data diakses
melalui operasinya sendiri. Hal ini disebut sebagai penyembunyian informasi
(information hiding). Encapsulation melindungi data obyek dari kerusakan/kecurangan
(corruption). Jika semua program dapat mengakses data dengan cara apapun (yang
dilakukan oleh user), data akan dengan mudah dirusak atau digunakan dengan tidak
benar. Encapsulation melindungi data obyek dari penggunaan yang sewenang-wenang
dan tidak diharapkan.

Encapsulation menyembunyikan detail internal implementasinya dari user suatu obyek.


User mengerti bahwa operasi-operasi dapat diminta dari obyek tetapi tidak mengetahui
bagaimana detail dari operasi tersebut dilaksanakan. Semua data obyek yang terinci
dan pengkodean operasi-operasinya tidak tampak dari luar.

KONSEP OOP 4
Encapsulation merupakan hal yang penting, karena hal ini memisahkan antara
bagaimana tingkah laku dari obyek dan bagaimana obyek tersebut diimplementasikan.
Hal ini mengijinkan implementasi obyek dimodifikasi tanpa harus memodifikasi
aplikasinya.

Cukup mudah untuk memodifikasi program dengan menggunakan encapsulation,


karena satu tipe obyek dimodifikasi pada suatu waktu tertentu.

Jika suatu tipe obyek diubah, hanya operasi-operasi dan struktur data yang terkait
dengan obyek tersebut yang dipengaruhi, dan biasanya hanya beberapa dari operasi-
operasi dan struktur datanya (bukan seluruh operasi dan struktur data yang diubah).

Tingkah laku tipe obyek dapat diubah dan di test secara terpisah dari tipe obyek yang
lain.

Encapsulated data structure

Operasi-operasi yang diijinkan,


untuk memanipulasi struktur data.
Metoda operasinya tersembunyi
dari user

Gambar 1 Setiap obyek memuat suatu struktur data dan operasi-operasinya

PERMINTAAN (REQUEST)
Agar suatu obyek melakukan sesuatu, perlu dikirimkan suatu permintaan. Permintaan
ini menyebabkan suatu operasi minta dijalankan. Operasi melaksanakan metoda yang
tepat serta mengembalikan (menghasilkan) suatu respons. Pesan yang terdapat dalam

KONSEP OOP 5
permintaan ini terdiri dari nama obyek, nama operasi, dan kadang-kadang memuat
suatu grup parameter.

Pemrograman yang berorientasi obyek (object oriented programming = OOP) adalah


suatu bentuk perancangan modular yang berdasarkan pemikiran dalam bentuk obyek-
obyek, operasi-operasi, metoda-metoda dan pesan-pesan yang melalui obyek terkait.

Obyek

Permintaan-permintaan (request)

Gambar 2 Komunikasi obyek-obyek dengan permintaan-permintaan.

Suatu pesan adalah suatu permintaan untuk membawa suatu operasi tertentu (sesuai
dengan yang ditunjuk/diminta) pada suatu obyek yang diberikan dan mengembalikan
hasilnya. Akibatnya implementasi OO menunjuk pesan-pesan sebagai permintaan-
permintaan.

Suatu permintaan menanyakan bahwa suatu operasi tertentu diminta menggunakan


satu atau lebih obyek sebagai parameter.

Obyek dapat sangat kompleks, karena obyek dapat dibuat dari obyek-obyek lainnya,
atau membuat obyek-obyek lainnya, dan seterusnya.

Menggunakan obyek tidak perlu mengetahui kompleksitas internalnya; cukup


mengetahui bagaimana untuk berkomunikasi dengannya dan bagaimana responsnya.

KONSEP OOP 6
Ketika suatu obyek X mengirim suatu permintaan ke obyek Y, suatu operasi dari obyek
X meminta sebuah operasi dari obyek Y untuk menghasilkan (sesuatu) dari data obyek
Y yang dimanipulasi (dengan cara tertentu). Obyek Y kemudian mengembalikan suatu
nilai ke obyek X.

KELAS (CLASS)

Bentuk kelas menunjuk ke implementasi piranti lunak dari suatu tipe obyek. Tipe obyek
adalah suatu dugaan secara konseptual. Terdiri dari suatu keluarga obyek tanpa
menentukan bagaimana implementasinya. Tipe obyek diperinci selama analisis OO.
Rincian dari kelas-kelas ditentukan dalam disain OO. Dalam bahasa OO, tipe obyek
diimplementasikan sebagai kelas-kelas.

Kelas adalah suatu implementasi dari sebuah tipe obyek. Kelas memiliki suatu struktur
data dan metoda-metoda yang memperinci operasi-operasi yang dapat digunakan
dalam struktur data yang bersangkutan.Implementasi kelas terdiri dari struktur data
untuk masing-masing obyek.

Contoh : kelas Karyawan dapat terdiri dari data tentang jabatan (kedudukan), gaji,
ekstensi pesawat telepon dan lain-lain.

Sebagai tambahan, setiap kelas mendefinisikan suatu set operasi yang mengijinkan
akses ke data obyek dan modifikasi data obyek.

Suatu kelas Karyawan dapat memuat operasi-operasi seperti pemecatan, promosi dan
perubahan nomor ekstensi pesawat telepon.

Rincian dari kelas terdiri dari spesifikasi tiap metoda. Selanjutnya bentuk metoda
menunjuk ke spesifikasi yang menggambarkan suatu operasi.

WARISAN (INHERITANCE)

KONSEP OOP 7
Dalam pengertian warisan, konsep yang lebih tinggi tingkatnya dapat dikhususkan ke
dalam konsep yang lebih rendah. Suatu tipe obyek dapat mempunyai sub-tipe.

Perhatikan suatu contoh berikut.

Tipe obyek Pribadi dapat mempunyai sub-tipe Sipil dan Militer. Pribadi Militer dapat
memiliki sub-tipe Perwira dan Bintara. Perwira dapat mempunyai sub-tipe

Mayor, Kapten, Letnan; dan juga sub-tipe Engineer atau Staf Administrasi/Keuangan
dan sebagainya.

Kelas mengimplementasikan tipe obyek. Sub-kelas mewarisi kelakuan/sifat dari kelas


orang tuanya; suatu sub-sub-kelas mewarisi sifat-sifat dari sub-kelas, dan seterusnya.
Sub-kelas mewarisi tipe data dan metoda-metoda, dan juga mempunyai metoda-
metoda dan kadang-kadang tipe datanya sendiri.

A B
Kelas

D C

warisan

B
Sub-kelas
D

A, B dan D diwarisi; A
Q dan R bukan warisan
Q R

Gambar 3 Sebuah kelas dapat mempunyai struktur data dan metodanya .

KONSEP OOP 8
Kadang-kadang suatu kelas mewarisi sifat-sifat lebih dari satu super-kelas.

E
A
B F

G
D
C
H

Super Kelas Super Kelas


warisan

B
F

A, B dan F diwarisi; A Kelas


Q dan R bukan warisan
Q R
Gambar 4 Sebuah kelas dapat mewarisi sifat-sifat lebih dari satu super-kelas.

Dalam
implementasi OO, suatu obyek dirasakan sebagai suatu paket data dan operasi-operasi
dapat dilaksanakan pada data yang bersangkutan. Data dan operasi dalam satu
kesatuan (paket). Pada kenyataannya adalah berbeda. Prosedur-prosedur tidak
disimpan dalam tiap-tiap obyek (pemborosan). Piranti lunak akan menguji (memeriksa)
setiap permintaan yang menunjuk pada suatu obyek tertentu dan kemudian secara
mekanis akan menyeleksi untuk mencari (menemukan) kode agar dapat dilakukan
eksekusi.

Metoda adalah bagian dari kelas, bukan bagian dari obyek. Metoda juga bukan bagian
dari kelas, tetapi bagian dari kelas yang lebih tinggi tingkatnya dalam hierarki kelas.
Meskipun demikian, piranti lunak akan dapat menemukannya.

KONSEP OOP 9
Bila ada suatu permintaan, Obyek X
piranti lunak menentukan
apa yang akan ditunjuk
dan metoda apa yang
akan digunakan

Obyek A
Encapsulated data structure

celah
USER
(melihat
dari User dari suatu obyek
celah merasakan obyek sebagai
ini) suatu paket dari data dan
prosedur yang dapat
dioperasikan pada data
tersebut.

User melihat hasil dari Operasi-operasi yang diijinkan


prosedur obyek, tetapi tidak
Pada kenyataannya, metoda-metoda bukan bagian dari
melihat bagaimana piranti
obyek, tetapi bagian dari kelas, karena metoda-metoda
lunak mengimplementasikan
disimpan satu kali untuk banyak obyek. Dapat berada
prosedur atau bagaimana data
dalam suatu super-kelas atau super-kelas dari kelas
ditata. Data & prosedur
tersebut. Piranti lunak akan dapat menemukannya.
terselubung (encapsulated).

Gambar 5 Perbedaan antara bagaimana obyek dirasakan dan bagaimana

KONSEP OOP 10
5. Uraian Kegiatan Pembelajaran
Model pembelajaran yang digunakan untuk materi pokok ini adalah discovery
learning, dengan pendekatan saintifik dimana dalam kegiatan
pembelajaran peserta terbagi dalam beberapa kelompok mendiskusikan
materi Konsep OOP sesuai uraian materi.

6. Evaluasi kegiatan Belajar


1. Jelaskan pengertian OOP!
2. Jelaskan karakteristik OOP !
3. Jelaskan pengertian class, inheritance,polimorhism

7. Umpan Balik dan Tindak Lanjut


Setelah memahami, menerapkan, dan menganalisimateri pokok ini, peserta
diharapkan dapat menjelaskan pengetahuannya kepada siswa-siswinya di
sekolah tempat mengajar.

KONSEP OOP 11

Anda mungkin juga menyukai