Anda di halaman 1dari 12

MAKALAH

PEMROGRAMAN BERORIENTASI OBYEK


Diajukan Untuk Memenuhi Tugas
di Mata Kuliah Algoritma & Pemrograman

Disusun Oleh :
MUHAMMAD HADI HIDAYATULLAH 10122918
MUHAMMAD RAFFIQ AKBAR 10122961
MUHAMMAD SYAH BANDI 11122001
NAUFAL FARAND 11122069
NI PUTU OKTAVIANI ERSANIA 11122079
RADEN YOSIA TIMOTHY 11122132

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI


JURUSAN SISTEM INFORMASI
UNIVERSITAS GUNADARMA
2022/2023
KATA PENGANTAR

Terlebih dahulu penulis memanjatkan puji dan syukur kehadirat Allah


SWT yang telah melimpahkan segala rahmat serta karunia-Nya sehingga penulis
dapat menyelesaikan tugas penulisan makalah ini yang berjudul “Pemograman
Berorientasi Obyek”.
Saya menyadari makalah ini masih jauh dari kata sempurna. Oleh karena
itu, dengan kerendahan hati saya memohon maaf apabila ada kesalahan dalam
penulisan makalah ini dan saya berharap agar pembaca dapat memberikan kritik
dan saran yang dapat menyempurnakan makalah. Akhir kata semoga makalah ini
dapat bermanfaat.

Jakarta, 9 Oktober 2022

Penulis

i
DAFTAR ISI

Halaman
KATA PENGANTAR........................................................................................................i
DAFTAR ISI...................................................................................................................ii
BAB I PENDAHULUAN...................................................................................................1
1.1 Latar Belakang..........................................................................................................1
1.2 Rumusan Masalah....................................................................................................1
1.2.1 Pengertian mengenai OOP (Object Oriented Programming)............................1
1.2.2 Pengertian mengenai konsep kelas dan obyek...................................................1
1.2.3 Bahasa pemrograman apa saja yang mendukung OOP (Object Oriented
Programming)............................................................................................................1
1.3 Tujuan Pembahasan.................................................................................................1
1.3.1 Mengetahui karakteristik pemrograman berorientasi obyek..............................1
1.3.2 Mengetahui kelas dan obyek.............................................................................1
1.3.3 Mengetahui cara kerja pemrograman berorientasi obyek..................................1
1.3.4 Mengetahui kelebihan dan kelemahan pemrograman berorientasi obyek..........1
BAB II PEMBAHASAN...................................................................................................2
2.1 Pengertian Pemrograman Berorientasi Obyek.........................................................2
2.2 Kelas dan Obyek.......................................................................................................2
2.3 Karakteristik Berorientasi Objek...............................................................................3
2.3.1 Abstrak..............................................................................................................3
2.3.2 Paket (Enkapsulasi)...........................................................................................4
2.3.3 Pewaris..............................................................................................................4
2.3.4 Polimorfisme.....................................................................................................4
2.4 Cara Kerja Pemrograman Berorientasi Objek...........................................................5
2.5 Kelebihan dan Kelemahan Pemrograman Berorientasi Objek..................................5
2.6 Bahasa Pemrograman Berorientasi Obyek...............................................................6
BAB III PENUTUP..........................................................................................................9
3.1 Kesimpulan...............................................................................................................9

ii
BAB I
PENDAHULUAN

I.1 Latar Belakang


Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas
porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus
lectus malesuada libero, sit amet commodo magna eros quis urna. Nunc
viverra imperdiet enim. Fusce est.

I.2 Rumusan Masalah


Permasalahan yang akan dibahas dalam makalah ini adalah sebagai
berikut :
I.2.1 Pengertian mengenai OOP (Object Oriented Programming)
I.2.2 Pengertian mengenai konsep kelas dan obyek
I.2.3 Bahasa pemrograman apa saja yang mendukung OOP (Object
Oriented Programming)

I.3 Tujuan Pembahasan


Adapun tujuan pembahasan dari makalah ini adalah sebagai berikut:
I.3.1 Mengetahui karakteristik pemrograman berorientasi obyek
I.3.2 Mengetahui kelas dan obyek
I.3.3 Mengetahui cara kerja pemrograman berorientasi obyek
I.3.4 Mengetahui kelebihan dan kelemahan pemrograman berorientasi
obyek

1
BAB II
PEMBAHASAN

II.1 Pengertian Pemrograman Berorientasi Obyek


Pemrograman berorientasi objek (Inggris: object-oriented
programming disingkat OOP) merupakan paradigma pemrograman
berdasarkan konsep "objek", yang dapat berisi data, dalam bentuk field
atau dikenal juga sebagai atribut; serta kode, dalam bentuk fungsi/prosedur
atau dikenal juga sebagai method. 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 peranti 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.

