Persamaan Differensial Biasa

Menggunakan Metode Euler

Pengertian

Metode Euler adalah salah satu metode satu langkah paling sederhana. Dibandingkan dengan beberapa metode lain, metode ini paling tidak teliti. Namun, metode ini perlu dipelajari mengingat kesederhanaan dan pemahaman yang mudah sehingga membuatnya lebih mudah untuk mempelajari metode lain secara lebih menyeluruh.

Metode euler atau disebut juga metode orde pertama karena persamaannya yang digunakan hanya mengambil sampai suku orde pertama saja.

Misalnya diberikan PDB orde satu $$ y = {dy \over dx} = f(x,y) \quad dan \quad nilai \quad awal \quad x(x_0) = x_0 $$ Meotde Euler merupakan metode yang paling sederhana yang diturunkan dari deret Taylor. Penyelesain inital value problem menggunakan metode Euler dilakukan melalui persamaan dibawah

Menghitung persamaan differensial melalui taksiran langsung dari slope $x_1$ diberi turunan pertama $$ y_{i+1} = y_i + f(x_i,y_i)h $$ dimana $i$ merupakan tahap iterasi.

Algortima Metode Euler

  1. Menententukan titik awal integrasi $x_0$ dan $y_0$.

  2. Menententukan jumlah iterasi $n$ dan menentukan ukuran langkah h yang digunakan (step size h)

  3. Melakukan integrasi menggunakan Persamaan dibawah $$ y_{i+1} = y_i + f(x_i,y_i)h $$

Contoh Soal

Membuat program untuk menyelesaikan persamaan differensial berikut menggunakan Metode Euler $$ {dy \over dx} = 1+x^2, \quad y(1) = -4 $$ Untuk menentukan $y(1.01), y(1.02)$ dan $y(1.03)$

Membuat program menggunakan Python, berikut hasil dari program menggunakan metode Euler

print("f(x,y)=1+x^2")
print("(yi+1) = y1 + h f(xi+yi)")
xi = float(input("Masukkan x_i= "))
yi = float(input("Masukkan y_i= "))
h = 1.01-xi #Mengurangi 1.01 dengan x - awal dengan 1 menghasilkan 0.01
n = 4 #Jumlah iterasi yg dipakai 4 karena ada y(1),y(1.01),y(1.02),y(1.03)


def f(x,y):
    return 1+x**2
def metode_euler(xi,yi,h,n):
    nilai = yi
    for i in range(n):
        print("Nilai dari x"+str(i)+" = ",str(xi) +" dan y"+str(i)+" = ", str(nilai))
        nilai = yi + h*f(xi,yi)
        xi=xi+h
        yi=nilai
metode_euler(xi,yi,h,n)

Berikut dapat dilihat bahwa agar memudahkan membuat inisial terlebih dahulu dengan mendapatkan nilai $xi$ dengan menggunakan nilai $1$ lalu nilai $yi$ menggunakan nilai $-4$. Lalu h dapat diperoleh langsung dengan nilai $0.01$ atau dengan mengurangi $1.01$ dengan nilai x awal yaitu $1$. Dan n sebagai iterasi yang digunakan karena menggunakan / mencari nilai $y(1),y(1.01),y(1.02),y(1.03)$

xi = float(input("Masukkan x_i= "))
yi = float(input("Masukkan y_i= "))
h = 1.01-xi #Mengurangi 1.01 dengan x - awal dengan 1 menghasilkan 0.01
n = 4 #Jumlah iterasi yg dipakai 4 karena ada y(1),y(1.01),y(1.02),y(1.03)

Kemudian membuat fungsi $f(x,y)$ lalu memberikan sebuah fungsi dengan return, fungsi yang digunakan adalah $1+x^2$

def f(x,y):
    return 1+x**2

Lalu membuat sebuah fungsi Metode Euluer dengan menggunakan rumus $y_{i+1} = y_i + f(x_i,y_i)h$

def metode_euler(xi,yi,h,n):
    nilai = yi
    for i in range(n):
        print("Nilai dari x"+str(i)+" = ",str(xi) +" dan y"+str(i)+" = ", str(nilai))
        nilai = yi + h*f(xi,yi)
        xi=xi+h
        yi=nilai
metode_euler(xi,yi,h,n)

Berikut Hasil Output dari Program yang telah dibuat:

f(x,y)=1+x^2
(yi+1) = y1 + h f(xi+yi)
Masukkan x_i= 1
Masukkan y_i= -4
Nilai dari x0 =  1.0 dan y0 =  -4.0
Nilai dari x1 =  1.01 dan y1 =  -3.98
Nilai dari x2 =  1.02 dan y2 =  -3.959799
Nilai dari x3 =  1.03 dan y3 =  -3.9393949999999998

Dapat diperoleh dari hasil nilai untuk menentukan $y(1.01), y(1.02)$ dan $y(1.03)$ adalah $$ y(1.01) = -3.98 \\ y(1.02) = -3.959799 \\ y(1.03) = -3.9393949999999998 $$

Sekian TerimaKasih ;