Skip to main content

Java TechSupport System

Post kali ini membahas tentang The TechSupport System dengan menggunakan bahasa Pemrograman Java dan BlueJ. The TechSupport System adalah sebuah program yang ditujukan untuk menyediakan bantuan teknis untuk pelanggan.

Sistem TechSuppot ini memberikan sistem bantuan teknis yang diharapkan bisa meniru respon dari yang bisa diberikan oleh sorang pendukung teknis. Pelanggan bisa mengkomunikasikan dengan sistem bantuan teknis ini.

The TechSupport System terdiri dari kelas-kelas sebagai berikut:

  • SupportSystem
  • InputReader
  • Responder

Berikut ini adalah gambar diagram kelas dari TechSupport System.


The SupportSystem Class

Kelas SupportSystem adalah sebuah kelas yang mengimplementasikan sistem bantuan teknis. kelas ini merupakan kelas level atas dalam poject ini. SupportSystem berkomunikasi lewat input/output teks di dalam terminal teks.

Kelas ini menggunakan objek dari kelas InputReader untuk membaca input dari user, dan sebuah objek kelas Responder untuk menghasilkan respon-respon. Kelas ini berisi loop yang secara berulang membaca input dan menghasilkan output sampai user ingin keluar.

Implementation of the SupportSystem Class

/**
 * Kelas ini mengimplementasikan sistem bantuan teknis. Ini merupakan kelas level
 * atas di dalam project ini. SupportSystem berkomunikasi lewat input/output teks
 * di dalam terminal teks.
 * 
 * Kelas ini menggunakan objek dari kelas InputReader untuk membaca input dari
 * user, dan sebuah objek kelas Responder untuk menghasilkan respon-respon. Kelas
 * ini berisi loop yang secara berulang membaca input dan menghasilkan output
 * sampai user ingin keluar.
 * 
 * @author     Ramadhan Arif Hardijansyah
 * @version    0.1 (2020.11.07)
 */
public class SupportSystem
{
    private InputReader reader;
    private Responder responder;
    
    /**
     * Membuat sistem dukungan teknis.
     */
    public SupportSystem()
    {
        reader = new InputReader();
        responder = new Responder();
    }

    /**
     * Memulai sistem dukungan teknis. Ini akan mencetak sebuah pesan selamat
     * datang dan masuk ke dalam dialog dengan user, sampai user mengakhiri
     * dialog.
     */
    public void start()
    {
        boolean finished = false;

        printWelcome();

        while(!finished) {
            String input = reader.getInput();
            input = input.trim();
            input = input.toLowerCase();

            if(input.equals("bye")) {
                finished = true;
            }
            else {
                String response = responder.generateResponse();
                System.out.println(response);
            }
        }

        printGoodbye();
    }

    /**
     * Mencetak pesan selamat datang ke layar.
     */
    private void printWelcome()
    {
        System.out.println("Welcome to the ProjectWarehouse Technical Support System.");
        System.out.println();
        System.out.println("Please tell us about your problem.");
        System.out.println("We will assist you with any problem you might have.");
        System.out.println("Please type 'bye' to exit our system.");
    }

    /**
     * Mencetak sebuah pesan selamat tinggal ke layar.
     */
    private void printGoodbye()
    {
        System.out.println("Nice talking to you. Bye...");
    }
}

The InputReader Class

Kelas InputReader membaca input teks yang ditulis dari terminal teks standar. Text yang diketik oleh user dikembalikan.

Implementation of the InputReader Class

import java.util.HashSet;
import java.util.Scanner;

/**
 * InputReader membaca masukan teks yang diketik dari terminal teks standar.
 * Teks yang diketik oleh user dikembalikan.
 * 
 * @author     Ramadhan Arif Hardijansyah
 * @version    0.1 (2020.11.07)
 */
public class InputReader
{
    private Scanner reader;

    /**
     * Membuat sebuah InputReader baru yang membaca teks dari terminal teks.
     */
    public InputReader()
    {
        reader = new Scanner(System.in);
    }

    /**
     * Membaca sebaris teks dari standard input (teminal teks),
     * dan mengembalikannya sebagai sebuah String.
     *
     * @return  Sebuah string yang diketik oleh user.
     */
    public String getInput()
    {
        System.out.print("> ");         // print prompt
        String inputLine = reader.nextLine();

        return inputLine;
    }
}

The Responder Class

Kelas Responder merepresentasikan sebuah objek penghasil respon. Kelas ini digunakan untuk menghasilkan respon sescara otomatis ke sebuah input string.

