You are on page 1of 11

I.

Perbandingan Metode Solusi Persamaan


1. Metode Bisection atau Metode Bagi Dua
1.1 List Program
#include<stdio.h>
#include<conio.h>
#include<math.h>
float f(float x)
{
float d;
d=(x*x*x)+(4*x*x)-10;
return d;
}
main()
{
float a,b,c,error,eps;
int i=1;
printf("\n\t\t\t\tMETODE BISECTION\n");
printf("\t\t\t\tMETODE BAGI DUA\n");
printf("\t\t\t\tx^3+4x^2-10=0\n\n");
printf("\tMasukkan batas atas persamaan(x1): ");scanf("%f",&a);
printf("\tMasukkan batas bawah persamaan (x2): ");scanf("%f",&b);
printf("\tMasukkan nilai toleransi: ");scanf("%f",&eps);
if(f(a)*f(b)>0)
printf("\tTidak ada akar di antara kedua batas persamaan\n");
else
{
printf("\n\ti\tx1\tx2\tx3\tf(x1)\tf(x2)\tf(x3)\terror\n");
do
{
c=(a+b)/2;
error=fabs(b-a);
printf("\t%d\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t%.3f\t
%.3f\n",i,a,b,c,f(a),f(b),f(c),error);
if(f(a)*f(b)<eps)
b=c;
else
a=c;
i++;
}
while(error>eps);
printf("\n\tSolusi akar-akar persamaan nirlanjar : %.3f\n",c);
printf("\tBanyaknya lelaran : %d\n",i-1);
}
getch();
return 0;
}

1.2 Tampilan Program


1.3 Analisa Program
Mencari solusi persamaan nirlanjar dengan metode ini diawali dengan menebak dua,
yaitu nilai atas (x1) dan nilai bawah (x2), dengan anggapan bahwa nilai akar yang dicari berada
di antara keduanya. Dengan menebak x1 sama dengan satu dan x2 sama dengan satu koma tujuh,
maka diperoleh solusi akar sama dengan 1,350. Jika batas-batasnya diubah, maka solusi akhir
juga akan berubah. Inilah yang menjadi kelemahan dari metode ini. Terlebih karena memiliki
banyak lelaran (iterasi) yang menyebabkan lambatnya konvergensi.
2. Metode Fixed-Point Iterasi atau Metode Lelaran Titik-Tetap 1
2.1 List Program
#include <stdio.h>
#include <math.h>
#include <conio.h>
float f(float x)
{
float d;
d=(x*x*x)+(4*x*x)-10 ;
return d;
}
float g(float x)
{
float d;
d= pow(10-(x*x*x),0.5)/2;
return d;
}
main()
{
float a,b,error,eps;
int i=1;
printf("\n\t\t\tMETODE FIXED-POINT ITERATION\n");
printf("\t\t\tMETODE LELARAN TITIK-TETAP\n");
printf("\t\t\tf(x)=x^3+4x^2-10\n");
printf("\t\t\tg(x)=(1/2(10-x^3))^1/2\n\n");
printf("\tMasukkan batas atas persamaan(x1): ");scanf("%f",&a);
printf("\tMasukkan nilai toleransi: ");scanf("%f",&eps);
printf("\n\ti\tx1\terror\n");
do
{
b=g(a);
error=(fabs(b-a)) ;
printf("\t%d\t%.3f\t%.5f\n",i,b,error);
a=b;
i++;
}
while(error>eps);
printf("\n\tSolusi akar-akar persamaan nirlanjar : %.3f\n",b);
printf("\tBanyaknya lelaran : %d\n",i-1);
getch();
return 0;
}
2.2 Tampilan Program

2.3 Analisa Program


Sebelum memulai program ini, terlebih dahulu kita harus memanipulasi persamaan f(x)
menjadi persamaan-persamaan baru (g(x)). Persamaan-persamaan baru ini dicoba dalam
program. Jika dicoba satu persatu, maka akan terdapat perbedaan jumlah lelaran (iterasi) yang
dihitung oleh program. Nilai kesalahan (error) daripada metode ini lebih kecil daripada metode
bagi dua. Pada salah satu persamaan yang digunakan dalam program terdapat sebelas lelaran.
3. Metode Fixed-Point Iterasi atau Metode Lelaran Titik-Tetap 2
3.1 List Program
#include <stdio.h>
#include <math.h>
#include <conio.h>
float f(float x)
{
float d;
d=(x*x*x)+(4*x*x)-10;
return d;
}
float g(float x)
{
float d;
d= pow(10/(4+x),0.5);
return d;
}
main()
{
float a,b,error,eps;
int i=1;
printf("\n\t\t\tMETODE FIXED-POINT ITERATION\n");
printf("\t\t\tMETODE LELARAN TITIK-TETAP\n");
printf("\t\t\tx^3+4x^2-10=0\n");
printf("\t\t\tg(x)=(10/(4+x))^1/2\n\n");
printf("\tMasukkan batas atas persamaan(x1): ");scanf("%f",&a);
printf("\tMasukkan nilai toleransi: ");scanf("%f",&eps);
printf("\n\ti\tx1\terror\n");
do
{
b=g(a);
error=(fabs(b-a)) ;
printf("\t%d\t%.3f\t%.5f\n",i,b,error);
a=b;
i++;
}
while(error>eps);
printf("\n\tSolusi akar-akar persamaan nirlanjar : %.3f\n",b);
printf("\tBanyaknya lelaran : %d\n",i-1);
getch();
return 0;
}

3.2 Tampilan Program


3.3 Analisa Program
Dengan mengganti manipulasi persamaan, program ini menghitung ada empat lelaran
solusi persamaan ini. Namun, mempunyai solusi akar yang sama, yaitu 1,365. Perbedaan
manipulasi persamaan utama menyebabkan perbedaan lelaran juga. Walaupun mempunyai
lelaran yang lebih sedikit, dalam program ini terlihat nilai kesalahan yang lebih besar daripada
program sebelumnya. Inilah yang menjadi bahan pertimbangan banyak orang dalam
menggunakan metode ini.
4. Metode Newton-Rhapson
4.1 List Program
#include <stdio.h>
#include <math.h>
#include <conio.h>
float f(float x)
{
float d;
d=(x*x*x)+(4*x*x)-10;
return d;
}
float df(float x)
{
float d;
d=(3*x*x)+(8*x);
return d;
}
main()
{
float a,b,error,eps;
int i=1;
printf("\n\t\t\tMETODE NEWTON-RHAPSON\n");
printf("\t\t\tf(x)=x^3+4x^2-10\n");
printf("\n\tMasukkan batas atas persamaan(x1): ");scanf("%f",&a);
printf("\tMasukkan nilai toleransi: ");scanf("%f",&eps);
printf("\n\ti\tx1\terror\n");
if(df(a)==0)
{
printf("Nilai turunan persamaan sama dengan nol\n");
printf("Tidak bisa melakukan perhitungan\n");
getch();
}
else
{
do
{
b=a-(f(a)/df(a));
error = fabs(b-a);
printf("\t%d\t%.3f\t%.5f\n",i,b,error);
a=b;
i++;
}
while(error>eps);
}
printf("\n\tSolusi akar-akar persamaan nirlanjar : %.3f\n",b);
printf("\tBanyaknya lelaran : %d\n",i-1);
getch();
return 0;
}

4.2 Tampilan Program

4.3 Analisa Program


Mencari solusi akar dengan menggunakan metode ini bisa dilakukan dengan cepat dan
mudah. Terlebih dengan nilai kesalahan yang sangat kecil. Jika dilihat pada tampilan program,
nilai kesalahannya adalah 0,00001. Sedangkan program-program sebelumnya mencapai 0,001;
0,00059; 0,00089. Sangat jauh perbandingannya, walaupun menghasilkan solusi yang sama,
yaitu 1.365, kecuali dengan metode bagi dua dengan hasil 1,350. Tidak heran banyak orang yang
menggunakan program ini. Selain tidak perlu menebak batas atas dan batas bawah, dengan
metode ini kita tidak perlu memanipulasi persamaan hingga beberapa kali. Cukup dengan
menurunkan persamaannya.

5. Tabel Perbandingan
No. Metode Solusi Iterasi Error
1 Bisection 1,350 11 0,001
2 Fixed-Point Iteration 1,365 11 0,00053
(i)
3 Fixed-Point Iteration 1,365 4 0,00089
(i)
4 Newton-Rhapson 1,365 4 0,00001

II. Ringkasan Analisa Semua Metode yang Digunakan


Ada 3 metode yang digunakan dalam praktikum kali ini, yaitu: metode bisection (bagi
dua), metode fixed-point iteration (lelaran titik-tetap), dan metode Newton-Rhapson. Metode
bisection atau metode bagi dua adalah metode yang paling sederhana. Diawali dengan menebak
dua nilai, dengan anggapan bahwa nilai akar yang dicari berada di antara kedua nilai tersebut.
Meskipun metode ini selalu berhasil menemukan akar, tetapi kecepatan konvergensinya lambat.
Konvergensinya lambat disebabkan oleh banyaknya lelaran (iterasi), dimana lelaran yang
disebabkan oleh kurangnya pendekatan nilai tebakan dengan nilai yang sebenarnya.
Metode yang kedua, metode lelaran titik-tetap, lebih teliti daripada metode bagidua.
Metode ini lebih rumit daripada metode bagidua. Syarat jalannya program adalah harus
menentukan atau memanipulasi persamaan menjadi persamaan yang lain. Walaupun solusi yang
dihasilkan akan sama, namun perbedaan bisa terjadi pada jumlah lelarannya, yang
mempengaruhi kecepatan konvergensi. Jika dilihat pada program di atas, semakin banyak
lelaran, semakin kecil nilai kesalahannya dalam mencari solusi. Memang, untuk permasalahan
yang mudah kita bisa menggunakan metode bagidua, tetapi untuk masalah yang lebih kompleks,
metode ini lebih baik.
Metode yang ketiga adalah metode Newton-Rhapson. Metode ini sangat banyak
digunakan dan disukai oleh para pengguna metode numeric. Pasalnya metode ini lebih cepat.
Jika dilihat dari program yang dijalankan di atas, program ini menghasilkan lelaran yang sangat
sedikit, konvergensi yang cepat, dan nilai kesalahan yang sangat kecil. Walaupun harus
menurunkan persamaan dalam mencari solusi akar, metode ini lebih efisien.

III. Tugas Tambahan : Metode Regula Falsi dan Metoda Secant


1. Metode False Position
Metode posisi palsu (false position), yang dalam bahasa Latin disebut regula falsi,
merupakan perbaikan bagi metode bagidua. Pada metode bagidua, nilai xc diperkirakan
dengan membagi interval di antara kedua nilai xb dan xa tanpa melihat besarnya nilai
f(xb) dan f(xa). Hal tersebut akan menyebabkan proses iterasi menjadi relatif banyak.
Berbeda dengan metode bagidua, metode posisi palsu akan menraik garis lurus pada
kedua interval sehingga memperbaiki perkiraan nilai xc. Oleh karena itu, metode ini juga
disebut metode interpolasi linear.

2. Metode Secant
Permasalahan yang muncul pada metode Newton-Rhapson adalah keharusan
untuk mencari turunan pertama dari fungsi yang dicari. Beberapa persoalan cukup sulit
untuk dapat menurunkan suatu persamaan. Keadaan tersebut dapat dihindari dengan
menggunakan metode secant. Secara umum, metode ini juga disebut sebagai modifikasi
dari metode Newton-Rhapson.

DAFTAR PUSTAKA
Bambang, Triatmodjo. 1992. Metode Numerik. Yogyakarta: Beta Offset.
Kristanto, Andri. 2009. Algoritma dan Pemrograman dengan C++. Yogyakarta: Graha
Ilmu.
Sasongko, Setia Budi. 2010. Metode Numerik dengan Scilab.Yogyakarta: Andi

IV. Kesimpulan

Tujuan dari praktikum yang berjudul “Solusi Persamaan Nirlanjar” ini adalah untuk
menemukan akar-akar persamaan dari persamaan aljabar nonlinier menggunakan metoda
Bisection, False Position, Fixed Point Iteration dan Newton. Dan juga untuk mengetahui
bagaimana menentukan konvergensi metode.
Setelah menyelesaikan program-program di atas, semua tujuan telah tercapai. Untuk
mencari solusi akar persamaan nonlinier, bisa dilakukan dengan metode-metode yang telah
dilakukan dalam praktikum. Konvergensi juga bisa diketahui dengan mengetahui banyaknya
lelaran setelah program dijalankan. Dapat disimpulkan bahwa metode-metode numeric dapat
menentukan akar persamaan nirlanjar.

You might also like