Aplikasi Support System
TUGAS 5 PBO - Aplikasi Support System
1. supportSystem
--------------------------------------------------
/**
* support system sederhana.
*
* @author ichsanul_aulia
* @version (111720)
*/
import java.util.HashSet;
public class supportSystem
{
private inputReader reader;
private responder responder;
public supportSystem(){
reader = new inputReader();
responder = new responder();
}
public void start(){
boolean finished = false;
clearScreen();
System.out.println("\nHalo, selamat datang! Saya mega!, ada yang bisa saya bantu ?");
System.out.println("Saya akan menjawab pertanyaanmu seputar aplikasi kami.");
System.out.println("Tulis 'selesai' jika ingin mengakhiri percakapan.\n");
while(!finished){
HashSet<String> input = reader.getInput();
if(input.contains("selesai")){
finished = true;
}
else{
String response = responder.generateResponse(input);
System.out.println(response);
}
}
System.out.println("Terimakasih telah bertanya\n.");
System.out.println(" Sampai jumpa kembali!");
}
public static void clearScreen() {
System.out.print('\u000C');
System.out.flush();
}
}
---------------------------------------------------
2. inputRader
-----------------------------------------------------
/**
* Write a description of class inputReader here.
*
* @author ichsanul_aulia
* @version (111720)
*/
import java.util.Scanner;
import java.util.HashSet;
public class inputReader
{
private Scanner reader;
public inputReader(){
reader = new Scanner(System.in);
}
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. responder
-------------------------------------------------
/**
* Write a description of class responder here.
*
* @author ichsanul_aulia
* @version (111720)
*/
import java.util.Random;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
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>();
randomGenerator = new Random();
fillResponsesMap();
fillDefaultResponse();
}
public String generateResponse(HashSet<String> sentence){
for(String word : sentence){
String response = responseMap.get(word);
if(response != null) return response;
}
return pickDefaultResponse();
}
private void fillResponsesMap(){
responseMap.put("lapor", "laporan bisa dikirim ke mega@yahoo.com.");
responseMap.put("gangguan", "mohon maaf atas ketidak nyamannannya, akan kita perbaiki.");
responseMap.put("telepon", "bisa hubungi 0812345678910");
responseMap.put("promo", "promo bisa diambil");
responseMap.put("daftar", " bisa langsung daftar ke gerai ");
responseMap.put("harga", " harga masih sama kak, bisa langsung ke IG kak ");
responseMap.put("untung", " banyak keuntungan yang bisa didapat ya kak ");
}
private void fillDefaultResponse(){
defaultResponses.add("Maaf, bisa ulangi kembali pertanyaan kak ?.");
defaultResponses.add("Maaf kak mega belum paham ;( ");
}
private String pickDefaultResponse(){
int index = randomGenerator.nextInt(defaultResponses.size());
return defaultResponses.get(index);
}
}
Hasil Compile
Komentar
Posting Komentar