BAB
I
PENDAHULUAN
1.1
Latar Belakang
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. 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. Sejarah perkembangan PBO.
2. Definisi dan pengertian PBO.
3. Program – program pendukung
PBO.
1.3
Tujuan
Berdasarkan dengan latar belakang diatas, maka
dalam makalah ini bertujuan :
1. Mengetahui
sejarah dan perkembangan dari Pemrograman Berorientasi Objek.
2. Mengetahui lebih banyak tentang PBO.
BAB II
PEMBAHASAN
2.1
Sejarah PBO
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 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 Konsep Dasar PBO
Ada banyak konsep dalam Pemrograman
Berorientasi Object (PBO) antara lain Object , Class , Attribute, berukit
penjelasannya :
1. Object
Untuk mempermudah
pemahaman, maka disini akan dijelaskan melalui analogi. Pada dasarnya semua
benda yang adadi dunia nyata dapat dianggap sebagai objek. Misalnya rumah,
mobil, sepeda, motor, gelas, komputer, meja, sepatu, dll. Setiap objek memiliki
atribut sebagai status (state) dan tingkah laku sebagai behavior.
Contoh objek : Motor.
Maka atribute (state) nya adalah pedal, roda, jeruji, speedometer, warna,
jumlah roda. Sedangkan tingkah laku (behavior) nya adalah kecepatan menaik,
kecepatan menurun, dan perpindahan gigi motor.
Analogi pemrograman
berorientasi objek sama dengan penggambaran pada dunia nyata seperti contoh di
atas. Dalam PBO, state disimpan pada variabel dan tingkah laku disimpan pada
method.
Dalam bahasa teoretis
PBO, Objek berfungsi untuk membungkus data dan fungsi bersama menjadi satu unit
dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan
struktur dalam sebuah program komputer berorientasi objek.
2. Class
:
Dalam bahasa teoretis
PBO, class merupakan kumpulan atas definisi data dan fungsi-fungsi dalam suatu
unit untuk suatu tujuan tertentu. Sebagai contoh class motor adalah suatu unit
yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada
berbagai macam perilaku/turunan dari motor. 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 yang ada, dan kode yang terdapat dalam sebuah class
sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut
digunakan jika tidak menggunakan PBO). Dengan modularitas, struktur dari sebuah
program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan
melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari
masalah ke sebuah program ataupun sebaliknya.
3. Attribute
Merupakan nilai data
yang terdapat pada suatu object di dalam class. Attribute mempunyai
karakterisitik yang membedakan object yang satu dengan object yang lainya.
Contoh : pada Class motor terdapat attribute: warna, berat, kecepatan, cc
mesin.
2.4 Karakteristik PBO
• Pengapsulan (encapsulation)
Pengapsulan
(encapsulation) adalahpengemasan data dan fungsi dalam wadah bernama
objek dikenal dengan sebutan pengapsulan ataubisa
juga mengkombinasikan suatu struktur dengan fungsi yang memanipulasinya
untukmembentuk tipe data baru yaitu kelas (class).Kelas akan menutup rapat baik
data maupun kode. Akses item didalam kelasdikendalikan. Pengendalian ini tidak
hanya berupa data tapi juga kode. Saat kelas akandigunakan, kelas harus sudah
dideklarasikan. Yang penting, pemakai kelas mengetahuideskripsi kelas, tetapi
bukan implementasinya. Bagi pemakai, detail internal kelas tidakpenting. Konsep
ini disebut penyembunyian informasi (information hiding).
• Pewarisan (inheritance)
Pewarisan
(inheritance) merupakan sifatdalam bhasa pemograman berorientasi objek
yang memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain atau
bisa juga mendefinisikan suatu kelas dan
kemudianmenggunakannya untuk membangun hirarki kelas turunan, yang mana
masing-masingturunan mewarisi semua akses kode maupun data kelas dasarnya..data
dan fungsi yang dapat diwariskanhanya yang bersifat public dan protected. Untuk
data dan fungsi private tetap tidakdapat diwariskan. Hal ini disebabkan sifat
protected yang hanya dapat diakses daridalam kelas saja.Sifat pewarisan ini
menyebabkan kelas-kelas dalam pemograman berorientasi objekmembentuk hirarki
kelas mulai dari kelas dasar, kelas turunan pertama, kelas turunankedua dan
seterusnya. Sebagai gambaran misalnya ada hirarki kelas unggas.
• Polimorfisme (polymorphim)
Merupakan suatu konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai
bentuk dan perilakuyang berbeda atau bisa juga memberikan satu aksi untuk satu nama
yang dipakai bersama pada satu hirarki kelas, yang mana masing masing kelas
hirarkimenerapkan cara yang sesuai dengan dirinya.
2.5 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.
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.
2.5.1 C++
C++ merupakan salah satu bahasa
pemrograman berorientasi objek. C++ bisa dikatakan bahasa yang cukup fleksibel
untuk requirement desain program / aplikasi. Program C++ berisi sekumpulan command atau perintah yang membuat komputer
melakukan suatu proses komputasi. Kumpulan perintah ini biasanya disebut C++Source Code. Sebelum program
C++ dijalankan, program harus diperiksa dulu melalui proses yang dinamakan compile. Proses ini dilakukan
dengan menggunakan kakas pemrograman. Program pada C++ terdiri dari:
1.
Library
Sekumpulan resource yang siap dipakai
pada program
2.
Struktur
data
Penyimpanan data atau variabel dalam
tipe tertentu
3.
Operasi
primitif
Terdiri dari fungsi dan prosedur yang
melakukan pemrosesan data.
Dalam library C++, iostream mendukung dua
operasi dasar yaitu cout untuk output dan cin untuk input. Biasanya, dengan
perintah cout akan menampilkan sesuatu ke layar monitor dan dengan perintah cin
akan menerima masukan dari keyboard.
1. Output (cout)
Untuk
cout menggunakan operator << (insertion operation)
cout<<“
Selamat Datang”; // mencetak tulisan Selamat Datang ke layar
cout<<120;
// mencetak angka 120 ke layar
cout<<x; // mencetak
isi nilai variabel x ke layar
Operator
<< dikenal dengan insertion operator yang memberikan perintah
kepada cout.
-
Untuk contoh pertama,
kalimat yang akan dicetak di layar di apit oleh tanda “ “
karena berupa
string.
-
Sedangkan pada contoh
kedua dan ketiga, tanpa tanda “ “, karena yang akan ditampilkan ke layar bukan
berupa string ataupun karakter.
Insertion
operator (<<) dapat digunakan lebih dari satu
dalam sebuah pernyataan:
cout<<”hallo”<<”saya”<<”belajar
c++;
Selanjutnya dapat
juga dikombinasikan dengan variabel. Misalnya:
cout<<”hallo
saya berusia”<<age<<”tahun”;
Untuk menambahkan
perintah ganti baris, ada dua perintah yang dapat dipakai: “\n” dan perintah endl.
Contoh:
-
Penggunaan perintah “\n”
// program
pertamaku
#include<iostream.h>
int main()
{
cout
<<"selamat belajar c++ \n";
cout<<"di
Lab 7";
return 0;
}
-
Penggunaan perintah endl
// program
pertamaku
#include<iostream.h>
int main()
{
cout
<<"selamat belajar c++"<<endl;
cout<<"di
Lab 7";
return 0;
}
2. Input (cin)
Untuk
menerima inputan dengan perintah cin, maka operator yang akan digunakanadalah overloaded
operator (>>) dan diikuti dengan variabel tempat menyimpan inputan
data.
Contoh:
int age;
cin>>age;
cin hanya dapat
diproses setelah penekanan tombol ENTER. Jadi walaupun hanya satu karakter yang
dimasukkan, sebelum penekanan Enter, cin tidak akan merespon apa-apa.
Contoh program:
#include<iostream.h>
void main()
{
int age;
cout<<"masukkan
umur anda = ";
cin>>age;
cout
<<"umur saya sekarang= "<<age<<"tahun";
}
Elemen Dasar C++
1.
Tipe
Data
Terdapat
5 tipe data dari bahasa C, yaitu: void,
integer, float, double dan char.
Tipe keterangan void diartikan sebagai tanpa tipe data dan tanpa
pengembalian nilai int bilangan
bulat (integer), float bilangan
pecahan (floating point), double
bilangan pecahan dengan jangkauan data yang lebih luas, char karakter.
Sedangkan
C++ sendiri menambahkan dua buah tipe data lagi, yakni: bool dan
wchar_t.
2.
Variabel
Berbeda dengan pendeklarasian variabel di
bahasa pemograman lain, dalam C++sebelum mendeklarasikan variabel, hal pertama
yang harus dideklarasikan adalah tipe data yang akan digunakan untuk menampung
data.
Format
penulisannya adalah:
Tipe_data
pengenal = nilai;
Sebagai
contoh:
int
a;
float
nomor;
atau
dapat juga pemberian nilai awal untuk variabel dilakukan pada saat deklarasi.
Contoh:
int
a = 10;
char s=’a’;
contoh
#include<iostream.h>
void
main()
{
//inisialisasi
variabel:
int
a,b;
int
hasil;
//proses:
a=5;
b=2;
a=a+1;
hasil
= a - b;
//cetak
hasilnya:
cout<<"hasil
= "<<hasil;
}
3.
Konstanta
Konstanta mirip dengan variabel, namun
memiliki nilai tetap. Konstanta dapatberupa nilai interger, float, karakter,
dan string.Pendeklarasian konstanta dapat dilakukan dengan dua cara:
·
Menggunakan (#define)
Deklarasi
konstanta dengan cara ini, lebih mudah dilakukan karena akan menyertakan #define sebagai preprocessor directive.
Contoh penggunaan:
#define phi
2.414159265
#define Newline
‘\n’
#define lebar 100
·
Menggunakan konstanta
(const)
Sedangkan
dengan kata kunci const, pendeklarasian konstanta mirip dengan deklarasi
variabel yang ditambah kata depan const.
Contoh:
const int lebar =
100;
const char tab =
‘t’;
const zip = 1212;
4.
Operator
Dalam C++ terdapat berbagai macam operator
yang dapat dimanfaatkan dalamaplikasi.
-
Operator
Assign (=)
Operator (=), akan memberikan nilai kedalam
suatu variabel.
-
Operator Aritmatika (+, -, *, /, %)
Operator Keterangan
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
% Modulus /
Sisa bagi
-
Operator Penaikan dan Penurunan (++ dan --)
Operator penaikan/ increment (++) akan
menaikkan atau menambahkan 1 nilaivariabel. Sedangkan operator penurunan/ decrement
(--) akan menurunkan atau mengurangi 1 nilai variabel.
Misalnya:
a++;
a--;
contoh :
#include
<iostream.h>
void main()
{
int r=2;
int s;
s=2 + r++;
cout<<s<<endl<<r;
}
-
Operator
majemuk (+=, -=, *=, /=, %=, <<=, >>=, &=, |=)
Dalam
C++, operasi aritmatika dapat disederhanakan penulisannya dengan format
penulisan operator majemuk.
Misalnya:
a+=5 sama artinya
dengan menuliskan a= a+5
a*=5 sama artinya
dengan menuliskan a=a*5
a/=5 sama artinya dengan menuliskan a =a/5
#include<conio.h>
void main()
{ int x = 2;
clrscr();
cout
<<"x = "<< x <<endl;
x+=3;
cout
<<"setelah x+=3, x menjadi " << x <<endl;
x*=3;
cout
<<"setelah x*=3, x menjadi "<< x <<endl;
}
-
Operator
Relasional (==, !=, >, <, >=, <=)
Yang
dihasilkan dari operator ini bukan berupa sebuah nilai, namun berupa
bilangan bool
yaitu benar dan salah
Operator
Keterangan
== Sama dengan
!= Tidak sama
dengan
> Lebih besar
dari
< Kurang dari
>= Lebih besar
dari atau sama dengan
<= Kurang dari
atau sama dengan
Contoh:
(7==5) hasilnya
adalah false
(5 > 4) hasilnya adalah true
-
Operator
Logika ( !, &&, | | )
Operator logika juga digunakan untuk
memberikan nilai atau kondisi true danfalse. Biasanya operator logika dipakai
untuk membandingkan dua buah kondisi.
Misalnya:
((5==5) && (3>6) hasilnya akan
bernilai false, karena (true && false)
-
Operator kondisional (?)
Format penulisan operator kondisional adalah:
kondisi ? hasil1:hasil2
Jika kondisi benar maka yang dijalankan adalah hasil1 dan jika
kondisi salah maka akan dijalankan hasil2
Contoh:
7==5 ? 4 : 3 hasilnya adalah 3, karena 7 tidak sama dengan 5
5>3 ? a :
b hasilnya adalah a, karena 5 lebih besar dari 3
Seleksi kondisional dan perulangan
Dalam
sebuah proses program, biasanya terdapat kode penyeleksian kondisi, kode pengulangan
program, atau kode untuk pengambilan keputusan. Untuk tujuan tersebut, C++
memberikan berbagai kemudahan dalam sintaksnya.
Seleksi kondisional
1. If_else
Format
penulisannya:
if (kondisi)
pernyataan;
Kondisi adalah
ekspresi yang akan dibandingkan. Jika kondisi bernilai benar, maka pernyataan
akan dijalankan. Namun, jika kondisi bernilai salah, maka pernyataan akan
diabaikan.
2. Switch
Logika
menggunakan switch sama dengan menggunakan perintah if yang telah dijelaskan sebelumnya.
5.
Perulangan
(looping)
Sebuah
atau beberapa pernyataan akan dijalankan secara berulang ulang, selama kondisi terpenuhi.
1). while
Sintaksnya : while
(kondisi) pernyataan;
Pernyataan akan dijalankan selama ekspresi
bernilai true.
2). do…while
Sintaksnya : do pernyataan while (kondisi);
Konsep do_while
mirip dengan while. Namun pernyataan akan dijalankan terlebih dahulu sebelum pengecekan kondisi.
3). for
Sintaksnya : for
(inisialisasi; kondisi; counter) pernyataan;
Pernyataan akan diulangi
jika kondisi bernilai true (sama seperti while). Namun for menetapkan inisialisasi dan counter berada dalam ( ) tanda kurung .
Tambahan:
-
Perintah break
break berfungsi
untuk keluar dari loop, walaupun kondisinya belum seluruhnya terpenuhi. Biasanya,
perintah ini digunakan untuk memaksa program keluar dari loop.
-
Perintah continue
Perintah ini akan melewati satu iterasi yang sesuai dengan syarat
tertentu, dan melanjutkan ke iterasi selanjutnya.
6.
Array
Pada program yang dibahas terdahulu,
banyak menggunakan variabel tunggal, artinya sebuah variabel hanya
digunakan untuk menyimpan satu nilai. Array merupakan koleksi data dimana
setiap elemen memakai nama yang sama dan bertipe sama, setiap elemen diakses
dengan membedakan indeks array-nya.
7.
Fungsi
Yang dimaksud dengan Function atau fungsi
adalah sejumlah instruksi yang dikelompokkan menjadi satu, berdiri sendiri,
yang berfungsi untuk menyelesaikan suatu pekerjaan tertentu. Bahasa C/C++
adalah suatu bahasa yang struktur penulisannya merupakan kumpulan dari fungsi-fungsi.
Setiap fungsi mempunyai nama. Bahasa C/C++ minimal terdiri dari satu buah
fungsi yang disebut fungsi main( ). Nama main adalah nama fungsi yang ditentukan
oleh bahasa C/C++, yang tidak boleh diganti dengan nama lain. Fungsi-fungsi
lain (yang dibuat sendiri bila diperlukan) namanya dapat dikarang sendiri.
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.
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
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
0 Comments