Anda di halaman 1dari 21

LAPORAN PRAKTIKUM

FISIKA KOMPUTASI

PERSAMAAN DIFERENSIAL BIASA

STEFANUS FEBRIAN SARITUA MANALU


2117041077

JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
2023
Judul Percobaan : Persamaan Diferensial Biasa

Tanggal Percobaan : 28 Maret 2023

Tempat Percobaan : Laboratorium Matematika dan Statistika Terapan

Nama : Stefanus Febrian Saritua Manalu

NPM 2117041077

Jurusan : Fisika

Fakultas : Matematika dan Ilmu Pengetahuan Alam

Kelompok : II (Dua) B

Bandar Lampung, 28 Maret 2023


Mengetahui,
Asisten

Ajeng Rianti Dewi


NPM. 1917041018

i
DAFTAR ISI

Halaman
LEMBAR PENGESAHAN....................................................................................i

DAFTAR ISI...........................................................................................................ii

DAFTAR GAMBAR.............................................................................................iii

I. PENDAHULUAN
1.1 Latar Belakang.......................................................................................1
1.2 Tujuan Percobaan...................................................................................2

II. TINJAUAN PUSTAKA


2.1 Metode Numerik....................................................................................3
2.2 Persamaan Diferensial…........................................................................3
2.3 Metode Euler dan Runge-Kutta..............................................................4

III. HASIL DAN PEMBAHASAN


3.1 Tugas Rumah.........................................................................................6
3.2 Listing Program......................................................................................6
3.3 Pembahasan............................................................................................7

IV. KESIMPULAN

DAFTAR PUSTAKA

ii
DAFTAR GAMBAR

Halaman
Gambar 3.1 Listing Program 1...............................................................................9

Gambar 3.2 Listing Program 2...............................................................................9

Gambar 3.3 Hasil Output Program 1....................................................................10

Gambar 3.4 Hasil Output Program 2....................................................................10

iii
I. PENDAHULUAN

1.1 Latar Belakang

Dalam kehidupan sehari-hari, sering kali timbul berbagai permasalahan yang sulit
untuk ditemukan hasilnya dan harus dilakukan pengevaluasian dengan berbagai
model matematis, khususnya dalam bidang sains seperti fisika, kimia, teknik, dan
bidang-bidang lainnya. Namun permasalahan ini dapat diselesaikan dengan
menggunakan persamaan diferensial. Persamaan diferensial lebih sering
dinyatakan dalam pemodelan matematika yang mengandung turunan fungsi.
Biasanya persamaan ini diselesaikan secara analitik dan dilakukan dengan
mencari penyelesaian umumnya terlebih dahulu. Setelah itu, akan didapatkan hasil
berupa fungsi, yang di mana fungsi ini akan diolah kembali konstantanya untuk
memperoleh hasil berupa nilai angka. Tetapi terkadang terdapat fungsi-fungsi
yang sulit didapatkan hasilnya jika dilakukan perhitungan secara manual dan
analitis. Hal ini dikarenakan metode penyelesaian persamaan diferensial secara
analitik terbatas pada persamaan-persamaan dalam bentuk tertentu. Sehingga
untuk membantu menyelesaikan penyelesaian persamaan diferensial ini, diperoleh
metode lain yang mampu menyelesaikan dengan nilai mendekati dan lebih mudah,
yaitu dengan metode numerik. Metode numerik tidak terbatas pada persamaan
dalam bentuk- bentuk tertentu. Penyelesaian yang digunakan pada persamaan
diferensial biasa secara numerik terbagi menjadi berbagai metode. Beberapa
metode di antaranya ialah metode Euler dan metode Runge-Kutta. Metode-metode
tersebut juga akan terbagi menjadi beberapa jenis. Untuk lebih memahami
mengenai persamaan diferensial biasa dan metode-metode yang dapat digunakan,
maka dilakukanlah praktikum ini.
2

1.2 Tujuan Percobaan

Tujuan dilakukannya praktikum ini adalah sebagai berikut.


1. Mahasiswa memahami masalah syarat awal pada persamaan diferensial biasa
menggunakan metode numerik.
2. Mahasiswa dapat membuat program yang berisi metode numerik untuk
menyelesaikan persamaan diferensial biasa yang menggunakan syarat awal.
3. Mahasiswa dapat menyelesaikan masalah-masalah fisika yang menyangkut
metode numerik untuk menyelesaikan persamaan diferensial biasa yang
menggunakan syarat awal.
II. TINJAUAN PUSTAKA

2.1 Metode Numerik

