Anda di halaman 1dari 14

LABORATORIUM KOMPUTER DASAR

PROGRAM STUDI INFORMATIKA / ILMU


KOMPUTER
PROGRAM TEKNOLOGI INFORMASI
DAN ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
PRAKTIKUM PEMROGRAMAN LANJUT
SEMESTER :GENAP

TAHUN : 2013/2014

MODUL 2

Judul Bab

: Class, Konstruktor dan Method

Instan
Disusun Oleh
NIM
Dilaksanakan Tanggal
Asisten 1
Asisten 2
Dosen Pengampu

: Vera Rusmalawati
: 135150201111194
: 21 Maret 2014
: Bagus Abdan Aziz Fahriansyah
: Amalia Ramadhanty
: Ir. Sutrisno, MT

Pengesahan
Tanggal:
Asisten

A. Definisi Masalah
1. Tambahkan operator operator lain untuk melengkapi kelas bilangan
rasional diatas, seperti : (minimal 5 operator)
a. Operator Unary -= , unary /=, unary *=, unary ++, unary-b. Operator < , <= , >=
c. Operator pembanding ==, pembanding !=
d. Operator + , - , * , /

B. Source Code
1. Class Rasional3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

package Konstruktor;
public class Rasional3 {
private int pembilang, penyebut;
public Rasional3() {
pembilang = 0;
penyebut = 0;
}
public Rasional3(int pbl, int pyb) {
pembilang = pbl;
penyebut = pyb;
}
public boolean isRasional() {
return (penyebut != 0);
}
public void Sederhana() {
int temp, A, B;
if (penyebut == 0) {
return;
}
A = (pembilang < penyebut) ? penyebut :
pembilang;
B = (pembilang < penyebut) ? pembilang :
penyebut;
while (B != 0) {
temp = A % B;
A = B;
B = temp;
}
pembilang /= A;
penyebut /= A;
}
public double Cast() {
return (penyebut == 0.0) ? 0.0 : (double)
pembilang / (double) penyebut;
}

33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75

public boolean moreThan(Rasional3 A) {


return (pembilang * A.penyebut > penyebut *
A.pembilang);
}
public boolean kurangDari(Rasional3 A) {
return (pembilang * A.penyebut < penyebut *
A.pembilang);
}
public boolean kurangDariSamaDengan(Rasional3 A) {
return (pembilang * A.penyebut <= penyebut *
A.pembilang);
}
public boolean lebihDariSamaDengan(Rasional3 A) {
return (pembilang * A.penyebut >= penyebut *
A.pembilang);
}
public boolean samaDengan(Rasional3 A) {
return (pembilang * A.penyebut == penyebut *
A.pembilang);
}
public boolean tidakSamaDengan(Rasional3 A) {
return (pembilang * A.penyebut != penyebut *
A.pembilang);
}
public void negasi() {
pembilang = -pembilang;
}
public void unaryPlus(Rasional3 A) {
pembilang = pembilang * A.penyebut + penyebut *
A.pembilang;
penyebut *= A.penyebut;
}
public void unaryMinus(Rasional3 A) {
pembilang = pembilang * A.penyebut - penyebut *
A.pembilang;
penyebut *= A.penyebut;
}
public void unaryCross(Rasional3 A) {
pembilang *= A.pembilang;
penyebut *= A.penyebut;
}
public void unaryDivide(Rasional3 A) {
pembilang /= A.pembilang;
penyebut /= A.penyebut;
}
public void unaryPlusPlus() {
pembilang = pembilang * 1 + penyebut * 1;
penyebut *= 1;
}
public void unaryMinusMinus() {
pembilang = pembilang * 1 - penyebut * 1;

76
77
78
79
80
81
82
83
84
85
86

penyebut *= 1;
}
public void cetak() {
System.out.println(pembilang + "/" + penyebut);
}
public Rasional3 tambah(Rasional3 A, Rasional3 B) {
penyebut = A.penyebut * B.penyebut;
A.pembilang *= (penyebut / A.penyebut);
B.pembilang *= (penyebut / B.penyebut);
pembilang = A.pembilang + B.pembilang;
Rasional3 hasil = new Rasional3(pembilang,
penyebut);
return hasil;
}
public Rasional3 kurang(Rasional3 A, Rasional3 B) {
penyebut = A.penyebut * B.penyebut;
A.pembilang *= (penyebut / A.penyebut);
B.pembilang *= (penyebut / B.penyebut);
pembilang = A.pembilang - B.pembilang;
Rasional3 hasil = new Rasional3(pembilang,
penyebut);
return hasil;
}
public Rasional3 kali(Rasional3 A, Rasional3 B) {
pembilang = A.pembilang * B.pembilang;
penyebut = A.penyebut * B.penyebut;
Rasional3 hasil = new Rasional3(pembilang,
penyebut);
return hasil;
}
public Rasional3 bagi(Rasional3 A, Rasional3 B) {
pembilang = A.pembilang * B.penyebut;
penyebut = A.penyebut * B.pembilang;
Rasional3 hasil = new Rasional3(pembilang,
penyebut);
return hasil;
}

87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109

2. Class Rasional3Demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

package Konstruktor;
public class Rasional3Demo {
public static void main(String[] args) {
Rasional3 R1 = new Rasional3(1, 2);
Rasional3 R2 = new Rasional3(1, 3);
System.out.println("R1.isRasional: " +
R1.isRasional());
System.out.println("R2.isRasional: " +
R1.isRasional());
System.out.println();
System.out.println("R1 > R2 : " +
R1.moreThan(R2));
System.out.println("R1 < R2 : " +
R1.kurangDari(R2));
System.out.println("R1 >= R2 : " +
R1.lebihDariSamaDengan(R2));
System.out.println("R1 <= R2 : " +
R1.kurangDariSamaDengan(R2));
System.out.println("R1 = R2 : " +
R1.samaDengan(R2));
System.out.println("R1 != R2 : " +
R1.tidakSamaDengan(R2));
System.out.println();
R1.unaryPlusPlus();
System.out.print("R1++ : ");
R1.cetak();
R1.unaryMinusMinus();
System.out.print("R1-- : ");
R1.cetak();
System.out.println("");
System.out.print("R1 : ");
R1.cetak();
System.out.print("R2 : ");
R2.cetak();
System.out.println();
R1.Sederhana();
R2.Sederhana();
System.out.println("Bilangan setelah
disederhanakan : ");
System.out.print("R1 : ");
R1.cetak();
System.out.print("R2 : ");
R2.cetak();
System.out.println();
System.out.println("Setelah dilakukan Cast ke

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80

double menjadi : ");


System.out.println("R1 : " + R1.Cast());
System.out.println("R2 : " + R2.Cast());
System.out.println();
R1.negasi();
System.out.print("Unary- dari R1 : ");
R1.cetak();
System.out.println();
R1.unaryPlus(R2);
System.out.print("Nilai dari 'R1 += R2' : ");
R1.cetak();
System.out.println();
R1.unaryMinus(R2);
System.out.println("Nilai dari 'R1 -= R2' : ");
R1.cetak();
R1.unaryDivide(R2);
System.out.print("Nilai dari 'R1/=R2' : ");
R1.Sederhana();
R1.cetak();
R1.unaryCross(R2);
System.out.print("Nilai dari 'R1*=R2' : ");
R1.Sederhana();
R1.cetak();
Rasional3 R3 = new Rasional3(3, 5);
Rasional3 R4 = new Rasional3(2, 7);
Rasional3 R5= new Rasional3();
System.out.print("R3 : ");
R3.cetak();
System.out.print("R4 : ");
R4.cetak();
System.out.println("Hasil R3 - R4 : ");
R5.kurang(R3, R4);
R5.cetak();
System.out.println("Hasil R3 + R4 : ");
R5.tambah(R3, R4);
R5.cetak();
System.out.println("Hasil R3 * R4 : ");
R5.kali(R3, R4);
R5.cetak();
System.out.println("Hasil R3 / R4 : ");
R5.bagi(R3, R4);
R5.cetak();
}
}

C. Pembahasan
1. Class Rasional3
1
2
3
4-7
8
9
10
11
12
13
14
15
16
1719
20
21
22
23
24
25
26
27
28
29
30

Deklarasi package Konstruktor


Deklarasi kelas Rasional3
Deklarasi atribut integer pembilang, penyebut
Konstruktor Rasional3 tanpa parameter berfungsi untuk
menginisialisasi objek Rasional3 dengan nilai penyebut dan
pembilang bernilai 0 semua
Konstruktor Rasional3 dengan parameter integer pbl untuk nilai
pembilang, dan integer pyb untuk nilai penyebut
Parameter pbl untuk memberikan nilai pada pembilang
Parameter pyb untuk memberikan nilai penyebut
Kurung kurawal penutup konstruktor Rasional3
Method isRasional dengan retur value boolean, digunakan untuk
mengecek apakah bilangan Rasional tersebut benar merupakan
bilangan Rasional atau salah
Akan mereturn benar jika nilai penyebut pada object Rasional3
adalah tidak 0
Kurung kurawal penutup method isRasional
Method Sederhana dengan return void digunakan untuk
menyederhanakan object Rasional3
Deklarasi variabel temp, A, dan B
Jika nilai penyebut dari object Rasional3 = 0, maka object
Rasional3 tidak dapat disederhanakan. Dan langsung diakhri
methodnya.
Jika penyebut tidak 0, maka nilai A adalah penyebut jika kondisi
pembilang < penyebut, dan jika salah maka nilai A = pembilang
Nilai B = pembilang jika pembilang<penyebut, dan jika salah
maka nilai B = penyebut
Perulangan akan terus dilakukan saat B tidak sama dengan 0
Nilai varibel temp = sisa bagi A dibagi B
Nilai A = nilai B
Dan nilai B = temp
Kurung kurawal penutup method perulangan while
Pembilang = pembilang dibagi A
Penyebut = penyebut dibagi A
Kurung kurawal method Sederhana
Method Cast dengan return value double digunakan untuk
mencasting Object Rasional3 menjadi nilai desimal (mengubah
nilai)

31
32
33
34

35
36
37

38
39

40

41
42
43

44
45

Nilai yang direturn dari method ini adalah 0 jika kondisi penyebut
= 0 atau hasil dari pembagian pembilang dibagi penyebut jika
nilai penyebut tidak sama dengan 0
Kurung kurawal penutup method Cast
Method moreThan dengan return value boolean digunakan untuk
mencari nilai terbesar dari perbandingan bilangan Rasional
Nilai yang direturn dari method ini adalah nilai true jika hasil dari
pembilang dari bilangan Rasional 1 dikali penyebut Rasional A
lebih besar dari penyebut bilangan Rasional 1 dikali pembilang
bilangan Rasional A. Dan mereturn false jika sebaliknya
Kurung kurawal penutup method moreThan
Method kurangDari dengan return value boolean digunakan untuk
mencari nilai terkecil dari perbandingan bilangan Rasional 1
dibandingkan bilangan Rasional A (parameter)
Nilai yang direturn dari method ini adalah nilai true jika hasil dari
pembilang dari bilangan Rasional 1 dikali penyebut Rasional A
kurang dari dari penyebut bilangan Rasional 1 dikali pembilang
bilangan Rasional A. Dan mereturn false jika sebaliknya
Kurung kurawal penutup method kurangDari
Method kurangDariSamaDengan dengan return value boolean
digunakan untuk mencari nilai kurang dari atau sama dengan dari
perbandingan bilangan Rasional 1 dengan bilangan Rasional A
(parameter)
Nilai yang direturn dari method ini adalah nilai true jika hasil dari
pembilang dari bilangan Rasional 1 dikali penyebut Rasional A
kurang dari samadengan dari penyebut bilangan Rasional 1 dikali
pembilang bilangan Rasional A. Dan mereturn false jika
sebaliknya
Kurung kurawal penutup method kurangDariSamaDengan
Method lebihDariSamaDengan dengan return value boolean
digunakan untuk mencari nilai lebihDariSamaDengan dari
perbandingan bilangan Rasional 1 dengan bilangan Rasional A
Nilai yang direturn dari method ini adalah nilai true jika hasil dari
pembilang dari bilangan Rasional 1 dikali penyebut Rasional A
lebih besar dari sama dengan penyebut bilangan Rasional 1 dikali
pembilang bilangan Rasional A. Dan mereturn false jika
sebaliknya.
Kurung kurawal penutup method lebihDariSamaDengan
Method samaDengan dengan return value boolean digunakan
untuk mencari apakah bilangan Rasional 1 sama dengan bilangan
Rasional A

46

47
48
49

50
51
52
53
54

55
56
57
58

59
60
61
62
63

Nilai yang direturn dari method ini adalah nilai true jika hasil dari
pembilang dari bilangan Rasional 1 dikali penyebut Rasional A
sama dengan penyebut bilangan Rasional 1 dikali pembilang
bilangan Rasional A. Dan mereturn false jika sebaliknya.
Kurung kurawal penutup method samaDengan
Method tidakSamaDengan dengan return value boolean
digunakan untuk mencari apakah bilangan Rasional 1 tidak sama
dengan bilangan Rasional A
Nilai yang direturn dari method ini adalah nilai true jika hasil dari
pembilang dari bilangan Rasional 1 dikali penyebut Rasional A
tidak sama dengan penyebut bilangan Rasional 1 dikali pembilang
bilangan Rasional A. Dan mereturn false jika sebaliknya.
Kurung kurawal penutup method tidakSamaDengan
Method negasi untuk menegasikan (membuat negatif) bilangan
Rasional
Atribut pembilang nilainya dibuat menjadi negatif
Kurung kurawal penutup method negasi
Method unaryPlus untuk menambahkan bilangan Rasional 1
ditambah bilangan Rasional A dan hasilnya disimpan dalam
bilangan Rasional1. Sehingga nilai bilangan Rasional 1 akan
berubah.
Pembilang dari bilangan Rasional 1 = pembilangnya dikali
penyebut bilangan Rasional A kemudian ditambah hasil dari
penyebut bilangan Rasional 1 dikali pembilang Rasional A
Nilai penyebut adalah nilai penyebut dikali nilai penyebut A
Kurung kurawal penutup method unaryPlus
Method unaryMinus untuk mengurangi bilangan Rasional 1
ditambah bilangan Rasional A dan hasilnya disimpan dalam
bilangan Rasional1. Sehingga nilai bilangan Rasional 1 akan
berubah.
Pembilang dari bilangan Rasional 1 = pembilangnya dikali
penyebut bilangan Rasional A kemudian dikurangi hasil dari
penyebut bilangan Rasional 1 dikali pembilang Rasional A
Nilai penyebut adalah nilai penyebut dikali nilai penyebut A
Kurung kurawal penutup method unaryMinus
Method unaryCross untuk mengali bilangan Rasional 1 dikali
bilangan Rasional A dan hasilnya disimpan dalam bilangan
Rasional1. Sehingga nilai bilangan Rasional 1 akan berubah.
Pembilang dari bilangan Rasional 1 = pembilangnya dikali
pembilang dari bilangan Rasional A
Penyebut dari bilangan Rasional 1 = penyebutnya dikali penyebut

64
65
66

67
68
69
70
71
72
73
74
75
76
77
7880
81
82
8384
85
86
87
88
89

bilangan Rasional A
Kurung kurawal penutup method unaryCross
Method unaryDivide untuk membagi bilangan Rasional 1
ditambah bilangan Rasional A dan hasilnya disimpan dalam
bilangan Rasional1. Sehingga nilai bilangan Rasional 1 akan
berubah.
Pembilang dari bilangan Rasional 1 = pembilangnya dibagi
pembilang dari bilangan Rasional A
Penyebut dari bilangan Rasional 1 = penyebutnya dibagi penyebut
bilangan Rasional A
Kurung kurawal penutup method unaryDivide
Method unaryPlus untuk menambahkan bilangan Rasional dengan
1
Nilai pembilang = pembilangnya dikali 1 dan ditambah nilai
penyebut dikali 1
Sedangkan nilai penyebut adalah nilai penyebut dikali 1
Kurung kurawal penutup method unaryPlusPlus
Method unaryMinusMinus untuk mengurangu bilangan Rasional
dengan 1
Nilai pembilang = pembilangnya dikali 1 dan dikurangi nilai
penyebut dikali 1
Sedangkan nilai penyebut adalah nilai penyebut dikali 1
Kurung kurawal penutup method unaryMinusMinus
Method cetak digunakan untuk mencetak bilangan Rasional3
Method tambah dengan return value berupa object bilangan
Rasional3 digunakan untuk menambahkan bilangan Rasional A
dan B dan hasilnya disimpan di dalam bilangan Rasional baru
Proses penyamaan penyebut
Mengubah pembilang A dan B karena penyebutnya sudah diubah
menjadi nilai yang sama
Nilai pembilang baru adalah penjumlahan pembilang A dan B
Membuat bilangan Rasional baru dengan nilai penyebut adalah
hasil penjumlahan, serta nilai penyebut adalah hasil persamaan
dari bilangan A dan B.
Mereturn nilai hasil sebagai hasil penjumlahannya
Kurung kurawal penutup method pembilang baru
Method kurang dengan return value berupa object bilangan
Rasional3 digunakan untuk mengurangi bilangan Rasional A dan
B dan hasilnya disimpan di dalam bilangan Rasional baru
Proses penyamaan penyebut

90
9192
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108109

Mengubah pembilang A dan B karena penyebutnya sudah diubah


menjadi nilai yang sama
Nilai pembilang baru adalah hasil dari pengurangan pembilang A
dan B
Membuat bilangan Rasional baru dengan nilai penyebut adalah
hasil pegurangan, serta nilai penyebut adalah hasil persamaan dari
bilangan A dan B.
Mereturn nilai hasil sebagai hasil method kurang
Kurung kurawal penutup method kurang
Method kali dengan return value berupa object bilangan
Rasional3 digunakan untuk mengalikan bilangan Rasional A dan
B dan hasilnya disimpan di dalam bilangan Rasional baru
Nilai pembilang adalah hasil perkalian pembilang A dan B
Nilai penyebut adalah hasil perkalian penyebut A dan B
Membuat bilangan Rasional baru dengan hasil pembilang dan
penyebut.
Mereturn nilai hasil sebagai hasil dari method kali
Kurung kurawal penutup method kali
Method bagi dengan return value berupa object bilangan
Rasional3 digunakan untuk membagi bilangan Rasional A dan B
dan hasilnya disimpan di dalam bilangan Rasional baru
Nilai pembilang adalah hasil perkalian pembilang A dikali
penyebut B (dibalik untuk pembagian)
Nilai penyebut adalah hasil perkalian penyebut A dikali
pembilang B (dibalik untuk pembagian)
Membuat bilangan Rasional baru dengan hasil pembagian, dan
penyebut.
Mereturn nilai hasil sebagai hasil pembagiannya.
Kurung kurawal penutup method bagi dan class Rasional3

2. Class Rasional3Demo
1
2
3
4-5
6-8
9-14
1526
2736
3740
4144
4548
4951
5255
5659
6062
6366
6769
7072
7375
7678

Deklarasi package Konstruktor


Deklarasi kelas Rasional3demo
Deklarasi method main untuk mengeksekusi kelas Rasional3
Deklarasi object Rasional3 R1 dan R2
Mencetak Rasional3 R1 dan R2
Mencetak hasil dari perbandingan R1 dan R2 darimulai method
moreThan,
kurangDari,
lebihDariSamaDengan,
kurangDariSamaDengan, samaDengan, dan tidakSamaDengan
Mencetak hasil dari pemanggilan method unaryPlusPlus dan
unaryMinusMinus
Mencetak hasil penyederhanaan R1 dan R2
Mencetak hasil Casting beserta prosesnya dari casting R1 dan R2
Menegasikan R1 dan mencetaknya
Menambahkan R1 dan R2 disimpan dalam R1 kemudian
mencetaknya
Mengurangi R1 dan R2 disimpan dalam R1 dan dicetak
Membagi R1 dan R2 disimpan dalam R1 dan disederhankan lalu
dicetak
Mengalikan R1 dan R2 disimpan dalam R1 dan disederhanakan
lalu dicetak
Deklarasi R3, R4, R5 dan inisialisasi nilainya
Mencetak R3, R4
Mengurangi R3 dan R4 disimpan dalam R5 dan dicetak
Menambahkan R3 dan R4 disimpan dalam R5 dan dicetak
Mengalikan R3 dan R4 disimpan dalam R5 dan dicetak
Membagi R3 dan R4 disimpan dalam R5 dan dicetak

D. Screenshoot Program

E. Kesimpulan
Konstruktor adalah method dengan nama yang sama dengan nama
class tetapi parameternya berbeda. suatu kelas terkadang memiliki lebih
dari 1 konstruktor, dengan jumlah atau jenis parameter, serta urutan type
parameter input yang membedakan antar konstruktor ini.
Method constructor dipanggil saat object diciptakan, saat digunakan
keyword new. Constructor biasanya digunakan untuk menginisialisasi
object dari sebuah class. Setiap class harus punya constructor, secara

default java memberikan constructor tanpa argument dan tanpa body


method jika tidak didefiniskan. Boleh memiliki lebih dari satu buah method
constructor (disebut sebagai constructor overloading)
Bedanya antara konstruktor dan method adalah syntaxnya. Biasanya
konstruktor mempunyai syntax nama yang sama dengan nama Class
dengan tujuan menginisialisasi atau membentuk objek sesuai dengan objek
kelas. Sedangkan method adalah suatu perilaku atau action yang dapat
dilakukan oleh object dari class tersebut.
Method instan adalah method yang akan mengakses data yang
terdapat pada instan yang dikaitkannya, saat method instan ini dipanggil.
Syntax untuk memanggil method dari sebuah instan class :
namaObject.namaMethod([parameter]);
Untuk memanggil variable instan dengan menggunakan kata kunci
this.

F. Saran
Sebaiknya saat praktikum sebelum memasuki studi kasus tertentu
diulas secara ringkas materi, dengan langsung memberikan suatu contoh
kasus dan diselesaikan bersama-sama, sehingga praktikum akan lebih
menyenangkan, dan praktikan bisa langsung mempraktikkan teori yang
didapatkan diperkuliahan.

Anda mungkin juga menyukai