Anda di halaman 1dari 16

LAPORAN HASIL PRAKTIKUM

ALGORITMA DAN PEMPROGRAMAN II

Nama : GEBRI MEIZERI CORDIAS

NIM : 193030503068
Kelas : C
Modul : I (DASAR PBO)

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK


UNIVERSITAS PALANGKA RAYA
2020
Nama : GEBRI MEIZERI CORDIAS

NIM : 193030503068
Kelas :C
Modul : I (DASAR PBO)

Komposisi MAX Nilai


BAB I Tujuan dan Landasan Teori 10
BAB II Pembahasan 60
BAB III Kesimpulan 20
Daftar Pustaka 5
Lampiran 5
Jumlah 100

Penilai Asisten Praktikum

ANASTIA IVANABILLA NOVANTI


BAB I
TUJUAN DAN LANDASAN TEORI

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

gambar 1.1 struktur PBO

Pemrograman berorientasi objek (Inggris: 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.
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.
Pemrograman memiliki karakteristik sebagai berikut :

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.

Untuk mempermudah kita memahami tentang class, salah satu contoh


dari class adalah class person, class animal, vehicle, fruit dan lain-lain.
Dalam bidang pemrograman, sebuah class haruslah dapat dikenali
bahkan oleh orang bukan programmer, karena class merupakan dasar
dari sebuah program.
gambar 1.2 Contoh Class
B. OBJEK
Yang dimaksud dengan objek dalam pemrograman berorientasi
objek adalah kumpulan perangkat lunak yang terdiri dari metode-
metode dan variabel yang saling berkaitan. Objek juga merupakan
wujud nyata dari prototype atau rancangan yang disebutkan dalam
class tadi.

gambar 1.3 Contoh 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; ”.

Gambar 1.4 Output Sepeda

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::setTime( int h, int m, int s ){


hour = ( h >= 0 && h < 24 ) ? h : 0;
minute = ( m >= 0 && m < 60 ) ? m : 0;
second = ( s >= 0 && s < 60 ) ? s : 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.

Gambar 1.5 Output Jam

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();
};

Kucing::Kucing (char *NamaKucing, char *TipeKucing, char


*WarnaKucing, int UsiaKucing){
strcpy(nama, NamaKucing);
strcpy(tipe, TipeKucing);
strcpy(warna, WarnaKucing);
usia = UsiaKucing;
}

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 :

Pada program diatas, kita harus menentukan setiap struct untuk


mendapatkan variabel pada private dan public sesuai dengan method
yang pada tampilan data. Sebelum memasukan perintah
“tampilkanData”, masukan perintah “strcpy” untuk masing-masing
method untuk mengubah sumbernya ke array yang ditunjuk oleh
tujuan dan mengakhiri karakter nol. Pada tampil kucing2, terdapat
perintah “kucing sedang mengeong”. Untuk menampilkannya,
masukan perintah “void Kucing::mengeong()”setelah “tampilData”
sehingga masing-masing method dapat tampil secara bersamaan
dengan nama, tipe, warna dan usia untuk masing-masing subjek
tampil secara bersamaan tanpa mengganti setiap masing-masing
subjek yang diinginkan.
Gambar 1.6 Output Kucing
BAB III KESIMPULAN

1. 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. Bandingkan dengan logika
pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses
data, dan mengirim pesan ke objek lainnya.

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

Gambar 1.1 Struktur PBO


2. Class

Gambar 1.2 contoh Class


3. Object

Gambar 1.3 contoh Object


output program 1 :

Gambar 1.4 Output Sepeda

Output program 2 :

Gambar 1.5 Output Jam

Output program 3 :

Gambar 1.6 Output Kucing

Anda mungkin juga menyukai