Top Banner
LABORATORIUM KOMPUTER DASAR PROGRAM STUDI TEKNOLOGIK INFORMASI / ILMU KOMPUTER PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA PRAKTIKUM PEMROGRAMAN LANJUT MODUL 2 Judul Bab : Class Contruktor dan Method Instan Disusun Oleh : Irma Pujadayanti NIM : 135150201111243 Dilaksanakan Tanggal : 26 Maret 2014 Asisten 1 : Aristiawan Asisten 2 : Iqbal Dhea Furqon Tauhid Dosen Pengampu : Ir.Sutrisno,M.T Pengesahan Tanggal: Asisten SEMESTER :GENAP TAHUN : 2013/2014
20

Laporan ku

Jan 21, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Laporan ku

LABORATORIUM KOMPUTER DASAR

PROGRAM STUDI TEKNOLOGIK INFORMASI / ILMU KOMPUTER

PROGRAM TEKNOLOGI INFORMASI DAN ILMU

KOMPUTER

UNIVERSITAS BRAWIJAYA

PRAKTIKUM PEMROGRAMAN LANJUT

MODUL 2

Judul Bab : Class Contruktor dan Method Instan

Disusun Oleh : Irma Pujadayanti

NIM : 135150201111243

Dilaksanakan Tanggal : 26 Maret 2014

Asisten 1 : Aristiawan Asisten 2 : Iqbal Dhea Furqon Tauhid Dosen Pengampu : Ir.Sutrisno,M.T

Pengesahan

Tanggal:

Asisten

SEMESTER :GENAP TAHUN : 2013/2014

Page 2: Laporan ku

A.Definisi Masalah

1.Tambahkan operator – operator lain untuk melengkapi kelas melengkapi kelas

bilangan rasional diatas,seperti : (minimal 5 operator)

Operator unary -=,unary /=,unary *=,unary ++,unary—

Operator <,<=,>=

Operator pembanding ==,pembanding !=

Operator +,=,*,/

B.Sourcode 1 package rasional12;

2

3 import javax.swing.JOptionPane;

4

