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.
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
Posting Komentar