Karakteristik OOP
Dalam section ini, kita akan melihat beberapa konsep dasar
dan term-term yang umum untuk seluruh bahasa OOP.
Objects
Jika kita pikir maka kita sekarang hidup dalam sebuah dunia object-oriented.
Kamu adalah object. Kamu berinteraksi dengan object lain. Untuk menulis
tugas ini kami berinteraksi dengan object komputer. Ketika saya bangun
pagi, saya merespon pesan suara object alarm jam. Faktanya, kamu adalah object
dengan data-data seperti tinggi dan warna rambut. Kamu mempunyai
metode-metode yang kamu akan lakukan, seperti makan dan berjalan.
Jadi, apa itu objects? Dalam term OOP, object
adalah sebuah structure yang menggabungkan data dan prosedur untuk bekerja
bersama-sama. Contoh, jika kamu tertarik dalam pelacakan data yang dihubungkan
dengan produk, kamu akan menciptakan sebuah object produk yang bertanggung
jawab untuk me-maintenance dan bekerja dengan data yang bersinggungan
dengan produk. Jika kamu ingin kemampuan mencetak dalam aplikasi kamu, kamu
harus bekerja dengan sebuah object printer yang bertanggung jawab untuk data
serta metode yang digunakan untuk berinteraksi dengan printermu.
Abstraction
Ketika kamu
berinteraksi dengan object-object di dunia ini, kamu sering hanya konsentrasi
dengan sebuah bagian dari propertiesnya. Tanpa kemampuan untuk
mensarikan/abstract atau menyaring untuk dibuang properties object yang asing /
tidak ada hubungannya, maka kamu akan menemukan kesulitan untuk memproses
informasi yang kebanyakan membombarding kamu. Sebagai hasil abstraction,
ketika 2 orang berbeda berinteraksi dengan object yang sama, mereka
sering setuju dengan bagian yang berbeda atas atribut. Ketika kami mengendarai
mobil, kami perlu tahu kecepatan serta tujuan yang akan dicapai.
Karena mobil itu otomatis, maka kami
tidak perlu tahu berapa RPMs dari mesinnya, jadi kami akan membuang informasi
ini. Tapi informasi ini sangat diperlukan oleh mekanik atau pembalap.
Ketika membangun objects dalam aplikasi
OOP, adalah penting untuk menggabungkan konsep abstraction ini. Jika
kamu membangun aplikasi shipping, kamu harus membangun object produk
dengan atribut seperti ukuran dan berat. Warna adalah contoh informasi yang
tidak ada hubungannya dan harus dibuang. Tetapi ketika kamu membangun order-entry application,
warna menjadi penting dan harus termasuk atribut object produk.
Encapsulation
Ciri penting lainnya dari OOP adalah encapsulation.
Encapsulation adalah sebuah proses dimana tidak ada akses langsung ke data yang
diberikan, bahkan hidden. Jika kamu ingin mendapat data, kamu harus
berinteraksi dengan object yang bertanggung jawab atas dara tersebut. Dalam
contoh inventory, jika kita ingin melihat atau mengupdate informasi atas
produk, kita seharusnya bekerja melalui object produk. Untuk membaca data, kita
mengirimkan pesan ke object produk, kemudian object produk akan
membaca pesan dan mengirim pesan balik ke kamu.
Object
produk mendefinisikan bahwa operasi dapat dilakukan pada data produk. Jika kamu
mengirim pesan untuk memodifikasi data dan jika object produk menentukan bahwa
permintaan itu valid maka permintaan tersebut akan dilakukan dan akan
mengirimkan pesan balik bersama hasilnya.
Pikirkan
mengenai Human Resource Department (HRD), yang meng-encapsulasi informasi
mengenai karyawan. Mereka menentukan bagaimana data ini dapat digunakan da
dimanipulasi. Setiap permintaan data karyawan atau permintaan untuk mengupdate
datanya harus dijalankan melalui mereka. Contoh lain, network security. Setiap
permintaan informasi security atau perubahan kebijakan security harus dilakukan
melalui network administrator. Data security di-encapsulate dari user network.
Dengan
melakukan encapsulasi pada data, berarti kamu membuat data dari sistemmu lebih
secure dan terpercaya. Karena kamu mengetahui bagaimana
data diakses dan operasi apa yang sedang berjalan pada data. Hal ini membuat
maintenance program menjadi lebih mudah. Kamu juga dapat memodifikasi metode
yang digunakan untuk kerja pada data, dan jika kamu tidak merubah bagaimana
metode itu diminta dan tipe response dikirim balik, maka kamu tidak dapat
merubah object lain dengan menggunakan metode tersebut. Pikirkan ketika kamu
mengirim surat melalui pos. Kamu membuat permintaan ke kantor pos agar
mengantar surat, dan bagaimana kantor pos menyelesaikannya kita tidak perlu
tahu. Jika ada perubahan rute yang
digunakan, maka hal itu tidak mempengaruhi keinginan untuk kirim surat lewat
kantor pos. Kamu tidak perlu tahu prosedur internal yang digunakan oleh kantor
pos untuk mengantar surat.
Polymorphism
Polymorphisms adalah kemampuan 2 buah object
yang berbeda untuk merespon pesan permintaan yang sama dalam suatu cara yang
unik. Contoh, saya melatih anjing saya dengan perintah untuk menggonggong dan
juga saya melatih burung untuk merespon perintah saya untuk berkicau. Saya
lakukan latihan untuk merespon kepada mereka dengan perintah lisan. Melalui
polymorphism saya tahu bahwa anjing dan burung akan merespon dengan gonggongan
atau kicauan.
Bagaimana
hal ini berhubungan dengan OOP? Kamu dapat membuat objects yang dapat merespon
pesan yang sama dalam implementasi yang unik. Contohnya, kamu dapat mengirim
pesan print ke object printer yang akan mencetak pada printer, dan kamu
juga dapat mengirim pesan yang sama ke object screen yang akan menuliskan pada
screen monitor. Dalam OOP, kamu menerapkan tipe polymorphism melalui proses
yang disebut overloading. Kamu dapat mengimplementasikan metode yang
berbeda pada sebuah object yang mempunyai nama yang sama.
Inheritance
Banyak
objects diklasifikasikan menurut hirarki. Contoh, kamu dapat mengklasifikasikan
sebuah mobil yang mempunyai karakteristik umumnya mobil, seperti mempunyai ban,
mesin, serta body. Keturunan berikutnya diklasifikasikan dengan atribut umum
seperti ukuran, jumlah roda, isi silinder dll atau mengklasifikasikan mereka
atas dasar daya angkutnya. Contoh, ada kendaraan komersial atau kendaraan
pribadi, ada truk atau mobil penumpang. Kamu menggunakan inheritance dalam
OOP untuk mengklasifikasikan objects dalam program sesuai karakteristik umum
dan fungsinya. Hal ini akan membuat pekerjaan bersama object lebih mudah dan
lebih intuitif. Hal ini juga membuat programming lebih mudah karena
memungkinkan kita untuk mengkombinasikan karakteristik umum kedalam object
parent dan mewariskan karakteristik ini ke child object.
Aggregation
Aggregation
Aggregation adalah kondisi ketika object
berisi gabungan dari object-object yang berbeda dan bekerja bersama. Contoh
mesin pemotong rumput terdiri dari object roda, objects mesin, object pisau dll.
Object mesinpun merupakan gabungan dari berbagai object. Kemampuan untuk
menggunakan aggregation dalam OOP adalah satu feature yang powerful yang
memungkinkan model menjadi akurat.
Kesimpulan :
Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bagian administrasi, maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagian administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah, dapat dilakukan dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
kita juga punya nih jurnal mengenai object oriented programming, silahkan dikunjungi dan dibaca , berikut linknya
BalasHapushttp://repository.gunadarma.ac.id/bitstream/123456789/3407/1/Rancang%20Bangun%20Program%20Aplikasi%20Kamus%20Elektronik%20Untuk%20Perangkat%20Sistem%20Komputasi%20Bergerak%20berbasiskan%20Java%20MIDP.pdf
makasih ini cukup membantu..
BalasHapus