Oleh:
Ahmad Ramadhani 170533628573
busMini.penumpang = busMini.penumpang + 7;
busMini.cetak(); //mencetak jumlah penumpang
setelah ditambah 7
busMini.penumpang = busMini.penumpang - 3;
System.out.println("\n\tJumlah Penumpang Setelah
Dikurang 3 ");
busMini.cetak(); //mencetak jumlah penumpang
setelah dikurangi 3
busMini.penumpang = busMini.penumpang + 9;
System.out.println("\n\tJumlah Penumpang Setelah
Ditambah 9");
busMini.cetak(); //mencetak jumlah penumpang
setelah ditambah 9
}
}
Hasil Program :
Penjelasan
:
Program diatas menjelaskan pembuatan program tanpa menggunakan
enscapsulation. Pada program diatas hanya dideklarasikan 1 method saja
untuk mencetak jumlah penumpang bus mini sekarang dan penumpang
maksimal. Pada method utama terdapat pembuatan objek busMini dari class
Bus1. Untuk melakukan penambahan dan pengurangan jumlah penumpang,
harus mendeklaraikan objek busMini.penumpang = busMini.penumpang
(+/- angka yang diinginkan). Sehingga data yang ditambahkan atau
dikurangkan akan diproses oleh perintah busMini.cetak();. Perintah
busMini.cetak() secara langsung mengakses method cetak pada class Bus1
untuk menampilkan output penambahan atau pengurangan jumlah
penumpang bus mini dan jumlah maksimal penumpang.
2. Nama Program : Program dengan penerapan encapsulation
Source Code :
class Bus2
{
//inialisasi variabel dengan modifier private
private int penumpang=0;
private int maxPenumpang=40; //menghitung jumlah
penumpang
System.out.println("\n\tJumlah Penumpang
Setelah ditambah 20");
busBesar.addPenumpang(20);
busBesar.cetak();
System.out.println("\n\tJumlah Penumpang
Setelah dikurang 3");
busBesar.addPenumpang(-3);
busBesar.cetak();
System.out.println("\n\tJumlah Penumpang
Setelah ditambah 17");
busBesar.addPenumpang(17);
busBesar.cetak();
System.out.println("\n\tJumlah Penumpang
Setelah ditambah 9");
busBesar.addPenumpang(9);
}
}
Hasil Program :
Penjelasan :
Program diatas menjelaskan tentang pembuatan program
menggunakan enscapsulation. Pada class Bus2 terdapat pendeklarasian
atribut penumpang dan maxPenumpang yang bertipe data integer dan
memiliki hak akses private yang mana kedua atribut tersebut hanya dapat
diakses di class Bus2 saja. Pada proses enscapsulation, harus membuat 2
method setiap 1 atribut. Pada program diatas , atribut penumpang diakses
pada 2 method yaitu method addPenumpang yang berfungsi untuk
perhitungan jumlah penumpang dan method cetak untuk menampilkan hasil
dari perhitungan jumlah penumpang. Sehingga pada method utama terdapat
2 perintah yaitu busBesar.addPenumpang() dan busBesar.cetak(). Agar
kedua perintah tersebut dapat diakses, maka harus mendeklarasikan objek
Bus2 busBesar=new Bus2(); terlebih dahulu. Perintah
busBesar.addPenumpang() digunakan untuk input jumlah penumpang.
Sehingga inputan tersebut langsung diproses oleh method addPenumpang.
Dan hasil proses di method addPenumpang akan ditampilkan melalui
perintah busBesar.cetak().
3. Nama Program : Menghitung Gaji Pegawai
Source Code :
class GajiPegawai
{
//deklarasi variabel dengan modifier private
private double gajiKotor, pajak, gajiBersih;
private double potongan=75000;
private String nama = "Surya";
System.out.println("\n*******************************
*********\n");
System.out.print(" Nama :
"+gaji.namaPegawai());
gaji.setGaji(3000000.0);
System.out.print("\n Gaji Kotor :
"+gaji.getGajiKotor());
gaji.hitungPajak();
System.out.print("\n Pajak :
"+gaji.getPajak());
System.out.print("\n Potongan :
"+gaji.getPotongan());
gaji.hitungGaji();
System.out.println("\n Gaji Bersih :
"+gaji.getGajiBersih());
}
}
Hasil Program :
Penjelasan :
b. Program diatas menjelaskan tentang menghitung gaji pegawai. Pada class
GajiPegawai terdapat pendeklarasian atribut gajiKotor, pajak, gajiBersih,
potongan yang bertipe data double dan atribut nama yang bertipe data string
yang dideklarasikan dengan modifier private. Untuk menampilkan gaji
kotor. Pajak, dan gaji bersih melalui method utama, masing-masing
atribut(gajiKotor, pajak, gajiBersih) harus memiliki 2 method yang mana
method pertama digunakan untuk menghitung nilai dan method yang kedua
digunakan untuk mencari atau menampilkan nilai yang telah dihitung.
Contohnya pada program diatas atribut gajiKotor memiliki 2 method yaitu
setGaji() dan getGajiKotor(). Method setGaji() digunakan untuk mengatur
nilai gaji kotor dan method getGajiKotor() digunakan untuk menampilkan
nilai perhitungan dari gajiKotor. Sehingga pada method utama terdapat
perintah gaji.setGaji(3000000.0); yang berarti mengatur gaji kotor sejumlah
3000000. Untuk dapat menggunakan perintah gaji.setGaji(3000000.0)
terlebih dahulu harus membuat objek GajiPegawai gaji = new
GajiPegawai();. Untuk menampilkan jumlah gaji kotor yang didapat
menggunakan perintah gaji.getGajiKotor(). Apabila pengaturan gaji kotor
telah selesai, maka otomatis program akan menampilkan nilai dari pajak dan
gaji bersih.
c. Mutator method : method setGaji(double gaji), hitungPajak(), dan
hitungGaji().
Accessor method : method namaPegawai(), getGajiKotor(), getPajak(),
getPotongan(), getGajiersih().
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Hasil Program :
Penjelasan :
Program diatas menjelaskan tentang pembuatan button. Pada
pembuatan button harus mengimport javax.swing.Jframe dan
javax.swing.JButton;. Class Jbutton pada package javax.swing
digunakan untuk membuat komponn berupa tombol berisi teks maupun
ikon. Untuk membuat frame pada program tersebut terlebih dahulu harus
mendeklarasikan objek Jframe frame = new Jframe(); dan objek JButton
button = new Jbutton(“TOMBOL”); yang berfungsi untuk membuat objek
button. Untuk menambahkan button pada frame menggunkaan perintah
frmae.add(button); dan pengaturan posisi tampilan dan ukuran button
menggunakan perintah frame.setBounds();
5. Nama Program : Mengatur icon dan event pada button
Source Code :
import java.awt.event.*;
import javax.swing.*;
frame.setLayout(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnEvent.addActionListener(this);
//mendeteksi event pada button
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btnEvent) //jika tombol
ditekan
{
//aksi yang terjadi jika tombol ditekan
JOptionPane.showMessageDialog(null, "Teks
dalam tombol : \n"+e.getActionCommand());
}
}
public static void main(String[] args) {
TryButton frame = new TryButton();
}
}
Hasil Program :
Penjelasan :
Program diatas menjelaskan tentang pembuatan button dan apabila
user mengklik button tersebut akan keluar sebuah informasi. Program diatas
terdapat pendeklarasian class TryButton yang dimplementasikan pada class
ActionListener. Untuk membuat button dengan logo um, terlebih dahulu
harus membuat framenya dengan mendeklarasikan objek JFrame frame =
new JFrame();. Untuk menambahkan icon um pada button. Untuk
menugaskan objek btnEvent pada logo um menggunakan objek btnEvent =
new JButton("Logo UM", um);. Agar objek btnEvent dapat digunakan pada
frame harus menggunakan frame.add(btnEvent). Untuk mendeteksi event
pada button menggunakan perintah btnEvent.addActionListener(this);.Pada
method actionPerformed(ActionEvent e) terdapat suatu kondisi
e.getSource()==btnEvent yang berarti jika tombol tersebut ditekan akan
menampilkan message “Logo UM”. Pada method utama terdapat
pendeklarasian objek TryButton frame = new TryButton(); yang mana
digunakan untuk menjalankan program pda class TryButton.
IV. Tugas
1. Nama Program : Menerapkan konsep encapsulation
Source Code :
import java.util.Scanner;
class Buku
{
String judulBuku="Konsep Dasar Pemprograman
Java";
String pengarangBuku="Patrick Naughton";
String namaPembeli, alamatPembeli;
int banyakPembelian, bayarBuku, sisaBuku;
int stokBuku=27;
int hargaBuku=75000;
Hasil Program :
Penjelasan :
Program diatas menjelaskan tentang penerapan enscapsulation pada
bidang pertokoan. Pada program terdapat pendeklaasian atribut judulBuku,
pengaragBuku, namaPembeli, alamatPembeli yang bertipe data string dan
atribut namaPembeli, bayarBuku, sisaBuku, stokbuku, hargaBuku. Pada
enscapsulation setiap atribut harus memiliki 2 method, yang mana method
pertam digunakan untuk mengubah atau menginput data dan method yang
kedua digunakan untuk menampilkan nilai. Pada method utama untuk
penginputan data pembeli (meliputi nama pembeli, alamat pembeli, banyak
pembelian) menggunakan perintah DataBuku.getPembeli();,
DataBuku.getAlamat();, dan DataBuku.getBanyakbeli();. Hasil dari ketiga
perintah tersebut akan ditampilkan melalui laporan pembelian. Pada laporan
pembelian juga menampilkan total pembelian dengan mengakses perintah
DataBuku.getHitungBayar(). Pada laporan stok akhir terdapat stok akhir
buku yang diakses menggunakan perintah DataBuku.getHitungSisa().
public ThreeButtons()
{
JFrame frame = new JFrame();
frame.setBounds(200,200,500,300);
frame.setTitle("BUTTON AND ICON");
frame.setLayout(null);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnText.addActionListener(this);
btnIcon.addActionListener(this);
btnInteraktif.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btnText)
{
JOptionPane.showMessageDialog(null, "Anda telah
menekan : "+e.getActionCommand());
}
else if(e.getSource()==btnIcon)
{
JOptionPane.showMessageDialog(null, "Anda telah
menekan : "+e.getActionCommand());
}
else if(e.getSource()==btnInteraktif)
{
JOptionPane.showMessageDialog(null, "Anda telah
menekan : "+e.getActionCommand());
}
}
public static void main(String[] args)
{
ThreeButtons frame = new ThreeButtons();
}
}
Hasil Program :
Penjelasan :
Program diatas menjelaskan tentang pemberian icon pada button.
Pada program terdapat 3 button yaitu Button Text, Button Text Icon, dan
Button Interaktif. Untuk pendeklarasian masing-masing button
menggunakan objek btnText = new JButton("Button Text");, btnInteraktif
= new JButton("Button Interaktif", java2);, dan btnIcon = new
JButton("Button Text Icon", java1);. Untuk menambahkan ketiga button
tersebut ke dalam frame menggunakan perintah frame.add(). Untuk memberi
icon pada button menggunakan perintah ImageIcon java1 = new
ImageIcon("java1.jpg"); dan ImageIcon java2 = new
ImageIcon("java2.jpg");. Apabila ingin mengatur ukuran atau posisi dari
icon button menggunakan perintah btnicon.setBounds(). Pada method
actionPerformed(ActionEvent e) terdapat suatu kondisi
if(e.getSource()==btnText), else if(e.getSource()==btnIcon), dan else
if(e.getSource()==btnInteraktif) yang mana apabila user mengklik salah satu
dari ketiga button tersebut maka akan muncul pesan yang berbeda-beda dari
masing-masing button.
V. Kesimpulan
Berdasarkan laporan modul 3 yang saya kerjakan, dapat diambil kesimpulan
bahwa :
Encapsulation merupakan cara untuk menyembunyikan informasi detail
dari suatu class.
Pada proses enscapsulation atribut akan disembunyikan dari cass dan
package lain, dan hanya dapat diakses dan diubah value atributnya bila
menggunakan suatu method.
Proses penerapan enscapsulation terlebih dahulu mendeklarasikan
atributnya menggunakan hak akses private. Kemudian masing-masing
atribut memiliki 2 method .
Method pertama digunakan untuk mengambil value atribut(accessor
method).
Method kedua digunakan untuk mengubah atau memodifikasi value dari
atribut(mutator method).
Dalam aplikasi berbasis GUI, selalu terdapat banyak event yang
membutuhkan bantuan dari event listener dan event handler yang
terdapat pada package java.awt.event.