import java.util.List;

public class LinimasaRilis {

    // Record: class ringkas khusus penyimpan data
    record Rilis(int tahun, String versi, String sorotan) {}

    public static void main(String[] args) {
        List<Rilis> linimasa = List.of(
            new Rilis(1996, "1.0", "Rilis JDK pertama untuk publik"),
            new Rilis(2004, "5.0", "Generics, enum, autoboxing"),
            new Rilis(2014, "8", "Lambda dan Stream (LTS paling lama dipakai)"),
            new Rilis(2017, "9", "Modul JPMS, irama rilis baru dimulai"),
            new Rilis(2018, "11", "LTS pertama di irama enam bulanan"),
            new Rilis(2021, "17", "LTS, sealed class dan record"),
            new Rilis(2023, "21", "LTS, virtual threads"),
            new Rilis(2025, "25", "LTS, scoped values dan FFM API")
        );

        System.out.println("Linimasa rilis penting Java:");
        for (Rilis r : linimasa) {
            System.out.printf("%d  Java %-3s  %s%n", r.tahun(), r.versi(), r.sorotan());
        }

        System.out.println();
        System.out.println("Contoh ini dijalankan oleh JDK "
                + System.getProperty("java.version") + " ("
                + System.getProperty("java.vendor") + ")");
    }
}
