Anda di halaman 1dari 11

MAKALAH

PENGEMBANGAN BERORIENTASI OBJEK

Disusun oleh :
Gama Inayaturrohman
(1806084)

SEKOLAH TINGGI TEKNOLOGI GARUT


Jl. Mayor Syamsu No. 1 Garut 44151 Telp. 0262-232773/4892180
Tarogong Kidul – Garut 2020
KATA PENGANTAR
Hamdan Wa Syukron Lillah, Puji syukur kehadirat Allah SWT, atas segala
rahmat dan hidayah-Nya. Shalawat serta salam senantiasa tercurahkan kepada
junjungan Nabi Agung Muhammad SAW yang selalu kita nantikan syafa’atnya di
akhirat nanti.

Penulis mengucapkan syukur kepada Allah SWT atas limpahan nikmat sehat-
Nya, baik itu berupa sehar fisik maupun akal pikiran, sehingga penulis mampu
untuk menyelesaikan pembuatan makalah sebagai pembukaan pertemuan pertama
dari mata kuliah Pengembangan Berorientasi Objek (PBO) degan judul
“Pengembangan Berorientasi Objek”.

Penulis tentu menyadari bahwa makalah ini masih jauh dari kata sempurna dan
masih banyak terdapat kesalahan serta kekurangan di dalamnya. Untuk itu, penulis
mengharapkan kritik serta saran dari pembaca untuk makalah ini, supaya makalah
ini nantinya dapat menjadi makalah yang lebih baik lagi. Demikian, dan apabila
terdapat banyak kesalahan pada makalah ini penulis mohon maaf yang sebesar-
besarnya.

Garut, 15 September 2020

Penulis

i
DAFTAR ISI

KATA PENGANTAR ............................................................................................. i


DAFTAR ISI ........................................................................................................... ii
BAB I ...................................................................................................................... 1
PENDAHULUAN .................................................................................................. 1
1.1 Latar Belakang Masalah ........................................................................... 1
1.2 Rumusan Masalah .................................................................................... 1
1.3 Tujuan ....................................................................................................... 1
BAB II ..................................................................................................................... 2
PEMBAHASAN ..................................................................................................... 2
2.1 Sejarah PBO/OOP .................................................................................... 2
2.2 Pengertian PBO / OOP ............................................................................. 2
2.3 Desain Pola Dalam PBO/OOP ................................................................. 3
1. Warisan dan perilaku subtyping ............................................................... 3
2. Gang Empat pola desain ........................................................................... 4
3. Obyek orientasi-dan database ................................................................... 4
4. Matching dunia nyata ............................................................................... 4
5. OOP dan flow control ............................................................................... 5
6. Tanggung Jawab vs desain data-driven .................................................... 5
2.4 Program - Program Pendukung PBO ....................................................... 5
1. C++ ........................................................................................................... 5
2. Pascal ........................................................................................................ 5
3. Delphi ....................................................................................................... 6
4. Perl............................................................................................................ 6
5. Python ....................................................................................................... 6
6. C# (See-Sharp) ......................................................................................... 6
BAB III ................................................................................................................... 7
PENUTUP ............................................................................................................... 7
3.1 Kesimpulan ............................................................................................... 7
DAFTAR PUSTAKA ............................................................................................. 8

ii
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Pada saat ini perkembangan dan kemajuaan teknologi informasi dan
komunikasi telah berkembang dengan sangat pesat. Berbagai kemudahan
memperoleh informasi dari berbagai penjuru dunia dapat kita nikmati dalam
hitungan detik.
Diantara teknologi informasi yang hampir disetiap tempat kita temukan
adalah komputer. Sekarang komputer sangat berkembang pesat hampir setiap tahun
komputer selalu mengalami perkembangan. Sedangkan model dan design dari
komputer itu sendiri juga mengalami perkembangan.
Pemrograman berorientasi objek (Inggris: object-oriented programming
disingkat OOP) merupakan kerangka pemrograman yang berorientasikan kepada
objek. Semua data dan fungsi di dalam kerangka ini dibungkus dalam kelas-kelas
atau objek-objek. Pengetian orientasi objek berarti bahwa kita megorganisasi
perangkat lunak sebagai kumpulan dari objek tertentu yang memiiki struktur data
dan prilakunya. Bandingkan dengan logika pemrograman terstruktur. Setiap objek
dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
1.2 Rumusan Masalah
Dalam menyusun makalah ini , ada beberapa masalah yang berkaitan dengan :
1. Bagimanakah Sejarah Perkembangan PBO ?
2. Bagaimanakan Definisi dan Pengertian PBO ?
3. Bagaimanakah Desain Pola Dalam PBO ?
4. Bagaimanakah Program – program pendukung PBO?
1.3 Tujuan
1. Mengetahui Sejarah Perkembangan PBO
2. Mengetahui Definisi dan Pengertian PBO
3. Mengetahui Desain Pola Dalam PBO
4. Mengetahui Program – program pendukung PBO

