7
Paradigma Berorientasi Object (Object Oriented) Paradigma ini menggunakan konsep class dan object  , object adalah instansiasi dariclass,setiap object akan mempunyai attribute dan method , masing-masingobject dapat berinteraksidenganobject lainnya meskipun berasal dari class yang berbeda.mempunyai hirarki artinya sebuah class dapat diturunkan menjadi sebuah class baru yang juga memiliki attribut dan method class diatasnya. Dengan begitu dalam paradigma inidikenal konsep modularitas, penggunaan kembali (reuse) serta kemudahan modifikasi.Contoh bahasa pemrograman yang menggunakan paradigma ini adalah:c++, Smalltalk, Eifel,Delphi, Java. —————————————————————————————————————- Pembuktian melalui deduksi adalah sebuah jalan pemikiran yang menggunakanargumen- argumendeduktif untuk beralih dari premis-premisyang ada, yang dianggap benar, kepada kesimpulan-kesimpulan, yang mestinya benar apabila premis-premisnya benar. Contoh klasik dari penalaran deduktif, yang diberikan oleh Aristoteles, ialah Semua manusia fana (pasti akan mati). (premis mayor) Sokrates adalah manusia. (premis minor) Sokrates pasti (akan) mati. (kesimpulan)Konsep Pemrograman Berorientasi Objek Jika teman-teman mau belajar atau belum pernah belajar pemrograman berbasis objek,harus tau dulu konsep dasarnya. Konsep dasar yang harus difahami sebelum belajar lebih lanjut.Pemahaman tentang pemrograman berbasis objek tentu saja kita mulai dari objek itu sendiri.Di dalam dunia nyata, seluruh hal yang kita lihat adalah objek orang, pacar, orang tua, binatang, gedung, komputer, mouse, keyboard, dll). Program komputer yang kita pelajariseperti C, C++, Java, Delphi, dll juga bisa dilihat sebagai objek. 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. Sedang objek yang merupakan benda mati tidak dapatmelakukan apapun kecuali ada campur tangan dari benda hidup. Biarpun demikian kedua kategori objek itu (hidup & mati) mempunyai kesamaan.Kesamaannya yaitu keduanya memiliki attributes : sifat, tanda, ciri, atribut seperti ukuran, bentuk, lebar, panjang, berat, dll. Serta memiliki behaviours : kelakuan, tingkah laku, tindak tanduk, tindakan , aturan seperti jalan, tidur, belajar, makan, komputer dihidupkan /dimatikan, mobil di gas, dll). Objek-objek yang berbeda dapat memiliki attributes dan behaviours yang sama. Dapat kita bandingkan antara pembaca tulisan ini (orang) dan monyet.Hampir sama kan?Setelah membaca tulisan diatas, coba anda lihat sebentar objek nyata yang ada disekitar.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?”.Setelah melakukan itu, anda pasti akan menemukan bahwa objek-objek itu mempunyaikompleksitas yang beragam. Sebagai contoh objek pintu punya dua kemungkinan keadaan(terbuka, tertutup) dan tiga kemungkinan behaviours (ditutup terkunci, dibuka, ditutup tdk terkunci). Sedang objek yang lain seperti lampu punya dua keadaan (mati, hidup) dan duakemungkinan behaviours (dimatikan, dihidupkan). 

Paradigma Oop

Embed Size (px)

DESCRIPTION

Paradigm a Oop

Citation preview

Page 1: Paradigma Oop

Paradigma Berorientasi Object (Object Oriented)

Paradigma ini menggunakan konsep class dan object  , object adalah instansiasi dariclass,setiap object akan mempunyai attribute dan method , masing­masingobject dapat berinteraksidenganobject

lainnya meskipun berasal dari class yang berbeda.mempunyai hirarki artinya sebuah class dapat diturunkan menjadi sebuah class baru yang juga memiliki attribut dan method class diatasnya. Dengan begitu dalam paradigma inidikenal konsep modularitas, penggunaan kembali (reuse) serta kemudahan modifikasi.Contoh bahasa pemrograman yang menggunakan paradigma ini adalah:c++, Smalltalk, Eifel,Delphi, Java.—————————————————————————————————————­

Pembuktian melalui deduksi

adalah sebuah jalan pemikiran yang menggunakanargumen­ argumendeduktif untuk beralih dari premis­premisyang ada, yang dianggap benar, kepada kesimpulan­kesimpulan, yang mestinya benar apabila premis­premisnya benar.

Contoh klasik dari penalaran deduktif, yang diberikan oleh Aristoteles, ialah