II.2 Kelas dan Obyek


Sebuah kelas menentukan struktur dan behaviour (perilaku) dari
suatu objek. Contohnya, truk, bus, mobil, dan sepeda motor dapat
didefinisikan sebagai kelas kendaraan bermotor karena memiliki beberapa
karakteristik yang sama yaitu memiliki mesin, dan menggunakan bahan
bakar untuk pengoperasiannya.
Kendaraan bermotor tersebut juga memiliki beberapa atribut yang
sama dalam kelasnya, misalnya memiliki jumlah roda, no kendaraan,
nomor rangka mesin, dll. Obyek merupakan dasar dari pemrograman
berorientasi obyek, didalam dunia nyata, setiap obyek yang ada memiliki
dua buah karakteristik : State dan behaviour.

2
1. State : Merupakan atribut yang dimiliki oleh sebuah obyek
2. Behaviour : Adalah fungsi yang dimiliki dan bisa dijalankan oleh
penggunanya.

Sebagai contoh obyek mahasiswa. Setiap mahasiswa memiliki atribut


seperti NlM, Nama, alamat, dll. dan sebagai behaviour-nya yaitu
mahasiswa melakukan fungsi registrasi, perkuliahan, ujian, praktikum,
dan lain-lain.

Kelas merupakan sebuah cetak biru dari obyek. Seorang programmer


akan menulis kode-kode untuk masing kelas yang akan digunakan.
Sedangkan obyek merupakan bentukan (instance) dari sebuah kelas yang
dijalankan pada saat runtime. Pada saat runtime, variabel yang ada pada
sebuah kelas akan menjadi State pada sebuah obyek, sedangkan method
yang dibuat akan menjadi behaviour-nya.

II.3 Karakteristik Berorientasi Objek


Pemrograman Berorientasi Objek (PBO) adalah metode
pemrograman yang meniru bagaimana cara kita memperlakukan suatu
benda. Pemrograman Berorientasi Objek memiliki empat karakteristik,
yaitu :
II.3.1 Abstrak
Abtrak artinya Mengabaikan hal-hal dalam topik yang tidak terkait
dengan tujuan saat ini dan fokus pada aspek yang terkait dengan
tujuan saat ini. Ini untuk mengekstrak jenis hal tertentu di dunia nyata
dan mengekspresikannya dengan kode program. Abstraksi mencakup
dua aspek yaitu, abstraksi data, dan abstraksi proses.

1. Abstraksi data mewakili karakteristik kelas benda di dunia, yaitu


atribut objek. Misalnya, burung memiliki sayap, bulu, dll. Atau
juga disebut atribut kelas.

3
2. Abstraksi proses mewakili perilaku kelas benda di dunia, yaitu,
perilaku objek. Misalnya, burung dapat terbang dan berkicau.
Atau disebut dengan metode kelas

II.3.2 Paket (Enkapsulasi)


Enkapsulasi adalah untuk mengelilingi proses dan data, dan akses
ke data hanya dapat melalui antarmuka yang ditentukan. Seperti
variabel pribadi, gunakan set dan dapatkan metode untuk
mendapatkannya. Enkapsulasi memastikan bahwa modul memiliki
independensi yang baik, membuat pemeliharaan dan modifikasi
program lebih mudah

II.3.3 Pewaris
Model hierarkis untuk menghubungkan kelas, memungkinkan dan
mendorong penggunaan kembali kelas, dan menyediakan cara untuk
mengekspresikan kesamaan dengan jelas. Kelas baru dari objek dapat
diturunkan dari kelas yang sudah ada. Proses ini disebut pewarisan
kelas. Kelas baru mewarisi karakteristik kelas asli, kelas baru disebut
kelas turunan (subclass) dari kelas asli, dan kelas asli disebut kelas
dasar (kelas induk) dari kelas baru. Kelas turunan dapat mewarisi
metode dan variabel instan dari kelas induknya dan kelas dapat
memodifikasi atau menambahkan metode baru agar lebih cocok
untuk kebutuhan khusus. Oleh karena itu, dapat dikatakan bahwa
pewarisan adalah menggunakan kembali kode kelas induk dan
sekaligus mempersiapkan realisasi polimorfisme.

II.3.4 Polimorfisme
Polimorfisme meliputi polimorfisme parametrik dan polimorfisme
inklusi. Bahasa polimorfik memiliki keunggulan fleksibilitas,