Metode numerik merupakan suatu metode atau cara yang digunakan untuk
memformulasikan persoalan matematika sehingga dapat diselesaikan dengan
operasi perhitungan aritmatika angka-angka seperti umumnya. Metode numerik
menghasilkan solusi pendekatan yang mendekati solusi sebenarnya. Namun,
solusi yang diperoleh dapat seteliti mungkin. Solusi pendekatan ini tidak persis
dengan solusi sebenarnya sehingga memiliki selisih atau dikenal dengan galat,
yang dalam bahasa Inggris disebut error. Dengan mempelajari metode numerik,
adapun manfaat yang didapat di antaranya mampu menangani sistem persamaan
besar, ketidaklinearan, dan geometri yang sulit, mampu membuat program sendiri,
dan mampu menangani galat suatu nilai hampiran atau aproksimasi. Tahapan yang
dapat dilakukan untuk pemecahan masalah secara numerik, yaitu dengan
pemodelan, penyederhaan, formulasi numerik, pemrograman, operasional, serta
evaluasi (Vulandari, 2017).

2.2 Persamaan Diferensial

Persamaan diferensial merupakan topik yang sering dikaji dalam bidang


matematika dan banyak digunakan dalam menyelesaikan berbagai masalah di
berbagai bidang lain, seperti bidang kimia, fisika, ekonomi, teknik, industri, dan
disiplin ilmu lainnya. Persamaan diferensial sering dijadikan sebagai model
matematika yang dapat mendeskripsikan suatu fenomena yang bersifat kompleks.
Untuk menyelesaikan persamaan diferensial secara numerik, perlu ditinjau
terlebih dahulu hampiran suku turunan yang muncul dalam persamaan diferensial
tersebut. Salah satu metode numerik yang biasa digunakan untuk menghitung
hampiran turunan suatu fungsi adalah metode beda hingga (finite difference).
Pada metode
4

jenis ini, domain fungsi dipartisi atas sejumlah titik dan rumus aproksimasi untuk
turunan diperoleh dari ekspansi deret Taylot di satu atau lebih titik partisi.
Berdasarkan lokasi titik partisi yang digunakan, metode beda hingga terbagi
menjadi beda maju (forward difference), beda mundur (backward difference), dan
beda pusat (central difference). Rumus umum beda hingga untuk turunan ke-m
degan ketelitian orde ke-n dapat dibangkitkan dengan suatu algoritma rekursif.
Namun dalam perhitungannya, semakin tinggi tingkatan turunan fungsi dan orde
ketelitian yang ingin dicapai, maka semakin besar pula beban memori komputasi
yang diperlukan. Hal ini dikarenakan semakin tinggi tingkatan turunan dan orde
ketelitian, maka jumlah data atau titik-titik partisi yang digunakan juga semakin
banyak. Untuk mengatasi hal seperti ini, diperlukan suatu rumus eksplisit beda
hingga sehingga koefisien-koefisiennya dapat ditentukan secara langsung tanpa
melewati proses perhitungan secara rekursif (Syafwan et al., 2018).

2.3 Metode Euler dan Range-Kutta

Terdapat salah satu metode satu langkah yang paling sederhana, yaitu metode
Euler. Dibandingkan dengan beberapa metode satu langkah lainnya, metode ini
dianggap kurang teliti. Namun, kelebihan metode ini ialah sederhana dan mudah
dipahami sehingga memudahkan untuk mempelajari metode lain yang lebih teliti,
metode ini juga perlu dipelajari. Metode Euler didapatkan dari deret Taylor
∆𝑥2
𝑦𝑖+1 = 𝑦𝑖 + 𝑦′𝑖 ∆𝑥 + 𝑦′′𝑖 + ⋯………………(2.1)
2!

Jika nilai x kecil, maka suku yang mengandung pangkat lebih tinggi dari 2
adalah sangat kecil dan dapat diabaikan, sehingga persamaannya dapat dituliskan
menjadi
𝑦𝑖+1 = 𝑦𝑖 + 𝑦′𝑖 ∆𝑥……...………………..(2.2)
Dengan membandingkan Persamaan (2.1) dan (2.2) dapat disimpulkan bahwa
dalam metode Euler, kemiringan  = y’i = f (xi, yi), sehingga persamaannya
berubah menjadi
𝑦𝑖+1 = 𝑦𝑖 + 𝑓 (𝑥𝑖, 𝑦𝑖) ∆𝑥..…………………(2.3)
Di mana i = 1, 2, 3, …. Persamaan (2.3) merupakan metode Euler. Nilai y i + 1

