Advertisement
mbah_bejo

supportSystem

Nov 8th, 2020 (edited)
663
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.78 KB | None | 0 0
  1. /**
  2.  * Class ini mengimplementasikakn technical support system.
  3.  * It is the top-level class in this project
  4.  * Sistem ini berkomunikasi
  5.  * via text input/output didalam text terminal.
  6.  * Class ini menggunakan objek dari class InputReader untuk membaca
  7.  * input dari pengguna dan objek class Responder untuk
  8.  * menciptakan respons
  9.  * ini berisi loop yang berulang kali membaca input dan
  10.  * menciptakan output hingga pengguna ingin keluar.
  11.  *
  12.  * @author thomasdwi.a
  13.  * @version 20201107
  14.  */
  15.  
  16. public class supportSystem {
  17.  
  18.     private InputReader reader;
  19.     private Responder responder;
  20.     private int problem;
  21.     private int mainProblem;
  22.     /**
  23.      * membuat sebuah technical support system
  24.      */
  25.  
  26.     public void SupportSystem(){
  27.         reader = new InputReader();
  28.  
  29.     }
  30.     /**
  31.      * Mulai membuat sistem. Diawal akan dicetak pesan selamat datang
  32.      * dan menekan enter untuk masuk ke dialog dengan pengguna,
  33.      * hingga pengguna selesai berdialog
  34.      */
  35.     public void start() {
  36.         boolean finised = false;
  37.         printWelcome();
  38.  
  39.         /*
  40.           program akan berhenti jika input berupa "bye" atau
  41.           pengguna sudah merasa solusi yang diberikan sudah membantu
  42.           melalui input "ya"
  43.          */
  44.         while (!finised) {
  45.             String input = reader.getInput();
  46.             String response;
  47.  
  48.             /*
  49.                Jika pengguna merasa belum puas dengan solusi yang diberikan
  50.                pengguna akan dapat menjawab "tidak" dan
  51.                mengecek kembali masalah yang ingin diselesaikan
  52.                dengan fungsi resetProblem
  53.              */
  54.             if (input.startsWith("tidak"))
  55.             {
  56.                 resetProblem();
  57.                 continue;
  58.             }
  59.  
  60.             if (input.startsWith("bye")||input.startsWith("ya")) {
  61.                 finised = true;
  62.             }
  63.             else {
  64.                 /*
  65.                   @param promblem kode masalah pengguna
  66.                  * @param mainproblem kode masalah yang spesifik berdasarkan
  67.                  *                    kata kunci yang sudah disediakan
  68.                  */
  69.                 if (problem == 0) {
  70.                     if (input.contains("Layar") || input.contains("layar")) problem = 1;
  71.                     else if (input.contains("Baterai") || input.contains("baterai")) problem = 2;
  72.                     else if (input.contains("Keyboard") || input.contains("keyboard")) problem = 3;
  73.                     else if (input.contains("Penyimpanan") || input.contains("penyimpanan")) problem = 4;
  74.                     else problem = 5;
  75.  
  76.                     responder = new Responder(problem);
  77.                     // membuat respons berdasarkan problem yang di peroleh
  78.                     response = responder.generateResponse();
  79.                     System.out.println(response);
  80.                 }
  81.                 else if(mainProblem ==0) {
  82.  
  83.                     if (problem == 1) {
  84.                         if (input.contains("mati")) mainProblem = 11;
  85.                         else if (input.contains("bluescreen")) mainProblem=12;
  86.                     }
  87.                     else if(problem == 2) {
  88.                         if (input.contains("status")||(input.contains("ikon"))) mainProblem = 21;
  89.                         else if (input.contains("hidup")||(input.contains("nyala"))) mainProblem=22;
  90.                     }
  91.                     else if(problem == 3) {
  92.                         if (input.contains("respon")) mainProblem = 31;
  93.                         else if (input.contains("lampu")||(input.contains("backlit"))) mainProblem=32;
  94.                     }
  95.                     else if(problem == 4) {
  96.                         if (input.contains("penuh")) mainProblem = 41;
  97.                         else if (input.contains("virus")) mainProblem = 42;
  98.                     }
  99.                     //jika masalah yang diberikan tidak terdapat dalam kata kunci
  100.                     else mainProblem = 99;
  101.  
  102.                     // membuat respons berdasarkan problem yang telah dideskripsikan pengguna
  103.                     response=responder.responsif(mainProblem);
  104.                     System.out.println(response);
  105.                     mainProblem=0;
  106.                 }
  107.  
  108.             }
  109.  
  110.         }
  111.         printGoodbye();
  112.     }
  113.  
  114.     /**
  115.      * fungsi ini untuk memastikan user tentang masalah yang ingin diselesaikan
  116.      * apakah masih dengan masalah yang sama atau berbeda
  117.      * jika berbeda, maka kode problem akan direset ke 0
  118.      *
  119.      */
  120.     private void resetProblem(){
  121.         System.out.println("Apakah masih dengan masalah yang sama? (ya/tidak)");
  122.         String confirm = reader.getInput();
  123.         if(confirm.startsWith("tidak")){
  124.             problem=0;
  125.             printWelcome();
  126.         }
  127.         if(confirm.startsWith("ya")){
  128.             System.out.println("Okey, jadi ada yang bisa di bantu lagi?");
  129.         }
  130.  
  131.     }
  132.  
  133.     /**
  134.      * Mencetak pesan selamat datang pada layar
  135.      */
  136.     private void printWelcome()
  137.     {
  138.         System.out.println(
  139.                 "Selamat Datang di SoftSoftan Technical Support System.");
  140.         System.out.println();
  141.         System.out.println("Tolong sebutkan permasalahanmu pada devicemu");
  142.         System.out.println("1. Layar\n" +
  143.                             "2. Baterai\n" +
  144.                             "3. Keyboard\n" +
  145.                             "4. Penyimpanan\n" +
  146.                             "5. Lain-lainnya");
  147.         System.out.println(
  148.                 "Kita akan membantu permasalahn yang kamu punya. :)");
  149.         System.out.println("Tolong ketik 'bye' untuk keluar dari sistem");
  150.  
  151.     }
  152.     /**
  153.      * Mencetak pesan penutup pada layar
  154.      */
  155.     private void printGoodbye()
  156.     {
  157.         System.out.println("Senang berbicara dengan anda. Bye...");
  158.     }
  159. }
  160.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement