Object Oriented Programming (OOP)

ABSTRAK

OOP (Object Oriented Programming) adalah 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).

Tujuan dari penyusunan karya ilmiah ini adalah untuk mengetahui perbedaan dan pengembangan konsepdari OOP (Object Oriented Programming). Serta mengetahui cara kerja dari OOP (Object Oriented Programming) itu sendiri.

 

 

1.1 Pendahuluan OOP (Object Oriented Programming)

Konsep OOP dimulai pertengahan 1960-an dengan sebuah bahasa program SIMULASMALLTALK. Meskipun developer software tidak secara intensif mengembangkan OOP, tetapi metodologi object-oriented tetap digunakan sampai sekarang.kemudian dilanjutkan di era 70-an dengan Pada pertengahan 80-an, bahasa OOP seperti C++ dan Eifle menjadi popular diantara programmer komputer. Popularitas OOP berlanjut pada tahun 90-an, banyak pengembang perangkat lunak menggunakan konsep OOP seperti yang dilakukan pada Java dan kemudian PHP yang menjadi popular sekarang. Di tahun 2002, versi terakhir dari Visual Studio, Microsoft-pun ikut memperkenalkan bahasa OOP baru yaitu C# (dibaca C-sharp) serta penyempurnaan Visual Basic 6.0 yang tidak mendukung OOP menjadi VB.NET sebagaibahasa pemrograman berorientasi objek.

 

2.1 Pengenalan OOP (Object Oriented Programming)

2.1.1 OOP (Object Oriented Programming)adalah 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).

Enkapsulasi = > suatu proses yang menghalangi proses lain yang ada didalamnya sehingga aman dan tidak terpengaruh oleh keadaan diluarnya dan dapat juga terhindar dari kerusakan maupun gangguan. Contohnya sebuah mesin pengering rambut dengan menekan tombolnya kita dapat menyalakan mesin dan menghasilkan hawa panas yang dapat di manfaatkan untuk mengeringkan rambut kita tidak tahu bagaimana mesin tersebut menghasilkan panas yang kita tahu hanya wujud mesin tersebut yang bagus dan tombol on/off untuk menyalakan dan mematikan mesin serta manfaat yang kita rasakan sebagai hasil kerja mesin tersebut.

Inheritance = > Disebut juga pewarisan dimana suatu objek dapat didefinisikan seperti objek sebelumnya yang memiliki criteria yang spesifik apabila memang terdapat kemiripan objek tersebut hanya mengikuti apa yang telah didefinisikan atas objek yang sebelumnya sehingga definisi yang dimiliki objek baru tersebut harus lebih spesifik dari definisi yang sudah dimiliki objek sebelumnya.Contohnya kebaya adalah jenis pakaian maka definisi yang dimiliki oleh pakaian pastinya dimiliki oleh kebaya karena itu definisi yang telah didefinisikan di pakaian dan sama dengan yang ada di kebaya tidak perlu didefinisikan ulang cukup didefinisikan yang lebih spesifik dan mewakili dari suatu kebaya

 

2.1.2 OOP VS Pemrograman Terstruktur

Object Oriented Programing atau yang biasa dikenal dengan OOP adalah suatu pemrograman yang mengarah pada objek. Object oriented juga disebut sebagai paradigma pemrograman.Procedural Programming atau biasa disebut dengan pemrograman terstruktur adalah pemrograman yang disusun berdasarkan urutan tertentu.

 

2.1.3 Perbedaan mendasar antara OOP dan pemrograman terstruktur adalah:

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sedangkan untuk pemrograman terstruktur,  menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur.

Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri:object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ” modules”. Begitu pula  halnya dengan “message” pada OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.

 

2.1.4 Persamaan kedua pemrogaman

Adalah keduanya termasuk ke dalam pemodelan pemrograman yang digunakan dewasa ini.

Mana yang lebih baik

Tidak ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi tersendiri dalam pemrogramannya. Hal ini juga tergantung pada bagaimana pribadi si pemrogram ingin menyusun program yang akan dibuatnya. Apakah lebih suka menggunakan yang berorientasikan pada objek maupun pemrograman yang terstruktur.

Kapan sama2 baik

Pemrograman prosedural akan dikatakan lebih baik apabila dale segala situasi melibatkan kompleksitas moderat atau yang memerlukan signifikan kemudahan maintainability. Manfaat yang dirasakan dale penggunaan pemrograman prosedural adalah kemampuan kembali menggunakan kode yang sama tanpa menggunakan kode yang berbeda ataupun mengkopinya kembali. Dengan menggunakan “goto”, memudahkan programmer melacak kumpulan data sehingga menghindarkan pemrograman terstruktur menjadi seperti spagethii code.

