Modul Praktikum Metode Numerik PENDAHULUAN SCILAB 1. Struktur Scilab Program Scilab sudah memiliki text editor di dalamnya. Perintah/kode program Scilab dapat dituliskan di dalam window Scilab Execution (Scilex) ataupun di window Scipad (text editor Scilab). Namun untuk praktikum Metode Numerik ini, program dituliskan di dalam Scipad. 2. File Extension File program Scilab memiliki extension .sce. File ini masih dalam bentuk text format. Untuk mengeksekusi file .sce, pertama kali file tersebut dibuka di dalam Scilab. Kemudian dieksekusi (ctrl + l). 3. Perintah Scilab 3.1. Vektor Cara untuk membuat vektor dalam Scilab sbb : (vektor disebut juga dengan array satu dimensi) x =[ 0 ; 2 ; 5] 3.2. Matriks Cara untuk membuat matriks dalam Scilab sbb : (matriks disebut juga array dua dimensi) [ 1 −1 4 3 2 −3 4 5 5 ] perintahnya sbb : A=[ 134 ;−125 ; 4 −35] 3.3. Vector Otomatis 1 Lab Komputer Dasar
34
Embed
PENDAHULUAN SCILAB - · PDF fileModul Praktikum Metode Numerik Cara menciptakan vector secara otomatis dari 1 hingga 7 dengan faktor kenaikan sebesar 0.2 w = 1:0.2:7
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Modul Praktikum Metode Numerik
PENDAHULUAN SCILAB
1. Struktur Scilab
Program Scilab sudah memiliki text editor di dalamnya. Perintah/kode program Scilab dapat dituliskan
di dalam window Scilab Execution (Scilex) ataupun di window Scipad (text editor Scilab). Namun
untuk praktikum Metode Numerik ini, program dituliskan di dalam Scipad.
2. File Extension
File program Scilab memiliki extension .sce. File ini masih dalam bentuk text format. Untuk
mengeksekusi file .sce, pertama kali file tersebut dibuka di dalam Scilab. Kemudian dieksekusi (ctrl +
l).
3. Perintah Scilab
3.1. Vektor
Cara untuk membuat vektor dalam Scilab sbb : (vektor disebut juga dengan array satu dimensi)
x=[0 ;2 ;5]
3.2. Matriks
Cara untuk membuat matriks dalam Scilab sbb : (matriks disebut juga array dua dimensi)
[1−14
32−3
455]
perintahnya sbb :
A=[13 4 ;−1 25 ;4−35]
3.3. Vector Otomatis
1 Lab Komputer Dasar
Modul Praktikum Metode Numerik
Cara menciptakan vector secara otomatis dari 1 hingga 7 dengan faktor kenaikan sebesar 0.2
w = 1:0.2:7
3.4. Menjalankan Function pada Vector
Vektor dapat diberlakukan suatu function secara bersamaan dengan perintah :
z = sin(w)
3.5. Membuat Plot dari Vector
Dua vector z dan w dapat dibuat plot w versus z dengan perintah :
plot2d(w,z)
3.6. Matriks Bilangan Random
Cara membuat matriks m x n yang berisi bilangan random sbb :
rand(n,m)
3.7. Loops dan Condition
Looping dan condition di dalam Scilab sbb :
ans = 0; n = 1; term = 1;
while( ans + term ~= ans )
ans = ans + term;
term = term*x/n;
n = n + 1;
end
ans
kemudian dijalankan perintah sbb :
2 Lab Komputer Dasar
Modul Praktikum Metode Numerik
x = 1.0
exec(’ex.sci’)
Selain itu :
for j=4:2:6
disp(j**2)
end
Hasilnya adalah : 16, 4, 0, 4, 16, 36
3.8. Statement IF
Statement IF di dalam Scilab sbb :
if expression then
statements
else if expression then
statements
else
statements
end
3.9. Function
Contoh function pada Scilab :
function y = ex(x)
// EX A simple function to calculate exp(x)
y = 0; n = 1; term = 1;
while( y + term ~= y )
y = y + term;
term = term*x/n;
3 Lab Komputer Dasar
Modul Praktikum Metode Numerik
n = n + 1;
end
endfunction
cara menjalankan :
exec('ex.sci')
ex(1.0)
4 Lab Komputer Dasar
Modul Praktikum Metode Numerik
A. PENYELESAIAN AKARAKAR PERSAMAAN KARAKTERISTIK
Akarakar persamaan karakteristik adalah penyelesaian dari suatu persamaan polinomial. Polinomial
tersebut berorde (berpangkat) 2 atau lebih, biasa disebut dengan persamaan Non Linear. Untuk
persamaan orde 2 atau tiga masih mudah untuk menyelesaikan. Namun untuk persamaan berorde tinggi
diperlukan metode numerik untuk mempermudah pencarian akar persamaan tersebut.
Beberapa metode yang bisa digunakan akan dijelaskan di bawah ini :
1. METODE BISECTION
Metode Bisection digunakan untuk mencari akar persamaan non linear melalui proses iterasi dengan
persamaan :
X c=XaXb/2 ...(1.1)
dimana nilai f Xa. f Xb0 ...(1.2).
Kelemahan metode ini adalah :
1. Jika akar persamaan lebih dari satu, maka nilai tersebut hanya bisa ditemukan satu per
satu/tidak bisa sekaligus.
2. Tidak dapat mencari akar kompleks (imajiner).
3. Proses iterasi tergolong lambat.
Berikut algoritma penyelesaian Metode Bisection :
5 Lab Komputer Dasar
Modul Praktikum Metode Numerik
Langkah pertama, menentukan dua nilai x (Xa dan Xb) sebagai nilai awal perkiraan. Kedua nilai ini
harus memenuhi syarat persamaan 1.2
Langkah kedua, jika nilai awal telah didapatkan selanjutnya menentukan nilai x (misal Xc) baru
menggunakan persamaan 1.1
Langkah ketiga, mencari nilai f(Xc)
Langkah selanjutnya, melakukan langkah 2 dan 3 hingga didapatkan f(Xc) = 0 atau mendekati 0.
Contoh :
Carilah akar persamaan f x=x3−7x1
Langkah pertama, menentukan dua nilai x awal. Misal : Xa = 2.6 dan Xb = 2.5. Kemudian cek
apakah kedua nilai tersebut memenuhi syarat?
f(Xa) = f(2.6) = 2.63−72.61=0.376
f(Xb) = f(2.5) = 2.53−72.51=−0.875
Karena f(Xa).f(Xb) < 0 maka kedua nilai perkiraan di atas benar.
Langkah kedua, mencari nilai Xc
X c=XaXb/2 atau X c=2.62.5/2 = 2.55
dan
f X c=2.553−72.551=−0.2686
karena nilai f(Xc) negatif maka f(Xc) menggantikan f(Xb).
Langkah ketiga, mencari nilai Xd
6 Lab Komputer Dasar
Modul Praktikum Metode Numerik
Xd=2.62.55/2=2.575
dan
f Xd=2.5753−72.5751=−0.04886
Langkah keempat, mencari nilai Xe
Xe=2.62.575/2=2.5625
dan
f X e=2.56253−7 5.56251=−0.11108
Langkah berikutnya, ulangi langkahlangkah di atas hingga menemukan f(Xn) yang mendekati nol
atau f xn−1− f xne . Sedangkan e dapat ditentukan sendiri, misalnya E x10−5
Tugas Anda
1. Buatlah program implementasi dari algoritma di atas! Hasil program di atas f(x) tidak pernah
nol bulat (3,472 x 108) dengan x = 2.571201.
2. Seorang peneliti atom menemukan hubungan waktu luruh radioaktif (t) dengan energi (E) yang
dimiliki atom tersebut dengan suatu persamaan t=4E33E−2E2 . Berapakah energi
yang diperlukan untuk meluruh dalam waktu nol.
7 Lab Komputer Dasar
Modul Praktikum Metode Numerik
2. METODE NEWTON RAPHSON
Metode Newton Raphson juga digunakan untuk menyelesaikan persamaan non linear f(x). Rumus
penyelesaian
Xn1=Xn− f Xn/ f ' Xn ... 2a
Sedangkan persamaan non linear dapat diselesaikan jika memenuhi syarat sbb :
∣ f x1. f ' ' x1/ f ' x1. f ' x1∣ < 1 ... 2b
dimana X1 adalah titik awal yang ditentukan sebelum melakukan iterasi.
Keterbatasan dari metode ini adalah :
1. jika fungsi f(x) mempunyai beberapa titik penyelesaian, maka akarakar penyelesaian tersebut
tidak dapat dicari secara bersamaan.
2. Tidak dapat mencari akar imajiner(kompleks).
3. Tidak dapat mencari akar persamaan yang tidak memenuhi syarat persamaan 2b, meskipun
sebenarnya persamaan memiliki akar persamaan.
4. Untuk persamaan yang sangat kompleks, pencarian turunan pertama dan kedua sangatlah sulit.
Berikut algoritma Metode Newton Raphson :
1. Mencari turunan pertama dan kedua dari persamaan yang ada.
2. Menentukan nilai X1 sebagai nilai perkiraan awal dan kemudian mengecek apakah
memenuhi persyaratan persamaan 2b.
3. Jika memenuhi, maka iterasi dilakukan untuk mencari nilai Xn .
4. Begitu seterusnya hingga antara Xn−1−Xn = 0 atau <= nilai e (error). Nilai error ini dapat
ditentukan sendiri.
8 Lab Komputer Dasar
Modul Praktikum Metode Numerik
Contoh :
Carilah persamaan non linear di bawah ini dengan Metode Newton Raphson :
f x=ex−3x2
=0
Langkah pertama, mencari turunan persamaan tersebut
f ' x=ex−6x
f ' ' x=ex−6
Langkah kedua, menentukan nilai X1 , misalnya X1 = 1.
f(1) = e3−312=−0.281718
f'(1) = e3−61=−3.281718
f''(1) = e3−6=−3.281718
jadi
∣ f x1. f ' ' x1/ f ' x1. f ' x1∣=0.0858451
karena syarat dipenuhi maka proses iterasi dapat dilanjutkan.
Langkah ketiga, melakukan iterasi persamaan 2a untuk mencari Xn jika e (error) = E x10−7 .
x2=x1− f x1/ f ' x1=0.9141155
x1−x2=0.0858845
Langkah keempat, karena selisih x lebih besar dari e dan bukan 0 maka
x3=x2− f x2/ f ' x2=0.910018
x2−x3=0.0040975
dst. hingga selisihnya sama dengan nol atau lebih kecil dari e.
Tugas Anda
9 Lab Komputer Dasar
Modul Praktikum Metode Numerik
1. Buatlah program yang menerapkan algoritma di atas. Jika jawaban benar maka akar f(x) =
0.9100076 atau mendekatinya.
2. Seorang ekonom menemukan bahwa hubungan permintaan (x) dengan besar inflasi (y) adalah
y=x4−9x2
2x−2 . Tentukan jumlah permintaan yang menandakan bahwa inflasi sebesar
nol! (error = 0.01).
10 Lab Komputer Dasar
Modul Praktikum Metode Numerik
B. PENYELESAIAN PERSAMAAN LINEAR SERENTAK
Persamaan Linear serentak adalah suatu persamaan dengan variabel bebas, misalnya :
y1 = a11x1 + a12x2 + a13x3 +... + a1nxn
y2 = a21x1 + a22x2 + a23x3 +... + a2nxn
y2 = a31x1 + a32x2 + a33x3 +... + a3nxn
Penyelesaian dari persamaan tersebut bisa menggunakan bantuan matriks. Namun untuk ordo (jumlah
variabel dan jumlah persamaan) yang tinggi, penyelesaian dapat menggunakan nilai pendekatan. Oleh
sebab itu, metode numerik bisa digunakan untuk persamaan ini. Metode yang bisa dipakai akan
dijelaskan di bawah ini.
1. METODE JACOBI
Metode iterasi Jakobi adalah metode penyelesaian persamaan serentak melalui proses iterasi dengan
menggunakan persamaan sbb :
x1n1
=hi/aii−∑j=1
n
aij/aiix jn...3a
dimana j <> i
Kelemahan dari metode ini adalah :
1. Jika ordo persamaan cukup tinggi maka konsumsi waktu untuk eksekusi program menjadi lama.
2. Metode ini hanya bisa dipakai jika persamaan yang akan diselesaikan memenuhi syarat
persamaan berikut
∣aii∣∑j=1
n
∣aij∣, i=1,2,... ,N persamaan3b
11 Lab Komputer Dasar
Modul Praktikum Metode Numerik
dimana j <> I
Berikut algoritma Metode Jacobi
1. Cek apakah susunan persamaan yang akan diselesaikan memenuhi syarat persamaan 3b. Jika ya,
maka lanjut ke langkah kedua.
2. Menyusun matriks koefisien, matriks variabel, dan matriks hasil.
3. Langkah ketiga adalah menentukan titik variabel x awal kemudian melakukan iterasi dengan
persamaan 3a hingga didapatkan nilai variabel x yang tidak berubah atau hampir tidak berubah
dari iterasi yang sebelumnya.
Contoh :
Carilah penyelesaian dari persamaan sbb :
8x1x2x3=8
x1−7x22x3=−4
x12x29x3=12
Langkah pertama, menyusun urutan persamaan sehingga memenuhi persyaratan pada persamaan 3b.
Urutannya sebagai berikut :
persamaan 8x1x2x3=8 diletakkan pada posisi paling pertama dikarenakan koefisien a11
memiliki nilai paling besar. Kemudian posisi nomer dua adalah persamaan x1−7x22x3=−4
dikarenakan koefisien a22 memiliki nilai paling besar dari ketiga persamaan. Dan yang terakhir adalah
persamaan x12x29x3=12 .
Langkah kedua, menyusun matriks koefisien, matriks variabel dan matriks hasil.
matriks koefisien :
12 Lab Komputer Dasar
Modul Praktikum Metode Numerik
A=8111−72
−129
matriks variabel :
x=x1
x2
x3
matriks hasil :
h= 8−412 Langkah ketiga, menentukan titik awal variabel, misal diambil nilai awal dari x1, x2, x3 = 0.
Kemudian melakukan iterasi dengan persamaan 3a hingga nilai x1, x2, x3 tidak berubah. Contoh iterasi
pertama sbb :
x1=88− a12a11
x2a13
a11
x3x1=8/8−00=1
x2=−4−7
− a21a22x1
a23
a22
x3x2=0.571−00=0.571
x3=129
− a31
a33
x1a32a33
x2x3=1.333−00=1.333
setelah dilanjutkan hingga iterasi ke 8 maka hasil dari x1, x2, x3 semuanya adalah 1.
13 Lab Komputer Dasar
Modul Praktikum Metode Numerik
Tugas Anda
1. Buatlah program yang mengimplementasikan algoritma di atas.
2. Seorang peneliti melakukan penelitian mengenai lintasan elektron yang dipengaruhi oleh 3
faktor, katakanlah x, y, dan z. Hasil dari penelitian tersebut memberikan 3 buah persamaan sbb :
4x−10y6z=30
3x5y−7z=15
6x−8y6z=−8
Tugas Anda sebagai programmer adalah membantu peneliti tersebut dengan membuatkan
program untuk mencari nilai x, y, dan z. nilai error = 0.01 dengan menggunakan Metode Jacobi.
14 Lab Komputer Dasar
Modul Praktikum Metode Numerik
2. METODE GAUSS SEIDEL
Metode Gauss Seidel digunakan untuk menyelesaikan persamaan serentak. Metode ini lebih cepat
dibandingkan dengan Metode Jacobi. Metode Gauss Seidel ini menggunakan persamaan sbb :
xin1
=bi
aii−∑
j=1
i−1 aij
aii
x jn1
− ∑j=i1
N aij
aii
x jn persamaan 4.a
dimana :
i = 1, 2,...N
n = 1, 2, …
Algoritma Gauss Seidel, sbb :
1. Cek apakah susunan persamaan yang akan diselesaikan memenuhi syarat persamaan 4a. Jika ya,
maka lanjut ke langkah kedua.
2. Menyusun matriks koefisien, matriks variabel, dan matriks hasil.
3. Menentukan titik variabel x awal kemudian melakukan iterasi dengan persamaan 4a hingga
didapatkan nilai variabel x yang tidak berubah atau hampir tidak berubah dari iterasi yang
sebelumnya.
Contoh :
Carilah penyelesaian dari persamaan ini menggunakan metode Gauss Seidel :
8x1x2x3=8
x1−7x22x3=−4
x12x29x3=12
Langkah pertama, menyusun urutan persamaan sehingga memenuhi persyaratan pada persamaan 3b.
Urutannya sebagai berikut :
15 Lab Komputer Dasar
Modul Praktikum Metode Numerik
persamaan 8x1x2x3=8 diletakkan pada posisi paling pertama dikarenakan koefisien a11
memiliki nilai paling besar. Kemudian posisi nomer dua adalah persamaan x1−7x22x3=−4
dikarenakan koefisien a22 memiliki nilai paling besar dari ketiga persamaan. Dan yang terakhir adalah
persamaan x12x29x3=12 .
Langkah kedua, menyusun matriks koefisien, matriks variabel dan matriks hasil.
matriks koefisien :
A=8111−72
−129
matriks variabel :
x=x1
x2
x3
matriks hasil :
h= 8−412 Langkah ketiga, menetukan titik awal misalnya : x1
1 ,x21 ,x3
1=0 kemudian melakukan iterasi
dengan persamaan 4.a, yaitu :
x12=
h1
a11
−∑j=1
0 a1j
a11
x jn1−∑
j=2
3 a1ja11
x jn
x12=h1
a11
−0−a12
a11
x21a13
a11
x31
x12=1−0−00=1
16 Lab Komputer Dasar
Modul Praktikum Metode Numerik
x22=h2
a22
−∑j=1
1 a2j
a22
x jn1
−∑j=3
3 a2ja22
x jn
x22=h2
a22
−0−a21
a22
x12a23
a22
x31
x22=0.571−−1 /70=0.7147
x32=
h2
a22
−∑j=1
2 a3j
a33
x jn1−∑
j=4
3 a3ja33
x jn
x32=
h3
a33
−0−a31
a33
x12
a32
a33
x22
x32=1.333−2/90.714/9=1.032
Setelah dilanjutkan sampai iterasi keN ditemukan hasil dari x1 , x2 ,x3=1 .
Tugas Anda :
1. Buatlah implementasi program dengan Scilab pada persoalan di atas.
3. Seorang peneliti melakukan penelitian mengenai lintasan elektron yang dipengaruhi oleh 3
faktor, katakanlah x, y, dan z. Hasil dari penelitian tersebut memberikan 3 buah persamaan sbb :
4x−10y6z=30
3x5y−7z=15
6x−8y6z=−8
Tugas Anda sebagai programmer adalah membantu peneliti tersebut dengan membuatkan
program untuk mencari nilai x, y, dan z. nilai error = 0.01 menggunakan Metode Gauss Seidel.
17 Lab Komputer Dasar
Modul Praktikum Metode Numerik
C. PENYELESAIAN PERSAMAAN NON LINEAR SERENTAK
Persamaan Non Linear serentak adalah dua buah persamaan berordo(pangkat) lebih dari satu. Masing
masing persamaan memiliki kaitan sehingga penyelesaian persamaan satu dapat digunakan sebagai
penyelesaian dalam persamaan yang lainnya. Salah satu metode yang bisa digunakan untuk
menyelesaikan persamaan non linear serentak adalah Metode Newton Raphson.
METODE NEWTON RAPHSON
Metode Newton Raphson ini memiliki proses iterasi yang cepat. Namun hanya terbatas pada persamaan
berordo dua atau tiga. Untuk ordo yang lebih besar, persoalan akan menjadi kompleks dikarenakan ada
penghitungan determinan matriks ordo tinggi.
Algoritma Newton Raphson
1. Menyelesaikan 2 persamaan Non Linear serentak menjadi :
F x1 ,x2=0 dan Gx1 ,x2=0
2. Mencari nilai fungsi F x1 ,x2 dan Gx1 ,x2=0 dan turunan fungsi tersebut terhadap
masingmasing variabelnya, yaitu dF /dx1 , dF /dx2 ,dG/dx1 , dG/dx2 pada titik awal
yang ditentukan yaitu x10 dan x2
0 .
3. Mencari nilai r1 dan s1 ( r1 dan s1 adalah deviasi dari nilai x1 dan x2 ),
dengan aturan sbb :
r1=∣−F x1 , x2−Gx1 , x2
dF /dx2
dG/dx2∣
∣dF /dx1
dG /dx1
dF /dx2
dG/dx2∣
s1=∣dF /dx1
dG/dx1
−F x1 ,x2
−Gx1 , x2∣∣dF /dx1
dG/dx1
dF /dx2
dG /dx2∣
kemudian dengan pendekatan didapatkan
18 Lab Komputer Dasar
Modul Praktikum Metode Numerik
x11=x1
0r1
x21=x2
0s1
4. melakukan operasi iterasi dengan mengulang langkah kedua sampai didapatkan nilai r dan s nol
atau mendekati nol/error.
Contoh :
Carilah penyelesaian dari persamaan non linear serentak sbb :
x2 x1=12.6−x1e−x2
4lnx2x120.3=3x1x2
Penyelesaiannya adalah :
Langkah pertama, menyusun persamaan di atas menjadi bentuk
F x1 ,x2=0
Gx1 ,x2=0
yaitu :
F x1 ,x2=x1e−x2
−x2 x1−12.6=0
Gx1 ,x2=4lnx2x120.3−3x1x2
Langkah kedua, Mencari nilai fungsi dan turunannya pada x10 dan x2