Tugas Pertemuan 6 ~ Tech Support System

Nama : Alif Nurrohman 

NRP : 5025231057

Kelas : PBO (G)

Tech Support System

Penjelasan Code : 

1. File InputReader.java

Class InputReader bertujuan untuk menangani input dari pengguna melalui console. Kelas ini sederhana namun sangat penting dalam aplikasi berbasis teks. 

import java.util.Scanner

Kode ini mengimpor kelas Scanner dari paket java.util.Scanne adalah kelas yang digunakan untuk membaca input dari berbagai sumber, termasuk input dari console. Private Scanner reader, di sini kita mendeklarasikan variabel reader yang bertipe scanner. Variabel ini akan digunakan untuk membaca input yang diberikan oleh pengguna.

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

Konstruktor ini menginisialisasi objek scanner dengan system.in, yang berarti kita akan membaca input langsung dari console. Setiap kali objek InputReader dibuat, ia siap untuk menerima input dari pengguna.

String inputLine = reader.nextLine();  Membaca seluruh baris input yang dimasukkan oleh pengguna hingga pengguna menekan tombol Enter.



2. File Responder.java

Class Responder berfungsi untuk memberikan respons berdasarkan input dari pengguna. Kelas ini menggunakan pendekatan berbasis kata kunci untuk menentukan respons yang tepat
import java.util.HashMap; import java.util.Random;

Kelas ini mengimpor HashMap untuk menyimpan kata kunci dan respons yang sesuai, serta Random untuk menghasilkan angka acak dalam memilih respons.

private HashMap<String, Integer> keywords; keywords:Hashmap yang menghubungkan kata kunci dengan indeks respons.

String generateResponse Metode ini menerima input dari pengguna dan memprosesnya untuk menentukan respons yang akan diberikan.
answerNum = new Random(); Akan terisi oleh bilangan Random. String[] splitinput = input.split("[^a-zA-Z]"); Splitinput akan ,emecah input menjadi kata-kata menggunakan regex yang hanya mencocokkan huruf. "[^a-Az-Z]" adalah pola regex yang digunakan sebagai pemisah,  berarti "apa pun yang bukan huruf alfabet"

for (int i=0; i < splitinput.length && !match; i++) { if(keywords.containsKey(splitinput[i])) Loop ini memeriksa setiap kata dari input untuk melihat apakah ada yang cocok dengan kata kunci yang ada di keywords. ai = keywords.get(splitinput[i]); Jika ada, variabel ai akan diisi dengan indeks respons yang sesuai.

if(!match) Jika tidak ada kata kunci yang cocok, program akan memilih respons secara acak, tetapi memastikan respons yang sama tidak diberikan secara berurutan.

private void answers(){ answers = new String[allAnswers];...} Metode ini mengisi array answers dengan berbagai respons yang mungkin diberikan kepada pengguna. Sama dengan answers, void keywordlist() metode ini akan mengisi Hashmap keywords dengan pasangan kata kunci dan indeks yang terkait.





3. File SupportSystem.java

Kelas SupportSystem bertindak sebagai antarmuka utama untuk interaksi pengguna dengan sistem dukungan teknis. Kelas ini mengintegrasikan kelas InputReader untuk menangani input pengguna dan kelas Responder untuk memberikan respons yang sesuai.

reader = new InputReader(); responder = new Responder(); Konstruktor ini menginisialisasi objek InputReader dan Responder. Ketika sebuah objek SupportSystem dibuat, kedua objek ini siap untuk digunakan dalam interaksi dengan pengguna.

Void start() { boolean finished = false; printWelcome(); Variabel finished: Digunakan untuk mengontrol alur program, apakah interaksi dengan pengguna harus dilanjutkan atau dihentikan. printWelcome() Mencetak pesan sambutan yang memberi tahu pengguna tentang sistem dan cara mengakhiri sesi. if(input.toLowerCase().startsWith("bye")) Maka while loop akan berhenti. Jika bukan maka sistem akan memanggil metode generateResponse dari objek responder, yang mengembalikan respons yang sesuai berdasarkan input. Respons tersebut kemudian dicetak ke console.




#Cara Menjalankan : 
1). Compile semua program mulai dari InputReader, Responder, SystemSupport
2). Klik kanan pada SupportSystem, tekan new SupportSystem()
3). Beri nama untuk instance SupportSystem() tekan OK.
4). Setelah diberi nama maka akan muncul kotak merah dengan nama instance dari SupportSystem di pojok kiri bawah BlueJ. Klik kanan pada instance tersebuh dan pilih void start()
5). Silahkan input string



#Diagram Class : 


Komentar

Postingan populer dari blog ini

Evaluasi Tengah Semester

Tugas 14 - Pemrogramman GUI

Tugas 15 Final Project