TUGAS PBO-C Pertemuan-5: Tech Support System

   TUGAS PBO-C Pertemuan-5 : Tech Support System


        Pada pertemuan kelima kelas PBO-C, saya diberi tugas untuk membuat Program Tech Support System dengan menggunakan Blue-J. Tech Support System itu tersendiri yaitu chatbot yang dimana nantinya  bot tersebut akan merespon jawaban berbeda-beda tergantung dengan kata kunci yang dimasukan oleh pengguna.



Pada program Tech Support System ini terdapat 3 Class yang terdiri dari :



1. Source code Responder Class : 
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");
       responseMap.put("pokemon", "Pika - pika");
     }  
      
     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);  
     }  
 }  


2. Source code InputReader Class : 

 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;  
   }  
 }  


3. Source code  SupportSystem: 
 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");
   }  
 } 

Hasil Programmnya :






























Komentar

Postingan populer dari blog ini

TUGAS PWEB-D Pertemuan - 4 : Bootstrap

TUGAS PWEB-D Pertemuan - 5 : Form Validasi

Tugas PWEB-D Pertemuan Ke-1 : Biodata