NIM : 193030503068
Kelas : C
Modul : I (DASAR PBO)
NIM : 193030503068
Kelas :C
Modul : I (DASAR PBO)
TUJUAN
Tujuan dari praktikum ini adalah :
1. Memahami dasar-dasar memrograman berorientasi objek (PBO)
2. Memahami enkapsulasi
3. Membuat kelas dan objek
LANDASAN TEORI
DEFINISI PBO
A. CLASS
Di dalam sebuah objek kelas merupakan prototype atau rancangan yang
menafsirkan variabel dan berbagai method pada sebuah objek tertentu.
Fungsinya adalah untuk menampung konten atau isi dari sebuah
program yang akan dijalankan. Dengan kata lain, kelas/class adalah
rancangan atau prototype dari sebuah objek dalam pemrograman
berorientasi objek.
C. METHOD/METODE
Method atau metode merupakan suatu operasi berupa fungsi-fungsi
yang dapat dikerjakan oleh suatu objek. Method didefinisikan pada
class, namun dipanggil melalui objek. Contoh, pada objek buah pear:
terdapat ‘metode ambil rasa’, ‘kupas kulit’ dan lain-lain.
Dalam pemrograman berorientasi objek, method merupakan
kumpulan dari berbagai program yang memiliki nama. Ini adalah alat
yang digunakan oleh seorang programmer dalam memecah sebuah
program menjadi bagian yang kecil-kecil dan kompleks sehingga
dapat digunakan berulang kali.
D. ABSTRAKSI
Abstraksi merupakan kemampuan dari sebuah program untuk
melewati aspek informasi yang diproses olehnya, atau bisa juga
disebut sebagai kemampuan untuk memfokuskan pada intinya.
Setiap objek dalam sistem OOP merupakan model dari “pelaku”
abstrak yang dapat melakukan suatu pekerjaan, pelaporan dan
perubahan pada keadaannya, dan melakukan komunikasi dengan
objek lainnya yang ada di dalam sistem suatu program, tanpa
memperlihatkan bagaimana hal ini diterapkan
E. ENKAPSULASI
Ini adalah suatu bentuk dimana pengguna dari sebuah objek tidak dapat
mengganti atau mengubah (memodifikasi) suatu keadaan dari sebuah objek
dengan cara yang tidak layak, oleh karena itu keadaan ini hanya dapat
dimodifikasi sesuai dengan ketentuan yang terdapat di dalam objek tersebut.
Begitupun ketika kita ingin mengganti interfacenya haruslah memenuhi aturan
dari objek yang bersangkutan. Objek yang lainnya tidak akan tergantung dengan
objek tersebut.
BAB II PEMBAHASAN
1. PROGRAM 1
Buatlah program dibawah ini!
#include<iostream>
#include<conio.h>
using namespace std;
class Sepeda {
public:
Sepeda(int, int, int);
void mengubahPutaran(int);
void mengubahGir(int);
void mengerem();
void tampilInfo();
private:
int kecepatan;
int putaran;
int gir;
};
Sepeda::Sepeda(int k, int p, int g){
kecepatan = k;
putaran = p;
gir = g;
}
void Sepeda::mengubahPutaran(int p){
putaran = p;
}
void Sepeda::mengubahGir(int g){
gir = g;
}
void Sepeda::mengerem(){
cout<< "Kecepatan dan putaran berkurang ..." ;
}
void Sepeda::tampilInfo() {
cout<< "Gir : " << gir << endl << "Kecepatan : "<<kecepatan<< endl
<< "Putaran : " << putaran << endl;
}
int main(){
Sepeda sepeda1(10,60,3),
sepeda2(4,12,1),
sepeda3(35,80,5);
sepeda1.tampilInfo();
sepeda2.tampilInfo();
sepeda3.tampilInfo();
getch();
return 0;
}
Penjelasan :
Pada program tersebut, untuk memulai suatu program menggunakan
perintah “#include<iostream>” dan “#include<conio.h>” untuk
memulai program yang di inginkan. setelah itu pada baris ketiga
masukan perintah “using namespace std;” untuk melakukan
pemanggilan namespace. Untuk memulai program masukan perintah
“Class” yang terdiri dari public dan private. Public digunakan
sebagai pemberi akses pada property atau method pada pengisian
perintah program yang kita masukan. Sedangkan private digunakan
Untuk melarang property atau method diluar Class.
Setelah kita menentukan public dan private, maka kita harus
menentukan setiap kode integer untuk setiap method untuk
kecepatan (int k), putaran (int p) dan gir (g) lalu masukan perintah
“void sepeda :: ......... (int ...)” untuk dari method kecepatan (int k),
putaran (int p) dan gir (int g) yang kemudian masukan perintah void
tampilinfo dengan coding “cout<< "Gir : " << gir << endl <<
"Kecepatan : "<<kecepatan<< endl << "Putaran : " << putaran <<
endl; ”.
2. PROGRAM 2
Buatlah program dibawah ini!
#include<iostream>
#include<iomanip>
#include<conio.h>
using namespace std;
class Time {
public:
Time();
void setTime( int, int, int );
void printUniversal();
void printStandard();
private:
int hour;
int minute;
int second;
};
Time::Time(){
hour = minute = second = 0;
}
void Time::printUniversal(){
cout<< setfill( '0' ) << setw( 2 ) << hour << ":"<<setw( 2 ) <<
minute << ":"<<setw( 2 ) << second;
}
void Time::printStandard(){
cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 )<<":"
<<setfill( '0' ) << setw( 2 ) << minute<< ":" <<setw( 2 ) <<
second<<( hour< 12 ? " AM" : " PM" );
}
int main(){
Time t;
cout<< "The initial universal time is ";
t.printUniversal();
cout<< "\nThe initial standard time is ";
t.printStandard();
t.setTime( 13, 27, 6 );
cout<< "\n\nUniversal time after setTime is ";
t.printUniversal();
cout<< "\nStandard time after setTime is ";
t.printStandard();
t.setTime( 99, 99, 99 );
cout<< "\n\nAfter attempting invalid settings:"<<
"\nUniversal time: ";
t.printUniversal();
cout<< "\nStandard time: ";
t.printStandard();
cout<< endl;
getch();
return 0;
}
Penjelasan :
Program tersebut sama dengan program 1 yang telah dibuat. tetapi
terdapat perintah “#include<iomanip>” pada baris kedua. Untuk
menampilkan waktu, masukan perintah “time ::time ()” untuk
menampilkan jam(hour), menit(minute) dan detik(second). Untuk
bentuk integer setTime pada setiap method harus dibuat seperti
berikut :
a. hour = ( h >= 0 && h < 24 ) ? h : 0;
b. minute = ( m >= 0 && m < 60 ) ? m : 0;
c. second = ( s >= 0 && s < 60 ) ? s : 0.
Setelah menentukan setiap integer hour(h), minute(m) dan second(s)
buatlah perintah “printUniversal” untuk menampilkan jam sampai 24
jam dan perintah “printStandard” untuk menampilkan jam bentuk 12
untuk am dan pm.
3. PROGRAM 3
buatlah program dibawah ini!
#include <iostream>
#include <string.h>
using namespace std;
class Kucing{
private:
char nama[25];
char tipe[30];
char warna [20];
int usia;
public:
Kucing (char *NamaKucing, char *TipeKucing, char
*WarnaKucing, int UsiaKucing);
void tampilkanData();
void mengeong();
};
void Kucing::tampilkanData(){
cout << " Nama Kucing : " << nama << endl;
cout << " Tipe Kucing : " << tipe << endl;
cout << " Usia Kucing (bulan) : " << usia << " bulan" << endl;
}
void Kucing::mengeong(){
cout << " miaw……." << endl;
}
int main(){
Kucing kucing1("Mpus", "Persia", "putih-orange", 10);
Kucing kucing2("Roki", "Spinx", "tanpa bulu", 15);
Kucing kucing3("Moris", "Himalaya", "Coklat muda",3);
cout << " DATA KUCING " << endl;
cout<< "========================================"
<< endl;
kucing1.tampilkanData();
cout << "----------------------------------------------" <<endl;
kucing2.tampilkanData();
cout << "----------------------------------------------" <<endl;
cout << "kucing sedang mengeong " << endl;
kucing3.tampilkanData();
cout << "----------------------------------------------" <<endl;
return 0;
}
Penjelasan :
2. Bahasa pemrograman yang bisa digunakan dalam mata kuliah PBBO antara
lain :
• Visual Foxpro
• Java
• C++
• Pascal (bahasa pemrograman)
• SIMULA
• Python
• PHP
• C#
• Delphi dll
DAFTAR PUSTAKA
https:// https://markey.id/blog/development/pemrograman-berorientasi-objek
(diakses pada tanggal 31 Maret 2020 pukul 18.21)
http://technopark.surakarta.go.id/id/media-publik/komputer-teknologi-
informasi/189-konsep-dasar-pemrograman-berorientasi-objek (diakses pada
tangga 1 April 2020 pukul 20.00 WIB)
https://www.malasngoding.com/php-oop-part-4-pengertian-enkapsulasi-public-private-
protected/(Diakses pada selasa, 2 April 2020 pukul 20.20 WIB)
https://www.academia.edu/22821192/MAKALAH_PEMOGRAMAN_BERORI
ENTASI_OBJEK (Diakses pada selasa, 2 April 2020 pukul 21.01 WIB)
https:// http://www.cplusplus.com/reference/cstring/strcpy/ (diakses pada tanggal
2 April 2020 pukul 22.00 WIB)
https:// https://www.academia.edu/5583014/MAKALAH_1 (diakses pada
tanggal 2 April 2020 pukul 23.01 WIB)
LAMPIRAN
1. Definisi PBO
Output program 2 :
Output program 3 :