• Semua manusia fana (pasti akan mati). (premis mayor)

• Sokrates adalah manusia. (premis minor)

Sokrates pasti (akan) mati. (kesimpulan)Konsep Pemrograman Berorientasi Objek Jika teman­teman mau belajar atau belum pernah belajar pemrograman berbasis objek,harus tau dulu konsep dasarnya. Konsep dasar yang harus difahami sebelum belajar lebih lanjut.Pemahaman tentang pemrograman berbasis objek tentu saja kita mulai dari objek itu sendiri.Di dalam dunia nyata, seluruh hal yang kita lihat adalah objek orang, pacar, orang tua, binatang, gedung, komputer, mouse, keyboard, dll). Programkomputer yang kita pelajariseperti C, C++, Java, Delphi, dll juga bisa dilihat sebagai objek.

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. Sedang objek yang merupakan benda mati tidak dapatmelakukan apapun kecuali ada campur tangan dari benda hidup.

Biarpun demikian kedua kategori objek itu (hidup & mati) mempunyai kesamaan.Kesamaannya yaitu keduanya memiliki attributes : sifat, tanda, ciri, atribut seperti ukuran, bentuk, lebar, panjang, berat, dll.Serta memiliki behaviours : kelakuan, tingkah laku, tindak tanduk, tindakan , aturan seperti jalan, tidur,belajar, makan, komputer dihidupkan /dimatikan, mobil di gas, dll). Objek­objek yang berbeda dapat memiliki attributes dan behaviours yang sama. Dapat kita bandingkan antara pembaca tulisan ini (orang) dan monyet.Hampir sama kan?Setelah membaca tulisan diatas, coba anda lihat sebentar objek nyata yang ada disekitar.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?”.Setelah melakukan itu, anda pasti akan menemukan bahwa objek­objek itu mempunyaikompleksitas yang beragam. Sebagai contoh objek pintu punya dua kemungkinan keadaan(terbuka, tertutup) dan tiga kemungkinan behaviours (ditutup terkunci, dibuka, ditutup tdk terkunci). Sedang objek yang lain seperti lampu punya dua keadaan (mati, hidup) dan duakemungkinanbehaviours (dimatikan, dihidupkan). 

Page 2: Paradigma Oop

Anda pasti juga akan menemukan bahwasuatu objek dapat menjadi bagian atau terdapat dalam objek lain. Seperti objek meja dapat berada didalam objek kamar. Objek­objek seperti inilah yang akan di terjemahkan dalam pemrograman berbasis objek.Dalam dunia nyata, anda pasti sering menemukan objek yang sama satu dengan yang lainnya.Seperti, banyak televisi yang ada (bukan banyak lagi, puluhan bahkan ratusan) yang dibuat perusahaan yang sama dan modelnya juga sama. Tiap televisi mempunyai blueprints yang tentunya komponennya juga sama. Di dalam pemrograman objek, kita dapat menyebut bahwatelevisi yang anda miliki adalah instance dari class suatu objek yaitu televisi. 

Sebuah class adalah suatu blueprint dari tiap objek individu yang ada.Bermacam­macam objek biasanya mempunyai persamaan dengan yang lain. Televisi layar datar, televisi layar biasa, keduanya mempunyai atribut yang sama (ukuran, berat,dll). Tapiterdapat perbedaan juga diantara televisi yang ada, beberapa televisi juga sudah dilengkapidengan video player, cd/dvd player, support radio, dll.Untuk hal diatas, dengan pemrograman berbasis objek dapat dilakukan pewarisan atribut dan behaviour dari class yang satu ke yang lain (inheritance). 

Untuk atribut dan behaviour yang sama dapat diwariskan dari class diatasnya (televisi) sedang atribut dan behaviour yang tidak terdapat pada televisi pada umumnya menjadi atribut objek itu sendiri.Selamat belajar ..Keuntungan OOP Dan Kelemahan OOP

1.Salah satu kelebihan pemrograman berorientasi objek adalah penggunaan ulang kode­kodeyang telah dibuat. Pewarisan adalah salah satu cara untuk menggunakan kode­kode yangtelahdibuat sebelumnya.

2.Karena sebuah methode hanya bisa mengakses dimana metode itu berada, pemrograman berorientasi objek mengurangi kesalahan yang terjadi. Dalam pemrograman berorientasi objek waktu yang diperlukan untuk merancang lebih lamadibandingkan dengan pembuatan program. Hal ini disebabkan oleh fokus menentukankelas dan objek yang memerlukan perhatian lebih besar. Tetapi waktu yangdiperlukan untuk menulis program lebih sedikit dibandingkan dengan program prosedural. program berorientasi objek juga lebih mudah dipelihara sertadikembangkan.

