Tugas Pertemuan 6 - 5025231186

Agym Kamil Ramadhan - 5025231186

Tugas Pertemuan 6 PBO A


Implementasi Support System


Saya membuat implementasi kode support system tapi dengan pembawaan yang lucu/kocak.


1. Kelas LolSupportSystem
Apa fungsi kelas ini?
Ini adalah "pusat kendali" program. Tugasnya menjalankan sistem utama, menyambut pengguna, dan terus meminta masukan dari pengguna hingga pengguna mengetikkan "lol" untuk keluar.

Bagaimana kerjanya?

Kelas ini punya dua "alat bantu" (objek):
InputReader (untuk membaca masukan dari pengguna).
ComedyResponder (untuk membuat respons yang lucu).
Saat program berjalan (start()):
Pengguna diberi sapaan dan petunjuk.
Sistem terus bertanya masalah apa yang pengguna alami.
Jika pengguna mengetikkan sesuatu, sistem membuat respons lucu menggunakan ComedyResponder.
Kalau pengguna mengetik "lol", program berhenti.

2. Kelas InputReader
Apa fungsinya?
Ini adalah "penerjemah" yang membaca apa yang ditulis pengguna di keyboard.

Bagaimana kerjanya?

Kelas ini menggunakan alat bawaan Java bernama Scanner untuk membaca tulisan pengguna.
Metode readInput() akan:
Menampilkan tulisan "Anda:" (untuk memberi tahu giliran pengguna menulis).
Menunggu pengguna mengetik sesuatu, lalu mengambil tulisan itu.
Mengembalikan tulisan pengguna ke bagian program lain (misalnya ke kelas LolSupportSystem).

3. Kelas ComedyResponder
Apa fungsinya?
Ini adalah "komedian" dalam program. Tugasnya memberi respons lucu berdasarkan apa yang ditulis pengguna.

Bagaimana kerjanya?

Kelas ini punya metode generateComedicResponse() yang menerima tulisan pengguna sebagai masukan.
Metode ini memeriksa apakah tulisan pengguna berisi kata tertentu, misalnya:
Kalau pengguna bilang "simpan file", dia akan merespons dengan candaan soal file terlalu berat.
Kalau pengguna bilang "crash", dia akan bercanda soal komputer makan taco.
Kalau masukan tidak dikenali, dia akan memberikan respons lucu umum soal kopi pagi.
Bagaimana semua ini bekerja bersama-sama?
Saat program dimulai:

LolSupportSystem menyambut pengguna.
Program meminta masukan lewat InputReader.
Setiap masukan pengguna:

Diperiksa apakah dia mengetik "lol" (kalau iya, program berhenti).
Kalau bukan "lol", masukan dikirim ke ComedyResponder, yang menghasilkan respons lucu.
Respons lucu dikembalikan ke LolSupportSystem dan ditampilkan di layar.

Proses ini berulang sampai pengguna mengetik "lol".


import java.util.Scanner;

public class LolSupportSystem {
private InputReader inputReader;
private ComedyResponder responder;

public LolSupportSystem() {
this.inputReader = new InputReader();
this.responder = new ComedyResponder();
}

public void start() {
System.out.println("Selamat datang di Sistem Dukungan Teknis Kocak!");
System.out.println("Ayok ceritain masalahmu, kita cari solusinya bareng-bareng!");
System.out.println("Ketik 'lol' buat keluar dari sistem ini.");

while (true) {
String userInput = inputReader.readInput();
if (userInput.equalsIgnoreCase("lol")) {
System.out.println("Haha, sampai jumpa!");
break;
} else {
String response = responder.generateComedicResponse(userInput);
System.out.println(response);
}
}
}

public static void main(String[] args) {
LolSupportSystem lolSupportSystem = new LolSupportSystem();
lolSupportSystem.start();
}
}

class InputReader {
private Scanner scanner;

public InputReader() {
this.scanner = new Scanner(System.in);
}

public String readInput() {
System.out.print("Anda: ");
return scanner.nextLine();
}
}

class ComedyResponder {
public String generateComedicResponse(String userInput) {
// Implementasi logika menghasilkan respons yang lucu berdasarkan input pengguna
if (userInput.contains("simpan file")) {
return "Wah, file kamu terlalu berat buat disimpan nih. Coba ganti ke format komik aja deh!";
} else if (userInput.contains("crash")) {
return "Waduh, komputernya habis makan taco nih kayaknya. Coba tambahin bumbu cabe biar nggak ngadat lagi!";
} else {
return "Hmm, kayaknya kamu belum minum kopi pagi nih. Mau kubuatin kopi susu+permen karet?";
}
}
}

Komentar

Postingan populer dari blog ini

Pemrograman Berorientasi Objek A - ETS

Tugas Pertemuan 3 - 5025231186

Tugas Pertemuan 4 - 5025231186