Anda di halaman 1dari 37

MAKALAH MATERI

PEMROGRAMAN BERBASIS OBJEK

Disusun Oleh :

Bintang Kusuma Ilham

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.

Saya mengucapkan terima kasih kepada semua pihak yang telah


memberikan pengetahuannya kepada saya sehingga saya dapat menyelesaikan
makalah ini. Saya menyadari, makalah ini jauh dari kata sempurna. Oleh karena
itu, kritik dan saran yang membangun akan saya terima untuk kesempurnaan
makalah ini.

Surakarta, 24 Maret 2020

Bintang Kusuma Ilham

1
DAFTAR ISI

BAB 1 - Pendahuluan Tentang PBO..............................................................................3


1.1. Konsep Pemrograman PBO.................................................................................4
1.2. Prosedur Pemrograman PBO...............................................................................4
1.3. Kelebihan PBO......................................................................................................4
1.4. Macam Macam Perangkat Lunak Pengembang PBO........................................6
1.5. Instalasi & Konfigurasi.........................................................................................8
BAB II - Class, Method & Objek..................................................................................14
2.1. Konsep Class, Method & Objek.........................................................................14
2.2. Penerapan Class, Method & Objek...................................................................14
BAB III - Encapsulasi....................................................................................................17
3.1. Konsep Encapsulasi.............................................................................................17
3.2. Penerapan Encapsulasi.......................................................................................17
BAB IV – Pewarisan......................................................................................................19
4.1. Konsep Pewarisan...............................................................................................19
4.2. Penerapan Pewarisan..........................................................................................19
BAB V – Polymorphisme...............................................................................................21
5.1. Konsep Polymorphisme......................................................................................21
5.2. Penerapan Polymorphisme.................................................................................21
BAB VI – Package..........................................................................................................23
6.1. Konsep Package...................................................................................................23
6.2. Penerapan Package.............................................................................................23
BAB VII – Interface.......................................................................................................26
7.1. Konsep Interface.................................................................................................26
7.2. Penerapan Interface............................................................................................26
BAB VIII - Class Library..............................................................................................28
8.1. Konsep Class Library.........................................................................................28
8.2. Penerapan Class Library....................................................................................29
BAB IX - Error Handling..............................................................................................32

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

1.1. Konsep Pemrograman PBO


Pemrograman berorientasi objek (Inggris: object-oriented programming
disingkat OOP) merupakan paradigma pemrograman berdasarkan konsep "objek",
yang dapat berisi data, dalam bentuk field atau dikenal juga sebagai atribut; serta
kode, dalam bentuk fungsi/prosedur atau dikenal juga sebagai method. 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 peranti
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.

1.2. Prosedur Pemrograman PBO


Karakteristik utama yang nyata pada pendekatan berorientasi prosedur / fungsi
adalah sebagai berikut :

a. Penekanan pada sesuatu yang harus dikerjakan ( algoritma pemecahan


masalah ).
b. Program berukuran besar dipecah – pecah menjadi program yang lebih
kecil.
c. Kebanyakan fungsi atau prosedur berbagi data global.
d. Pendekatan adalah pendekatan atas ke – bawah ( top down approach )
e. Data bergerak secara bebas dalam sistem dan satu fungsi ke fungsi yang
lain yang terkait.
f. Fungsi – fungsi menstranformasi data dari satu bentuk ke bentuk yang
lain.

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

Kenapa? Karena OOP memiliki design yang terdiri dari modul-modul,


meskipun sistem aplikasi yang kita buat dalam skala yang kompleks, kita akan
mudah melakukan pemeliharaan terhadap perangkat lunak ini jika terjadi
perubahan ataupun masalah.

c. Proses pengembangan aplikasi yang lebih cepat

Pemrograman berorientasi objek didukung oleh adanya banyak library objek


yang bisa dipakai berulang, sehingga mempermudah dan mempercepat kita dalam
pengembangan program dan juga project lainnya.

d. Hemat biaya pengembangan program aplikasi

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.

e. Software yang dihasilkan berkualitas tinggi

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.

Meski dengan begitu banyak kelebihan dari pemrograman berorientasi objek,


tidak bisa kita pungkiri bahwa langkah-langkah ini juga memiliki beberapa
kekurangan, terutama bagi kita yang baru terjun di dalam pemrograman ini. Hal
tersebut disebabkan beberapa hal berikut ini

 Karena OOP terdiri dari modul-modul, otomatis susunan maupun program


yang dihasilkan akan lebih kompleks. Sehingga untuk programmer pemula
mungkin akan memerlukan waktu lebih hingga terbiasa menggunakan
OOP ini.
 Ukuran Program yang dibuat menggunakan OOP biasanya akan lebih
besar jika dibandingkan dengan program yang dibuat menggunakan POP
(Post Office Protocol).
 Biasanya waktu loading program OOP sedikit lebih lambat karena
ukurannya yang lebih besar dari program lainnya.
 Meski dengan sekian banyak kelebihannya, perlu Anda ketahui bahwa
