import java.util.*;
/**
* Class yang berisi respon/tanggapan yang nanti akan diberikan kepada user.
*
* @author M.Fajri Davyza Chaniago
* @version 16 November 2020
*/
public class Responder
{
private Random randomGenerator;
private ArrayList<String> defaultResponses;
private HashMap<String, String> responseMap;
public Responder()
{
defaultResponses = new ArrayList<String>();
responseMap = new HashMap<String, String>();
fillResponsesMap();
fillDefaultResponse();
randomGenerator = new Random();
}
public String generateResponse(HashSet<String> words)
{
for (String word : words)
{
String response = responseMap.get(word);
if (response != null)
{
return response;
}
}
return pickDefaultResponse();
}
private void fillDefaultResponse()
{
defaultResponses.add("Maaf, kami tidak mengerti maksud Anda.");
defaultResponses.add("Bisakah diulang pertanyaan Anda?");
defaultResponses.add("Silakan mencoba lagi.");
}
private void fillResponsesMap()
{
responseMap.put("lemot", "Laptop/PC banyak aplikasi berat, hapus aplikasi yang tidak perlu.\\n");
responseMap.put("mahal", "Mungkin bisa menabung dulu.\\n");
responseMap.put("baru", "Tentu ada dong. Bisa dilihat-lihat dulu.\\n");
responseMap.put("virus", "Coba di-scan dulu pakai antivirus. Jika memang parah, harus install ulang :(.\\n");
responseMap.put("pagi", "Pagi juga. Ada yang bisa dibantu?\\n");
responseMap.put("siang", "Siang juga. Ada yang bisa dibantu?\\n");
responseMap.put("malam", "Malam juga. Ada yang bisa dibantu?\\n");
responseMap.put("halo", "Halo juga. Ada yang bisa dibantu?\\n");
responseMap.put("hai", "Hai juga. Ada yang bisa dibantu?\\n");
}
private String pickDefaultResponse()
{
int index = randomGenerator.nextInt(defaultResponses.size());
return defaultResponses.get(index);
}
}