Anda di halaman 1dari 5

LABORATORIUM PEMBELAJARAN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER


UNIVERSITAS BRAWIJAYA
BAB : AGEN CERDAS
NAMA : KELOMPOK 1 ACC
NIM :-
TANGGAL : 14/02/2020
JENIS : LATIHAN
ASISTEN : - SALSABILA RAHMA YUSTIHAN
- MUHAMMAD ALIF FAHRIZAL

A. DEFINISI MASALAH
Modifikasi kode program diatas sehingga dapat menyelesaikan task
environment pada Gambar 1.2.

Gambar 1.2 Environment Vacumm Cleaner

B. JAWAB
Source code
AgenCerdas.java
1 package Bab1;
2 public class AgenCerdas {
3 private String lingkungan[][];
4 private int counter = 0;
5 private int cek = 0;
6 AgenCerdas(int location) {
7 lingkungan = new String[location][3];
8 }
9 public void setKondisi(int i, String Nama, String
location, String status) {
10 lingkungan[i - 1][0] = Nama;
11 lingkungan[i - 1][1] = location;
12 lingkungan[i - 1][2] = status;
13 }
14 public void vacumm(int i, String location, String
status) {
15 if ("bersih".equals(status.toLowerCase())) {
16 System.out.println("----lokasi bersih----");
17 } else {
18 System.out.println("----lokasi kotor----");
19 System.out.println("----bersih-bersih----");
20 status = "bersih";
21 lingkungan[i][2] = status;
22 }
23 if ("kiri".equals(location.toLowerCase())) {
24 System.out.println("geser kanan-->");
25 } else {
26 System.out.println("<--geser kiri");
27 }
28 }
29 public void bersihkan() {
30 while (counter < lingkungan.length) {
31 for (int i = 0; i < 2; i++) {
32 System.out.println("Di " +
lingkungan[counter][0]);
33 vacumm(counter, lingkungan[counter][1],
lingkungan[counter][2]);
34 counter++;
35 }
36 cek();
37 }
38 System.out.println("SELURUH BARIS SUDAH BERSIH");
39 }
40 public void cek() {
41 for (int i = 0; i < 2; i++) {
42 if (!"bersih".equals(lingkungan[cek][2])) {
43 bersihkan();
44 }
45 cek++;
46 }
47 System.out.println("BARIS SUDAH BERSIH");
48 System.out.println("------TURUN-------");
49 }
50 public static void main(String[] args) {
51 AgenCerdas a = new AgenCerdas(6);
52 a.setKondisi(1, "Lokasi 1", "kiri", "kotor");
53 a.setKondisi(2, "Lokasi 2", "kanan", "bersih");
54 a.setKondisi(3, "Lokasi 3", "kiri", "kotor");
55 a.setKondisi(4, "Lokasi 4", "kanan", "kotor");
56 a.setKondisi(5, "Lokasi 5", "kiri", "bersih");
57 a.setKondisi(6, "Lokasi 6", "kanan", "kotor");
58 a.bersihkan();
59 }
60 }

Penjelasan
1 Deklarasi package dengan nama Bab1.
2 Deklarasi class dengan nama AgenCerdas.
3 Deklarasi atribut bertipe string lingkungan dengan array dua dimensi.
4 Deklarasi atribut bertipe integer dengan nama counter bernilai 0.
5 Deklarasi atribut bertipe integer dengan nama cek bernilai 0.
6–8 Deklarasi konstruktor dari kelas AgenCerdas dengan parameter bernama
location beripe integer. Kemudian melakukan instansiasi variabel
lingkungan.
9 – 13 Deklarasi method void bernama setKondisi dengan parameter yang terdiri
dari empat variabel, yaitu variabel i bertipe integer, Nama bertipe String,
location bertipe String, dan status bertipe String. Memberikan value untuk
variabel lingkungan berdasarkan indeks yang telah ditentukan.
14 Deklarasi method void bernama vacumm dengan parameter yang terdiri
dari tiga variabel, yaitu variabel i bertipe integer, location bertipe String,
dan status bertipe String.
15 – 22 Dalam method vacumm, terdapat seleksi kondisi jika terdapat perintah
“bersih” maka akan mencetak “----lokasi bersih----”, namun jika
kebalikannya maka akan mencetak “----lokasi kotor----” dan mencetak “---
-bersih-bersih----”.
Memberi value pada variabel status menjadi “bersih”. Serta meng-update
value dari lingkungan[i][2] menjadi value dari variabel status.
23 - 28 Melakukan seleksi kondisi jika terdapat perintah “kiri” maka akan
mencetak “geser kanan-->”, namun jika kebalikannya maka akan mencetak
“<--geser kiri”.
29 – 32 Deklarasi method void dengan nama bersihkan. Terdapat perulangan
selama value dari counter kurang dari panjang lingkungan, maka ada
perulangan bersarang untuk mencetak posisi lokasi dari vacuum cleaner.
33 Memanggil method vacumm untuk memberikan perintah pada vacuum
cleaner sesuai dengan method yang telah dibuat.
34 Melakukan increment pada variabel counter.
35 Menutup perulangan for.
36 Memanggil method cek.
37 Menutup perulangan while.
38 Mencetak “SELURUH BARIS SUDAH BERSIH”.
39 Menutup method bersihkan.
40 - 46 Deklarasi method void bernama cek. Didalam method cek terdapat
perulangan lalu terdapat seleksi kondisi jika lingkungan yang sedang dicek
tidak bersih maka memanggil method bersihkan. Lalu variabel cek
mendapat perlakuan increment. Menutup perulangan for.
47 Mencetak “BARIS SUDAH BERSIH”.
48 Mencetak “------TURUN------”
49 Menutup method cek.
50 Deklarasi method main.
51 Instansiasi objek dengan nama a yang terdiri dari 6 kondisi.
52 Kondisi pertama, vacuum cleaner berada pada lokasi 1 yang terletak pada
kotak sebelah kiri dan berstatus kotor.
53 Kondisi kedua, vacuum cleaner berada pada lokasi 2 yang terletak pada
kotak sebelah kanan dan berstatus bersih.
54 Kondisi ketiga, vacuum cleaner berada pada lokasi 3 yang terletak pada
kotak sebelah kiri dan berstatus kotor.
55 Kondisi keempat, vacuum cleaner berada pada lokasi 4 yang terletak pada
kotak sebelah kanan dan berstatus kotor.
56 Kondisi kelima, vacuum cleaner berada pada lokasi 5 yang terletak pada
kotak sebelah kiri dan berstatus bersih.
57 Kondisi keenam, vacuum cleaner berada pada lokasi 6 yang terletak pada
kotak sebelah kanan dan berstatus kotor.
58 Memanggil method bersihkan untuk menjalankan kondisi-kondisi yang
telah didefinisikan oleh objek a.
59 Menutup method main.
60 Menutup kelas AgenCerdas.
Screenshot

Yang mengerjakan:
1. Muhammad Rizaldi (185150200111093)
2. Munjin Nasyih Annaisaburi (185150207111016)

Anda mungkin juga menyukai