5 public class Rasional13 {

6 private int pembilang ,penyebut;

7 public Rasional13(){

8 pembilang = 0;

9 penyebut =0;

10 }

11

12 public Rasional13(int pbl , int pyb){//construktor

13 pembilang = pbl;

14 penyebut = pyb;

15 }

16 public void judul(String A){

17 System.out.println("----------------------------------

"); 18 System.out.println(A);

19 System.out.println("----------------------------------

"); 20 }

21 //mengecek suatu bilangan adalah rasional atau bukan

22 public boolean isRasional(){

23 return(penyebut !=0);

24 }

25 //menyederhanakan bilangan rasional

26 public void sederhana(){

27 int temp ,A,B;

28 if (penyebut==0){

29 return;

30 }

Page 3: Laporan ku

31 A=(pembilang<penyebut)?penyebut: penyebut;

32 B=(pembilang<penyebut)?pembilang:penyebut;

33 while(B!=0){

34 temp = A%B;

35 A=B;

36 B=temp;

37 }

38 pembilang/=A;

39 penyebut/=A;

40 }

41 public double Cast(){

42

return(penyebut==0.0)?0.0:(double)pembilang/(double)penyebu

t;

43

44 }

45 //operator >

46 public boolean moreThan(Rasional13 A){

47 return(pembilang*A.penyebut>penyebut*A.pembilang);

48 }

49 //operator Unary - ----> A = - A

50 public void negasi(){

51 pembilang = - pembilang;

52 }

53 //operator +=

54 public void unaryplus(Rasional13 A){

55 pembilang =pembilang*A.penyebut + penyebut*A.pembilang;

56 penyebut*=A.penyebut;

57 }

58 //operator *=

59 public void unaryperkalian(Rasional13 A){

60 pembilang*=A.pembilang;

61 penyebut*=A.penyebut;

62 }

63 //operator *

64 public void perkalian(Rasional13 A){

65 pembilang=pembilang*A.pembilang;

66 penyebut=A.penyebut*penyebut;

67 }

Page 4: Laporan ku

68 //operator pembagian (/) akan tetapi pembagian pecahan

itu harus dirubah keperkalian dengan 69 //dengan cara mengubah posisi pembilang jadi penyebut dan

posisi penyebut jadi pembilang 70 public void pembagian(Rasional13 A){

71 penyebut=penyebut*A.pembilang;

72 pembilang=pembilang * A.penyebut;

73 }

74 //operator -=

75 public void unaryminus(Rasional13 A){

76 pembilang =pembilang*A.penyebut - penyebut*A.pembilang;

77 penyebut*=A.penyebut;

78 }

79 //operator <

80 public boolean kurang(Rasional13 A){

81 double hasil =(double)pembilang/(double)penyebut;

82 double

hasil1=(double)A.pembilang/(double)A.penyebut; 83 return hasil<hasil1;

84 }

85 public void cetak(){

86

JOptionPane.showMessageDialog(null,pembilang+"/"+penyebut); 87 System.out.println(pembilang+"/"+ penyebut);

88 }

89

90 public int getPembilang() {

91 return pembilang;

92 }

93

94 public int getPenyebut() {

95 return penyebut;

96 }

97

98 public void setPembilang(int pembilang) {

99 this.pembilang = pembilang;

100 }

101

102 public void setPenyebut(int penyebut) {

103 this.penyebut = penyebut;

104 }

Page 5: Laporan ku

105

106

107 }

C.Pembahasan

1

3

5

6

7-9

12-14

16-19

21-24

25-40

41-44

45-48

49-52

Nama package rasional12

Melakukan import dari javax swing

Deklarasi kelas dengan nama Rasional13

Deklarasi variabel global atau atribut dengan nama pembilang dan

penyebut

Deklarasi untuk penginisialisasi variabel global

Deklarasi construktor

Deklarasi method dengan nama judul dengan tipe void dimana

berparameter String,deklarasi Proses didalam method judul ini adalah

untuk mencetak header judul program

Deklarasi method dengan nama isRasional dengan tipe boolean

berguna untuk mengetahui bilangan rasional atau tidak dengan

pemgembalian nilai penyebut tidak sama dengan 0 berarti suatu

pecahan yang penyebutnya tidak sama dengan nol adalah rasional

Deklarasi method dengan nama sederhana untuk penyederhanaan

bilangan rasional dengan tipe void, Deklarasi variabel dengan nama

temp,A,B, Deklarasi kondisi jika penyebut = 0 maka ingat dimethod

sebelumnya bahwa bilangan rasional penyebut tidak boleh =0, Proses

A = ini kondisi apakah pembilang kurang dari penyebut jikan iya maka

A = penyebut

Proses B = sama dengan proses A akan tetapi jika iya maka B sebagai

pembilang

Kemudian masuk kedalam perulangan while dimana B tidak sama

dengan 0 dimana jika iya maka temp menyimpan sisa hasil bagi dari A

dan B misal 6%3 adalah 0,setelah itu nilai A = B berarti A = 3

kemudian B= temp berarti B=0 perulangan selesai kemudian masuk

kedalam operasi pembilang/=A berarti 3/3=A kemudian penyebut /=A

maka 6/3=A ,jadi nilai dari pembilang sekarang sama dengan 1 lalu

penyebut 2

Deklarasi method dengan nama Cast dengan tipe double, Deklarasi

proses dengan return nilai dari kondisi apakah penyebut sama dengan

0.0 kalau tidak ubah pecahan tersebut kedalam double

Deklarasi method dengan nama moreThan untuk operator(>),Dengan

tipe boolean dimana akan mereturn nilai true /false operasi dari

(pembilang*A.penyebut>penyebut*A.pembilang);

Deklarasi method dengan nama negasi dengan tipe void, Deklarasi

Page 6: Laporan ku

53-57

58-62

63-67

70-73

74-78

79-84

85-88

90-92

94-96

98-

100

102-

104

prosses negasi dari pembilang.

Deklarasi method dengan nama unaryplus dengan tipe void

berparameter Rasional13 untuk menangkap nilai dari R2, kemudian

Deklarasi proses dari operasi operator += .

Deklarasi method dengan nama unaryperkalian bertipe void dengan

parameter Rasional13 A dimana parameter ini digunakan untuk

menangkap nilai dari R2,kemudian deklarasi proses operator *=.

Deklarasi method dengan nama perkalian bertipe void dengan

parameter Rasional13 A dimana parameter ini digunakan untuk

menangkap nilai dari R2,kemudian deklarasi proses operator *.

Deklarasi method dengan nama pembagian bertipe void dengan

parameter Rasional13 A dimana parameter ini digunakan untuk

menangkap nilai dari R2,kemudian deklarasi proses operator *.

Deklarasi method dengan nama unaryminus bertipe void dengan

parameter Rasional13 A dimana parameter ini digunakan untuk

menangkap nilai dari R2,kemudian deklarasi proses operator -=.

Deklarasi method dengan nama kurang bertipe int dengan parameter

Rasional13 A dimana parameter ini digunakan untuk menangkap nilai

dari R2,kemudian deklarasi proses operator <.

Deklarasi method dengan nama cetak bertipe void dimana terdapat

sintak untuk menampilkan kotak dialog dan gunanya method ini untuk

menampilkan pecahan.

Method dengan nama getPembilang bertipe int dimana mengembalikan

nilai pembilang

Method dengan nama getPenyebut bertipe int dimana mengembalikan

nilai penyebut.

Method bertipe void berparameter int pembilang dengan nama

setPembilang untuk merubah nilai pembilang

Method bertipe void berparameter int pembilang dengan nama

setPembilang untuk merubah nilai pembilang

Lanjutan Sourcode untuk method main

1 package rasional12;

2

3 import java.util.Scanner;

4 import javax.swing.JOptionPane;

5

Page 7: Laporan ku

6 public class Rasional13Tes {

7

8 public static void main(String[] args) {

9 Rasional13 R1 = new Rasional13(1,2);

10 Rasional13 R2 = new Rasional13(1, 3);

11 int pilihan;

12 JOptionPane.showMessageDialog(null,"Selamat Datang

di Operasi Pecahan ^_^"); 13 JOptionPane.showConfirmDialog(null,"Lanjutkan ^_^");

14 do {

15 R1.judul("Selamat Datang di Operasi pecahan");

16 System.out.println("1.Menampilkan Bilangan

rasional"); 17 System.out.println("2.Menampilkan bilangan

pecahan "); 18 System.out.println("3.Operator (>)");

19 System.out.println("4.cast");

20 System.out.println("5.Negasi");

21 System.out.println("6.Operator (+=)");

22 System.out.println("7.Operator (<)");

23 System.out.println("8.Operator (*)");

24 System.out.println("9.Operator (/)");

25 System.out.println("10.Operator (-=)");

26 System.out.println("11.Operator (*=)");

27 pilihan

=Integer.parseInt(JOptionPane.showInputDialog("Masukan

pilihan menu anda :")); 28 switch (pilihan) {

29 case 1:

30 JOptionPane.showMessageDialog(null,

"R1.isRasional : " + R1.isRasional()); 31 JOptionPane.showMessageDialog(null,

"R2.isRasional : " + R2.isRasional()); 32 System.out.println("R1.isRasional : " +

R1.isRasional()); 33 System.out.println("R1.isRasional : " +

R2.isRasional()); 34 break;

35 case 2:

36 JOptionPane.showMessageDialog(null,

"Bilangan Pecahan peratama"); 37 System.out.println("R1 : ");

38 R1.cetak();

39 JOptionPane.showMessageDialog(null,

"Bilangan Pecahan kedua"); 40 System.out.println("R2 : ");

41 R2.cetak();

Page 8: Laporan ku

42 R1.sederhana();

43 R2.sederhana();

44 break;

45 case 3:

46 JOptionPane.showMessageDialog(null,

"R1>R2" + R1.moreThan(R2)); 47 System.out.println("R1> R2" +

R1.moreThan(R2)); 48 System.out.println();

49 break;

50 case 4:

51

JOptionPane.showMessageDialog(null,"\nsetelah dilakukan Cast

double menjadi : \n "+R1.Cast()+"\n"+R2.Cast());

52 System.out.println("setelah dilakukan

Cast double menjadi : "); 53 System.out.println("R1 : " + R1.Cast());

54 System.out.println("R1 : " + R2.Cast());

55 System.out.println();

56 break;

57 case 5:

58 R1.negasi();

59 System.out.println(" (-R1)");

60 R1.cetak();

61 System.out.println();

62 break;

63 case 6:

64 R1.unaryplus(R2);

65

JOptionPane.showMessageDialog(null,"Hasil dari R1 += R2"); 66 System.out.println("Nilai dari 'R1 +=R2'

: "); 67 R1.cetak();

68 System.out.println();

69 break;

70 case 7:

71 R1.setPembilang(1);

72 R1.negasi();

73 R1.setPenyebut(2);

74 JOptionPane.showMessageDialog(null,

"R1<R2" + R1.kurang(R2)); 75 System.out.println("R1 < R2" +

R1.kurang(R2)); 76 System.out.println();

77 break;

78 case 8:

Page 9: Laporan ku

79 R1.setPembilang(1);

80 R1.negasi();

81 R1.setPenyebut(2);

82

JOptionPane.showMessageDialog(null,"Nilai dari R2 * R2"); 83 System.out.println("Nilai dari R2 *

R1"); 84 R1.perkalian(R2);

85 R1.cetak();

86 System.out.println();

87 break;

88 case 9:

89 R1.setPenyebut(2);

90 R1.setPembilang(1);

91 R1.negasi();

92

JOptionPane.showMessageDialog(null,"Nilai dari R1/R2"); 93 System.out.println("Nilai dari R1/R2");

94 R1.pembagian(R2);

95 R1.cetak();

96 System.out.println();

97 break;

98 case 10:

99 R1.setPembilang(1);

100 R1.negasi();

101 R1.setPenyebut(2);

102 R1.unaryminus(R2);

103

JOptionPane.showMessageDialog(null,"Nilai dari 'R1-=R2 '"); 104 System.out.println("Nilai dari 'R1 -=R2'

: "); 105 R1.cetak();

106 System.out.println();

107 break;

108 case 11:

109 R1.setPembilang(1);

110 R1.negasi();

111 R1.setPenyebut(2);

112 R1.unaryperkalian(R2);

113

JOptionPane.showMessageDialog(null,"Nilai dari R1*=R2"); 114 System.out.println("Nilai dari 'R1 *=R2'

: "); 115 R1.cetak();

Page 10: Laporan ku

116 System.out.println();

117 break;

118 default:

119

JOptionPane.showMessageDialog(null,"Operasi Pecahan sudah

selesai ^_^ ");

120 System.out.println("Selesai");

121 }

122 } while (pilihan < 12);

123 }

124

125 }

Lanjutan pembahasan untuk yang dimethod main

1

6

8

9

10

11

Kelas lanjutan dari package rasional12

Dengan nama kelas Rasional13Tes

Deklarasi method main untuk eksekusi kelas Rasional13

Deklarasi penciptaan objek R1 sebagi pecahan 1 dengan nilai(1,2)

Deklarasi penciptaan objek R2 sebagai pecahan 2 dengan nilai(1,3)

Deklarasi valiabel pilihan

ini adalah pembukaan program atau

kata sambutan dalam yang dijumpai pada saat pertama kali run file pada

baris 12

Kemudian muncul kotak pesan untuk

konfirmasi lanjutan dan ini klik yes pada

baris 13

kemudian akan muncul pesan masukkan menu yang ingin tampilkan

,cacatan dimana nomor dari menu harus sesuai dengan urutan agar inputan

sesuai,pada baris 27

Page 11: Laporan ku

ini adalah outputnya pilihan menu 1 dan

case pertama sintak pada baris 29 - 34

ini juga output pilihan menu 1 dan case

pertama ,sintak pada baris 29-34

ini hasil output case 2 pilihan menu 2

,dengan sintak pada baris 35-44

nilai pecahan pertama

Page 12: Laporan ku

tampilan pecahan kedua hasil dari baris

35-44

nilai dari pecahan kedua

case ketiga menampilkan operator (>)

hasil output pada baris 45 - 49

case keempat menampilkan cast hasil

dari baris 50 - 56

case kelima menampilkan negasi

dengan hasil dari baris 57 - 62

case keenam menampilkan operasi

unaryplus pada baris 63 -69

Page 13: Laporan ku

Hasil dari case keenam

Case ketujuh menampilkan hasil dari

operator( < )pada baris 70 -77

Case delapan menampilkan hasil dari

operator (*) 78 -87

case kesembilan untuk menampilkan

operator (/) hasil dari baris 88-97

case kesepuluh menampilkan operator

unaryminus hasil dari baris 98-107

Page 14: Laporan ku

case kesebelas menampilkan hasil dari

operator (=*) hasil dari baris 108-117

pesan ini akan muncul pada saat nomor

pemilihan tidak sesuai pada perulangan

switch case 118-120

D.Screen Shoot

Page 15: Laporan ku
Page 16: Laporan ku
Page 17: Laporan ku
Page 18: Laporan ku
Page 19: Laporan ku
Page 20: Laporan ku

Kesimpulan

1. Pengertian Contruktor adalah Constructor merupakan suatu method yang

akan memberikan nilai awal pada saat suatu objek dibuat. Pada saat

program dijalankan, constructor akan langsung memberikan nilai awal

pada saat perintah new, membuat suatu objek

2. Perbedaan contruktor dan method,kalau contruktor namanya harus sama

dengan nama kelas dimana tidak memiliki tipe data yang meyebabkan dia

memili nilai pengembalian maupun tipe void yang tidak mempunyai nilai

pengembalian,kalau method namanya tidak sama dengan kelasnya

mempunyai 2 tipe yaitu return ataupun void.

3. Method instan adalah suatu method yang kelasnya memiliki method

yang terkait dengan instan tertentu, saat method instan tersebut di

panggil maka dia akan mengakses data yang terdapat pada instan yang di

kaitkannya.

4. Dengan menggunakan keyword this . keyword ini digunakan untuk

mengakses klass instan / objek, keyword this diperlukan untuk

membedakan pengaksesan varuabel kelas dan method variabel yang

mempunyai nama yang sama.

Saran

Sebaiknya praktikum minggu depan kakak – kakak asistennya lebih banyak

memotivasi kita,biar kita semangat.