Anda di halaman 1dari 6

Solusi Penyelesaian Diferensial secara numerik dengan

menggunakan metode Euler dan Runge-kutta orde 4


Menggunakan Program C++

Lida Maulida
FISIKA
SAINS DAN TEKNOLOGI
UIN SUNAN GUNUNG DJATI BANDUNG

E-mail: maulidalida23@gmail.com

Abstrak: Praktikum fisika komputasi 1 kali ini adalah mencari bentuk solusi analitik dan numerik
yang menggunakan paket program C++ untuk mencari solusi penyelesaian diferensial secara numerik
dengan menggunakan metode Euler dab Runge-kutta orde 4. metode euler dan runge-kutta merupan
metode yang sering digunakan untuk menyelesaikan solusi dari sebuah persamaan diferensial. maka
hasil yang didapatpun baik denga nilai eror nya adalah 0.441 untuk metode runge-kutta dan 1 untuk
metode euler.
Kata kunci: Persamaan diferensial, metode euler, runge-kutta, solusi numerik, program C++

1 Pendahuluan

1.1 Metode Numerik

Fisika komputasi adalah studi implementasi numerik algoritma untuk memecahkan masalah di bidang
fisika di mana teori kuantitatif sudah ada [2] .Dalam sejarah, fisika komputasi adalah aplikasi ilmu kompu-
ter modern pertama di bidang sains, dan sekarang menjadi subbagian dari sains komputasi.Dalam fisika,
berbagai teori yang berdasarkan permodelan matematika menyediakan prediksi yang akurat mengenai
bagaimana sebuah sistem bergerak. Namun seringkali penggunaan permodelam matematika untuk se-
buah sistem khusus yang bertujuan untuk menghasilkan prediksi yang bermanfaat tidak bisa dilakukan
ketika itu. Hal ini terjadi karena solusi permasalahan tidak memiliki ekspresi bentuk tertutup (closed-
form expression) atau terlalu rumit. Dalam banyak kasus, perkiraan numerik dibutuhkan. Fisika kompu-
tasi adalah subjek yang berhubungan dengan berbagai perkiraan numerik; perkiraan solusi yang ditulis
sebagai sejumlah besar bilangan terbatas (finite) dari operasi matematika sederhana (algoritma), dan
komputer digunakan untuk melakukan operasi tersebut dan menghitung solusi dan errornya.[2] .
Pendekatan yang digunakan dalam metode numerik merupakan pendekatan analisis matematis. Sehing-

i
Praktikum Fisika Komputasi I

ga dasar pemikirannya tidak keluar jauh dari dasar pemikiran analitis, hanya saja pemakaian grafis dan
teknik perhitungan yang mudah merupakan pertimbangan dalam pemakaian metode numerik. Meng-
ingat bahwa algoritma yangdikembangkan dalam metode numerik adalah algoritma pendekatan maka
dalamalgoritma tersebut akan muncul istilah iterasi yaitu pengulangan proses perhitungan. Dengan kata
lain perhitungan dalam metode numerik adalah perhitungan yang dilakukansecara berulang-ulang untuk
terus-menerus diperoleh hasil yang main mendekati nilai penyelesaian exact[3] .

1.1.1 Metode Euler

Metode Euler diturunkan dari aproksimasi deret taylor untuk diferensial dan memiliki bentuk persamaan
iterasi sebagai berikut:

yi+1 = yi + h ∗ f (x, y)

xi+1 = xi + h

demana h merupakan step size atau penambahan variabel independen dan f merupakan fungsi diferensial.

1.1.2 Metode runge-Kutta orde 4

Metode ini juga diturunkan dengan menggunakan aproksimasi taylor hingga orde keempat. persamaan
Iterasinya:

k1 = h ∗ f (x, y)
h k1
k2 = h ∗ f (x + ,y + )
2 2
h k2
k3 = h ∗ f (x + , y + )
2 2
k2 = h ∗ f (x + h, y + k3)
1
yi+1 = yi + (k1 + 2k2 + 2k3 + k4)
6

1.2 Program C++

