Persyaratan dan Desain
Definisikan masalah, masukan dan keluaran, batasan, serta rencana sederhana untuk alat statistik kata.
Persyaratan dan Desain adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 3 pelajaran total.
Tujuan Proyek
Tujuan: Membuat alat kecil yang melaporkan statistik dasar kata. Kita akan memecah teks menjadi token, menormalkan kata, menghitung frekuensi, dan menampilkan hasil teratas.
Masukan dan Keluaran
Masukan: string teks pendek yang untuk sementara ditulis langsung. Keluaran: jumlah seluruh kata, kata unik, dan N kata yang paling sering muncul beserta jumlahnya.
Aturan Normalisasi
Normalisasi: ubah teks menjadi huruf kecil dan hapus tanda baca. Pisahkan berdasarkan karakter nonhuruf agar token menjadi bersih dan dapat dibandingkan.
Strategi Penghitungan
Penghitungan: petakan setiap kata ke frekuensinya. Dalam Java, HashMap sederhana yang memetakan String ke bilangan bulat sudah jelas dan cukup untuk tahap awal.
Rencana Pelaporan
Pelaporan: cetak jumlah keseluruhan dan N teratas, seperti tiga kata teratas. Jika jumlahnya sama, urutan apa pun tidak masalah. Buat keluarannya sederhana.
Prototipe: Uji Coba Kecil
Prototipe: ubah menjadi huruf kecil, hapus tanda baca, pisahkan, hitung, dan cetak tiga teratas. Untuk sementara, kita menulis teks langsung dan menjaga keluaran tetap mudah dibaca.
public class Main {
public static void main(String[] args) {
// Prototype: hard coded text, normalize, count, and print simple stats.
String text = "To be, or not to be: that is the question. To be or not?";
// 1) Lowercase
String lower = text.toLowerCase();
// 2) Replace non letters with spaces for splitting
String cleaned = lower.replaceAll("[^a-z]+", " ");
// 3) Split on spaces and filter empty tokens
String[] tokens = cleaned.trim().split("\\s+");
java.util.Map<String, Integer> freq = new java.util.HashMap<>();
int total = 0;
for (int i = 0; i < tokens.length; i = i + 1) {
String w = tokens[i];
if (w.length() == 0) continue;
total = total + 1;
Integer c = freq.get(w);
if (c == null) freq.put(w, 1);
else freq.put(w, c + 1);
}
// Simple top 3 by repeated linear scan (fine for small texts)
for (int k = 0; k < 3; k = k + 1) {
String bestWord = null;
int bestCount = -1;
for (java.util.Map.Entry<String,Integer> e : freq.entrySet()) {
String word = e.getKey();
int count = e.getValue();
if (count > bestCount) {
bestCount = count;
bestWord = word;
}
}
if (bestWord == null) break;
System.out.println("#" + (k + 1) + " " + bestWord + " = " + bestCount);
// mark as used
freq.put(bestWord, -1000000);
}
System.out.println("Total words: " + total);
System.out.println("Unique words: " + (freq.size()));
}
}
Desain Terlebih Dahulu
Pemeriksaan singkat: Langkah manakah yang seharusnya dilakukan paling awal saat merancang proyek kecil ini?
Ringkasan
Ringkasan: Kita menetapkan cakupan, mendefinisikan IO, menetapkan aturan, memilih pemetaan sederhana untuk penghitungan, dan memvalidasi rencana dengan uji coba kecil.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Persyaratan dan Desain” gratis?
Ya — teks lengkap “Persyaratan dan Desain” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Persyaratan dan Desain”?
Definisikan masalah, masukan dan keluaran, batasan, serta rencana sederhana untuk alat statistik kata. Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Java Academy?
Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 3.
Berapa lama pelajaran “Persyaratan dan Desain” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?
Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Persyaratan dan Desain
- Implementasi
- Pengujian dan Pengembangan