diprediksi dengan menggunakan kemiringan fungsi yang mana sama dengan


turunan pertama di titik xi untuk diekstrapolasikan secara linier pada jarak
sepanjang pias x. Penyelesaian menggunakan metode numerik pada persamaan
5

diferensial biasa menyebabkan terjadinya dua tipe kesalahan, yaitu kesalahan


pemotongan yang disebabkan oleh teknik penyelesaian yang digunakan untuk
memperkirakan nilai y dan kesalahan pembulatan yang disebabkan oleh
keterbatasan jumlah angka atau digit yang digunakan dalam perhitungan
(Triatmodjo, 2002).
III. HASIL DAN PEMBAHASAN

3.1 Tugas Rumah

Adapun soal tugas rumah pada praktikum ini adalah sebagai berikut.
1. Dengan menggunakan soal yang sama yaitu : y’ = 3y2 + 2t, t = 1 sd t = 5,
lakukan diskritisasi persamaan tersebut menggunakan metode Runge-Kutta
orde 2, yaitu
1
𝑦𝑛+1 = 𝑦𝑛 + [𝑘1 + 𝑘2]
2
dengan
𝑘1 = ℎ𝑓 (𝑦𝑛, 𝑡𝑛)
𝑘2 = ℎ𝑓 (𝑦𝑛 + 𝑘1, 𝑡𝑛+1)
Gunakan urutan pengerjaan seperti sebelumnyaa, tentukan f (tn, yn), lalu k1,
lalu f (tn+1, yn) lalu k2 selanjutnya yn+1.

2. Buatlah program komputernya, bandingkan hasilnya dengan metode Euler


modifikasi.

3.2 Listing Program

Adapun listing program yang diperoleh yaitu sebagai

berikut. #include <iostream>


#include <stdio.h>
using namespace std;

