Anda di halaman 1dari 15

BAB I

PENDAHULUAN
1.1. Latar belakang
Salah satu perhitungan kalkulus yang banyak digunakan adalah differensial, dimana
differensial ini banyak digunakan untuk keperluan perhitungan geometrik.Dan perhitungan-
perhitungan yang berhubungan dengan perubahan nilai per-satuan waktu atau jarak.Secara
kalkulus, differensial didefinisikan sebagai perbandingan perubahan tinggi (selisih tinggi) dan
perubahan jarak.
Hampir semua fungsi kontinu dapat dihitung nilai differensialnya secara mudah,
sehingga dapat dikatakan metode numerik dianggap tidak perlu digunakan untuk keperluan
perhitungan differensial ini.Masalahnya seiring dengan perkembangannya pemakaian
komputer sebagai alat hitung dan pada banyak permasalahan differensial adalah salah satu
bagian dari penyelesaian, sebagai contoh metode newton raphson memerlukan differensial
sebagai pembagi nilai perbaikan errornya, sehingga metode newton raphson ini hanya bisa
dilakukan bila nilai differensialnya bisa dihitung. Contoh lainnya adalah penentuan titik
puncak kurva y = f(x) yang dinamakan titik maksimal dan titik minimal, juga memerlukan
titik differensial sebagai syarat apakah titik tersebut sebagai titik puncak.Dimana
didefinisikan bahwa suatu titik dinamakan titik puncak bila differensial pada titik tersebut
adalah 0.
Pada beberapa permasalahan, nilai differensial dapat dihitung secara manual.
Misalkan
diketahui f(x) = xe-x + cos x maka differensialnya adalah F1(x) = (1-x) e-x sin x.Tetapi
pada permasalahan lain nilai fungsi sulit diselesaikan secara manual.Terutama jika fungsinya
hanya diketahui berupa nilai atau grafis. Misalkan menghitung puncak distribusi data yang
berupa distribusi poisson.

Menghitung differensial ini tidak mudah, disinilah metode numerik dapat digunakan.
Tujuan
Tujuan dari penulisan makalah ini adalah:
1. Untuk dapat mengetahui penggunaan serta dapat menerapkan metode Forward-
difference pada matlab.
2. Untuk dapat mengetahui penggunaan serta dapat menerapkan metode Backward-
difference pada matlab

1
BAB II
PEMBAHASAN
2.1. Metode Forward-difference
Solusi numerik diperoleh menggunakan forward-difference dengan langkah-langkah yang
hampir mirip seperti yang telah dibahas pada PDP eliptik. Langkah pertama adalah
menentukan sebuah angka m > 0, yang dengannya, nilai h ditentukan oleh rumus h = /m.
Langkah kedua adalah menentukan ukuran time-step k dimana k > 0. Adapun mesh points
ditentukan oleh (xi, tj), dimana xi = ih, dengan i = 0, 1, 2, ...,m, dan tj = jk dengan j = 0, 1, ....
Berdasarkan deret Taylor, turunan pertama persamaan terhadap t, dengan time step k,

(1)
Adalah

(2)
Namun, sebagaimana pendekatan finite-difference pada umumnya, pendekatan forward-
difference selalu mengabaikan suku terakhir, sehingga persamaan di atas ditulis seperti ini

(3)
Sementara itu, turunan kedua persamaan (1) terhadap x berdasarkan deret Taylor adalah

(4)
Pengabaian suku terakhir menjadikan persamaan di atas ditulis kembali sebagai berikut

(5)
Kemudian persamaan (3) dan (5) disubstitusi kedalam persamaan (1), maka diperoleh

(6)
atau dapat dinyatakan dalam notasi w

(7)
Dari sini diperoleh solusi untuk wi,j+1, yaitu

2
(8)
jika

(9)
Maka

(10)

Contoh: One dimensional heat equation


Misalnya diketahui, distribusi panas satu dimensi (1D) sebagai fungsi waktu (t) pada
sebatang logam memenuhi persamaan berikut

Dengan syarat batas

Dan kondisi mula-mula

