Anda di halaman 1dari 18

Pengantar Pemrograman

Berorientasi Objek
-STRUKTUR DATA-

Muhammad Riza Hilmi, ST.


rizahilmi@gmail.com

Pengantar (1)
Pemrograman Terstruktur adalah suatu aktifitas
pemrograman dengan memperhatikan urutan
langkah-langkah perintah secara sistematis,
logis, dan tersusun berdasarkan algoritma yang
sederhana dan mudah dipahami.
Pemrograman Berorientasi Objek (Inggris:
object-oriented programming disingkat OOP)
merupakan paradigma pemrograman yang
berorientasikan kepada objek, jadi semua data
dan fungsi di dalam paradigma ini dibungkus
dalam kelas-kelas atau objek-objek.

Pengantar (2)
Perbedaan keduanya adalah pada pemrograman
berorientasi objek setiap objek dapat menerima
pesan, memproses data, dan mengirim pesan ke
objek lainnya.
Sedangkan untuk pemrograman terstruktur
adalah sebuah cara pemrosesan data yang
terstruktur (sistematis) dalam analisa, cara dan
penulisan pemrograman.

Pengantar (3)
Pemrograman terstruktur unggul dalam melakukan
pemrograman sederhana karena lebih efisien dan
lebih mudah dalam hal perawatannya.
Sementara itu pemrograman berorientasi objek
memliki beberapa keuntungan seperti :
Maintenance, program lebih mudah dibaca dan
dipahami, dan pemrograman berorientasi obyek
mengontrol kerumitan program hanya dengan
mengijinkan rincian yang dibutuhkan untuk
programmer.
Pengubahan program (berupa penambahan atau
penghapusan fitur tertentu) disesuaikan dengan
keperluan berdasarkan objeknya.

Apa itu OOP?


Paradigma pemrograman yang memandang
sistem yang akan dibangun berdasarkan
objek objek yang terlibat dan interaksinya dalam
sistem.
Sistem dibangun dengan membuat objek objek
dan menginteraksikannya untuk menyelesaikan
suatu pekerjaan.
Fungsi dan data menjadi satu kesatuan yang
disebut sebagai Object
Program adalah serangkaian object yang
berinteraksi untuk menyelesaikan suatu problem.

Pemrograman Berorientasi Objek


OOP berputar pada konsep dari obyek yang merupakan elemen
dasar dari program.
Ilustrasinya adalah
Objek mobil mempunyai atribut tipe transmisi, warna dan
manufaktur, mobil juga mempunyai tingkah laku berbelok,
mengerem dan berakselerasi.
Cara yang sama pula kita dapat mendefinisikan perbedaan sifat
dan tingkah laku dari singa.

Pada perangkat lunak, menggunakan atribut sebagai data dan


tingkah laku sebagai method.

Class
Kumpulan atas definisi data dan fungsi-fungsi
dalam suatu unit untuk suatu tujuan tertentu.
Sebagai contoh 'class of dog' adalah suatu unit yang
terdiri atas definisi-definisi data dan fungsi-fungsi
yang menunjuk pada berbagai macam
perilaku/turunan dari anjing.
Class adalah suatu struktur dalam program yang
berisi satu atau beberapa metode (dapat berupa
fungsi dan/atau prosedur) dan atribut (dapat
berupa data ataupun variabel yang akan
dipoerasikan dalam metode).
Dengan demikian atribut merupakan anggota kelas
yang bersifat statis, sedangkan metode merupakan
anggota kelas yang bersifat dinamis.

Object
Setiap obyek dibangun dari sekumpulan data
(atribut) yang disebut variabel untuk menjabarkan
karakteristik khusus dari obyek, dan juga terdiri
dari sekumpulan method yang menjabarkan
tingkah laku dari obyek.
Bisa dikatakan bahwa obyek adalah sebuah
perangkat lunak yang berisi sekumpulan variabel
dan method yg berhubungan.
Sebuah obyek adalah sebuah instance (keturunan)
dari class.

Perbedaan Class dan Object


Misal, kita memiliki sebuah class mobil dimana dapat digunakan
untuk medefinisikan beberapa obyek mobil. Pada tabel dibawah,
mobil A dan mobil B adalah obyek dari class mobil. Class
memiliki field nomor, plat, warna, manufaktur dan kecepatan
yang diisi dengan nilai pada obyek mobil A dan mobil B. Mobil
juga dapat berakselerasi, berbelok dan melakukan rem.

Ketika diinisialisi, setiap obyek mendapat satu set variabel yang


baru. Bagaimanapun, implementasi dari method dibagi diantara
objek pada class yang sama. Class menyediakan keuntungan dari
reusability. Programmer perangkat lunak dapat menggunakan
sebuah kelas beberapa kali untuk membuat banyak objek.

