Anda di halaman 1dari 23

LABORATORIUM PEMBELAJARAN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER


UNIVERSITAS BRAWIJAYA

BAB : CONSTRUCTOR DAN INSTANCE METHOD


NAMA : FATHAN MUBINA
NIM : 185150400111055
TANGGAL : 12/02/2019
ASISTEN : MUHAMMAD ILHAM MAKSUM

A. DEFINISI MASALAH

Dari jawaban bab 1, implementasikan hal-hal berikut di dalam class :


1. Tambahkan attribute ‘sinopsis’ (minimal 10 kata),
2. Constructor pada semua attribute yang ada,
3. Method hitung jumlah kata pada atribut synopsis,
4. Method cek tingkat kesamaan, dengan parameter object lain dan nilai kembalian 0-
100% sesuai kesamaan attribute kedua object,
5. Method copy yang mengembalikan object yang nilainya sama.

B. SOURCE CODE

praktikum1.java
1 package praktikum1;
2 public class Praktikum1 {
3 String judul, penulis, sinopsis;
4 int tahun;
5 public static void main(String[] args) {

6 System.out.println("Kategori Teknologi");
7 Buku tekno1 = new Buku();
8 tekno1.judul("Teknologi Big Data");
9 tekno1.penulis("W.M Wijaya, B.Eng., M.Eng.");
10 tekno1.sinopsis("Buku yang mengambarkan Teknologi
Big Data secara menarik dan edukatif");
11 tekno1.tahun(2015);
12 tekno1.tampilkan();
13 Buku tekno2 = new Buku();
14 tekno2.judul("Buku Sakti Hacker ");
15 tekno2.penulis("Efvy Zam");
16 tekno2.sinopsis("Buku yang mengambarkan ilmu
hacking pemula secara menarik dan edukatif");
17 tekno2.tahun(2011);
18 tekno2.tampilkan();
19 Buku tekno3 = new Buku();
20 tekno3.judul("Jaringan Komputer dan Data");
21 tekno3.penulis("Indrarini Dyah Irawati, M.T. \n
Leanna Vidya Yovita, M.T.");
22 tekno3.sinopsis("Buku yang mengambarkan tentang
Jaringan komputer dan data secara menarik dan edukatif");
23 tekno3.tahun(2012);
24 tekno3.tampilkan();
25 Buku tekno4 = new Buku();
26 tekno4.judul("Tips Mengoptimalkan Google AdSense");
27 tekno4.penulis("James Timothy");
28 tekno4.sinopsis("Buku yang mengambarkan penggunaan
29 AdSense menarik dan edukatif");
tekno4.tahun(2018);
30 tekno4.tampilkan();
31 Buku tekno5 = new Buku();
32 tekno5.judul("The Apple Way");
33 tekno5.penulis("Jeffrey L. Cruikshank");
34 tekno5.sinopsis("Buku yang mengambarkan cara
35 berpikir Apple secara menarik dan edukatif");
tekno5.tahun(2005);
36 tekno5.tampilkan();
37 System.out.println("Kategori Filsafat");
38 Buku filsuf1 = new Buku();
39 filsuf1.judul("Republik");
40 filsuf1.penulis("Plato");
41 filsuf1.sinopsis("Buku yang mengambarkan pemikiran
42 seorang plato secara menarik dan edukatif");
filsuf1.tahun(380);
43 filsuf1.tampilkan();
44 Buku filsuf2 = new Buku();
45 filsuf2.judul("Kritik atas Nalar Murni");
46 filsuf2.penulis("Immanuel Kant");
47 filsuf2.sinopsis("Buku yang mengambarkan Teori
48 Kritik atas nalar murni secara menarik dan edukatif");
filsuf2.tahun(1781);
49 filsuf2.tampilkan();
50 Buku filsuf3 = new Buku();
51 filsuf3.judul("A Brief History of Time");
52 filsuf3.penulis("Sthepen Hawking");
53 filsuf3.sinopsis("Buku yang mengambarkan teori
54 perjalanan waktu secara menarik dan edukatif");
filsuf3.tahun(1988);
55 filsuf3.tampilkan();
56 Buku filsuf4 = new Buku();
57 filsuf4.judul("A Theory of Justice");
58 filsuf4.penulis("John Rawis");
59 filsuf4.sinopsis("Buku yang mengambarkan Teori
60 keadilan John Rawis secara menarik dan edukatif");
filsuf4.tahun(1971);
61 filsuf4.tampilkan();
62 Buku filsuf5 = new Buku();
63 filsuf5.judul("The Nicomachean Ethics");
64 filsuf5.penulis("Aristoteles");
65 filsuf5.sinopsis("Buku yang mengambarkan Teori
66 Aristoteles tentang etika nicomachean secara menarik dan
edukatif");
filsuf5.tahun(1850);
67 filsuf5.tampilkan();
68 System.out.println("Kategori Sejarah");
69 Buku sej1= new Buku();
70 sej1.judul("Api Sejarah");
71 sej1.penulis("Ahmad Mansur");
72 sej1.sinopsis("Buku yang menceritakan tentang api
73 sejarah secara menarik dan edukatif");
sej1.tahun(2009);
74 sej1.tampilkan();
75 Buku sej2 = new Buku();
76 sej2.judul("This Earth of Mankind");
77 sej2.penulis("Pramoedya Ananta Toer");
78 sej2.sinopsis("Buku yang menceritakan sejarah
79 manusia di muka bumi secara menarik dan edukatif");
sej2.tahun(1980);
80 sej2.tampilkan();
81 Buku sej3 = new Buku();
82 sej3.judul("Conspirata");
83 sej3.penulis("Robert Harris");
84 sej3.sinopsis("Buku yang menceritakan konspirata
85 oleh Robert Harris secara menarik dan edukatif");
sej3.tahun(2009)
86 sej3.tampilkan();
87 Buku sej4= new Buku();
88 sej4.judul("Dictator");
89 sej4.penulis("Robert Harris");
90 sej4.sinopsis("Buku yang menceritakan sejarah
Dictator oleh Robert Harris secara menarik dan edukatif");
91 sej4.tahun(2015);
92 sej4.tampilkan();
93 Buku sej5 = new Buku();
94 sej5.judul("The Great Transformation");
95 sej5.penulis("Karen Armstrong");
96 sej5.sinopsis("Buku yang menceritakan sejarah
perubahan besar secara menarik dan edukatif");
97 sej5.tahun(2006);
98 sej5.tampilkan();
99
100 System.out.println("Kategori Agama");
101 Buku aga1= new Buku();
102 aga1.judul("Ushul Fiqh");
103 aga1.penulis("Dedi Supriadi");
104 aga1.sinopsis("Buku yang menjelaskan Tentang
kategori dalam agama menarik dan edukatif");
105 aga1.tahun(2011);
106 aga1.tampilkan();
107 Buku aga2 =new Buku();
108 aga2.judul("10 Kuliah Agama Islam");
109 aga2.penulis("Dr. Adian Husaini, M.Si.");
110 aga2.sinopsis("Buku yang menjelaskan 10 kuliah
agama islam secara menarik dan edukatif");
111 aga2.tahun(2016);
112 aga2.tampilkan();
113 Buku aga3= new Buku ();
114 aga3.judul("Zikir Akhir Zaman");
115 aga3.penulis("Abu Fatiah al Adhani");
116 aga3.sinopsis("Buku yang menjelaskan zikir di akhir
zaman secara menarik dan edukatif");
117 aga3.tahun(2013);
118 aga3.tampilkan();
119 Buku aga4 = new Buku();
120 aga4.judul("Tanda-tanda Ikhlas Seorang Hamba");
121 aga4.penulis("Abdullah Gymnastiar");
122 aga4.sinopsis("Buku yang menjelaskan Tanda
keikhlasan seorang hamba secara menarik dan edukatif");
123 aga4.tahun(2011);
124 aga4.tampilkan();
125 Buku aga5= new Buku();
126 aga5.judul("Di Bawah Naungan 'Arsy");
127 aga5.penulis("Ustadz Rizem Aizid");
128 aga5.sinopsis("Buku yang menjelaskan dibawah
naungan 'arsy secara menarik dan edukatif");
129 aga5.tahun(2017);
130 aga5.tampilkan();
131
132 System.out.println("Kategori Psikologi");
133 Buku psi1 = new Buku();
134 psi1.judul("Authentic Happiness");
135 psi1.penulis("Martin Seligman");
136 psi1.sinopsis("Buku yang menjelaskan Tentang
kebahagiaan autentik secara menarik dan edukatif");
137 psi1.tahun(2002);
138 psi1.tampilkan();
139 Buku psi2 = new Buku();
140 psi2.judul("Outliers");
141 psi2.penulis("Malcolm Gladwell");
142 psi2.sinopsis("Buku yang menjelaskan cara berpikir
bijak secara menarik dan edukatif");
143 psi2.tahun(2008);
144 psi2.tampilkan();
145 Buku psi3 = new Buku();
146 psi3.judul("The Psychology of Child");
147 psi3.penulis("Jean Piaget\n Barbel
Inhelder");
148 psi3.sinopsis("Buku yang menjelaskan tentang
psikologi anak kecil secara menarik dan edukatif");
149 psi3.tahun(1966);
150 psi3.tampilkan();
151 Buku psi4 = new Buku();
152 psi4.judul("Emotional Intelligence");
153 psi4.penulis("Daniel Goleman");
154 psi4.sinopsis("Buku yang menjelaskan kecerdasan
emosional secara menarik dan edukatif");
155 psi4.tahun(1995);
156 psi4.tampilkan();
157 Buku psi5 = new Buku();
158 psi5.judul("Psikologi Positif: Pendekatan Saintifik
menuju Kebahagiaan");
159 psi5.penulis("Imam Setiadi");
160 psi5.sinopsis("Buku yang mengambarkan Tentang
psikologi yang positif secara menarik dan edukatif");
161 psi5.tahun(2016);
162 psi5.tampilkan();
163
164 System.out.println("Kategori Politik");
165 Buku pol1= new Buku();
166 pol1.judul("Who Rules the World?");
167 pol1.penulis("Noam Chomsky");
168 pol1.sinopsis("Buku yang mengambarkan kehidupan
politik dunia secara menarik dan edukatif");
169 pol1.tahun(2016);
170 pol1.tampilkan();
171 Buku pol2 = new Buku();
172 pol2.judul("Das Kapital");
173 pol2.penulis("Karl Marx");
174 pol2.sinopsis("Buku yang mengambarkan teori politik
karl marx secara menarik dan edukatif");
175 pol2.tahun(1867);
176 pol2.tampilkan();
177 Buku pol3 = new Buku();
178 pol3.judul("Troubled Transit");
179 pol3.penulis("Antje Missbach");
180 pol3.sinopsis("Buku yang mengambarkan Tentang
permasalahan pada masa transisi secara menarik dan
edukatif");
181 pol3.tahun(2015);
182 pol3.tampilkan();
183 Buku pol4 = new Buku();
184 pol4.judul("Politik Etnik");
185 pol4.penulis("Sofyan Sjaf");
186 pol4.sinopsis("Buku yang mengambarkan Tentang
politik etnik secara menarik dan edukatif");
187 pol4.tahun(2014);
188 pol4.tampilkan();
189 Buku pol5 = new Buku();
190 pol5.judul("Discourses on Livy");
191 pol5.penulis("Niccolo Machiavelli");
192 pol5.sinopsis("Buku yang mengambarkan Teori dan
sejarah politik secara menarik dan edukatif");
193 pol5.tahun(1531);
194 pol5.tampilkan();
195
196 System.out.println("Kategori Fiksi");
197 Buku fik1= new Buku();
198 fik1.judul("Never Fade");
199 fik1.penulis("Alexandra Bracken");
200 fik1.sinopsis("Buku yang menceritakan kisah cinta
yang tidak pernah pudar selamanya");
201 fik1.tahun(2013);
202 fik1.tampilkan();
203 Buku fik2= new Buku();
204 fik2.judul("Cantik itu Luka");
205 fik2.penulis("Eka Kurniawan");
206 fik2.sinopsis("Buku yang menceritakan kisah cinta
keindahan fisik yang menjadi sumber masalah");
207 fik2.tahun(2002);
208 fik2.tampilkan();
209 Buku fik3= new Buku();
210 fik3.judul("Divergent");
211 fik3.penulis("Veronica Roth");
212 fik3.sinopsis("Buku yang menceritakan kehidupan
teknologi yang maju dalam pertarungan hidup dan mati");
213 fik3.tahun(2011);
214 fik3.tampilkan();
215 Buku fik4 = new Buku();
216 fik4.judul("Harry Potter and the Sorcerers Stone");
217 fik4.penulis("J.K. Rowling");
218 fik4.sinopsis("Buku yang menceritakan seorang
pemuda yang memiliki kekuatan sihir bersama temannya");
219 fik4.tahun(1997);
220 fik4.tampilkan();
221 Buku fik5 = new Buku();
223 fik5.judul("Metro 2033");
224 fik5.penulis("Dmitry Glukhovsky");
225 fik5.sinopsis("Buku yang menceritakan dunia ketika
terjangkit bom nuklir dan hidup dengan makhluk
terinfeksi");
226 fik5.tahun(2005);
227 fik5.tampilkan();
228 System.out.println("=======================");
229
230 System.out.println("Jumlah kesamaan dua objek
231 sebanyak: "+fik1.cekSama(psi5, pol1)+"%");
System.out.println("=======================");
232 tekno1.copy(psi5);
233 }
234 }
235

Buku.java
1 package praktikum1;
2 public class Buku {
3 String judul, penulis, sinopsis;
4 int tahun, sama;
5 public Buku (){}
6 public Buku (String judul,String penulis, String
sinopsis, int tahunTerbit){
7 this.judul=judul;
8 this.penulis=penulis;
9 this.sinopsis=sinopsis;
10 tahunTerbit=tahun;
11 }
12
13 public void judul (String judul){
14 this.judul=judul;
15 }
16 public void penulis(String penulis){
17 this.penulis=penulis;
18 }
19 public void sinopsis (String sinopsis){
20 this.sinopsis=sinopsis;
21 }
22 public void tahun (int tahun){
23 this.tahun=tahun;
24 }
25 public int panjangKata(String sinopsis){
26 String panjang[];
27 panjang=sinopsis.split(" ");
28 int kata= panjang.length;
29 return kata;
30 }
31 public double cekSama (Buku pertama, Buku kedua){
32 sama = 0;
33 if (pertama.judul.equalsIgnoreCase(kedua.judul))
sama++;
34 if
(pertama.penulis.equalsIgnoreCase(kedua.penulis)) sama++;
35 if
(pertama.sinopsis.equalsIgnoreCase(kedua.sinopsis)) sama++;
36 if (pertama.tahun == kedua.tahun)sama++;
37 return (int) sama * (25);
38
39 }
40 public void copy(Buku a){
41 judul =a.judul;
42 penulis =a.penulis;
43 sinopsis =a.sinopsis;
44 tahun =a.tahun;
45 tampilkan();
46 }
47
48 public void tampilkan(){
49 System.out.println("Judul : "+judul);
50 System.out.println("Penulis : "+penulis);
51 System.out.println("Sinopsis : "+sinopsis);
52 System.out.println("Tahun terbit : "+tahun);
53 System.out.println("Jumlah Kata :
"+panjangKata(sinopsis));
54 }
55 }

C. PEMBAHASAN
praktikum1.java
1 Mengimport package praktikum1
2 Deklarasi kelas public praktikum1
3 Deklarasi variabel judul, penulis dan synopsis bertipe string
4 Deklarasi variabel tahun bertipe int
5 Deklarasi method utama.
6 Pemisah method dengan jarak spasi (hanya di source kode)
7 Mencetak kalimat kategori teknologi.
8 Membuat instansiasi objek kelas Buku dengan nama tekno1
9 Pemanggilan method judul dengan tulisan “Teknologi Big Data” dan disimpan
di variabel tekno1
10 Pemanggilan method penulis dengan tulisan “W.M Wijaya, B.Eng” dan
disimpan di variabel tekno1.
11 Pemanggilan method tahun dengan tulisan “2015” dan disimpan di variabel
tekno1
12 Pengisian objek tekno1.sinopsis yang berisi synopsis buku.
13 Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
14. Membuat instansiasi objek kelas Buku dengan nama tekno2
15. Pemanggilan method judul dengan tulisan “Buku Sakti Hacker” dan disimpan
di variabel tekno2
16. Pemanggilan method penulis dengan tulisan “Efvy Zam “dan disimpan di
variabel tekno2.
17. Pengisian objek tekno2.sinopsis yang berisi synopsis buku.
18 Pemanggilan method tahun dengan tulisan “2011” dan disimpan di variabel
tekno2
19. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik
20. Membuat instansiasi objek kelas Buku dengan nama tekno3
21. Pemanggilan method judul dengan tulisan “Jaringan Komputer dan Data” dan
disimpan di variabel tekno3
22. Pemanggilan method penulis dengan tulisan “Indrarini Dyah Irawati dan Lenna
Vidya Yovita” dan disimpan di variabel tekno3.
23. Pengisian objek tekno3.sinopsis yang berisi synopsis buku.
24. Pemanggilan method tahun dengan tulisan “2012” dan disimpan di variabel
tekno3
25 Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik
26. Membuat instansiasi objek kelas Buku dengan nama tekno4
27. Pemanggilan method judul dengan tulisan “Tips Mengoptimalkan Google
AdSense” dan disimpan di variabel tekno4
28. Pemanggilan method penulis dengan tulisan “James Timothy” dan disimpan di
variabel tekno4.
29. Pengisian objek tekno4.sinopsis yang berisi synopsis buku.
30. Pemanggilan method tahun dengan tulisan “2018” dan disimpan di variabel
tekno4
31. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik
32. Membuat instansiasi objek kelas Buku dengan nama tekno5
33. Pemanggilan method judul dengan tulisan “The Apple Way” dan disimpan di
variabel tekno5
34. Pemanggilan method penulis dengan tulisan “Jeffrey L. Cruikshank” dan
disimpan di variabel tekno5.
35. Pengisian objek tekno5.sinopsis yang berisi synopsis buku.
36. Pemanggilan method tahun dengan tulisan “2012” dan disimpan di variabel
tekno5
37. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik
38. Mencetak kalimat kategori Filsafat.
39. Membuat instansiasi objek kelas Buku dengan nama filsuf1
40. Pemanggilan method judul dengan tulisan “Republik” dan disimpan di variabel
filsuf1
41. Pemanggilan method penulis dengan tulisan “Plato” dan disimpan di variabel
perpus.
42. Pengisian objek filsuf1.sinopsis yang berisi synopsis buku.
43. Pemanggilan method tahun dengan tulisan “380” dan disimpan di variabel
filsuf1
44. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
45. Membuat instansiasi objek kelas Buku dengan nama filsuf2
46 Pemanggilan method judul dengan tulisan “Kritik atas Nalar Murni” dan
disimpan di variabel filsuf2
47. Pemanggilan method penulis dengan tulisan “Immanuel Kant “dan disimpan di
variabel filsuf2.
48. Pengisian objek filsuf2.sinopsis yang berisi synopsis buku.
49. Pemanggilan method tahun dengan tulisan “1781” dan disimpan di variabel
filsuf2
50. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
51. Membuat instansiasi objek kelas Buku dengan nama filsuf3
52. Pemanggilan method judul dengan tulisan “A Brief History of Time” dan
disimpan di variabel filsuf3
53. Pengisian objek filsuf3.sinopsis yang berisi synopsis buku.
54. Pemanggilan method penulis dengan tulisan “Sthepen Hawking” dan disimpan
di variabel filsuf3.
55. Pemanggilan method tahun dengan tulisan “1988” dan disimpan di variabel
filsuf3
56. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
57. Membuat instansiasi objek kelas Buku dengan nama filsuf4
58. Pemanggilan method judul dengan tulisan “A Theory of Justice” dan disimpan
di variabel filsuf4
59. Pemanggilan method penulis dengan tulisan “John Rawis “dan disimpan di
variabel filsuf4.
60. Pengisian objek filsuf4.sinopsis yang berisi synopsis buku.
61. Pemanggilan method tahun dengan tulisan “1971” dan disimpan di variabel
filsuf4
62. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
63. Membuat instansiasi objek kelas Buku dengan nama filsuf5
64. Pemanggilan method judul dengan tulisan “The Nicomachean Ethics” dan
disimpan di variabel filsuf5
65. Pemanggilan method penulis dengan tulisan “Aristoteles“dan disimpan di
variabel filsuf5.
66. Pengisian objek filsuf5.sinopsis yang berisi synopsis buku.
67. Pemanggilan method tahun dengan tulisan “1850” dan disimpan di variabel
filsuf5
68. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
69. Mencetak kalimat kategori Sejarah.
70. Membuat instansiasi objek kelas Buku dengan nama sej1
71. Pemanggilan method judul dengan tulisan “Api Sejarah” dan disimpan di
variabel sej1
72. Pemanggilan method penulis dengan tulisan “Ahmad Mansur” dan disimpan di
variabel sej1.
73. Pengisian objek sej1.sinopsis yang berisi synopsis buku.
74. Pemanggilan method tahun dengan tulisan “2009” dan disimpan di variabel sej1
75. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
76. Membuat instansiasi objek kelas Buku dengan nama sej2
77. Pemanggilan method judul dengan tulisan “This Earth of Mankind” dan
disimpan di variabel sej2
78. Pemanggilan method penulis dengan tulisan “Pramoedya Ananta Noer“dan
disimpan di variabel sej2.
79. Pengisian objek sej2.sinopsis yang berisi synopsis buku.
80. Pemanggilan method tahun dengan tulisan “1980” dan disimpan di variabel sej2
81. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
82. Membuat instansiasi objek kelas Buku dengan nama sej3
83. Pemanggilan method judul dengan tulisan “Conspiranta” dan disimpan di
variabel sej3
84. Pemanggilan method penulis dengan tulisan “Robert Harris” dan disimpan di
variabel sej3.
85. Pengisian objek sej3.sinopsis yang berisi synopsis buku.
86. Pemanggilan method tahun dengan tulisan “2009” dan disimpan di variabel sej3
87. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
88. Membuat instansiasi objek kelas Buku dengan nama sej4
89. Pemanggilan method judul dengan tulisan “Dictator” dan disimpan di variabel
sej4
90. Pemanggilan method penulis dengan tulisan “Robert Harris“dan disimpan di
variabel sej4.
91. Pengisian objek sej4.sinopsis yang berisi synopsis buku.
92. Pemanggilan method tahun dengan tulisan “2015” dan disimpan di variabel sej4
93. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
94. Membuat instansiasi objek kelas Buku dengan nama sej5
95. Pemanggilan method judul dengan tulisan “The Great Transformation” dan
disimpan di variabel sej5
96. Pengisian objek sej5.sinopsis yang berisi synopsis buku.
97. Pemanggilan method penulis dengan tulisan “Karen Armstrong“dan disimpan
di variabel sej5.
98. Pemanggilan method tahun dengan tulisan “2006” dan disimpan di variabel sej5
99. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
100. Memberi jarak sebanyak 1 spasi.
101 Mencetak kalimat kategori Agama.
102. Membuat instansiasi objek kelas Buku dengan nama aga1
103 Pemanggilan method judul dengan tulisan “Ushul Fiqh” dan disimpan di
variabel aga1
104. Pemanggilan method penulis dengan tulisan “Dedi Supriadi” dan disimpan di
variabel aga1.
105. Pengisian objek aga1.sinopsis yang berisi synopsis buku.
106. Pemanggilan method tahun dengan tulisan “2011” dan disimpan di variabel
aga1
107. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
108. Membuat instansiasi objek kelas Buku dengan nama aga2
109. Pemanggilan method judul dengan tulisan “10 Kuliah Agama dalam Islam” dan
disimpan di variabel aga2
110. Pemanggilan method penulis dengan tulisan “Dr. Adian Husaini, M.Si.“ dan
disimpan di variabel aga2.
111. Pengisian objek aga2.sinopsis yang berisi synopsis buku.
112. Pemanggilan method tahun dengan tulisan “2016” dan disimpan di variabel
aga2
113. Membuat instansiasi objek kelas Buku dengan nama aga3
114. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
115. Pemanggilan method judul dengan tulisan “Zikir Akhir Zaman” dan disimpan
di variabel aga3
116. Pemanggilan method penulis dengan tulisan “Abu Fatiah al Adhani” dan
disimpan di variabel aga3.
117. Pengisian objek aga3.sinopsis yang berisi synopsis buku.
118. Pemanggilan method tahun dengan tulisan “2013” dan disimpan di variabel
aga3
119. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
120. Membuat instansiasi objek kelas Buku dengan nama aga4
121. Pemanggilan method judul dengan tulisan “Tanda-tanda Ikhlas Seorang
Hambar” dan disimpan di variabel aga4
122. Pemanggilan method penulis dengan tulisan “Abdullah Gymnastiar“dan
disimpan di variabel aga4.
123. Pengisian objek aga4.sinopsis yang berisi synopsis buku.
124. Pemanggilan method tahun dengan tulisan “2015” dan disimpan di variabel
aga4
125. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
126. Membuat instansiasi objek kelas Buku dengan nama aga5
127. Pemanggilan method judul dengan tulisan “Di Bawah Naungan 'Arsy” dan
disimpan di variabel aga5
128. Pemanggilan method penulis dengan tulisan “Ustadz Rizem Aizid “dan
disimpan di variabel aga5.
129. Pengisian objek aga5.sinopsis yang berisi synopsis buku.
130. Pemanggilan method tahun dengan tulisan “2017” dan disimpan di variabel
aga5
131. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
132. Memberi jarak sebanyak 1 spasi.
133. Mencetak kalimat kategori Psikologi.
134. Membuat instansiasi objek kelas Buku dengan nama psi1
135. Pemanggilan method judul dengan tulisan “Authentic Happiness” dan disimpan
di variabel psi1
136. Pemanggilan method penulis dengan tulisan “Martin Seligman” dan disimpan
di variabel psi1.
137. Pengisian objek psi1.sinopsis yang berisi synopsis buku.
138. Pemanggilan method tahun dengan tulisan “2002” dan disimpan di variabel
psi1
139. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
140. Membuat instansiasi objek kelas Buku dengan nama psi2
141. Pemanggilan method judul dengan tulisan “Outliers” dan disimpan di variabel
psi2
142. Pemanggilan method penulis dengan tulisan “Malcolm Gladwell.“ dan
disimpan di variabel psi2.
143. Pengisian objek psi2.sinopsis yang berisi synopsis buku.
144. Pemanggilan method tahun dengan tulisan “2008” dan disimpan di variabel
psi2
145. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
146. Membuat instansiasi objek kelas Buku dengan nama psi3
147. Pemanggilan method judul dengan tulisan “The Psychology of Child” dan
disimpan di variabel psi3
148. Pemanggilan method penulis dengan tulisan “Jean Piaget dan Barbel Inhelder”
dan disimpan di variabel psi3.
149. Pengisian objek psi3.sinopsis yang berisi synopsis buku.
150. Pemanggilan method tahun dengan tulisan “1966” dan disimpan di variabel
psi3
151. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
152. Membuat instansiasi objek kelas Buku dengan nama psi4
153. Pemanggilan method judul dengan tulisan “Emotional Intelligence” dan
disimpan di variabel psi4
154. Pemanggilan method penulis dengan tulisan “Daniel Goleman “dan disimpan di
variabel psi4.
155. Pengisian objek psi4.sinopsis yang berisi synopsis buku.
156. Pemanggilan method tahun dengan tulisan “1995” dan disimpan di variabel
psi4
157. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
158. Membuat instansiasi objek kelas Buku dengan nama psi5
159 Pemanggilan method judul dengan tulisan “Psikologi Positif: Pendekatan
Saintifik menuju Kebahagiaan” dan disimpan di variabel psi4
160. Pemanggilan method penulis dengan tulisan “Imam Setiadi “dan disimpan di
variabel psi4.
161. Pengisian objek psi5.sinopsis yang berisi synopsis buku.
162. Pemanggilan method tahun dengan tulisan “2016” dan disimpan di variabel
psi5
163. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
164. Memberi jarak sebanyak 1 spasi.
165. Mencetak kalimat kategori Politik.
166. Membuat instansiasi objek kelas Buku dengan nama pol1
167. Pemanggilan method judul dengan tulisan “Who Rules the World?” dan
disimpan di variabel pol1
168. Pemanggilan method penulis dengan tulisan “Noam Chomsky” dan disimpan di
variabel pol1.
169. Pengisian objek pol1.sinopsis yang berisi synopsis buku.
170. Pemanggilan method tahun dengan tulisan “2016” dan disimpan di variabel
pol1
171. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
172. Membuat instansiasi objek kelas Buku dengan nama pol2
173. Pemanggilan method judul dengan tulisan “Das Kapital” dan disimpan di
variabel pol2
174. Pemanggilan method penulis dengan tulisan “Karl Marx“ dan disimpan di
variabel pol2.
175. Pengisian objek pol2.sinopsis yang berisi synopsis buku.
176. Pemanggilan method tahun dengan tulisan “1867” dan disimpan di variabel
pol2
177. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
178. Membuat instansiasi objek kelas Buku dengan nama pol3
179. Pemanggilan method judul dengan tulisan “Troubled Transit” dan disimpan di
variabel pol3
180. Pemanggilan method penulis dengan tulisan “Antje Missbach” dan disimpan di
variabel pol3.
181. Pengisian objek pol3.sinopsis yang berisi synopsis buku.
182. Pemanggilan method tahun dengan tulisan “2015” dan disimpan di variabel
pol3
183. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
184. Membuat instansiasi objek kelas Buku dengan nama pol4
185. Pemanggilan method judul dengan tulisan “Politik Etnik” dan disimpan di
variabel pol4
186. Pemanggilan method penulis dengan tulisan “Sofyan Sjaf “dan disimpan di
variabel perpus.
187. Pengisian objek pol4.sinopsis yang berisi synopsis buku.
188. Pemanggilan method tahun dengan tulisan “2014” dan disimpan di variabel
pol4
189. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
190. Membuat instansiasi objek kelas Buku dengan nama pol5
191. Pemanggilan method judul dengan tulisan “Discourses on Livy” dan disimpan
di variabel pol5
192. Pemanggilan method penulis dengan tulisan “Niccolo Machiavelli “dan
disimpan di variabel pol5
193. Pengisian objek pol5.sinopsis yang berisi synopsis buku..
194. Pemanggilan method tahun dengan tulisan “1531” dan disimpan di variabel
pol5
195. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
196. Memberi jarak sebanyak 1 spasi.
197. Mencetak kalimat kategori Fiksi.
198. Membuat instansiasi objek kelas Buku dengan nama fik1
199. Pemanggilan method judul dengan tulisan “Never Fade” dan disimpan di
variabel fik1
200. Pemanggilan method penulis dengan tulisan “Alexandra Bracken” dan
disimpan di variabel fik1.
201. Pengisian objek fik1.sinopsis yang berisi synopsis buku.
202. Pemanggilan method tahun dengan tulisan “2013” dan disimpan di variabel fik1
203. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
204. Membuat instansiasi objek kelas Buku dengan nama fik2
205. Pemanggilan method judul dengan tulisan “Cantik itu Luka” dan disimpan di
variabel fik2
206. Pemanggilan method penulis dengan tulisan “Eka Kurniawan “ dan disimpan di
variabel fik2.
207. Pengisian objek fik2.sinopsis yang berisi synopsis buku.
208. Pemanggilan method tahun dengan tulisan “2002” dan disimpan di variabel fik2
209. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
210. Membuat instansiasi objek kelas Buku dengan nama fik3
211. Pemanggilan method judul dengan tulisan “Divergent” dan disimpan di variabel
fik3
212. Pemanggilan method penulis dengan tulisan “Veronica Roth” dan disimpan di
variabel fik3.
213. Pengisian objek fik3.sinopsis yang berisi synopsis buku.
214. Pemanggilan method tahun dengan tulisan “2011” dan disimpan di variabel fik3
215. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
216. Membuat instansiasi objek kelas Buku dengan nama fik4
217. Pemanggilan method judul dengan tulisan “Harry Potter and the Sorcerers
Stone” dan disimpan di variabel fik4
218. Pemanggilan method penulis dengan tulisan “J.K. Rowling “dan disimpan di
219. variabel fik4.
220. Pengisian objek fik4.sinopsis yang berisi synopsis buku.
221. Pemanggilan method tahun dengan tulisan “1997” dan disimpan di variabel fik4
222. Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
tahun yang sudah diketik.
223. Membuat instansiasi objek kelas Buku dengan nama fik5
224. Pemanggilan method judul dengan tulisan “Metro 2033” dan disimpan di
variabel fik4
225. Pemanggilan method penulis dengan tulisan “Dmitry Glukhovsky “dan
disimpan di variabel fik4.
226. Pengisian objek fik5.sinopsis yang berisi synopsis buku.
227. Pemanggilan method tahun dengan tulisan “2005” dan disimpan di variabel fik5
Memanggil method tampilkan sekaligus mencetak variabel judul, penulis, dan
228. tahun yang sudah diketik.
229. Mencetak (======================)
230. Kode yang mengecek ada kesamaan antara dua object pada dua parameter
berbeda
231. Mencetak(======================)
232. Membuat kopian dan mengembalikan nilai objek yang bernilai sama
233. Menutup method main.
234. Menutup class public mainBuku.

Buku.java
1 Mengimport package mainBuku ke kelas Buku
2 Deklarasi kelas public Buku
3 Deklarasi String judul dan penulis serta synopsis bertipe privat
4 Dekalarasi variabel tahun dan samabertipe integer
5 Deklarasi konstruktor
6 Deklarasi konstruktor dengan parameter judul, penulis, synopsis dan tahun
terbit
7 Mengisi variabel judul dari parameter String judul
8 Mengisi variabel penulis dari parameter String penulis
9 Mengisi variabel sinopsis dari parameter String synopsis
Mengisi variabel tahun dari parameter int tahunTerbit
10 Menutup konstruktor berparameter
11 Memberi jarak sebanyak 1 spasi
12 Deklarasi method judul dengan parameter data bertipe String.
Pernyataan bahwa variabel judul bernilai sama dengan String data dan akan di
13 simpan di variabel Data.
14. Menutup method judul.
15. Deklarasi method penulis dengan parameter data bertipe String.
16. Pernyataan bahwa variabel penulis bernilai sama dengan String data dan akan di
17. simpan di variabel Data.
18 Menutup method penulis
19. Deklarasi method sinopsis dengan parameter data bertipe String.
20. Pernyataan bahwa variabel sinopsis bernilai sama dengan String data dan akan
di simpan di variabel Data.
21 Menutup method sinopsis
22 Deklarasi method tahun dengan parameter data bertipe int.
23 Pernyataan bahwa variabel tahun bernilai sama dengan String data dan akan di
simpan di variabel Data.
24 Menutup method tahun.
25 Deklarasi method int panjangKata dengan String Sinopsis
26 Inisialisasi String Panjang tipe array
27 Membuat pemisah antar kata
28 Menghitung jumlah kata yang tersedia
29 Mengembalikan nilai kata
30 Menutup method panjangKata
31 Deklarasi method double cekSama dengan parameter dua buku
32 Inisialisasi nilai awal sama yaitu 0
33 Kondisi jika judul buku 1 dan 2 sama maka akan mendapat nilai tambah 1
34 Kondisi jika penulis 1 dan 2 sama maka akan mendapat nilai tambah 1
35 Kondisi jika synopsis buku 1 dan 2 sama maka akan mendapat nilai tambah 1
36 Kondisi jika tahun buku 1 dan 2 sama maka akan mendapat nilai tambah 1
37 Mengembalikan nilai yang terkumpul dan dikalikan dengan 25
38 Memberi jarak sebanyak 1 spasi
39 Menutup method cekSama
40 Deklarasi method copy dengan parameter buku
41 Mengkopi judul beratribut sama
42 Mengkopi penulis beratribut sama
43 Mengkopi sinopsis beratribut sama
44 Mengkopi tahun beratribut sama
45 Menampilkan atribut yang sama
46 Menutup method copy
47 Memberi jarak 1 spasi
48 Deklarasi method public tampilkan.
49 Mencetak judul dan memanggil method judul.
50 Mencetak penulis dan memanggil method penulis
51 Mencetak synopsis dan memanggil method sinopsis
52 Mencetak tahun terbit dan memanggil method tahun .
53 Mencetak Panjang kata dari sinopsis.
54 Menutup method tampilkan.
55 Menutup class Buku.

D. SCREENSHOT PROGRAM
E. PRAKTIKUM

A. Constructor
1. Lakukan percobaan constructor diatas dan benahi jika menemukan kesalahan!
Jawab:

Hal yang terjadi ketika menjalankan kode kelas Student adalah nama constructor
yang tidak sesuai dengan nama kelas. Dalam hal ini adalah pengunaaan huruf kapital,
dimana pada nama class menggunakan kapital (Student) dan pada konstruktor
menggunakan huruf kecil (student). Karena kesalahan huruf ini akhirnya berpengaruh
terhadap kelas mainStudent di mana kosntruktor tidak dapat diinisialisasi.
Hal yang sama juga berlaku pada deklarasi variabel anna pada baris 21, dimana konstruktor
student menggunakan huruf kecil.

Setelah memperbaiki kedua kesalahan penulisan huruf kapital tersebut, program dapat
berjalan dengan lancar dan menghasilkan output seperti yang ada di atas.
2. Tambahkan constructor pada class Student dengan parameter yang mempunyai
parameter masing masing nilai dari mata pelajaran yang ada! Kemudian buat contoh
objeknya pada main Class!
Jawab:
Student.java
10 public Student(double math, double english, double
11 science){
12 mathGrade=math;
13 englishGrade=english;
14 scienceGrade=science;
15 }

mainStudent.java
21 anna = new Student("anna", "Batu", 18);
22 anna = new Student (42, 55, 78);
Sesuai dengan permintaan soal maka ada penambahan constructor Student dengan
parameter pelajaran seperti yang dideklarasikan di atas yaitu matematika, Bahasa inggris,
dan IPA. Selain itu ada penambahan objek pada main classnya yaitu pada variabel atau
objek anna.

Konstruktor dapat dipanggil dan objek dapat berjalan namun yang terjadi pada
nama, alamat, dan umur adalah 0, dan null. Hal ini terjadi karena pada sebelum objek nilai
ada objek dengan nama variabel yang sama maka dari itu yang diambil adalah objek
terbaru.

3.Tambahkan method dengan nilai balikan berupa boolean pada class student bernama
statusAkhir untuk menentukan apakah siswa tersebut remidi atau tidak. Ketentuannya
adalah jika nilai lebih dari atau sama dengan 61 adalah lolos sedangkan nilai kurang dari
atau sama dengan 60 adakah remidi. Nilai yang di cari adalah nilai rata rata untuk semua
mapel. Kemudian nilai pada method statusAkhir tampilkan pada method displayMessage!
Jawab:

Student.java
49 public boolean statusAkhir(){
50 if(average>=61){
51 return true;
52 }
53 else{
54 return false;
55 }
56 }

57 if(statusAkhir()==false){
58 System.out.println("Selamat kamu lolos");
59 }else{
60 System.out.println("Kamu harus ikut remidi");
Dengan memasukkan method dengan nilai Boolean, maka kita butuh membuat
perintah if-else. Dalam perintah if else ini akan bermakna bahwa jika rata-rata lebih dari
sama dengan 61 maka akan lolos, akan tetapi jika kurang dari itu maka harus mengikuti
remidi.
4. Bagaimana cara memasukkan jumlah siswa sesuai dengan keinginan user? Tuliskan
kodenya dengan inputan user yang interaktif! (key : menggunakan array)
Jawab:
Dengan menggunakan source code Student yang sama, maka yang perlu kita ubah
ada source code yang ada di kelas main. Dalam hal ini adalah menggunakan array dan
perulangan for agar dapat memenuhi kebutuhan jumlah input yang diinginkan user.

mainStudent.java
1 package praktikum2;
2 import java.util.Scanner;
3 public class MainStudent {
4 public static void main(String[] args) {
5 Scanner in = new Scanner(System.in);
6 System.out.print("Masukkan Banyaknya siswa: ");
7 int Jmlh= in.nextInt();
8
9 Student[] siswa = new Student [Jmlh];
10 for( int i=0; i<Jmlh; i++){
11 System.out.print("Nama Siswa: ");
12 String nama = in.next();
13 System.out.print("Kota asal: ");
14 String kota = in.next();
15 System.out.print("Semester: ");
16 int semester = in.nextInt();
17 siswa [i] = new Student(nama,kota,
semester);
18 System.out.print("Nilai MTK: ");
19 int math =in.nextInt();
20 siswa [i].setMath(math);
21 System.out.print("Nilai IPA: ");
22 int ipa =in.nextInt();
23 siswa [i].setScience(ipa);
24 System.out.print("Nilai Bahasa Inggris:
");
25 int BIng =in.nextInt();
26 siswa[i].setScience(BIng);
27 siswa[i].displayMessage();
28
29 }
30 }
31 }
5. Bagaimana cara menghitung banyaknya objek yang kita buat dari sebuah menginstance
objek dari mein class? Tuliskan kodenya kemudian tampilkan informasinya dengan
memanggil method jumlahObjek() bertipe void!

Jawab:

Cara yang dapat dilakukan adalah pertama dengan pembuat variabel nObjek yang
bertipe integer, kemudian meletakkan nObjek++ terhadap setiap konstruktor yag tersedia,
di mana dalam source code ini ada 3.

Student.java
56 public void jumlahObjek(){
57 System.out.println("Jumlah Objek yang
dibuat="+nObjek);
58 }
Kemudian kita memanggil kode yang memanggil objek dengan membuat method
jumlahObjek() bertipe void.

B. Instance Method

1. Lakukan percobaan Instance Method diatas dan benahi jika menemukan kesalahan!
Jawab:
Tidak ada kesalahan dalam program, dan kode berjalan sebagaimana mestinya.

2. Tambahkan method untuk operator <, <=, >= !


Jawab:
Rasional.java
41 public boolean lessThan (Rasional A){
42 return (pembilang * A.penyebut < penyebut *
A.pembilang);
43 }
44 public boolean moreThan (Rasional A){
45
return (pembilang * A.penyebut > penyebut *
46 A.pembilang);
47 }
48 public boolean lessThanEqual (Rasional A){
return (pembilang * A.penyebut <= penyebut *
49 A.pembilang);
50 }
51 public boolean moreThanEqual (Rasional A){
52 return (pembilang * A.penyebut >= penyebut *
53 A.pembilang);
}
Method yang ditambahkan untuk operator <, <=, >= kurang lebih sama dengan cara
pada method moreThan, hanya saja ada perbedaan symbol yang digunakan.
3. Ubah method sederhana pada baris 25 – 30 yang awalnya adalah menggunakan while
menjadi for!
Jawab:
Rasional.java
25 for (;B!=0;){
26 temp= A % B;
27 A = B;
28 B = temp;
Pergantian while menjadi for dapat dilakukan dengan mengubah baris ke 25 dan
output yang dihasilkan akan sama dengan jawaban soal no. 1
4. Tambahkan method untuk operasi -, * , / !
Jawab:
Rasional.java
59 public void unaryPlus(Rasional A){
60 pembilang = pembilang * A.penyebut + penyebut *
A.pembilang;
61 penyebut *=A.penyebut;
62 }
63 public void unaryMin(Rasional A){
64 pembilang = pembilang * A.penyebut - penyebut *
A.pembilang;
65 penyebut *=A.penyebut;
66 }
67 public void unaryMultiply(Rasional A){
68 pembilang = pembilang * A.penyebut * penyebut *
A.pembilang;
69 penyebut *=A.penyebut;
70 }
71 public void unaryDivide(Rasional A){
72 pembilang = pembilang * A.penyebut / penyebut *
73 A.pembilang;
74 penyebut *=A.penyebut;
75 }
Untuk pertambahan method yang diminta, kurang lebih perumusannya sama
dengan pada method unaryPlus, hanya saja ada perbedaaan dalam pengunaan tanda di
masing-masing method.
F. KESIMPULAN
Konstruktor adalah method yang dijalankan pertama kali ketika sebuah objek
dibuat. Perbedaan method konstruktor dengan method lainnya adalah nama method
konstruktor harus sama dengan nama kelasnya. Konstruktor sendiri tidak
mempunyai return value. Contohnya adalah kelas mahasiswa di bawah ini.
Class mahasiswa{
Public mahasiswa(){}}

Instance Method adalah sebuah method yang dipanggil dengan cara mengirim pesan ke
suatu object. Untuk memanggil method ini kita harus membuat method dengan instance
class. Cara memanggilnya seperti dibawah ini:
1. Membuat method seperti
Mahasiswa UB = new Mahasiswa UB(KTM);
2. Memanggil dengan sintax seperti berikut
UB.jadwalKTM(hari);
UB. ambilKTM(syarat);
Dimana UB adalah variabel dan jadwalKTM adalah nama method

Anda mungkin juga menyukai