Implementation of the Responder Class

/**
 * Kelas responder merepresentasikan sebuah objek penghasil respon.
 * Ini digunakan untuk menghasilkan respon otomatis ke sebuah string masukan.
 * 
 * @author     Ramadhan Arif Hardijansyah
 * @version    0.1 (2020.11.07)
 */
public class Responder
{
    /**
     * Sebuah constructor untuk membangun Responder - tidak ada yang dilakukan
     */
    public Responder()
    {
    }

    /**
     * Menghasilkan sebuah respon.
     * @return   Sebuah string yang harus ditampilkan sebagai respon.
     */
    public String generateResponse()
    {
        return "That sounds interesting. Tell me more...";
    }
}

Berikut ini adalah langkah-langkah untuk mencoba TechSupport System.

1. Buat objek dari kelas SupportSystem

2. Klik kanan pada objek supportS1, panggil void start() method.

3. Cobalah untuk mengetik teks di terminal dan tekan enter untuk mencoba sistem. Lihatlah bagaimana hal tersebut berjalan.

4. Ketik "bye" ketika sudah selesai.

Sekian post tentang TechSupport System. Semoga bermanfaat.

Comments

Popular posts from this blog

Java Exception Handling

Postingan ini membahas sebuah program tambahan tentang exception handling . Disini seolah-olah bertindak sebagai tester. Dan program yang akan dimodifikasi adalah program SimpleCalculator . Program SimpleCalculator adalah sebuah program kalkulator sederhana yang menggunakan switch..case dalam Java. Program bisa melakukan operasi pertambahan, pengurangan, perkalian, dan pembagian. Program SimpleCalculator ini dibuat menggunakan bahasa pemrograman Java dan bisa di-compile menggunakan IDE BlueJ. Dalam aplikasi ini, dicoba untuk ditambahkan catch exception untuk mengetes bagimana pembagian suatu angka dengan angka nol. Dicari modul kelas yang merupakan operasi pembagian dan dimodifikasi agar bisa mengetes operasi pembagian dengan penyebut angka nol. Exception Handling Exception Handling adalah sebuah proses menanggapi terjadinya exception, menangani runtime error seperti ClassNotFound, IO, SQL, Remote , dsb.  Exception adalah suatu kondisi tidak normal yang membutuhkan pemrosesan...

Java Classes and Objects: A Deeper Look

Pada post kali ini, kita ingin melihat lebih dalam pada pembuatan class , mengontrol akses kepada member dari sebuah class dan membuat constructors . Kita juga ingin mendiskusikan composition - sebuah kemampuan yang bisa membuat suatu kelas memiliki referensi kepada objek dari kelas-kelas lainnya sebagai member. 8.2 TIME CLASS CASE STUDY Time1 Class Declaration Contoh awal ini kita memiliki 2 kelas, Time1 dan Time1Test. Kelas Time1 merepresentasikan waktu hari ini. Kelas Time1Test adalah kelas aplikasi dimana main  membuat satu objek kelas Time1 dan memanggil method -nya. Fig. 8.1. Time1 class declaration maintains the time in a 24-hour format. /** * // Fig. 8.1: Time.java * // Time1 class declaratoin maintains the time in 24-hour format. * * @author Ramadhan Arif Hardijansyah * @version 0.1 10 October 2020 */ public class Time1 { private int hour; // 0 - 23 private int minute; // 0 - 59 private int second; // 0 - 59 /* set a new time value using univers...

Dokumentasi Proses Pembuatan Website

Postingan berikut menjelaskan dokumentasi proses pembuatan website yang berisi beberapa konten tentang curriculum vitae. Website di-hosting menggunakan salah satu web hosting provider yang menyediakan layanan hosting gratis. Link Website CV:  ramadhanarif.000webhostapp.com Prosedur Pembuatan Website Curriculum Vitae 1. Daftar Hostinger.co.id Hostinger.co.id adalah salah satu layanan hosting yang menyediakan hosting website secara gratis dengan fitur terbatas. 2. Belajar kursus HTML melalui SoloLearn Setelah melalui beberapa rangkaian latihan dan praktik, di bagian HTML Basics, terdapat Blog Project: Putting It All Together. Disini, pelajaran, latihan, dan praktik yang telah dipelajari sebelumnya digabung menjadi satu dan menghasilkan blog yang sederhana dan bagus. Contoh kode HTML juga disediakan agar dapat dipelajari dan dikembangkan lebih lanjut. 3. Pelajari contoh code HTML Blog Project: Putting It All Together...