Tugas 5 Tech Support System Kelas PBO C

Pada tugas kali ini, saya mencoba membuat sebuah program Tech Support System berupa chatbot dimana chatbot tersebut berfungsi untuk menjawab pertanyaan-pertanyaan dari para user / customer. Chatbot ini akan merespons jawaban yang berbeda tergantung dari kata kunci yang dimasukkan user / customer. Pada program ini terdapat 3 Class yaitu Class SupportSystem, Class InputReader, dan Class Responder. Class SupportSystem berfungsi untuk menjalankan program yaitu dengan menjalankan fungsi start(). Class InputReader berfungsi untuk membaca semua input keyword yang diberikan user / customer. Class Responder berfungsi memberikan respon / jawaban dari pertanyaan user /customer.


 

Source Code Class SupportSystem

/**  
  *   
  * @author Aimar Wibowo  
  * @version 11 November 2020  
  */  
  
 import java.util.*;  
 public class SupportSystem  
 {    
   private InputReader reader;  
   private Responder responder;  
   
   public SupportSystem()  
   {  
     reader = new InputReader();  
     responder = new Responder();  
   }  
  
   public void start()  
   {  
     boolean finished = false;  
     printWelcome();  
     while(!finished)  
     {  
       HashSet<String> input = reader.getInput();  
       if(input.contains("exit") || input.contains("quit")) {
           finished = true;
        }  
       else  
       {  
         String response = responder.generateResponse(input);  
         System.out.println(response);  
       }  
     }  
     printGoodbye();  
   }  
     
   private void printWelcome()  
   {  
     System.out.println("Halo, ada yang bisa dibantu");  
     System.out.println("Tekan 'exit' atau 'quit' untuk mengakhiri program");  
   }  
     
   private void printGoodbye()  
   {  
     System.out.println("Sampai jumpa lagi");
     System.out.println("Terima kasih sudah bertanya");
   }  
 } 


Source Code Class InputReader

/**  
  * @author Aimar Wibowo  
  * @version 11 November 2020  
  */  
   
 import java.util.*;  
 public class InputReader  
 {  
   private Scanner reader;  
    
   public InputReader()  
   {  
     reader = new Scanner(System.in);  
   }  
   //Membaca pertanyaan  
   public HashSet<String> getInput()  
   {  
     System.out.print("> ");  
     String inputLine = reader.nextLine().trim().toLowerCase();  
     String[] wordArray = inputLine.split(" ");  
     HashSet<String> words = new HashSet<String>();  
     for(String word : wordArray)  
     {  
       words.add(word);  
     }  
     return words;  
   }  
 }  


Source Code Class Responder

/**   
  * @author Aimar Wibowo 
  * @version 11 November 2020  
  */  
 
 import java.util.*;  
 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 fillResponsesMap()  
     {  
       responseMap.put("bug", "Silahkan dicoba debug sendiri terlebih dahulu.");  
       responseMap.put("virus", "Silahkan download antivirus yang mutakhir");  
       responseMap.put("halo", "Halo juga");  
       responseMap.put("slow", "Silahkan cek memori anda. Bersihkan memori jika terlalu penuh");
       responseMap.put("lag", "Silahkan cek kuota atau koneksi internet");
       responseMap.put("rusak", "Silahkan mengbubungi bagian CS");  
       responseMap.put("beli", "Silahkan dilihat-lihat terlebih dahulu barang dan harganya di website resmi kami");  
     }  
      
     private void fillDefaultResponse()  
     {  
       defaultResponses.add("Saya tidak paham apa yang anda maksud");  
       defaultResponses.add("Bisa diulang apa maksud anda?");  
       defaultResponses.add("Silahkan coba lagi");  
       defaultResponses.add("Cek penggunaan spasi dan huruf kapital");  
       defaultResponses.add("Saya tidak mengerti bahasa anda"); 
       defaultResponses.add("Try again! read our guide book to use the support system chatbot");
     }  
     
     private String pickDefaultResponse()  
     {  
       int index = randomGenerator.nextInt(defaultResponses.size());  
       return defaultResponses.get(index);  
     }  
 }  


Screenshot Cara Penggunaan Chatbot



Komentar

Postingan populer dari blog ini

Tugas 6 World of Zuul Kelas PBO C

Tugas 2 Biodata Kelas PBO C