Program Integral Numerik metode Trapezioda menggunakan Python 3

Salah satu metode numerik adalah membahas tentang integral, kaitannya dengan luas suatu wilayah. Beberapa metode dijelaskan mulai dari metode reimann yang dijelaskan pada postingan integral numerik riemann dan programnya yang menggunakan python 3 juga di postingan progam integral riemann. Maka pada postingan kali ini akan berfokus pada program dari metode trapezioda. Program ini menggunakan bahasa pemrograman Python 3. Mari kita simak

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.

Source Code


Hasil Program

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 : 3.9000000000000004

Pembahasan


x = [0, 0.2, 0.4, 0.6, 0.8, 1.0]
y = [2, 3, 6, 5, 4, 1]
inisialisasi data awal, data terdiri dari 2 list. list x yang berisikan nilai dari x dan list y yang berisikan nilai dari f(x).

def trapezioda(x, y):
menginisialisasi pembuatan nama fungsi trapezioda dengan nama fungsi trapezioda dan membutuhkan 2 parameter x dan y.

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
membuat fungsi cekSelisih, fungsi ini digunakan untuk mengecheck apakah nilai h (selisih tiap x)  sama. Fungsi menjalankan program iterasi dari 0 sampai dengan banyaknya x, yaitu 6. Kemudian variabel h digunakan untuk menyimpan nilai selisih dari x sesudah dengan x sebelum dengan melakukan pembulatan sebanyak 2 poin. Jika ada salah satu yang berbeda looping akan dihentikan dan langsung mengirimkan nilai False. Sehingga tidak bisa menjalankan program selanjutnya.

if(cekSelisih(x)):
h = x[1]-x[0]
hasil=(h/2)*(y[0]+2*(sum(y)-y[0]-y[-1])+y[-1])
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))
lakukan conditional sentence apabila lolos cekSelisih maka bisa melakukan perhitungan trapezioda. dengan cara menjumlahkan (y0+2(y1+y2+...+yn-1)+yn) kemudian dikalikan 2.

trapezioda(x,y)
panggil fungsi trapezioda dengan 2 paramater x dan y.

Sumber



Terimakasih

Posting Komentar untuk "Program Integral Numerik metode Trapezioda menggunakan Python 3"