Anda di halaman 1dari 5

PRODI INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI


UNIVERSITAS SANATA DHARMA YOGYAKARTA
MODUL 3
PRAKTIKUM PBO I

MEMBUAT KELAS, KONSTRUKTOR, AKSESOR DAN MUTATOR

A. TUJUAN PRAKTIKUM

1. Mahasiswa mampu membuat kelas dengan atribut (data member) dan metodenya
dalam Java.
2. Mahasiswa mampu membuat program utama (main program) yang mempergunakan
1 kelas maupun lebih.
3. Mahasiswa mampu menguasai penggunaan setter, getter dan constructor
4. Mahasiswa mampu membuat program utama (main program) yang mempergunakan
setter, getter dan constructor
5. Mahasiswa mampu merancang diagram kelas dan membuat program untuk
menyelesaikan masalah konkrit dengan pendekatan berorientasi objek.

B. TEORI PRAKTIKUM

Struktur sebuah class terdiri atas dua komponen yakni atribut dan metode (method). Class
yang sudah terbentuk dapat dipakai untuk membentuk obyek yang sesuai. Sebuah class
dapat digunakan untuk membentuk satu atau lebih obyek yang berbeda tergantung pada nilai
atributnya.

Bacalah teori dari file Modul 3 PBO I Genap 1920 - Konstruktor, Enkapsulasi, Metode
Aksesor dan Mutator.

C. LANGKAH PRAKTIKUM

1. Bukalah project PBO_1.


2. Buat package baru dengan cara klik kanan diatas project PBO_1, kemudian tuliskan nama
package : Modul_2.
3. Kasus 1:
a. Untuk menyelesaikan persoalan tabungan di suatu bank di mana nasabah yang
memiliki rekening dapat mengecek saldo, menabung uang, dan mengambil uang
dari rekeningnya, dibuatlah kelas RekeningBank sebagai berikut:

public class RekeningBank


{

Page 1 of 5
private String nomorRekening;
private int saldo;

public RekeningBank(nomor)
{
nomorRekening = nomor;
saldo = 0;
}
public int cekSaldo()
{
return saldo;
}

public void tabung(int jumlah)


{
saldo = saldo + jumlah;
}

public void ambil(int jumlah)


{
saldo = saldo – jumlah;
}
}

b. Kelas BankMain berikut ini berisikan method main yang akan memanfaatkan kelas
RekeningBank di atas:

public class BankMain


{
public static void main( String args[] )
{
RekeningBank rekeningBudi;
rekeningBudi = new RekeningBank(“12345”);
System.out.println("Rekening Budi = " +
rekeningBudi.cekSaldo());
System.out.println("Menabung Rp 50.000");
rekeningBudi.tabung(50000);
System.out.println("Rekening Budi sekarang = " +
rekeningBudi.cekSaldo());
System.out.println("Mengambil Rp 20.000");
rekeningBudi.ambil(20000);
System.out.println("Rekening Budi sekarang = " +
rekeningBudi.cekSaldo());
}
}
c. Cobalah program di atas, letakkan program dalam package Modul_1, dan amati
hasilnya serta analisalah.

Page 2 of 5
d. Perhatikan apakah kelas RekeningBank dan kelas BankMain memiliki konstuktor?
Jika ada, bagaimana bentuknya? Mengapa demikian?

4. Kasus 2:
a. Buatlah kelas Segitiga di bawah ini yang di dalamnya memuat:
i. atribut koordinat ketiga titiknya
ii. method hitungSisi() yang berfungsi untuk menghitung jarak dua titik
(panjang sisi)
iii. method hitungKeliling() untuk menghitung keliling segitiga
iv. method hitungLuas() untuk menghitung luas segitiga

public class Segitiga {


public double x1,y1,x2,y2,x3,y3;

public double hitungSisi(double xa, double ya,


double xb, double yb){
return Math.sqrt( Math.pow(xa-xb, 2) +
Math.pow(ya-yb,2));
}

public double hitungKeliling(){


return hitungSisi(x1,y1,x2,y2) +
hitungSisi(x2,y2,x3,y3)+ hitungSisi(x3,y3,x1,y1);
}

public double hitungLuas(){


double s = hitungKeliling();
return Math.sqrt(s * (s-hitungSisi(x1,y1,x2,y2)) *
(s-hitungSisi(x2,y2,x3,y3)) *
(s-hitungSisi(x3,y3,x1,y1)));
}
}

