Proyek ini membangun Buku Kontak — aplikasi desktop Swing untuk mengelola data kontak: satu jendela berisi formulir pengisian, tabel dengan pencarian, dan deretan tombol aksi. Seluruhnya dikerjakan dengan JDK 25 murni, tanpa framework dan tanpa pustaka luar: kerangka antarmuka dirakit dari layout manager, aturan data dipindahkan ke kelas teruji, penyimpanan dibuka lewat pola DAO, lalu aplikasi dikemas menjadi JAR dan citra mandiri jpackage.

Swing tetap relevan untuk belajar pemrograman desktop karena seluruhnya berada di dalam JDK — tanpa dependensi dan tanpa proses build khusus, aplikasi langsung berjalan. Swing juga memaparkan konsep yang berlaku di semua toolkit antarmuka: event dispatch thread, pemisahan model/view, dan event listener. Pengetahuan tersebut terbawa ke toolkit mana pun, termasuk JavaFX yang dibahas pada section yang sama.

Benang merah proyek ini adalah prinsip UI tipis, logika tebal: antarmuka hanya mengumpulkan masukan dan menampilkan hasil, sedangkan validasi, penomoran id, dan penulisan penyimpanan hidup di kelas tanpa Swing. Imbalannya nyata — seluruh aturan bisnis teruji otomatis tanpa layar, dan penyimpanan berganti dari memori ke berkas, kelak database, tanpa menyentuh kode UI.

Sebelum mulai, kuasai materi berikut: Records dan Interfaces pada section Object-Oriented Programming, ArrayList pada section Collections Framework, Swing Fundamentals dan Table Models pada section Desktop Development, serta Files Utility pada section File I/O dan NIO. Kerjakan empat bagian secara berurutan karena satu aplikasi yang sama berevolusi antar bagian; setiap bagian memuat versi terkini lengkap seluruh berkas yang dibutuhkan — salin seluruh berkas satu bagian ke folder kerja lalu jalankan demo atau harness dengan java NamaDemo.java. Seluruh eksekusi pada lingkungan artikel ini berjalan tanpa layar; pembaca dengan tampilan grafis dapat menjalankan aplikasi penuhnya.