Monday, October 13, 2025

Pertemuan 7 | support system

  Naufal Daffa Alfa Zain

5025241066
Pemrograman Berorientasi Objek - A

        Pada pertemuan ke-7, kami belajar mengenai Tech Support. Pada tugas kali ini, saya mengimplementasikan konsep tersebut melalui pembuatan proyek simulasi Tech Support untuk customer service di myITS menggunakan bahasa Java di BlueJ.

    Saya menggunakan library bawaan Java yang lebih advanced seperti Scanner (java.util.Scanner) untuk membaca input pengguna, HashMap (java.util.HashMap) untuk menyimpan data kata kunci dan respon, serta Random (java.util.Random) untuk menghasilkan respon acak. disini juga menggunakan rensponse.put(input,response), untuk auto response chat users.



source code :

TechSupport.java

import java.util.Map;
import java.util.HashMap;
import java.util.Random;
import java.util.Scanner;

public class TechSupport {
    private Map<String, String> responses;
    private Random random;

    public TechSupport() {
        responses = new HashMap<>();
        random = new Random();

        // Daftar kata kunci dan respons
        responses.put("halo", "Halo! Ada yang bisa saya bantu?");
        responses.put("bantu", "Apa yang bisa saya bantu hari ini?");
        responses.put("siakad", "Apakah Anda mengalami masalah dengan SIAKAD? Pastikan server tidak sedang maintenance.");
        responses.put("frs","Mohon maaf, saat ini sedang diluar masa frs");
        responses.put("wifi", "Coba restart perangkat Anda atau periksa pengaturan jaringan.");
        responses.put("vpn", "Install dan konfigurasi VPN sesuai petunjuk di myITS VPN.");
        responses.put("lupa", "Silahkan datang ke gedung research center di ITS untuk reset password.");
        responses.put("sakit", "Untuk perizinan sakit, mohon lampirkan surat keterangan dokter di myITS presensi.");
        responses.put("izin", "Untuk perizinan izin, mohon lampirkan surat izin di myITS presensi.");
        responses.put("presensi", "Presensi dapat dilakukan di myITS presensi.");
        responses.put("matkul", "Informasi mata kuliah dapat dilihat di SIAKAD.");
        responses.put("dosen", "Untuk menghubungi dosen, silahkan cek email resmi dosen di myITS classroom.");
        responses.put("kelas", "Jadwal kelas dapat dilihat di SIAKAD.");
        responses.put("ujian", "Jadwal ujian dapat dilihat di SIAKAD.");
        responses.put("tugas", "Untuk informasi tugas, silahkan cek di myITS classroom.");
        responses.put("keluhan", "Silahkan sampaikan keluhan Anda melalui myITS Service Desk.");
        responses.put("link", "Untuk fitur url shortener, silahkan kunjungi https://shortener.its.ac.id/");
        responses.put("login", "Pastikan komputer Anda terhubung ke internet dan coba lagi.");
        responses.put("SKEM", "Mohon maaf, saat ini sedang diluar masa pengajuan SKEM.");
        responses.put("authenticator", "Unduh aplikasi Microsoft Authenticator, lalu ikuti langkah login di SIAKAD.");
        responses.put("kode", "Kode autentikasi muncul di aplikasi Authenticator Anda.");
        responses.put("akun", "Untuk masalah akun, silahkan datang ke gedung research center di ITS.");
    }

    public String getResponse(String userInput) {
        if (userInput == null || userInput.isBlank()) {
            return "Coba tulis pertanyaan yang lebih jelas.";
        }

        String[] words = userInput.toLowerCase().split("\\s+");
        for (String w : words) {
            if (responses.containsKey(w)) {
                return responses.get(w);
            }
        }

        // Jika tidak ada kata kunci yang cocok
        String[] generic = {
            "Bisa jelaskan lebih detail?",
            "Saya belum mengerti, bisa diulangi?",
            "Coba tambahkan informasi lebih spesifik."
        };
        return generic[random.nextInt(generic.length)];
    }

    private static void printWelcome() {
        System.out.println("========================================");
        System.out.println("   Selamat datang di Academic Support");
        System.out.println("   Apa ada yang bisa kami bantu?");
        System.out.println("   Ketik 'bye' untuk mengakhiri percakapan");
        System.out.println("========================================");
    }

    private static void printGoodbye() {
        System.out.println("Terima kasih telah menggunakan Academic Support.");
        System.out.println("Sampai jumpa!");
    }

    public static void main(String[] args) {
        TechSupport as = new TechSupport();
        Scanner scanner = new Scanner(System.in);
        printWelcome();

        while (true) {
            System.out.print("> ");
            String input = scanner.nextLine().trim();

            if (input.equalsIgnoreCase("bye")) {
                break;
            }

            String response = as.getResponse(input);
            System.out.println(response);
        }

        printGoodbye();
        scanner.close();
    }
}


No comments:

Post a Comment

Evaluasi Tengah Semester | PBO

 Naufal Daffa Alfa Zain 5025241066 PBO A Sistem Vending Coffee Machine adalah aplikasi yang mensimulasikan mesin penjual otomatis untuk minu...