1.1. Apa itu OOP (Object Oriented Programming)
OOP adalah suatu cara baru dalam berfikir serta berlogika dalam menghadapi masalah – masalah yang akan dicoba atasi dengan bantuan komputer.
OOP tidak seperti pemrograman terstruktur , mencoba melihat suatu permasalahan lewat pengamatan dunia nyata dimana setiap objek adalah identitas tunggal yang memiliki kombinasi struktur data dimana struktur data dan fungsi didefinisikan secara terpisah dan tidak berhubungan secara erat.
Filosofi OOP menciptakan sinergi yang luar biasa sepanjang siklus pengembangan perangkat lunak ( Perencanaan, Analisis, Perancangan dan implementasi ), sehingga daapt diterapkan pada perancangan sistem secara umum, menyangkut perangkat lunak, perangkat keras serta sistem informasi secara keseluruhan.

A. Konsep Objek

Apakah Yang disebut dengan Objek ?
Objek adalah abstraksi atau sesuatu yang memiliki arti bagi aplikasi yang akan kita kembangkan.
Objek biasanya adalah kata benda, namun objek dalam konteks OOP bukan hanya objek nyata yang biasa dilihat serta diraba dan dilihat secara kasat mata seperti mobil, pesawat terbang, sapi, kode dll, namum juga menyangkut entitas – entitas konseptual seperti rumus persamaan kuadrat, liberalisme dll.

B. Identitas

Menurut Khusliafian (1995) dikutip dari buku object oriented modelling and design tulisan Jmes Rumbough, dkk identitas adalahSesuatu yang membedakan suatu objek dari objek yang lain.
Konsep identitas yaitu objek yang dapat dibedakan satu sama lain, bebrapa objek dapat dikelompokkan /dideklarasikan/ digolongkan menjadi satu kelas yang tunggal, misalnya kita tahu dari ilmu biologi bahwa manusia dan kera serta beberapa jenis binatang yang lain dapat digolongkan menjadi 1 kelas yang dinamakan primata.

c. Konsep Polimorfisme

Polimorfisme adalah konsep yang menyatakan bahwa suatu fungsi yang sama dapat diterapkan dan dapat memiliki oleh kelas – kelas yang berlainan.
Misalnya fungsi makan dapat digolongkan baik pada kelas primata maupun pada kelas burung, meskipun mereka melakukan dengan cara yang berbeda dengan cara mereka masing – masing.
Pada kasus komputer misalnya operasi “gambar”dapat ditemukan pada List Box, Combo Box Button dll, meskipun operasinya sama implementasinya berbeda untuk masing – masing objek pada layar komputer.

Setiap Kelas memiliki sifat yang umum dari objek didalamnya misal kelas primata diatas memiliki ciri yang sama, manusia dan kera misalnya memiliki sifat yang sama yaitu menyusui anaknya, bernafas dengan hidung , makan dengan mulut memiliki 2 tangan, 2 kaki dsbnya. Namun mengacu pada pada konsep identitas diatas bahwa setiap objek memiliki identitias yang berbeda. MAnusi dan kera misalnya dibedakan dari kemampuan otaknya dalam memproses data dan informasi, menyimpan informasi serta melakukan abstraksi ( abstraksi ini memungkinkan manusia melakukan pemodelan sedang kera tidak bisa melakukannya).

D. Konsep Pewarisan

Pewarisan adalah berbagi atribut dan operasi antar kelas berdasrkan hirarki kelas.

Contoh Scrolling Window ( Window yang memiliki penggulung ) serta Fixed Window ( Window yang tidak memiliki penggulung ) dapat diklasifikasikan pada kelas yang lebih tinggi yaitu Window. Kedua kelas dibawahnya mewarisi data serta fungsi yang dapat dimiliki window, misal tempat di layar monitor, dapat diperkecil, diperbesar , memiliki warna tertentu bereaksi terhadap pengklikan tombol dsb.

Dalam konteks pemrograman berorientasi objek pewarisan akan sangat mengurangi perulangan dan mungkin merupakan salah satu keunggulan utama dalam rekayasa perangkat lunak karena memungkink.an penulisan kode yang lebih sedikit tanpa mengorbankan esensi pernagkat lunak secara keseluruhan

1.2. Apa itu Objek oriented Development

Adalah Suatu cara pengembangan perangkat lunak dan sistem informasi berdasarkan abstraksi objek – objek yang ada didunia nyata.
Abstraksi adalah menemukan serta memodelkan fakta – fakta dari suatu objek yang penting bagi suatu aplikasi.
Brooks (1987) dikutif dari buku object oriented modelling and design tulisan james rumbough dkk mengemukakan bahwa bagian tersulit dari pengembangan perangkat lunak atau sistem informasi adalah tahap analisis dimana kita harus menganalisis masalah yang rumit yang kita jumpai pada dunia nyata serta melakukan abstraksi terhadap maslah itu, Kemudian melakukan perancangan agar dapat diimplementasikan dengan cepat dan akurat pada komputer baik hardware maoupun software.

1.3. Tema – tema Object Oriented

Abstraksi
Adalah menemukan hal – hal yang essensial pada suatu objek dan memengabaikan hal – hal yang sifatnya Insendental.
Pada pengembangan sistem informasi ini berarti memfokuskan pada apa itu objek serta apa yang objek lakukan sebelum memutuskan bagaimana ia dapat diimplementasikan
B. Pembungkusan ( Encapsulation )
Adalah Meninggalkan aspek eksternal dari objek yang dapat diakses oleh objek lain dan memfokuskan diri pada implementasi internal suatu objek.

