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 khu

Website Registrasi Kuliah Tatap Muka

  Postingan berikut menjelaskan dokumentasi proses pembuatan website registrasi kuliah tatap muka. Website di-hosting menggunakan github pages yang dapat meng-host  static webpages . Link Website Catalog Product:  https://dani-ramadhan7.github.io/registrasi/index.html Langkah-Langkah Pembuatan Website Registrasi Kuliah Tatap Muka 1. Ikuti langkah-langkah pada website pembelajaran. Salah satu website yang cukup bagus untuk dipelajari adalah  belajarphp.net/tutorial-validasi-form-menggunakan-html-dan-javascript/ . Coba untuk menulis ulang contoh kode pada modul pembelajaran atau langsung memilih bagian-bagian kode yang diinginkan untuk digunakan. 2. Buat file html baru, buat page html dengan acuan modul pembelajaran. Lakukan modifikasi dan penambahan. HTML JavaScript 3. Untuk desain, digunakan file css sebagaimana yang digunakan pada website, yakni menggunakan  https://stackpath.bootstrapcdn.com/bootstrap/

Website Pendaftaran Siswa Baru

Postingan berikut menjelaskan dokumentasi website Pendaftaran Siswa Baru. Website di-hosting di local PC menggunakan XAMPP serta menggunakan MySQL untuk menangani database dari para pendaftarnya. Halaman Utama Pendaftar dapat melakukan pendaftaran pada menu Daftar Baru atau melihat list pendaftar pada bagian Pendaftar. Formulir Pendaftaran Siswa Baru Disini, siswa dapat mengisikan formulir pendaftaran dan men-submit. Menu Pendaftar Menu Pendaftar isi menyajikan tabel yang berisi siswa yang telah mendaftar. Dapat dilakukan tindakan Edit atau Hapus pada setiap baris. Formulir Edit Siswa Formulir Edit Siswa menyajikan formulir untuk mengedit data siswa yang telah mendaftar. Setelah melakukan edit, dapat menekan tombol Simpan untuk menyimpan data siswa yang telah diperbarui. Source Code Untuk source code dari website Pendaftaran Siswa Baru ini adalah sebagai berikut. Link GitHub Gist:  https://gist.github.com/dani-ramadhan7/7838e42982a0488fcc170