C++ adalah bahasa pemrograman komputer yang di buat oleh (Bjarne Stroustrup) merupakan perkem-
bangan dari bahasa C dikembangkan di Bell Labs (Dennis Ritchie) pada awal tahun 1970-an, Bahasa
itu diturunkan dari bahasa sebelumnya, yaitu B, Pada awalnya, bahasa tersebut dirancang sebagai ba-
hasa pemrograman yang dijalankan pada sistem Unix, Pada perkembangannya, versi ANSI (American
National Standart Institute) Bahasa pemrograman C menjadi versi dominan, Meskipun versi tersebut se-
karang jarang dipakai dalam pengembangan sistem dan jaringan maupun untuk sistem embedded, Bjar-
ne Stroustrup pada Bel labs pertama kali mengembangkan C++ pada awal 1980-an. Untuk mendukung
Praktikum Fisika Komputasi I

fitur-fitur pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat rendah (low level
coding).[4] Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya seperti inhe-
ritance dan overloading.[butuh rujukan] Salah satu perbedaan yang paling mendasar dengan bahasa C
adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented Programming).[5]
Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut menggunak-
an sintaks yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa pemrograman prose-
dural, dimana penyelesaian suatu masalah dilakukan dengan membagi-bagi masalah tersebut kedalam
su-submasalah yang lebih kecil, Selain itu, C++ merupakan bahasa pemrograman yang memiliki sifat
Pemrograman berorientasi objek, Untuk menyelesaikan masalah, C++ melakukan langkah pertama de-
ngan menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya sebagai abstraksi dari
object-object fisik, Class tersebut berisi keadaan object, anggota-anggotanya dan kemampuan dari obje-
ctnya, Setelah beberapa Class dibuat kemudian masalah dipecahkan dengan Class.[6]

1.3 Persamaan Diferensial

Persamaan diferensial pada dasarnya terbagi menjadidua bagian, yaitu persamaan deferensial biasa dan
diferensial parsial. contoh persamaan deferensial:

0
y + 2y + 3x = 0
0
y ” + 2y + 10y = x2

2 Solusi dan Hasil

2.1 Metode Euler

Berikut merupakan bentuk program dari c++:


Untuk hasil compilernya di simpan dalam format .txt, berikut merupakan sebagian data yang diperli-

Gambar 1: Metode Euler

hatkan:
Praktikum Fisika Komputasi I

Dan jika kita plot maka akan membentuk sebuag grafik yang linear, seperti yang kita tau bahwa kece-

Gambar 2: Compiler untuk metode euler

patan bandul akan mengecil seiring dengan pergerakannya:

Gambar 3: grafik untuk metode euler

2.2 Metode Runge-kutta

Berikut merupakan bentuk program dari c++:


Untuk hasil compilernya di simpan dalam format .txt, berikut merupakan sebagian data yang diperli-

Gambar 4: Metode Runge-kutta

hatkan:
Dan jika kita plot maka akan membentuk sebuag grafik yang linear, seperti yang kita tau bahwa kece-
patan bandul akan mengecil seiring dengan pergerakannya:
Praktikum Fisika Komputasi I

Gambar 5: Compiler untuk metode Runge-kutta

Gambar 6: grafik untuk metode Runge-kutta

3 Kesimpulan

Dengan menggunakan metode numerik kita dapat menyelesaikan persoalan matematik yang komplek
atau yang tidak dapat di selesaikan dengan menggunakan metode analitik, ketepatan dalam hasilpun ak-
an sangat lebih baik jika kita menggunakan metode numerik, metode euler dan runge-kutta merupan
metode yang sering digunakan untuk menyelesaikan solusi dari sebuah persamaan diferensial. maka ha-
sil yang didapatpun baik denga nilai eror nya adalah 0.441 untuk metode runge-kutta dan 1 untuk metode
euler
Praktikum Fisika Komputasi I

Pustaka

[1] Suparno, Supriyanto. 2007. Komputasi Untuk Sains dan Teknik. FMIPA. Universitas Indonesia.
[2] Thijssen, Joseph. 2007. Computational Physics; Cambridge University Press.
[3] https://www.academia.edu/4532357/Metode Numerik Sebagai Algoritma Komputasi. (Diakses pa-
da 30September 2014).
[4] Hanif al fatta .2006. Dasar Pemrograman C++ disertai dengan Pengenalan Pemrograman Berori-
entasi Objek. ISBN 979-763-582-1.
[5] Bruce Eckel (2000). Thinking in C++. Jilid 1 dari Thinking in C++ Introduction to Standard C+,
Bruce Eckel. ISBN 0139798099, 9780139798092.
[6] Bjarne Stroustrup .2000. The C++ programming language, Prentice Hall, 2000. ISBN
0201889544, 9780201889543.
[7] Tipler A Paul .1991. Fisika untuk Sains dan Teknik. Erlangga. Jakarta

Anda mungkin juga menyukai