Program C++ Menghitung Frekuensi Kemunculan Huruf
Assalamu'alaikum wr wb,
Rasanya sudah lama sekali gak update ini blog, sekarang waktunya update lagi hehe..
Sekarang saya pengen share program c++ nih, yaitu program untuk menghitung frekuensi kemunculan huruf, jadi nantinya karakter 'A-Z' dan 'a-z' akan dihitung berapa kali kemunculannya. Berikut langsung saja kita bahas..
Jadi untuk inputannya akan menggunakan input dari file .txt, nantinya di file .txt tersebut dimasukkan kata atau kalimat yang ingin dihitung frekuensi kemunculan hurufnya.
Maka kita pakai header
Nanti file inputnya bernama input.txt
Disini saya juga menggunakan struct..
Nantinya di struct ini ada 2 member yang menggunakan array, satu array digunakan untuk menyimpan huruf apa saja yang akan dihitung, berarti array ini akan bertipe data char, dan satu array lagi digunakan untuk menyimpan nilai jumlah masing-masing huruf atau karakter, array ini bernilai awal = 0.
Buat juga variable yang menampung karakter yang sedang dicek
Pertama buka terlebih dahulu file sebagai inputnya
Proses perhitungan karakter hurufnya seperti ini:
Selama ada isi di dalam file ! file.eof() maka akan terus berulang, lalu ambil karakter yang pertama pada file dan masukkan ke variable x untuk dicek file.get(x);
Cek termasuk huruf apakah variable x dengan menggunakan perulangan for sebanyak jumlah huruf yang akan dicek. jika x adalah huruf yang berada pada alphabeth.cek[a] maka nilai alphabeth.jmlh[a] akan bertambah satu. dimana nilai a adalah urutan perulangannya yang dimulai dari 0.
Jika ketemu maka akan lanjut ke perulangan selanjutnya untuk mengambil karakter selanjutnya dan memasukkannya ke variable x pada input.txt, jika tidak maka akan mencari huruf selanjutnya pada alphabeth.cek[a] yang cocok dengan x.
Terus berulang sampai keadaan ! file.eof tidak terpenuhi.
Dan selanjutnya akan ditampilkan huruf yang memiliki jumlah huruf lebih dari sama dengan 1.
Selesai deh..
Berikut adalah program secara keseluruhannya:
Contoh inputan filenya:
Outputnya:
Mungkin sekian dari saya, terimakasih telah mengunjungi blog saya, dan semoga bermanfaat.
Silakan untuk berkomentar.
Wassalamu'alaikum wr wb.
Rasanya sudah lama sekali gak update ini blog, sekarang waktunya update lagi hehe..
Sekarang saya pengen share program c++ nih, yaitu program untuk menghitung frekuensi kemunculan huruf, jadi nantinya karakter 'A-Z' dan 'a-z' akan dihitung berapa kali kemunculannya. Berikut langsung saja kita bahas..
Program C++ Menghitung Frekuensi Kemunculan Huruf
Jadi untuk inputannya akan menggunakan input dari file .txt, nantinya di file .txt tersebut dimasukkan kata atau kalimat yang ingin dihitung frekuensi kemunculan hurufnya.
Maka kita pakai header
#include <fstream>
Nanti file inputnya bernama input.txt
Disini saya juga menggunakan struct..
Nantinya di struct ini ada 2 member yang menggunakan array, satu array digunakan untuk menyimpan huruf apa saja yang akan dihitung, berarti array ini akan bertipe data char, dan satu array lagi digunakan untuk menyimpan nilai jumlah masing-masing huruf atau karakter, array ini bernilai awal = 0.
struct hitung{
char cek[52] = {'a','b','c','d','e','f','g','h','i',
'j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D'
,'E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
int jmlh[52]={0};
};
hitung alphabeth;
Buat juga variable yang menampung karakter yang sedang dicek
char x;
Pertama buka terlebih dahulu file sebagai inputnya
ifstream file;
file.open("input.txt");
Proses perhitungan karakter hurufnya seperti ini:
int i=0;
while( ! file.eof()){
file.get(x);
for(int a=0;a<52;a++){
if(x == alphabeth.cek[a]){
alphabeth.jmlh[a]++;
}
}
i++;
}
Selama ada isi di dalam file ! file.eof() maka akan terus berulang, lalu ambil karakter yang pertama pada file dan masukkan ke variable x untuk dicek file.get(x);
Cek termasuk huruf apakah variable x dengan menggunakan perulangan for sebanyak jumlah huruf yang akan dicek. jika x adalah huruf yang berada pada alphabeth.cek[a] maka nilai alphabeth.jmlh[a] akan bertambah satu. dimana nilai a adalah urutan perulangannya yang dimulai dari 0.
Jika ketemu maka akan lanjut ke perulangan selanjutnya untuk mengambil karakter selanjutnya dan memasukkannya ke variable x pada input.txt, jika tidak maka akan mencari huruf selanjutnya pada alphabeth.cek[a] yang cocok dengan x.
Terus berulang sampai keadaan ! file.eof tidak terpenuhi.
Dan selanjutnya akan ditampilkan huruf yang memiliki jumlah huruf lebih dari sama dengan 1.
for(int i=0;i<52;i++){
if(alphabeth.jmlh[i]!=0){
cout<<"jumlah "<<alphabeth.cek[i]<<" = "<<alphabeth.jmlh[i]<<endl;
}
}
Selesai deh..
Berikut adalah program secara keseluruhannya:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream file;
struct hitung{
char cek[52] = {'a','b','c','d','e','f','g','h','i',
'j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D'
,'E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
int jmlh[52]={0};
};
hitung alphabeth;
char x;
file.open("input.txt");
int i=0;
while( ! file.eof()){
file.get(x);
for(int a=0;a<52;a++){
if(x == alphabeth.cek[a]){
alphabeth.jmlh[a]++;
}
}
i++;
}
for(int i=0;i<52;i++){
if(alphabeth.jmlh[i]!=0){
cout<<"jumlah "<<alphabeth.cek[i]<<" = "<<alphabeth.jmlh[i]<<endl;
}
}
cout<<"\nIrfan Muhammad Ghani 15101052"<<endl;
return 0;
}
Contoh inputan filenya:
Outputnya:
Mungkin sekian dari saya, terimakasih telah mengunjungi blog saya, dan semoga bermanfaat.
Silakan untuk berkomentar.
Wassalamu'alaikum wr wb.