Setelah pada postingan sebelumnya, dijelaskan cara penyelesaian perhitungan luas wilayah dengan metode numerik, Metode Riemann. Maka pada postingan kali ini akan membahas dari segi programmingnya. Menggunakan bahasa pemrograman python 3 maka code dibuat. Dengan contoh soal yang digunakan sama dengan pada postingan sebelumnya. So, langsung saja ke pembahasannya.
Soal
- Fungsi f(x) tidak diketahui, yang diketahui hanya nilai x dan y yang merupakan hasil f(x)
- Cari luas daerah dari grafik yang dihasilkan dari [0 1] dengan menggunakan trapezioda
- Hitung dengan data yang ada di tabel.
Code dan Hasil Running Program
Code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'''
Trapezioda Integral
Sufyan Saori
xsufyan@gmail.com
'''
x = [0, 0.2, 0.4, 0.6, 0.8, 1.0]
y = [2, 3, 6, 5, 4, 1]
def trapezioda(x,y):
#mengecheck setiap nilai h sama
def cekSelisih(x):
i= 0
temp = x[1]-x[0]
while(i<len(x)-1):
h=round(x[i+1]-x[i],2)
if(temp!=h):
return(False)
break
i+=1
return True
if(cekSelisih(x)):
h = x[1]-x[0]
hasil=h*(sum(y))
print("dengan nilai x : ",x)
print("dengan nilai y : ",y)
print("maka didapatkan luas area dari "+str(x[0])+" sampai "+str(x[len(x)-1])+" hasilnya : "+str(hasil))
trapezioda(x,y)
Hasil
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
''' | |
Trapezioda Integral | |
Sufyan Saori | |
xsufyan@gmail.com | |
''' | |
x = [0, 0.2, 0.4, 0.6, 0.8, 1.0] | |
y = [2, 3, 6, 5, 4, 1] | |
def trapezioda(x,y): | |
#mengecheck setiap nilai h sama | |
def cekSelisih(x): | |
i= 0 | |
temp = x[1]-x[0] | |
while(i<len(x)-1): | |
h=round(x[i+1]-x[i],2) | |
if(temp!=h): | |
return(False) | |
break | |
i+=1 | |
return True | |
if(cekSelisih(x)): | |
h = x[1]-x[0] | |
hasil=h*(sum(y)) | |
print("dengan nilai x : ",x) | |
print("dengan nilai y : ",y) | |
print("maka didapatkan luas area dari "+str(x[0])+" sampai "+str(x[len(x)-1])+" hasilnya : "+str(hasil)) | |
trapezioda(x,y) |
dengan nilai x : [0, 0.2, 0.4, 0.6, 0.8, 1.0]
dengan nilai y : [2, 3, 6, 5, 4, 1]
maka didapatkan luas area dari 0 sampai 1.0 hasilnya : 4.2
[Finished in 0.1s]
Penjelasan Code
x = [0, 0.2, 0.4, 0.6, 0.8, 1.0]membuat inisialisasi nilai yang digunakan
y = [2, 3, 6, 5, 4, 1]
def trapezioda(x,y):membuat fungsi dengan 2 parameter yaitu x dan y
def cekSelisih(x):membuat fungsi untuk mengecheck jarak di setiap nilai x apakah sama, apabila berbeda maka akan menghasilkan nilai False
i= 0
temp = x[1]-x[0]
while(i<len(x)-1):
h=round(x[i+1]-x[i],2)
if(temp!=h):
return(False)
break
i+=1
return True
if(cekSelisih(x)):Jika nilai h sama semua untuk tiap sukunya maka cetak hasil, hasil didapat dari perhitungan h*sum(y), h sendiri didapat dari selisih tiap nilai di x.
h = x[1]-x[0]
hasil=h*(sum(y))
print("dengan nilai x : ",x)
print("dengan nilai y : ",y)
print("maka didapatkan luas area dari "+str(x[0])+" sampai "+str(x[len(x)-1])+" hasilnya : "+str(hasil))
Sekian dari saya semoga bermanfaat
Posting Komentar untuk "Integral Riemann Menggunakan Bahasa Pemrograman Python 3"
Berilah komentar, saran, dan kritik dengan bijak