P. 1
Konsep Pemrograman Berorientasi Objek

Konsep Pemrograman Berorientasi Objek

|Views: 543|Likes:
Published by Ansar Efendi

More info:

Published by: Ansar Efendi on Jul 26, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

01/15/2013

pdf

text

original

SEJARAH OOP

Dasar untuk OOP dimulai pada awal tahun 1960-an. Sebuah terobosan melibatkan contoh dan objek telah dicapai di MIT dengan PDP-1, dan pertama untuk menggunakan bahasa pemrograman objek adalah Simula 67. Ia dirancang untuk tujuan membuat simulasi, dan dikembangkan oleh Kristen Nygaard dan Ole-Johan Dahl di Norwegia. Mereka bekerja pada simulasi yang berurusan dengan exploding kapal, dan mereka dapat diwujudkan grup yang berbeda kapal ke kategori. Setiap jenis kapal akan memiliki class, dan class akan menghasilkan perilaku yang unik dan data. Simula tidak hanya bertanggung jawab untuk memperkenalkan konsep class, tetapi juga memperkenalkan instance dari class. Istilah "object oriented programming" pertama kali digunakan oleh Xerox PARC mereka di luar program bahasa. Istilah ini digunakan untuk merujuk kepada proses menggunakan objek sebagai dasar untuk penghitungan. Tim Smalltalk yang telah terinspirasi oleh Simula 67 proyek, tetapi mereka telah merancang Smalltalk sehingga akan dinamis. Object dapat diubah, diciptakan, atau dihapus, dan ini berbeda dengan sistem statis yang digunakan secara umum. smalltalk juga merupakan bahasa pemrograman pertama kali yang memperkenalkan konsep inheeritance. Hal ini adalah fitur yang diperbolehkan untuk Smalltalk melebihi simula 67 dan pemrograman sistem analog. Meskipun sistem yang canggih pada saat itu belum bisa menggunakan konsep inheritance. Simula 67 adalah sistem yang telah memberikan inspirasi banyak bahasa pemrograman lain, termasuk Pascal dan Lips. Pada tahun 1980-an, pemrograman berorientasi objek telah menjadi dominan, dan faktor utama dalam hal ini yakitu C++. object oriented programming juga penting untuk pengembangan grafik user interface. Cocoa dengan struktur yang ada dalam Mac OS X adalah contoh yang baik dari GUI yang dinamis yang bekerja dengan bahasa pemrograman berorientasi objek. Paradigma dari pemrograman ini juga telah memainkan peranan penting dalam pengembangan event-driven programming.

PARADIGMA PEMROGRAMAN Paradigma adalah sudut pandang tertentu yang digunakan terhadap suatu problem, realitas, keadaan dan sebagainya. Paradigma membatasi dan mengkondisikan jalan berpikir seseorang, mengarahkannya terhadap beberapa atribut dan mengabaikan atribut lain, sehingga paradigma hanya memberikan pandangan yang terbatas terhadap sebuah realitas. Dalam pemrograman dikenal beberapa paradigma, yaitu: 1. Paradigma Pemrograman Prosedural atau Imperatif

