Anda di halaman 1dari 13

LAPORAN PRAKTIKUM

PENCARIAN AKAR-AKAR DARI FUNGSI


Diajukan untuk Memenuhi Laporan Kegiatan Praktikum Fisika Komputasi

Disusun oleh :
Nama
NIM
Hari, Tanggal Praktikum
Asisten

: Ainun Nafisah
: 14/362786/PA/15831
: Senin, 21 Maret 2016
: Darosy Saiful Imam
: Haposan Trijaya
Jihan Ahmad A

LABORATORIUM FISIKA KOMPUTASI


DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2016

I.

PENDAHULUAN
Dalam permasalahan penyelesaian masalah tak linear, terutama permasalahan untuk
mencari nilai-nilai

dapat dianalisis menggunakan analisa eksperimental maupun teoritis.

Salah satu cara dari analisa teoritis adalah melakukan komputasi dengan metode numerik. Metode
numerik dalam komputasi dapat membantu dalam menyelesaikan permasalahan-permasalahan
yang rumit, yaitu secara aritmatika. Metode numerik sangat membantu setiap penyelesaian
permasalahan apabila secara matematis dapat dibentuk suatu pola hubungan antar
variabel/parameter. Hal ini akan menjadi lebih baik jika pola hubungan yang terbentuk dapat
dijabarkan dalam bentuk fungsi. Terdapat sejumlah metode numerik yang dapat digunakan untuk
menyelesaikan persamaan non-linear. Di antaranya adalah metode Newton-Raphson.
Metode Newton-Raphson (juga dikenal sebagai metode Newton) merupakan metode yang
paling dikenal untuk mencari hampiran terhadap akar fungsi riil dalam analisa metode numerik.
Metode Newton sering konvergen dengan cepat, terutama bila iterasi dimulai cukup dekat dengan
akar yang diinginkan. Namun bila iterasi dimulai jauh dari akar yang dicari dengan akar yang
diinginkan. Namun bila iterasi dimulai jauh dari akar yang dicari, metode ini dapat melesat tanpa
peringatan. Implementasi metode ini biasanya mendeteksi dan mengatasi kegagalan konvergensi.
II.

TUJUAN
a. Memahami metode penyelesaian akar fungsi Newton-Raphson
b. Mampu menentukan nilai akar dari persamaan fungsi dengan metode Newton-Raphson

I.

DASAR TEORI
Metode Newton-Raphson adalah sebuah metode yang ditemukan oleh Isaan Newton dan
Joseph Raphson melalui sebuah pendekatan yang menggunakan satu titik awal dan
mendekatinya dengan memperhatikan kemiringan kurva pada titik tersebut.

Gambar 2.1 Metode Newton-Raphson dalam bentuk grafik

Diasumsikan bahwa fungsi

f (x) adalah kontinu. Idenya adalah menghitung akar yang

merupakan titik potong antara sumbu