Solusi analitik atas masalah ini adalah

Adapun sebaran posisi mesh-points dalam 1-D diperlihatkan pada Gambar 1. Sementara

Gambar 1: Sebatang logamdengan posisi titik-titik simulasi (mesh-points) distribusi


temperatur. Jarak antar titik ditentukan sebesar h = 0, 1.

Gambar 2. melengkapi Gambar 1, dimana perubahan waktu tercatat setiap interval k = 0,


0005. Sepintas Gambar 2. terlihat seolah-olah obyek yang mau disimulasikan berbentuk 2
dimensi, padahal bendanya tetap 1-dimensi yaitu hanya sebatang logam.

3
Gambar 2. Interval mesh-points dengan jarak h = 0, 1 dalam interval waktu k = 0, 0005
Selanjutnya, Gambar 3. memperlihatkan tepi-tepi syarat batas yaitu angka 0 di ujung
kiri dan angka 1 di ujung kanan pada sumbu horisontal x. Diantara batas-batas itu terdapat
sebaran titik simulasi berjarak h = 0, 1. Sementara, sumbu vertikal menunjukan perubahan
dari waktu ke waktu dengan interval k = 0, 0005. Karena = 1, h = 0, 1 dan k = 0, 0005 maka

Gambar 3. Posisi mesh-points. Arah x menunjukkan posisi titik-titik yang dihitung dengan
forward- difference, sedangkan arah t menunjukkan perubahan waktu yg makin meningkat

dapat dihitung dengan persamaan (9)

Berdasarkan persamaan (10), sistem persamaan linear dapat disusun sebagai berikut

4
Syarat batas menetapkan bahwa w0,j = w10,j = 0. Lalu dinyatakan dalam bentuk operasi matrik

(11)

Persamaan matriks di atas dapat direpresentasikan sebagai

(12)
Proses perhitungan dimulai dari j = 0. Persamaan matrik menjadi

Nilai w1,0,w2,0, ...,w9,0 sudah ditentukan oleh kondisi awal, yaitu

Jika h = 0, 1, maka x1 = h = 0, 1; x2 = 2h = 0, 2; x3 = 3h = 0, 3;....; x9 = 9h = 0, 9. Lalu


masing-masing dimasukkan ke sin x untuk mendapatkan nilai u(x, 0). Kemudian notasi u(x,
0) diganti dengan notasi w yang selanjutnya dinyatakan sebagai berikut: w1,0 = u(x1, 0) =
5
u(0.1, 0) = sin (0.1) = 0, 3090. Dengan cara yang sama: w2,0 = 0, 5878; w3,0 = 0, 8090; w4,0 =
0, 9511; w5,0 = 1, 0000; w6,0 = 0, 9511; w7,0 = 0, 8090; w8,0 = 0, 5878; dan w9,0 = 0, 3090. Maka
persamaan matriks menjadi

Ini hanya perkalian matrik biasa. Hasil perkalian itu adalah: w1,1 = 0, 3075; w2,1 = 0, 5849;
w3,1 = 0, 8051; w4,1 = 0, 9464; w5,1 = 0, 9951; w6,1 = 0, 9464; w7,1 = 0, 8051; w8,1 = 0, 5849;
dan w9,1 = 0, 3075. Semua angka ini adalah nilai temperatur kawat di masing-masing mesh
points setelah selang waktu 0, 0005 detik.
Selanjutnya, hasil ini diumpankan lagi ke persamaan matriks yang sama untuk
mendapatkan wx,2

Perhitungan dengan cara seperti ini diulang-ulang sampai mencapai waktu maksimum. Jika
waktu maksimum adalah T = 0, 5 detik, berarti mesti dilakukan 1000 kali iterasi. Untuk
sampai 1000 kali, maka indeks j bergerak dari 1 sampai 1000. Dengan bantuan script Matlab,
proses perhitungan menjadi sangat singkat.

Script Forward-Difference

6
Script matlab Forward-Difference untuk menyelesaikan contoh masalah ini, dimana h = 0,1
dan k = 0,0005