Paradigma fungsional tidak mempermasalahkan memorisasi dan struktur data. diasumsikan bahwa akan selalu ada fungsi-fungsi dasar yang dapat digunakan. atau komposisi dari fungsi-fungsi lain yang telah terdefinisi. fungsi dapat berupa fungsi ”primitif”. Pascal. Fortran. dsb… 2. Predikatif atau Lojik Paradigma ini didasari atas pendefinisian relasi antar individu yang dinyatakan sebagai predikat. Paradigma Pemrograman Fungsional Paradigma ini didasari oleh konsep pemetaan dan fungsi pada matematika. Contoh bahasa pemrogaman yang menggunakan paradigma prosedural atau imperatif adalah: Algol. yang dibedakan menjadi memori instruksi dan memori data. Dalam paradigma ini. Program dalam paradigma ini berdasarkan pada struktur informasi di dalam memori dan manipulasi dari informasi yang disimpan tersebut. sebuah program besar dihasilkan dengan menggabungkan fungsi-fungsi yang telah tersedia. kekurangannya adalah batasan yang sangat mengikat sehingga terkadang menyulitkan programmer yang tidak terbiasa. selanjutnya instruksi akan dieksekusi satu persatu secara sekuensial oleh sebuah proses tunggal. yang perlu diperhatikan hanya keadaan awal dan akhir. C. APL dan LISP. Program yang dihasilkan dengan bahasa pemrograman yang menggunakan paradigma ini biasanya membutuhkan waktu pemrosesan yang lebih lama dibandingkan dengan yang menggunakan paradigma prosedural karena dibutuhkan waktu lebih untuk memproses fungsi-fungsi yang digunakan dalam membuat program. Sebuah program lojik adalah kumpulan aksioma (Fakta dan aturan deduksi. selanjutnya program akan menggunakan aturan deduksi dan mencocokkan pertanyaan dengan fakta-fakta yang ada untuk menjawab pertanyaan. Kata kunci yang sering digunakan dalam paradigma ini adalah: Algoritma + Struktur Data = Program Kelebihan dari paradigma ini adalah efisiensi eksekusi karena lebih dekat dengan konsep mesin. Ketika program dieksekusi. sehingga penyelesaian masalah berdasarkan pada fungsi-fungsi yang telah tersedia tersebut. melalui aplikasi fungsi. Paradigma Pemrograman Deklaratif. Cobol. Contoh bahasa pemrograman yang menggunakan paradigma fungsional adalah LOGO. setiap fungsi seperti ”kotak hitam”. Dalam paradigma ini. tidak ada lagi pengertian tentang ”variabel”. Jadi dasar pemecahan masalah adalah transformasional. . masing-masing memori tersebut dapat diberi nama dan nilai. semua kelakuan program adalah suatu rantai transformasi dari sebuah keadaan awal menuju ke suatu rantai keadaan akhir.Paradigma ini didasari oleh konsep mesin Von Newman (stored program concept) sekelompok tempat penyimpanan (memori). pemakai akan mengajukan pertanyaan. Programmer tidak perlu tahu bagaimana mesin mengeksekusi atau bagaimana informasi disimpan dalam memori. 3. yang mungkin melalui keadaan antara. Basic. tidak ada pemilahan antara data dan program. programmer menguraikan sekumpulan fakta dan aturan-aturan (inference rules).

yang dianggap benar.Contoh bahasa pemrograman yang menggunakan paradigma ini adalah: Prolog. Java. dll juga bisa dilihat sebagai objek. Paradigma Berorientasi Object (Object Oriented) Paradigma ini menggunakan konsep class dan object. yang mestinya benar apabila premis-premisnya benar. harus tau dulu konsep dasarnya. yang diberikan oleh Aristoteles. masing-masing object dapat berinteraksi dengan object lainnya meskipun berasal dari class yang berbeda. Kita dapat membagi objek menjadi dua kategori yaitu benda hidup dan benda mati. Objek yang merupakan benda hidup tentu saja mempunyai indra yang digunakan untuk melakukan banyak yang diinginkannya. mouse. orang tua. Konsep dasar yang harus difahami sebelum belajar lebih lanjut. (premis minor) Sokrates pasti (akan) mati. Contoh bahasa pemrograman yang menggunakan paradigma ini adalah: Smalltalk. Java. kepada kesimpulan-kesimpulan. Dengan begitu dalam paradigma ini dikenal konsep modularitas. (premis mayor) Sokrates adalah manusia. ---------------------------------------------------------------------------------------------------------------Pembuktian melalui deduksi adalah sebuah jalan pemikiran yang menggunakan argumenargumen deduktif untuk beralih dari premis-premis yang ada. Program komputer yang kita pelajari seperti C. Pemahaman tentang pemrograman berbasis objek tentu saja kita mulai dari objek itu sendiri. keyboard. Delphi. binatang. Sedang objek yang merupakan benda mati tidak dapat melakukan apapun kecuali ada campur tangan dari benda hidup. ialah • • • Semua manusia fana (pasti akan mati). komputer. mempunyai hirarki artinya sebuah class dapat diturunkan menjadi sebuah class baru yang juga memiliki attribut dan method class diatasnya. penggunaan kembali (reuse) serta kemudahan modifikasi.[1] Contoh klasik dari penalaran deduktif. gedung. C++. object adalah instansiasi dari class. seluruh hal yang kita lihat adalah objek (orang. 4. setiap object akan mempunyai attribute dan method. . dll). Eifel. (kesimpulan) Konsep Pemrograman Berorientasi Objek Jika teman-teman mau belajar atau belum pernah belajar pemrograman berbasis objek. Di dalam dunia nyata. Delphi. pacar.

Biarpun demikian kedua kategori objek itu (hidup & mati) mempunyai kesamaan. belajar. dll). dengan pemrograman berbasis objek dapat dilakukan pewarisan atribut dan behaviour dari class yang satu ke yang lain (inheritance). tindakan . hidup) dan dua kemungkinan behaviours (dimatikan. Setelah melakukan itu. panjang. Hampir sama kan? Setelah membaca tulisan diatas. Objek-objek seperti inilah yang akan di terjemahkan dalam pemrograman berbasis objek. tertutup) dan tiga kemungkinan behaviours (ditutup terkunci. mobil di gas. ciri. tindak tanduk. Objek-objek yang berbeda dapat memiliki attributes dan behaviours yang sama. Sebuah class adalah suatu blueprint dari tiap objek individu yang ada. Dapat kita bandingkan antara pembaca tulisan ini (orang) dan monyet. makan. Untuk tiap objek coba tanyakan pada diri anda sendiri : “Keadaan apa yang mungkin terjadi pada objek ini?” dan “Tingkah laku yang bagaimana yang bisa dilakukan objek ini?”. lebar. Dalam dunia nyata. Televisi layar datar. berat. Seperti objek meja dapat berada didalam objek kamar. anda pasti akan menemukan bahwa objek-objek itu mempunyai kompleksitas yang beragam. berat. komputer dihidupkan / dimatikan. Untuk hal diatas. Sedang objek yang lain seperti lampu punya dua keadaan (mati. dibuka. kita dapat menyebut bahwa televisi yang anda miliki adalah instance dari class suatu objek yaitu televisi. Serta memiliki behaviours . atribut seperti ukuran. Seperti. Sebagai contoh objek pintu punya dua kemungkinan keadaan (terbuka. televisi layar biasa. Di dalam pemrograman objek. Anda pasti juga akan menemukan bahwa suatu objek dapat menjadi bagian atau terdapat dalam objek lain. ditutup tdk terkunci). tanda. Bermacam-macam objek biasanya mempunyai persamaan dengan yang lain. keduanya mempunyai atribut yang sama (ukuran. dihidupkan). dll. Untuk atribut dan behaviour yang . Tiap televisi mempunyai blueprints yang tentunya komponennya juga sama. sifat. cd/dvd player.dll). kelakuan. banyak televisi yang ada (bukan banyak lagi. dll. support radio. tidur. Kesamaannya yaitu keduanya memiliki attributes . aturan seperti jalan. beberapa televisi juga sudah dilengkapi dengan video player. anda pasti sering menemukan objek yang sama satu dengan yang lainnya. bentuk. puluhan bahkan ratusan) yang dibuat perusahaan yang sama dan modelnya juga sama. coba anda lihat sebentar objek nyata yang ada disekitar. Tapi terdapat perbedaan juga diantara televisi yang ada. tingkah laku.

pemrograman berorientasi objek mengurangi kesalahan yang terjadi. Selamat belajar . Konsep pemrograman berbasis object : Enkapsulasi. Contoh : seperti dalam kasus mobil. pewarisan. Enkapsulasi adalah suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi penyalahgunaan dari luar system sekaligus menyederhanakan suatu system itu sendiri. polymorphism.. Karena sebuah methode hanya bisa mengakses dimana metode itu berada. Akses ke internal system diatu oleh interface. Pewarisan adalah salah satu cara untuk menggunakan kode-kode yang telah dibuat sebelumnya. Kita hanay memindah-mindahkan tongkat transmisi untuk mendapatkan percepatan yang kita inginkan. Hal ini disebabkan oleh fokus menentukan kelas dan objek yang memerlukan perhatian lebih besar. Tongkat transmisi inilah yang menjadi interface mobil tersebut. Dalam pemrograman berorientasi objek waktu yang diperlukan untuk merancang lebih lama dibandingkan dengan pembuatan program. Kita tidak mengetahui transmisi tersebut secara fisik seperti pada system transmisi tentang bagaimana cara mobil mengatur percepatan dan apa yang dilakukannya terhadap mesin untuk mendapatkan percepatan tersebut. Salah satu kelebihan pemrograman berorientasi objek adalah penggunaan ulang kodekode yang telah dibuat. bayangkan transmisi mobil. Tetapi waktu yang diperlukan untuk menulis program lebih sedikit dibandingkan dengan program prosedural. program berorientasi objek juga lebih mudah dipelihara serta dikembangkan. Sebaliknya dengan . Keuntungan OOP Dan Kelemahan OOP 1. 2.sama dapat diwariskan dari class diatasnya (televisi) sedang atribut dan behaviour yang tidak terdapat pada televisi pada umumnya menjadi atribut objek itu sendiri. Dengan pedal rem kita tidak dapat mengakses system tersebut.

Kita dapat mengganti object-object yang menyusun subsistem dengan object lainnya jika memang diperlukan tanpa mengganggu keseluruhan system. mungkin digunakannnya suatu interface yang sama untuk memerintahkan suatu objek agar melakukan tindakan yang mungkin akan memberikan hasil akhir yang serupa dengan proses berbeda. Perbedaan antara class dan object. Konsep yang sama dilakukan dalam pemrograman. Dalam konsep lebih umum polymorphism dapat disebut “suatu interface. banyak merek mobil beredar dipasaran tapi semua memiliki interface kendali yang sama. Setiap baris program merupakan bagian dari object dan memiliki fungsi masing-masing. banyak aksi”. Dalam bahasa Java “everything is an object”. Polymorphism berasal dari bahasa Yunani yang berarti “banyak bentuk”. class dipergunakan untuk menggambarkan suatu model atau spesifikasi dari suatu entitas. di antaranya: . Jika kita dapat mengendarai satu mobil. Dalam OOP. realisasi atau perwujudan dari class itu sendiri. Pewarisan merupakan suatu proses dimana suatu class diturunkan dari class yang lainnya sehingga ia mendapatkan cirri dan sifat dari class tersebut.menggunakan transmisi tersebut kita tidak mungkin dapat menyalakan radio mobil ataupun membuka pintu mobil. Interface yang sama tidak berarti cara kerja yang sama. kita pasti dapat mengendari mobil lain dengan merek berbeda. Contoh: dalam kasus mobil. Blueprint saat ini diartikan sebagai sebuah rancangan menyeluruh yang terdokumentasi mengenai hal teknis Materi Tambahan OOP memiliki beberapa keuntungan dalam pemrograman. Dengan interface yang sama dapat mendapatkan hasil yang sama tetapi bagaimana proses yang terjadi dari aksi menjadi hasil mungkin saja berbeda. sedangkan object merupakan kenyataan.

Diposkan oleh OOP quick view di 18. Sebuah class secara tipikal sebaiknya dapat dikenali . 14 September 2008 Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut: 1. Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. 3. Properti software tidak terikat dalam satu unit fungsional. Objek yang baru dapat dibuat tanpa mengubah kode yang sudah ada.1. 3. sehingga harus crosscut di antara komponennya. Crosscut tersebut mengakibatkan sulitnya pengembangan dan pemeliharaan. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object.08 0 komentar Minggu. OOP menyediakan framework untuk library kode di mana komponen software yang tersedia dapat dengan mudah diadaptasi dan dimodifikasi oleh programmer. Kelas 2. OOP akan mempermudah dalam memaintain dan memodifikasi kode yang sudah ada. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisidefinisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. OOP menyediakan struktur modular yang jelas untuk program sehingga OOP sangat bagus digunakan untuk mendefinisikan tipe data abstrak di mana detil implementasinya tersembunyi. Sedangkan beberapa kelemahan OOP antara lain adalah sebagai berikut: 1. 2. Tidak memperbolehkan implementasi yang kuat pada reuse 2. Hal ini sangat berguna untuk mengembangkan GUI (Graphical User Interfaces).

Dengan modularitas. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja. 7. dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada. dan berkomunikasi dengan objek lainnya dalam sistem. 9. Enkapsulasi 8. hanya metode dalam objek tersebut yang diberi ijin untuk mengakses keadaannya. struktur dari sebuah program akan terkait dengan aspekaspek dalam masalah yang akan diselesaikan melalui program tersebut. Objek 4. Polimorfisme . laporan dan perubahan keadaannya. Abstraksi 6. dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek. Proses. Membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer. 3. yaitu kemampuan untuk memfokus pada inti. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya. tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak. 5. fungsi atau metode dapat juga dibuat abstrak.

Tidak bergantung kepada pemanggilan subrutin. bila sebuah burung menerima pesan "gerak cepat". Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager.10. C# . sekretaris. Bahasa Pemrograman Bahasa pemrograman yang mendukung OOP antara lain: 1. Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dan diciptakan dengan jenis khusus dari objek yang sudah ada . Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. dia akan menggerakkan kakinya dan berlari. Smalltalk 6. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. petugas administrasi data dan lainnya. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama. dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. PHP 8. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan. 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. Visual Basic. Inheritas 12. 11. Java 2. Bila seekor singa menerima pesan yang sama. Ruby 7. Contohnya.objek-objek ini dapat membagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulang perilaku tersebut (bahasa berbasis-objek tidak selalu memiliki inheritas. dia akan menggerakan sayapnya dan terbang. namun yang sesuai dengan kemampuan hewan tersebut. C++ 3. metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Keduanya menjawab sebuah pesan yang sama. bahasa orientasi objek dapat mengirim pesan. SIMULA 5.NET 4.

Eiffel 10. Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih. memproses data. Perl Diposkan oleh OOP quick view di 14. dan mengirim pesan ke objek lainnya. kemudahan mengubah program.9. pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan. Lebih jauh lagi.14 1 komentar Pengertian OOP Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. . dan digunakan luas dalam teknik piranti lunak skala besar. dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->