You are on page 1of 12

LABORATORIUM KOMPUTER DASAR

PROGRAM STUDI INFORMATIKA / ILMU


KOMPUTER
PROGRAM TEKNOLOGI INFORMASI
DAN ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
PRAKTIKUM PEMROGRAMAN LANJUT
MODUL 1
Judul Bab : Class, Konstruktor, dan Method
Instan
Disusun Oleh : Tusty Nadia Maghfira
NIM : 1!1!"#""111"$!
Dilaksanakan Tanggal : #1 Maret #"1%
&sisten 1 : 'eru Chrisandi (etia)an
&sisten # : Krisbianto Cahyo (u*arto
Dosen +enga*,u : &dharul Mutta-in, (T., MT
Pengesahan
Tanggal
As!s"en
SEMESTER GENAP TA#UN $%1&/$%1'

A( De)!n!s! Masalah
(oal 1 :
Mena*bahkan o,erator selain dala* ,rogra* /asional.0a1a
2*ini*al ! o,erator yang dita*bahkan3, o,erator tersebut antara lain:
O,erator 4nary 56 , unary 76, unary 86, unary 99, unary55
O,erator : , :6 , ;6
O,erator ,e*banding 66, ,e*banding <6
O,earator 9 , 5 , 8 , 7
B( S*+,-e .*/e
(oal 1 :
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
public class Rasional4 {
private int pembilang, penyebut
public Rasional4!" {
pembilang # 0
penyebut # 0
$
public Rasional4!int pbl, int pyb" {
pembilang # pbl
penyebut # pyb
$
public voi% setRasio!int pbl, int pyb" {
pembilang # pbl
penyebut # pyb
$
&&mengece' suatu bilangan a%ala( rasional atau bu'a
public boolean isRasional!" {
return !penyebut )# 0"
$
&&menye%er(ana'an bilangan rasional
public voi% *e%er(ana!" {
int temp, +, ,
i- !penyebut ## 0" {
return
$
+ # !pembilang . penyebut" / penyebut 0
pembilang
, # !pembilang . penyebut" / pembilang 0
penyebut
29
30
31
32
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
1(ile !, )# 0" {
temp # + 2 ,
+ # ,
, # temp
$
pembilang &# +
penyebut &# +
$
public %ouble 3ast!" {
return !penyebut ## 040" / 040 0 !%ouble"
pembilang & !%ouble" penyebut
$
&&oprator 5
public boolean more6(an!Rasional4 +" {
return !pembilang 7 +4penyebut 5 penyebut 7
+4pembilang"
$
public boolean less6(an!Rasional4 +" {
return !pembilang 7 +4penyebut . penyebut 7
+4pembilang"
$
&&operator 8nary9 9995 + # 9+
public voi% negasi!" {
pembilang # 9pembilang
$
&&operator unary :#
public voi% unary;lus!Rasional4 +" {
pembilang # pembilang 7 +4penyebut : penyebut 7
+4pembilang
penyebut 7# +4penyebut
$
public voi% unary<in!Rasional4 +" {
pembilang # pembilang 7 +4penyebut 9 penyebut 7
+4pembilang
penyebut 7# +4penyebut
$
public voi% unary,agi!Rasional4 +" {
pembilang 7# +4penyebut
penyebut 7# +4pembilang
$
public voi% unary=ali!Rasional4 +" {
pembilang 7# +4pembilang
penyebut 7# +4penyebut
$
public voi% unary;lus;lus!" {
pembilang :# penyebut
$
public voi% unary<in<in!" {
pembilang 9# penyebut
$
public boolean less6(an>r?@ual!Rasional4 +" {
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
return !less6(an!+" AA is?@ual!+""
$
public boolean <ore6(an>r?@ual!Rasional4 +" {
return !more6(an!+" AA is?@ual!+""
$
public boolean is?@ual!Rasional4 +" {
return !pembilang 7 +4penyebut ## penyebut 7
+4pembilang"
$
public boolean isBot?@ual!Rasional4 +" {
return !pembilang 7 +4penyebut )# penyebut 7
+4pembilang"
$
public voi% ;lus!Rasional4 +1, Rasional4 +" {
pembilang # +14pembilang 7 +4penyebut :
+14penyebut 7 +4pembilang
penyebut # +14penyebut 7 +4penyebut
$
public voi% <inus!Rasional4 +1, Rasional4 +" {
pembilang # +14pembilang 7 +4penyebut 9
+14penyebut 7 +4pembilang
penyebut # +14penyebut 7 +4penyebut
$
public voi% multiply!Rasional4 +1, Rasional4 +" {
pembilang # +14pembilang 7 +4pembilang
penyebut # +14penyebut 7 +4penyebut
$
public voi% Civi%e!Rasional4 +1, Rasional4 +" {
pembilang # +14pembilang 7 +4penyebut
penyebut # +14penyebut 7 +4pembilang
$
public voi% ceta'!" {
*ystem4out4println!pembilang : D&D : penyebut"
$
$
Main Class:
1
2
3
4
5
6
7
8
9
10
11
12
public class Rasional4Cemo {
public static voi% main!*tringEF args" {
Rasional4 R1 # ne1 Rasional4!4, 2"
Rasional4 R2 # ne1 Rasional4!6, 4"
Rasional4 R3 # ne1 Rasional4!3, 2"
*ystem4out4println!DR14isRasional0 D :
R14isRasional!""
*ystem4out4println!DR24isRasional0 D :
R24isRasional!""
*ystem4out4println!"
*ystem4out4println!DR1 5 R2 0 D :
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
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
R14more6(an!R2""
*ystem4out4println!"
*ystem4out4println!DR1 . R2 0D :
R14less6(an!R2""
*ystem4out4println!"
*ystem4out4println!DR1 5# R2 0 D :
R14<ore6(an>r?@ual!R2""
*ystem4out4println!"
*ystem4out4println!DR1 .# R2 0D :
R14less6(an>r?@ual!R2""
*ystem4out4println!"
*ystem4out4print!DR1 0 D"
R14ceta'!"
*ystem4out4print!DR2 0 D"
R24ceta'!"
*ystem4out4println!"
R14*e%er(ana!"
R24*e%er(ana!"
*ystem4out4println!D*etela( %ise%er(ana'an0 D"
*ystem4out4print!DR1 0 D"
R14ceta'!"
*ystem4out4print!DR2 0 D"
R24ceta'!"
*ystem4out4println!"
*ystem4out4println!D*etela( %ila'u'an 3ast 'e
%ouble menGa%i 0 D"
*ystem4out4println!DR1 0 D : R143ast!""
*ystem4out4println!DR2 0 D : R243ast!""
*ystem4out4println!"
R14negasi!"
*ystem4out4print!D8nary9 %ari R1 0 D"
R14ceta'!"
*ystem4out4println!"
R14setRasio!4, 2"
R14unary;lus!R2"
*ystem4out4print!DBilai %ari HR1 :# R2H 0 D"
R14ceta'!"
*ystem4out4println!"
R14setRasio!4, 2"
R14unary<in!R2"
*ystem4out4print!DBilai %ari HR1 9# R2H 0 D"
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
R14ceta'!"
*ystem4out4println!"
R14setRasio!4, 2"
R14unary=ali!R2"
*ystem4out4print!DBilai %ari HR1 7# R2H 0 D"
R14ceta'!"
*ystem4out4println!"
R14setRasio!4, 2"
R14unary,agi!R2"
*ystem4out4print!DBilai %ari HR1 &# R2H 0 D"
R14ceta'!"
*ystem4out4println!"
R14setRasio!4, 2"
R14unary;lus;lus!"
*ystem4out4print!DBilai %ari HR1 ::H 0 D"
R14ceta'!"
*ystem4out4println!"
R24unary<in<in!"
*ystem4out4print!DBilai %ari HR2 99H 0 D"
R24ceta'!"
*ystem4out4println!"
*ystem4out4println!D;emban%ing bilangan D"
R24setRasio!6, 4"
*ystem4out4println!DR2 ## R3 0 D :
R24is?@ual!R3""
R14setRasio!4, 2"
*ystem4out4println!DR1 )# R3 0 D :
R14isBot?@ual!R3""
R14setRasio!4, 2"
R14;lus!R1, R2"
*ystem4out4print!DBilai %ari HR1 : R2H 0 D"
R14ceta'!"
*ystem4out4println!"
R14setRasio!4, 2"
R14<inus!R1, R2"
*ystem4out4print!DBilai %ari HR1 9 R2H 0 D"
R14ceta'!"
*ystem4out4println!"
R14setRasio!4, 2"
R14multiply!R1, R3"
*ystem4out4print!DBilai %ari HR1 7 R3H 0 D"
R14ceta'!"
*ystem4out4println!"
115
116
117
118
119
120
121
122
R14setRasio!4, 2"
R14Civi%e!R1, R3"
*ystem4out4print!DBilai %ari HR1 & R3H 0 D"
R14ceta'!"
*ystem4out4println!"
$
$
.( Pe01ahasan
Class /asional% :
1
#
5=
>51"
1151%
1!
1=51$
1?
#"5=
>5%"
%1
%#5%!
%=5%?
!"
!15!
!%
!!5!?
="5=%
=!5=$
=?5>#
Deklarasi kelas dengan na*a /asional%
Deklarasi attribute ,e*bilang dan ,enyebut yang berti,e integer
dan *e*iliki a@@ess *odifier ,ri1ate
Deklarasi @onstru@tor dari @lass /asional% dengan body
*ethodnya inisialisasi a)al ,e*bilang dan ,enyebut dengan nilai
6"
Deklarasi o1erloading @onstru@tor dari @lass /asional% dengan
,ara*eter ,bl2,e*bilang3 dan ,yb2,enyebut3 yang berti,e integer
Method untuk *eng5set ,e*bilang dan ,enyebut
Co**ent
Method berti,e Boolean untuk *enge@ek suatu bilangan adalah
rasional atau bukan
Co**ent
Method untuk *enyederhanakan bilangan rasional
Method untuk *enentukan suatu bilangan ,e@ahan *en0adi
bilangan desi*al
Co**ent
Method untuk *enentukan o,erator lebih dari 2;3
Method untuk *enentukan o,erator kurang dari 2:3
Co**ent
Method untuk *enentukan negasi dari suatu ,e@ahan
Co**ent
Method untuk *enentukan unary ,lus dari suatu ,e@ahan
*enggunakan ti,e ke*balian 1oid
Method untuk *enentukan unary *inus dari suatu ,e@ahan
*enggunakan ti,e ke*balian 1oid
Method untuk *enentukan unary bagi dari suatu ,e@ahan
*enggunakan ti,e ke*balian 1oid
Method untuk *enentukan unary kali dari suatu ,e@ahan
>5>!
>=5>$
>?5$1
$#5$%
$!5$$
$?5?#
?5?>
?$51"#
1"5
1"=
1">
11"
111
11!
*enggunakan ti,e ke*balian 1oid
Method untuk *enentukan unary ,lus,lus dari suatu ,e@ahan
*enggunakan ti,e ke*balian 1oid
Method untuk *enentukan unary *inus *inus dari suatu ,e@ahan
*enggunakan ti,e ke*balian 1oid
Method berti,e Boolean untuk *enge@ek suatu bilangan a,akah
kurang dari sa*a dengan bilangan lainnya
Method berti,e Boolean untuk *enge@ek suatu bilangan a,akah
lebih dari sa*a dengan bilangan lainnya
Method berti,e Boolean untuk *enge@ek suatu bilangan a,akah
sa*a dengan bilangan lainnya
Method berti,e Boolean untuk *enge@ek suatu bilangan a,akah
tidak sa*a dengan bilangan lainnya
Method untuk *enentukan ,erhitungan ,lus 293 dari dua bilangan
,e@ahan *enggunakan ti,e ke*balian 1oid
Method untuk *enentukan ,erhitungan *inus 253 dari dua
bilangan ,e@ahan *enggukan ti,e ke*balian 1oid
Method untuk *enentukan ,erhitungan ,erkalian 283 dari dua
bilangan ,e@ahan *enggunakan ti,e ke*balian 1oid
Method untuk *enentukan ,erhitungan ,e*bagian 273 dari dua
bilangan ,e@ahan *enggunakan ti,e ke*balian 1oid
Method untuk *en@etak nilai dari ,e*bilang dan ,enyebut
&khir dari kelas /asional%
Main :
15#
5!
=5>
$511
1#51!
1=51?
#"5#
#%5#>
#$5
Dekalarasi kelas dengan na*a /asional%De*o dan *ethod *ain
Me*buat ob0ek baru dari @lass /asional% dengan na*a /1, /#,
/
Menentukan a,akah ,e@ahan ,ada ob0ek /1 adalah bilangan
rasional atau bukan dengan *e*anggil *ethod is/asional 23
Menentukan a,akah ,e@ahan ,ada ob0ek /# adalah bilangan
rasional atau bukan dengan *e*anggil *ethod is/asional 23
Menentukan a,akah ,e@ahan ,ada ob0ek /1 lebih dari /# dengan
*e*anggil *ethod *oreThan
Menentukan a,akah ,e@ahan ,ada ob0ek /1 kurang dari /#
dengan *e*anggil *ethod lessThan
Menentukan a,akah ,e@ahan ,ada ob0ek /1 lebih dari sa*a
dengan /# dengan *e*anggil *ethod *oreThanOrA-ual
Menentukan a,akah ,e@ahan ,ada ob0ek /1 kurang dari sa*a
dengan /# dengan *e*anggil *ethod lessThanOrA-ual
+erintah untuk *en@etak suatu nilai yang ada dari ob0ek /1 dan
/# dengan *e*anggil *ethod @etak
%5=
>5%#
%5%?
!"5!%
!!5="
=15==
=>5>#
>5>$
>?5$%
$!5$?
?"5?
?%5?>
?$51"
1"%5
1"?
+e*anggilan *ethod (ederhana untuk *enghitung
,enyederhanaan dari 1ariabel ob0ek /1 dan /#
Out,utan hasil ,enyederhanaan dari 1ariabel ob0ek /1 dan /#
dengan *e*anggil *ethod @etak
Out,utan hasil @ast atau ,erubahan nilai bilangan ,e@ahan dari
/1 dan /# *en0adi desi*al dengan *e*anggil *ethod Cast
+e*anggilan *ethod negasi untuk *enegasikan suatu bilangan
,e@ahan dari 1ariabel ob0ek /1 dan *en@etak hasilnya dengan
*e*anggil *ethod @etak
+e*anggilan *ethod set/asio untuk *engeset nilai /1 *en0adi
bentuk ,e@ahan a)alnya dan *enghitung dengan *e*anggil
*ethod unary+lus dari nilai /1 dan /# dan *en@etak hasilnya
+e*anggilan *ethod set/asio untuk *engeset nilai /1 *en0adi
bentuk ,e@ahan a)alnya dan *enghitung dengan *e*anggil
*ethod unaryMin dari nilai /1 dan /# dan *en@etak hasilnya
+e*anggilan *ethod set/asio untuk *engeset nilai /1 *en0adi
bentuk ,e@ahan a)alnya dan *enghitung dengan *e*anggil
*ethod unaryKali dari nilai /1 dan /# dan *en@etak hasilnya
+e*anggilan *ethod set/asio untuk *engeset nilai /1 *en0adi
bentuk ,e@ahan a)alnya dan *enghitung dengan *e*anggil
*ethod unaryBagi dari nilai /1 dan /# dan *en@etak hasilnya
+e*anggilan *ethod set/asio untuk *engeset nilai /1 *en0adi
bentuk ,e@ahan a)alnya dan *enghitung dengan *e*anggil
*ethod unary+lus+lus dari nilai /1 dan /# dan *en@etak
hasilnya
+e*anggilan *ethod set/asio untuk *engeset nilai /1 *en0adi
bentuk ,e@ahan a)alnya dan *enghitung dengan *e*anggil
*ethod unaryMinMin dari nilai /1 dan /# dan *en@etak
hasilnya
+erintah untuk *ena*,ilkan hasil ,enge@ekan dari 1ariabel ob0ek
/# a,akah sa*a dengan /
+erintah untuk *ena*,ilkan hasil ,enge@ekan dari 1ariabel ob0ek
/1 a,akah tidak sa*a dengan /
+e*anggilan *ethod set/asio untuk *engeset nilai /1 *en0adi
bentuk ,e@ahan a)alnya dan *enghitung nilai bilangan ,e@ahan
dari /1 dan /# dengan *e*anggil *ethod ,lus dan *en@etak
hasilnya
+e*anggilan *ethod set/asio untuk *engeset nilai /1 *en0adi
bentuk ,e@ahan a)alnya dan *enghitung nilai bilangan ,e@ahan
dari /1 dan /# dengan *e*anggil *ethod Minus dan *en@etak
hasilnya
11"5
11!
11=5
1#1
1##
+e*anggilan *ethod set/asio untuk *engeset nilai /1 *en0adi
bentuk ,e@ahan a)alnya dan *enghitung nilai bilangan ,e@ahan
dari /1 dan / dengan *e*anggil *ethod *ulti,ly dan
*en@etak hasilnya
+e*anggilan *ethod set/asio untuk *engeset nilai /1 *en0adi
bentuk ,e@ahan a)alnya dan *enghitung nilai bilangan ,e@ahan
dari /1 dan / dengan *e*anggil *ethod De1ide dan *en@etak
hasilnya
&khir dari kelas /asional%De*o
D( S-,eensh*" P,*g,a0
E( Kes!02+lan
Constru@tor adalah suatu *ethod yang *e*,unyai na*a sa*a dengan
na*a @lass. Constru@tor tidak *e*iliki a@@ess *odifier. Constru@tor
digunakan untuk *enginisialisasi ob0ek dari sebuah @lass.
+erbedaan @onstru@tor dan *ethod yaitu body *ethod dari @onstru@tor
dita*,ilkan saat ob0ek di@i,takan, sedangkan ,ada *ethod dita*,ilkan
ketika *ethod tersebut di,anggil oleh ob0ek.
Method instan adalah *ethod yang da,at *erubah keadaan dari suatu ob0ek
yang telah di@i,takan.
Cara *e*anggilnya yaitu dengan for*at na*aOb0ek.na*aMethod23
F( Sa,an
Bebih di0elaskan lagi *as, *akasih.

You might also like