TAHUN : 2013/2014
MODUL 2
Judul Bab
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
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
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
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
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
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
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.