Menu
CoddyTech

Penghitung Frekuensi Kata

Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 56 dari 65.

challenge icon

Tantangan

Mudah

Melanjutkan proyek penganalisis teksmu, sekarang kamu akan menerapkan fitur yang paling kompleks: penghitung frekuensi kata. Langkah ini akan membuat map yang melacak berapa kali setiap kata unik muncul dalam teksmu, sehingga memberikan wawasan terperinci tentang pola penggunaan kata.

  1. Gunakan variabel textToAnalyze dari penyiapan sebelumnya
  2. Gunakan variabel totalCharacters dari langkah penghitungan karakter
  3. Gunakan variabel wordList dari langkah pemisahan kata
  4. Gunakan variabel totalWords dari langkah penghitungan kata
  5. Gunakan variabel uniqueWordsSet dari langkah penghitungan kata unik
  6. Gunakan variabel uniqueWordCount dari langkah penghitungan kata unik
  7. Buat Map kosong bernama wordFrequency untuk menyimpan jumlah kata
  8. Iterasi setiap kata dalam wordList menggunakan for-in loop
  9. Untuk setiap kata, periksa apakah kata tersebut sudah ada di map menggunakan containsKey()
  10. Jika kata tersebut ada, tambahkan jumlahnya sebesar 1
  11. Jika kata tersebut belum ada, tambahkan ke map dengan jumlah 1
  12. Tampilkan hasil analisis frekuensi kata dalam format persis seperti yang ditunjukkan di bawah
  13. Tampilkan semua data analisis sebelumnya beserta map frekuensi kata dengan format yang tepat

Misalnya, jika penganalisis teksmu disiapkan dengan "hello world hello", programmu seharusnya menghasilkan:

Text Analysis Tool - Word Frequency
====================================
Analyzing text: "hello world hello"
Total characters: 17
Words found: [hello, world, hello]
Total words: 3
Unique words: {hello, world}
Unique word count: 2
====================================
Word Frequency Analysis Results:
Word frequencies: {hello: 2, world: 1}
====================================
Word frequency analysis completed successfully.

Jika penganalisis teksmu disiapkan dengan "the cat and the dog and the bird", programmu seharusnya menghasilkan:

Text Analysis Tool - Word Frequency
====================================
Analyzing text: "the cat and the dog and the bird"
Total characters: 32
Words found: [the, cat, and, the, dog, and, the, bird]
Total words: 8
Unique words: {the, cat, and, dog, bird}
Unique word count: 5
====================================
Word Frequency Analysis Results:
Word frequencies: {the: 3, cat: 1, and: 2, dog: 1, bird: 1}
====================================
Word frequency analysis completed successfully.

Jika penganalisis teksmu disiapkan dengan "apple banana apple cherry banana apple", programmu seharusnya menghasilkan:

Text Analysis Tool - Word Frequency
====================================
Analyzing text: "apple banana apple cherry banana apple"
Total characters: 38
Words found: [apple, banana, apple, cherry, banana, apple]
Total words: 6
Unique words: {apple, banana, cherry}
Unique word count: 3
====================================
Word Frequency Analysis Results:
Word frequencies: {apple: 3, banana: 2, cherry: 1}
====================================
Word frequency analysis completed successfully.

Programmu harus mengiterasi daftar kata dan membuat map frekuensi dengan memeriksa apakah setiap kata sudah ada di map. Gunakan containsKey() untuk memeriksa kata yang sudah ada, lalu tambahkan jumlah yang ada atau buat entri baru dengan jumlah 1. Analisis frekuensi ini akan memberikan wawasan paling terperinci tentang pola penggunaan kata dalam teksmu.

Coba sendiri

import 'dart:io';

void main() {
  // Text analyzer setup
  String? textToAnalyze = stdin.readLineSync();
  
  // Character counting
  int totalCharacters = textToAnalyze!.length;
  
  // Word splitting and counting
  List<String> wordList = textToAnalyze.split(' ');
  int totalWords = wordList.length;
  
  // Unique word analysis
  Set<String> uniqueWordsSet = Set.from(wordList);
  int uniqueWordCount = uniqueWordsSet.length;
  
  // Display results
  print('Text Analysis Tool - Unique Words');
  print('====================================');
  print('Analyzing text: "$textToAnalyze"');
  print('Total characters: $totalCharacters');
  print('Words found: $wordList');
  print('Total words: $totalWords');
  print('====================================');
  print('Unique Word Analysis Results:');
  print('Unique words: $uniqueWordsSet');
  print('Unique word count: $uniqueWordCount');
  print('====================================');
  print('Unique word analysis completed successfully.');
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Dart online