Disusun Oleh :
NIS. 18.007677
KELAS XI RPL-A
SMKN 2 SURAKARTA
2019
KATA PENGANTAR
Puji syukur kita kehadirat Allah SWT yang telah memberikan rahmat dan
hidayah-Nya sehingga saya dapat menyelesaikan tugas makalah materi
pemrograman berbasis objek ini tepat pada waktunya.
Adapun tujuan dari penulisan makalah ini adalah untuk memenuhi tugas
akhir pada Mata Pelajaran Pemrogramman Berbasis Objek. Selain itu, makalah ini
juga bertujuan untuk mengembangkan penerapan teknologi untuk mempermudah.
Tujuan lainnya adalah untuk memberi wawasan kepada pembaca tentang materi
pemrograman berbasis objek.
1
DAFTAR ISI
2
9.1. Konsep Error Handling......................................................................................32
9.2. Penerapan Error Handling.................................................................................33
BAB X – Penutup...........................................................................................................35
10.1 Kesimpulan.........................................................................................................35
Daftar Pustaka...............................................................................................................36
3
BAB 1 - Pendahuluan Tentang PBO
4
1.3. Kelebihan PBO
a. Meningkatkan produktivitas pengembangan program seperti dalam beberapa
hal berikut ini.
Modularitas: Pembuatan program dapat dilakukan dengan membuat
modul-modul berupa objek kemudian menggabungkannya. Dengan kata
lain kita bisa patungan dalam mengerjakan modul-modul tersebut.
Fleksibilitas: Sistem Program yang dihasilkan dapat dikustom dan kita
tidak harus melibatkan banyak modul di dalamnya, kita cukup
memodifikasi objek yang terkait saja.
Perluasan: Dengan menambahkan perilaku dan atribut sebuah kelas objek
dapat dikembangkan dengan mudah.
Dapat diperluas: Sistem program yang dikembangkan dengan
menggunakan pemrograman berorientasi objek bahkan dapat
dikembangkan menjadi sistem perangkat lunak yang besar dan paling
kompleks sekalipun.
Bisa digunakan kembali: Sebuah kelas objek yang telah dibuat dapat
kembali digunakan pada lintas program. Hal ini biasanya akan
mempersingkat waktu kita untuk membuat coding.
b. Pemeliharaan lebih mudah
5
Bagaimana tidak, rata-rata harga pengembangan suatu program adalah
tergantung seberapa lama waktu yang diperlukan, sehingga waktu pengembangan
yang singkat tentunya akan mengurangi biaya proyek program.
Waktu pengembangan yang lebih cepat akan memberi waktu lebih kepada
developer dalam melakukan ujicoba terhadap program yang sudah dibuatnya
sehingga mengurangi adanya bug atau error.
6
mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan
sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras
bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya
dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada
berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman
yang bersifat umum/non-spesifik (general purpose), dan secara khusus
didisain untuk memanfaatkan dependensi implementasi seminimal
mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java
mampu berjalan di beberapa platform sistem operasi yang berbeda, java
dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat
ini java merupakan bahasa pemrograman yang paling populer digunakan,
dan secara luas dimanfaatkan dalam pengembangan berbagai jenis
perangkat lunak aplikasi ataupun aplikasi berbasis web.
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, Bahasa itu
diturunkan dari bahasa sebelumnya, yaitu BCL, Pada awalnya, bahasa
tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada
sistem Unix, Pada perkembangannya, versi ANSI (American National
Standart Institute) Bahasa pemrograman C menjadi versi dominan,
Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan
sistem dan jaringan maupun untuk sistem embedded, Bjarne Stroustrup
pada Bel labs pertama kali mengembangkan C++ pada awal 1980-an,
Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan sistem
support untuk pemrograman tingkat rendah (low level coding). Pada C++
ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya
seperti inheritance dan overloading. Salah satu perbedaan yang paling
mendasar dengan bahasa C adalah dukungan terhadap konsep
pemrograman berorientasi objek (Object Oriented Programming).
Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-
bahasa tersebut menggunakan sintaks yang sama tetapi mereka memiliki
7
perbedaan, C merupakan bahasa pemrograman prosedural, dimana
penyelesaian suatu masalah dilakukan dengan membagi-bagi masalah
tersebut kedalam su-submasalah yang lebih kecil, Selain itu, C++
merupakan bahasa pemrograman yang memiliki sifat Pemrograman
berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan
langkah pertama dengan menjelaskan class-class yang merupakan anak
class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik,
Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan
dari objectnya, Setelah beberapa Class dibuat kemudian masalah
dipecahkan dengan Class.
b. Klik Next
8
c. Klik Next
d. Tunggu
e. Klik Next
f. Tunggu Lagi
9
g. Klik Close
10
h. Buka System Lalu buka Advanced settings
11
k. Klik New lalu tuliskan directory folder bin JDK “C:\Program Files
(x86)\Java\jdk1.7.0_51 \bin” dan klik OK
12
m. Klik New lalu tuliskan directory folder bin JDK “C:\Program Files
(x86)\Java\jdk1.7.0_51 \bin” lagi dan klik OK
13
BAB II - Class, Method & 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.
14
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.
package gim;
// definisi atribut
String name;
int speed;
int healthPoin;
void run(){
boolean isDead(){
return false;
15
package gim;
siswa.name = "BintangKus";
siswa.speed = 78;
siswa.healthPoin = 100;
// menjalankan method
siswa.run();
if(siswa.isDead()){
System.out.println("Inalillahi");
Output :
Siswa Berlari…
Speed: 78
Inalillahi
16
BAB III - Encapsulasi
3.1. Konsep Encapsulasi
Encapsulasi 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.
return age;
17
return name;
return idNum;
age = newAge;
name = newName;
idNum = newId;
encap.setName("BintangKus");
encap.setAge(16);
encap.setIdNum("18.007677");
18
System.out.print("Nama : " + encap.getName() + " , Umur : " +
encap.getAge());
Output :
BAB IV – Pewarisan
4.1. Konsep Pewarisan
Pewarisan adalah berbagi atribut dan operasi antar kelas berdasrkan hirarki
kelas. Contoh Scrolling Window ( Window yang memiliki penggulung ) serta
Fixed Window ( Window yang tidak memiliki penggulung ) dapat
diklasifikasikan pada kelas yang lebih tinggi yaitu Window. Kedua kelas
dibawahnya mewarisi data serta fungsi yang dapat dimiliki window, misal tempat
di layar monitor, dapat diperkecil, diperbesar , memiliki warna tertentu bereaksi
terhadap pengklikan tombol dsb.
class Kalkulasi {
int z;
z = x + y;
19
System.out.println("Pertambahan dari angka yang diberikan :"+z);
z = x - y;
z = x * y;
demo.tambah(a, b);
demo.kurang(a, b);
demo.kali(a, b);
Output :
20
Perkalian dari angka yang diberikan :200
BAB V – Polymorphisme
5.1. Konsep Polymorphisme
Polimorfisme adalah konsep yang menyatakan bahwa suatu fungsi yang
sama dapat diterapkan dan dapat memiliki oleh kelas – kelas yang berlainan.
Misalnya fungsi makan dapat digolongkan baik pada kelas primata maupun pada
kelas burung, meskipun mereka melakukan dengan cara yang berbeda dengan cara
mereka masing – masing. Pada kasus komputer misalnya operasi “gambar”dapat
ditemukan pada List Box, Combo Box Button dll, meskipun operasinya sama
implementasinya berbeda untuk masing – masing objek pada layar komputer.
Setiap Kelas memiliki sifat yang umum dari objek didalamnya misal kelas
primata diatas memiliki ciri yang sama, manusia dan kera misalnya memiliki sifat
yang sama yaitu menyusui anaknya, bernafas dengan hidung , makan dengan
mulut memiliki 2 tangan, 2 kaki dsbnya. Namun mengacu pada pada konsep
identitas diatas bahwa setiap objek memiliki identitias yang berbeda. Manusia dan
kera misalnya dibedakan dari kemampuan otaknya dalam memproses data dan
informasi, menyimpan informasi serta melakukan abstraksi.
21
cetakObyek(new Balok());
cetakObyek(new PersegiPanjang());
cetakObyek(new BangunDatar());
cetakObyek(new Object());
System.out.println(obyek);
22
}
Output:
BAB VI – Package
6.1. Konsep Package
Package digunakan di Java untuk mencegah konflik penamaan, untuk
mengontrol akses, untuk membuat pencarian / penempatan dan penggunaan kelas,
interface, enumerasi dan anotasi lebih mudah, dll. Package dapat didefinisikan
sebagai pengelompokan jenis terkait (kelas, interface, enumerasi dan anotasi)
yang menyediakan perlindungan akses dan manajemen namespace.
23
/* File Pertama : Mobil1.java */
package Kendaraan;
Kedua kita membuat file dengan nama Motor1.java yang di simpan pada
folder kendaraan yang satu folder dengan Mobil1.java
package Kendaraan;
Ketiga kita membuat file dengan nama Sepeda1.java yang di simpan pada
folder kendaraan yang satu folder dengan Mobil1.java dan Motor1.java
package Kendaraan;
24
}
import Kendaraan.Motor1;
import Kendaraan.Mobil1;
import Kendaraan.Sepeda1;
motorku.info();
mobilku.info();
sepedaku.info();
Output :
25
BAB VII – Interface
7.1. Konsep Interface
Interface adalah jenis referensi di Java. Mirip dengan Class. Ini adalah
kumpulan metode abstrak. Class mengimplementasikan interface, sehingga
mewarisi metode abstrak interface. Bersamaan dengan metode abstrak, sebuah
interface juga dapat berisi konstanta, metode default, metode statis, dan tipe
bersarang. Badan metode hanya ada untuk metode default dan metode statis.
Cara penulisan interface mirip dengan cara penulisan class. Tetapi class
menggambarkan atribut dan perilaku suatu objek. Dan sebuah interface berisi
perilaku yang diterapkan oleh sebuah class. Kecuali class yang
mengimplementasikan interface adalah abstrak, semua metode interface perlu
didefinisikan di class.
interface Binatang {
26
public void makan() {
System.out.println("Mamalia makan");
System.out.println("Mamalia berjalan");
return 0;
m.makan();
m.berjalan();
Output :
Mamalia makan
Mamalia
27
BAB VIII - Class Library
8.1. Konsep Class Library
Java Class Library ( JCL ) adalah seperangkat pustaka yang dapat dimuat
secara dinamis yang dapat dipanggil oleh aplikasi Java saat dijalankan . Karena
Platform Java tidak tergantung pada sistem operasi tertentu, aplikasi tidak dapat
bergantung pada pustaka platform-asli. Sebagai gantinya, Java Platform
menyediakan satu set lengkap pustaka kelas standar , yang berisi fungsi-fungsi
umum untuk sistem operasi modern.
28
8.2. Penerapan Class Library
/* File name : KeyboardIntegerReader.java */
import java.io.*;
import java.util.*;
String s1;
String s2;
29
int num = 0;
System.in));
while (cont)
s1 = br.readLine();
s2 = "";
try
s2 = st.nextToken();
num = Integer.parseInt(s2);
cont = false;
catch (NumberFormatException n)
30
System.out.println("The value in \"" + s2 + "\" is not an integer");
Output :
Enter an integer: 12
You entered the integer: 12
31
BAB IX - Error Handling
9.1. Konsep Error Handling
Exception adalah sebuah event yang menjalankan alur proses normal pada
program. Event ini biasanya berupa kesalahan(error) dari beberapa bentuk. Ini
disebabkan program kita berakhir tidak normal. Dalam bahasa java, ketika terjadi
kesalahan, otomatis akan dilemparkan sebuah objek yang disebut exception, yang
kemudian dapat diproses lebih lanjut oleh method yang siap menangani kesalahan
tersebut. Method tersebut dapat dipilih untuk menangani exception berdasarkan
tipe tertentu.Exception dapat muncul tidak beraturan dalam suatu method, atau
dapat juga dibuat secara manual dan nantinya melaporkan sejumlah keadaan
kesalahan ke method yang memanggil.
Semua kelas exception java mewarisi secara langsung atau tidak langsung
dari Throwable. Kita bisa menciptakan kelas exception sendiri dengan cara
mewarisi exception atau subclass exception. Kelas-kelas exception dapat
diklasifikasikan menjadi 3 tipe utama :
Error system dilempar oleh JVM dan direpresentasikan oleh kelas Error.
Kelas error mendeskripsikan error internal. Error semacam ini jarang
terjadi. Jika terjadi, kita dapat memberitahukan kepada user dan
menghentikan program secara normal.
Exception direpresentasikan dalam kelas Exception, yang
mendeskripsikan error-error yang diakibatkan oleh program kita dan oleh
lingkungan luar. Error ini ditangkap dan ditangani oleh program kita.
Exception runtime direpresentasikan oleh kelas RunTimeException, yang
mendeskripsikan kesalahan pemrograman, seperti casting yang salah,
pengaksesan array diluar batas, dan kesalahan numerik. Exception runtime
dilempar oleh JVM.
32
Exception handling. Exception handling diimplementasikan di Java dengan
keyword:
try {
System.out.println(angka);
}catch (NumberFormatException e) {
33
System.out.println("Terjadi kesalahan string tidak dapat di parse karena
bukan angka");
Output :
34
BAB X – Penutup
10.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.
35
Daftar Pustaka
https://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek
https://rumahradhen.wordpress.com/materi-kuliahku/semester-iii/perancangan-
berbasis-objek-1/bab-i-konsep-pengembangan-sistem-berorientasi-objek/
https://www.tutorialspoint.com/
36