MINGGU 6
Kasus 6.2 Mencari nilai deviasi standar dari n buah data
- - Analisis :
- Rumus deviasi standar adalah
- Terlihat bahwa nilai rata-rata dan datanya digunakan kembali
- - Fungsi std(input x : array [1..10] of integer, n : integer, rata : real) : real { Diberikan n data
kemudian di cari rata-ratanya }
- Deklarasi
i, jumlah : integer
- Deskripsi
jumlah <--0
fori <--1 to n do
jumlah <-- jumlah + sqr(x[i] — rata)
endfor
std <-- sqrt (jumlah/(n-1)
- Deklarasi
i, jumlah : integer
- Deskripsi
jumlah <--0
fori <--1 to n do
jumlah <-- jumlah + sqr(x[i] — rata)
endfor
std <-- sqrt (jumlah/(n-1)
- Syntax dan Hasil Output :
using namespace std;
class rerata {
friend istream& operator >> (istream&, rerata&);
friend ostream& operator << (ostream&, rerata&);
private :
int n;
int array[100];
public :
float rata();
};
istream& operator >> (istream& in, rerata& r){
cout<<"Menghitung rata-rata\n";
cout<<"====================\n";
cout<<"Masukan banyak data : ";in>>r.n;
for (int i=0; i<r.n; i++) {
cout<<"Data ke-"<<i+1<<" : ";
in>>r.array[i];
}
return in;
}
float rerata::rata() {
int i;
float total = 0;
for(i=0; i<n; i++) {
total = total + array[i];
}
return(total/n);
}
ostream& operator << (ostream& out, rerata& r) {
out<<"====================================\n";
out<<"Hasil rata-rata dari data diatas adalah "<<r.rata();
return out;
}
int main(){
rerata go;
cin>>go;
cout<<go;
return 0;
}
}
return in;
}
float rerata::rata() {
int i;
float total = 0;
for(i=0; i<n; i++) {
total = total + array[i];
}
return(total/n);
}
ostream& operator << (ostream& out, rerata& r) {
out<<"====================================\n";
out<<"Hasil rata-rata dari data diatas adalah "<<r.rata();
return out;
}
int main(){
rerata go;
cin>>go;
cout<<go;
return 0;
}
Kasus 6.5. Tentukan modus dari n buah data berupa bilangan bulat (data antara 1 sampai dengan 10)
- Analisis
• Modus adalah bilangan (data) yang paling sering muncul. Dengan kata lain, frekuensi
data terbesarlah yang dicari.
• Langkah penyelesaian masalahnya adalah :
a. Setiap jenis data dihitung frekuensi kemunculannya
b. Dari frekuensi-frekuensi tersebut dicar frekuensi terbesarnya.
- Procedure maksimum (data : larik; n : integer; output maks, item : integer) {procedure ini
hasil modifikasi dari algoritma (...) karna selain nilai maks dari larik data, juga perlu diketahui
besar datanya item }
- Deklarasi
i: integer
- Deskripsi
maks data[1]
item 1
for | 2 to n do
if (data[i] > maks) then
maks data[i];
item i;
endif
endfor
- Procedure frekuensi (data : larik; n : integer, ouput : larik) { data akan diambil nilai frekuensi
f-nya }
- Deklarasi
i: integer
- Deklarasi
for 1 to n do
f[data[i]] :=f [data[i]] + 1 { dengan prinsip memasukkan bola ke keranjang yang sesuai
dengan nomornya
- Syntax dan Hasil Output :
#include <iostream>
using namespace std;
class modusCalc {
friend istream& operator >> (istream&, modusCalc&);
friend ostream& operator << (ostream&, modusCalc&);
private :
int i, n, item, max;
int data[100];
int f[100];
public :
int frekuensi();
int maximum( );
};
istream& operator >> (istream& in, modusCalc& r) {
cout<<"Mencari Modus (data yang sering muncul)\n";
cout<<"=======================================\n";
cout<<"Masukkan n data : "; in>>r.n;
cout<<endl;
for (int i=0; i<r.n; i++) {
cout<<"Data Ke-"<<i+1<" : ";
in>>r.data[i];
}
return in;
}
int modusCalc::maximum( ){
max = data[0];
item= 1;
for(int j=0; j<n; j++) {
if (data[i] > max) {
max = data[i];
item = i;
}
}
return data[i];
}
int modusCalc::frekuensi() {
for(int i=0; i<n; i++) {
++f[data[i]];
}
return f[data[i]];
}
ostream& operator << (ostream& out, modusCalc& r) {
cout<<"==========================\n";
cout<<"Modus dari data diatas adalah "<<r.maximum( )<<endl;
cout<<"Banyaknya frekuensi adalah "<<r.frekuensi()<<" kali ";
return out ;
}
int main() {
modusCalc go;
cin>>go;
cout<<go;
return 0;
}
No comments:
Post a Comment