Menu
CoddyTech

Rangkuman: Penghitung Frekuensi Kata

Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 63 dari 63.

challenge icon

Tantangan

Mudah

Buat program C yang menerapkan penghitung frekuensi kata untuk menganalisis input teks. Programmu harus:

  1. Tulis fungsi bernama countWordOccurrences yang:
    • Menerima dua parameter char*: sentence dan targetWord
    • Mengembalikan integer yang menunjukkan berapa kali kata target muncul dalam kalimat
    • Menggunakan perulangan untuk memproses kalimat karakter demi karakter
    • Mengidentifikasi batas kata dengan menggunakan spasi sebagai pemisah
    • Mengekstrak setiap kata dari kalimat dan membandingkannya dengan kata target menggunakan strcmp()
    • Menghitung kecocokan persis dengan perbandingan peka huruf besar-kecil
  2. Tulis fungsi bernama extractWord yang:
    • Menerima kalimat char*, integer startIndex, dan parameter kata char*
    • Mengembalikan integer yang menunjukkan indeks setelah kata yang diekstrak
    • Mengekstrak satu kata mulai dari startIndex hingga ditemukan spasi atau terminator null
    • Menyimpan kata yang diekstrak dalam parameter word
    • Menambahkan terminator null untuk melengkapi kata yang diekstrak
  3. Tulis fungsi bernama analyzeText yang:
    • Menerima parameter kalimat char*
    • Mengembalikan integer yang menunjukkan jumlah total kata dalam kalimat
    • Menghitung kata dengan mengidentifikasi spasi sebagai pemisah
    • Menangani beberapa spasi berurutan dengan benar, yaitu menganggapnya sebagai satu pemisah
  4. Di fungsi main:
    • Deklarasikan array karakter inputSentence berukuran 200
    • Deklarasikan array karakter searchWord berukuran 50
    • Baca kalimat dari input, yang dapat berisi beberapa kata yang dipisahkan oleh spasi
    • Baca kata target yang akan dicari
    • Panggil fungsi analyzeText dan cetak jumlah total kata dengan format persis ini: Total words: [count]
    • Panggil fungsi countWordOccurrences dan cetak hasilnya dengan format persis ini: Occurrences of '[searchWord]': [count]
    • Hitung dan cetak frekuensi kata sebagai persentase dengan tepat 1 angka desimal menggunakan format persis ini: Frequency: [percentage]%
    • Tentukan dan cetak kategori frekuensi:
      • Jika frekuensinya 0.0%: cetak Category: Not found
      • Jika frekuensinya lebih besar dari 0.0% tetapi kurang dari 20.0%: cetak Category: Rare
      • Jika frekuensinya antara 20.0% dan 50.0%, termasuk kedua batas: cetak Category: Common
      • Jika frekuensinya lebih besar dari 50.0%: cetak Category: Frequent

Tantangan ini menguji penguasaanmu dalam manipulasi string, tokenisasi, dan pemrosesan teks. Kamu akan berlatih memecah kalimat menjadi kata-kata, membandingkan string untuk menemukan kecocokan persis, dan membuat beberapa fungsi yang bekerja sama untuk menganalisis data teks. Program ini menunjukkan teknik pemrosesan teks dunia nyata yang penting untuk banyak aplikasi C.

Coba sendiri

#include <stdio.h>
#include <string.h>

// TODO: Tulis fungsi extractWord di sini

// TODO: Tulis fungsi countWordOccurrences di sini

// TODO: Tulis fungsi analyzeText di sini

int main() {
    char inputSentence[200];
    char searchWord[50];
    
    // Baca kalimat input
    fgets(inputSentence, sizeof(inputSentence), stdin);
    // Hapus karakter baris baru jika ada
    inputSentence[strcspn(inputSentence, "\n")] = '\0';
    
    // Baca kata yang dicari
    scanf("%s", searchWord);
    
    // TODO: Tulis kodemu di bawah ini
    // Panggil fungsi analyzeText dan simpan jumlah total kata
    // Panggil fungsi countWordOccurrences dan simpan jumlah kemunculan
    // Hitung persentase frekuensi
    // Tentukan kategori frekuensi
    
    // Tampilkan hasil dalam format yang diminta
    // printf("Total words: %d\n", totalWords);
    // printf("Occurrences of '%s': %d\n", searchWord, occurrences);
    // printf("Frequency: %.1f%%\n", frequency);
    // printf("Category: %s\n", category);
    
    return 0;
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C online