Metodologi PBO
Terdapat 3 (tiga) metodologi dasar PBO yaitu :
1. Pemodulan/pengkapsulan (encapsulation)
2. Penurunan/pewarisan (Inheritance)
3. Polimorfisme (Polimorphism)

Pemodulan/pengkapsulan
(encapsulation)
Pemodulan adalah metode untuk menggabungkan
data dengan fungsi. Dalam konsep ini data dan fungsi
digabung menjadi satu kesatuan yaitu kelas.
Konsep ini erat kaitannya dengan konsep
penyembunyian informasi (information hiding).
Contoh :
Mobil adalah sebuah kelas. Seorang pengendara
mobil tidak harus tahu bagaimana proses kerja mesin
mobilnya, pembakaran bahan bakar, proses
pemindahan transmisi gigi, dan seterusnya. Yang dia
tahu adalah bahwa setir untuk mengendalikan
jalannya mobil, pedal gas untuk menambah
kecepatan, pedal rem untuk mengurangi kecepatan,
dan seterusnya. Singkatnya dia hanya tahu bahwa
mobilnya berjalan dengan baik.

Penurunan/pewarisan (Inheritance)
Dari konsep penurunan ini suatu kelas bisa
diturunkan menjadi kelas baru yang masih
mewarisi sifat-sifat kelas orangtuanya.
Hal ini dapat dianalogikan dengan kelas
manusia. Manusia merupakan turunan dari
orang tuanya dan sifat-sifat orang tua diwarisi
olehnya.
Bisa ditarik kesimpulan bahwa semua kelas di
dunia selalu memiliki hirarki yang
menggambarkan silsilah kelas tersebut.

Penurunan/pewarisan (Inheritance)
Contoh:
Dari kelas kendaraan bermotor dapat
diturunkan beberapa kelas baru, misalnya:
sepeda motor, sedan, pick-up, mini-bus, dan
kendaraan roda banyak.

Penurunan/pewarisan (Inheritance)
Contoh 2: kelas sepeda motor mungkin masih dibagi lagi menjadi
dua kelas, yaitu sepeda motor 2 tak dan 4 tak. Sepeda motor 2 tak
mungkin masih dibagi lagi menurut pabrik pembuatnya, seperti
Honda, Suzuki, Yamaha, dan seterusnya. Masing-masing pabrik
mungkin masih mempunyai beberapa kelas turunan lagi, seperti
Honda Astrea Star, Honda Astrea Grand, dan seterusnya.

Keuntungan Pewarisan
Subclass menyediakan state/behaviour yang
spesifik yang membedakan dengan superclass.
Memungkinkan programmer untuk
menggunakan ulang source code dari superclass
yang telah ada.
Programmer dapat mendefinisikan superclass
khusus yang bersifat generik, yang disebut
abstract class, untuk mendefinisikan class
dengan tingkah laku dan state secara secara
umum.

Polimorfisme (Polimorphism)
Polimorfisme berarti kelas-kelas yang berbeda
tetapi berasal dari satu orang tua dapat mempunyai
metode yang sama tetapi cara pelaksanaannya
berbeda-beda. Atau dengan kata lain, suatu fungsi
akan memiliki perilaku berbeda jika dilewatkan ke
kelas yang berbeda-beda.
Contoh: kelas untuk input sound system. Sebuah
tape recorder dan CD player memiliki tombol PLAY
yang berfungsi untuk memainkan musik yang
dikehendaki. Tape recorder mengimplementasikan
tombol PLAY dengan membaca isyarat-isyarat yang
terekam di pita magnetis kaset, sedangkan CD
player menggunakan sinar laser untuk membaca
bit-bit digital yang terekam di permukaan CD.

Bahasa Pemrograman
Bahasa pemrograman yang mendukung OOP antara lain:
Visual Foxpro
Java
C++
Pascal (bahasa pemrograman)
Visual Basic.NET
SIMULA
Smalltalk
Ruby
Python
PHP
C#
Delphi
Eiffel
Perl
Adobe Flash AS 3.0

Contoh dalam C++


# include <iostream.h>
const int batas = 80;
class pegawai // kelas induk
{
private:
char nama [batas];
public:
void getdata()
{ cout << endl << " Input Nama : "; cin >> nama; }
void putdata()
{ cout << endl << " Nama : " << nama; }
};
class manajer : public pegawai // kelas turunan
{
private:
char bagian [batas];
double tunjangan;
public:
void getdata()
{ pegawai::getdata(); cout << " Input Bagian: ; cin >> bagian; }
void putdata()
{ pegawai::putdata(); cout << "\n Bagian : "<< bagian; }
};

Anda mungkin juga menyukai