The Tech Support System
Pada blog kali ini, kita akan membuat sebuah program support center untuk pada customer sebagai sebuah contoh penggunaan library pada Java di BlueJ. Pada program Tech Support kali ini, program ini akan menghasilkan beberapa variasi respon secara random sehingga customer tidak akan merasa terganggu, seperti :
Pada project kali ini kita akan membuat 3 class, yaitu SupportSystem
sebagai main class, InputReader untuk mengambil input String dari customer, dan
Responder untuk membuat respon secara random. Jika di blueJ akan menjadi
seperti ini :
Source code class Support System :
1. /**
2. *
Class untuk mengimplementasi technical support system.
3. *
4. *
@author Aufi Fillah
5. *
@version 0.1
6. */
7. public class
SupportSystem
8. {
9.
private InputReader reader;
10.
private Responder responder;
11.
/**
12.
* Membuat technical support system.
13.
*/
14.
public SupportSystem()
15.
{
16.
reader = new InputReader();
17.
responder = new Responder();
18.
}
19.
/**
20.
* mulai technical support system dengan print sebuah kalimat
21.
* pembuka
22.
*/
23.
public void
start()
24.
{
25.
boolean
finished = false;
26.
printWelcome();
27.
while(!finished) {
28.
String
input = reader.getInput();
29.
if(input.startsWith("bye")) {
30.
finished = true;
31.
}
32.
else {
33.
String
response = responder.generateResponse();
34.
System.out.println(response);
35.
}
36.
}
37.
printGoodbye();
38.
}
39.
/**
40.
* Print sebuah welcome message
41.
*/
42.
private void printWelcome()
43.
{
44.
System.out.println(
45.
"Welcome to the
DodgySoft Technical Support System.");
46.
System.out.println();
47.
System.out.println("Please
tell us about your problem.");
48.
System.out.println(
49.
"We will assist you
with any problem you might have.");
50.
System.out.println(
51.
"Please type 'bye'
to exit our system.");
52.
}
53.
/**
54.
* Print sebuah good-bye message.
55.
*/
56.
private void
printGoodbye()
57.
{
58.
System.out.println("Nice
talking to you. Bye...");
59.
}
60. }
Pada class tersebut kita hanya mengundang class lain dan
tidak perlu mengundang sebuah library karena boolean, string, dan print sudah
ada dalam Java tanpa di import sekalipun.
Lalu source code class Responder :
1. import java.util.ArrayList;
2. import java.util.Random;
3. /**
4. *
Class untuk membuat respon secara random dan otomatis
5. *
6. *
@author Aufi Fillah
7. *
@version 0.1
8. */
9. public class
Responder
10. {
11.
private Random randomGenerator;
12.
private ArrayList<String>
responses;
13.
/**
14.
* Membuat responder.
15.
*/
16.
public Responder()
17.
{
18.
randomGenerator = new
Random();
19.
responses = new ArrayList<String>();
20.
fillResponses();
21.
}
22.
/**
23.
* Membuat sebuah response.
24.
* return string
25.
*/
26.
public String
generateResponse()
27.
{
28.
// Pick a random number for the index in
the default response
29.
// list. The number will be between 0
(inclusive) and the size
30.
// of the list (exclusive).
31.
int
index = randomGenerator.nextInt(responses.size());
32.
return responses.get(index);
33.
}
34.
/**
35.
* Build up sebuah list default responses dengan random
36.
*/
37.
private void
fillResponses()
38.
{
39.
responses.add("That
sounds odd. Could you describe \n" +
40.
"that problem in more detail?");
41.
responses.add("No
other customer has ever \n" +
42.
"complained about this before. \n" +
43.
"What is your system
configuration?");
44.
responses.add("That’s
a known problem with Vista." +
45.
"Windows 7 is much better.");
46.
responses.add("I
need a bit more information on that.");
47.
responses.add("Have
you checked that you do not \n" +
48.
"have a dll conflict?");
49.
responses.add("That
is explained in the manual. \n" +
50.
"Have you read the manual?");
51.
responses.add("Your
description is a bit \n" +
52.
"wishy-washy. Have you got an expert \n" +
53.
"there with you who could describe \n" +
54.
"this more precisely?");
55.
responses.add("That’s
not a bug, it’s a feature!");
56.
responses.add("Could
you elaborate on that?");
57.
}
58. }
Pada class Responder, kita membutuhkan ArrayList untuk membuat
sebuah respon dan Random untuk mengoutput salah satu reson secara random.
Lalu, source code class InputReader :
1. /**
2. *
Class untuk mendapatkan input dari user
3. *
4. *
@author Aufi Fillah
5. *
@version 0.1
6. */
7.
8. import java.util.Scanner;
9. import java.lang.String;
10.
11. public class
InputReader
12. {
13.
/** membuat method untuk menginput sebuah
String.
14.
*
15.
*/
16.
public String
getInput()
17.
{
18.
Scanner reader = new
Scanner(System.in);
19.
String
awawa = reader.nextLine();
20.
return awawa;
21.
}
22. }
Pada class InputReader kita Cuma membuat sebuah class untuk
mendapatkan input dari customer. Maka dari itu, kita mengimport sebuah package
java.util.Scanner lalu membuat sebuah method getInput() dan menyimpan dalam
sebuah variabel String awawa yang kemudian akan digunakan pada main class
(SupportSystem Class).
Untuk menjalankan program Support Center ini, pertama-tama
kita klik kanan pada class SupportSystem dan pilih new SupportSystem()
Dan kita namai object tersebut dengan nama supportS1
Klik kanan pada object yang telah dibuat dan pilih void
start()
Lalu BlueJ akan menampilkan :
Lalu, apabila kita ingin menyampaikan sesuatu, kita akan mendapatkan
respon yang berbeda-beda secara random, seperti :
Dan apabila kita mengetik “bye”, program akan menjalankan
fungsi printGoodbye(), program dihentikan dan tidak akan bisa mendapatkan input
lagi.
Sekian adalah contoh program dengan mengimport package dalam
Java. Terimakasih.
Komentar
Posting Komentar