Anda di halaman 1dari 13

Resume Pemrograman Berorientasi Objek

Oleh Bu Rini

Di susun oleh

Nama : Andrea Cellonata Salazar


NIS : 1803763
Kelas : XII-B
Program Keahlian : Rekayasa Perangkat Lunak
Pengertian Pemrograman Berorientasi Objek ( OOP )

pemrograman berorientasi objek merupakan metode yang berorientasi terhadap objek.


Dimana semua data maupuan fungsi di definisikan ke dalam beberapa kelas atau objek yang
tujuannya yaitu saling bekerjasama untuk memecahkan suatu masalah. Metode ini biasa
dikenal dengan istilah OOP (Objek Oriented Programming). Metode ini bisa memberikan
fleksibiltas yang lebih banyak, pengubahan program yang mudah, dan sangat cocok
digunakan untuk pemrograman yang berskala besar.

Sejarah OOP
Inspirasi pembuatan Pemrograman Berorientasi Objek (OOP) diawali oleh Ivan Sutherland
yang menulis kode program Sketchpad. Kode itu ditulis pada tahun 1961 dan 1962 dan
diterbitkan dalam Tesis Sketchpad pada tahun 1963.Kemudian, OOP diciptakan oleh Alan
Kay sekitar tahun 1966 atau 1967 ketika ia masih menjalankan studi di sekolah pascasarjana.
Tahun-tahun berikutnya pemahaman tentang best practice pada OOP terus
berkembang.Dimulai dari tahun 1988 hingga awal tahun 2000an literatur tentang
pemograman OO terus bermunculan.Pada tahun 1999, Martin Fowler menuliskan buku
tentang refactoring yang diinspirasi oleh tesis William Opdyke saat beliau melaksanakan
studi di University of Illinois at Urbana-Champaign. William Opdyke sendiri dibimbing

oleh Ralph Johnson yang
Konferens untuk pemahaman OO adalah OOPSLA conference. yang merupakan bagian
dari SPLASH conference

Konsep Pemrograman Berorientasi Objek

Konsep dari object oriented programming (OOP) adalah lebih dari sekedar sebuah konsep
pemrograman, Object oriented programming adalah cara berpikir tentang aplikasi yang
mempelajari untuk berpikir bahwa aplikasi bukan sekedar prosedur melainkan sebagai object
dan real entity.
Object yang dimaksud disini memiliki pengertian suatu modul yang mengkombinasikan
antara data dan kode program yang bekerja sama dalam program dengan melewatkan proses
satu sama lain. Jadi object oriented programming merupakan cara yang paling efisien untuk
menulis program komputer yang sangat mudah untuk di kombinasikan dan
untuk dipergunakan kembali. Object oriented programming lebih memfokuskan
kepada manipulasi object. Kenapa seorang programmer harus mempelajari
object oriented programming bahkan seorang programmer yang tidak pernah bekerja dengan
object oriented programing pun harus mempelajarinya juga. Hal ini dikarenakan pada suatu
hari nanti semua bahasa pemrograman akan menambahkan kemampuan object oriented
programming pada bahasanya.
Berikut empat konsep yang harus dapat dimiliki oleh suatu bentuk pemrograman yang
berorentasi object :
1.      Abstraction
Pesawat yang telah dicontohkan masuk dalam kelas kendaraan, kelas kendaraan
merupakan contoh abstraction. Abstraction adalah proses yang mewakili versi yang
disederhanakan dari objek dunia nyata dalam kelas dan objek. Hal ini berarti dalam
pengembangan perangkat lunak seorang programmer akan menggunakan atau menciptakan
sejumlah object dimana object tersebut akan ada dan berperilaku pada sistem.
2.      Encapsulation
Encapsuation adalah penyatuan antara proses-proses yang terjadi dan sejumlah data yang
dikelola kedalam suatu bentuk kelompok tertentu. Pengelompokan tersebut adalah dengan
dibentuknya suatu object secara abstrak (abstraction). Akibatnya, obyek dapat bekerja sama
dalam banyak hal dalam sistem. Dalam beberapa situasi, kelas dan objek dapat erat bersama-
sama untuk menyediakan fungsionalitas yang lebih kompleks. Dalam contoh mobil, roda,
panel, mesin, gearbox, dll dapat dianggap sebagai kelas individu. Untuk membuat mobil
sekelasnya, perlu menghubungkan semua benda-benda bersama,
mungkin dapat menambahkan fungsionalitas lebih lanjut. Kerja internal masing-masing kelas
yang tidak penting karena enkapsulasi sebagai komunikasi antara obyek masih melalui lewat
pesan ke antarmuka publik mereka.
Encapsulation mengemas suatu objek sehingga pada saat kita akan memakai objek
tersebut kita tidak perlu lagi tahu tentang detail bagaimana suatu action itu terjadi. Contoh
dalam hal ini, misal siswa (suatu object) sedang menulis (method). Maka detail dari tentang
cara siswa itu menulis (bagaimana otot tangan itu  bekerja untuk menulis, bagaimana sistem
saraf pusat  memerintahkan untuk menulis) kita tidak perlu mengerti. Kita hanya melihat si
siswa sedang menulis.
Contoh :
class Siswa