4
abstraksi, berbagi perilaku, berbagi kode, yang memecahkan masalah
nama fungsi aplikasi yang sama. Secara umum, penulisan ulang
metode, kelebihan beban, dan tautan dinamis merupakan
polimorfisme. Salah satu alasan mengapa java memperkenalkan
konsep polimorfisme adalah untuk menutupi kekurangan
fungsionalitas yang disebabkan oleh pewarisan kelas tunggal.

II.4 Cara Kerja Pemrograman Berorientasi Objek


Ketika kita mempelajari tentang pemrograman berorientasi objek
ini, kita juga harus mengetahui Cara kerjanya. Cara kerja pada
pemrograman ini memiliki berbagai Langkah. Langkah pertama yaitu kita
harus mengidentifikasi semua objek yang ingin dipakai dan bagaimana
objek itu saling berhubungan atau langkah ini bisa disebut sebagai data
modelling. semua objek yang telah delah diidentifikasi itu kemudian
digeneralisasikan sebagai Object Class yang terdefinisikan data yang
dikandung dan metode apapun yang dapat memanipulasinya. Pada
dasarnya, Pemrograman berorientasi objek ini berfokus pada objek yang
ingin dimanipulasi oleh developer. Pendekatan pemrograman ini cocok
program berskala besar. Metode pemrograman ini juga kondusif untuk
pengembangan Kolaboratif yang bisa menghasilkan program yang
skalabilitas dan efisien.

II.5 Kelebihan dan Kelemahan Pemrograman Berorientasi


Objek
Setiap metode tentu saja memiliki kelebihan dan kelemahan.
Adapun kelebihan dari OOP yaitu :

1. Program dibagi menjadi objek-objek, sehingga memudahkan


dalam mengubah atau membuat objek baru yang sama maupun
berbeda.

5
2. Jika membuat library ataupun framework, OOP sangat baik karena
strukturnya yang rapih, sehingga mudah untuk melakukan
debugging, perubahan kode, dll.
3. Data yang diset private hanya bisa diakses oleh fungsi lokal dan
tidak dapat diakses oleh fungsi dari luar, sehingga kita tidak perlu
menset variable-variable dengan nama yang banyak untuk
berbagai fungsi karena takut terpengaruh oleh efek lainnya.
4. Bergaya C++. Karena syntax dalam pembuatan program yang
terdapat di java sama persis dengan C++, maka banyak
pemrogram yang bermula dari menggunakan C++ banyak beralih
menggunakan pemrograman yang berbasis objek (java).
5. Memiliki fasilitas pengaturan memori sehingga para pemrogram
tidak perlu lagi repot mengatur memori yang akan digunakannya.
6. Semua aspek yang terdapat di java berorientasi objek. Dalam hal
ini sangat memudahkan dalam hal membuat program karena
semua berdasarkan objek atau class, serta memudahkan dalam hal
mendesain, mencari kesalahan dan juga mengembangkan program
yang telah kita rencanakan sebelumnya.
7. Multiplatform (dapat dijalankan diberbagai sistem operasi
sekaligus).

Sementara Berikut adalah kelemahan dari OOP yaitu :

1. Memakan memory yang banyak


2. Mudah dekomnplikasi
3. Perbaikan jika salah harus mengedit semua program

II.6 Bahasa Pemrograman Berorientasi Obyek


Bahasa yang sering digunakan pada pemrograman berorientasi obyek
adalah Java, PHP, Python, dan Ruby.

6
1. Contoh syntax menggunakan java untuk menampilkan Hello
world =

public class MyClass {


public static void main(String[] args) {
System.out.println("Hello World");
}
}

Gambar diatas adalah hasilnya

2. Contoh syntax menggunakan PHP untuk Echo/Print

<body>

<?php
echo "<h2>PHP is Fun!</h2>";
echo "Hello world!<br>";
echo "I'm about to learn PHP!<br>";
echo "This ", "string ", "was ", "made ", "with multiple parameters.";
?>

</body>
</html>

7
Gambar diatas adalah hasilnya

3. Contoh coding menggunakan Python untuk menampilkan Hello


world
print(“Hello, World!”)

maka hasilnya =

Hello, World!

4. Contoh syntax menggunakan Ruby untuk melakukan looping

“Selamat datang di ruby”.

1irb(main):001:0> puts "Selamat datang di ruby"

2Selamat datang di ruby

3=> nil

4irb(main):002:0>

puts merupakan perintah untuk mencetak di ruby.

8
BAB III
PENUTUP
III.1 Kesimpulan
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas
porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies,
purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus. Pellentesque
habitant morbi tristique senectus et netus et malesuada fames ac turpis
egestas. Proin pharetra nonummy pede. Mauris et orci.

Anda mungkin juga menyukai