int main () {
FILE * file_saya;
double t1 = 0.0, t2 = 5.0, dt;
int n = 100; // Misal t dibagi menjadi 100
7

double tn, y0 = 0.0, yn, fn;


double yn12, fn12, yn1;
dt = (t2 - t1) / n;

// Modified Runge-Kutta Orde 2


file_saya = fopen ("out_Runge-Kutta.txt", "w");
tn = t1;
yn = y0;
fprintf (file_saya, "t y\n");
for (int i = 1; i <= n; i++) {
tn = tn + dt;
fn = 3 * (yn * yn) + 2 * tn; // Persamaan soal
yn12 = yn + 1/2 ;
yn, tn +
dt; yn +
dt; yn, tn *
fn;
fn12 = 3 * (yn12 * yn12) + 2 * (tn + (dt / 2));
yn1 = yn + (dt / 2) * (fn + fn12);
fprintf (file_saya,"%4.2f %10.6f\n", tn, yn1);
// cout << tn << " " << yn1 <<
endl; yn = yn1;
}

3.3 Pembahasan

Penjelasan program adalah sebagai berikut.


 #include <iostream>
Pernyataan diawali dengan # disebut sebagai preprocessor directive. Tertulis
#include <iostream> yang berarti program tersebut akan menggunakan fitur dari
library yang bernama iostream.

 #include <stdio.h>
Pernyataan diawali dengan # disebut sebagai preprocessor directive. Tertulis
#include <iostream> yang merupakan header dalam bahasa pemrograman yang
digunakan untuk input-output.

 using namespace std;


Berfungsi untuk memberitahu compiler untuk menggunakan namespace standar.

 int main () {}
8

Merupakan fungsi utama. “int” adalah sebuah return type integer. Setelah
identifier (identitas) “main” terdapat sepasang tanda ”()”, di mana merupakan
tempat untuk mengisi parameter untuk function, namun pada fungsi utama tidak
dibutuhkan dan dibiarkan kosong. Kemudian tanda “{“ (blok pembuka) dan “}“
(blok penutup), kedua blok menunjukkan bahwa kode diapit dalam ruang lingkup
dan menyatakannya sebagai definisi dari fungsi utama.

 double
Fungsi double berguna untuk mendeklarasikan nilai dalam bentuk pecahan atau
desimal dengan angka di belakang koma lebih spesifik daripada float. Pada double
x sebanyak 5, fx sebanyak 4, fx2 sebanyak 4, dfx, dfxx, dan dfxx2 dideklarasikan
nilai masing-masing variabel.

 int
Fungsi int berguna untuk mendeklarasikan nilai dalam bentuk bilangan bulat.

 for ()
for digunakan untuk menyatakan perulangan yang dikhususkan untuk
pengulangan yang secara tepat mengetahui berapa kali pengulangan akan terjadi.

Pada baris selanjutnya dibuat untuk mendeklarasikan nilai-nilai dari variavel-


variabel yang sudah dideklarasikan dengan menggunakan fungsi double. Dalam
hal ini output diperoleh pada notepad karena menggunakan file_saya.

Program yang dibuat dan hasil output dari program tersebut ialah sebagai berikut.
9

Gambar 3.1 Listing Program 1

Gambar 3.2 Listing Program 2


10

Gambar 3.3 Hasil Output Program 1

Gambar 3.4 Hasil Output Program 2

Dari program didapatkan nilai hasil program diferensial biasa dengan metode
Runge-Kutta yaitu sebagai berikut.
t y
0.05 0.006250
0.10 0.017506
11

0.15 0.033802
0.20 0.055223
0.25 0.081931
0.30 0.114188
0.35 0.152393
0.40 0.197127
0.45 0.249206
0.50 0.309771
0.55 0.380415
0.60 0.463372
0.65 0.561829
0.70 0.680427
0.75 0.826125
0.80 1.009747
0.85 1.248935
0.90 1.574161
0.95 2.042108
1.00 2.768889
1.05 4.025152
1.10 6.566678
1.15 13.151118
1.20 39.215152
1.25 270.015626
1.30 11206.412637
1.35 18848759.176912
1.40 53291377225142.343750
1.45 425995632982916297429876736.000000
1.50
27220841898077331678216078810153293073076150949904384.000000
1.55
111146135046018340567046380414691785373318764238413110413819
345656739319658952638471865953475001535430656.000000
12

1.60
185301950035016207218305923429085355419723536655525259727101
763199311140261591493992605878507242325038622608323345948959739845
926101732783826878620856783251462062967186528743085699408583364081
9108807415169024.000000
1.65 inf
1.70 inf
1.75 inf
1.80 inf
1.85 inf
1.90 inf
1.95 inf
2.00 inf
2.05 inf
2.10 inf
2.15 inf
2.20 inf
2.25 inf
2.30 inf
2.35 inf
2.40 inf
2.45 inf
2.50 inf
2.55 inf
2.60 inf
2.65 inf
2.70 inf
2.75 inf
2.80 inf
2.85 inf
2.90 inf
2.95 inf
13

3.00 inf
3.05 inf
3.10 inf
3.15 inf
3.20 inf
3.25 inf
3.30 inf
3.35 inf
3.40 inf
3.45 inf
3.50 inf
3.55 inf
3.60 inf
3.65 inf
3.70 inf
3.75 inf
3.80 inf
3.85 inf
3.90 inf
3.95 inf
4.00 inf
4.05 inf
4.10 inf
4.15 inf
4.20 inf
4.25 inf
4.30 inf
4.35 inf
4.40 inf
4.45 inf
4.50 inf
4.55 inf
14

4.60 inf
4.65 inf
4.70 inf
4.75 inf
4.80 inf
4.85 inf
4.90 inf
4.95 inf
5.00 inf
IV. KESIMPULAN

Dari hasil praktikum yang telah dilakukan, maka dapat diambil kesimpulan
sebagai berikut.
1. Penyelesaian ditentukan dengan syarat bantu, yaitu syarat awal atau syarat
batas.
2. Diperoleh nilai t = 0,05 sampai t = 0,80 yaitu 0.006250, 0.017506, 0.033802,
0.055223, 0.081931, 0.114188, 0.152393, 0.197127, 0.249206, 0.309771,
0.380415, 0.463372, 0.561829, 0.680427, 0.826125, dan 1.009747.
3. Diperoleh nilai t = 0,85 sampai t = 1,40 yaitu 1.248935, 1.574161, 2.042108,
2.768889, 4.025152, 6.566678, 13.151118, 39.215152, 270.015626,
11206.412637, 18848759.176912, dan 53291377225142.343750.
DAFTAR PUSTAKA

Syafwan, H., Mahdhivan S., William R., dan Riki A. Y. 2018. Pemrograman
Komputasi Rumus Eksplisit Metode Beda Hingga Untuk Turunan Pertama
Dengan Menggunakan Matlab. Seminar Nasional Royal (SENAR). ISSN :
2622-6510. Hal. 61 - 66.

Triatmodjo, B. 2002. Metode Numerik. BETA OFFSET. Yogyakarta.

Vulandari, R. T. 2017. Metode Numerik : Teori, Kasus, dan Aplikasi. Mavendra


Pers. Surabaya.
LAMPIRAN

Anda mungkin juga menyukai