Anda di halaman 1dari 49

LAPORAN PRAKTIKUM IV

“INCAPSULATION (ENKAPSULASI)”

Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berorientasi


Objek
Dibimbing oleh Bapak Heru Wahyu Herwanto, S.T., M.Kom

Disusun Oleh:
IMANDA MEYFI PERDANI
140533600939
S1 PTI OFF A ‘14

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI PENDIDIKAN TEKNIK INFORMATIKA
Oktober 2015
LAPORAN IV
”ENCAPSULATION”

I. TUJUAN
1. Mahasiswa mampu memahami dan menggunakan konsep Encapsulation
dalam pemrograman java
2. Mahasiswa mampu memahami dan menggunakan method Mutator dan
Accessor
3. Mahasiswa mampu menggunakan IDE NetBeans

II. DASAR TEORI


A. Encapsulation (Enkapsulasi)
Enkapsulasi adalah pembungkus untuk menjaga suatu proses
program agar tidak dapat diakses secara sembarangan atau di
intervensi oleh program lain. Konsep enkapsulasi sangat penting
dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-
waktu, sekaligus menjaga atau melindungi sebuah program dari akses
ataupun intervensi dari program lain yang mempengaruhinya. Hal ini
sangat menjaga keutuhan program yang telah dibuat dengan konsep dan
rencana yang sudah ditentukan dari awal. Dalam konsep ini ada tiga kata
kunci yang digunakan. Konsep hak akses ini biasa di sebut Access
Modifier. Access Modifier terdiri dari private, protected, dan public :
o Private memberikan hak akses hanya kepada anggota class tersebut
untuk menggunakan atau mengubah nilai dari property atau method
tersebut.
o Protected memberikan hak akses kepada anggota class nya dan
anggota class hasil inheritance (penurunansifat) dari class tersebut.
o Public memberikan hak akses kepada property dan method
agar dapat digunakan diluar class tersebut.
Encapsulation atau Pengkapsulan adalah cara “membungkus”
data dan method yang menyusun kelas sehingga kelas dapat
dipandang sebagai suatu modul dan menyembunyikannya dari dunia
luar. Dunia luar disini adalah data, method, kelas, interface, atau
package lain yang mungkin akan berinteraksi dengan modul tersebut.
Dengan kata lain enkapsulasi adalah cara untuk menyembunyikan
implementasi detail dari suatu class.
a) Information Hiding
Sebelumnya kita dapat mengakses anggota class baik berupa
atribut maupun method secara langsung dengan menggunakan
objek yang telah kita buat. Hal ini dikarenakan akses kontrol
yang diberikan kepada atribut maupun method yang ada di
dalam class tersebut adalah ‘public’. Kita dapat menggunakan
menyembunyikan Information Hiding.
Information Hiding adalah proses yang menyembunyikan
informasi dari suatu class sehingga class tersebut tidak dapat
diakses dari luar. Yaitu dengan memberikan akses kontrol “private”
ketika mendeklarasikan atribut atau method.
b) Interface to Acces data
Jika kita telah melakukan information hiding terhadap
suatu atribut pada suatu class, lalu bagaimana cara melakukan
perubahan terhadap atribut yang kita sembunyikan tersebut, caranya
adalah dengan membuat Interface to Acces data. Interface to Acces
data adalah cara melalukan perubahan terhadap atribut yang di
information hiding yaitu dengan membuat suatu interface berupa
method untuk menginisialisasi atau merubah nilai dari suatu atribut
tersebut
Keuntungan menerapkan Encapsulasi adalah :
 Bersifat independen
Suatu modul yang terencapsulasi dengan baik akan bersifat
independen dari modul yang lainnya sehingga dapat
digunakan pada bagian manapun dari program. Ia tidak
akan terikat pada bagian tertentu dari program.
 Bersifat transparan
Bila melakukan modifikasi pada suatu modul, maka perubahan
tersebut akan dirasakan juga oleh bagian program yang
menggunakan modul tersebut.
 Menghindari efek diluar perencanaan
Modul yang terencapsulasi dengan baik hanya akan berinteraksi
dengan bagian program lainnya melalui variable-variabel
input/output yang telah didefinisikan sebelunnya. Dengan
demikian, akan mereduksi kemungkinan adanya hasil imbas
pemrosesan yang di luar perencanaan semula.
 Melindungi listing program
Saat program didistribusikan pada khalayak, untuk melindungi
listing program. Anda dapat menerapkan prinsip enkapsulasi.
Di sini pengguna hanya dapat menggunakan program
melalui variable input atau output yang didefinisikan tanpa
disertai bagimana proses yang terjadi di dalam modul tersebut.

B. Method untuk mengimplementasi konsep enkapsulasi


a. Method Accessor
Untuk mengimplementasikan enkapsulasi, kita tidak menginginkan
sembarang object dapat mengakses data kapan saja. Untuk itu, kita
deklarasikan atribut dari class sebagai private. Namun, ada kalanya
dimana kita menginginkan object lain untuk dapat mengakses data
private. Dalam hal ini kita gunakan accessor methods. Accessor
Methods digunakan untuk membaca nilai variabel pada class, baik
berupa instance maupun static. Sebuah accessor method umumnya
dimulai dengan penulisan get<namaInstanceVariable>. Method
ini juga mempunyai sebuah return value.
Sebagai contoh, kita ingin menggunakan accessor method untuk
dapat membaca nama, alamat, nilai bahasa Inggris, Matematika, dan
ilmu pasti dari siswa. Mari kita perhatikan salah satu contoh
implementasi accessor method :
public class StudentRecord
{
private String name;
public String getName()
{
return name;
}
}

 dimana,public - Menjelaskan bahwa method tersebut dapat


diakses dari object luar class
 String - Tipe data return value dari method tersebut bertipe
String getName - Nama dari method
 () - Menjelaskan bahwa method tidak memiliki parameter
apapun Pernyataan berikut, return name;

Dalam program kita menandakan akan ada pengembalian nilai dari


nama instancevariable ke pemanggilan method. Perhatikan bahwa
return type dari method harus sama dengan tipe data seperti data
pada pernyataan return. Anda akan mendapatkan pesan kesalahan
sebagai berikut bila tipe data yang digunakan tidak sama :

StudentRecord.java:14: incompatible types


found : int
required: java.lang.String
return age;
^
1 error

b. Method Mutator
Jika kita menghendaki object lain untuk mengubah data, yang dapat
kita
lakukan adalah membuat method yang dapat memberi atau
mengubah nilai variable dalam class, baik itu berupa instance
maupun static. Method semacam ini disebut dengan mutator
methods. Sebuah mutator method umumnya tertulis set<
namaInstanceVariabel>
Perhatikan salah satu dari implementasi mutator method :

public class StudentRecord


{
private String name;
public void setName( String temp )
{
name = temp;
}
}