Pemrograman berorientasikan objek dikatakan lebih baik apabila Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dale teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat tepat jika Anda diberi pertanyaan: apakah sebaiknya menggunakan OOP atau Procedural Programming? Karena jawabannya sangat relatif, terutama tergantung pada aplikasi yang ingin Anda buat. Jika Anda mempertimbangkan pemeliharaan dan pengembangan aplikasi yang efisien di masa yang akan datang, mungkin Anda dapat memilih pendekatan OOP. Tetapi, jika aplikasi Anda merupakan program sederhana yang dapat dibuat dengan mudah dan cepat dengan function/procedure, gunakanlah pendekatan Procedural Programming.Semua itu juga tergantung pada Anda sebagai programer, untuk memilih pendekatan yang cocok dan lebih baik bagi Anda dale mengerjakan sebuah aplikasi.

 

 

2.1.5 Konsep Dasar dari Pemrograman Berorientasi Objek

Pemrograman orientasi-objek menekankan pada konsep berikut:

* Kelas – kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing.Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object.Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

* Objek – membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

* Abstraksi – Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

* Enkapsulasi – Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

* Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

* Inheritas– Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada – objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas.)

 

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

 

2.1.6 Cara Kerja OOP(Object Oriented Programming)

Bagaiamana OOP Bekerja :Objek, Pesan, dan Method Pemrograman berorientasi objek terdiriatas komponen-komponen berikut :

1. Apa itu OOP : dalam pemrograman berorientasi objek (OOP, diucapkan “oop”), data dan instruksi untuk pemrosesan di mana data dikombinasikan menjadi “objek” yang cukup memadai bisa diguanakan pada program lain. Hal terpenting disini adalah objek.

2. Apa itu “Objek” : Objek adalah modul self-contained yang terdiri dari kode pemrogaman yang telah disusun sebelumnya. Modul memuat atau mengkapsulasi baik(1) cabang data, maupun (2) instruksi pemrosesan yang bisa dilakukan pada data tersebut.

3. Kapan objek data akan diproses – mengirim “ Message”: setelah objek menjadi bagian dari suatu program, instruksi tertentu diaktivasi hanya ketika “message” yang terkait sudah dikirimkan. Message adalah pengiriman peringatan kepada objek ketika operasi yang harus melibatkan objek tertentu dilakukan.

4. Bagaimana data objek diproses – “Method”: message cukup mengidentifikasi operasinya. Bagaimana sebenarnya hal itu dilakukan akan disertakan didalam instruksi pemrosesan yang menjadi bagian dari objek. Instruksi pemrosesan ini dinamakan method.

 

2.1.7 Bahasa Pemrograman yang mendukung OOP

1. Java OOP (Object Oriented Programming – Pemrogram Berorientasi Objek)

Yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis oebjek secara murni.Semua tipe data diturunkan dari kelas dasar yang disebut Object.Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir.Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.

3. C++

C++ adalah salah satu bahasa pemrograman komputer. Dibuat pada tahun 1980-an oleh Bell Labs (Bjarne Stroustrup) sebagai pengembangan dari Bahasa pemrograman C. Salah satu perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).

4. Microsoft Visual Basic .NET

Microsoft Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan menggunakan bahasa BASIC.Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga aplikasi command-line.Alat ini dapat diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#, atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio .NET.Bahasa Visual Basic .NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan di atas .NET Framework.Peluncurannya mengundang kontroversi, mengingat banyak sekali perubahan yang dilakukan oleh Microsoft, dan versi baru ini tidak kompatibel dengan versi terdahulu.

5. Ruby

Ruby adalah bahasa pemrograman scripting yang berorientasi obyek.Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa pemrograman scripting yang ada di dunia.Ruby ditulis dengan bahasa pemrograman C dengan kemampuan dasar seperti Perl dan Python.

6. Python

Python adalah bahasa pemrograman model skrip (scripting language) yang berorientasi obyek. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi

7. PHP

PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain.

 

 

 

8.  C#

Adalah Java versi Microsoft, sebuah bahasa multi flatform yang didesain untuk bisa berjalan di berbagai mesin. C# adalah pemrograman berorientasi Object (OOP).C# memiliki kekuatan bahasa C++ dan portabilitas seperti Java.

9. Delphi

Delphi adalah sebuah bahasa pemrograman dan lingkungan pengembangan perangkat lunak.Produk ini dikembangkan oleh Borland (sebelumnya dikenal sebagai Inprise). Bahasa Delphi, yang sebelumnya dikenal sebagai object pascal (pascal dengan ekstensi pemrograman berorientasi objek (PBO/OOP)) pada mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan Microsoft .NET framework (lihat di bawah). Dengan menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE

 

 

3.1   PENUTUP

3.1.1 KESIMPULAN

OOP (Object Oriented Programming) adalah Pemrograman berorientasi objekdimana  Pemrograman ini mempertinggi kualitas dan produktifitas pengembangan software.Object Oriented Programing atau yang biasa dikenal dengan OOP adalah suatu pemrograman yang mengarah pada objek. Object oriented juga disebut sebagai paradigma pemrograman.Procedural Programming atau biasa disebut dengan pemrograman terstruktur adalah pemrograman yang disusun berdasarkan urutan tertentu.

Sumber

http://www.ilmukomputer.com tanggal 27 Desember 2010

Google SEO – http://www.google.com dan http://www.google.co.id

http://mischanz.wordpress.com/2009/12/12/object-oriented-programming-oop/

http://www.wikipedia.com tanggal 27 Desember 2010

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