import java.util.ArrayList;
import java.util.List;

public class AnalisisKomentar {

    // Komentar review beku; klasifikasi berbasis awalan dan kata kunci sederhana
    static final List<String> KOMENTAR = List.of(
            "Mengapa validasi umur hanya terjadi di method ini?",
            "Bagaimana kalau input bernilai null saat panggilan pertama?",
            "Ubah nama variabel tmp menjadi totalHarga agar maksudnya terbaca.",
            "Jangan pakai System.out.println di kode produksi karena level tidak bisa disaring.",
            "Bagus, penanganan error di sini sudah rapi dan teruji."
    );

    public static void main(String[] args) {
        List<String> rincian = new ArrayList<>();
        int pertanyaan = 0;
        int perintah = 0;
        int apresiasi = 0;
        int denganAlasan = 0;

        for (String komentar : KOMENTAR) {
            String jenis;
            if (komentar.startsWith("Mengapa") || komentar.startsWith("Bagaimana kalau")) {
                jenis = "pertanyaan";
                pertanyaan++;
            } else if (komentar.startsWith("Ubah") || komentar.startsWith("Jangan")) {
                jenis = "perintah";
                perintah++;
            } else {
                jenis = "apresiasi";
                apresiasi++;
            }
            if (komentar.contains("karena") || komentar.contains("agar")) {
                denganAlasan++;
            }
            rincian.add("[" + jenis + "] " + komentar);
        }

        for (String r : rincian) {
            System.out.println(r);
        }

        System.out.println();
        System.out.println("Pertanyaan  : " + pertanyaan);
        System.out.println("Perintah    : " + perintah);
        System.out.println("Apresiasi   : " + apresiasi);
        System.out.println("Dengan alasan: " + denganAlasan + " dari " + KOMENTAR.size()
                + " komentar");
    }
}
