Komputasi Numerik
AP - 07
Integrasi Numerik
Nama : Kevin Bazli Santoso
NPM : 140310220033
Hari/Tanggal : Jumat/5 May 2023
Waktu : 07:30 - 16:30
Asisten : Azhar Aiman Dzulfiqar
LABORATORIUM KOMPUTASI
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN
2023
LEMBAR PENGESAHAN
KN 07
Integrasi Numerik
( )
1. Tujuan Mahasiswa
Mahasiswa mampu mengaproksimasi suatu kelompok data dengan
pendekatan suatu fungsi menggunakan metode regresi.
2. Percobaan
2.1. Aproksimasi integral-integral berikut menggunakan metode
trapesium dengan nilai 𝑁 ∈ {2,4,6,8,16,32,64}
2.1.1. 𝟐
∫−𝟐 𝒙𝒆𝟐 𝒅𝒙
2.1.1.1. Listing Program
import numpy as np
def f(x):
x*np.exp(2*x)
h=(b-a)/n
I=f(a)+f(b)
for i in range (1, n-1):
i=0
j = a+(i*h)
I += 2*f(j)
I =* h/2
print(I)
2.1.1.2. Tampilan Program
2.1.1.2.1. Untuk N = 2
2.1.1.2.2. Untuk N = 4
2.1.1.2.3. Untuk N = 8
2.1.1.2.4. Untuk N = 16
2.1.1.2.5. Untuk N = 32
2.1.1.2.6. Untuk N = 64
2.1.2. ∫𝟏 𝐥𝐧(𝟏+𝒙) 𝒅𝒙
𝟎 𝒙
2.1.2.1. Listing Program
import numpy as np
def f(x):
return (np.log(1+x)/x)
h=(b-a)/n
I=f(a)+f(b)
for i in range (1, n-1):
i=0
j = a+(i*h)
I += 2*f(j)
I *= h/2
print(I)
2.1.2.2.2. Untuk N = 4 – 64
Nan juga
2.1.3. ∫𝟐 𝒙𝒔𝒊𝒏(𝒙)
𝟎 (𝒙−𝟏 )𝟐
2.1.3.4. Untuk N = 4
2.1.3.5. Untuk N = 8
2.1.3.6. Untuk N = 16
2.1.3.7. Untuk N = 32
2.1.3.8. Untuk N = 64
Dalam program ini, luas dari dua ujung trapesium (f(a) dan f(b)) sudah
dihitung terlebih dahulu diluar loop. Kemudian, program akan
melakukan looping sebanyak n-1 kali, dan pada setiap iterasi, program
akan menghitung nilai f(x) pada titik tengah masing-masing trapesium
dan mengalikannya dengan 2. Setelah looping selesai, program
mengalikan hasil dengan tinggi trapesium h, kemudian nilai I diubah
dengan mencari nilai I *= h/2 dan kemudian program menampilkan
hasil integral numerik.
Untuk persamaan kedua niliai nan ada karena adanya operasi
pembagian bilangan nol (0). Pada fungsi f(x), terdapat pembagian
dengan variabel x, sehingga jika nilai x sama dengan 0, akan terjadi
pembagian dengan nol yang akan menghasilkan nilai tak terdefinisi
(undefined) atau nan. Hal ini bisa dihindari dengan menambahkan nilai
mendekati 0 seperti 1 x 10^15 hanya untuk menghindari nilai nan.
2.2. Ulangi percobaan no.1 dengan menggunakan metode Simpson 1/3
2.3. Ulangi percobaan no.1 dengan menggunakan metode Simpson 3/8
2.3.1. Listing Program
2.3.1.1. Untuk Simpson 1/3
h=(b-a)/n
I=fungsi(a)+fungsi(b)
#Simpson 3/8
def fungsi(x):
return x*np.exp(2*x)
a=float(input("masukkan nilai a"))
b=float(input("masukkan nilai b"))
n=int(input("masukkan nilai n"))
h=(b-a)/n
I=fungsi(a)+fungsi(b)
2.3.2.1.1.2. Fungsi 2
2.3.2.1.1.3. Fungsi 3
2.3.2.1.2.2. Fungsi 2
2.3.2.1.2.3. Fungsi 3
2.3.2.2. Untuk N = 4
2.3.2.2.1. Simpson 1/3
2.3.2.2.1.1. Fungsi 1
2.3.2.2.1.2. Fungsi 2
2.3.2.2.1.3. Fungsi 3
2.3.2.2.2.2. Fungsi 2
2.3.2.2.2.3. Fungsi 3
2.3.2.3. Untuk N = 8
2.3.2.3.1. Simpson 1/3
2.3.2.3.1.1. Fungsi 1
2.3.2.3.1.2. Fungsi 2
2.3.2.3.1.3. Fungsi 3
2.3.2.3.2.2. Fungsi 2
2.3.2.3.2.3. Fungsi 3
2.3.2.4. Untuk N = 16
2.3.2.4.1. Simpson 1/3
2.3.2.4.1.1. Fungsi 1
2.3.2.4.1.2. Fungsi 2
2.3.2.4.1.3. Fungsi 3
2.3.2.4.2.2. Fungsi 2
2.3.2.4.2.3. Fungsi 3
2.3.2.5. Untuk N = 32
2.3.2.5.1. Simpson 1/3
2.3.2.5.1.1. Fungsi 1
2.3.2.5.1.2. Fungsi 2
2.3.2.5.1.3. Fungsi 3
2.3.2.5.2.3. Fungsi 3
2.3.2.6. Untuk N = 64
2.3.2.6.1. Simpson 1/3
2.3.2.6.1.1. Fungsi 1
2.3.2.6.1.2. Fungsi 2
2.3.2.6.1.3. Fungsi 3
2.3.2.6.2.2. Fungsi 2
2.3.2.6.2.3. Fungsi 3
2.3.3. Analisa Program
Untuk soal nomor 2 dibuatlah program dengan program yang berada
diatas merupakan program metode Simpson 1/3 untuk menghitung
nilai integral numerik dari suatu fungsi dimana fungsi adalah fungsi
pada nomor 1. Program kemudian akan meminta input dari user berupa
batas-batas integrasi untuk variabel a dan b, serta jumlah interval n.
Kemudian program menghitung tinggi trapesium h dan nilai integral
numerik menggunakan metode Simpson 1/3.
Untuk program kedua untuk 3/8 simpson pada setiap interval, program
akan memeriksa apakah nilai indeks i merupakan kelipatan 3 atau
bukan. Jika i merupakan kelipatan 3, maka program menggunakan
koefisien 2 untuk menghitung kontribusi dari titik tengah interval,
sedangkan jika i bukan kelipatan 3, maka program menggunakan
koefisien 3. Setelah itu, program menghitung nilai integral numerik
dengan menjumlahkan semua kontribusi dari setiap interval.