1
BAB II

PEMBAHASAN
2.1 Sejarah PBO/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 (OOP) / pemrogramman berbasis
object (PBO)” pertama kali dipakai oleh Xerox PARC. Istilah ini digunakan untuk
merujuk kepada proses menggunakan objek sebagai dasar untuk penghitungan.
Suatu objek akan dapat dibentuk, diubah dan di hapus. Sistem yang menggunakan
pemrograman berorientasi objek pertama kali adalah Simula 67 yang telah
memberikan masukan terhadap berbagai bahasa pemrograman lain, termasuk
Pascal dan Lips. Tahun 1980, C++ mendominasi pemrograman dengan kategori
berorientasi objek. Tidak puas dengan bentuk tampilan yang ada maka pengembang
pemrograman berorientasi objek berusaha memikirkan graphics user interface.
Grafics user interface yang dinamis pertama kali di kembangkan oleh Cocoa.
Grafics user interface ini juga telah memainkan peranan penting dalam
pengembangan event-driven programming. Bahasa pemrograman yang
menggunakan teknik pemrograman berorientasi objek diantanya Fortran (bahasa
pemrograman untuk pengolahan rumus), BASIC dan pascal. Bahasa pemrograman
ini murni karena tidak memiliki fungsi yang diperlukan oleh programmer, hal ini
akan memberikan kebuntuan bagi para programmer. Untuk memecahkan
kebuntuan tersebut maka ditemukan Java, Java menjadi populer karena
menggunakan virtual machine yang mirip dengan C++, sehingga memungkinkan
Java bisa berjalan pada berbagai platform. Kepopuleran pemrograman berorientasi
objek telah menyebabkan pengembangan dalam bahasa modeling, design patern,
dan lain sebagainya. Sehingga akan memberi harapan pengembangan bahasa
pemrograman akan selalu ada dimasa mendatang
2.2 Pengertian PBO / OOP
Pemrograman berorientasi objek (PBO) (object-oriented programming
disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada

2
objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas
atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap
objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek
lainnya.
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang
lebih, kemudahan mengubah program, dan digunakan luas dalam 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.
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. 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.
2.3 Desain Pola Dalam PBO/OOP
Tantangan desain berorientasi objek yang ditujukan oleh beberapa
metodologi. Paling umum dikenal sebagai pola desain dikodifikasikan oleh Erich
Gamma , Richard Helm, Ralph Johnson , dan John Vlissides. Lebih luas lagi, istilah
"pola desain" dapat digunakan untuk mengacu pada setiap solusi, umum berulang
untuk masalah yang sering terjadi dalam desain perangkat lunak. Beberapa masalah
ini sering terjadi memiliki implikasi dan solusi khusus pengembangan berorientasi
objek
1. Warisan dan perilaku subtyping
Hal ini intuitif untuk menganggap warisan yang menciptakan semantik
"adalah" hubungan, dan dengan demikian untuk menyimpulkan bahwa benda
instantiated dari subclass selalu dapat dengan aman digunakan sebagai pengganti
mereka instantiated dari superclass. intuisi ini sayangnya palsu dalam bahasa OOP
kebanyakan, khususnya di semua orang yang memungkinkan objek bisa berubah.
polimorfisme Subtipe sebagai ditegakkan oleh checker jenis dalam bahasa OOP
(dengan objek bisa berubah) tidak dapat menjamin subtyping perilaku dalam
konteks apapun. subtyping Perilaku ini diputuskan pada umumnya, sehingga tidak

3
dapat dilaksanakan oleh program (compiler). Kelas atau objek hierarki perlu hati-
hati dirancang mempertimbangkan kemungkinan menggunakan salah yang tidak
dapat dideteksi sintaktis. Masalah ini dikenal sebagai prinsip substitusi Liskov.
2. Gang Empat pola desain
Design Patterns: Elements of Reusable Object-Oriented Software adalah
sebuah buku berpengaruh yang diterbitkan pada tahun 1995 oleh Erich Gamma,
Richard Helm, Ralph Johnson, dan John Vlissides, kadang-kadang santai disebut
"Gang Empat". Seiring dengan mengeksplorasi kemampuan dan perangkap
pemrograman berorientasi obyek, itu menggambarkan 23 masalah pemrograman
umum dan pola untuk memecahkan masalah tersebut. Pada April 2007, buku itu
dalam pencetakan 36 nya.
Buku ini menjelaskan pola-pola sebagai berikut :
Mencipta pola (5): Pola Metode Pabrik, Pabrik Abstrak Pola, Pola Singleton,
Builder Pola, Pola Prototype
Struktural pola (7): Pola Adapter, Bridge Pola, Pola Komposit, dekorator Pola,
Pola Facade, kelas terbang Pola, Pola Proxy
Perilaku pola (11): Rantai Tanggung Jawab Pola, Pola Command, Interpreter Pola,
Pola Iterator, Mediator Pola, Pola Memento, Observer Pola, Pola Negara, Strategi
Pola, Template Metode Pola, Pola Pengunjung
3. Obyek orientasi-dan database
Kedua pemrograman berorientasi objek dan sistem manajemen database
relasional (RDBMSs) sangat umum dalam perangkat lunak [update] saat ini.
Karena database relasional tidak menyimpan objek langsung (meskipun beberapa
RDBMSs memiliki fitur berorientasi objek untuk perkiraan ini), ada kebutuhan
umum untuk menjembatani dua dunia. Masalah menjembatani mengakses
pemrograman berorientasi objek dan pola data dengan database relasional dikenal
sebagai ketidakcocokan impedansi Object-Relational. Ada beberapa pendekatan
untuk mengatasi masalah ini, tetapi tidak ada solusi umum tanpa downsides Salah
satu pendekatan yang paling umum adalah. Pemetaan object-relational, seperti yang
ditemukan di perpustakaan seperti Java Data Objects dan Ruby on Rails
'ActiveRecord.
Ada juga objek database yang dapat digunakan untuk menggantikan
RDBMSs, tetapi ini belum teknis dan komersial sukses sebagai RDBMSs.
4. Matching dunia nyata
OOP dapat digunakan untuk menerjemahkan dari fenomena dunia nyata
untuk elemen program (dan sebaliknya). OOP bahkan diciptakan untuk tujuan
pemodelan fisik dalam bahasa Simula 67. Namun, tidak semua orang setuju bahwa
langsung dunia nyata pemetaan yang difasilitasi oleh OOP (lihat bagian Kritik),
atau bahkan tujuan yang berharga; Bertrand Meyer berpendapat di Object-Oriented
Software Konstruksi bahwa program bukanlah sebuah model dunia tapi model dari

4
beberapa bagian dunia, "Realitas adalah sepupu dua kali dihapus". Pada saat yang
sama, beberapa keterbatasan utama dari OOP sudah diketahui. Sebuah contoh
masalah dunia nyata yang tidak dapat dimodelkan elegan dengan teknik OOP
adalah masalah Circle-elips.
Namun, Niklaus Wirth (yang mempopulerkan pepatah sekarang dikenal
sebagai hukum Wirth's: "Software semakin lambat lebih cepat dari perangkat keras
menjadi lebih cepat") kata dari OOP dalam makalahnya, "Bagus Ide melalui
Looking Glass", "paradigma ini erat mencerminkan struktur sistem 'di dunia nyata',
dan oleh karena itu cocok untuk model sistem kompleks dengan perilaku kompleks
"(kontras KISS prinsip).
Namun, hal ini juga mencatat (misalnya di Eksekusi esai Steve Yegge dalam
Kerajaan Kata bahwa pendekatan OOP yang ketat memprioritaskan hal (benda /
kata benda) sebelum tindakan (metode / verba) adalah paradigma tidak ditemukan
dalam bahasa alam Keterbatasan ini dapat menyebabkan untuk beberapa dunia
nyata pemodelan untuk hasil overcomplicated dibandingkan. misalnya dengan
pendekatan prosedural.
5. OOP dan flow control
OOP dikembangkan untuk meningkatkan reusabilitas dan maintainabilitas
kode sumber representasi Transparan aliran kontrol tidak memiliki prioritas dan.
Dimaksudkan untuk ditangani oleh compiler. Dengan meningkatnya relevansi
paralel dan perangkat keras multithreaded coding, pengembang kontrol aliran
transparan menjadi lebih penting, sesuatu yang keras untuk mencapai dengan OOP.
6. Tanggung Jawab vs desain data-driven
Desain Tanggung Jawab-driven mendefinisikan kelas dalam hal kontrak,
yaitu, kelas harus didefinisikan sekitar tanggung jawab dan informasi yang saham.
Hal ini kontras dengan Wirfs-Brock dan Wilkerson dengan desain data-driven, di
mana kelas didefinisikan sekitar-struktur data yang harus dipegang. Para penulis
berpendapat bahwa desain tanggung
2.4 Program - Program Pendukung PBO
1. C++
Adalah bahasa pemrograman komputer yang di buat oleh (Bjarne Stroustrup)
merupakan perkembangan dari bahasa C dikembangkan di Bell Labs (Dennis
Ritchie) pada awal tahun 1970-an.
2. Pascal
Adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus
Wirth, seorang anggota International Federation of Information Processing (IFIP)
pada tahun 1971.

5
3. Delphi
Adalah sebuah lingkungan pengembangan terpadu (IDE) untuk mengembangkan
aplikasi konsol, desktop, web, ataupun perangkat mobile.
4. Perl
Adalah bahasa pemrograman untuk segala keperluan, dikembangkan pertama kali
oleh Larry Wall di mesin Unix.
5. Python
Adalah bahasa pemrograman interpretatif multiguna dengan filosofi perancangan
yang berfokus pada tingkat keterbacaan kode.
6. C# (See-Sharp)
Adalah bahasa pemrograman baru yang diciptakan Microsoft yang digunakan oleh
banyak developer .NET untuk mengembangkan applikasi dengan platform .NET.

6
BAB III

PENUTUP
3.1 Kesimpulan
Pemrograman berorientasi objek merupakan paradigma pemrograman yang
berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini
dibungkus dalam kelas-kelas atau objek-objek. Pada pemrograman ini setiap objek
dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Dan
saat ini bahasa pemrograman yang menggunakan paradigma ini banyak
menggunakan C++ karena bahasa ini fleksibel untuk desain program atau aplikasi.

7
DAFTAR PUSTAKA
https://www.slideshare.net/TettyPrasetyo/pengenalan-c-dan-pemograman-
berorientasi-objek
http://saidsanklaksana.blogspot.com/2013/03/sejarah-pemrograman-berorientasi-
objek.html
http://objekaja.blogspot.com/2008/12/sejarah-pemrograman-berorientasi-
objek.html
http://pbo-re.blogspot.com/2010/03/pengertian-class-attribute-object.html
http://hadiprojek.blogspot.com/2013/03/pemrograman-berorientasi-objek.html
https://fvizard.wordpress.com/2012/10/17/definisi-pemrograman-berorientasi-
objek-pbo/
Modul Praktikum Pemograman Berorientasi Objek dengan C++ karya S. Indriani
Lestariningati, M.T
https://www.slideshare.net/KuliahKita/algoritma-dan-struktur-data-pengenalan-
bahasa-c-40580224
http://helenauna.blogspot.com/2010/12/desain-pola.html
https://acepsupandi.wordpress.com/2013/10/20/metode-atau-tehnik-yang-dapat-
digunakan-pada-analisis-kebutuhan-rekayasa-perangkat-lunak-1/

Anda mungkin juga menyukai