0% menganggap dokumen ini bermanfaat (0 suara)
170 tayangan16 halaman

Modul Praktikum PBO 2

Modul ini membahas tentang pengenalan class, object, enkapsulasi, overloading, dan tingkatan akses member dan class menggunakan modifier di Java. Topik utama yang dibahas adalah konsep class dan object, penggunaan atribut dan method, serta penggunaan modifier public, private, dan protected untuk mengatur akses ke anggota class.

Diunggah oleh

Chandra Poetra
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
170 tayangan16 halaman

Modul Praktikum PBO 2

Modul ini membahas tentang pengenalan class, object, enkapsulasi, overloading, dan tingkatan akses member dan class menggunakan modifier di Java. Topik utama yang dibahas adalah konsep class dan object, penggunaan atribut dan method, serta penggunaan modifier public, private, dan protected untuk mengatur akses ke anggota class.

Diunggah oleh

Chandra Poetra
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Modul Praktikum Pemrograman Berorientasi Obyek

Jurusan Teknik Informatika


Politeknik Pos Indonesia

MODUL 2
PENGENALAN CLASS, OBJECT & ENKAPSULASI
A. Class
Class merupakan cetak biru (blue print) dari objek atau dengan kata lain sebuah Class
menggambarkan ciri-ciri objek secara umum. Sebagai contoh Suzuki Smash, Yamaha VegaR,
Honda SupraFit, dan Kawasaki KazeR merupakan objek dari Class sepeda motor. Suzuki Smash
dan objek lainnya juga memiliki kesamaan atribut (merk, tipe, berat, kapasitas bensin, tipe mesin,
warna, harga) dan method untuk mengakses data pada atributnya (misal fungsi untuk
menginputkan data merk, tipe, berat, dsb serta fungsi untuk mencetak data merk, tipe, berat, dsb).
Contoh :

B. Object
Objek (Object) merupakan segala sesuatu yang ada di dunia ini, yaitu manusia, hewan,
tumbuhan, rumah, kendaraan, dan lain sebagainya. Contoh-contoh objek yang telah disebutkan
diatas merupakan contoh objek nyata pada kehidupan kita.
Pada pemrograman berorientasi objek, kita akan belajar bagaimana membawa konsep objek
dalam kehidupan nyata menjadi objek dalam dunia pemrograman. Setiap objek dalam dunia nyata
pasti memiliki 2 elemen penyusunnya, yaitu keadaan (state) dan perilaku/sifat (behaviour). Sebagai
contoh, sepeda memiliki keadaan yaitu warna, merk, jumlah roda, ukuran roda. Dan perilaku/sifat
sepeda adalah berjalan, berhenti, belok, menambah kecepatan, mengerem.

1
Modul Praktikum Pemrograman Berorientasi Obyek
Jurusan Teknik Informatika
Politeknk Pos Indonesia

Pada saat objek diterjemahkan ke dalam konsep PBO, maka elemen penyusunnya juga terdiri
atas 2 bagian, yaitu :
Atribut, merupakan ciri-ciri yang melekat pada suatu objek (state).
Method, merupakan fungsi-fungsi yang digunakan untuk memanipulasi nilai-nilai pada
atribut atau untuk melakukan hal-hal yang dapat dilakukan suatu objek (behaviour).
Objek dalam konsep PBO memiliki keadaan dan perilaku yang sama seperti halnya objek di
dunia nyata, karena objek dalam konsep PBO merupakan representasi objek dari dunia nyata.
Objek dalam PBO merepresentasikan keadaan melalui variabel-variabel (Atribut), sedangkan
perilakunya direpresentasikan dengan method (yang merupakan suatu fungsi yang berhubungan
dengan perilaku objek tersebut maupun berhubungan dengan atribut dari objek tersebut). Objek
yang memiliki kesamaan atribut dan method dapat dikelompokkan menjadi sebuah Class. Dan
objek-objek yang dibuat dari suatu class itulah yang disebut dengan Instant of class.
Untuk menginstansi (membuat) objek dari class, gunakan operator new.
Sintaks membuat objek dari suatu class :
namaClass namaObjek = new namaClass()

