Table Of ContentMetode Numerik untuk Teknik Mesin 2012
BAB I. PENGANTAR METODE NUMERIK
Metode numerik merupakan metode pemrosesan dari data numerik
(diskret) menjadi hasil numerik, dimana metode ini mampu menangani
sistem persamaan besar, ketidaklinearan dan kasus dengan geometri
yang komplek yang biasa dijumpai di kasus rekayasa dan seringkali
sulit untuk diselesaikan dengan cara analitis.
Analisa numerik dapat diartikan sebagai analisa mempergunakan
algoritma dari metode numerik.
Analisa numerik memunculkan dua sisi yang menarik yaitu dapat
menjadi :
IPTEK (science) : Bagian dari matematika dimana algoritma
yang dipakai dikembangkan dari
persamaan-persamaan matematika
tertentu.
Seni (art) : Berkaitan dengan penentuan cara terbaik
untuk menyelesaikan suatu persoalan
matematika.
Penyelesaian persoalan matematika dapat diselesaikan dengan cara
analitis (eksak), grafis dan numerik. Metode analitis mempunyai
keunggulan dalam hasilnya yang eksak, tetapi biasanya terbatas untuk
kemudahan penyelesaian pada masalah yang dengan asumsi linear
dan pada kasus geometri yang sederhana. Metode grafis bertujuan
untuk menggambarkan perilaku system dalam bentuk gambar atau
nomograf dengan keterbatasan hanya mampu maksimal menguraikan
masalah dengan menggunakan gambar tiga dimensi.
Jenis persoalan Matematika yang akan diselesaikan dengan cara
numerik dapat digolongkan sebagai berikut:
1. Akar-akar persamaan
2. Persamaan aljabar linear serentak
3. Interpolasi
4. Pencocokan kurva (curve fitting)
5. Persamaan differensial biasa
6. Persamaan differensial parsial
7. Integrasi Numerik
Penyelesaian suatu persoalan matematika dengan metode numerik
umumnya dapat diselesaikan dengan lebih dari satu metode sehingga
harus dipilih metode terbaik yang dapat menghasilkan penyelesaian
yang efisien dan efektif serta tidak menghasilkan error yang besar.
Cara memilih metode terbaik :
1. Mengetahui jenis-jenis metode yang ada
2. Mengetahui bagaimana metode-metode tersebut bekerja.
1
Metode Numerik untuk Teknik Mesin 2012
3. Mengetahui kelemahan dan kelebihan metode-metode.
4. Mempunyai faktor intuisi dan pengalaman dalam menerapkan
metode-metode di atas.
Dengan mempelajari metode numerik akan memberikan sarana
langsung dalam belajar pemrograman komputer. Dengan
perkembangan hardware dan software saat ini sangat mendukung
ketrampilan dalam memanfaatkan komputer sebagai alat bantu dalam
menyelesaikan kasus rekayasa di bidang teknik mesin. Dengan
memahami dan terbiasa dengan metode numerik akan memberikan
kemampuan lebih untuk merancang program sendiri tanpa harus
membeli program paket yang mahal. Beberapa bahasa program yang
umum digunakan adalah FORTRAN, PASCAL, DELPHI, VISUAL BASIC,
C++ dan banyak bahasa program lainnya.
Ciri-ciri pemrograman terstruktur harus mempunyai kriteria yaitu :
Benar
Mudah Difahami
Mudah Dimodifikasi
Salah satu yang menjadi kelemahan metode numerik adalah
munculnya galat atau error dikarenakan metode ini melibatkan suatu
pendekatan/aproksimasi hasil dari metode analitis.
Galat yang umum dijumpai meliputi :
1. Galat Sintaksis
Melanggar kaidah bahasa pemrograman
2. Galat waktu running
Terjadi selama eksekusi program
3. Galat logika
Kesalahan logika program
4. Galat pembulatan
Komputer hanya mampu mempertahankan sejumlah angka
tetap angka benar selama perhitungan.
Galat pembulatan merupakan galat yang paling sering dijumpai
terutama dalam perhitungan metode numerik secara manual untuk
latihan, quiz maupun ujian kuliah. Contoh pada bilangan-bilangan
seperti dan 5 tidak dapat diekspresikan sebagai sejumlah tetap
angka benar. Untuk itu yang harus diperhatikan dalam latihan metode
numerik adalah penggunaan yang konsisten jumlah angka di belakang
koma selama perhitungan.
Kontrol kualitas program numerik mencakup pekerjaan dalam :
1. DEBUGGING
Perbaikan galat yang diketahui
2. PENGUJIAN
Mendeteksi galat yang tidak diketahui
2
Metode Numerik untuk Teknik Mesin 2012
Berikut disajikan flowchart tahapan-tahapan dalam merancang dan
mengembangkan program yang berbasis metode numerik.
RANCANG BANGUN ALGORITMA
Pengembangan yang mendasari logika program
KOMPOSISI PROGRAM
Penulisan program dalam bahasa komputer
PENCARIAN DAN PENGUJIAN
Pemastian bahwa program bebas Galat dan andal
DOKUMENTASI
Membuat program mudah digunakan dan dipahami
PENYIMPANAN DAN PERAWATAN
Menyimpan program dan memperbaikinya sesuai
pengalaman dan kebutuhan pasar
3
Metode Numerik untuk Teknik Mesin 2012
BAB II. AKAR-AKAR PERSAMAAN
Penyelesaian kasus akar-akar persamaan dapat digolongkan menjadi
dua metode yaitu :
1. Metode pengurung (Bracketing Methods)
Mulai dengan terkaan awal yang mengurung atau memuat akar
dan kemudian secara bersistem mengurangi lebar kurungan.
Contoh : Bisection, Regula Falsi.
2. Metode terbuka (Open Methods)
Iterasi coba-coba yang sistematis.
Contoh : Newton Raphson, Secant.
2.1. Metode Bagi Dua (Bisection Methods)
x x
Perumusan mencari akar : x = n1 n
mid
2
Evaluasi : f (x ) = 0 |f (x )|
mid mid
y y = f(x)
f(x )
2
f(x )
mid
x
1
x
x x
mid 2
f(x )
1
Misal : Tentukan nilai nol dari suatu fungsi y = x3 - 7 x + 1
Pertama tentukan nilai awal untuk x dan x sehingga didapatkan f (x )
1 2 1
dan f (x ) yang berbeda tanda, yang berarti titik penyelesaian ada di
2
sekitar itu.
Buat tabel untuk mempermudah pembacaan prosesnya.
No x x f(x ) f(x ) x f(x )
1 2 1 2 mid mid
1 2,5 2,6 -0,875 0,376 2,55 -0,269
f(x ) dan f(x ) sama tanda x = x
1 mid 1 mid
2 2,55 2,6 -0,269 0,376 2,575 0,049
4
Metode Numerik untuk Teknik Mesin 2012
f(x ) dan f(x ) sama tanda x = x
2 mid 2 mid
3 2,55 2,575 -0,269 0,049 2,562 -0,117
f(x ) dan f(x ) sama tanda x = x
1 mid 1 mid
4 2,562 2,575 -0,117 0,049 2,568 -0,041
f(x ) dan f(x ) sama tanda x = x
1 mid 1 mid
5 2,568 2,575 -0,041 0,049 2,572 0,010
f(x ) dan f(x ) sama tanda x = x
2 mid 2 mid
6 2,568 2,572 -0,041 0,010 2,570 -0,015
f(x ) dan f(x ) sama tanda x = x
1 mid 1 mid
7 2,570 2,572 -0,041 0,010 2,571 -0,003
Sehingga salah satu akar yang dicari adalah 2,571.
Algoritma Metode Biseksi
START
Cari posisi akar f(xn) dan f(xn+1)
beda tanda
x x
Hitung x = n1 n , f (x )
mid mid
2
Ya A
x = x
f(xn), f(xmid) p n mid
f (x ) = f (x )
sama tanda ? an mid
k
Tidak a
h
x = x
n+1 mid
f (x ) = f (x )
n+1 mid
f (x ), f (x )
n mid
sama tanda
Tidak
A
|f (x )|
mid
p
a
Ya k
a
STOP
h
|f (x )|
mid
5
Metode Numerik untuk Teknik Mesin 2012
2.2. Metode Posisi Palsu (False Position Methods)
Berdasar interpolasi linear antara 2 harga f(x) yang
mempunyai tanda berbeda f(x ) . f(x ) < 0
1 2
Konvergensi yang dihasilkan cepat.
y
y = f(x)
f(x )
2
x1 x3 x4 x
x
2
f(x )
1
f(x ) dan f(x ) berbeda tanda berarti ada akar antara x dan x .
1 2 1 2
Perumusan mencari akar :
x x
x* = x – f(x ) n1 n
n n
f(xn1)f(xn)
Evaluasi suatu akar : | f(x*) |
Algoritma Metode Posisi Palsu = Algoritma Metode Biseksi hanya
x x
tinggal mengganti rumusan x = n1 n menjadi x* = x – f(x )
mid n n
2
x x
n1 n
f(xn1)f(xn)
No x x f(x ) f(x ) x* f(x*)
1 2 1 2
1 2,5 2,6 -0,875 0,376 2,57 -0,015
f(x ) dan f(x ) sama tanda x = x
1 mid 1 mid
2 2,57 2,6 -0,015 0,376 2,571 0,003
Sehingga salah satu akar yang dicari adalah 2,571. Terlihat dengan
metode ini hanya dibutuhkan 2 iterasi sehingga konvergensi lebih
cepat dibandingkan dengan metode biseksi.
6
Metode Numerik untuk Teknik Mesin 2012
2.3. Metode Newton
Tidak perlu mencari 2 harga f(x) yang mempunyai tanda
berbeda.
Konvergensi yang dihasilkan cepat.
Perlu menghitung turunan fungsi f’(x).
Kelemahan : - tidak selalu menemukan akar (divergen).
- kemungkinan mencari f’(x) sukar.
- Penetapan harga awal sulit.
Dari deret Taylor :
h2
f(x + h) = f(x ) + h f’(x ) + f’’(x) + …..
n n n
2
diabaikan
Jika x + h adalah akar f(x + h) = 0
n n
f(x )
0 = f(x ) + h f’(x ) h = - n
n n
f'(x )
n
Perumusan mencari akar :
f(x )
x = x + h = x - n
n+1 n n
f'(x )
n
Algoritma Metode Newton
START
START
Pilih X yang cocok
n
Cari x , f (x )
n+1 n+1
f(x )
x = x - n
n + 1 n
f'(x )
n
Tidak
|f (x )|
n + 1 x = x
n n+1
A
p
Ya a
k
STOP a
h
|f (x )|
n + 1
7
Metode Numerik untuk Teknik Mesin 2012
2.4. Metode Secant
Tidak perlu mencari 2 fungsi dengan tanda berbeda.
Kombinasi Metode Newton dan Metode Posisi Palsu.
Tanpa mencari turunan fungsi f’(x).
y y = f(x)
x x x x
0 1 3 2 x
E
B
A D
C
x dan x dipilih
0 1
x = x +
2 1
Segitiga ABC segitiga DEA
-f(x )f(x ) - f(x ) x x
0 1 = 1 = - f(x1) 1 0
x1 - x0 f(x1)f(x0)
x x
maka : x = x - f(x ) 1 0
2 1 1
f(x1)f(x0)
x x
Perumusan : x = x – f(x ) n n1
n+1 n n
f(xn)f(xn1)
Algoritma Metode Secant = Algoritma Metode Newton, hanya
tinggal mengganti rumusannya. Penggantian nilai dilakukan menurut
urutan yang ketat, dengan nilai baru x menggantikan x dan nilai x
n+1 n n
menggantikan x . Sehingga kadang dua nilai tersebut dapat pada
n-1
posisi yang sama kemungkinan divergen.
SUMMARY
JENIS KELEBIHAN KEKURANGAN
Metode Bisection - Selalu -Laju konvergen
pengurung Regula Falsi Konvergen lambat
Metode Newton-Raphson -Laju konvergen - Turunan harus
terbuka Secant cepat dicari secara
- Cukup satu analitis
terkaan awal - Bisa divergen
8
Metode Numerik untuk Teknik Mesin 2012
TUGAS :
Selesaikan dengan cara manual dan Buat program komputer dengan
menggunakan metode di atas dan Uji hasil program dengan
menyelesaikan fungsi sebagai berikut :
y = x4 + 3 x3 + 2 x2 + 5 x
Berikut listing program dengan menggunakan metode posisi palsu.
program posisi_palsu;
uses crt;
var
j,k,l,m,n,maxit,x1,x2,nb,na,xa,gmax : real;
function f( a,b,c,d,e,x :real):real;
begin
f:=a*sqr(sqr(x))+b*x*sqr(x)+c*sqr(x)+d*x+e;
end;
{prosedur pengisian data}
procedure data;
begin
clrscr;
writeln('Menghitung akar persamaan ');
writeln('f(x)=A x^4 + B x^3 + C x^2 + D x + E ');
writeln('dengan metode Posisi Palsu ');
writeln;
writeln;
write('Masukan nilai A = '); readln(j);
write('Masukan nilai B = '); readln(k);
write('Masukan nilai C = '); readln(l);
write('Masukan nilai D = '); readln(m);
write('Masukan nilai E = '); readln(n);
writeln;
write('Batas Error = '); readln(gmax);
write('Jumlah Iterasi Maks. = '); readln(maxit);
write('Nilai bawah = '); readln(nb);
write('Nilai atas = '); readln(na);
clrscr;
end;
{prosedur perhitungan posisi palsu}
procedure pospalsu;
var
iterasi : integer;
galat,uji : real;
x:real;
begin
writeln;
9
Metode Numerik untuk Teknik Mesin 2012
writeln('
==========================================');
write(' Iterasi ke-');write(' ');
write('Hasil');writeln;
write('
==========================================');
x1:=nb; x2:=na; iterasi:=0;
xa:=x1-((f(j,k,l,m,n,x1)*(x2-x1))/(f(j,k,l,m,n,x2)-f(j,k,l,m,n,x1)));
repeat
iterasi:=iterasi+1;
uji:=f(j,k,l,m,n,x1)*f(j,k,l,m,n,xa);
if uji= 0 then xa:=0
else if uji < 0 then
begin
x1:=nb; x2:=xa;
xa:=x1-((f(j,k,l,m,n,x1)*(x2-x1))/(f(j,k,l,m,n,x2)-
f(j,k,l,m,n,x1)));
writeln;write(' ');
write(iterasi);
write(' ',xa:3:5);
end
else if uji>0 then
begin
x1:=xa; x2:=na;
xa:=x1-((f(j,k,l,m,n,x1)*(x2-x1))/(f(j,k,l,m,n,x2)-
f(j,k,l,m,n,x1)));
writeln;write(' ');
write(iterasi);write(' ',xa:3:5);
end;
until (abs(f(j,k,l,m,n,xa))<=gmax) or (iterasi=maxit);
writeln;
writeln('
==========================================');
writeln;
writeln('Persamaan : ',j:2:2,'X^4 + (',k:2:2,')X^3 + (',l:2:2,')X^2 +
(',m:2:2,')X + (',n:2:2,')');
writeln('Jumlah Iterasi = ',iterasi,' Batas Error = ',gmax:3:5);
writeln('Batas Bawah = ',nb:3:2,' Batas Atas = ',na:3:2);writeln;
write('Salah satu akarnya adalah = ',xa:3:5);
end;
{prosedur / program utama}
begin
data;
pospalsu;
readln;
end.
10
Description:Pencocokan kurva (curve fitting). 5. Ciri-ciri pemrograman terstruktur harus mempunyai kriteria yaitu : Melanggar kaidah bahasa pemrograman. 2.