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, 6 AGUSTUS 2020


HARI, TANGGAL LAPORAN : RABU, 12 AGUSTUS 2020

ACARA :
MENYUSUN PROGRAM DENGAN STATEMENT BERULANG
SEDERHANA DENGAN STATEMENT FOR

LABORATORIUM KOMPUTASI
DEPARTEMEN TEKNIK NUKLIR DAN TEKNIK FISIKA
FAKULTAS TEKNIK
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2019
1. Masalah
Membuat dan menyusun program statement berulang sederhana dengan statement for untuk menentukan
nilai fungsi f(x)=e x dan nilai fungsi (i+x)n dengan sistem deret maupun dengan sistem komputer, serta
menentukan besar error nya.

2. Tujuan
Pratikan dapat menyusun program sederhana degan statement berulang for untuk menentukan nilai
fungsi f(x)=ex dan nilai fungsi (i+x)n .

3. Analisis
a. Informasi
Informasi yang tersedia pada program ini yaitu yang pertama yaitu menampilkan identitas
mahasiswa, nilai f(x) pada saat dihitung menggunakan deret. Lalu selanjutnya yaitu nilai f(x) pada
saat menggunakan sistem komputer yang nantinya bisa digunakan untuk menentukan error.

b. Data
Data-data yang dibutuhkan untuk menyelesaikan program untuk sistem deret dibutuhkan nilai x
beserta nilai cacah yang dibutuhkan, semakin besar nilai cacah maka error akan semakin kecil.
Sedangkan untuk sistem fungsi kita tidak perlu menggunakan besar cacah d an hanya menggunakan
nilai x.

c. Landasan Teori
Pada praktikum ini kita membuat program dengan menggunakan statement berulang sederhana for.
Praktikum ini statement for digunakan untuk mencari besar suatu fungsi yang sudah dikonversi
menjadi suatu deret. Semakin besar cacah yang digunakan, akan memperakurat suatu perhitungan
fungsi ini. Di dalam fungsi ini, suatu program akan terus mengulang hingga memenuhi sebuah
syarat. Untuk menggunakan fungsi for, kita harus mendeklarasikan nilai awal dari suatu integer
sebagai patokan untuk melakukan pengulangan. Untuk syarat -syarat pada fungsi for terdapat 3
bagian yaitu start, condition, increment. Start adalah kondisi awal pada saat awal pengulangan,
condition adalah kondisi yag harus dipenuhi agar pengulagan dijalankan, lalu increment adalah
bagian yang digunakan untuk memproses variabel agar bisa memenuhi kondisi akhir pengulangan.

4. Algoritma

a. Modul
1) Mulai
2) Baca data pangkat exponent, x, dan jumlah deret
3) Suku pertama s=1 dan fx=1
4) Nomor suku i=1
5) Untuk suku ke i
 s=s.x/i
 fx=fx+1
6) Ulangi untuk suku berikutnya sampai suku ke-n
7) Tampilkan nilai fungsi fx
8) Selesai.

b. Modifikasi

 Tampilan Identitas Mahasiswa


1) Mulai
2) Tulis identitas mahasiswa
3) Eksekusi sepanjang program
4) Selesai
 Program : Eksponensial
1) Mulai
2) Baca data pangkat exponent, x, dan jumlah deret,fx1, fx2, e
3) Suku pertama s=1 dan fx1=1
4) Nomor suku i=1, i<n, i=i+1
5) Untuk suku ke i
 s=s.x/i
 fx1=fx1+s
6) Ulangi untuk suku berikutnya sampai suku ke-n
7) Tentukan nilai fx2 menggunakan exp(x)
8) Tentukan error
9) Tampilkan fx1, fx2, dan error
10) Selesai.

 Program : (i+x)n
1) Mulai
2) Baca data x, dan jumlah deret, fx1, fx2, e
3) Suku pertama s=1 dan fx1=1
4) Nomor suku i=1, i≤n, i=i+1
5) Untuk suku ke i
 s=s.x.(n=1-i)/i
 fx1=fx1+s
6) Ulangi untuk suku berikutnya sampai suku ke-n
7) Tentukan nilai fx2 menggunakan fungsi (i+x)n
8) Tentukan error
9) Tampilkan fx1, fx2, dan error
10) Selesai.
5. Flowchart b. Modifikasi
a. Modul Flowchart : Eksponensial

Flowchart utama
Flowchart : (i+x)n
6. Listing program
a. Modul
#include<iostream>

using namespace std;

int main()
{
double x, fx, s;
int n;
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;
}