Class utama dari program :

Perhatikan class Main diatas !


Nama objek dari class SepedaMotor adalah motor.
Silahkan dicoba untuk melihat hasilnya !

2
Modul Praktikum Pemrograman Berorientasi Obyek
Jurusan Teknik Informatika
Politeknik Pos Indonesia

C. Enkapsulasi
Enkapsulasi (encapsulation) merupakan cara untuk melindungi property (atribut) / method
tertentu dari sebuah kelas agar tidak sembarangan diakses dan dimodifikasi oleh suatu bagian
program. Cara untuk melindungi data yaitu dengan menggunakan access modifiers (hak akses).
Ada 4 hak akses yang tersedia, yaitu default, public, protected, private.
Untuk lebih jelasnya, silahkan lihat kedua table berikut ini :
No Modifier Pada class dan interface Pada method dan variabel
1 Default (tidak ada Dapat diakses oleh yang Diwarisi oleh subkelas dipaket yang
modifier) sepaket sama, dapat diakses oleh method-
method yang sepaket
2 Public Dapat diakses dimanapun Diwarisi oleh subkelasnya, dapat
diakses dimanapun
3 Protected Tidak bisa diterapkan Diwarisi oleh subkelasnya, dapat
diakses oleh method-method yang
sepaket
4 private Tidak bisa diterapkan Tidak dapat dikases dimanapun
kecuali oleh method-method yang ada
dalam kelas itu sendiri

3
Modul Praktikum Pemrograman Berorientasi Obyek
Jurusan Teknik Informatika
Politeknk Pos Indonesia

Perhatikan keyword “this” di bawah ini (lihat pada class Enkapsulasi). Untuk membedakan
variabel alas pada parameter dan variabel alas pada atribut class Enkapsulasi, digunakanlah
keyword “this”. Sehingga untuk menggunakan atribut alas pada class Enkapsulasi digunakan :
this.alas
Contoh:
Nama file : Enkapsulasi.java

4
Modul Praktikum Pemrograman Berorientasi Obyek
Jurusan Teknik Informatika
Politeknk Pos Indonesia

Nama file : MainEnkapsulasi.java

Silahkan dicoba untuk melihat hasilnya !

D. Overloading
Overloading adalah diperbolehkannya dalam sebuah class memiliki lebih dari satu nama
function/method yang sama tetapi memiliki parameter/argument yang berbeda.
Contoh :

Silahkan dicoba untuk melihat hasilnya !

5
PRAKTIKUM Tingkatan Akses Member dan Class (Modifier)
Class dalam program Java dapat saling berhubungan dengan cara memberikan akses terhadap
member mereka.

Salah satu hubungan class yang pernah kita pelajari adalah inheritance (pewarisan).

Semua yang ada di dalam class (atribut dan method) disebut member. Biasanya akan ada
tingkatan akses yang disebut modifier.

Pada hubungan inheritance, semua member di dalam class induk akan bisa diakses oleh class
anak (subclass), kecuali memeber tersebut diberikan modifier private.

Perlu diingat:

Modifier tidak hanya bisa diberikan kepada member saja. Tapi juga bisa diberikan kepada
interface, enum, dan class itu sendiri.

Perhatikan kode program berikut:

Yang di garis bawahi pada kode di atas adalah modifier. Modifier ini nanti akan menentukan
batasan akses member dan class.

Ada 3 Macam Modifier dalam Java

Secara umum ada 3 macam modifier yang digunakan dalam Java: public, private, dan
protected.

Apabila kita tidak menggunakan tiga kata kunci tersebut, maka member atau class itu tidak
menggunakan modifier (no modifier).