String nama;

String nim;

void isiData ( String namaku,String nimku )

nama = namaku;

nim = nimku;

String ambilNama()

return nama;

String ambilNim()

return nim;
}

public class Mahasiswa

public static void main ( String [] args)

Siswa mahasiswa_itn = new Siswa(); //membuat variable instant

mahasiswa_itn.isiData(“Dina Damayanti”,”0412585″);

System.out.println( “Nama : ” + mahasiswa_itn.ambilNama());

System.out.println( “Nim : ” + mahasiswa_itn.ambilNim());

3.      Inherintance
Inherintence atau pewarisan adalah merupakan konsep dimana suatu object memiliki
sejumlah perilaku yang dimiliki oleh object lain dalam suatu hirarki tertentu.
Hal ini memungkinkan satu kelas (sub-class) harus didasarkan atas yang lain (kelas
super) dan mewarisi semua fungsi secara otomatis. Kode tambahan kemudian dapat
ditambahkan untuk membuat versi yang lebih khusus dari kelas. Dalam contoh kendaraan,
sub-kelas untuk mobil atau motor dapat dibuat. Masing-masing masih akan memiliki semua
perilaku kendaraan tetapi dapat menambahkan metode khusus dan properti.
Beberapa bahasa pemrograman memungkinkan untuk multiple inheritance mana sub-
kelas yang berasal dari dua atau lebih super-kelas. C # tidak mengizinkan ini, tetapi tidak
memungkinkan kelas untuk mengimplementasikan beberapa interface. Sebuah antarmuka
mendefinisikan kontrak untuk metode dan properti dari kelas yang mengimplementasikan hal
itu. Namun, tidak mencakup fungsi yang sebenarnya.
4.      Polymorphism
Polymorphism adalah konsep dimana beberapa object dapat memiliki metode yang sama
dengan aksi yang berbeda. Hal ini mengakibatkan adanya kemampuan untuk sebuah objek
untuk mengubah perilakunya sesuai dengan bagaimana itu digunakan. Dimana kelas obyek
mewarisi dari kelas super atau mengimplementasikan satu atau lebih interface , dapat disebut
dengan kelas atau interface nama-nama. Jadi jika kita memiliki metode yang mengharapkan
sebuah objek dari tipe 'kendaraan' untuk diteruskan sebagai parameter, kita dapat melewati
setiap kendaraan, mobil atau motor objek untuk metode yang meskipun tipe data mungkin
secara teknis berbeda.
Dalam Polymorphism suatu object bisa bertindak lain terhadap message/method yang
sama. Misalkan kita punya satu class hewan dan diturunkan menjadi dua class hewan berkaki
dua dan hewan berkaki empat. Ketika hewan berkaki dua melakukan method makan maka
yang dilakukan adalah makan dengan paruhnya, dan ketika hewan berkaki empat
juga makan maka dia akan menggunakan mulutnya. Keduanya melakukan aksi yang sama
yaitu makan akan tetapi perlakuannya lain.
Contoh :

