Anda di halaman 1dari 9

LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER

PROGRAM STUDI TEKNIK NUKLIR

NAMA : FUADI NUR AMAL


NIM : 19/446713/TK/49818
KELAS : TEKNIK NUKLIR

HARI, TANGGAL PRAKTIKUM : KAMIS, 13 AGUSTUS 2020


HARI, TANGGAL LAPORAN : RABU, 19 AGUSTUS 2020

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>

using namespace std;

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);

cout<<setprecision(12)<<"\nHasil pengkuran :\nRata-rata = "<<rerata1<<"\nStandart deviasi 1 = "


<<stdev1<<"\nStandart deviasi 2 = " <<stdev2<<endl<<endl;

ifstream baca; float x[20];

void Baca_Data(float x[20], int& m) //Program memanggil file txt


{
baca.open("data.txt");
if (!baca) cout << "Maaf, file tidak ditemukan";

for (int a= 0; a < m; a++)


{
baca >> x[a];
}
baca.ignore(200, '\n'); baca.close();
}

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;

for (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;

for (int a = 0; a < n; a++)


{
cout << x[a] << "\t";
}
cout << "\n\nHasil pengkuran : " << rrt; cout << "\nRalat cara 1 : " << ralat;
cout << "\nRalat cara 2 : " << stdev2 << endl << endl;

system("pause");
}

void input()
{
int i,n,x[i];
double jum1=0,jum2=0,ju m,rerata1,rerata2,stdev1,stdev2;

cout<<"C. Program dengan input Data Mandiri";


cout<<"\n\nMasukkan jumlah cacah data = ";cin>>n;

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);

cout<<setprecision(12)<<"\nHasil pengkuran :\nRata-rata = "<<rerata1<<"\nStandart deviasi 1 = "


<<stdev1<<"\nStandart deviasi 2 = " <<stdev2<<endl<<endl;

int main()
{
identitas();
modul();
text();system("cls"); identitas();
input();

system("pause"); return 0;
}

7. Ouput Eksekusi program


a. Modul dan File TXT
b. Input Mandiri

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.

Anda mungkin juga menyukai