LAPORAN PENELITIAN DANA HIBAH PENELITIAN S1 JURUSAN ILMU KOMPUTER DAN ELEKTRONIKA TAHUN ANGGARAN 2012
PENERAPAN METODE SECTON PADA PENYELESAIAN SISTEM PERSAMAAN NON LINIER Ketua Peneliti Nur Rokhman
JURUSAN ILMU KOMPUTER DAN ELEKTRONIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA
2012 i
HALAMAN PENGESAHAN LAPORAN PENELITIAN DANA HIBAH PENELITIAN S1 JIKE FMIPA UGM TAHUN ANGGARAN 2012 1.
Judul
: Penerapan metode Secton pada penyelesaian sistem persamaan non linier
2. 2.1
Ketua Peneliti Data Pribadi
a. b. c. d. e. f. g.
Nama Lengkap NIP Jenis Kelamin Golongan /Jab. Fungsional Fakultas/Jurusan Bidang Keilmuan Alamat kantor Telepon/Faks E-mail Handphone
h. 2.2
Alamat rumah
Penelitian Terakhir a. Judul Penelitian I
: Nur Rokhman, M.Kom : : Nur Rokhman, M.Kom : 197104161997021001 : Pria : IIIC / Lektor : MIPA/Ilmu Komputer dan Elektronika : Komputasi : Sekip Utara, Bulaksumur : (0274) 546194 :
[email protected] : 08121570063 : Jl. Prambanan Piyungan Km 7 No 7 Prambanan Yogyakarta : S2/ Lektor : Desain Pengolah Bahasa Alami untuk Ekstraksi Model Berbasis Pohon Keputusan
b.
Judul Penelitian II
: SECTON : A combination of Newton Method and Secant Method for solving non linear equations
3
Jangka Waktu Penelitian
: 6 (enam) bulan
4
Tempat penelitian
: JIKE FMIPA UGM : Biaya yang diajukan : Rp. 10.000.000,- (Sepuluh juta rupiah)
Pembiayaan Biaya Mengetahui
Yogyakarta, 22 Oktober 2012 Ketua Peneliti
Prof. Dr. Jazi Eko Istiyanto NIP. 196110181988031001
Nur Rokhman, M.Kom NIP 197104161997021001 Menyetujui Dekan FMIPA UGM
Drs. Pekik Nurwantoro, M.S., Ph.D NIP 196304221988031001
ii
KATA PENGANTAR
Alhamdulillah, puji dan syukur kami panjatkan kehadirat Allah SWT ayng telah memberikan rahmat dan karunia-Nya sehingga laporan penelitian ini dapat kami selesaikan. Penelitian dengan judul “Penerapan metode Secton pada penyelesaian sistem persamaan non linier” mendapat dukungan dana dari program Hibah Penelitian S1 Jurusan Ilmu Komputer dan Elektronika FMIPA UGM tahun anggaran 2012. Selama pelaksanaan penelitian sampai dengan penyusunan laporan ini kami mendapat bantuan dari berbagai pihak. Oleh karenanya pada kesempatan ini kami secara khusus mengucapkan banyak terima kasih kepada : 1. Dekan FMIPA UGM atas kesempatan yang diberikan kepada kami. 2. Ketua Jurusan Ilmu Komputer dan Elektronika atas dukungan selama ini Kami menyadari bahwa penelitian in masih banyak kekurangan. Oleh karenanya kritik dan saran sangat kami harapkan.
Yogyakarta, Oktober 2012
Nur Rokhman
iii
ABSTRAK
Suatu persamaan matematik pada hakekatnya merupakan model dari kejadian alam. Persamaan matematik menyajikan hubungan antar parameter-parameter yang mempengaruhi kejadian alam. Pada sebuah kejadian alam, umumnya digambarkan dengan sejumlah persamaan non linier yang berlaku sebagai sebuah kesatuan dalam bentuk sistem persamaan non linier. Penyelesaian terhadap model matematik selalu menjadi isu yang menarik. Sejumlah metode telah lama dikembangkan untuk hal ini, seperti metode Newton dan metode Secant. Kedua metode bekerja untuk sebuah persamaan non linier. Penerapan metode ini untuk penyelesaian sistem persamaan non linier juga telah dikembangkan. Metode Secton yang merupakan gabungan kedua metode ini juga telah dikembangkan dan dapat bekerja dengan baik dalam penentuan penyelesaian persamaan non linier.. Pada penelitian ini, metode Secton dapat digunakan penentuan penyelesaian sistem persamaan non linier. Sesuai dengan sifat metode ini, pada penyelesaian ini tidak diperlukan perumusan perumusan derivative fungsi-fungsi penyusun sistem persamaan non linier tersebut.
Kata kunci : Metode Newton, Metode Secant, Metode Secton
iv
DAFTAR ISI
Halaman sampul
………………………………………………………………
i
Halaman pengesahan
………………………………………………………………
ii
Kata pengantar
……………………………………………………………….
iii
Abstrak
………………………………………………………………
Daftar Isi
……………………………………………………………….
iv v
BAB I. PENDAHULUAN
1
I.1. Latar Belakang
……………………………………………………………….
1
I.2. Tujuan Penelitian
……………………………………………………………….
2
I.3. Manfaat Penelitian
……………………………………………………………….
2
I.4. Hipotesis
……………………………………………………………….
2
BAB II. TINJAUAN PUSTAKA
3
BAB III. LANDASAN TEORI
5
III.1.Penyelesaian persamaan non linier ………………………………………….
5
III.2.Penyelesaian numeric sistem persamaan non linier ………………………..
7
BAB IV. CARA PENELITIAN
10
BAB V. HASIL PENELITIAN DAN PEMBAHASAN
12
V.1. Pengembangan metode ……………………………………………………………. 12 V.2. Pengembangan algoritma……………………………………………………………. 13 V.3. Studi kasus
………………………………………………………………………… 15
V.4. Pembahasan …………………………………………………………………………. 17 BAB VI. KESIMPULAN
……………………………………………………………….
19
DAFTAR PUSTAKA
………………………………………………………………
20
LAMPIRAN
………………………………………………………………. 21
v
BAB I PENDAHULUAN
I.1. Latar belakang Sebuah persamaan matematik pada hakekatnya merupakan model dari suatu kejadian alam. Persamaan matematik menyajikan hubungan antar parameter-parameter yang mempengaruhi kejadian alam. Sebuah kejadian alam umumnya digambarkan dengan sejumlah persamaan non linier yang berlaku sebagai sebuah kesatuan dalam bentuk sistem persamaan non linier. Sistem persamaan non linier muncul pada berbagai permasalahan nyata di alam, seperti disajikan oleh Riza dkk (2011), Mohammadiun dan Kianifar (2011) dan Sumarni dan Purwanti (2009). Sebuah sistem persamaan non linier tersusun atas sejumlah persamaan non linier. Penyelesaian sistem persamaan ini adalah nilai dari variabel-variabel yang terlibat yang memenuhi tiap persamaan pembangun sistem. Penyelesaian terhadap permasalahan ini akan melibatkan pencarian seluruh penyelesaian dari persamaan-persamaan yang terlibat dalam sistem tersebut. Sejumlah
metode
penyelesaian
persamaan
non
linier
telah
dikembangkan, seperti metode bagi dua, metode Newton, metode secant dan lain sebagainya. Penyelesaian persamaan non linier dengan menggunakan metode Newton membutuhkan sebuah nilai tebakan awal dan rumusan derivative persamaan.
Pada metode secant, rumusan derivative persamaan
pada metode Newton didekati dengan gradient garis yang menghubungkan dua
1
buah titik tebakan yang berada pada persamaan non linier yang diselesaikan (Atkinson, 1998). Dengan cara ini maka pada metode secant dibutuhkan dua tebakan awal. Penyelesaian persamaan non linier dengan menggunakan metode Secton terbukti dapat mengambil kelebihan dari masing-masing metode Newton dan metode Secant. Pada metode secton hanya diperlukan sebuah tebakan awal dan tidak perlu rumusan derivative masing-masing persamaan non linier pembentuk sistem (Rokhman, 2011). Penyelesaian sistem persamaan non linier dikembangkan dari penyelesaian persamaan non linier.
I.2. Tujuan Penelitian Penelitian ini bertujuan membangun algoritma untuk penerapan metode Secton pada pencarian penyelesaian suatu sistem persamaan non linier.
I.3. Manfaat Penelitian Penelitian ini akan memberikan sebuah cara yang mudah dalam penyelesaian sistem persamaan non linier tanpa harus melakukan perumusan derivative fungsi penyusun sistem. Cara ini akan sangat berguna pada sistemsistem yang fungsi penyusunnya tidak dapat dinyatakan secara eksplisit dengan model matematik.
I.4. Hipotesis Penerapan metode Secton untuk penyelesaian persamaan non linier sudah dapat dilakukan. Mengingat sebuah persamaan non linier merupakan komponen dari suatu sistem persamaan non linier, maka kajian penerapan metode ini untuk sistem persamaan non linier akan dapat dilaksanakan.
2
BAB II TINJAUAN PUSTAKA Sistem persamaan non linier muncul pada berbagai permasalahan nyata di alam. Riza dkk (2011) meneliti tentang global warming dengan membuat pemodelan ilkim untuk mengetahui pengaruh gas rumah kaca terhadap pemanasan global. Selanjutnya diuji tingkat akurasi penyelesaian terhadap model iklim yang berbentuk sistem persamaan linier ini oleh Multiple-Equation Newton-Raphson dan Steepest Descent Method. Mohammadiun dan Kianifar (2011) meneliti tentang sistem perlindungan panas pada berbagai material. Untuk keperluan ini dibuat pemodelan numeric terhadap tingkat resesi dan distribusi panas. Selanjutnya dibuat penyelesaian atas sistem persamaan non linier yang terbentuk dengan manggunakan metode Newton-Raphson. Sumarni dan Purwanti (2009) menggunakan metode Newton-Raphson untuk menentukan konversi kesetimabngan dan suhu operasi pada reactor alir tangki berpengaduk. Penentuan hal ini sangat penting untuk memberikan harga reactor yang paling kecil. Penelitian tentang penyelesaian persamaan non linier sampai sekarang terus berkembang. Subash dan Sathya (2011) melakukan modifikasi terhadap metode Newton-Raphson dengan memasukkan unsur fuzzy. Dalam modifikasi ini, unsur fuzzy digunakan untuk menggantikan penghitungan derivatif. Melalui pendekatan ini dapat diselesaikan persamaan fuzzy dan persamaan aljabar yang berbentuk f(x) = 0.
3
Rokhman (2011) berhasil menggabungkan metode Newton dan metode Secant kedalam metode Secton. Melalui penggabungan ini, penyelesaian sebuah persamaan non linier dapat ditentukan dengan sebuah tebakan awal dan tanpa harus mencari rumus derivative persamaan tersebut. Abraham dan Gosan (2008) memandang permasalahan penyelesaian persamaan non linier ini sebagai masalah optimisasi multiobyektif. Setiap persamaan dalam sistem menyatakan sebuah fungsi obyektif yang bertujuan meminimalkan perbedaan antara suku sebelah kanan dan suku sebelah kiri. Nakaya dan Oishi (1998) menggunakan program linier untuk menemukan seluruh penyelesaian dari sistem persamaan non linier. Dalam metode ini, program linier dimanfaatkan untuk menghapus area-area yang tidak memuat penyelesaian.
4
BAB III LANDASAN TEORI
III.1. Penyelesaian persamaan non linier Penyelesaian sebuah persamaan f ( x ) 0
adalah perpotongan grafik
fungsi y f (x ) dengan sumbu X. Misalkan Assuming the initial value of the solution is x 0 , adalah sebuah nilai awal penyelesaian, maka penyelesaian yang lebih akurat dapat diperloleh melalui iterasi titik awal tersebut dengan menggunakan persamaan (1), yang dikemnal dengan metode Newton. Perhatikan Gambar 1.
x n 1 x n
f ( xn )
(1)
f ' ( xn )
Penggunaan metode Newton ternyata memunculkan masalah lain. Perumusan derivative pada beberapa fungsi ternyata sulit dilakukan. Seperti fungsi-fungsi hasil interpolasi numeric, polynomial Wilkinson, dan lain sebagainya. Metode Secant mengatasi hal ini melalui pendekatan terhadap nilai derivative f ' ( x n ) , yakni dengan menggunakan gradient garis singgung yang menghubungkan dua buah titik pada fungsi. Dengan cara demikian maka Metode Secant tidak memerlukan perumusan derivative, namun memerlukan dua buah titik awal. Pada Gambar 2, rumus iterasi Newton selanjutnya menjadi metode Secant (Persamaan 2).
x n 1 x n f ( x n )
x n x n 1 f ( x n ) f ( x n 1 )
(2)
5
x0 x1
Gambar 1. Metode Newton
x1 x2 x3
x0
Gambar 2. Metode Secant
Pengembangan metode Secton didasari pada kenyataan bahwa sebuah penyelesaian numeric selalu diperoleh dari iterasi tebakan awal. Iterasi akan dihentikan setelah mencapai toleransi error tertentu ( ), atau dinyatakan tidak ada penyelesaian setelah dilakukan sejumlah iterasi tidak mencapi toleransi error ( ) yang diinginkan. Ketetapan nilai toleransi error ( ) yang selalu ada dalam penyelesaian numeric dapat dimanfaatkan dalam perhitungan nilai derivative. Nilai derivative sebuah fungsi dihitung dengan mengunakan persamaan (3).
6
f ' ( x)
f ( x h) f ( x) h0 h lim
(3)
Untuk yang sangat kecil maka nilai derivative f (x ) pada x x n adalah
f ' ( xn )
f ( xn ) f ( xn )
(4)
Penerapan persamaan (4) ke dalam persamaan (1) menghasilkan metode Secton, seperti pada persamaan (5).
x n 1 x n f ( x n )
f ( xn ) f ( xn )
(5)
III.2. Penyelesaian numeric sistem persamaan non linier Sebuah sistem persamaan adalah sebuah sistem simultan yang terdiri atas sejumlah persamaan. Penyelesaian sebuah sistem persamaan adalah nilai tertentu atas variable-variabel yang memenuhi seluruh persamaan pembangun sistem tersebut. Berikut ini bentuk umum sistem persamaan atas dua variable.
(
Grafik
(
)
(
)
(6)
) adalah sebuah permukaan pada ruang xyz. Penyelesaian dari
(
)
(
) Perpotongan ini disebut “zero curve” dari
(
)
berada pada perpotongan bidang xy dan grafik dari
berada pada “zero curve “ dari ( Ambil (
persamaan
)
(6).
(
). Penyelesaian dari
) (Atkinson, 1998).
) sebagai tebakan awal untuk penyelesaian sistem Pendekatan
terhadap
menggunakan bidang singgung pada ( (
(
)
(
) (
)
penyelesaian (
(
)), yakni )
(
)
dibangun (
dengan
) dengan (7)
7
(
)
(
)
(
)
(
)
(
Cara yang sama dapat dilakukan untuk permukaan (
)
(
)
(
) (
(
(
) (
) (
)
(
)
(
). )
(8)
)
)
Penyelesaian dari sistem ini adalah perpotongan “zero curve” yang terbentuk. Bila (
)
dan (
)
(
)
(
)
(
)
(
)
akan menghasilkan
dan
, maka penyelesaian dari persamaan (
) (
(9) )
yang merupakan perbaikan dari tebakan
sebelumnya. Tebakan berikutnya menjadi :
Penyelesaian ini merupakan bentuk umum dari Metode Newton.
dengan
and
diperoleh dari solusi (
)
(
)
(
)
(
)
( (
)
(10)
)
8
BAB IV CARA PENELITIAN
Penelitian ini merupakan kelanjutan dari penelitian sebelumnya yang mengupas tentang metode Secton untuk penyelesaian persamaan non linier f(x) = 0. Sebuah sistem persamaan non linier terdiri atas sejumlah persamaan non linier sebagai sebuah kesatuan. Penyelesaian sistem persamaan non linier ini akan memenuhi seluruh persamaan linier pembangun sistem. Bertitik-tolak dari pengertian ini maka penelitian ini terdiri atas sejumlah tahapan : 1. Studi pustaka Pada langkah ini dipelajari bebagai metode terkait dengan penerapan metode Newton-Raphson dalam penyelesaian sistem persamaan non linier. Langkah ini akan menghasilkan pengetahuan tentang sejumlah varian metode Newton-Raphson berikut dengan motivasi yang melatarbelakanginya. 2. Pengembangan model Setelah mengetahui berbagai varian metode Newton-Raphson dan motivasi
pengembangannya,
maka
dikembangkan
metode
penyelesaian sistem persamaan non linier dengan menggunakan metode Secton. Pada tahap ini dikaji berbagai pendekatan numeric untuk pengembangan metode Secton. Hasil dari langkah ini adalah
9
sebuah algoritma penyelesaian sistem persamaan non linear dengan menggunakan metode secton. 3. Pembuatan program Pada tahap ini, dibuat program sesuai dengan algoritma yang telah dikembangkan pada tahap sebelumnya. Program dibuat dengan perangkat lunak matematis Scilab. 4. Pemilihan kasus Pada tahap ini dipilih sejumlah kasus yang akan diuji-cobakan pada program yang telah dibuat. Berbagai varian kasus akan digunakan. Dimulai dari kasus yang sederhana (dapat diselesaikan secara analitik) sampai dengan kasus nyata yang harus diselesaikan secara numeric. 5. Pengamatan unjuk kerja Pengamatan unjuk kerja program ditujukan untuk mengamati kebenaran program dan kecepatan program. Kebenaran program diuji melalui sejumlah kasus yang diselesaikan yang sudah diketahui penyelesaiannya. Kecepatan program diamati melalui variasi ukuran sistem yang diselesaikan. Disamping itu, kecepatan ini diukur melalui kompleksitas algoritma. Penyelesaian persamaan non linier f(x)=0 dengan menggunakan metode Secton dimotivasi oleh penghilangan rumusan derivative dari fungsi f(x). Disamping itu, pada metode ini hanya diperlukan sebuah tebakan awal (x0). Hal ini dilakukan melalui pemanfaatan komponen batasan ketelitian (ε) yang selalu
10
ada dalam setiap penyelesaian numerik dan x0 untuk penghitungan nilai derivative fungsi f(x) pada x = x0. Proses interpolasi dimaksudkan untuk menentukan fungsi yang melalui sejumlah titik kontrol. Gambar 3 memberikan ilustrasi penyelesaian persamaan non linier f(x)=0, dari fungsi hsail interpolasi.
Gambar 3 Skema penyelesaian f(x)= 0 menggunakan metode Secton Sebuah sistem persamaan non linier berderajat n terdiri atas n buah persamaan non linier F1(x1,x2,…, xn)=0, F2(x1,x2,…, xn)=0, …. Fn(x1,x2,…, xn)=0. Penyelesaian sistem persamaan non linier ini adalah X(x1,x2,…, xn) yang memenuhi n buah persamaan pembangun sistem. Dalam penelitian ini, skema penyelesaian pada Gambar 3 akan digeneralisir sehingga bersifat lebih umum yakni untuk sistem persamaan non linier.
11
BAB V HASIL PENELITIAN DAN PEMBAHASAN
V.1. Pengembangan metode Penyelesaian numeric sistem persamaan non linier dua variable (
)
(
)
(11)
diperoleh melalui iterasi
dengan
and
Penerapan
diperoleh dari solusi (
)
(
)
(
)
(
)
metode
penghitungan
(
),
Secton (
dalam
),
(
(
)
(
)
(
)
(
)
(
)
(
)
permasalahan
) and
(
(12)
ini
dilakukan dengan
), melalui rumus :
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
Penyelesaian untuk sistem persamaan non linier n variable dapat dikembangkan dengan mekanisme berikut. (
)
(
)
(13)
12
Selanjutnya didefinisikan [
] ,
tebakan awal dan tebakan ke i dinyatakan sebagai [
] dan
( ( )
[
]
) ] )
[ (
[
]
( ) [
( ) dapat diganti dengan
Melalui penerapan metode Secton, ( )
[
]
]
dimana (
)
sehingga persamaan (12) menjadi ( )
V.2.
( )
Pengembangan algoritma Berikut ini algoritma penyelesaian persamaan non liner n variable dengan
menggunakan metode Secton :
1) Siapkan vector X untuk menampung penyelesaian
[
] dan tentukan
tebakan awal
13
2) Siapkan vector F untuk menampung nilai fungsi ( )
(
)
(
] )
[
3) fungsi FX(i,x) adalah untuk menghitung nilai fungsi ke i dengan argument vector x. 4) Siapkan matrik DF untuk menampung nilai derivative
( ) [
]
5) Siapkan matrik INVDF untuk menampung invers matrik DF 6) Siapkan vector DX untuk menampung besar vector perubahan pada setiap iterasi [
]
7) Tentukan toleransi error tertentu (EPS) 8) Lakukan langkah berikut a. Dari i =1 sampai n kerjakan i. XX = X ii. XX[i] = XX[i]+eps iii. Dari j =1 sampai n kerjakan Hitung DF[i,j] = FX(j,XX)/eps b. Tentukan INVDF = invers dari matrik DF c. Hitung DX = -INVDF* F d. Perbaiki matrik XX = X + DX e. ERR=0 f.
Dari i = 1 sampai n kerjakan ERR=ERR+DX[i]*DX[i]
Sampai SQRT(ERR)<EPS
14
V.3.
Studi kasus Algoritma di atas selanjutnya digunakan untuk menyelesaiakan sistem
persamaan non linier 2 variabel berikut ini.
Program untuk keperluan ini dapat dilihat pada Lampiran 1. Nilai tebakan awal digunakan (1,-1). Iterasi terhadap titik ini 10 kali dapat dilihat pada Tabel 1. Luaran program dapat dilihat pada Gambar 4. Tabel 2 menunjukkan capaian seluruh penyelesaian dengan menggunakan berbagai tebakan awal dengan tingkat ketelitian ε=1x10-15.
Tabel 1. Iterasi penyelesaian sistem persamaan non linier iterasi
x
y
0
1
-1
1
1.1467
-1.4678
2
1.1882
-1.3994
3
1.2015
-1.3763
4
1.2030
-1.3743
5
1.2032
-1.3741
6
1.2032
-1.3741
7
1.2032
-1.3741
8
1.2032
-1.3741
9
1.2032
-1.3741
10
1.2032
-1.3741
15
Tabel 2. Penyelesian sistem persamaan non linier No
Tebakan awal
Banyak iterasi
penyelesaian
1
(10,10)
24
(2.137217, 1.052652)
2
(10,-10)
20
(1.203167, -1.374081)
3
(-10,10)
23
(-2.137217, 1.052652)
4
(-10,-10)
21
(-1.203167, -1.374081
Gambar 4 Hasil eksekusi program
16
V.4.
Pembahasan Sebuah sistem persamaan non linier derajat n terdiri atas n buah fungsi
non linier atas variable sebanyak n. Melalui generalisasi metode Newton, penyelesaian sistem persamaan non linier ini akan melibatkan pencarian derivative parsial fungsi sebanyak n2. Hal ini akan memberikan kesulitan tersendiri. Sebuah
penyelesaian
numeric
lebih focus pada
nilai-nilai
yang
diiterasikan, bukan pada ekspresi fungsi yang terlibat. Penerapan metode Secton menjadikan proses yang terjadi lebih focus pada besaran nilai yang diolah, bukan pada rumusan fungsi. Pada penelitian ini dicoba untuk menentukan penyelesaian dari sistem persamaan non linier :
Secara analitik sistem persamaan non linier ini dapat diselesaikan dengan cara di bawah ini.
------
17
(
√
)
√
√
------
Untuk (
)
atau Penyelesaian (
) dan (
)
Untuk (
)
atau Penyelesaian (
) dan (
)
18
BAB V KESIMPULAN
1. Telah dapat diterapkan metode Secton pada penyelesaian sistem persamaan non linier. 2. Penerapan metode secton meniadakan perlunya proses derivative fungsi penyusun sistem persamaan non linier.
19
DAFTAR PUSTAKA Grosan, C. dan Abraham, A., 2008, “A New Approach for Solving Nonlinear Equations Systems”, IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 38, NO. 3, MAY 2008 Mohammadiun, H. dan Kianifar, A., 2011, “Numerical Modeling of Non-Charring Material Ablation with Considering Chemical Reaction Effects, Mass Transfer and Surface Heat Transfer”, European Journal of Scientific Research, ISSN 1450216X Vol.54 No.3 (2011), pp.435-447. Nakaya, Y. dan Oishi, S., 1998, “Finding All Solutions of Nonlinear Systems of Equations Using Linear Programming with Guaranteed Accuracy”, Journal of Universal Computer Science, vol. 4, no. 2 (1998), 171-177 Rahman, NHA, Ibrahim, A., dan, Jayes, MI., 2011, “Newton Homotopy Solution for Nonlinear Equations Using Maple14”, Journal of Science and Technology | ISSN 2229-8460 | Vol. 3 No. 2 December 2011 Riza, R., Ariwahjoedi, B., dan Sulaiman, S.A., 2011, “On the Numerical Exploration of Zero-Dimensional Greenhouse Model using Newton-Raphson and Steepest Descent Methods”, International Journal of Environmental Science and Development, Vol. 2, No. 3, June 2011. Rokhman, N., 2011, “SECTON : A combination of Newton Method and Secant Method for solving non linear equations”, Proceeding SNATI 2011. Subash, R. dan Sathya, S., 2011, “Numerical Solution of Fuzzy Modified Newton-RAphson Method for Solving Nonlinear Equations”, International Journal of Current Research, Vol. 3, Issue, 11, pp.390-392, October, 2011 Sumarni dan Purwanti, A., 2009, “Pemanfaatan Metoda Newton-RAphson dalam Perancangan Reaktor Alir Tangki Berpengaduk”, Jurnal Teknologi, Volume 2 Nomor 2 , Desember 2009, 185- 193. Subash, R., and Sathya, S., 2011, “Numerical Solution of Fuzzy Modified Newton-Raphson Method for solving nonlinear equations”, International Journal of Current Research, Vol. 3, Issue, 11, pp.390-392
20
LAMPIRAN Kode program penyelesian sistem persamaan non linier
#include
#include #include<string> #include #include #include #include #include<map> using namespace std; typedef struct{ vector coef; string var; vector pwr; }ff; vector fungsi; maptebakan; int n; const double eps=1e-15; double A[100][100]; double b[100]; double x[100]; bool singuler; double pangkat(double c,int d){ //c pangkat d double hasil=1; for (int l=0;l
21
for (int k=0;k<(int)funct.var.size();k++){ if (funct.var[k]==variabel) sum += funct.coef[k]*pangkat(nilai,funct.pwr[k]); else if (funct.var[k]==' ') sum += funct.coef[k]; } return sum; } double df(char variabel, ff funct, double tebak){ //diferensialterhadapsuatuvariabel double satu = f(variabel,funct,tebak+eps); double dua = f(variabel,funct,tebak); return (satu-dua)/eps; //f(x+eps)-f(x)/eps } void gauss(){ for (int p=0;pabs(A[max][p])) max = i; } for (int i=0;ieps){ for (int i=p+1;i=0;i--){ double sum=0; for (int j=i+1;j
22
// x^2+4y^2+9 = 0 data.coef.push_back(1); data.var = "x"; data.pwr.push_back(2); //x^2 data.coef.push_back(4); data.var += "y"; data.pwr.push_back(2); //4y^2 data.coef.push_back(-9); data.var += " "; data.pwr.push_back(0); //-9 fungsi.push_back(data); // 18y-14x^2+45 = 0 data1.coef.push_back(18); data1.var = "y"; data1.pwr.push_back(1); //18y data1.coef.push_back(-14); data1.var += "x"; data1.pwr.push_back(2); //-14x^2 data1.coef.push_back(45); data1.var += " "; data1.pwr.push_back(0); //45 fungsi.push_back(data1); tebakan['x'] = 10; tebakan['y'] = 10; int ii = 0; double error=0; do{ ++ii; printf("\n"); for (int i=0;i::iterator it=tebakan.begin();it!=tebakan.end();it++){ A[i][j] = df(it->first,fungsi[i],(double)it->second); //mengisimatriksA j++; } } for (int i=0;i::iterator it=tebakan.begin();it!=tebakan.end();it++)
23
{ char u=it->first; double v=it->second; tebakan[u]=v+x[i++]; error+=(tebakan[u]-v)*(tebakan[u]-v); printf("%c[%d] = %lf\n",u,ii+1,tebakan[u]); //cetaknilai } error=sqrt(error); printf("Error[%d] = %le\n",ii,error); //cetakerror }else printf("Matriks singuler\n"); }while (error>eps); return 0; }
24