Rincian imlementasi internal dari suatu objek tersembunyi dari objek lain dan terpisah dari implementasi eksternal yaitu antarmuka ( interface ) suatu objek dengan objek yang lain. Oleh karena itu implementasi internal suatu objek dapat dirubah tanpa mempengaruhi aplikasi yang menggunakannya.
Pembungkusan sebenarnya tidak unik pada bahasa pemrograman berorientasi objek tetapi kemampuannya untuk menggabungkan struktur data dan prilaku ( Fungsi dan Prosedur ) dalam suatu entitas tunggal membuat bhs berorientasi objeklah berdaya guna dibandingkan konvensional yang memisahkan struktur data dan prilaku

C. Penggabungan Data dan Prilaku ( Fungsi )

Pada sistem berorientasi objek hierarki strukutr data adalah identik pada hierarki pewarisan operasi, artinya struktur data pada setiap kelas akan diwariskan pada objek – objek dari kelas mana objek itu diciptakan serta diwariskan pula pada kelas – kelas yang secara hierarkis berada dibawah kelas induk.

D. Sharing

Teknik pengembangan sistem informasi berorientasi objek mengijinkan sharing ( berbagi data / informasi serta berbagi penggunaan suatu operasi ) pada beberapa tingkatan.

Pengemabangan berorirentasi objek tidak hanya mengijinkan bebrabgi informasi fungsi aplikasi , tetapi juga menawarkan kemungkinan untuk penggunaan ulang perancangan dan kode pada proyek – proyek mendatang.

Teknologi berorientasi objek menyediakan alat – alat bantu seperti abstraksi, pembungkusan, pewarisan untuk membangun komponen – komponen yang dapat digunakan ulang ( reusable component ) baik antaraplikasi dalam suatu proyek maupun antarproyek yang secara garis besar tidak saling berkaitan secra erat.

E. Penekanan Pada Struktur Objek, Bukan Pada Struktur Prosedur

Teknologi berorientasi objek menekankan pada apa itu objek bukan pada bagaimana objek digunakan. Penggunaan objek sangat bergantung pada rincian aplikasi dan sering berubahsepanjang masa pengembangan.

Pengembangan berorientasi objek sangat menekankan pada struktur data dan kurang menekankan pada struktur prosedurseperti yang terjadi pada metodologi dekomposisi fungsional tradisional.

Pengembangan berorientasi objek mirip dengan teknik yang digunakan untuk merancag basis data bertipe ralasional.

F. Sinergi

Identitas, klasifikasi, polimorfisme serta pewarisan adalah karakteristik utama dari bhs pemrograman berorientasi objek. Setiap konsep dapat digunakan secara terpisah, tetapi mereka saling melengkapi secara sinergis.

1.4. Keunggulan Metoda Berorientasi Objek Dibanding Pendekatan Terstruktur

A. Pendekatan terstruktur
Pada pendekatan terstruktur ini permasalahan dilihat sebagai urutan yang harus dikerjakan seperti menerima masukan, pemrosesan kemudian menghasilkan keluaran.
Pendekatan terstruktur terutama adalah menulis daftar perintah yang harus diikuti oleh komputer kemudian mengorganisasi perintah – perintah tersebut kedalam kelompok – kelompok yang dinamakan fungsi atau prosedur yang umumnya menggunakan flowchart (diagram alir) untuk mengorganisasi aliran perintah dari suatu aksi keaksi yang lain.

Kelemahan pendekatan terstruktur adalah data global, pada program yang berukuran sangat besar, sangat sulit untuk dilacak, dan jika kita ingin merevisi setiap prosedur / fungsi yang menggunakan data global tersebut akan memakan biaya , tenaga dan waktu.

Tidak menggambarkan secara nyata dunianyata dengan baik sebabnya adalah karena fungsi – fungsi berorientasi pada aksi dan tidak berhubungan langsung dengan permasalahan.

Karakteristik utama yang nyata pada pendekatan berorientasi prosedur / fungsi adalah sbb:
a. Penekanan pada sesuatu yang harus dikerjakan ( algoritma pemecahan masalah ).
b. Program berukuran besar dipecah – pecah menjadi program yang lebih kecil.
c. Kebanyakan fungsi atau prosedur berbagi data global.
d. Pendekatan adalah pendekatan atas ke – bawah(top down approach )
e. Data bergerak secara bebas dalam sistem dan satu fungsi ke fungsi yang lain yang terkait.
f. Fungsi – fungsi menstranformasi data dari satu bentuk ke bentuk yang lain.

B. Paradigma Brorientasi Objek

Faktor utama dari ditemukannya pendekatan berorientasi objek adalah karena ditemukannya kekurangan – kekurangan pada pendekatan terstruktur: biaya pengembangan perangkat lunak sesuai dengan berkembangnya keinginan / kebutuhan pengguna, pemeliharaan yang sukar , lamanya penyelesaian suatu proyek, jangka waktu penyelesaian proyek selalu terlambat, biaya perangkat lunak yang sangat tinggi dll.
Pendekatan berorientasi objek membuat data terbungkus pada setiap fungsi / prosedur dan melindunginya terhadap perubahan yang tidak dikehendakidari fungsi yang berada diluar.

Beberapa karakteristik yang menjadi ciri – ciri dari pendekatan berorientasi objek adalah sbb:
– Pendekatan lebih pada data dan bukannya pada prosedur / fungsi.
– Program besar di bagi pada apa yang dinamakan objek – objek.
– Struktur data dirancang dan menjadi karakteristikdari objek – objek.
– Fungsi – fungsi yang mengoperasikan data tergabung dalam suatu objek yang sama.
– Data tersembunyi dan terlindung dari fungsi / proseduryang ada diluar.
– Objek – objek dapat salng berkomunikasi dengan saling mengirim message satu sama lain.
– Pendekatan adalah dari bawah keatas ( button up approach ).

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s