Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Class ini mengimplementasikakn technical support system.
- * It is the top-level class in this project
- * Sistem ini berkomunikasi
- * via text input/output didalam text terminal.
- * Class ini menggunakan objek dari class InputReader untuk membaca
- * input dari pengguna dan objek class Responder untuk
- * menciptakan respons
- * ini berisi loop yang berulang kali membaca input dan
- * menciptakan output hingga pengguna ingin keluar.
- *
- * @author thomasdwi.a
- * @version 20201107
- */
- public class supportSystem {
- private InputReader reader;
- private Responder responder;
- private int problem;
- private int mainProblem;
- /**
- * membuat sebuah technical support system
- */
- public void SupportSystem(){
- reader = new InputReader();
- }
- /**
- * Mulai membuat sistem. Diawal akan dicetak pesan selamat datang
- * dan menekan enter untuk masuk ke dialog dengan pengguna,
- * hingga pengguna selesai berdialog
- */
- public void start() {
- boolean finised = false;
- printWelcome();
- /*
- program akan berhenti jika input berupa "bye" atau
- pengguna sudah merasa solusi yang diberikan sudah membantu
- melalui input "ya"
- */
- while (!finised) {
- String input = reader.getInput();
- String response;
- /*
- Jika pengguna merasa belum puas dengan solusi yang diberikan
- pengguna akan dapat menjawab "tidak" dan
- mengecek kembali masalah yang ingin diselesaikan
- dengan fungsi resetProblem
- */
- if (input.startsWith("tidak"))
- {
- resetProblem();
- continue;
- }
- if (input.startsWith("bye")||input.startsWith("ya")) {
- finised = true;
- }
- else {
- /*
- @param promblem kode masalah pengguna
- * @param mainproblem kode masalah yang spesifik berdasarkan
- * kata kunci yang sudah disediakan
- */
- if (problem == 0) {
- if (input.contains("Layar") || input.contains("layar")) problem = 1;
- else if (input.contains("Baterai") || input.contains("baterai")) problem = 2;
- else if (input.contains("Keyboard") || input.contains("keyboard")) problem = 3;
- else if (input.contains("Penyimpanan") || input.contains("penyimpanan")) problem = 4;
- else problem = 5;
- responder = new Responder(problem);
- // membuat respons berdasarkan problem yang di peroleh
- response = responder.generateResponse();
- System.out.println(response);
- }
- else if(mainProblem ==0) {
- if (problem == 1) {
- if (input.contains("mati")) mainProblem = 11;
- else if (input.contains("bluescreen")) mainProblem=12;
- }
- else if(problem == 2) {
- if (input.contains("status")||(input.contains("ikon"))) mainProblem = 21;
- else if (input.contains("hidup")||(input.contains("nyala"))) mainProblem=22;
- }
- else if(problem == 3) {
- if (input.contains("respon")) mainProblem = 31;
- else if (input.contains("lampu")||(input.contains("backlit"))) mainProblem=32;
- }
- else if(problem == 4) {
- if (input.contains("penuh")) mainProblem = 41;
- else if (input.contains("virus")) mainProblem = 42;
- }
- //jika masalah yang diberikan tidak terdapat dalam kata kunci
- else mainProblem = 99;
- // membuat respons berdasarkan problem yang telah dideskripsikan pengguna
- response=responder.responsif(mainProblem);
- System.out.println(response);
- mainProblem=0;
- }
- }
- }
- printGoodbye();
- }
- /**
- * fungsi ini untuk memastikan user tentang masalah yang ingin diselesaikan
- * apakah masih dengan masalah yang sama atau berbeda
- * jika berbeda, maka kode problem akan direset ke 0
- *
- */
- private void resetProblem(){
- System.out.println("Apakah masih dengan masalah yang sama? (ya/tidak)");
- String confirm = reader.getInput();
- if(confirm.startsWith("tidak")){
- problem=0;
- printWelcome();
- }
- if(confirm.startsWith("ya")){
- System.out.println("Okey, jadi ada yang bisa di bantu lagi?");
- }
- }
- /**
- * Mencetak pesan selamat datang pada layar
- */
- private void printWelcome()
- {
- System.out.println(
- "Selamat Datang di SoftSoftan Technical Support System.");
- System.out.println();
- System.out.println("Tolong sebutkan permasalahanmu pada devicemu");
- System.out.println("1. Layar\n" +
- "2. Baterai\n" +
- "3. Keyboard\n" +
- "4. Penyimpanan\n" +
- "5. Lain-lainnya");
- System.out.println(
- "Kita akan membantu permasalahn yang kamu punya. :)");
- System.out.println("Tolong ketik 'bye' untuk keluar dari sistem");
- }
- /**
- * Mencetak pesan penutup pada layar
- */
- private void printGoodbye()
- {
- System.out.println("Senang berbicara dengan anda. Bye...");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement