Metode Numerik: Persamaan Diferensial Menggunakan Metode Runge-Kutta


Yo, sudah lama tidak nulis lagi dikarenakan banyak kesibukan di RL (lagi). Agar kemampuan nulis saya yang mulai berkembang walau sedikit tidak redup maka saya akan menulis lagi kali ini walau bahan kali ini cuma sedikit.


Persamaan diferensial adalah persamaan yang mempunyai suatu variabel yang kemudian di turunkan terhadap variable lain. Diturunkan? Untuk bisa paham betul konsep turunan, paling bagus pakai ilustrasi.
Anggap anda sedang berlari di jalan raya yang sepi sambil memegang stopwatch. Tiap 1 menit anda menekan stopwatch dan melihat kilometer jalan dan mencatatnya (entah anda mencatatnya di kertas atau di otak anda...anyway ini cuma ilustrasi) untuk melihat sudah sejauh mana anda berlari begitu seterusnya sampai anda capek berlari. Kemudian setelah itu anda melihat catatan kilometer yang anda catat tadi. Terlihat angka-angka yang anda catat bertambah besar seiring bertambah menitnya. Ambil angka pertama yang anda catat kemudian bagi dengan 60 maka anda akan mendapatkan kecepatan lari anda pada menit pertama dan anda juga mendapatkan turunan pertama pada catatan anda di menit pertama. Ya, anda baru saja melakukan 'penurunan' dari data posisi menjadi data kecepatan.
Itu untuk penurunan yang sudah ada datanya, untuk kasus yang dibahas kali ini adalah persamaan yang diturunkan atau dengan kata lain persamaan differensial. Jika persamaan diferensial adalah persamaan diferensial biasa, maka ada beberapa metode yang bisa di pakai dan yang akan kita pakai kali ini adalah metode Runge-Kutta (dengan orde 3) yang banyak difavoritkan orang-orang karena akurat dan mudah algoritmanya.

Dalam menyelesaikan persamaan diferensial biasa menggunakan metode ini, bentuk umum dari persamaannya sebelum diselesaikan harus seperti ini:


Lebih jauh tentang metode Rungge-Kutta bisa di akses di sini. Yang terpenting dalam metode ini kita terlebih dahulu harus menentukan syarat awal pada persamaan diferensial f(x,y). Syarat-syarat antara lain menentukan nilai x0 dan y0 (batas awal), interval x (karena akan diturunkan terhadap x) dan nilai batas x.

Kemudian source codenya bisa di download di sini. Pada source code ini, persamaan yang ingin dicari hasilnya adalah


Pada source code, jika ingin mengubah persamaan yang ingin dicari dan syarat-syarat awalnya, sudah ada comment yang menjelaskan secara eksplisit disitu.

Cukup sekian, tidak terlalu banyak yang dibahas karena saya juga belum begitu paham asal-muasal proses mendapatkan metode ini (yang sebenarnya rencananya mau saya bahas).

referensi:
https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods

Komentar