ACARA :
MENYUSUN PROGRAM DENGAN STATEMENT BERULANG
SEDERHANA UNTUK ANALISIS POPULASI
LABORATORIUM KOMPUTASI
DEPARTEMEN TEKNIK NUKLIR DAN TEKNIK FISIKA
FAKULTAS TEKNIK
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2020
1. Masalah
a. Bagaimana cara membuat program dengan statement berulang sederhana untuk menentukan besar
rata-rata dan besar standar deviasi dari suatu data yang telah disediakan di modul.
b. Bagaimana cara membuat program dengan statement berulang sederhana untuk menentukan besar
rata-rata dan besar standar deviasi dari suatu data yang diinputkan secara mandiri.
2. Tujuan
Pratikan dapat menyusun program dengan statement berulang sederhana dengan menggunakan
statement for untuk melaporkan hasil sebuah pengukuran dari suatu data.
3. Analisis
a. Informasi
Informasi yang tersedia pada program ini yaitu rata-rata(rrt/rrt2) dan standar
deviasi(stdev/stdev2).
b. Data
Data yang harus diketahui untuk menyelesikan program yang pertama yaitu data pengukuran
yang akan dilakukan n kali. Kemudian, untuk program yang kedua dibutuhkan banyak data data (n)
dan data-data yang akan dioperasikan.
c. Landasan Teori
Praktikum kali ini pratikan diminta untuk menganalisis sebuah populasi. Rumus yang
digunakan adalah rumus rerata, standar deviasai, dan rumus ralat sebagai berikut :
4. Algoritma
a. Modul
Mulai
Deklarasi identitas
Data x[i], i=0...19, n=20
Jum1=0, jum2=0, jum, rerata1, rerata2, stdev1, stdev2
Untuk i=0, i<n, i++
jum1+=x[i]
jum2+=pow(x[i],2)
rerata1=jum1/n
rerata2=jum2/n
stdev1=sqrt(rerata2-(pow(rerata1, 2)))
Untuk i=0, i<n, i++
jum+=pow((x[i]-rerata1),2)
stdev2=sqrt(jum/n)
Output rerata1, stdev1, dan stdev2
Selesai.
b. Pengambilan dari file text
Mulai
Membuka file data.txt
Deklarasi identitaas
Deklarasi i, n, x[20], jum1, jum2, selisih, rrt, rrt2, ralat, stdev, stdev2
Deklarasi jum1=0, jum2=0, selisih=0
Inputkan jumlah cacah data yang ingin dihitung
Untuk i=0, i<n, i++
jum1+=x[i]
jum2+=pow(x[i],2)
rrt = jum1 / n
Untuk i = 0; i < n; i++
selisih += pow((x[i] - rrt), 2)
rrt2 = jum2 / n
stdev2 = sqrt(selisih / (n))
stdev = sqrt(rrt2 - pow(rrt, 2))
ralat = stdev
Menutup file blabla.txt
Tampilkan output hasil dari rrt, ralat, stdev2
Selesai
c. Input Mandiri
Mulai
Data x[i], i, n
Jum1=0, jum2=0, jum, rerata1, rerata2, stdev1, stdev2
Input jumlah data (n)
Input data
Untuk i=0, i<n, i++
Data ke n = x[i]
Jika ((i+1)%2==0), end line
Untuk i=0, i<n, i++
jum1+=x[i]
jum2+=pow(x[i],2)
rerata1=jum1/n
rerata2=jum2/n
stdev1=sqrt(rerata2-(pow(rerata1, 2)))
Untuk i=0, i<n, i++
jum+=pow((x[i]-rerata1),2)
stdev2=sqrt(jum/n)
rerata1, stdev1, dan stdev2
Selesai.
5. Flowchart b. File TXT
a. Modul
c. Input Mandiri
6. Listing program
#include<iostream>
#include<fstream>
#include<string>
#include<cmath>
#include<iomanip>
void identitas(){
cout<<"\n\n\n";
cout<<"\t\t\t\t DEPARTEMEN TEKNIK NUKLIR DAN TEKNIK FISIKA \n";
cout<<"\t\t\t\t================================================\n";
cout<<"\t\t\t\t\t NAMA : FUADI NUR AMAL\n";
cout<<"\t\t\t\t\t NIM\t : 19/446713/TK/ 49818\n";
cout<<"\t\t\t\t\t PRODI : TEKNIK NUKLIR\n";
cout<<"\t\t\t\t================================================\n\n\n";
}
void modul()
{
float x[20]= {15,16,23,16,18,20,20,17,16,12,15,16,18,17,15,16,25,10,14,17};
int i,n=20;
double jum1=0,jum2=0,ju m,rerata1,rerata2,stdev1,stdev2;
cout<<"A. Program dari Modul yang Sudah Distatement di dalam Program \n\n";
for (i=0;i<n;i++)
{
cout<<"Data ke "<<i+1<<"\t = "<<x[i]<<"\t\t";
if ((i+1)%2==0)
cout<<endl;
}
for(i=0;i<n;i++)
{
jum1+=x[i];
jum2+=pow(x[i],2);
}
rerata1=jum1/n;
rerata2=jum2/n;
stdev1=sqrt(rerata2-(pow(rerata1, 2)));
for(i=0;i<n;i++)
{
jum+=pow((x[i]-rerata1),2);
}
stdev2=sqrt(jum/n);
void text() //Data ada didalam folder txt dan kita melakukan program yang menggunakan pemanggilan file
text
{
float x[20]; int i, n;
float jum1 = 0, jum2 = 0, rrt, rrt2, ralat, stdev, stdev2; float s elisih=0;
cout <<"\nB. Program yang Menggunakan Data dari Folder TXT"; cout <<" \n\nSilakan menginput jumlah
data yang ingin dibaca\t= "; cin >> n;
cout << "\n\t";
Baca_Data(x, n); for (i = 0; i < n; i++)
{
jum1 += x[i];
jum2 += pow(x[i], 2);
}
rrt = jum1 / n;
system("pause");
}
void input()
{
int i,n,x[i];
double jum1=0,jum2=0,ju m,rerata1,rerata2,stdev1,stdev2;
for (i=0;i<n;i++)
{
cout<<"Data ke"<<i+1<<" \t= ";
cin>>x[i];
}
for(i=0;i<n;i++)
{
jum1+=x[i];
jum2+=pow(x[i],2);
}
rerata1=jum1/n;
rerata2=jum2/n;
stdev1=sqrt(rerata2-(pow(rerata1, 2)));
for(i=0;i<n;i++)
{
jum+=pow((x[i]-rerata1),2);
}
stdev2=sqrt(jum/n);
int main()
{
identitas();
modul();
text();system("cls"); identitas();
input();
system("pause"); return 0;
}
8. Catatan
a. Cara Kerja Program
Program yang dibuat terdiri dari 3 yaitu program pertama yang dibuat dengan data yang sudah
tercantum pada program yang sesuai dengan modul. program akan memproses data-data yang sudah
disediakan modul untuk dicari nilai rata-rata nya. Lalu hal itu dilanjutkan dengan mencari 2 standar
deviasi dari 2 cara yang berbeda sehingga nanti dimunculkan di layar.
Program kedua yang dibuat dengan data yang terdapat pada file txt. Praktikan menggunakan
statement ifstream (ifstream: Stream class to read from file). File txt harus berada 1 folder dengan
file c++ kita agar dapat dibaca oleh program kita , dan pratikan menentukan sampai mana data yang
akan dibaca (n) pada tampilan program diatas tertera pratikan ingin membaca 4 data pada txt lalu
program akan memunculkan keempat nilai tersebut selain itu program akan juga menghitung nilai
pengukuran dan ralat menggunakan 2 cara dan dibandingkan menggunakan statement for
Program ketiga yang dibuat dengan menginputkan data secara mandiri. Pratikan diminta untuk
memasukkan data-data tersebut sehingga setelah data di proses maka akan dihasilkan nilai rata-rata
dan besar standar deviasi. Namun, saat angka selain 1 dan 2 dipilih, maka program akan mengulang
dan meminta untuk menginputkan antara angka 1 atau 2.
Array adalah suatu tipe data terstruktur yang dapat menyimpan banyak data dengan suatu nama
yang sama dan menempati tempat di memori yang berurutan (kontigu) serta bertipe data sama pula.
Array biasanya dapat dilambangkan dengan x[i] dengan i adalah banyak data yang dapat disimpan
oleh x. Misalnya seperti x[5] yang berarti ada 5 data yang disimpan oleh array. Didalam data terdapat
if ((i+1)%2==0){cout<<endl;} untuk saat i dimulai dari 0, i lebih keci dari n, i bertambah 1 disetiap
pengulangan. Guna dari fungsi tersebut yaitu untuk mengatur tatanan letak dari data-data supaya
dapat diatur menjadi beberapa kolom, hal itu membuat tampilan dari program akan menjadi lebih
rapi.