Anda di halaman 1dari 25

LABORATORIUM PEMBELAJARAN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER


UNIVERSITAS BRAWIJAYA

BAB : CLASS DAN OBJECT


NAMA : CASSIA VERA DIPHIPERIDINE
NIM : 175150201111026
TANGGAL : 20/02/2018
ASISTEN : SALSABILA ATHIKA RAMADHANI

A. DEFINISI MASALAH
Suatu perpustakaan di kampus X memiliki banyak koleksi buku, dan buku buku
tersebut dikategorikan berdasarkan jenisnya. Ada 7 kategori dalam perpustakaan
tersebut, yaitu teknologi, filsafat, sejarah, agama, psikologi, politik dan fiksi. Setiap
kategori pastilah memiliki banyak buku. Setiap buku ditulis oleh setidaknya 1 penulis,
walaupun tak menutup kemungkinan buku tersebut ditulis oleh banyak penulis. Dari
studi kasus diatas, tentukan entitas-entitas yang terlibat beserta propertiesnya dan
implementasikan ke dalam kode program, serta tampilkan ke layar nilai dari
properties dari entitas tersebut. (Minimal tiap kategori ada 5 buku)

B. SOURCE CODE
buku.java
1 import java.util.Scanner;
2 public class buku {
3 private String teknologi[][] = new String[5][5];
4 private String filsafat[][] = new String[5][5];
5 private String agama[][] = new String[5][5];
6 private String fiksi[][] = new String[5][5];
7 private String politik[][] = new String[5][5];
8 private String sejarah[][] = new String[5][5];
9 private String psikologi[][] = new String[5][5];
10 public void callTek() {
11 String teknologi1[][]
12 = {{"Teknologi Big Data", "W.M Wijaya,
B.Eng, M.Png."},
13 {"Teknologi Informasi Pendidikan",
"Riyanto"},
14 {"Perkembangan Teknologi Komunikasi",
"Nurudin"},
15 {"Teknologi Komunikasi Modern",
"Jusak"},
16 {"Teknologi Pendidikan", "Prof. Dr.
Nasution, M.A."},
17 {"", ""}};
18 teknologi = teknologi1;
19 System.out.printf("%-35s%10s", "\tJudul",
"Pengarang\n");
20 for (int i = 0; i < teknologi.length; i++) {
21 for (int j = 0; j < teknologi[0].length; j++)
{
22 System.out.printf("%-35s",
teknologi[i][j]);
23 }
24 System.out.println("");
25 }
26 System.out.println("");
27 }
28 public void callFils() {
29 String Filsafat1[][]
30 = {{"Pohon Filsafat", "Dr. Stephen
Palmquis"},
31 {"Filsafat Ilmu", "Dr. Ardian Husaini,
ef. al."},
32 {"Filsafat Manusia", "Zainal Abidin"},
33 {"Filasafat Lingkungan Hidup", "Dr. A.
Sonny Keraf"},
34 {"Filsafat Alam", "Moritz Sghlick"},
35 {"", ""}};
36 filsafat = Filsafat1;
37 System.out.printf("%-35s%10s", "\tJudul",
"Pengarang\n");
38 for (int i = 0; i < filsafat.length; i++) {
39 for (int j = 0; j < filsafat[0].length; j++)
{
40 System.out.printf("%-35s",
filsafat[i][j]);
41 }
42 System.out.println("");
43 }
44 System.out.println("");
45 }
46 public void callAgama() {
47 String Agama1[][]
48 = {{"Agama-Agama Manusia", "Huston
Smith"},
49 {"Zikir Akhir Zaman", "Abu Fatiah Al-
Adnam"},
50 {"Agama & Konflik Sosial", "Prof. Dr.
Afif Muhammad, M.A."},
51 {"Fiqh Ibadah", "K.H. Abdul Hamid"},
52 {"Hadis & Sunah Pilihan", "Syamsul Rizal
Hamid"},
53 {"", ""}};
54 agama = Agama1;
55 System.out.printf("%-35s%10s", "\tJudul",
"Pengarang\n");
56 for (int i = 0; i < agama.length; i++) {
57 for (int j = 0; j < agama[0].length; j++) {
58 System.out.printf("%-35s",
agama[i][j]);
59 }
60 System.out.println("");
61 }
62 System.out.println("");
63 }
64 public void callFiksi() {
65 String fiksi1[][]
66 = {{"The False Prince", "Jennifer A.
Nielsen"},
67 {"Harry Potter and the Deathly Hallows",
"J.K. Rowling"},
68 {"Mark Of Athena", "Rick Riordan"},
69 {"Eragon", "Christoher Paolini"},
70 {"Magic Thief", "Sarah Prineas"},
71 {"", ""}};
72 fiksi = fiksi1;
73 System.out.printf("%-40s%10s", "\tJudul",
"Pengarang\n");
74 for (int i = 0; i < fiksi.length; i++) {
75 for (int j = 0; j < fiksi[0].length; j++) {
76 System.out.printf("%-40s",
fiksi[i][j]);
77 }
78 System.out.println("");
79 }
80 System.out.println("");
81 }
82 public void callPolitik() {
83 String politik1[][]
84 = {{"Politik Etnik", "Sofyan Sjaf"},
85 {"Ilmu Politik", "Prof. Dr. J.M.
Papasi"},
86 {"Teori-Teori Politik", "Indra J.
Piliang"},
87 {"Komunikasi Politik", "Dan Nimmo"},
88 {"Politik & Kekuasaan", "Ibnu
Qutaibah"},
89 {"", ""}};
90 politik = politik1;
91 System.out.printf("%-35s%10s", "\tJudul",
"Pengarang\n");
92 for (int i = 0; i < politik.length; i++) {
93 for (int j = 0; j < politik[0].length; j++)
{
94 System.out.printf("%-35s",
politik[i][j]);
95 }
96 System.out.println("");
97 }
98 System.out.println("");
99 }
100 public void callSejarah() {
101 String sejarah1[][]
102 = {{"Sejarah Dunia", "Huton Webster,
Ph.D."},
103 {"Sejarah Eropa", "Muhammad Basri,
S.Pd."},
104 {"Sejarah Nusantara", "Alfred Russel
Wallace"},
105 {"Sejarah Perang", "Sri Wintala
Achmad"},
106 {"Sejarah Filsafat Cina", "Fung Yu-
Lan"},
107 {"", ""}};
108 sejarah = sejarah1;
109 System.out.printf("%-35s%10s", "\tJudul",
"Pengarang\n");
110 for (int i = 0; i < sejarah.length; i++) {
111 for (int j = 0; j < sejarah[0].length; j++)
{
112 System.out.printf("%-35s",
sejarah[i][j]);
113 }
114 System.out.println("");
115 }
116 System.out.println("");
117 }
118 public void callPsikologi() {
119 String psikologi1[][]
120 = {{"Psikologi Komunikasi", "Dr.
Suciati, S.Sos, M.Si"},
121 {"Psikologi Pertumbuhan", "Duane
Schultz"},
122 {"Psikologi Kepribadian", "Ki
Fudyartanta"},
123 {"Psikologi Abnormal", "Thomas F.
Oltmanns"},
124 {"Psikologi Pendidikan", "Prof. Dr.
Sofyan S. Willis"},
125 {"", ""}};
126 psikologi = psikologi1;
127 System.out.printf("%-35s%10s", "\tJudul",
"Pengarang\n");
128 for (int i = 0; i < psikologi.length; i++) {
129 for (int j = 0; j < psikologi[0].length; j++)
{
130 System.out.printf("%-35s",
psikologi[i][j]);
131 }
132 System.out.println("");
133 }
134 System.out.println("");
135 }
136 public void inputanUser() {
137 Scanner input = new Scanner(System.in);
138 int pilihan;
139 do {
140 System.out.println("
*******************************************************
*************");
141 System.out.println("\t\t\tP E R P U S T A K
A A N");
142 System.out.println("
*******************************************************
*************");
143 System.out.println("\t\t1. \tTEKNOLOGI");
144 System.out.println("\t\t2. \tFILSAFAT");
145 System.out.println("\t\t3. \tSEJARAH");
146 System.out.println("\t\t4. \tAGAMA");
147 System.out.println("\t\t5. \tPSIKOLOGI");
148 System.out.println("\t\t6. \tPOLITIK");
149 System.out.println("\t\t7. \tFIKSI");
150 System.out.println("\t\t8. \tKELUAR");
151 System.out.println("-----------------------
---------------------------------------------");
152 System.out.print("Masukkan Pilihan : ");
153 pilihan = input.nextInt();
154 System.out.println("
*******************************************************
*************");
155 System.out.println("");
156 switch (pilihan) {
157 case 1:
158 callTek();
159 break;
160 case 2:
161 callFils();
162 break;
163 case 3:
164 callSejarah();
165 break;
166 case 4:
167 callAgama();
168 break;
169 case 5:
170 callPsikologi();
171 break;
172 case 6:
173 callPolitik();
174 break;
175 case 7:
176 callFiksi();
177 break;
178 case 8:
179 System.out.println("\nTerima
180 Kasih\n");
System.exit(0);
181 break;
182 default:
183 System.out.println("!!!!! Pilihan
yang diinput tidak terdaftar !!!!!!");
184 System.exit(0);
185 break;
186 }
187 } while (pilihan != 8);
188 }
189 }

Perpustakaan.java
1 public class Perpustakaan {
2 public static void main(String[] args) {
3 buku p1 = new buku();
4 p1.inputanUser();
5 }
6 }

C. PEMBAHASAN
buku.java
1 Mengimport class Scanner pada class buku
2 Deklarasi class buku
3 Deklarasi variabel array dengan nama teknologi dengan baris dan kolom
sebanyak 5
4 Deklarasi variabel array dengan nama filsafat dengan baris dan kolom
sebanyak 5
5 Deklarasi variabel array dengan nama agama dengan baris dan kolom
sebanyak 5
6 Deklarasi variabel array dengan nama fiksi dengan baris dan kolom sebanyak
5
7 Deklarasi variabel array dengan nama politik dengan baris dan kolom
sebanyak 5
8 Deklarasi variabel array dengan nama sejarah dengan baris dan kolom
sebanyak 5
9 Deklarasi variabel array dengan nama psikolog dengan baris dan kolom
sebanyak 5
10 Deklarasi method void callTek dengan non-agrumen
11 Deklarasi variabel array teknologi1 dimensi dua dengan tipe data string
12 Deklarasi elemen-elemen variabel array data
13 Deklarasi elemen-elemen variabel array data
14 Deklarasi elemen-elemen variabel array data
15 Deklarasi elemen-elemen variabel array data
16 Deklarasi elemen-elemen variabel array data
17 Deklarasi elemen-elemen variabel array data
18 Insialisasi instance variabel sama dengan variabel array teknologi1
19 Mencetak judul dan pengarang dengan format
20 Deklarasi perulangan for dengan variabel i dengan nilai awal 0 dan variabel i
kurang dari panjang instance variabel data serta variabel i yang akan
bertambah nilai
21 Deklarasi perulangan for dengan variabel j dengan nilai awal 0 dan variabel j
kurang dari panjang instance variabel data serta variabel j yang akan
bertambah nilai
22 Mencetak nilai dari instance variabel array teknologi[i][j] dan ditampilkan
dengan format
23 Akhir dari perulangan for dengan variabel j
24 Mencetak baris baru
25 Akhir dari perulangan for dengan variabel i
26 Mencetak baris baru
27 Akhir dari method void callTek
28 Deklarasi method void callFils
29 Deklarasi variabel array Filsafat1 dimensi dua dengan tipe data string
30 Deklarasi elemen-elemen variabel array data
31 Deklarasi elemen-elemen variabel array data
32 Deklarasi elemen-elemen variabel array data
33 Deklarasi elemen-elemen variabel array data
34 Deklarasi elemen-elemen variabel array data
35 Deklarasi elemen-elemen variabel array data
36 Insialisasi instance variabel sama dengan variabel array Filsafat1
37 Mencetak judul dan pengarang dengan format
38 Deklarasi perulangan for dengan variabel i dengan nilai awal 0 dan variabel i
kurang dari panjang instance variabel data serta variabel i yang akan
bertambah nilai
39 Deklarasi perulangan for dengan variabel j dengan nilai awal 0 dan variabel j
kurang dari panjang instance variabel data serta variabel j yang akan
bertambah nilai
40 Mencetak nilai dari instance variabel array filsafat[i][j] dan ditampilkan
dengan format
41 Akhir dari perulangan for dengan variabel j
42 Mencetak baris baru
43 Akhir dari perulangan for dengan variabel i
44 Mencetak baris baru
45 Akhir dari method void callFils
46 Deklarasi method void callAgama
47 Deklarasi variabel array agama1 dimensi dua dengan tipe data string
48 Deklarasi elemen-elemen variabel array data
49 Deklarasi elemen-elemen variabel array data
50 Deklarasi elemen-elemen variabel array data
51 Deklarasi elemen-elemen variabel array data
52 Deklarasi elemen-elemen variabel array data
53 Deklarasi elemen-elemen variabel array data
54 Insialisasi instance variabel sama dengan variabel array agama1
55 Mencetak judul dan pengarang dengan format
56 Deklarasi perulangan for dengan variabel i dengan nilai awal 0 dan variabel i
kurang dari panjang instance variabel data serta variabel i yang akan
bertambah nilai
57 Deklarasi perulangan for dengan variabel j dengan nilai awal 0 dan variabel j
kurang dari panjang instance variabel data serta variabel j yang akan
bertambah nilai
58 Mencetak nilai dari instance variabel array agama[i][j] dan ditampilkan
dengan format
59 Akhir dari perulangan for dengan variabel j
60 Mencetak baris baru
61 Akhir dari perulangan for dengan variabel i
62 Mencetak baris baru
63 Akhir dari method void callAgama
64 Deklarasi method void callFiksi
65 Deklarasi variabel array fiksi1 dimensi dua dengan tipe data string
66 Deklarasi elemen-elemen variabel array data
67 Deklarasi elemen-elemen variabel array data
68 Deklarasi elemen-elemen variabel array data
69 Deklarasi elemen-elemen variabel array data
70 Deklarasi elemen-elemen variabel array data
71 Deklarasi elemen-elemen variabel array data
72 Insialisasi instance variabel sama dengan variabel array fiksi1
73 Mencetak judul dan pengarang dengan format
74 Deklarasi perulangan for dengan variabel i dengan nilai awal 0 dan variabel i
kurang dari panjang instance variabel data serta variabel i yang akan
bertambah nilai
75 Deklarasi perulangan for dengan variabel j dengan nilai awal 0 dan variabel j
kurang dari panjang instance variabel data serta variabel j yang akan
bertambah nilai
76 Mencetak nilai dari instance variabel array fiksi[i][j] dan ditampilkan dengan
format
77 Akhir dari perulangan for dengan variabel j
78 Mencetak baris baru
79 Akhir dari perulangan for dengan variabel i
80 Mencetak baris baru
81 Akhir dari method void callFiksi
82 Deklarasi method void callPolitik
83 Deklarasi variabel array politik1 dimensi dua dengan tipe data string
84 Deklarasi elemen-elemen variabel array data
85 Deklarasi elemen-elemen variabel array data
86 Deklarasi elemen-elemen variabel array data
87 Deklarasi elemen-elemen variabel array data
88 Deklarasi elemen-elemen variabel array data
89 Deklarasi elemen-elemen variabel array data
90 Insialisasi instance variabel sama dengan variabel array politik1
91 Mencetak judul dan pengarang dengan format
92 Deklarasi perulangan for dengan variabel i dengan nilai awal 0 dan variabel i
kurang dari panjang instance variabel data serta variabel i yang akan
bertambah nilai
93 Deklarasi perulangan for dengan variabel j dengan nilai awal 0 dan variabel j
kurang dari panjang instance variabel data serta variabel j yang akan
bertambah nilai
94 Mencetak nilai dari instance variabel array politik[i][j] dan ditampilkan
dengan format
95 Akhir dari perulangan for dengan variabel j
96 Mencetak baris baru
97 Akhir dari perulangan for dengan variabel i
98 Mencetak baris baru
99 Akhir dari method void callPolitik
100 Deklarasi method void callSejarah
101 Deklarasi variabel array sejarah1 dimensi dua dengan tipe data string
102 Deklarasi elemen-elemen variabel array data
103 Deklarasi elemen-elemen variabel array data
104 Deklarasi elemen-elemen variabel array data
105 Deklarasi elemen-elemen variabel array data
106 Deklarasi elemen-elemen variabel array data
107 Deklarasi elemen-elemen variabel array data
108 Insialisasi instance variabel sama dengan variabel array sejarah1
109 Mencetak judul dan pengarang dengan format
110 Deklarasi perulangan for dengan variabel i dengan nilai awal 0 dan variabel i
kurang dari panjang instance variabel data serta variabel i yang akan
bertambah nilai
111 Deklarasi perulangan for dengan variabel j dengan nilai awal 0 dan variabel j
kurang dari panjang instance variabel data serta variabel j yang akan
bertambah nilai
112 Mencetak nilai dari instance variabel array sejarah[i][j] dan ditampilkan
dengan format
113 Akhir dari perulangan for dengan variabel j
114 Mencetak baris baru
115 Akhir dari perulangan for dengan variabel i
116 Mencetak baris baru
117 Akhir dari method void callSejarah
118 Deklarasi method void callPsikologi
119 Deklarasi variabel array psikologi1 dimensi dua dengan tipe data string
120 Deklarasi elemen-elemen variabel array data
121 Deklarasi elemen-elemen variabel array data
122 Deklarasi elemen-elemen variabel array data
123 Deklarasi elemen-elemen variabel array data
124 Deklarasi elemen-elemen variabel array data
125 Deklarasi elemen-elemen variabel array data
126 Insialisasi instance variabel sama dengan variabel array psikologi1
127 Mencetak judul dan pengarang dengan format
128 Deklarasi perulangan for dengan variabel i dengan nilai awal 0 dan variabel i
kurang dari panjang instance variabel data serta variabel i yang akan
bertambah nilai
129 Deklarasi perulangan for dengan variabel j dengan nilai awal 0 dan variabel j
kurang dari panjang instance variabel data serta variabel j yang akan
bertambah nilai
130 Mencetak nilai dari instance variabel array psikologi[i][j] dan ditampilkan
dengan format
131 Akhir dari perulangan for dengan variabel j
132 Mencetak baris baru
133 Akhir dari perulangan for dengan variabel i
134 Mencetak baris baru
135 Akhir dari method void callPsikologi
136 Deklarasi method void inputanUser
137 Intansiasi class Scanner
138 Deklarasi variabel pilihan dengan tipe data integer
139 Deklarasi perulangan do
140 Mencetak “**********************************************”
141 Mencetak “ PERPUSTAKAAN “
142 Mencetak “**********************************************”
143 Mencetak “1. TEKNOLOGI“
144 Mencetak “2. FILSAFAT“
145 Mencetak “3. SEJARAH“
146 Mencetak “4. AGAMA“
147 Mencetak “5. PSIKOLOGI“
148 Mencetak “6. POLITIK“
149 Mencetak “7. FIKSI“
150 Mencetak “8. KELUAR“
151 Mencetak “----------------------------------------------------------“
152 Mencetak “Masukkan Pilihan : “
153 Perintah memasukkan inputan pada variabel pilihan dengan scanner
154 Mencetak “**********************************************”
155 Mencetak baris baru
156 Deklarasi seleksi kondisi dengan kondisi variabel pilihan
157 Deklarasi case 1
158 Memanggil method void callTek dengan non-agrumen
159 Deklarasi break
160 Deklarasi case 2
161 Memanggil method void callFils dengan non-agrumen
162 Deklarasi break
163 Deklarasi case 3
164 Memanggil method void callSejarah dengan non-agrumen
165 Deklarasi break
166 Deklarasi case 4
167 Memanggil method void callAgama dengan non-agrumen
168 Deklarasi break
169 Deklarasi case 5
170 Memanggil method void callPsikologi dengan non-agrumen
171 Deklarasi break
172 Deklarasi case 6
173 Memanggil method void callPolitik dengan non-agrumen
174 Deklarasi break
175 Deklarasi case 7
176 Memanggil method void callFiksi dengan non-agrumen
177 Deklarasi break
178 Deklarasi case 8
179 Mencetak “Terima Kasih”
180 Deklarasi keluar dari program
181 Deklarasi break
182 Deklarasi default (selain case-case pada seleksi kondisi switch dengan
variabel pilihan)
183 Mencetak “!!!!! Pilihan yang diinput tidak terdaftar !!!!!”
184 Deklarasi keluar dari program
185 Deklarasi break
186 Akhir dari switch case dengan variabel pilihan
187 Akhir dari perulangan do-while dengan while memiliki kondisi bahwa
variabel pilihan tidak boleh sama dengan 8
188 Akhir dari method void inputanUser
189 Akhri dari class buku

Perpustakaan.java
1 Deklarasi class Perpustakaan
2 Deklarasi main method class Perpustakaan
3 Instansiasi variabel p1 dengan class buku
4 Memanggil method void inputanUser pada class buku
5 Akhir dari main method class Perpustakaan
6 Akhir dari class Perpustakaan
D. SCREENSHOT PROGRAM
Program 1
E. PRAKTIKUM
A. Class
1. Apakah yang disebut dengan variabel instance dan local variabel? Jelaskan
perbedaannya!
Jawab :
Instance variabel adalah variabel yang dideklarasikan pada suatu class Java
namun tidak di dalam main method, static method ataupun method-method
lainnya. Sedangkan local variabel adalah variabel yang dideklarasikan di
dalam sebuah method dan biasnya juga dapat digunakan sebagai parameter
suatu method dan biasanya apabila terdapat local variabel di suatu method
maka method tersebut akan memakai variabel local. Perbedaan diantara
variabel instance dan local variabel yaitu pada lokasi deklarasi. Jika variabel
instance dideklarasikan di luar method-method, maka local variabel dapat
dideklarasikan didalam tubuh atau badan method.

2. Lakukan percobaan diatas dan benahi jika menemukan kesalahan!


Jawab :
Pada percobaan class main MainMobil.java tidak terdapat kesalahan/error
pada saat class di jalankan. Maka hasil output dari class main MainMobil.java
seperti pada gambar dibawah.

3. Rubah kode pada mainMobil diatas menjadi proses meminta masukkan dari
user dan buat menjadi interaktif!
Jawab :
Jika pada kode mainMobil diatas meminta masukkan dari user maka source
code pada class main mainMobil berupa :
MainMobil.java
1 import java.util.Scanner;
2 public class MainMobil {
3 public static void main(String[] args) {
4 //instan objek bernama m1
5 Scanner input = new Scanner(System.in);
6 System.out.println("
==================================================
==");
7 System.out.println("**Masukkan Merek, No.
Plat, Warna serta Kecepatan mobil Anda!!!");
8 System.out.print("Merek Mobil\t: ");
9 String manufaktur = input.nextLine();
10 System.out.print("No. Plat\t: ");
11 String noPlat = input.nextLine();
12 System.out.print("Warna\t\t: ");
13 String warna = input.nextLine();
14 System.out.print("Kecepatan(km)\t: ");
15 int kecepatan = input.nextInt();
16 System.out.println("");
17 System.out.println("Masukkan kota Anda \t:
");
18 String kota1 = input.next();
19 input.nextLine();
20 System.out.println("Masukkan kota tujuan
anda\t: ");
21 String kota2 = input.nextLine();
22 System.out.println("");
23 System.out.println("Masukkan Waktu(Jam) ke
kota Tujuan anda\t: ");
24 double waktu = input.nextDouble();
26 Mobil m1 = new Mobil();
27 m1.setKecepatan(kecepatan);
28 m1.setManufaktur(manufaktur);
29 m1.setNoPlat(noPlat);
30 m1.setWarna(warna);
31 m1.setWaktu(waktu);
32 m1.setKota1(kota1);
33 m1.setKota2(kota2);
34 System.out.println("\n
==================================================
============");
35 m1.displayMessage();
36 System.out.println("\n
==================================================
============");
37 }
38 }

Dan source code pada class Mobil ada tambahan berupa :


Mobil.java
1 import java.util.Scanner;
2 public class Mobil {
3 Scanner input = new Scanner(System.in);
4 private String noPlat;
5 private String warna;
6 private String manufaktur;
7 private String kota1;
8 private String kota2;
9 private int kecepatan;
10 private double waktu;
11 public void setNoPlat(String s) {
12 noPlat = s;
13 }
14 public void setWarna(String s) {
15 warna = s;
16 }
17 public void setManufaktur(String s) {
18 manufaktur = s;
19 }
20 public void kota1(String s) {
21 kota1 = s;
22 }
23 public void kota2(String s) {
24 kota2 = s;
26 }
27 public void setWaktu(double i) {
28 waktu = i;
29 rubahSekon(waktu);
30 }
31 public void rubahSekon(double a) {
32 waktu = a;
33 waktu = waktu * 3600; //3600 detik
34 }
35 public void setKecepatan(int i) {
36 kecepatan = i;
37 }
38 public void setKota1(String a){
39 kota1 = a;
40 }
41 public void setKota2(String b){
42 kota2 = b;
43 }
44 public void displayMessage() {
45 System.out.println("Mobil anda adalah
bermerek " + manufaktur + ".");
46 System.out.println("mempunyai nomor plat "
+ noPlat + ".");
47 System.out.println("serta memililki warna "
+ warna + ".");
48 System.out.println("dan mampu menempuh
kecepatan " + kecepatan + "km/j.\n");
49 System.out.println("----------------------
---------------------------------------------");
50 System.out.println("Kecepatan km/j :
"+kecepatan);
51 System.out.println("----------------------
---------------------------------------------");
52 }
53 }
Ketika class main mainMobil dijalankan maka output yang dihasilkan yaitu
berupa :

4. Tambahkan method pada class mobil bernama setWaktu yang berparameter


double, yang kemudian disimpan pada variabel waktu! (Ketentuannya adalah
user harus menginputkan dalam satuan jam)
Jawab :
Jika menambahkan method pada class Mobil bernama setWaktu yang
berparameter double maka source code pada program aka nada tambahan
berupa :
Ketika user menginputkan waktu dalam satuan jam maka output yang
dihasilkan adalah :

5. Tambahkan method bernama rubahSekon mempunyai parameter bertipe


double dan hanya dapat dipanggil pada class mobil. Method ini memiliki
fungsi untuk merubah masukan user yaitu jam menjadi sekon. Method tersebut
di panggil pada method setWaktu dengan nilai parameter adalah nilai dari
variabel parameter method setWaktu!
Jawab :
Jika menambahkan method lain yaitu, rubahSekon dan method setWaktu
memiliki variabel yang nilainya berasal dari method rubahSekon pada class
Mobil. Maka source code pada program dapat ditambahi dengan :
Maka output yang dihasilkan akan berupa :

6. Tambahkan method pada class mobil dan hanya dapat dipanggil pada class
mobil bernama rubahKecepatan yang mempunyai fungsi untuk merubah
format kecepatan yang awalnya km/h menjadi m/s. dipanggil di method
setKecepatan!
Jawab :
Jika menambahkan method lain yaitu, rubahKecepatan, untuk mengubah km/h
menjadi m/s dan method setWaktu memiliki nilainya dari hasil method
rubahKecepatan pada class Mobil. Maka source code pada program dapat
ditambahi dengan :
Maka output yang dihasilkan akan berupa

7. Tambahkan method pada class mobil bernama hitungJarak yang mempunyai


aksi untuk menghitung jarak yang dapat di tempuh oleh mobil dengan rumus
jarak = kecepatan * waktu!
Jawab :
Jika menambahkan method lain pada class Mobil yaitu, hitungJarak yang
berisi perhitungan jarak. Maka ada penambahan instance variabel berupa
private double jarak; yang dideklarasikan di luar method-method
namun tetap berada di class Mobil. Maka source code pada program dapat
ditambahi dengan :
8. Tambahkan informasi jarak yang dapat ditempuh pada method
displayMessage kemudian rubah satuannya yang awalnya m (meter) menjadi
km (kilometer)!
Jawab :
Jika pada program ditambahkan indormasi jarak yang dapat ditempuh dengan
method displayMessage pada class Mobil. Maka pada class Mobil akan
ditambahkan :

Maka output yang keluar berupa :

9. Mahasiswa A ingin menulis pada sebuah buku tulis yang ingin dia miliki, isi
lembar buku tersebut adalah 50 lembar. Setiap harinya ia menulis sebanyak
100 kata perhari yang cukup untuk 1/2 halaman buku. Buatlah rumus untuk
menghitung berapa lama ia menghabiskan 1 buku tersebut serta identifikasilah
objek, dan karakteristiknya kemudian implementasikan dalam bentuk class.
Jawab :
object : halaman, lembar, kata, hari
Identity : halaman ke-1 halamanke-2 …. Halaman ke-n
1 hari 2 hari hari ke-n
200 kata 400kata kata ke-n
Behavior : CekHari, CekJumlahKata, LamaMenulis
UML :
BukuMahasiswaA
lembar : int
hari : int
kata : int
halaman : int
JumKata : int
Waktu : int
+SatuHari : void
+JumlahKata : void
+LamaMenulis : void

Maka source code untuk class ini dapat berupa :


BukuMahasiswaA.java
1 public class BukuMahasiswaA {
2 public static int lembar, halaman, hari, kata,
JumKata, Waktu;
3 public static void main(String[] args) {
4 kata = 100;
5 SatuHari();
6 JumlahKata();
7 LamaMenulis();
8 }
9 public static void SatuHari() {
10 halaman = 1;
11 hari = halaman * 4;
12 JumKata = halaman * kata;
13 System.out.println("Mahasiswa A membutuhkan
" + hari + " hari untuk menulis 1 lembar buku dengan
" + JumKata + " kata.");
14 }
15 public static void JumlahKata() {
16 halaman = 100;
17 JumKata = halaman * (2 * kata);
18 System.out.println("Dalam 50 lembar buku,
Mahasiswa A menulis sebanyak " + JumKata + "
kata.");
19 }
20 public static void LamaMenulis() {
21 lembar = 50;
22 Waktu = lembar * hari;
23 System.out.println("Maka, Mahasiswa A
membutuhkan " + Waktu + " hari untuk menulis 1
buku.");
24 }
25 }
Jika Screenshot pada program akan seperti :

Maka output yang dihasilkan berupa :


F. KESIMPULAN
1. OOP atau Object Oriented Programing memiliki konsep bahwa object merupakan
bagian yang paling dasar dari sebuah program dan juga biasanya program yang
memiliki konsep OOP dapat mempermudah pengembangan suatu program
dikarenakan Konsep OOP memiliki sifat yang fleksibelitas yang mengikuti atau
berasal dari kehidupan sehari-hari pada lingkungan sekitar. Sehingga dapat
masalah-masalah yang ada dapat diselesaikan secara terstruktur. Objek-objek yang
merupakan bagian dasar dari suatu program tersebut akan dibuat secara terstruktur
dengan enkapsulasi, pewarisan, polimorifsme dalam objek-objek atau kelas-kelas
tertentu. Contohnya saja sebuah Handphone. Handphone memiliki berbagai fitur-
fitur yang dapat digunakan, misalnya fitur untuk mengirim teks pesan, melakukan
panggilan, mengakses internet, dan sebagainya. Fitur-fitur ini dapat dibungkus
dalam suatu class dimana tiap fitur memiliki method-method tersendiri yang dapat
menjalankan fitur tersebut. Kemudian pada main class, fitur-fitur ini dapat diakses
dengan memanggil class-class yang ada.

2. Cara menginstansiasi sebuah objek dari class dapat menggunakan operator new.
Contohnya :

Nama mahasiswa1 = new Nama();

Instansiasi seperti diatas yaitu dengan mendeklarasikan variabel mahasiswa1 yang


bertipe nama dan variabel tersebut akan dinistansiasi melalui variabel mahasiswa1
dengan operator new.

3. Pada suatu program dengan konsep OOP memiliki Class, Object, Attribute dan
Behavior yang saling berkaitan, definisi dari bagian - bagian tersebut diantaranya
adalah :
 Class
Class adalah struktur dasar dari OOP yang memiliki field dan Method. Class
juga dianggap sebagai reusability yang dapat dipanggil kembali atau dapat
digunakan berulang-ulang kali.
 Object
Object adalah instansiasi dari Class, yanga artinya object dapat dibuat jika
Classnya ada dan tiap-tiap objek memiliki Identity(karakteristik/attribut) dan
Behavior(Aksi)nya masing-masing. Pada objek dapat berkaitan dengan
variabel atau method lainnya yang terkait dan apapun dapat menjadi Object.
 Attribute
Attribute adalah suatu identitas yang dimiliki oleh object (dispesifikasikan
oleh instance variable). Pada attribute ini lah suatu data pada object suatu
object dapat dibedakan dengan object lainnya.
 Behavior
Behavior atau aksi adalah suatu perbuatan yang akan melibatkan Attribute dan
dapat didefinisikan oleh beberapa method.

Anda mungkin juga menyukai