Masing-masing modifier akan menentukan di mana saja member bisa diakses.

Berikut ini tabel jangkauan untuk masing-masing modifier:

Modifier Class Package Subclass World

public Y Y Y Y
Modifier Class Package Subclass World

protected Y Y Y N

no modifier Y Y N N

private Y N N N

Keterangan:

 Y artinya bisa diakses;


 N artinya tidak bisa diakses;
 Subclass artinya class anak;
 World artinya seluruh package di aplikasi.

Pada tabel di atas… apabila kita tidak menggunakan modifier (no modifier), maka class dan
member hanya akan bisa diakses dari Class itu sendiri dan package (class yang berada satu
package dengannya).

Agar bisa diakses dari mana saja, maka kita harus memberikan modifier public.

contohnya…

1. Public

Modifier public akan membuat member dan class bisa di akses dari mana saja.

Contoh:

package modifier;

class Person {
public String name;

public changeName(String newName){


this.name = newName;
}
}

Pada class Preson terdapat dua member, yaitu:

1. atribut name
2. method changeName()

Kedua member tersebut kita berikan modifier public. Artinya mereka akan bisa diakses dari
mana saja.

Namun, class Person tidak kita berikan modifier. Maka yang akan terjadi adalah class
tersebut tidak akan bisa diimpor (diakses) dari luar package.
Percobaan mengakses class Person dari luar package

Class Person berada di dalam package modifier, lalu kita coba akses dari default package,
maka yyang akan terjadi adalah error seperti gambar di atas.

Bagaimana solusinya agar bisa diakses dari luar package?

Ya kita harus menambahkan modifier public ke dalam class Person.

Menambahkan modifier pada class Person

Maka error akan menghilang dan class Person akan bisa diimpor dari package manapun.

Pada class diagram, modifier public digambarkan dengan simbol plus (+).

Contoh:

Semua member dalam class Player memiliki modifier public. Perhatikan simbol + yang ada
di depannya.
2. Private

Modifier private akan membuat member hanya bisa diakses oleh dari dalam class itu
sendiri.

Perlu diingat:

Modifier private tidak bisa diberikan kepada class, enum, dan interface. Modifier private
hanya bisa diberikan kepada member class.

Contoh:

class Person {
private String name;

public void setName(name){


this.name = name;
}

public String getName(){


return this.name;
}
}

Pada contoh di atas, kita memberikan modifier private pada atribut name dan modifier
public pada method setName() dan getName().

Apabila kita coba mengkases langusung atribut name seperti ini:

Person mPerson = new Person()


mPerson.name = "Petani Kode"; // <- maka akan terjadi error di sini

Tidak percaya?

Coba saja di Netbeans:

Lalu, bagaimana cara mengakses member private dari luar class?

Kita bisa memanfaatkan method setter dan getter. Karena, method ini akan selalu diberikan
modifier public.
Contoh:

Person mPerson = new Person();


mPerson.setName("Petani Kode");

System.out.println("Person Name: " + mPerson.getName());

Pada class diagram, modifier private digambarkan dengan simbol minus (-).

3. Protected

Modifier protected akan membuat member dan class hanya bisa diakses dari:

1. Class itu sendiri;


2. Sub class atau class anak;
3. Package (class yang berada satu package dengannya).

Modifier protected juga hanya boleh digunakan pada member saja.

Contoh:

package modifier;

public class Person {


protected String name;

public void setName(String name){


this.name = name;
}

public String getName(){


return this.name;
}
}

Pada contoh di atas, kita memberikan modifier protected pada atribut name.

Apabila kita coba mengakses dari class yang satu package dengannya, maka tidak akan
terjadi error.

Namun, apabila kita mencoba mengakses dari luar package seperti ini:

