Object Oriented

Konsep Object Oriented

Konsep Object Oriented  sebenarnya bukanlah barang baru dalam dunia bahasa pemrograman. Konsep ini sudah lama ada dimulai dari bahasa pemrograman Small Talk, LISP, C ++, dan beberapa bahasa pemrograman lainnya.

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.

Object itu secara mudahnya dapat dikatakan terdiri dari property dan method..

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.J
  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 kita memasuki dalam bahasa pemrograman, sebaiknya ada beberapa hal yang kita selalu kita ingat dan kita pegang :

  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

Bagaimana Menentukan Object-Object dalam suatu program

Ketika kita hendak membuat suatu program tentunya kita akan dihadapkan dengan persoalan bagaimana cara mendesain object yang baik sehingga program yang kita buat dapat berjalan dengan optimal? Untuk menjawab pertanyaan ini tidaklah mudah, karena belum ada aturan yang baku dalam mendesain object yang akan dibuat, akan tetapi ada beberapa hal yang dapat dijadikan pegangan dalam mendesain program yang baik yaitu :

1.      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

2.      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.

3.      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.

4.      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.

5.      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.

This entry was posted in Courses. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *