Soal. Carilah nilai deviasi standar dari n buah data
Jawab :
Analisis :
Standar deviasi adalah statistik yang mengukur penyebaran kumpulan data relatif terhadap rata-rata dan dihitung sebagai akar kuadrat dari rumus. Untuk data sampel dengan jumlah data kurang dari sama dengan 30, maka rumus standar deviasinya sebagai berikut :
Berdasar rumus tersebut,
dapat ditulis seperti berikut :
S += pow (x [i] - rata , 2)
dengan 'rata' yaitu jumlah/n
Maka, diperoleh rumus sebagai berikut :
sqrt (S/(n-1))
Algoritma :
fungsi std (input x : array [1...10] of integer, n : integer) : float
Deklarasi :
jumlah, S, rata : float
i : integer
Deskripsi :
jumlah ← 0,0
S ← 0,0
for i ← 0 to n do
jumlah ← jumlah + x[i]
end for
rata ← jumlah/n
for i ← 0 to n do
S ← S + pow (x [i] - rata , 2)
end for
std ← sqrt (S / (n-1))
Flowchart :
Program C++ :
#include <iostream>
#include <cmath>
using namespace std;
class hitung{
public :
int n, i;
float data[10];
input();
proses();
float hitung_standardeviasi(float *x, int n);
};
hitung::input(){
cout << "masukkan banyak data :";
cin >> n;
}
float hitung::hitung_standardeviasi(float *x, int n) {
float jumlah = 0.0, S = 0.0, rata;
int i;
for(i = 0; i < n; i++) {
jumlah += x[i];
}
rata = jumlah/n;
for(i = 0; i < n; ++i) {
S += pow(x[i] - rata, 2);
}
return sqrt(S/(n-1));
}
hitung::proses(){
cout << "masukkan data : \n";
for(i = 0; i < n; i++){
cin >> data[i];
}
cout << "standar deviasi = "<<hitung_standardeviasi(data, n);
}
int main(){
hitung x;
x.input();
x.proses();
return 0;
}
Hasil run :
Soal. Tentukan modus dari n buah data berupa bilangan bulat, di mana besar datanya antara 1 sampai dengan 10
Jawab :
Analisis :
Modus adalah ukuran pemusatan data yang yang berupa frekuensi tersesar munculnya data yang sama. Untuk menentukan modus dari suatu data, maka hal yang vital adalah data dan frekuensi. Dari data yang diimputkan, akan dihitung frekuensinya, lalu ditentukan frekuensi terbesarnya.
Algoritma a :
fungsi maksimum (input A : array [1 ... 10] of integer, n : integer) : integer
Deklarasi :
i, item : integer
Deskripsi :
item ← 1
for i ← 1 to n do
if (x[i] > x[item]) then
item ← i
end if
end for
maksimum ← item
Algoritma b :
fungsi hitung_modus (input A : array [1 ... 10] of integer, n : integer) : integer
Deklarasi :
hitung : integer
Deskripsi :
hitung [10] ← 0
for i ← 0 to n do
hitung [A[i]] ← hitung [A[i]] + 1
end for
modus ← maksimum (hitung, 10)
write (modus)
hitung_modus ← modus
Flowchart :
Program C++
#include <iostream>
using namespace std;
class hitung_modus{
friend ostream& operator<<(ostream&, hitung_modus&);
friend istream& operator>>(istream&, hitung_modus&);
public :
int data[10];
int banyak, item;
input(int A[], int n);
maksimum(int A[], int n);
modus(int A[], int n);
proses();
};
hitung_modus::input(int A[], int n){
cout<<"Masukkan data : \n";
int i;
for(i=0; i<n; i++){
cin>>A[i];
}
}
int hitung_modus::maksimum(int A[], int n){
int i, item;
item=1;
for(i=1; i<n; i++){
if(A[i]>A[item]){
item=i;
}
}
return item;
}
int hitung_modus::modus(int A[], int n){
int hitung[10]={0};
for(int i=0; i<n; i++){
hitung[A[i]]++;
}
int modus=maksimum(hitung, 10);
cout<<"Modus : "<<modus;
return modus;
}
hitung_modus::proses(){
cout<<"Masukkan banyak data : ";
cin>>banyak;
input(data, banyak);
modus(data, banyak);
}
int main(){
hitung_modus x;
x.proses();
return 0;
}
Hasil run :
Comments