Langsung ke konten utama

Tugas 5 PBO: Technical Support

Seperti yang digunakan oleh nenek moyangnya Siri, Alexa, Cortana, dll yaitu Eliza. Kali ini mimin akan membahas contoh pemrograman Java yang berbasis dari salah satu program AI, yaitu Eliza. Untuk kasus kali ini, mimin pakai contoh sebagai customer service dari salah satu produk yang umum dikenal

Dan, ini dia kodingannya:

Class SupportSystem:
 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;  
     printWelcome();  
     while(!finished) {  
       HashSet<String> input = reader.getInput();  
       if(input.contains("bye")) {  
         System.out.println("Terima kasih dan selamat beraktifitas.");  
         finished = true;  
       }  
       else {  
         String response = responder.generateResponse();  
         System.out.println(response);  
       }  
     }  
   }  
   private void printWelcome()  
   {  
     System.out.println(  
     "Selamat datang di contact center JuraganMalkist 123.");  
     System.out.println();  
     System.out.println("Silahkan sampaikan keluhan anda dan silahkan ketik 'bye' untuk keluar dari sistem.");  
   }  
 }  

Class Responder:
 public class Responder  
 {  
   public Responder()  
   {  
   }  
   public String generateResponse()  
   {  
     return "Terima kasih atas perhatiannya, akan kami sampaikan pada pihak terkait.";  
   }  
 }  

Class InputReader:
 import java.util.HashSet;  
 import java.util.Scanner;  
 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;  
   }  
 }  
 Dan, ini dia hasilnya:


Simpel kan? Itu aja dari mimin dan sampai ketemu di postingan selanjutnyaaaa

Komentar

Postingan populer dari blog ini

Tugas 7 PBO: Fox & Rabbit Simulator

Class Location: public class Location { private int row; private int col; public Location(int row, int col) { this.row = row; this.col = col; } public boolean equals(Object obj) { if(obj instanceof Location) { Location other = (Location) obj; return row == other.getRow() && col == other.getCol(); } else { return false; } } public String toString() { return row + "," + col; } public int hashCode() { return (row << 16) + col; } public int getRow() { return row; } public int getCol() { return col; } } Class Field: import java.util.Collections; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Random; public class Field { private static final Random rand = Randomizer.getRandom(); priva...

Tugas 2 APSI: ERD dan DFD Sistem Ticketing Kereta Api

Tugas 2 APSI: ERD dan DFD Sistem Ticketing Kereta Api DFD Level 0 DFD Level 1 DFD Level 2 ERD

RK 5: Sistematika Sintaks Requirement

Metode Dokumentasi - Rekayasa Kebutuhan: Requirement Engineering: Requirement Engineering atau juga bisa disebut Requirement Analysis merupakan suatu cara untuk menentukan kebutuhan user yang kemudian bisa digunakan sebagai input dalam proses analisis desain sebuah produk. Requirement/Kebutuhan yang dihasilkan dari kegiatan ini haruslah bisa di hitung (quantifiable), detail, dan relevan. Requirement Engineering melibatkan proses komunikasi yang intensif dengan pengguna sistem yang bertujuan untuk menjelas/detaikan spesifikasi kebutuhannya . Komunikasi Intensi ini dilakukan dengan tujuan agar kebutuhan usernya tidak ambigu dan sesuai dengan keinginannya, serta juga menghindarkan project creep (penambahan fitur baru saat implementasi), dan sebagai tolok ukur hasil implementasi produk (menentukan objective saat proses testing dilakukan). Dan karena RE ini berhubungan denga orang (user) maka sangat dianjurkan agar tim yang melakukan RE ini memilki kemampuan komunikasi dan mana...