Anda di halaman 1dari 8

Teknik Pemrograman Terstruktur 2

KONSEP DASAR OOP


(OBJECT ORIENTED PROGRAMMING)

Disusun oleh :
Agustian Dwi Rahayu (12108173)
2KA05

SISTEM INFORMASI
UNIVERSITAS GUNADARMA
2010
Pendahuluan
Pemrograman berorientasi objek. Pemrograman ini mempertinggi kualitas dan
produktifitas pengembangan software. Program pengembangannya dilakukan dengan
pendekatan building block. Setiap block, disebut object, bersifat independen dan mampu
berjalan sendiri atau saling kunci dengan object lain dengan mudah dan otomatis. Object-
object berinteraksi dengan saling memberikan informasi satu terhadap yang lainnya. Masing-
masing object harus berisikan informasi mengenai dirinya sendiri (encapsulation) dan object
yang dapat dikaitkan (inheritance).

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.

Pengertian Class dan Object


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

Contoh Listing Program Encapsulation (Pembungkusan):

Jika dilihat, di atas terdapat variable panjang, lebar, fungsi set_sisi() dan fungsi
get_luas() yang semuanya dibungkus menjadi stu objek dengan nama PERSEGI-
PANJANG.

1. Polymorpishme pada object oriented programming ialah kemampuan program untuk


mengungkapkan banyak hal yang berbeda dengan menggunakan cara yang sama.
Contoh program Polymorpishme:
Output :
Berjalan dengan SANTAI
Berjalan dengan TEGAP

2. Inheritance (pewarisan), merupakan sarana untuk menghilangkan penulisan ulang


terhadap kode yang dapat digunakan berulang kali yang didasarkan pada hubungan
relasional hirarki. Contoh Listing Program Inheritance (Pewarisan):
Output:
Nilai a : 10

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

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.

Daftar Pustaka
1. “http://netindonesia.net/blogs/pratamakharisma/archive/2006/02/15/8663.
aspx”
2. "http://ilmukomputer.org"