class Binatang

public void info()

System.out.println(” Info tentang Hewan : “);

class Herbivora extends Binatang

public void info()

System.out.println (“Info pada herbivora: Memakan makanan berupa tumbuh – tumbuhan”);

class Kelinci extends Herbivora


{

public void info()

System.out.println(“Info pada Kelinci: Memakan makanan berupa wortel”);

public class Polimorfisme

public static void main(String[] args)

Herbivora herbivora;

Kelinci kelinciku;

Binatang hewan;

herbivora=new Herbivora();

kelinciku=new Kelinci();

hewan=herbivora;

hewan.info();

hewan=kelinciku;

hewan.info();

5.      Modularitas
Selain konsep yang dijelaskan di atas, pemrograman berorientasi objek juga
memungkinkan peningkatan modularitas. Sedangkan arti kata modularitas adalah
memecahkan sesuatu yang kompleks menjadi bagian-bagian kecil yang mudah dikendalikan.
Kelas atau kelompok kelas terkait dapat dianggap sebagai modul kode yang dapat digunakan
kembali dalam proyek perangkat lunak banyak. Hal ini mengurangi kebutuhan untuk
membangun kembali fungsi yang sama dan karena itu dapat menurunkan waktu dan biaya
pengembangan.
Dalam pemograman berorientasi Objek dikenal Ada beberapa pengertian dasar yang harus
kita ketahui yaitu:

a.       Class

