Anda di halaman 1dari 12

LAPORAN PRAKTIKUM PEMROGAMAN KOMPUTER

PROGRAM STUDI TEKNIK NUKLIR

NAMA : FANDY ILHAM BERLIANTORO


NIM : 18/42522/TK/46921
KELAS : TN B

HARI, TANGGAL PRAKTIKUM : RABU , 24 APRIL 2019


HARI, TANGGAL LAPORAN : RABU, 1 MEI 2019

ACARA : MENYUSUN PROGAM DENGAN STATEMENT BERULANG SEDERHANA


DENGAN STATEMENT FOR

LABORATORIUM KOMPUTASI
DEPARTEMEN TEKNIK NUKLIR DAN TEKNIK FISIKA
FAKULTAS TEKNIK
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2019
1. Masalah
a. Menentukan nilai fungsi secara numeric, yaitu dengan menyatakan dengan nilai jumlah
suatu deret. Contoh kasus nilai F(x)=ex

2. Tujuan
a. Peserta dapat menggunakan statement for

3. Analisis
a. Informasi
I. nilai fungsi = fx
II. nilai eksak fx
III. error dari nilai fungsi

b. Data :
Bentuk deret fungsi,cacah suku deret,n,nilai x fungsi

c. Landasan Teori

I. Untuk menjumlahkan jumlah deret secara numeric dengan menjumlahkan


mulai suku pertama sampai terakhir
II. Error=|(nilai eksak-nilai pendekatan)/nilai eksak|

4. Algoritma dan Flowchart


a. Algoritma
a. Modul
a. Baca data pangkat exponent , x dan jumlah deret
b. Suku pertama s=1 dan fx = S
c. Nomor suku i=1
d. Untuk suku ke i
i. s=sx/i
ii. fx=fx+S
e. Ulangi d untuk suku berikutnya sampai suku ke n.
f. Tampilkan nilai fungsi fx

b. Modifikasi Tugas 1
a. Baca data pangkat exponent , x dan jumlah deret
b. Suku pertama s=1 dan fx = 1
c. Nomor suku i=1
d. Untuk suku ke i
i. s=sx/i
ii. fx=fx+S
e. Ulangi d untuk suku berikutnya sampai suku ke n.
f. Eksak=exp(x)
g. Error=abs((fx-eksak)/eksak)
h. Tampilkan nilai fungsi fx
i. Tampilkan nilai eksak
j. Tampilkan error

c. Modifikaisi Tugas 2
a. Baca data pangkat fungsi(n) ,nilai x
b. Suku pertama s=1 dan fx = 1
c. Nomor suku i=1
d. Untuk suku ke i
i. s=s*(n+1-i)*x/i
ii. fx=fx+S
e. Ulangi d untuk suku berikutnya sampai suku ke n.
f. asli=pow((x+1),n)
g. Error=abs((fx-asli)/asli)
h. Tampilkan nilai fungsi fx
i. Tampilkan nilai eksak
j. Tampilkan error
b. Flowchart

i. Modul
ii. Modifikasi Tugas 1
iii. Modifikasi Tugas 2
5. Listing Program

i. Modul

#include <iostream>
#include <cmath>

using namespace std;

int main() {
float x, fx, s; int n;
s = 1;
fx = 1;
cout << "Program untuk menghitung exp(x) \n";
cout << "Masukkan nilai x = ";
cin >> x;
cout << "cacah suku deret = ";
cin >> n;

for (int i = 1; i < n; i++)


{ s = s * x / i; fx = fx + s;
} cout << "Nilai fungsi exp(" << x << ") = " << fx << endl;
system("pause");
return 0;

}
ii. Modifikasi tugas 1

#include<iostream>
#include <cmath>

using namespace std;


int main()
{
// identitas praktikan
cout << "\t\t\t|============================|\n";
cout << "\t\t\t|==Fandy Ilham Berliantoro ==|\n";
cout << "\t\t\t|=====18/425226/TK/46921=====|\n";
cout << "\t\t\t|============================|\n\n";
float x, fx,s,eksak;
int n;
cout << "Program untuk menghitung exp(x) \n";
cout << "Masukkan nilai x = "; cin >> x;
cout << "cacah suku deret = "; cin >> n;
s = 1;
fx = 1;

for (int i = 1; i < n; i++)


{ s = s * x / i;
fx = fx + s;
}
eksak = exp(x);
cout << "Nilai fungsi exp(" << x << ") = " << fx << endl;
cout << "Nilai eksak eksak = " << eksak << endl;
cout << "nilai error = " << abs((fx - eksak) / eksak) << endl;
system("pause");
return 0;
}