import modifier.Person;
public class Author {

Person p = new Person();

public Author() {
// akan terjadi error di sini karena atribut name
// telah diberikan modifier protected
p.name = "Petani Kode";
}

Maka akan terjadi error.

Pada class diagram (di StarUML), modifier protected digambarkan dengan tanda pagar (#).
Menggunakan Method Setter dan Getter untuk Enkapsulasi

Method setter dan getter adalah dua method yang tugasnya untuk mengambil dan mengisi
data ke dalam objek.

Dalam OOP kita sering mendengar istilah encapsulation (pembungkusan), di mana data
dibungkus dengan modifier private agar tidak bisa diakses secara langsung dari luar class.

Nah method setter dan getter inilah yang akan membantu kita mengakses data tersebut.

Mengapa harus dibuat seperti ini?

Ada beberapa alasannya:

1. Untuk meningkatkan keamanan data;


2. Agar lebih mudah dalam mengontrol atribut dan dan method;
3. Class bisa kita buat menjadi read-only dan write-only;
4. dan fleksibel: programmer dapat mengganti sebagian dari kode tanpa harus takut
berdampak pada kode yang lain.

Cara Membuat Method Setter dan Getter

Cara membuat method setter dan getter sama saja seperti membaut method biasa.

Contoh:

class User {
private String username;
private String password;

// ini method setter


public void setUsername(String username){
this.username = username;
}

public void setPassword(String password){


this.password = password;
}

// ini method getter


public String getUsername(){
return this.username;
}

public String getPassword(){


return this.password;
}
}

Method setter dan getter harus diberikan modifier public, karena method ini akan diakses
dari luar class.

Perbedaan method setter dengan getter terletak pada nilai kembalian, parameter, dan isi
method-nya.

Method setter tidak memiliki nilai kembalian void (kosong). Karena tugasnya hanya untuk
mengisi data ke dalam atribut.

Sedangkan method getter memiliki nilai kembalian sesuai dengan tipe data yang akan
diambil.

Nama method setter dan getter harus diawali dengan set untuk setter dan get untuk getter.

Apa boleh menggunakan bahasa indonesia? misalnya isi untuk setter dan ambil untuk
getter.

Boleh-boleh saja, tapi ini tidak dianjurkan. Karena jika kita bekerja dengan tim, tim yang lain
akan kesulitan. Apalagi dalam tim tersebut menggunakan bahasa inggris.

Menggunakan Method Setter dan Getter

Setelah kita membuat method setter dan getter, kita bisa mengakses atau menggunakannya
seperti method biasa.

Contoh:

// Kode ini ditulis di dalam method main


// membuat objek dari class User
User dian = new User();

// menggunakan method setter


dian.setUsername("dian");
dian.setPassword("kopiJava");

// menggunakan method getter


System.out.println("Username: " + dian.getUsername());
System.out.println("Password: " + dian.getPassword());

Hasil output:

Tips Cepat Membuat Method Setter dan Getter di Netbeans

Kita sudah membuat contoh setter dan getter untuk dua atribut data.

Bagaiman akalau ada banyak data? misal ada 10 atribut yang membutuhkan method setter
dan getter.

Kita bisa memanfaatkan fitur generator di Netbeans.

Caranya:

Pertama buat dulu atribut data yang akan dibuatkan method setter dan getter seperti ini:

class Book {
private String title;
private String author;
private String price;
private String isbn;
private String year;

Setelah itu klik kanan, lalu pilih Insert Code… atau tekan tombol Alt+Insert sehingga
akan muncul menu seperti ini:
Pilih Setter and Getter untuk masuk ke menu generator Setter dan Getter. Lalu tentukan
atribut yang akan dibuatkan method setter dan getter-nya.

Kalik Generate untuk membuatnya…


Latihan 1
1. Buat sebuah class kendaraan
2. Buat class manusia
3. Buat class hewan.

Latihan 2

Buat Program terkait 3 level Encapsulasi pada pemrograman java, berdasarkan contoh dari
latihan 1 diatas

1. Public
2. Protected
3. Private

Anda mungkin juga menyukai