C. IDE NetBeans
Netbeans adalah sebuah aplikasi Integrated Development
Environment (IDE) yang berbasiskan Java dari Sun Microsystems yang
berjalan di atas swing. Swing merupakan sebuah teknologi Java untuk
pengembangan aplikasi dekstop yang dapat berjalan pada berbagai
macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah
IDE merupakan lingkup pemrograman yang di integrasikan ke dalam
suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface
(GUI), suatu kode editor atau text, suatu compiler dan suatu debugger.
Netbeans juga dapat digunakan progammer untuk menulis, meng-
compile, mencari kesalahan dan menyebarkan program netbeans yang
ditulis dalam bahasa pemrograman java namun selain itu dapat juga
mendukung bahasa pemrograman lainnya dan program ini pun bebas
untuk digunakan dan untuk membuat professional dekstop, enterprise,
web, and mobile applications dengan Java language, C/C++, dan bahkan
dynamic languages seperti PHP, JavaScript, Groovy, dan Ruby.
NetBeans merupakan sebuah proyek kode terbuka yang sukses
dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan
memiliki hampir lebih dari 100 mitra. Sun Microsystems mendirikan
proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi
sponsor utama. Dan saat ini pun netbeans memiliki 2 produk yaitu
Platform Netbeans dan Netbeans IDE. Platform Netbeans merupakan
framework yang dapat digunakan kembali (reusable) untuk
menyederhanakan pengembangan aplikasi deskto dan Platform NetBeans
juga menawarkan layanan-layanan yang umum bagi aplikasi dekstop,
mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap
aplikasi.
Fitur fitur yang terdapat dalam netbeans antara lain:
1. Smart Code Completion: untuk mengusulkan nama variabel dari
suatu tipe, melengkapi keyword dan mengusulkan tipe parameter
dari sebuah method.
2. Bookmarking: fitur yang digunakan untuk menandai baris yang
suatu saat hendak kita modifikasi.
3. Go to commands: fitur yang digunakan untuk jump ke deklarasi
variabel, source code atau file yang ada pada project yang sama.
4. Code generator: jika kita menggunakan fitur ini kita dapat meng-
generate constructor, setter and getter method dan yang lainnya.
5. Error stripe: fitur yang akan menandai baris yang eror dengan
memberi highlight merah.
Cara menggunakan NetBeans :
 Buka NetBeans
 Membuat Project Baru
1) Klik icon tambah project

2) Pada New Project, pilih Catagories Java dan Project Java


Application

3) Klik tombol next

4) Beri nama project, lalu klik finish


 Membuat Class Baru. Contoh membuat class baru pada project
bernama UTS
1) Tampilan isi pada project UTS

2) Klik kanan pada Source Package uts. Pilih new  java class

3) Beri nama class dan klik finish


III. LATIHAN
Latihan Praktikum 1
Pemrograman JAVA

Nama Program : Enkapsulasi Bus 1


Bahasa Pemrograman : JAVA
Compiler : IDE NetBeans 8.0.2
UML Diagram :

Script Program :
 Class Penghubung
/*
* To change this license header, choose License Headers in
Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package latihan1;

/**
*
* @author manda
*/
public class Bus
{
public int penumpang;
public int maxPenumpang;

public void cetak()


{
System.out.println("Penumpang Bus sekarang adalah "+
penumpang);
System.out.println("Penumpang maksimum seharusnya
adalah "+ maxPenumpang);
}
}