iii. Modifikasi Tugas 2

#include <iostream>
#include <cmath>

using namespace std;

int main() {

// identitas praktikan
cout << "\t\t\t|============================|\n";
cout << "\t\t\t|==Fandy Ilham Berliantoro ==|\n";
cout << "\t\t\t|=====18/425226/TK/46921=====|\n";
cout << "\t\t\t|============================|\n\n";

float x, fx, s,asli;


int n;
s = 1;
fx = 1;
cout << "program untuk menghitung nilai fungsi (1+x)^n \n";
cout << "Masukan nilai x = "; cin >> x;
cout << "Masukan nilai n = "; cin >> n;
for (int i = 1; i <= n; i++)
{
s = s * (n + 1 - i)*x / i;
fx = fx + s;
}
asli = pow((x + 1), n);
cout << "nilai fungsi (1+x)^n = " << fx << endl;
cout << "nilai eksak = " <<asli<<endl;
cout << "nilai error = " << abs((fx - asli)/asli) <<endl;

system("pause");
return(0);

}
6. Screenshot Program

- Modul

- Modifikasi Tugas 1
- Modifikasi Tugas 2

7. Catatan

1. Soal pre-Test
1. Apa arti i++ dan i--?
2. Cara kerja fungsi for ?
3. Jumlah hello world yang muncul?

Jawab

1. i++ merupakan fungsi increment yang memiliki arti akan bertambah nilai 1 setiap
pengulangan dan i—merupakan decrement yang artinya akan berkurang nilai 1 setiap
pengulangan.

2. For digunakan untuk menghasilkan perulangan sejumlah yang sudah


dispesifikasikan( sudah diketahui banyaknya). Struktur for minimal mempunyai
minimal perulangan sebanyak satu kali artinya minimal dalam perulangannya, badan
perulangan dieksekusi sebanyak satu kali.Struktur ini paling banyak digunakan untuk
kasus perulangan yang berurut dan sudah diketahui kondisi akhir perulangannya.
Untuk bisa menggunakan struktur ini, dibutuhkan sabuah variable sebagai indeksnya.

3. 16/2=8
8.Cara Kerja Progam

Identitas praktikan ditampilkan di layar progam.Pada progam tugas 1nama


progam ditampilkan. n didefinisikan sebagai bilangan integer atau bulat. nilai x,
fx,s,eksak didefinisikan sebagai float. Nilai awal dari S,i dan fx diberi nilai
1. Pengguna dimohon input nilai x dan cacah suku deret sebanyak n.Dalam looping s
didefinisikan s*x/i dan fx = fx+s. Progam akan terus diulang sampai suku ke-n dan nilai
dari i akan ditambah 1 setiap pengulangan. Nilai eksak diproses dengan rumus exp(x)
dan error = abs((fx-eksak)/eksak). Setelah diproses nilai fx,eksak, dan error ditampilkan
di layar.

Pada progam tugas 2 nama progam ditampilkan. n didefinisikan sebagai bilangan


integer atau bulat. nilai x, fx,s,asli didefinisikan sebagai float. Nilai awal
dari S,i dan fx diberi nilai 1. Pengguna dimohon input nilai x dan pangkat fungsi n.
Dalam looping for s didefinisikan s*(n+1-i)*x/i dan fx = fx+s. Progam akan terus
diulang sampai suku ke-n dan nilai dari i akan ditambah 1 setiap pengulangan. Nilai
eksak diproses dengan rumus pow((fx-asli)/asli dan error = abs((fx-asli)/asli). Setelah
diproses nilai fx,eksak, dan error ditampilkan di layar.

9.Penjelasan

<cmath> merupakan suatu file header yang di dalamnya berisi fungsi-fungsi


operator matematika, seperti fungsi akar, dan kuadrat,pangkat, dan absolut. pow
merupakan operator yang digunakan untuk mrnghitung fungsi pangkat. exp(x)
merupakan fungsi eksponensial. Sintaks abs() digunakan untuk mencari nilai absolut.
i++ merupakan fungsi increment yang memiliki arti akan bertambah nilai 1 setiap
pengulangan
10. Daftar Pustaka

• Malik, D.S. 2009. C++ Programming: From Problem Analysis to Program Design, Fourth
Edition. Course Technology. Boston

• Muhidin, Asep. 2010. Pemrograman Bahasa C++. Zayrank Offset. Bekasi

Anda mungkin juga menyukai