 Class merupakan penggambaran dari sebuah object atau benda,sifat objek, dan juga apa yang
bisa dilakukan oleh objek tersebut.

·         Sebagai contoh adalah pengambaran yang real dalam kehidupan kita adalah tentang dunia
transportasi. Tentunya kita semua  mengetahui bahwa sangatlah banyak jenis alat transportasi
yang ada seperti motor, mobil,pesawat terbang,kapal laut, dan lain sebagainya.Kemudian
marilah kita anggap berbagai alat transportasi tersebut sebagai  suatu class. Maka motor
tentunya mempunyai no polisi,tahun pembuatan,merk dll, demikian juga dengan alat
transportasi yang lainnya, oleh karenanya hal ini bisa disebut sebagai properties. Selanjutnya
motor itu sendiri bisa berjalan maju, berjalan mundur,belok kiri, belok kanan yang mana
kegiatan ini disebut method.

o   contoh :
public class ApaMotormu {
public static void main(String[] args){
Motor punyaku=new Motor();
punyaku.motorku();
}
}
b.      Object

Object  adalah merupakan suatu bentuk dari class. Kalau kita mengikuti analogi di atas,
maka object dari class Hewan adalah Burung, Kambing, Ayam, Kuda.. Mereka adalah contoh
dari class Hewan. Semua dari mereka adalah Hewan  yang mempunyai nama, kaki, Jenis
makanan dst. Dan bisa berlari, bersuara, berkembang biak dll.

o   contoh :

public class Peliharaanmu{


public static void main(String[] args){

Hewan punyaku=new Hewan();

punyaku.hewanku();

c.       Method 
Method adalah merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh
suatu object. Method didefinisikan pada class akan tetapi dipanggi lmelalui object.
Contoh : pada object mangga : terdapat method ambilRasa , kupasKulit dll.
Metode menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat serta
berbagai operasi yang dapat dilakukan objek sepanjang hidupnya.
d.      Behavior
Behavior adalah tingkah laku yang dapat dilakukan oleh objek, behavior merupakan kelakuan
atau sifat dari Object seperti mobil tadi bisa melaju, membelok, membunyikan klakson dan
lain sebagainya.
e.       Contruktor 
Contruktor merupakan suatu method yang akan memberikan nilai awal pada saat suatu objek
dibuat. Pada saat program dijalankan, constructor akan langsung memberikan nilai awal pada
saat perintah new, membuat suatu objek
Pada saat kita bekerja dengan constructor, hal mendasar yang perlu diperhatikan, yaitu :
1.    Nama Constructor sama dengan nama Class.
2.    Tidak ada return type yang diberikan kedalam Constructor Signature.
3.    Tidak ada return stetement, didalam tubuh constructor. 
f.       Constructor Overloading
Overloading adalah suatu cara membuat lebih dari constructor pada suatu class. Supaya
pengaksesan constructor tersebut lancar, maka sebagai pembedanya adalah tipe parameter
dan atau jumlah parameternya.
Keunggulan Pemrograman Berorientasi Objek
Ada beberapa keunggulan yang bisa kita dapatkan saat menggunakan metode OOP ini.
Diantaranya :

 Improved Software Development Productivity : Sistem program dapat


dimodifikasi tanpa melibatkan banyak modul dimana hanya objek saja yang
terlibat. Selain itu sistem program dapat dikembangkan sampai skala paling
kompleks.
 Improved Software Maintainability : Bagian dari software dapat dengan mudah
di maintenance jika ada perubahan meskipun dalam skala yang cukup besar.
 Faster Development : Metode ini didukung oleh banyak library objek, sehingga
mempercepat penyelesaian program dan juga projek berikutnya.
 Lower Cost of Development : Faster development tentu akan mengurangi biaya
pengembangan pembuatan program
 Higher Quality Software : Faster developmentpun akan memberikan lebih banyak
waktu dan sumberdaya untuk proses verifikasi software.

4 Kelemahan Pemrograman Berorientasi Objek


Tentu saja setiap metode punya keunggulan dan kelemahan. Adapun kelemahan dari OOP
yaitu :

 Untuk beberapa programmer butuh waktu untuk terbiasa dengan OOP


 Ukuran program yang dibuat dengan metode ini cukup besar
 Runtime program lebih lambat
 Tidak semua masalah program bisa diselesaikan dengan OOP
9 Contoh Bahasa pemrograman yang mendukung OOP
Beberapa bahasa pemrograman yang bisa kita gunakan dengan metode pemrograman
berorientasi objek yaitu :

1. PHP
2. Java
3. Python
4. Ruby
5. C++
6. Delphi
7. C#
8. Net
9. Perl

Istilah-Istilah Dalam Pemrograman Berorientasi Objek


Class : yaitu cetakan dari object. Sebuah class berisi kode-kode yang menjelaskan
bagaimana sebuah object akan berperilaku dan berinteraksi satu sama lain. Class dalam
pemrograman diartikan seperti sebuah cetakan atau template.

Property : merupakan variable yang dideklarasikan di dalam sebuah class, tetapi tidak
berada di dalam fungsi atau method dari suatu class.

Method : yaitu fungsi yang ada di dalam class. Method dapat diakses dengan tiga jenis
user atau modifier. Dalam pemrograman objek method dapat menyimpan state dalam
variabel dan mengimplementasikan behaviournya menggunakan method.

Object : dalam dunia pemrograman objek diartikan sebagai bagian dari sebuah program.
Dimana di dalamnya dihubungkan beberapa variable dan method yang salin berkaitan
satu sama lain
Overloading : yaitu pemisalan dalam sebuah class. Contoh : class mobil terdapat method
info, dan class truk juga terdapat method yang sama. Inilah yang disebut dengan
overloading. Jika sebuah mobil memanggil method info maka yang dikerjakan adalah
method info yang berada di dalam class mobil. Tapi jika sebuah truk memanggil method
info maka ada dua pilihan, yaitu : method info di class mobil dan method info di dalam
class truk. Dan yang dikerjakan adalah method info di class truk.

dan lain sebagainya


Sumber

https://riansyahtohamba.medium.com/sejarah-dan-perkembangan-oop-cd273a58ca77

http://bambang-suryawan.blogspot.com/2013/09/konsep-oop.html

http://lehaqueenzy.wordpress.com/about/. Pengertian  OOP.  Diakses 4 September 2013.

https://id.wikipedia.org/w/index.php?title=Pemrograman_berorientasi_objek&oldid=6620271

https://badoystudio.com/pemrograman-berorientasi-objek/

Anda mungkin juga menyukai