 Class Utama
/*
* To change this license header, choose License Headers in
Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package latihan1;

/**
*
* @author manda
*/
public class UjiBus
{
public static void main (String[] args)
{
//membuat objek busMini dari kelas Bus
Bus busMini = new Bus();

//memasukkan nilai jumlah penumpang dan penumpang maksimal


ke dalam objek busMini
busMini.penumpang = 5;
busMini.maxPenumpang = 15;

//memanggil method cetak pada kelas Bus


busMini.cetak();

//menambahkan penumpang pada busMini


busMini.penumpang = busMini.penumpang + 5;
//memanggil method cetak pada kelas Bus
busMini.cetak();

//mengurangi jumlah penumpang pada busMini


busMini.penumpang = busMini.penumpang - 2;
busMini.cetak();

//menambahkan jumlah penumpang pada busMini


busMini.penumpang = busMini.penumpang +8;
busMini.cetak();
}
}

Keterangan Script :

Class Penghubung :
1. public class Bus adalah class penghubung karena didalamnya
tdak terdapat fungsi main() dan class ini terdiri dari method-
method yang dapat diakses oleh class utama, class harus
mempunyai nama yang sama dengan file penyimpannya. public
adalah akses modifier yang menunjukan class dapat diakses oleh
publik.
2. public int penumpang; dan public int maxPenumpang;
adalah variabel global yang mempunyai tipe data integer dan
mempunyai access modifier public yang artinya memberikan hak
akses kepada property agar dapat digunakan oleh class lain.
3. public void cetak()baris ini adalah method yang bernama
cetak yang tidak mempunyai parameter. Method ini digunakan
untuk mencetak kedua variabel global pada method yaitu
System.out.println("Penumpang Bus sekarang adalah "+

penumpang) dan System.out.println("Penumpang maksimum


seharusnya adalah "+ maxPenumpang);
Class Utama :
1. public class UjiBus adalah class utama karena fungsi main()
terdapat pada class ini, class harus mempunyai nama yang sama
dengan file penyimpannya. public adalah akses modifier yang
menunjukan class dapat diakses oleh publik.
2. public static void main(String []args) adalah method
(fungsi) utama yang akan dijalankan ketika program di eksekusi.
Method adalah unit program yang menjalankan aksi tertentu .
static void method ini bersifat static yang berarti tetap dan
kosong yang menunjukan bahwa method ini tidak menghasilkan
apa-apa pada system operasi. (String []args) adalah parameter
yang menunjukan bahwa method dapat menerima sebuah string
yang diketikan user.
3. Bus busMini = new Bus() baris ini adalah pembuatan obyek
busMini ditandai dengan new dan merujuk pada class penghubung
yaitu Bus().
4. busMini.penumpang = 5; dan busMini.penumpang = 5;baris ini
untuk digunakan mengakses variabel global pada class objek
dengan memberi nilai
5. busMini.cetak(); baris ini untuk digunakan memanggil method
pada class objek
6. busMini.penumpang = busMini.penumpang + 5; baris ini untuk
digunakan mengakses variabel global pada class objek dengan
menambah nilai sebelumnya dengan 5. Jadi nilai dari variabel ini
adalah 10 karena nilai sebelumnya adalah 5 dan ditambah dengan
5
7. busMini.cetak(); baris ini untuk digunakan memanggil method
pada class objek yang akan menampilkan nilai penumpang yang
sekarang dan maksimal penumpang
8. busMini.penumpang = busMini.penumpang - 2; baris ini untuk
digunakan mengakses variabel global pada class objek dengan
mengurangi nilai sebelumnya dengan 2. Jadi nilai dari variabel ini
adalah 8 karena nilai sebelumnya adalah 10 dan dikurangi dengan
2
9. busMini.cetak(); baris ini untuk digunakan memanggil method
pada class objek yang akan menampilkan nilai penumpang yang
sekarang dan maksimal penumpang
10. busMini.penumpang = busMini.penumpang + 8; baris ini untuk
digunakan mengakses variabel global pada class objek dengan
menambah nilai sebelumnya dengan 8. Jadi nilai dari variabel ini
adalah 16 karena nilai sebelumnya adalah 8 dan ditambah dengan
8
11. busMini.cetak(); baris ini untuk digunakan memanggil method
pada class objek yang akan menampilkan nilai penumpang yang
sekarang dan maksimal penumpang

Output Program :

Penjelasan Program :
Program ini dibuat untuk menampilkan jumlah penumpang Bus dan
juga kapasitas maksimal penumpang yang dapat ditampung oleh Bus.
Terdapat class penghubung yang berisi property-property dan method-
method yang nantinya pada class utama akan digunakan sebagai objek.
UML program ini access modifier (hak akses) pada variabel ini adalah
(-) yang berarti menggunakan private, akan tetapi pada pengaplikasian
(source code) program access modifier menggunakan public. Hal ini
dikarenakan cara kerja program ini yaitu dengan mengisikan nilai langsung
pada variabel globalnya dan memanggil method untuk menampilkan
nilainya. Apabila access modifier menggunakan private maka pemberian
nilai pada variabel tidak dapat dilakukan secara langsung (mengakses
variabel dengan memanggil variabel), maka harus menggunakan method
mutator untuk pemberian nilai.
Soal :
1. Perhatikan jumlah penumpang Bus terakhir dengan jumlah penumpang
maksimum. Mengapa bisa demikian?
Jawaban :
Jumlah penumpang Bus terakhir adalah 16 dan jumlah penumpang
maksimum adalah 15. Jumlah penumpang melebihi jumlah kapasitas
maksimum penumpang, hal ini dapat terjadi dikarenakan penambahan
penumpang masih dilakukan secara manual dan langsung ditambahkan
pada variabel globalnya dan tanpa dilakukannya sebuah kondisi apabila
penambahan penumpang melebihi batas maksimum, maka penambahan
penumpang gagal dilakukan.

Latihan Praktikum 2
Pemrograman JAVA

Nama Program : Enkapsulasi Bus 2


Bahasa Pemrograman : JAVA
Compiler : IDE NetBeans 8.0.2
UML Diagram :

Script Program :
 Class Penghubung
package bus2;
/**
*
* @author manda
*/
public class Bus2
{

private int penumpang;


private int maxPenumpang;

//konstruktor
public Bus2(int maxPenumpang)
{
this.maxPenumpang = maxPenumpang;
penumpang = 0;
}

public void addPenumpang(int penumpang)


{
int temp;
temp = this.penumpang + penumpang;
if(temp > maxPenumpang)
{
System.out.println("Penumpang melebihi kuota");
}
else
{
this.penumpang = temp;
}
}

public void cetak()


{
System.out.println("Penumpang bus sekarang : " +
penumpang);
System.out.println("Penumpang maks seharusnya : " +
maxPenumpang);
}
}

 Class Utama
/*
* To change this license header, choose License Headers in
Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package bus2;

/**
*
* @author manda
*/
public class UjiBus2
{
public static void main(String[] args)
{
Bus2 busBesar = new Bus2(40);
busBesar.cetak();

busBesar.addPenumpang(15);
busBesar.cetak();

busBesar.addPenumpang(5);
busBesar.cetak();

busBesar.addPenumpang(26);
busBesar.cetak();
}
}

Keterangan Script :

Class Penghubung :
1. public class Bus2 adalah class penghubung karena didalamnya
tdak terdapat fungsi main() dan class ini terdiri dari method-
method yang dapat diakses oleh class utama, class harus
mempunyai nama yang sama dengan file penyimpannya. public
adalah akses modifier yang menunjukan class dapat diakses oleh
publik.
2. private int penumpang; dan private int maxPenumpang;
adalah variabel global yang mempunyai tipe data integer dan
mempunyai access modifier private yang artinya memberikan
pembatasan hak akses kepada property yaitu hanya kepada
class itu sendiri.
3. Public Bus2(int maxPenumpang)baris ini adalah method
konstruktor yaitu method yang memberikan nilai awal pada
objek. Method ini mempunyai parameter yang akan memberikan
nilai pada variabel global dengan nilai pada parameter.
4. Public void addPenumpang(int penumpang) baris ini adalah
method yang bernama addPenumpang yang mempunyai
parameter penumpang bertipe data integer. Di dalam method ini
terdapat variabel global yaitu temp yang akan menampung nilai
jumlah penumpang tambahan. Terdapat sebuah kondisi yaitu jika
jumlah penumpang seluruhnya (penumpang awal ditambah
tambahan penumpang) lebih dari batas maksimum penumpang,
maka terdapat pesan bahwa penumpang melebihi kuota. Jika
tidak maka nilai penumpang adalah nilai variabel temp.
5. public void cetak()baris ini adalah method yang bernama
cetak yang tidak mempunyai parameter. Method ini digunakan
untuk mencetak kedua variabel global pada method yaitu
System.out.println("Penumpang Bus sekarang adalah "+

penumpang) dan System.out.println("Penumpang maksimum


seharusnya adalah "+ maxPenumpang);
Class Utama :
1. public class UjiBus2 adalah class utama karena fungsi main()
terdapat pada class ini, class harus mempunyai nama yang sama
dengan file penyimpannya. public adalah akses modifier yang
menunjukan class dapat diakses oleh publik.
2. public static void main(String []args) adalah method
(fungsi) utama yang akan dijalankan ketika program di eksekusi.
Method adalah unit program yang menjalankan aksi tertentu .
static void method ini bersifat static yang berarti tetap dan
kosong yang menunjukan bahwa method ini tidak menghasilkan
apa-apa pada system operasi. (String []args) adalah parameter
yang menunjukan bahwa method dapat menerima sebuah string
yang diketikan user.
3. Bus2 busBesar = new Bus2(40) baris ini adalah pembuatan
obyek busBesar ditandai dengan new dan merujuk pada class
penghubung yaitu Bus2(). Nilai parameter 40 adalah nilai yang
ditujukan pada konstruktor class Bus2, dimana parameter ini
digunakan untuk memberi nilai penumpang maksimal.
4. busBesar.cetak(); baris ini untuk digunakan memanggil method
pada class objek
5. busBesar.addPenumpang(15); baris ini untuk digunakan
memanggil method addPenumpang dengan memberi nilai 15,
dimana nilai tambahan penumpang adalah 15.
6. busBesar.cetak(); baris ini untuk digunakan memanggil method
pada class objek yang akan menampilkan nilai penumpang yang
sekarang dan maksimal penumpang
7. busBesar.addPenumpang(5); baris ini untuk digunakan
memanggil method addPenumpang dengan memberi nilai 5,
dimana nilai tambahan penumpang sebelumnya adalah 15
ditambah dengan tambahan penumpang 5 jadi jumlah penumpang
adalah 20.
8. busBesar.cetak(); baris ini untuk digunakan memanggil method
pada class objek yang akan menampilkan nilai penumpang yang
sekarang dan maksimal penumpang
9. busBesar.addPenumpang(26); baris ini untuk digunakan
memanggil method addPenumpang dengan memberi nilai 26,
dimana nilai tambahan penumpang sebelumnya adalah 20
ditambah dengan tambahan penumpang 26 jadi jumlah
penumpang adalah 46. Karena jumlah penumpang lebih besar
dari jumlah maksimal jadi penambahan akan gagal dilakukan.
10. busBesar.cetak(); baris ini untuk digunakan memanggil method
pada class objek yang akan menampilkan nilai penumpang yang
sekarang dan maksimal penumpang
Output Program :

Penjelasan Program :
Program ini dibuat untuk mengetahui jumlah penumpang bus dan
jumlah penumpang maksimum pada bus. Pada program ini terdapat
kondisi untuk mengecek jumlah penumpang tidak melebihi batas
maksimum. Jika jumlah penumpang melebihi batas maksimum maka
penambahan penumpang tidak akan dilakukan.

Latihan Praktikum 3
Pemrograman JAVA

Nama Program : Enkapsulasi Bus 3


Bahasa Pemrograman : JAVA
Compiler : IDE NetBeans 8.0.2
UML :

Script Program :
 Class Pendukung
/*
* To change this license header, choose License Headers in
Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package bus3;

/**
*
* @author manda
*/

//mengimport class scanner yang ada di java


import java.util.Scanner;

public class Bus3


{
private int penumpang;
private int maxPenumpang;
private int penumpangBaru;

Scanner inputkey = new Scanner(System.in); //objek

//konstruktor
public Bus3(int maxPenumpang)
{
this.maxPenumpang = maxPenumpang;
penumpang = 5;
}

public void addPenumpang(int penumpang)


{
int temp;
temp = this.penumpang + penumpang;
if(temp > maxPenumpang)
{
System.out.println("Penumpang melebihi kuota");
}
else
{
this.penumpang = temp;
}
}

public void getPenumpang(int pw)


{
int pass=1234;
if(pass == pw)
{
System.out.print("Tambahan Penumpang : ");
penumpangBaru = inputkey.nextInt();
addPenumpang(penumpangBaru);
this.cetak();
}
else
{
System.out.println("Salah Password");
this.cetak();
}
}

public void cetak()


{
System.out.println("Penumpang bus sekarang : "+penumpang);
System.out.println("Penumpang maks seharusnya :
"+maxPenumpang);
}
}

 Class Utama
/*
* To change this license header, choose License Headers in
Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package bus3;

/**
*
* @author manda
*/
//menginport class scanner yang ada di java
import java.util.Scanner;

public class UjiBus3


{
public static void main(String[] args)
{
Bus3 busBesar = new Bus3(15);
Scanner inputkey = new Scanner(System.in); //objek

busBesar.cetak();

System.out.print(" Masukan Password: ");


int password = inputkey.nextInt();

busBesar.getPenumpang(password);
}
}

Keterangan Script :

Class Penghubung :
1. import java.util.Scanner digunakan untuk mengimport class
Scanner yang digunakan untuk menangani inputan.
2. public class Bus3 adalah class penghubung karena didalamnya
tdak terdapat fungsi main() dan class ini terdiri dari method-
method yang dapat diakses oleh class utama, class harus
mempunyai nama yang sama dengan file penyimpannya. public
adalah akses modifier yang menunjukan class dapat diakses oleh
publik.
3. private int penumpang; private int maxPenumpang; dan
private int penumpangBaru; adalah variabel global yang
mempunyai tipe data integer dan mempunyai access modifier
private yang artinya memberikan pembatasan hak akses kepada
property yaitu hanya kepada class itu sendiri.
4. Scanner inputkey = new Scanner(System.in); adalah
objek dari class Scanner.
5. Public Bus3(int maxPenumpang)baris ini adalah method
konstruktor yaitu method yang memberikan nilai awal pada
objek. Method ini mempunyai parameter yang akan memberikan
nilai pada variabel global dengan nilai pada parameter dan
inisialisasi variabel penumpang dengan nilai 5.
6. public void addPenumpang(int penumpang) baris ini adalah
method yang bernama addPenumpang yang mempunyai
parameter penumpang bertipe data integer. Di dalam method ini
terdapat variabel global yaitu temp yang akan menampung nilai
jumlah penumpang tambahan. Terdapat sebuah kondisi yaitu jika
jumlah penumpang seluruhnya (penumpang awal ditambah
tambahan penumpang) lebih dari batas maksimum penumpang,
maka terdapat pesan bahwa penumpang melebihi kuota. Jika
tidak maka nilai penumpang adalah nilai variabel temp.
7. public void getPenumpang(int pw)baris ini adalah method
yang bernama getPenumpang yang mempunyai parameter pw
bertipe data integer. Di dalam method ini terdapat variabel global
yaitu pass yang bertipe data integer dan mempunyai nilai 1234.
Terdapat sebuah kondisi untuk membandingkan nilai dari
parameter dengan nilai variabel global pass jika nilainya sama
maka dapat menginputkan jumlah penumpang baru yang akan
ditampung pada variabel penumpangBaru lalu memanggil method
addPenumpang dengan mengisikan parameter dengan
penumpangBaru. Jika nilai dari parameter dengan nilai variabel
global pass jika nilainya tidak sama maka tidak akan dapat untuk
menambah penumpang.
8. public void cetak()baris ini adalah method yang bernama
cetak yang tidak mempunyai parameter. Method ini digunakan
untuk mencetak kedua variabel global pada method yaitu
System.out.println("Penumpang Bus sekarang adalah "+

penumpang) dan System.out.println("Penumpang maksimum


seharusnya adalah "+ maxPenumpang);
Class Utama :
1. import java.util.Scanner digunakan untuk mengimport class
Scanner yang digunakan untuk menangani inputan.
2. public class UjiBus3 adalah class utama karena fungsi main()
terdapat pada class ini, class harus mempunyai nama yang sama
dengan file penyimpannya. public adalah akses modifier yang
menunjukan class dapat diakses oleh publik.
3. public static void main(String []args) adalah method
(fungsi) utama yang akan dijalankan ketika program di eksekusi.
Method adalah unit program yang menjalankan aksi tertentu .
static void method ini bersifat static yang berarti tetap dan
kosong yang menunjukan bahwa method ini tidak menghasilkan
apa-apa pada system operasi. (String []args) adalah parameter
yang menunjukan bahwa method dapat menerima sebuah string
yang diketikan user.
4. Bus3 busBesar = new Bus3(15) baris ini adalah pembuatan
obyek busBesar ditandai dengan new dan merujuk pada class
penghubung yaitu Bus3(). Nilai parameter 15 adalah nilai yang
ditujukan pada konstruktor class Bus3, dimana parameter ini
digunakan untuk memberi nilai penumpang maksimal.
5. Scanner inputkey = new Scanner(System.in); adalah
objek dari class Scanner.
6. busBesar.cetak(); baris ini untuk digunakan memanggil method
pada class objek
7. System.out.print(" Masukan Password: "); dan int password
= inputkey.nextInt(); baris ini digunakan untuk menginputkan
password.
8. busBesar.getPenumpang(password); baris ini untuk digunakan
memanggil method getPenumpang dengan dan mengisi parameter
dengan parameter password

Output Program :

Penjelasan Program :
Program ini dibuat untuk mengetahui jumlah penumpang bus dan
jumlah penumpang maksimum pada bus. Sebelum menambahkan jumlah
penumpang, kita harus menginputkan password terlebh dahulu. Jika
password yang diinputkan benar maka dapat menambahkan penumpang,
apabila salah tidak akan dapat menambahkan penumpang, dan jumlah
penumpang sama dengan jumlah penumpang sebelum ditambahkan.
IV. TUGAS PRAKTIKUM
Tugas Praktikum 1
Pemrograman JAVA

Nama Program : Enkapsulasi Bus 4


Bahasa Pemrograman : JAVA
Compiler : IDE NetBeans 8.0.2
UML :

Script Program :
 Class Pendukung
package tugasprak1;
import java.util.Scanner;
public class Bus4
{
private double penumpang;
private double maxPenumpang;
private double counter;
private double penumpangBaru;
Scanner input = new Scanner(System.in);

//konstruktor kelas Bus4


public Bus4(int maxPenumpang)
{
this.maxPenumpang = maxPenumpang;
penumpang = 0;
}

//menambahkan penumpang
public void addPenumpang(double penumpang)
{
double temp;
temp=this.penumpang+penumpang;
if(temp>maxPenumpang){
System.out.println("Penumpang melebihi kuota");
}
else
{
this.penumpang=temp;
}
}

public void getPenumpang(int pass){


int password= 1234;
if(password == pass){
System.out.print("Tambahan Penumpang : ");
penumpangBaru = input.nextInt();
addPenumpang(penumpangBaru);
this.cetak();
}
else{
System.out.println("Password Salah");
this.cetak();
}
}

public void getAverage()


{
counter = maxPenumpang/penumpang;
System.out.println("Jumlah rata-rata penumpang : "+counter);
}
public void cetak(){
System.out.println("Penumpang bus sekarang adalah
"+penumpang);
System.out.println("Penumpang maksimum seharusnya adalah
"+maxPenumpang);
}
}

 Class Utama
package tugasprak1;
import java.util.Scanner;
public class UjiBus4
{
public static void main (String[] args)
{
//membuat objek busBesar dari kelas Bus
Bus4 busBesar = new Bus4(20);
Scanner input = new Scanner(System.in);

busBesar.cetak();
System.out.print("Masukan Password: ");
int password = input.nextInt();

busBesar.getPenumpang(password);
busBesar.getAverage();
}
}
Keterangan Script :

Class Penghubung :
1. import java.util.Scanner digunakan untuk mengimport class
Scanner yang digunakan untuk menangani inputan.
2. public class Bus4 adalah class penghubung karena didalamnya
tdak terdapat fungsi main() dan class ini terdiri dari method-
method yang dapat diakses oleh class utama, class harus
mempunyai nama yang sama dengan file penyimpannya. public
adalah akses modifier yang menunjukan class dapat diakses oleh
publik.
3. private double penumpang; private double
maxPenumpang;, private double counter;, dan private

double penumpangBaru; adalah variabel global yang


mempunyai tipe data double dan mempunyai access modifier
private yang artinya memberikan pembatasan hak akses kepada
property yaitu hanya kepada class itu sendiri.
4. Scanner input = new Scanner(System.in); adalah objek
dari class Scanner.
5. Public Bus4(int maxPenumpang)baris ini adalah method
konstruktor yaitu method yang memberikan nilai awal pada
objek. Method ini mempunyai parameter yang akan memberikan
nilai pada variabel global dengan nilai pada parameter dan
inisialisasi variabel penumpang dengan nilai 0.
6. public void addPenumpang(double penumpang) baris ini
adalah method yang bernama addPenumpang yang mempunyai
parameter penumpang bertipe data double. Di dalam method ini
terdapat variabel global yaitu temp yang akan menampung nilai
jumlah penumpang tambahan. Terdapat sebuah kondisi yaitu jika
jumlah penumpang seluruhnya (penumpang awal ditambah
tambahan penumpang) lebih dari batas maksimum penumpang,
maka terdapat pesan bahwa penumpang melebihi kuota. Jika
tidak maka nilai penumpang adalah nilai variabel temp.
7. public void getPenumpang(int pw)baris ini adalah method
yang bernama getPenumpang yang mempunyai parameter pw
bertipe data integer. Di dalam method ini terdapat variabel global
yaitu pass yang bertipe data integer dan mempunyai nilai 1234.
Terdapat sebuah kondisi untuk membandingkan nilai dari
parameter dengan nilai variabel global pass jika nilainya sama
maka dapat menginputkan jumlah penumpang baru yang akan
ditampung pada variabel penumpangBaru lalu memanggil method
addPenumpang dengan mengisikan parameter dengan
penumpangBaru. Jika nilai dari parameter dengan nilai variabel
global pass jika nilainya tidak sama maka tidak akan dapat untuk
menambah penumpang.
8. public void getAverage() baris ini adalah method yang
bernama cetak yang tidak mempunyai parameter. Method ini
digunakan untuk menghitung rata-rata dari
maxPenumpang/penumpang yang akan disimpan pada parameter
counter
9. public void cetak()baris ini adalah method yang bernama
cetak yang tidak mempunyai parameter. Method ini digunakan
untuk mencetak kedua variabel global pada method yaitu
System.out.println("Penumpang Bus sekarang adalah "+

penumpang) dan System.out.println("Penumpang maksimum


seharusnya adalah "+ maxPenumpang);
Class Utama :
1. import java.util.Scanner digunakan untuk mengimport class
Scanner yang digunakan untuk menangani inputan.
2. public class UjiBus4 adalah class utama karena fungsi main()
terdapat pada class ini, class harus mempunyai nama yang sama
dengan file penyimpannya. public adalah akses modifier yang
menunjukan class dapat diakses oleh publik.
3. public static void main(String []args) adalah method
(fungsi) utama yang akan dijalankan ketika program di eksekusi.
Method adalah unit program yang menjalankan aksi tertentu .
static void method ini bersifat static yang berarti tetap dan
kosong yang menunjukan bahwa method ini tidak menghasilkan
apa-apa pada system operasi. (String []args) adalah parameter
yang menunjukan bahwa method dapat menerima sebuah string
yang diketikan user.
4. Bus4 busBesar = new Bus4(20) baris ini adalah pembuatan
obyek busBesar ditandai dengan new dan merujuk pada class
penghubung yaitu Bus4(). Nilai parameter 20 adalah nilai yang
ditujukan pada konstruktor class Bus4, dimana parameter ini
digunakan untuk memberi nilai penumpang maksimal.
5. Scanner input = new Scanner(System.in); adalah objek
dari class Scanner.
6. busBesar.cetak(); baris ini untuk digunakan memanggil method
pada class objek
7. System.out.print(" Masukan Password: "); dan int password
= input.nextInt(); baris ini digunakan untuk menginputkan
password.
8. busBesar.getPenumpang(password); baris ini untuk digunakan
memanggil method getPenumpang dengan dan mengisi parameter
dengan parameter password
9. busBesar.getAverage(); baris ini untuk digunakan memanggil
method getAverage untuk menghitung dan menampilkan rata-rata
penumpang

Output Program :

Penjelasan Program :
Program ini dibuat untuk mengetahui jumlah penumpang bus dan
jumlah penumpang maksimum serta rata-rata penambahan pennumpang
pada bus. Sebelum menambahkan jumlah penumpang, kita harus
menginputkan password terlebh dahulu. Jika password yang diinputkan
benar maka dapat menambahkan penumpang, apabila salah tidak akan
dapat menambahkan penumpang, dan jumlah penumpang sama dengan
jumlah penumpang sebelum ditambahkan. Setelah itu ditampilkan rata-rata
dari penumpang bus

Tugas Praktikum 2
Pemrograman JAVA

Nama Program : Tabung


Bahasa Pemrograman : JAVA
Compiler : IDE NetBeans 8.0.2
UML :

Tabung
- jari : int
- tinggi : int
- phi : double
+ Tabung(int jari, int tinggi )
+ setJari(int jari)
+ setTinggi(int tinggi)
+ showDiameter()
+ showLP()
+ showVolume()

Script Program :
Class Penghubung
/*
* To change this license header, choose License Headers in Project
Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package testtr2;
/**
*
* @author manda
*/
public class Tabung {
private int jari;
private double phi=3.14;

public Tabung(int jari)


{
this.jari = jari;
}

public void setJari(int jari)


{
this.jari = jari;
}

public int showDiameter()


{
return jari*2;
}

public double showLP()


{
return 4*jari*jari*phi;
}

public double showVolume()


{
return 4/3* jari*jari*jari*phi;
}
}
Class Utama
/*
* To change this license header, choose License Headers in
Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package testtr2;

import java.util.Scanner;

/**
*
* @author manda
*/
public class TestTR2 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

Scanner inputkey = new Scanner(System.in);


System.out.print("Jari : ");
int j = inputkey.nextInt();

Tabung tkecil = new Tabung(j);


System.out.println("Bola Kecil ");
System.out.println("Diameter : " + tkecil.showDiameter());
System.out.println("LP : " + tkecil.showLP());
System.out.println("Volume : " + tkecil.showVolume());

System.out.println("Bola Besar 2x Bola Kecil : ");


tkecil.setJari(2*j);
System.out.println("Diameter : " + tkecil.showDiameter());
System.out.println("LP : " + tkecil.showLP());
System.out.println("Volume : " + tkecil.showVolume());
}
}

Keterangan Script :
Class Penghubung :
1. public class Tabung() adalah class penghubung karena
didalamnya tdak terdapat fungsi main() dan class ini terdiri dari
method-method yang dapat diakses oleh class utama, class harus
mempunyai nama yang sama dengan file penyimpannya. public
adalah akses modifier yang menunjukan class dapat diakses oleh
publik.
2. private int jari; private int tinggi; private double

phi=3.14; adalah variabel global yang mempunyai tipe data


integer pada variabel jari dan double pada variabel phi yang
mempunyai nilai 3.14 dan keduanya mempunyai access modifier
private yang artinya memberikan pembatasan hak akses kepada
property yaitu hanya kepada class itu sendiri.
3. public Tabung(int jari, int tinggi) baris ini adalah
method konstruktor yaitu method yang memberikan nilai awal
pada objek. Method ini mempunyai parameter yang akan
memberikan nilai pada variabel global dengan nilai pada
parameter.
4. public void setJari(int jari) baris ini adalah method
yang bernama setJari yang mempunyai parameter jari yang
bertipe data integer. Method ini adalah method mutator yang
digunakan untuk memberi atau mengubah nilai pada variabel jari.
5. public int showDiameter()baris ini merupakan method
acessor yang bernama showDiameter yang digunakan untuk
memanggil nilai hasil dari 2*jari. Pemanggilan menggunakan
keyword return dikarenakan access modifiernya adalah private.
6. public double showLP() baris ini merupakan method acessor
yang bernama showLP yang digunakan untuk memanggil nilai
dari hasil ( 2 * jari * jari * phi ) + ( tinggi * phi *
this.showDiameter()). Pemanggilan menggunakan keyword
return dikarenakan access modifiernya adalah private.
7. public double showVolume() baris ini merupakan method
acessor yang bernama showVolume yang digunakan untuk
memanggil nilai dari hasil tinggi*jari*jari*phi;. Pemanggilan
menggunakan keyword return dikarenakan access modifiernya
adalah private.
Class Utama :
1. import java.util.Scanner digunakan untuk mengimport class
Scanner yang digunakan untuk menangani inputan.
2. public class TestTR2 adalah class utama karena fungsi main()
terdapat pada class ini, class harus mempunyai nama yang sama
dengan file penyimpannya. public adalah akses modifier yang
menunjukan class dapat diakses oleh publik.
3. public static void main(String []args) adalah method
(fungsi) utama yang akan dijalankan ketika program di eksekusi.
Method adalah unit program yang menjalankan aksi tertentu .
static void method ini bersifat static yang berarti tetap dan
kosong yang menunjukan bahwa method ini tidak menghasilkan
apa-apa pada system operasi. (String []args) adalah parameter
yang menunjukan bahwa method dapat menerima sebuah string
yang diketikan user.
4. Scanner inputkey = new Scanner(System.in); adalah
objek dari class Scanner.
5. int j = inputkey.nextInt(); baris ini digunakan untuk
menginputkan nilai untuk jari-jari.
6. int t = inputkey.nextInt(); baris ini digunakan untuk
menginputkan nilai untuk tinggi
7. Tabung tkecil = new Tabung(j); baris ini adalah pembuatan
obyek tkecil ditandai dengan new dan merujuk pada class
penghubung yaitu Tabung(). Nilai parameter j adalah nilai yang
ditujukan pada konstruktor class Tabung, dimana parameter ini
digunakan untuk memberi nilai jari-jari pada class Tabung.
8. busBesar.cetak(); baris ini untuk digunakan memanggil method
pada class objek
9. System.out.println("Diameter : " +

tkecil.showDiameter()); baris ini digunakan untuk memanggil


method showDiameter() pada class objek.
10. System.out.println("LP : " + tkecil.showLP()); baris ini
digunakan untuk memanggil method showLP() pada class objek.
11. System.out.println("Volume : " + tkecil.showVolume());
baris ini digunakan untuk memanggil method showVolume()
pada class objek.
12. tkecil.setJari(2*j); baris ini digunakan untuk memanggil
method mutator dengan memberi nilai 2 kali dari jari-jari awal

Output Program :

Penjelasan Program :
Program ini dibuat untuk menghitung Volume dan Luas Permukaan
dari Tabung. Pertama menginputkan jari-jari yang akan dihitung Volume
dan Luas Permukaannya, kemudian dilakukan perhitungan dengan tabung
yang lebih besar yaitu dengan ukuran jari-jari yang lebih besar 2x dari
sebelumnya. Kemudian dihitung Volume dan Luas Permukaannya.
V. TUGAS RUMAH
Tugas Rumah 1
Pemrograman JAVA

Nama Program : SPBU


Bahasa Pemrograman : JAVA
Compiler : IDE NetBeans 8.0.2
UML :
SkinCare
+ merk : String
- harga : double
- k : double
+ SkinCare()
+ jenis(String j)
+ public void getHarga()
+ public void transaksi(double b)

Script Program :
Class Penghubung
/*
* To change this license header, choose License Headers in
Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package tr2;

import javax.swing.JOptionPane;

/**
*
* @author manda
*/
public class SkinCare
{
public String paket;
private double harga;
private double k;

public void SkinCare ()


{
harga = 0;
k = 0;
}

public void jenis(String j)


{
switch(j)
{
case "1":
paket ="Facial";
harga =75000;
break;
case "2":
paket ="Peeling";
harga =150000;
break;
case "3":
paket ="Manicure";
harga =30000;
break;
case "4":
paket ="Pedicure";
harga =40000;
break;
}
}

public double getHarga()


{
return harga;
}

public void transaksi(double b)


{
k=b-harga;
JOptionPane.showMessageDialog(null,"Nota Pembelian : "
+"\nPaket : " + paket+
"\nHarga : Rp." + harga +
"\nBayar : Rp." + b +
"\nKembali: Rp." + k );
}
}
Class Utama
/*
* To change this license header, choose License Headers in
Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package tr2;

import javax.swing.JOptionPane;

/**
*
* @author manda
*/
public class TR2 {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
SkinCare obj= new SkinCare();
String j = JOptionPane.showInputDialog("Pilihan Paket:"
+ "1. Facial\n"
+ "2. Peeling\n"
+ "3. Manicure\n"
+ "4. Pedicure\n");

obj.jenis(j);
JOptionPane.showMessageDialog(null,"Total Harga : Rp."
+obj.getHarga());
String bayar = JOptionPane.showInputDialog("Bayar : ");
double b= Double.valueOf(bayar).doubleValue();
obj.transaksi(b);
}
}

Keterangan Script :
Class Penghubung
1. import javax.swing.JOptionPane; mengimport kelas
JOptionPane untuk inputan berbasis GUI yang telah disediakan oleh
JAVA
2. public class SkinCare adalah class penghubung karena
didalamnya tdak terdapat fungsi main() dan class ini terdiri dari
method-method yang dapat diakses oleh class utama, class harus
mempunyai nama yang sama dengan file penyimpannya. public
adalah akses modifier yang menunjukan class dapat diakses oleh
publik.
3. public String paket; private double harga; private
double k; adalah variabel global yang mempunyai access modifier
public pada variabel paket yang dapat diakses oleh class manapun
dan mempunyai access modifier private pada variabel lainnya yang
artinya memberikan pembatasan hak akses kepada property yaitu
hanya kepada class itu sendiri.
4. public void SkinCare() baris ini adalah method konstruktor
yaitu method yang memberikan nilai awal pada objek. Method ini
mempunyai memberi nilai 0 pada variabel harga dan k
5. public void jenis(String j) baris ini adalah method yang
digunakan untuk memilih jenis paket. Jenis paket ini lah yang akan
menentukan harga.
6. public double getHarga() baris ini adalah method yang
digunakan untuk memanggil atau mengembalikan nilai harga
dengan keyword return. Method ini merupakan method accessor
7. public void transaksi(double b) baris ini adalah method yang
digunakan untuk mendapatkan hasil kembalian dan menampilkan
nota transaksi yang telah dilakukan
Class Utama
1. import javax.swing.JOptionPane; mengimport kelas
JOptionPane untuk inputan berbasis GUI yang telah disediakan oleh
JAVA
2. public class TR2 adalah class utama karena fungsi main() terdapat
pada class ini, class harus mempunyai nama yang sama dengan file
penyimpannya. public adalah akses modifier yang menunjukan
class dapat diakses oleh publik.
3. public static void main(String []args) adalah method (fungsi)
utama yang akan dijalankan ketika program di eksekusi. Method
adalah unit program yang menjalankan aksi tertentu . static void
method ini bersifat static yang berarti tetap dan kosong yang
menunjukan bahwa method ini tidak menghasilkan apa-apa pada
system operasi. (String []args) adalah parameter yang
menunjukan bahwa method dapat menerima sebuah string yang
diketikan user.
4. SkinCare obj= new SkinCare(); adalah objek dari class
SkinCare.
5. String j; baris ini adalah variabel untuk menampung nilai inputan
yang akan digunakan untuk memilih paket.
6. obj.jenis(j); baris ini digunakan untuk memanggil method jenis
pada class objek dan parameter j yang akan digunakan untuk
mencocokan nilai pada isi yang terdapat dalam method tersebut.
7. JOptionPane.showMessageDialog(null,"Total Harga : Rp."

+obj.getHarga()); baris ini digunakan untuk menampilkan harga


berbasis GUI dengan memanggil method obj.getHarga() pada class
objek
8. String bayar; baris ini adalah variabel untuk menampung nilai
inputan yang akan digunakan untuk menghitung kembalian.
9. double b= Double.valueOf(bayar).doubleValue(); baris ini
digunakan untuk mengkonversi tipe data dari bayar berupa string ke
double
10. obj.transaksi(b); baris ini digunakan untuk memanggil method

Output Program :
Penjelasan Program :
Program ini dibuat untuk mempermudah transaksi pembayaran dalam
bidang perawatan. Dalam program ini terdapat pilihan paket, dimana setiap
paket berbeda harganya. Setelah memilih paket, program akan menampilkan
harga paket lalu petugas akan menginputkan pembayaran dari pelanggan dan
program secara otomatis akan menampilkan rincian nota transaksi

Tugas Rumah 2
Pemrograman JAVA

Nama Program : SPBU


Bahasa Pemrograman : JAVA
Compiler : IDE NetBeans 8.0.2
UML :
SPBU
+ merk : String
- harga : double
- byr : double
- k : double

+ SPBU()
+ jenis(String j)
+ public void th(double t)
+ public void nota(double b,double t)

Script Program :
Class Penghubung
/*
* To change this license header, choose License Headers
in Project Properties.
* To change this template file, choose Tools |
Templates
* and open the template in the editor.
*/
package tr1;
/**
*
* @author manda
*/
import javax.swing.JOptionPane;
public class SPBU
{
public String merk;
private double harga;
private double byr;
private double k;

public void SPBU()


{
byr = 0;
k = 0;
}

public void jenis(String j)


{
switch(j)
{
case "1":
merk ="Premium";
harga =7500;
break;
case "2":
merk ="Pertamax";
harga =9400;
break;
case "3":
merk ="Pertamax Plus";
harga =10350;
break;
case "4":
merk ="Solar";
harga =6400;
break;
case "5":
merk ="Pertalite";
harga =8200;
break;
}
}
public void th(double t)
{
byr=t*harga;
JOptionPane.showMessageDialog(null,"Total
Harga : " +byr);
}

public void nota(double b,double t)


{
k=b-byr;
JOptionPane.showMessageDialog(null,"Nota
Pembelian : " +"\nJenis : " + merk +
"\nHarga/Liter : " + harga +
"\nTotal beli : " + t + " liter" +
"\nTotal Harga: " + byr +
"\nBayar: " + b +
"\nKembali: " + k );
}
}

Class Utama
/*
* To change this license header, choose License Headers in
Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package tr1;

/**
*
* @author manda
*/
import javax.swing.JOptionPane;
public class TR1 {

/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
SPBU obj= new SPBU();
String j = JOptionPane.showInputDialog("Pilihan BBM :
\n" + "1. Premium\n"
+ "2. Pertamax\n"
+ "3. Pertamax Plus\n"
+ "4. Solar\n"
+ "5. Pertalite");

obj.jenis(j);
String total = JOptionPane.showInputDialog("Berapa
liter ?");
double t= Double.valueOf(total).doubleValue();
obj.th(t);

String bayar =
JOptionPane.showInputDialog("Pembayaran : ");
double b= Double.valueOf(bayar).doubleValue();
obj.nota(b,t);
}
}

Keterangan Script :
Class Penghubung
1. import javax.swing.JOptionPane; mengimport kelas
JOptionPane untuk inputan berbasis GUI yang telah disediakan oleh
JAVA
2. public class SPBU adalah class penghubung karena didalamnya
tdak terdapat fungsi main() dan class ini terdiri dari method-method
yang dapat diakses oleh class utama, class harus mempunyai nama
yang sama dengan file penyimpannya. public adalah akses modifier
yang menunjukan class dapat diakses oleh publik.
3. public String merk; private double harga; private

double byr; private double k; adalah variabel global yang


mempunyai access modifier public pada variabel merk yang dapat
diakses oleh class manapun dan mempunyai access modifier private
pada variabel lainnya yang artinya memberikan pembatasan hak
akses kepada property yaitu hanya kepada class itu sendiri.
4. public void SPBU() baris ini adalah method konstruktor yaitu
method yang memberikan nilai awal pada objek. Method ini
mempunyai memberi nilai 0 pada variabel byr dan k
5. public void jenis(String j) baris ini adalah method yang
digunakan untuk memilih jenis merk. Jenis merk ini lah yang akan
menentukan harga.
6. public double th(double t) baris ini adalah method yang
digunakan untuk memanggil dan menetukan total pembayaran dari
parameter t dikali dengan harga yang sudah dipilih.
7. public void nota(double b, double t) baris ini adalah
method yang digunakan untuk mendapatkan hasil kembalian dan
menampilkan nota transaksi yang telah dilakukan
Class Utama
1. import javax.swing.JOptionPane; mengimport kelas
JOptionPane untuk inputan berbasis GUI yang telah disediakan oleh
JAVA
2. public class TR2 adalah class utama karena fungsi main() terdapat
pada class ini, class harus mempunyai nama yang sama dengan file
penyimpannya. public adalah akses modifier yang menunjukan
class dapat diakses oleh publik.
3. public static void main(String []args) adalah method (fungsi)
utama yang akan dijalankan ketika program di eksekusi. Method
adalah unit program yang menjalankan aksi tertentu . static void
method ini bersifat static yang berarti tetap dan kosong yang
menunjukan bahwa method ini tidak menghasilkan apa-apa pada
system operasi. (String []args) adalah parameter yang
menunjukan bahwa method dapat menerima sebuah string yang
diketikan user.
4. SPBU obj= new SPBU(); adalah objek dari class SPBU
5. String j; baris ini adalah variabel untuk menampung nilai inputan
yang akan digunakan untuk memilih merk BBM.
6. obj.jenis(j); baris ini digunakan untuk memanggil method jenis
pada class objek dan parameter j yang akan digunakan untuk
mencocokan nilai pada isi yang terdapat dalam method tersebut.
7. String total baris ini adalah variabel untuk menampung nilai
inputan yang akan digunakan untuk mengalikan harga dengan total
pembelian dalam liter BBM
8. String bayar; baris ini adalah variabel untuk menampung nilai
inputan yang akan digunakan untuk menghitung kembalian.
9. double t= Double.valueOf(total).doubleValue(); dan double b=
Double.valueOf(bayar).doubleValue(); baris ini digunakan untuk
mengkonversi tipe data dari bayar berupa string ke double
10. obj. nota(b,t) baris ini digunakan untuk memanggil method

Output Program :
Penjelasan Program :
Program ini dibuat untuk membuat nota transaksi dari PERTAMINA.
Dalam program ini terdapat pilihan bahan bakar, dimana setiap bahan bakar
berbeda harganya. Setalah memilih jenis bahan bakar, program akan
menanyakan berapa liter bahan bakar yang akan dibeli. Lalu program akan
menampilkan total harga yang akan dibayar oleh pembeli dari total bahan
bakar yang dibeli dikalikan dengan harga satuan per liter. Setelah itu
dilakukan penginputkan dari uang yang dibayarkan pembeli untuk
menentukan kembalian user, kemudian program akan menampilkan nota
transaksi.
VI. KESIMPULAN
Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail
dari suatu class. Degan adanya enkapsulasi ini dapat mengamankan data yang
kita miliki dengan menentukan pembatasan akses data. Terdapat 3 hak akses
yaitu :
o Private memberikan hak akses hanya kepada anggota class tersebut untuk
menggunakan atau mengubah nilai dari property atau method tersebut.
o Protected memberikan hak akses kepada anggota class nya dan anggota
class hasil inheritance (penurunansifat) dari class tersebut.
o Public memberikan hak akses kepada property dan method agar
dapat digunakan diluar class tersebut.
Dasar dari enkapsulasi adalah information hiding yaitu penyembunyian
informasi dari suatu class menggunakan akses control dan interface to access
dat yaitu membuat suatu interface berupa method untuk menginisialisasi atau
merubah nilai dari suatu atribut tersebut. Method yang digunakan adalah
method accessor dan method mutator. Methods Accessor digunakan untuk
membaca nilai variabel pada class, baik berupa instance maupun static.
Methods Mutator di gunakan untuk mengubah atau memberi nilai variable
pada class, baik berupa instance maupun static.
VII. DAFTAR RUJUKAN
1. Tim Asisten Dosen. 2015. Modul 4 Enkapsulasi. Malang : Unversitas
Negeri Malang.
2. Kadir, Abdul. 2010. Mudah Menjadi Programmer Java.Yogyakarta : Andi
Offset
3. Sanchez, Julio & Maria P. Canton. 2010. Java 2 Weekend Crash
Course.Jakarta : PT. Elex Media Komputindo
4. http://fahrun-it.blogspot.co.id/2013/05/pengertian-netbeans.html, diakses
14 oktober 2015

Anda mungkin juga menyukai