b. Modifikasi

#include<iostream>
#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 exp()
{
double fx1=1, s=1, x, fx2, e;
int n, i=1;

cout<<"\nMasukkan besar nilai x\t = ";cin>>x;


cout<<"Masukkan besar cacah\t = ";cin>>n;

for (i=1;i<n;i++)
{
s=s*x/i;
fx1=fx1+s;
}

fx2=exp(x);

e=abs((fx2-fx1)/fx2)* 100;
cout<<setprecision(12)<<"\nNilai fungsi exp("<<x<<") dalam bentuk deret adalah\t =
"<<fx1<<endl;
cout<<"Nilai fungsi exp("<<x<<") dalam bentuk fungsi adalah \t = "<<fx2<<endl;
cout<<"Besar error adalah\t\t\t\t = "<<e<<"%"<<endl<<endl;
}

void iplusx()
{
double fx1=1, s=1, x, fx2, e;
int n, i=1;

cout<<"\nMasukkan besar nilai x\t = ";cin>>x;


cout<<"Masukkan besar cacah\t = ";cin>>n;

for (i=1;i<=n;i++)
{
s=s*x*(n+1-i)/i;
fx1=fx1+s;
}

fx2=pow((1+x), n);

e=abs((fx2-fx1)/fx2)* 100;

cout<<setprecision(12)<<"\nNilai fungsi (1+x)^n dalam bentuk deret adalah\t =


"<<fx1<<endl;
cout<<"Nilai fungsi (1+x)^n dalam bentuk fungsi adalah\t = "<<fx2<<endl;
cout<<"Besar error adalah\t\t\t\t = "<<e<<"%"<<endl<<endl;

int main()
{
int pilihan;

identitas();
cout<<"Pilih program untuk dijalankan\n\n"<<"\t1. Fungsi eksponensial\n"<<"\t2.
Fungsi(1+x)^n\n\n"<<"Program yang dipilih adalah : ";
cin>>pilihan;

if (pilihan==1)
{
exp();
}
else if (pilihan==2)
{
iplusx();
}
else
{
cout<<"Tentukan antara program 1 atau program 2\n\n";
}
system("pause");
return 0;
}
7. Screenshoot program
a. Modul

b. Modifikasi
8. Catatan

a. Cara Kerja Program


 Modul
Pada saat program dijalankan, pratikan diminta untuk menginputkan besar nilai x dan
besar cacah yang akan digunakan n. Setelah itu data-data tersebut akan diproses menggunakan
proses pengulangan sampai i mencapai syarat yang diminta yaitu i<n dengan syarat i bertambah
1 disetiap pengulangan. Setelah selesai mencapai syarat yang diminta, lalu munculah nilai dari
fx yang digunakan sehingga nanti muncul pada output exp(x).

 Modifikasi
Pada program diatur supaya memberikan option yang dipih antara 2 fungsi yaitu fungsi
eksponensial dan fungsi (1+x)^n.Angka 1 adalah program eksponensial. Pratikan diminta untuk
menginputkan besar nilai x dan besar cacah yang akan digunakan n. Setelah itu data -data
tersebut akan diproses menggunakan proses pengulangan s ampai i mencapai syarat yang
diminta yaitu i<n dengan syarat i bertambah 1 disetiap pengulangan. Setelah itu, pratikan
menginputkan data yang diminta lalu muncullah besar fx dari proses deret maupun juga proses
sistem yang nantinya akan muncul besar error dari kedua fungsi tersebut. Angka 2 adalah fungsi
(1+x)^n ,maka akan diminta untuk menginputkan besar nilai x dan banyak cacah yang diminta.
Stelah itu proses akan melakukan perulangan melalui syarat-syarat yang sudah diminta. Lalu
Akan muncul hasil perhitungan melalui sistem sehingga bisa dibandingka n tingkat eakuratan
menggunakan besar nilai error. Saat angka selain 1 dan 2 dipilih, maka program akan
mengulang dan meminta untuk menginputkan antara angka 1 atau 2.

b. Penjelasan
Praktikum kali ini terdapat beberapa fungsi baru yang belum pernah digun akan sebelumya.
Fungsi for merupakan sebuah fungsi pengulangan pada program jika suatu pengulangan sudah
diketahui syaratnya secara pasti. Kemudian adalah “abs” yang merupakan singkatan dari absolute
yang memiliki arti mutlak. Absolute ini digunakan jika ingin memberi nilai mutlak pada suatu hasil
operasi matematika.

Anda mungkin juga menyukai