Konsep pemrograman berbasis object : Enkapsulasi, pewarisan, polymorphism.Enkapsulasi

adalah suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi penyalahgunaan dari luar system sekaligusmenyederhanakan suatu system itu sendiri. Akses ke internal system diatu oleh interface.Contoh : seperti dalam kasus mobil, bayangkan transmisi mobil. Kita tidak mengetahuitransmisi tersebut secara fisik seperti pada system transmisi tentang bagaimana cara mobilmengatur percepatan dan apa yang dilakukannya terhadap mesin untuk mendapatkan percepatan tersebut. Kita hanay memindah­mindahkan tongkat transmisi untuk mendapatkan percepatan yang kita inginkan. Tongkat transmisi inilah yang menjadi interface mobiltersebut. Dengan pedal rem kita tidak dapat mengakses system tersebut. Sebaliknya dengan

menggunakan transmisi tersebut kita tidak mungkin dapat menyalakan radio mobil ataupunmembuka pintu mobil. Konsep yang sama dilakukan dalam pemrograman.Dalam bahasa Java “everything is an object”. Setiap baris program merupakan bagian dariobject dan memiliki fungsi masing­masing. Kita dapat mengganti object­object yangmenyusun subsistem dengan object lainnya jika memang diperlukan tanpa mengganggukeseluruhan system.

Page 3: Paradigma Oop

Pewarisan

merupakan suatu proses dimana suatu class diturunkan dari class yang lainnyasehingga ia mendapatkancirri dan sifat dari class tersebut. Perbedaan antara class dan object,class dipergunakan untuk menggambarkan suatu model atau spesifikasi dari suatu entitas,sedangkan object merupakan kenyataan, realisasi atau perwujudan dari class itu sendiri.

Polymorphism

berasal dari bahasa Yunani yang berarti “banyak bentuk”. Dalam OOP,mungkin digunakannnya suatu interface yang sama untuk memerintahkan suatu objek agar melakukan tindakan yang mungkin akan memberikan hasil akhir yang serupa dengan proses berbeda. Dalam konsep lebih umum polymorphism dapat disebut “suatu interface, banyak aksi”. Contoh: dalam kasus mobil, banyak merek mobil beredar dipasaran tapi semuamemiliki interface kendali yang sama. Jika kita dapat mengendarai satu mobil, kita pastidapat mengendari mobil lain dengan merek berbeda. Interface yang sama tidak berarti carakerja yang sama.Dengan interface yang sama dapat mendapatkan hasil yang sama tetapi bagaimanaprosesyang terjadi dari aksi menjadi hasil mungkin saja berbeda.

Blueprint saat ini diartikan sebagai sebuah rancangan menyeluruh yangterdokumentasi mengenai hal teknis

Materi Tambahan

OOP memiliki beberapa keuntungan dalam pemrograman, di antaranya:

1.OOP menyediakan struktur modular yang jelas untuk program sehingga OOP sangat bagus digunakan untuk mendefinisikan tipe data abstrak di mana detilimplementasinya tersembunyi.

2.OOP akan mempermudah dalam memaintain dan memodifikasi kode yang sudah ada.Objek yang baru dapat dibuat tanpa mengubah kode yang sudah ada.

3.OOP menyediakan framework untuk library kode di mana komponen software yangtersedia dapat dengan mudah diadaptasi dan dimodifikasi oleh programmer. Hal inisangat berguna untuk mengembangkan GUI (Graphical User Interfaces).Sedangkan beberapa kelemahan OOP antara lain adalah sebagai berikut:

1. Tidak memperbolehkan implementasi yang kuat pada reuse

2. Properti software tidak terikat dalam satu unit fungsional, sehingga haruscrosscut di antara komponennya.

3. Crosscut tersebut mengakibatkan sulitnya pengembangan dan pemeliharaan. Berorientasi Objek Pemrograman orientasi­objek menekankan konsep berikut:

1.Kelas

2.Kumpulan atas definisi data dan fungsi­fungsi dalam suatu unit untuk suatu tujuantertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi­definisi data dan fungsi­fungsi yang menunjuk pada berbagai macam perilaku/turunandari 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 yangada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiridan 

Page 4: Paradigma Oop

