document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. /**
  2.  * Kelas ini untuk memberikan tanggapan dari input pengguna
  3.  *
  4.  * @author Timotius Wirawan
  5.  * @version 11/11/2020
  6.  */
  7.  
  8. import java.util.*;
  9.  
  10. public class Responder
  11. {
  12.     private Random randomGenerator;
  13.     private ArrayList<String> defaultResponses;
  14.     private HashMap<String, String> responseMap;
  15.    
  16.     //Membuat Responder
  17.     public Responder()
  18.     {
  19.         defaultResponses=new ArrayList<String>();
  20.         responseMap=new HashMap<String, String>();
  21.         fillResponses();
  22.         fillDefaultResponses();
  23.         randomGenerator=new Random();
  24.     }
  25.    
  26.     /**
  27.      * Menghasilkan jawaban
  28.      *
  29.      * @return Sebuah string yang harus ditampilkan sebagai respon.
  30.      */
  31.     public String generateResponse(HashSet<String> words)
  32.     {
  33.         for(String word:words)
  34.         {
  35.             String response=responseMap.get(word);
  36.             if(response!=null)
  37.             {
  38.                 return response;
  39.             }
  40.         }
  41.         return pickDefaultResponse();
  42.     }
  43.    
  44.     //Memberikan jawaban
  45.     private void fillResponses()
  46.     {
  47.         responseMap.put("pagi", "Selamat pagi juga, apakah ada yang bisa saya bantu?");
  48.         responseMap.put("siang", "Selamat siang juga, apakah ada yang bisa saya bantu?");
  49.         responseMap.put("sore", "Selamat sore juga, apakah ada yang bisa saya bantu?");
  50.         responseMap.put("malam", "Selamat malam juga, apakah ada yang bisa saya bantu?");
  51.         responseMap.put("baik", "Senang bisa mengetahuinya");
  52.         responseMap.put("bahagia", "Saya juga ikut senang jika anda senang");
  53.         responseMap.put("senang", "Saya juga ikut senang jika anda senang");
  54.         responseMap.put("terima kasih", "Terima kasih juga telah berkunjung");
  55.         responseMap.put("buruk", "Apakah terjadi sesuatu?");
  56.         responseMap.put("masalah", "Saya sangat menyesal mengetahui hal itu");
  57.         responseMap.put("sedih", "Saya disini untuk membantu permasalah anda");
  58.     }
  59.    
  60.     //Membuat tanggapan jika input tidak diketahui.
  61.     private void fillDefaultResponses()
  62.     {
  63.         defaultResponses.add("Maaf, saya tidak mengerti apa yang Anda coba katakan");
  64.     }
  65.    
  66.     private String pickDefaultResponse()
  67.     {
  68.         int index=randomGenerator.nextInt(defaultResponses.size());
  69.         return defaultResponses.get(index);
  70.     }
  71. }
');