/**
* Kelas ini menerapkan sistem dukungan teknis. Ini adalah kelas tingkat atas dalam proyek ini.
* Sistem pendukung berkomunikasi melalui input / output teks di terminal teks.
* Kelas ini menggunakan objek kelas InputReader untuk membaca masukan dari pengguna dan objek
* dari kelas Responder untuk menghasilkan tanggapan.
* Ini berisi loop yang berulang kali membaca masukan dan menghasilkan keluaran sampai pengguna
* ingin keluar.
*
* @author Timotius Wirawan
* @version 11/11/2020
*/
import java.util.*;
public class SupportSystem
{
private InputReader reader;
private Responder responder;
//Membuat sistem dukungan teknis.
public SupportSystem()
{
reader=new InputReader();
responder=new Responder();
}
/**
* Mulai sistem dukungan teknis. Ini akan mencetak pesan selamat datang dan masuk ke dialog
* dengan pengguna, sampai pengguna mengakhiri dialog.
*/
public void start()
{
boolean finished=false;
printWelcome();
while(!finished)
{
HashSet<String> input = reader.getInput();
if(input.contains("bye"))
{
finished=true;
}
else
{
String response=responder.generateResponse(input);
System.out.println(response);
}
}
printGoodbye();
}
//Cetak pesan selamat datang di layar.
private void printWelcome()
{
System.out.println("Selamat datang di Technical Support System");
System.out.println("Apakah ada yang bisa saya bantu?");
System.out.println("Saya akan membantu sebisa saya jika anda ada masalah");
System.out.println("Jika tidak ada atau sudah selesai bisa mengetik \'bye\' untuk keluar dari sistem");
}
//Cetak pesan selamat tinggal ke layar.
private void printGoodbye()
{
System.out.println("Senang bisa berbicara dengan anda");
System.out.println("Jika anda ada masalah lagi, jangan ragu untuk memberitahukan pada saya");
}
}