tidak semua permasalahan program dapat diselesaikan dengan
menggunakan OOP. Beberapa program justru lebih efisien jika dibangun
menggunakan POP atau pemrograman lainnya.

1.4. Macam Macam Perangkat Lunak Pengembang PBO


 Java adalah bahasa pemrograman yang dapat dijalankan di berbagai
komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh
James Gosling saat masih bergabung di Sun Microsystems saat ini
merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak

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.

1.5. Instalasi & Konfigurasi


a. Buka Aplikasi penginstal java

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

i. Buka Environment Variables…

j. Klik Path Lalu Klik Edit…

11
k. Klik New lalu tuliskan directory folder bin JDK “C:\Program Files
(x86)\Java\jdk1.7.0_51 \bin” dan klik OK

l. Klik Path Lalu Klik Edit…

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

2.1. Konsep Class, Method & Objek


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.

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.

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.

2.2. Penerapan Class, Method & Objek


/* File Pertama : Player.java */

package gim;

public class Player {

// definisi atribut

String name;

int speed;

int healthPoin;

// definisi method run

void run(){

System.out.println(name +" berlari...");

System.out.println("Speed: "+ speed);

// definisi method isDead untuk mengecek nilai kesehatan (healthPoin)

boolean isDead(){

if(healthPoin <= 0) return true;

return false;

/* File Utama : Game.java */

15
package gim;

public class Game {

public static void main(String[] args){

// membuat objek player

Player siswa = new Player();

// mengisi atribut player

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.

3.2. Penerapan Encapsulasi


/* File Pertama : EncapTest.java */

public class EncapTest {

private String name;

private String idNum;

private int age;

public int getAge() {

return age;

public String getName() {

17
return name;

public String getIdNum() {

return idNum;

public void setAge( int newAge) {

age = newAge;

public void setName(String newName) {

name = newName;

public void setIdNum( String newId) {

idNum = newId;

/* File name : JalankanEncap.java */

public class JalankanEncap {

public static void main(String args[]) {

EncapTest encap = new EncapTest();

encap.setName("BintangKus");

encap.setAge(16);

encap.setIdNum("18.007677");

18
System.out.print("Nama : " + encap.getName() + " , Umur : " +
encap.getAge());

Output :

Nama : BintangKus, Umur : 16

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.

Dalam konteks pemrograman berorientasi objek pewarisan akan sangat


mengurangi perulangan dan mungkin merupakan salah satu keunggulan utama
dalam rekayasa perangkat lunak karena memungkink.an penulisan kode yang
lebih sedikit tanpa mengorbankan esensi pernagkat lunak secara keseluruhan

4.2. Penerapan Pewarisan


/* File name : Kalkulasiku.java */

class Kalkulasi {

int z;

public void tambah(int x, int y) {

z = x + y;

19
System.out.println("Pertambahan dari angka yang diberikan :"+z);

public void kurang(int x, int y) {

z = x - y;

System.out.println("Pengurangan dari angka yang diberikan :"+z);

public class Kalkulasiku extends Kalkulasi {

public void kali(int x, int y) {

z = x * y;

System.out.println("Perkalian dari angka yang diberikan :"+z);

public static void main(String args[]) {

int a = 20, b = 10;

Kalkulasiku demo = new Kalkulasiku();

demo.tambah(a, b);

demo.kurang(a, b);

demo.kali(a, b);

Output :

Pertambahan dari angka yang diberikan :30


Pengurangan dari angka yang diberikan :10

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.

5.2. Penerapan Polymorphisme


/* Nama file : Polimorphism.java */

public class Polimorphism {

public static void main(String[ ] args) {

21
cetakObyek(new Balok());

cetakObyek(new PersegiPanjang());

cetakObyek(new BangunDatar());

cetakObyek(new Object());

public static void cetakObyek(Object obyek) {

System.out.println(obyek);

} // Akhir kelas Polimorphism

class Balok extends PersegiPanjang {

public String toString() {

return "Mempunyai sisi panjang, lebar dan tinggi";

class PersegiPanjang extends BangunDatar {

public String toString() {

return "Mempunyai sisi panjang dan lebar";

class BangunDatar extends Object {

public String toString() {

return "Mempunyai berbagai bentuk";

22
}

Output:

Mempunyai sisi panjang, lebar dan tinggi


Mempunyai sisi panjang dan kebar
Mempunyai berbagai bentuk

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.

Beberapa Package yang ada di Java adalah

 java.lang - bundel kelas dasar


 java.io - kelas untuk input, fungsi output dimuat dalam Package ini

Pemrogram dapat mendefinisikan Package mereka sendiri untuk


membundel grup kelas / interface, dll. Ini adalah praktik yang baik untuk
mengelompokkan kelas terkait yang diterapkan oleh Anda sehingga programmer
dapat dengan mudah menentukan bahwa kelas, interface, enumerasi, dan anotasi
saling terkait. Karena Package membuat namespace baru, tidak akan ada konflik
nama dengan nama di Package lain. Menggunakan Package, lebih mudah untuk
menyediakan kontrol akses dan juga lebih mudah untuk menemukan kelas terkait.

6.2. Penerapan Package


Pertama kita membuat file dengan nama Mobil1.java yang di simpan pada
folder kendaraan (membuat folder baru).

23
/* File Pertama : Mobil1.java */

package Kendaraan;

public class Mobil1{

public void info(){

System.out.println ("Ini kelas mobil");

Kedua kita membuat file dengan nama Motor1.java yang di simpan pada
folder kendaraan yang satu folder dengan Mobil1.java

/* File Kedua : Motor1.java*/

package Kendaraan;

public class Motor1{

public void info(){

System.out.println ("Ini kelas motor");

Ketiga kita membuat file dengan nama Sepeda1.java yang di simpan pada
folder kendaraan yang satu folder dengan Mobil1.java dan Motor1.java

/* File Ketiga : Sepeda1.java */

package Kendaraan;

public class Sepeda1{

public void info(){

System.out.println ("Ini kelas sepeda");

24
}

Keempat kita membuat file utama dengan nama AlatTransportasi.java


yang di simpan di luar folder kendaraan yang nanti file utama ini akan dijalankan.

/* File Utama : AlatTransportasi.java */

import Kendaraan.Motor1;

import Kendaraan.Mobil1;

import Kendaraan.Sepeda1;

public class AlatTransportasi{

public static void main (String[] args) {

Motor1 motorku = new Motor1();

motorku.info();

Mobil1 mobilku = new Mobil1();

mobilku.info();

Sepeda1 sepedaku = new Sepeda1();

sepedaku.info();

Output :

Ini kelas motor


Ini kelas mobil
Ini kelas sepeda

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.

7.2. Penerapan Interface


/* File pertama : Binatang.java */

interface Binatang {

public void makan();

public void berjalan();

/* File kedua : MamaliaInt.java */

public class MamaliaInt implements Binatang {

26
public void makan() {

System.out.println("Mamalia makan");

public void berjalan() {

System.out.println("Mamalia berjalan");

public int noOfLegs() {

return 0;

public static void main(String args[]) {

MamaliaInt m = new MamaliaInt();

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.

JCL melayani tiga tujuan dalam Platform Java:

 Seperti pustaka kode standar lainnya, pustaka menyediakan serangkaian


fasilitas bermanfaat yang berguna bagi programmer, seperti kelas kontainer
dan pemrosesan ekspresi reguler .
 Perpustakaan menyediakan antarmuka abstrak untuk tugas-tugas yang
biasanya sangat bergantung pada perangkat keras dan sistem operasi, seperti
akses jaringan dan akses file .
 Beberapa platform yang mendasari mungkin tidak mendukung semua fitur
yang diharapkan oleh aplikasi Java. Dalam kasus ini, implementasi pustaka
dapat meniru fitur-fitur tersebut atau menyediakan cara yang konsisten
untuk memeriksa keberadaan fitur tertentu.

28
8.2. Penerapan Class Library
/* File name : KeyboardIntegerReader.java */
import java.io.*;

import java.util.*;

public class KeyboardIntegerReader {

public static void main (String[] args) throws java.io.IOException {

String s1;

String s2;

29
int num = 0;

// set up the buffered reader to read from the keyboard

BufferedReader br = new BufferedReader (new InputStreamReader (

System.in));

boolean cont = true;

while (cont)

System.out.print ("Enter an integer:");

s1 = br.readLine();

StringTokenizer st = new StringTokenizer (s1);

s2 = "";

while (cont && st.hasMoreTokens())

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");

System.out.println ("You entered the integer: " + num);

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.

Exception mempunyai beberapa subclass. Tiap subclass Exception akan


dilempar dengan sebab-‐sebab tertentu. Untuk menangani Exception dibutuhkan

32
Exception handling. Exception handling diimplementasikan di Java dengan
keyword:

 Try digunakan untuk meletakkan code yang kemungkinan akan


memunculkan Exception
 Catch digunakan sebagai Exception handler, blok ini akan menangkap
Exception yang dilempar di dalam blok try. Blok catch digunakan untuk
menspesifikasikan tipe Exception yang akan ditangani. Minimal 1 blok try
mempunyai 1 blok catch, jadi 1 blok try dapat mempunyai lebih dari 1
blok catch, hal ini dapat berlaku jika terdapat lebih dari 1 Exception yang
akan dilempar didalam blok try.
 Finally merupakan optional, boleh ada atau tidak. Satu blok try catch
hanya 1 blok finally. Blok finally diakses pada urutan terakir dalam blok
try catch finally, blok tetap diakses meskipun ada atau tidak ada
Exception.
 Throw digunakan untuk melempar Exception secara eksplisit.
 Throws untuk mendaftar Exception-‐Exception yang akan dilempar
statemen throw di dalam suatu method, jika method tersebut tidak
menyediakan Exception handling.

9.2. Penerapan Error Handling


/* File Name : TestingException.java */

public class TestingException {

public static void main(String[] args) {

try {

String myString = "6";

int angka = Integer.parseInt(myString);

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

Anda mungkin juga menyukai