newton rapson dan tugas
DESCRIPTION
uyfuTRANSCRIPT
-
Akar Persamaan Nonlinier dengan Metode
Newton-Raphson
Pemrograman Komputer STTN BATAN
1. Pengenalan Metode Newton Rapshon
Suatu fungsi non linier (f(x)) dapat digambarkan seperti pada Gambar 1.
Gambar 1. Kurva Nonlinier
Dari Gambar 1 dapat dilihat bahwa fungsi f(x) merupakan fungsi nonlinier yang memiliki tiga
titik potong terhadap sumbu x yaitu titik A, B, dan C. Untuk menentukan titik potong fungsi
nonlinier (f(x)) terhadap sumbu x (misalnya titik A, B dan C) dapat dilakukan dengan
menggunakan metode Newton-Raphson. Metode ini memerlukan suatu titik awal sebagai
permulaan untuk mencari nilai titik potong terhadap sumbu x. Penentuan titik potong kurva
terhadap sumbu x sering disebut juga mencari nilai nol dari fungsi (f(x)=0) atau mencari nilai
akar-akar fungsi (Root finding problems). Langkah-langkah menemukan titik nol fungsi
dengan metode Newton-Raphson adalah sebagai berikut:
1. Tentukan terlebih dahulu titik awal pada sumbu x sebagai titik tebakan nilai kurva akan
memotong sumbu x. Titik ini disebut sebagai x0
2. Dari titik x0, hitung nilai f(x0). Titik f(x0) disebut sebagai y0.
3. Dari titik (x0,y0) dibuat garis singgung turunan fungsi f(x0) yaitu f(x0) pada titik
tersebut.
4. Cari nilai titik potong garis singgung f(x0) terhadap sumbu x. Titik potong f(x0)
terhadap sumbu x diambil sebagai titik x baru. Titik x baru ini disebut sebagai x1. 5.
5. Bandingkan nilai x0 dengan x1, apakah perbedaan antara x0 dengan x1 tersebut cukup
kecil?
a. Jika Tidak maka kembali ke langkah 2 dengan mengganti x0 dengan x1 dan
mengulangi prosedur perhitungan hingga langkah ke 5.
b. Jika Ya maka perhitungan selesai dan x baru yang diperoleh merupakan titik potong
kurva terhadap sumbu x atau merupakan nilai nol fungsi dari kurva tersebut.
Agar lebih jelasnya perhatikan ilustrasi secara grafis metode Newton-Raphson pada Gambar
2.
-
Gambar 2. Ilustrasi Metode Newton Rapshon
Garis merah merupakan proses dari x0 hingga diperoleh x1 baru. Saat x1 sudah diperoleh
dengan memotongkan garis singgung kurva pada x0 (f(x0)) maka prosedur yang sama
diulangi hingga diperoleh x2 dan x3 yang perbedaan nilainya semakin kecil atau letaknya
semakin dekat.
Gradien garis singgung kurva f(x) adalah turunan f(x) (f(x) yang didefinisikan secara
matematis sebagai berikut (untuk titik (x0,y0)):
( )
( ( ) )
( ) ( )
Persamaan (1) kemudian disusun ulang untuk memperoleh persamaan menghitung x1 sebagai
berikut :
( )
( ) ( )
Dari persamaan (2) dapat dilihat bahwa nilai x baru (x1) dapat dihitung berdasarkan nilai x
lama (x0). Secara umum persamaan (2) dapat juga dituliskan sebagai berikut :
( )
( ) ( )
Persamaan (3) merupakan definisi umum metode Newton-Raphson.
Untuk persamaan yang secara matematis sulit untuk diturunkan, maka dapat digunakan
pendekatan beda hingga untuk menghitung nilai f(xlama) sebagai berikut:
( )
( ) ( )
( )
2. Pemrograman Metode Newton Rapshon dengan Microsoft Excel Macro
Suatu persamaan nonlinier sebagai berikut :
( ) ( )
Ingin ditentukan akar-akar persamaan (5).
( ) ( )
Akar-akar persamaan (5) dapat ditentukan dengan menggunakan Metode Newton-Raphson
pada persamaan (3). Dari persamaan (3) diperlukan nilai turunan dari persamaan (5) sebagai
berikut :
( ) ( )
Algoritma perhitungan dengan Metode Newton Raphson adalah sebagai berikut:
1. Tentukan nilai titik awal xlama, misalnya xlama=3
2. Tentukan nilai toleransi/akurasi perhitungan, misalnya tolx=1.1010
-
Nilai toleransi/akurasi perhitungan diperlukan untuk meningkatkan ketepatan hasil
perhitungan atau untuk memperkecil perbedaan hasil perhitungan antara metode NR dengan
metode secara analitis. Semakin kecil nilai toleransi diberikan maka semakin akurat hasil
perhitungannya tetapi hal ini akan menyebabkan program semakin lama dalam menyelesaikan
permasalahan yang diberikan.
3. Hitung nilai f(xlama) dengan persamaan (5)
4. Hitung nilai turunan f(xlama) atau f(xlama) dengan persamaan (6)
5. Hitung nilai xbaru dengan persamaan (3)
6. Bandingkan nilai xlama dengan xbaru, Apakah nilai xlama-xbaru lebih kecil dari toleransi
yang diinginkan?
a. Jika TIDAK maka ulangi langkah 1, ambil xbaru sebagai xlama atau xlama=xbaru
b. Jika YA, maka lakukan langkah 6.
Langkah 5 akan memerlukan perhitungan yang berulang/looping calculation. Untuk
melakukan ini dapat digunakan perintah WHILE karena tidak ada keterangan berapa
kali perhitungan akan dilakukan/diulangi. Apabila banyaknya pengulangan
perhitungan sudah diketahui maka dapat digunakan perintah FOR.
7. Tampilkan hasil perhitungan
Alur diagram algoritma program dapat dilihat pada Gambar 3.
Mulai Program
Tentukan xlama dan tolx
Mulai perhitungan dengan while delx>=tolx
Hitung f(xlama)Hitung f(xlama)
Hitung xbaruHitung delx
Looping whiledelx>=tolx
Tampilkan Hasil
Selesai
Gambar 3. Algoritma Program Newton Rapshon
Dari algoritma tersebut jika ingi diselesaikan dengan program Microsoft Excel Macro
Penentuan titik awal dan data toleransi:
-
Selanjutnya algoritma yang telah dibuat diterjemahkan kedalam bahasa VBA pada microsoft
Excel
Sub Newton()
'Pendeklarasian Variabel
Dim xlama As Variant
Dim flama As Variant
Dim falama As Variant
Dim xbaru As Variant
Dim tolx As Variant
Dim delx As Variant
Dim iter As Integer
'Mendefinisikan alamat xlama, delx dan tolx sebagai tebakan awal
xlama = [B3].Value
delx = [B5].Value
iter = [B6].Value
'memulai langkah looping/perhitungan berulang NR
While ActiveCell.Offset(0, 5).Value >= tolx
[A9].End(xlDown).Offset(1, 0).Select
iter = ActiveCell.Offset(-1, 0).Value
'var iter digunakan untuk menghitung jumlah iterasi yang digunakan
iter = iter + 1
ActiveCell.Value = iter
'Perhitungan NR
flama = xlama ^ 3 + 3 * xlama ^ 2 + 3 * xlama + 1
falama = 3 * xlama ^ 2 + 6 * xlama + 3
xbaru = xlama - flama / falama
delx = Abs(xbaru - xlama)
'Untuk menampilkan setiap hasil perhitungan
ActiveCell.Offset(0, 1).Value = xlama
ActiveCell.Offset(0, 2).Value = xbaru
ActiveCell.Offset(0, 3).Value = flama
ActiveCell.Offset(0, 4).Value = falama
ActiveCell.Offset(0, 5).Value = delx
'perintah agar looping terjadi
xlama = xbaru
tolx = [B4].Value
Wend
[B7].Value = ActiveCell.Offset(0, 2)
[B7].Select
End Sub
-
Hasil Perhitungan
Dari hasil iterasi diatas dapat dilihat bahwa nilai nol fungsi/ akar persamaan (4) adalah
x= - 0,99999442
Secara analitis persamaan (5) dapat diselesaikan dengan pemfaktoran sebagai berikut:
( )
( )
Akar Persamaan -0,99999442
Iter xlama xbaru f(x) f'(x) delx
0 0 0 0 0 0
1 3 1,666666667 64 48 1,333333
2 1,666666667 0,777777778 18,96296 21,33333 0,888889
3 0,777777778 0,185185185 5,618656 9,481481 0,592593
4 0,185185185 -0,20987654 1,664787 4,213992 0,395062
5 -0,20987654 -0,47325103 0,49327 1,872885 0,263374
6 -0,47325103 -0,64883402 0,146154 0,832393 0,175583
7 -0,64883402 -0,76588935 0,043305 0,369953 0,117055
8 -0,76588935 -0,84392623 0,012831 0,164423 0,078037
9 -0,84392623 -0,89595082 0,003802 0,073077 0,052025
10 -0,89595082 -0,93063388 0,001126 0,032479 0,034683
11 -0,93063388 -0,95375592 0,000334 0,014435 0,023122
12 -0,95375592 -0,96917061 9,89E-05 0,006416 0,015415
13 -0,96917061 -0,97944708 2,93E-05 0,002851 0,010276
14 -0,97944708 -0,98629805 8,68E-06 0,001267 0,006851
15 -0,98629805 -0,99086537 2,57E-06 0,000563 0,004567
16 -0,99086537 -0,99391024 7,62E-07 0,00025 0,003045
17 -0,99391024 -0,99594016 2,26E-07 0,000111 0,00203
18 -0,99594016 -0,99729344 6,69E-08 4,94E-05 0,001353
19 -0,99729344 -0,99819563 1,98E-08 2,2E-05 0,000902
20 -0,99819563 -0,99879709 5,87E-09 9,77E-06 0,000601
21 -0,99879709 -0,99919806 1,74E-09 4,34E-06 0,000401
22 -0,99919806 -0,99946537 5,16E-10 1,93E-06 0,000267
23 -0,99946537 -0,99964358 1,53E-10 8,57E-07 0,000178
24 -0,99964358 -0,99976239 4,53E-11 3,81E-07 0,000119
25 -0,99976239 -0,99984159 1,34E-11 1,69E-07 7,92E-05
26 -0,99984159 -0,99989439 3,97E-12 7,53E-08 5,28E-05
27 -0,99989439 -0,9999296 1,18E-12 3,35E-08 3,52E-05
28 -0,9999296 -0,99995305 3,49E-13 1,49E-08 2,34E-05
29 -0,99995305 -0,99996877 1,04E-13 6,61E-09 1,57E-05
30 -0,99996877 -0,99997909 3,02E-14 2,93E-09 1,03E-05
31 -0,99997909 -0,9999862 9,33E-15 1,31E-09 7,11E-06
32 -0,9999862 -0,99999087 2,66E-15 5,71E-10 4,67E-06
33 -0,99999087 -0,99999442 8,88E-16 2,5E-10 3,55E-06
34 -0,99999442 -0,99999442 0 9,33E-11 0
-
sehingga secara analitis dapat diketahui bahwa akar persamaan tersebut adalah x= 1.
Perbedaan hasil secara analitis dan secara pemrograman/numeris disebabkan karena adanya
pendekatan yang digunakan sehingga memunculkan error. Nilai error ini dapat
diminimumkan apabila nilai toleransi yang digunakan lebih kecil.
-
TUGAS 11
PEMROGRAMAN
STTN BATAN
Campuran uap dengan fraksi mol benzene (A)=0.4 toluene (B)=0.3 dan ortho-xylene (C)=0,3
didinginkan pada tekanan tetap PT=76 cmHg. Ingin dicari pada suhu berapa (dalam K)
pengembunan terjadi. Sistem mengikuti hokum Raoult-Dalton. Harga tekanan uap murni
mengikuti persamaan :
(
) ( )
(
) ( )
(
) ( )
Dengan dalam cmHg dan T dalam K
Kesetimbangan Raoult-Dalton:
( )
Buatlah algoritma program dan program Matlab untuk menghitung suhu pengembunan yang
terjadi! Gunakan penyelesaian matematis berikut untuk memahami prosedur penyelesaian
masalah.
Penyelesaian Matematis
Suhu pengembunan dapat dihitung dengan menggunakan rumus sebagai berikut :
dengan i =A,B,C atau dapat dituliskan sebagai berikut:
( )
Dengan mengubah persamaan (4) menjadi sebagai berikut:
kemudian mensubstitusikan persamaan tersebut ke persamaan (5) maka diperoleh persamaan
sebagai berikut :
( )
Persamaan untuk mengambil persamaan (1) hingga (3). Persamaan (6) dapat diselesaikan
dengan bentuk sebagai berikut:
( )
( )
sehingga diperoleh suatu persamaan yang merupakan fungsi suhu. Persamaan (7) merupakan
pencarian nilai nol suatu fungsi atau tipe root finding problems yang dapat diselesaikan
dengan menggunakan metode Newton Raphson. Gunakan pendekatan beda hingga untuk
menghitung nilai turunan dari fungsi pada persamaan (7).
Ambil nilai parameter tebakan Tawal, akurasi/toleransi perhitungan serta nilai x untuk
pendekatan beda hingga yang sesuai!
Contoh Jawaban
390,2252
-
suhu pengembunan adalah 390.2252 K
Pengumpulan Tugas
1. Tugas dikumpulkan paling lambat tanggal : 11 Maret 2015
2. Tugas dikumpulkan dalam bentuk soft copy berupa:
a. diagram algoritma
b. copy kode VBA
c. hasil run
d. Microsoft Excel
3. Penulisan nama file softcopy (MS Excel) : Tugas1 Nama
4. Tuliskan pada subject email : Tugas1 Nama
Iter Tlama Tbaru f(T) f'(T) delT
0 0 0 0 0 0
1 300 318,4101 36,69715 -1,99331 18,41012
2 318,4101 338,3966 14,09702 -0,70533 19,9865
3 338,3966 358,8298 5,284494 -0,25862 20,43315
4 358,8298 376,6562 1,849414 -0,10375 17,82647
5 376,6562 387,2829 0,537479 -0,05058 10,62664
6 387,2829 390,0737 0,094825 -0,03398 2,790804
7 390,0737 390,2248 0,004642 -0,03071 0,151149
8 390,2248 390,2252 1,26E-05 -0,03055 0,000412
9 390,2252 390,2252 9,34E-11 -0,03055 3,06E-09
10 390,2252 390,2252 -8,9E-16 -0,03055 5,68E-14