[COMPANY NAME]
[Company address]
MODUL 1 KONSEP OBJECT ORIENTED PROGRAMMING
Kegiatan Belajar 1
2. Indikator Keberhasilan
Setelah mempelajari materi pokok ini peserta dapat :
3. Tujuan Pembelajaran
Setelah mempelajari materi pokok ini peserta dapat :
4. Uraian Materi
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,
-. 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.
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.
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.
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.
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.
Obyek
Permintaan-permintaan (request)
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.
Obyek dapat sangat kompleks, karena obyek dapat dibuat dari obyek-obyek lainnya,
atau membuat obyek-obyek lainnya, dan seterusnya.
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.
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.
A B
Kelas
D C
warisan
B
Sub-kelas
D
A, B dan D diwarisi; A
Q dan R bukan warisan
Q R
KONSEP OOP 8
Kadang-kadang suatu kelas mewarisi sifat-sifat lebih dari satu super-kelas.
E
A
B F
G
D
C
H
B
F
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.
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.
KONSEP OOP 11