Pemrograman Object Oriented dimaksudkan adalah membuat suatu
program yang terdiri dari berbagai object yang saling berinteraksi (dalam
beberapa buku diartikan dengan bertukar pesan antar object). Kenapa kita
menggunakan pemrograman berbasis object, sementara kita masih bisa menggunakan
konsep pemrograman prosedural? Dalam membangun program yang masih sederhana
tentunya konsep object oriented ini akan terasa sangat menyusahkan, akan tetapi
ketika kita membuat sebuah program yang ruang lingkupnya luas konsep object
oriented akan terasa sangat membantu karena akan terasa lebih mudah untuk
mengorganisir program yang telah kita buat.
Dalam konsep object oriented akan kita temukan kata object dan class, class merupakan pola / template yang menggambarkan kumpulan object yang mempunyai sifat yang sama, perilaku, atau disebut dengan himpunan object sejenis. Sementara object adalah implementasi dari class. Sebagai contoh : dalam pembangunan suatu gedung tentunya seorang arsitek akan menggunakan gambar desain gedung, dan kemudian akan dibuat gedung nyatanya. Dalam contoh ini gambar desain gedung dapat kita kategorikan sebagai class dan gedung nyatanya sebagai implementasi dari gambar gedung yang dapat kita kategorikan sebagai object. Dari suatu class dapat dibuat beberapa object yang sama.
Dalam konsep object oriented akan kita temukan kata object dan class, class merupakan pola / template yang menggambarkan kumpulan object yang mempunyai sifat yang sama, perilaku, atau disebut dengan himpunan object sejenis. Sementara object adalah implementasi dari class. Sebagai contoh : dalam pembangunan suatu gedung tentunya seorang arsitek akan menggunakan gambar desain gedung, dan kemudian akan dibuat gedung nyatanya. Dalam contoh ini gambar desain gedung dapat kita kategorikan sebagai class dan gedung nyatanya sebagai implementasi dari gambar gedung yang dapat kita kategorikan sebagai object. Dari suatu class dapat dibuat beberapa object yang sama.
Konsep object oriented memiliki
karakteristik utama yaitu :
1. Enkapsulasi, sebuah prinsip yang digunakan
ketika membangun struktur program secara keseluruhan yang mana setiap komponen
dari program dibungkus, pembungkusan properti dan operasi dalam satu even.
Secara simple dapat kita katakan bahwa kita menyembunyikan keruwetan kode-kode
program dalam suatu object.
2. Polimorphism, suatu kondisi dimana dua object
atau lebih mempunyai antarmuka yang identik namun mempunyai perilaku berbeda.
3. Inheritance (pewarisan), merupakan sarana
untuk menghilangkan penulisan ulang terhadap kode yang dapat digunakan berulang
kali yang didasarkan pada hubungan relasional hirarki.
Sebelum
memasuki dalam bahasa pemrograman, ada
beberapa hal yang harus di ingat:
1. Program yang akan kita buat adalah
terdiri dari sekumpulan object yang saling berinteraksi/ saling mengirimkan pesan. Misalnya kita
asumsikan program kita adalah sebuah mobil, dan bagian-bagian dari mobil
tersebut adalah object-object (mesin, rangka mobil dan lain sebagainya)yang
saling berhubungan dan menjadi satu kesatuan yang membangun mobil tersebut.
2. Berfikirlah object sebagai tipe
“data buatan” (seperti struct, Enum). Namun tipe “data buatan” ini memiliki
kelebihan yaitu dapat menyimpan informasi (sebagai property) dan juga dapat
melakukan “aktivitas” (sebagai method/ fungsi).
3. Setiap object memiliki “tipe”
tersendiri. Tipe disini dimaksudkan agar kita dapat mengetahui “pesan” apa yang
dapat kita kirimkan terhadap object tersebut. Atau dengan kata lain dengan
mengetahui “tipe” suatu object kita dapat memanggil fungsi yang terdapat
didalamnya ataupun informasi yang disimpan oleh object tersebut.
Hal yang
harus di ingat ketika mendesain suatu program :
- Correctness and Sufficiency
Dalam mendesain program sebaiknya kita memperhatikan bahwa object-object yang
kita desain dapat menjamin kebenaran informasi dan juga kecukupan informasi
yang dibutuhkan.
- Robustness
Object-object yang kita desain sebaiknya dapat membuat suatu program menjadi
tangguh, dalam hal ini diharapkan program yang dibuat memiliki error yang
sedikit dan dapat bertahan dalam situasi yang sulit sekalipun.
- Flexibility
Object-object yang didesain sebaiknya mdah untuk diexpand atau dikembangkan
(bersifat flexibel). Hal ini dibutukan karena dalam pembuatan program sering
kali kita harus merubah desain yang telah kita buat sebelumnya karena adanya
perubahan desain yang diinginkan oleh user/pengguna.
- Reusability
- Efficiency
Dengan berpegang pada beberapa hal diatas diharapkan kita dapat mendesain program yang tangguh, dan bagus.
Tidak ada komentar:
Posting Komentar