dengan garis singgung pada kurva di titik (

x n1 ; f ( x n1 ) . Kemiringan kurva di titik tersebut adalah


singgung mempunyai persamaan sebagai berikut
1

f ' ( x n1 ) , sehingga garis

yf ( x n1 ) =f ' ( x n1 ) ( xx n1 )
karena itu maka diperoleh akar perkiraan dengan mengambil sebuah nilai

y=0 , sehingga

akan menghasilkan sebuah persamaan baru

x n=( x n1 )

f ( x n1 )
f ' ( x n1 )

Algoritma metode Newton-Raphson:

III.

f (x) dan f ' (x)

1.

Definisikan fungsi

2.

Tentukan toleransi error e dan iterasi maksimum n

3.

Tentukan nilai pendekatan awal

4.

x
Hitung ( 0) dan f ' ( x0 )
f

5.

Untuk iterasi I = 1 s/d n atau

6.

Akar persamaan adalah nilai

x0

|f ( x i )|

x i yang terakhir diperoleh.

METODE PRAKTIKUM
a. Tata Laksana
1.
Diberikan suatu kasus dan dilakukan analisa
2.
Persamaan dan fungsi yang akan digunakan ditentukan
3.
Turunan dari persamaan dan fungsi diturunkan sekali (turunan pertama)
4.
Dilakukan pembuatan program berdasarkan soal dan persamaan yang telah
ditentukan pada program KWrite, agar dapat dilakukan perintah perhitungan
5.
Program yang telah dibuat di-compile, kemudian dilakukan running program

x
dengan memasukkan nilai tebakan awal ( 0) , kemudian hasil iterasi dari

6.
7.

nilai akar persamaan tersebut akan muncul


Dari persamaan yang telah ditentukan, dilakukan pembuatan grafik
Hasil dan data-data yang telah diperoleh dicatat dan disimpan

b. Rumus
1.
Kasus pertama
Diberikan fungsi

Turunan pertama fungsi :


2.

Kasus kedua
Dua partikel bermuatan

f ( x )=x 25 x+ 6
f ' ( x )=2 x 5
q1 =+3

Coulomb dan

q 2=+5

Coulomb terpisah

pada jarak 5 meter seperti nampak pada Gambar 4.1. Tentukan lokasi titik
di antara kedua muatan yang memiliki medan listrik
2

E=0 .

Gambar 4.1 Ilustrasi kasus kedua

Menggunakan rumus medan listrik, pada titik

P akan berlaku

E1E 2=0 ,

maka ditemukan persamaan:

1
3
1 5

=0
2
4 0 (5x ) 4 0 x 2

lalu diolah menjadi fungsi dan turunan fungsi:

f ( x )=
3.

3
5
2 =0
2
( 5x ) x

Kasus ketiga
Tentukan titik

'

f ( x )=

d f (x)
6
10
=
+ 3
3
dx
(5x) x

P yaitu titik di mana

E=0 ketika empat partikel

bermuatan dijejer sedemikian rupa sehingga posisi


seperti gambar 4.1. Adapun sebagai tambahan, ,

q1 dan

q 2 persis

q3 =+6 Coulomb

ditempatkan pada jarak 3 meter dari kiri

q1 dan q 4=2 Coulomb

ditempatkan pada jarak 1 meter di kanan

q2 .

Gambar 4.2 Ilustrasi kasus ketiga

Menggunakan rumus medan listrik, pada titik

P akan berlaku

maka ditemukan persamaan:

1
6
1
3
1 5
1
2
+

=0
2
2
2
4 0 (8x) 4 0 ( 5x ) 4 0 x 4 0 ( 1+ x )2

lalu diolah menjadi fungsi dan turunan pertama fungsi:

E1E 2=0 ,

f ( x )=

'

6
3
5
2
+
2
=0
2
2
( 8x ) ( 5x ) x ( 1+ x )2

f ( x )=

d f (x)
12
6
10
4
=
+
+ 3+
3
3
3
dx
( 8x ) (5x) x (1+ x)

c. Listing Rumus
1.
Kasus pertama
program titik_nol
implicit none
real :: x0, x1, delta, tol
integer :: i, imax
imax=20
tol=1.0e-4
write(*,*) "Berikan masukan nilai x0 = "
READ(*,*) x0
i=0
DO
i=i+1
x1=x0-fung (x0)/dfung(x0)
delta=x1-x0
write(*,*) "Akar iterasi ke ", i," adalah ",x1
IF ((ABS(delta) .LE. tol) .OR. (i .GE. imax)) EXIT
x0=x1
END DO
write(*,*) "Nilai akar = ", x1
contains
function fung(x)
real :: fung
real, intent(in) :: x
fung=x**2-x*5+6
end function fung
function dfung(x)
real :: dfung
real, intent(in) :: x
dfung=2*x-5
end function dfung
2.

end program titik_nol


Kasus kedua
program medan_listrik
implicit none
real :: x0, x1, delta, tol
integer :: i, imax
imax=20
tol=1.0e-4
4

write(*,*) "Berikan masukan nilai x0 = "


READ(*,*) x0
i=0
DO
i=i+1
x1=x0-fung (x0)/dfung(x0)
delta=x1-x0
write(*,*) "Akar iterasi ke ", i," adalah ",x1
IF ((ABS(delta) .LE. tol) .OR. (i .GE. imax)) EXIT
x0=x1
END DO
write(*,*) "Nilai akar = ", x1
contains
function fung(x)
real :: fung
real, intent(in) :: x
fung=3.0/(5.0-x)**2 - 5.0/x**2
end function fung
function dfung(x)
real :: dfung
real, intent(in) :: x
dfung=6.0/(5.0-x)**3 + 10.0/x**3
end function dfung
3.

end program medan_listrik


Kasus ketiga
program tugas
implicit none
real :: x0, x1, delta, tol
integer :: i, imax
imax=20
tol=1.0e-4
write(*,*) "Berikan masukan nilai x0 = "
READ(*,*) x0
i=0
DO
i=i+1
x1=x0-fung (x0)/dfung(x0)
delta=x1-x0
write(*,*) "Akar iterasi ke ", i," adalah ",x1
IF ((ABS(delta) .LE. tol) .OR. (i .GE. imax)) EXIT
x0=x1
END DO
write(*,*) "Nilai akar = ", x1
contains
5

function fung(x)
real :: fung
real, intent(in) :: x
fung=6.0/(8-x)**2 + 3/(5-x)**2 - 5/x**2 - 2/(x+1)**2
end function fung
function dfung(x)
real :: dfung
real, intent(in) :: x
dfung=12.0/(8-x)**3 + 6/(5-x)**3 + 10/x**3 + 4/(x+1)**3
end function dfung
end program tugas
IV.

HASIL PRAKTIKUM
a. Data
1.

Persamaan kasus pertama

f ( x )=x 25 x+ 6
2.

Persamaan kasus kedua

f ( x )=
3.

f ' ( x )=2 x 5

3
5
2
2
( 5x ) x

f ' ( x )=

6
10
+ 3
3
(5 x) x

Persamaan kasus ketiga

f ( x )=

6
3
5
2
+
2
2
2
( 8x ) ( 5x ) x ( 1+ x )2

f ' ( x )=

12
6
10
4
+
+ 3+
3
3
3
(8x) (5x ) x (1+ x )

b. Grafik

Gambar 5.1 Grafik plot persamaan fungsi kasus pertama

Gambar 5.2 Grafik plot persamaan fungsi kasus kedua

Gambar 5.3 Grafik plot persamaan fungsi kasus ketiga

c. Hasil Perhitungan
Persamaan Fungsi
2

f ( x )=x 5 x+ 6

V.

2.0 dan 3.0

3
5
2
2
( 5x ) x

2.817541635

6
3
5
2
+
2
2
2
( 8x ) ( 5x ) x ( 1+ x )2

2.744081446

f ( x )=
f ( x )=

Nilai Akar Fungsi

PEMBAHASAN
Pada praktikum Fisika Komputasi yang bertujuan untuk memahami metode penyelesaian
akar fungsi Newton-Raphson dan menentukan akar dari persamaan fungsi, diberikan tiga buah
kasus. Dalam penyelesaian masalah tersebut, hal yang perlu dilakukan adalah memahami maksud
dari masalah dengan menganalisa kasus tersebut. Setelah dianalisa, dilakukan penentuan fungsi
persamaan dan turunan pertama dari fungsi yang kemudian dapat digunakan dalam penyelesaian
kasus. Kasus tersebut akan diselesaikan dengan menggunakan komputasi, sehingga perlu
dilakukannya pembuatan program untuk mengolah fungsi-fungsi tersebut.
Program yang dibuat pada praktikum kali ini adalah dengan menggunakan bahasa fortran.
Dalam pembuatan program, hal yang pertama dilakukan adalah membuat nama program yang
diinginkan, lalu memasukkan batas iterasi dan toleransi yang diberikan, kemuadian memasukkan
nilai awal

(x 0)

dan langkah iterasi, selanjutnya dengan memasukkan rumus iterasi Newton-

Raphson, jika iterasi sudah konvergen atau mencapai iterasi maksimum maka iterasi dihentikan,
namun jika syarat tersebut belum dipenuhi maka iterasi dilanjutkan hingga memenuhi syarat. Lalu
hasil akar akan ditemukan.
Setelah program selesai dibuat, langkah selanjutnya adalah meng-compile program lalu
menjalankannya (run). Setelah program dijalankan, akan muncul perintah sesuai dengan apa yang
kita ketik saat listing program. Perintah tersebut meminta untuk memasukkan nilai tetapan awal
8

(x 0) , maka nilai tetapan awal dimasukkan, selanjutnya tekan enter, kemudian hasil dari iterasi
dan nilai akar fungsi yang dicari dapat ditemukan.
Dalam praktikum kali ini terdapat tiga kasus yang harus diselesaikan. Kasus pertama
diberikan sebuah fungsi oleh asisten praktikum yang kemudian fungsi tersebut diturunkan dan dilisting oleh praktikan. Setelah di-compile dan run program, dimasukkan nilai tebakan 1, 2.5, dan
4. Setelah ditekan enter, hasil akar fungsi yang ditunjukkan untuk nilai tebakan 1 adalah 2.0,
untuk nilai tebakan 2.5 adalah tidak terdefinisi, dan untuk nilai tebakan 4 adalah 3.0. Hasil tidak
terdefinisi pada nilai tebakan 2.5 dikarenakan program kebingungan akan nilai akar yang sama
jaraknya dengan nilai tebakan.
Selanjutnya diberikan sebuah kasus yang memerintahkan untuk mencari lokasi titik

yang terletak di antara dua partikel. Setelah dilakukan listing rumus dan menjalankan program,
maka didapatkan nilai akar fungsi 2.8175416 dengan memasukkan nilai tebakan 1.
Kasus ketiga memiliki persamaan yang mirip dengan kasus kedua namun titik P terletak
di antara empat titik yang berjejer linear. Praktikan melakukan listing rumus dan menjalankan
program, maka didapatkan nilai akar fungsi 2.7440815 untuk nilai tebakan 1.
Dari ketiga permasalahan tersebut apabila nilai

( x0 )

yang diambil terlalu tinggi, maka

hasil yang ditunjukkan semakin tidak akurat. Dalam penggunaan metode Newton-Raphson,
pemilihan nilai tebakan awal sangatlah penting. Jika pilihan tebakan awal tersebut dekat dengan
nilai akar, maka hasil yang ditunjukkan akan menampilkan hasil yang tepat. Namun apabila nilai
tebakan awal tersebut jauh dari nilai akar, maka proses menuju siklus yang tak berujung akan
menghasilkan nilai yang tidak akurat.
VI.

KESIMPULAN
Setelah dilakukan praktikum dan penyelesaian pada kasus yang diberikan, praktikan
dapat menyimpulkan bahwa:
a. Metode Newton-Raphson adalah sebuah metode yang ditemukan oleh Isaac Newton
melalui sebuah pendekatan yang menggunakan suatu titik awal dan mendekatinya dengan
memperhatikan kemiringan kurva pada titik tersebut.
b. Nilai-nilai akar yang didapat menggunakan metode Newton-Raphson adalah 2.0 dan 3.0
untuk fungsi

3
5
2
2
f ( x )=x 5 x+ 6 ; 2.8175416 untuk fungsi f ( x )=
2
( 5x ) x ; dan

2.7440815 untuk fungsi


VII.

f ( x )=

6
3
5
2
+
2
2
2
( 8x ) ( 5x ) x ( 1+ x )2 .

DAFTAR PUSTAKA
Nurwantoro, Pekik. 2015. Petunjuk Praktikum Fisika Komputasi. Yogyakarta : Universitas
Gadjah Mada.

VIII.

PENGESAHAN
Yogyakarta, 28 Maret 2016
Asisten I,

Asisten II,

Asisten III,
9

Praktikan,

Darosy Saiful Imam

Haposan Trijaya S

Jihan Ahmad A

Ainun Nafisah

LAMPIRAN
Konsole
atominti1@linux-4txn:~> cd Ainun_15831
atominti1@linux-4txn:~/Ainun_15831> kwrite
atominti1@linux-4txn:~/Ainun_15831> gfortran cariakar.f90 -o cariakar
atominti1@linux-4txn:~/Ainun_15831> ls
cariakar
luas.f90

contoh1

contoh1.f90~

deret20

deret.f90

glb

glb.f90~

cariakar.f90
luas.f90~

contoh1.f90

deret

deret20.f90

deret.f90~

glb.f90

luas

atominti1@linux-4txn:~/Ainun_15831> ./cariakar
Berikan masukan nilai x0 =
1
Akar iterasi ke

adalah

1.6666666

Akar iterasi ke

adalah

1.9333333

Akar iterasi ke

adalah

1.9960784

Akar iterasi ke

adalah

1.9999847

Akar iterasi ke

adalah

2.0000000

Nilai akar =

2.0000000

atominti1@linux-4txn:~/Ainun_15831> ./cariakar
Berikan masukan nilai x0 =
2
Akar iterasi ke
Nilai akar =

adalah

2.0000000

2.0000000

atominti1@linux-4txn:~/Ainun_15831> ./cariakar
Berikan masukan nilai x0 =
4
Akar iterasi ke

adalah

3.3333333

Akar iterasi ke

adalah

3.0666666

Akar iterasi ke

adalah

3.0039215

Akar iterasi ke

adalah

3.0000153

Akar iterasi ke

adalah

3.0000000
10

Nilai akar =

3.0000000

atominti1@linux-4txn:~/Ainun_15831> ./cariakar
Berikan masukan nilai x0 =
2.5
Akar iterasi ke

adalah

+Infinity

Akar iterasi ke

adalah

NaN

Akar iterasi ke

adalah

NaN

Akar iterasi ke

adalah

NaN

Akar iterasi ke

adalah

NaN

Akar iterasi ke

adalah

NaN

Akar iterasi ke

adalah

NaN

Akar iterasi ke

adalah

NaN

Akar iterasi ke

adalah

NaN

Akar iterasi ke

10

adalah

NaN

Akar iterasi ke

11

adalah

NaN

Akar iterasi ke

12

adalah

NaN

Akar iterasi ke

13

adalah

NaN

Akar iterasi ke

14

adalah

NaN

Akar iterasi ke

15

adalah

NaN

Akar iterasi ke

16

adalah

NaN

Akar iterasi ke

17

adalah

NaN

Akar iterasi ke

18

adalah

NaN

Akar iterasi ke

19

adalah

NaN

Akar iterasi ke

20

adalah

NaN

Nilai akar =

NaN

atominti1@linux-4txn:~/Ainun_15831> kwrite
atominti1@linux-4txn:~/Ainun_15831> gfortran medan_listrik.f90 -o medan_listrik
atominti1@linux-4txn:~/Ainun_15831> ./medan_listrik
Berikan masukan nilai x0 =
1
Akar iterasi ke

adalah

1.4767802

Akar iterasi ke

adalah

2.1093810

Akar iterasi ke

adalah

2.6913924

Akar iterasi ke

adalah

2.8186965

Akar iterasi ke

adalah

2.8175418
11

Akar iterasi ke
Nilai akar =

adalah

2.8175416

2.8175416

atominti1@linux-4txn:~/Ainun_15831> kwrite medan_listrik.f90


atominti1@linux-4txn:~/Ainun_15831> gfortran tugas.f90 -o tugas
atominti1@linux-4txn:~/Ainun_15831> ./tugas
Berikan masukan nilai x0 =
1
Akar iterasi ke

adalah

1.4883037

Akar iterasi ke

adalah

2.1201103

Akar iterasi ke

adalah

2.6448665

Akar iterasi ke

adalah

2.7441461

Akar iterasi ke

adalah

2.7440815

Nilai akar =

2.7440815

atominti1@linux-4txn:~/Ainun_15831>

12