Thursday 20 May 2021

WORKSHOP PEMROGRAMAN MINGGU 6

 MINGGU 6

Kasus 6.2 Mencari nilai deviasi standar dari n buah data
  • - Analisis :
  1.  Rumus deviasi standar adalah 
  2.  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)
    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)

  • Syntax dan Hasil Output :
#include <iostream>
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;
}





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

WORKSHOP PEMROGRAMAN MINGGU 6

  MINGGU 6 Kasus 6.2 Mencari nilai deviasi standar dari n buah data - Analisis :  Rumus deviasi standar adalah   Terlihat bahwa nilai rata-r...