independen (sebagaimana kode tersebut digunakan jika tidak menggunakanOOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek­aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara sepertiini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupunsebaliknya.

3.Objek 

4.Membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah programkomputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

5.Abstraksi

6.Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya,yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayanisebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpamengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metodedapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkansebuah pengabstrakan.

7.Enkapsulasi

8.Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam darisebuahobjek dengan cara yang tidak layak; hanya metode dalam objek tersebut yangdiberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface yangmenyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnyatidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

9.Polimorfisme

10.Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapatmengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesantergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bilasebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya danterbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkankakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yangsesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karenasebuahvariabel tungal dalam program dapat memegang berbagai jenis objek yang berbedaselagi program berjalan, dan teks program yang sama dapat memanggil beberapametode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas­pertama.

11.Inheritas

12.Mengatur polimorfisme dan enkapsulasi dengan mengijinkan objek didefinisikan dandiciptakan dengan jenis khusus dari objek yang sudah ada – objek­objek ini dapatmembagi (dan memperluas) perilaku mereka tanpa haru mengimplementasi ulan 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­

Page 5: Paradigma Oop

objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kitamemiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi datadan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi makamanager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bagadministrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harusmengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan datatersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengankolaborasi antar objek­objek yang ada karena setiap objek memiliki deskripsi tugasnyasendiri.Bahasa PemrogramanBahasa pemrograman yang mendukung OOP antara lain:

1. Java

2. C++

3. Visual Basic.NET

4. SIMULA

5. Smalltalk

6. Ruby

7. PHP

8. C#

Pengertian OOP

Pemrograman berorientasi objek (Inggris: object­oriented programming disingkat OOP)merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data danfungsi di dalam paradigma ini dibungkus dalam kelas­kelas atau objek­objek. Bandingkandengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memprosesdata, dan mengirim pesan ke objek lainnya.Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahanmengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauhlagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibandingdengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dandirawat.

Sumber : http://adwantik.wordpress.com/2012/10/04/object­oriented­programming/

Kesimpulan analogi diatas sbb (menurut saya) :

1. Class Adalah blue print dari sebuah object analoginya saya rasa begini

sebelum kita di lahirkan menjadi orang saya rasa orang tua kita telah mempersiapkan segalanya tanpa tahu bagaimana modelnya nnti karena si bayi masih ada pada angan­angan mereka tapi dan yang pasti si calon bayi tidak lari jauh dari wujud mereka sendiri.. begitu juga dengan class kita membuat sebelum pembuatan class maka cari tahu dulu obyek apa yang akan di buat dan bagaimana sifat penurunan dari obyek tersebut yang di handle si calon pembuat obyek tersebut 

calon bayi   pengambilan sifat orang tua    lahir→ →

class   penentuan sifat dan tingkah laku obyek   obyek→ →

Page 6: Paradigma Oop

*perlu Diingat CLASS hanyalah BLUEPRINT dari sebuah OBJECT jadi pada pembuatan class akan mempengaruhi juga sifat dari Obyek

contoh (C++ memakai QT 4.8)

#include <QtCore/QCoreApplication>

#include <iostream>

using namespace std;

class Sepeda{

private:

//membuat variabel untuk inisialisasi paraameter methode di bawah 

int kecepatan;

int gigi;

string merk;

public:

//perancangan sifat(method) dari object nantinya

void ubahKecepatan(int kec);

void ubahGigi(int g);

void setMerk(string m);

void tampilSepeda();

};

//menetukan sifat(method)

void Sepeda::ubahKecepatan(int kec){

this­>kecepatan = kec;

}

void Sepeda::ubahGigi(int g){

this­>gigi = g;

}

void Sepeda::setMerk(string m){

this­>merk = m;

}

void Sepeda::tampilSepeda(){

cout <<"Kecepatan: "<<this­>kecepatan<<endl<<

"Merk: "<<this­>merk<<endl<<

Page 7: Paradigma Oop

"Gigi: "<<this­>gigi;

}

//main utama program 

int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

Sepeda objSpd; //proses pembuatan objek

objSpd.ubahGigi(2); //panggil methode ubah gigi lalu inisialisasikan gigi sepeda menjadi 2

objSpd.ubahKecepatan(30); //proses sama seperti diatas

objSpd.setMerk("Federal");//proses sama seperti di atas

objSpd.tampilSepeda(); memnaggil method tampil untuk menampilkan program

/*proses di atas adalah menginisialkan parameter yang ada pada methode lalu kirimkan nilai inisial kepada variabel private tadi sehingga variabel terinisialisasi lalu isi dari variabel private akan dicetak oleh methode tampilSepeda()*/ 

return a.exec();

}

for Kelompok Belajar Adhi Guna Palu by Iank