b. Buatlah kelas SegitigaMain seperti berikut ini:

public class SegitigaMain {


public static void main(String[] args) {

// membentuk obyek seg1 dari class Segitiga


Segitiga seg1=new Segitiga();

//pengisian data 3 titik segitiga


seg1.x1=1; seg1.y1=2;
seg1.x2=7; seg1.y2=2;
seg1.x3=7; seg1.y3=9;

//menghitung & menampilkan luas segitiga


System.out.println("Luas segitiga dengan titik (1,2)

Page 3 of 5
(7,2) dan (7,9) adalah :"+ seg1.hitungLuas());

// membentuk obyek seg2 dari class Segitiga


Segitiga seg2=new Segitiga();

//pengisian data 3 titik segitiga


seg2.x1=0; seg2.y1=0; seg2.x2=5; seg2.y2=4;
seg2.x3=8; seg2.y3=2;

//menghitung & menampilkan luas segitiga


System.out.println("Luas segitiga dengan titik (0,0)
(5,4) dan (8,2) adalah :"+ seg2.hitungLuas());
}
}
c. Cobalah program di atas, letakkan program dalam package Modul_1, dan amati
hasilnya serta analisalah.
d. Perhatikan apakah kelas Segitiga dan SegitigaMain memiliki konstruktor?
Mengapa demikian?

5. Kasus 3:
a. Program dalam kasus 2 di atas belum memakai konsep getter, setter,
konstruktor serta perintah this. Cermati sekali lagi program tersebut.
b. Modifisikasilah program di atas dengan menambahkan :
i. Method aksesor dan mutator pada kelas Segitiga dengan memakai
perintah this
ii. Method konstruktor pada kelas Segitiga dengan parameter 3 pasang titik
sudut.
6. Kasus 4:
a. Buatlah kelas Kalkulator yang dapat menghitung operasi penjumlahan,
pengurangan, perkalian, pembagian dari 2 buah bilangan.
b. Buatlah kelas KalkulatorMain untuk menjalankan program tersebut dengan
meminta masukan 2 bilangan dan menghitung hasil penjumlahan, pengurangan,
perkalian, dan pembagian 2 bilangan tersebut.

7. Kasus 5:
 Buatlah program untuk menghitung gaji total seorang pegawai. Setiap pegawai
mempunyai atribut NPP, nama, golongan, status (menikah/tidak), jumlah anak.
Untuk setiap pegawai terdapat metode hitungGajiPokok,
hitungTunjanganKeluarga, dan hitungGajiTotal .

Gaji pokok akan ditentukan berdasarkan golongan sbb:


 gol. 1 : gaji pokok = 1.300.000
 gol 2 : gaji pokok = 1.750.000
 gol 3 : gaji pokok = 2.000.000

Page 4 of 5
Tunjangan keluarga hanya diberikan jika statusnya menikah, berupa tunjangan
untuk istri/suami dan anak yang dihitung dengan rumus:
 Tunjangan keluarga = 300.000 + (jumlah anak * 100.000)

Gaji total dihitung dengan rumus:


 Gaji total = gaji pokok + tunjangan keluarga

C. LAPORAN PRAKTIKUM

Sertakan teks program (source codes), capture input dan output serta analisa
program dalam bentuk diagram class

1. Diagram kelas untuk setiap kasus (20%)

2. Penjelasan program, dibuat per kelas, 1 tabel untuk 1 kelas (60%)

No. Teks Program (Nama Kelas) Arti/penjelasan


1
2
3 int panjang; Deklarasi variable panjang dengan tipe integer.
.
.
.
N

2. Contoh input dan outputnya (hasil screen shoot) (20 %)

 Baik itu belum cukup, jika lebih baik itu mungkin !! 

Page 5 of 5

Anda mungkin juga menyukai