Output

7
Tabel 1 memperlihatkan hasil perhitungan yang diulang-ulang hingga 1000 kali. Tabel
tersebut juga menunjukkan hasil perbandingan antara pemilihan nilai interval k = 0, 0005 dan
k = 0, 01. Tabel ini menginformasikan satu hal penting, yaitu pada saat interval k = 0, 0005,
forward-difference berhasil mencapai konvergensi yang sangat baik. Namun pada saat
interval k = 0.01, dengan jumlah iterasi hanya 50 kali untuk mencapai time maksimum 0, 5
detik, terlihat jelas hasil forward-difference tidak konvergen (Bandingkan kolom ke-4 dan
kolom ke-6!), dan ini dianggap bermasalah. Masalah ini bisa diatasi dengan metode
backward-difference.
Tabel 1: Hasil simulasi distribusi panas bergantung waktu dalam 1-dimensi. Kolom ke-2
adalah solusi analitik/exact, kolom ke-3 dan ke-5 adalah solusi numerik forward-
difference. Kolom ke-4 dan ke-6 adalah selisih antara solusi analitik dan numerik

2.2. Metode Backward-difference

8
Kalau kita ulang lagi pelajaran yang lalu tentang forward-difference, kita akan dapatkan
formula forward-difference adalah sebagai berikut (lihat persamaan (7)).

(13)
Sekarang, dengan sedikit modifikasi, formula backward-difference dinyatakan sebagai

(14)
Jika ditetapkan

maka backward-difference disederhanakan menjadi

(15)
coba sejenak anda bandingkan dengan formula forward-difference dalam sebagaimana
dinyatakan oleh persamaan (10)

Mari kita kembali ke contoh soal kita yang tadi, dimana ada perubahan nilai k yang semula k
= 0, 0005 menjadi k = 0, 01. Sementara dan h nilainya tetap. Maka dapat dihitung dengan
persamaan (9) kembali

Berdasarkan persamaan (15), sistem persamaan linear mengalami sedikit perubahan

9
Syarat batas masih sama, yaitu w0,j = w10,j = 0. Lalu jika dinyatakan dalam bentuk operasi
matrik

Persamaan matriks di atas dapat direpresentasikan sebagai

(16)
Perhitungan dimulai dari iterasi pertama, dimana j = 1

Dengan memasukan kondisi awal, ruas kanan menjadi

Berbeda dengan operasi matrik forward difference, operasi matrik backward


difference ini bukan perkalianmatrik biasa. Operasimatrik tersebut akan dipecahkan
olehmetode EliminasiGauss. Untuk jumlah iterasi hingga j = 50, perhitungannya dilakukan
dalam script Matlab.

10
Script Backward-Difference dengan Eliminasi Gauss

11
12
Output

Hasilnya menunjukkan bahwa kinerja metode backward-difference lebih baik


dibanding metode forward-difference, ini ditunjukkan dari selisih yang relatif kecil antara
solusi numerik dan solusi analitik, sebagaimana bisa terlihat dari kolom ke-4 pada tabel
berikut

Tabel 2: Hasil simulasi distribusi panas bergantungwaktu dalam1-dimensi denganmetode


backward-difference dimana k = 0, 01

13
BAB III
PENUTUP
3.1. Kesimpulan
1. Pada saat interval k = 0, 0005, forward-difference berhasil mencapai konvergensi
yang sangat baik. Namun pada saat interval k = 0.01, dengan jumlah iterasi hanya 50
kali untuk mencapai time maksimum 0, 5 detik, terlihat jelas hasil forward-difference
tidak konvergen
2. Kinerja metode backward-difference lebih baik dibanding metode forward-difference,
ini ditunjukkan dari selisih yang relatif kecil antara solusi numerik dan solusi nanalitik

14
DAFTAR PUSTAKA
Suparno supriyanto.2008. Komputasi Untuk Sains Dan Teknik-Dalam Matlab-.Jakarta:
Departemen Fisika-FMIPA, Univeristas Indonesia

15

Anda mungkin juga menyukai