Konsep
pemrograman object oriented
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
Kode-kode program yang telah
kita buat, dapat kita gunakan kembali. Hal ini haruslah terpenuhi dalam
mendesain program yang baik. Karena ketika kita menggunakan point ini maka kita
akan lebih mudah untuk me-manage program yang kita buat, apalagi disaat kita
harus mengganti suatu informasi dalam program yang kita buat.
-
Efficiency
Desain yang kita buat sebaiknya efisien karena akan
berkaitan dengan penggunaan resource hardware yang kita gunakan. Baik itu dalam
faktor kecepatan maupun dalam faktor penyimpanan data/program.
Dengan berpegang pada beberapa hal diatas diharapkan kita dapat mendesain program yang tangguh, dan bagus.
Dengan berpegang pada beberapa hal diatas diharapkan kita dapat mendesain program yang tangguh, dan bagus.
Tidak ada komentar:
Posting Komentar