• Tidak ada hasil yang ditemukan

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

N/A
N/A
Protected

Academic year: 2021

Membagikan "PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024"

Copied!
10
0
0

Teks penuh

(1)

 

Bahan Ajar 5:

Permasalahan Akar Suatu Fungsi

(Minggu ke-9 dan ke-10)

 

PEMROGRAMAN

DAN METODE NUMERIK

Semester 2/ 2 sks/ MFF 1024

Oleh

Dr. Fahrudin Nugroho

Dr. Iman Santosa

Didanai dengan dana BOPTN P3-UGM

Tahun Anggaran 2013

November 2013

UNIVERSITAS GADJAH MADA

PROGRAM STUDI FISIKA

(2)

BAB 6

Permasalahan Akar Fungsi

Pada bab 6 ini akan mulai dibahas mengenai suatu metode numerik yang didasarkan pada matematika diskret dan algoritma dan pemrograman yang telah dibahas pada bab yang telah lalu. Lebih lanjut akan disajikan pula suatu permasalahan fisis yang dapat diselesaikan melalui metode numerik yang dimaksud.

Topik yang akan disajikan pada bab ini adalah permasalahan akar fungsi yang merupakan permasalahan yang cukup fundamental dalam matematika. Suatu nilai disebut sebagai akar dari sebuah fungsi jika nilai tersebut menghasilkan luaran 0 (nol) saat dimasukan ke dalam fungsi yang dimaksud. Oleh karenanya permasalahan akar ini seringkali disebut sebagai pencarian titik nol. Untuk suatu fungsi linear maka nilai akar (titik nol) baginya dapat diperoleh dengan mudah, oleh karenanya dalam bab ini akan dibahas mengenai pencarian akar pada fungsi-fungsi yang tak linear. Banyak contoh fungsi yang tak linear dalam metematik diantaranya adalah fungsi polinom dan fungsi-fungsi trigonometrik. Untuk jenis fungsi-fungsi-fungsi-fungsi nonlinear tersebut terdapat beberapa metode numerik dapat digunakan untuk memperoleh nilai akarnya, berikut adalah beberapa metode yang dimaksud.

6.1 Metode Bisection

Metode bisection merupakan metode paling sederhana bagi penyelesaian akar fungsi tak linear pada suatu interval yang diketahui. Kelebihan dari metode ini adalah bisa digunakan bagi sembarang fungsi termasuk pada suatu fungsi-fungsi yang tidak bisa diselesaikan secara analitik. Berdasarkan namanya seseungguhnya kita bisa menebak secara intuitif maksud dari metode ini, yaitu jika pada suatu interval tertentu terdapat suatu akar dari fungsi maka interval tersebut dibagi menjadi dua interval baru. Lalu dapat

(3)

dipastikan diantara kedua interval yang terbentuk tersebut terdapat satu interval yang memuat akar (titik nol) fungsi.

Pertama asumsikan bahwa pada interval x = a dan x = c atau dapat dituliskan [a,c] dan terdapat satu buah akar bagi sebuah fungsi seperti ditunjukan gambar di atas (perhatikan panah biru pada gambar). Kemudian metode Bisection bekerja berdasarkan fakta bahwa tanda pada dua sisi yaitu kiri dan kanan titik nol adalah berlawanan, yaitu f(a) positif dan f(c) negatif. Maka langkah dalam metode Bisection untuk mendekati nilai akar adalah sebagai berikut:

1. Pertama membagi interval menjadi dua (Bisect) yaitu [a,b] dan [b, c] dimana b = (a + c)/2.

2. Mencari interval yang masih mengandung akar fungsi dengan cara melakukan perkalian antara f(a)f(b) dan f(b)f(c). Jika f(a)f(b) < 0 maka interval [a,b] mengandung akar fungsi. (lihat gambar 1).

3. Interval [a,b] dibagi menjadi dua lagi "di-Bisect" dan prosedur pencarian interval yang mengandung akar fungsi dilakukan secara berulang.

                                        Gambar 1: Ilustrasi pencarian titik nol dengan metode bisection.

                               

(4)

4. Pada setiap langkah titik tengah interval akan digunakan sebagai nilai pendekatan bagi akar fungsi yang dimaksud/dicari.

Setelah n langkah perulangan maka akan diperoleh

!!!!! , (6.1)

Nilai ini dapat digunakan untuk menentukan batas toleransi bagi program untuk melakukan iterasi sampai mencapai interval terkecil. Jika diberikan toleransi 𝜖 maka berlaku

𝜖≥ !!!!! , (6.2)    

atau dapat dituliskan sebagai

𝑛≥ ln  (!!!! ) , (6.3)  

Sebagai contoh jika interval awal adalah [0;1] dan 𝜖 = 0.0001 maka n = 14.

Quiz: Hitunglah akar fungsi berikut dengan menggunakan metode bisect pada interval [0, 2] dan toleransi 𝜖= 0. 01

𝑓 𝑥 =𝑒!2=0  ,        

 

Berikut ini adalah kode program yang berdasarkan pada metode Bisection untuk menyelesaikan permasalahan persamaan di atas.

#include <stdio.h> #include <math.h> double func(double x){ return exp(x) -2.0; } int main(void){

double leftpt, rightpt, midpt, epsilon = 0.0000001; double midvalue, rtvalue, root;

printf("\nEnter values for starting left and right points:\n");

(5)

scanf("%lf %lf", &leftpt, &rightpt);

printf(" Left and right starting points are: %lf , %lf\n", leftpt,rightpt);

do {

midpt = (leftpt + rightpt)/2; rtvalue = func(rightpt);

midvalue = func(midpt);

if (rtvalue * midvalue >= 0)

rightpt = midpt; else leftpt = midpt; } while ((rightpt - leftpt) > epsilon); root = (rightpt+leftpt)/2;

printf("\nRoot is: %15.10lf\n", root); return 0;

}

Ubahlah kode sumber di atas untuk mencari akar fungsi polynomial 𝑓 𝑥 = 𝑥!3𝑥!𝑥+3.

6.2 Metode Newton

Pada bagian sebelumnya telah dijelaskan mengenai suatu metode yang sangat sederhana penyelesaian numerik bagi permasalahan pencarian akar suatu fungsi. Pada bagian ini akan dijelaskan metode yang lain yaitu metode Newton atau yang dikenal pula dengan metode Newton-Raphson. Kelebihan dari metode ini adalah dapat digunakan untuk menyeleaikan permasalahan akar kompleks dan bahkan bisa diterapkan pada persamaan-persamaan nonlinear secara simultan. Akan tetapi ada satu titik kelemahan dalam metode ini yaitu diperlukan suatu titik tebakan awal bagi nilai akar dari suatu fungsi. Metode Newton dapat diperoleh dari deret Taylor sebagai berikut:

𝑓 𝑥 = 𝑓 𝑎 +ℎ𝑓! 𝑎 +!! !!𝑓 !! 𝑎 +!! !!𝑓 !!! ! +!! !!𝑓 ! (𝑎) (6.5)

(6)

Dimana h = x-a dan f’, f’’, adalah beturut-turut turunan pertama, kedua dan seterusnya dari fungsi f. Untuk suatu nilai tebakan x0 dan pendekatan dua suku pertama maka berlaku

𝑓 𝑥 =0= 𝑓 𝑥! + 𝑥−𝑥! 𝑓! 𝑥

! +𝑂(ℎ!) (6.6)

Dimana h = x - x0. Dengan menyelesaikan persamaan di atas maka dapat diperoleh

0= 𝑓 𝑥! + 𝑥−𝑥! 𝑓′(𝑥!) (6.7)

!!!

!! !! = 𝑥−𝑥! 𝑓′(𝑥!) (6.8)

𝑥=𝑥! −!!!!!!! (6.9)

Yang kemudian secara suksesif dapat diperoleh kaitan:

𝑥! =𝑥!!!−!!! !!!! (6.10) Dari uraian di atas maka sesungguhnya proses pencarian akar dengan metode Newton ini dapat diilustrasikan sebagai berikut

Suatu hal yang perlu diingat pada metode ini adalah diperlukan turunan bagi suatu fungsi yang ingin diketahui nilai akarnya menggunakan metode ini. Oleh karenanya tidak

                                                    Gambar 2: Ilustrasi pencarian titik nol dengan menggunakan metode Newton.

(7)

sembarang fungsi dapat diselesaikan, melainkan hanya fungsi yang mempunyai turunan yang kontinyu.

Quiz: Dengan menggunakan metode Newton carilah hasil akar pangkat tiga berikut 𝑥= ! 𝑎  

a untuk nilai a = 155.

Contoh lain program pencarian titik nol dengan metode Newton- Raphson

#include <stdio.h> #include <math.h>

float fung(float x); float dfung(float x);

int main(int argc, char * argv[]) {

float x0, x1, delta, tol; int i, imak;

imak = 20; tol= 1.0e-4;

printf("Berikan masukan nilai x0 = "); scanf("%f", &x0); printf("\n"); i = 0; do { i = i + 1; x1 = x0 - fung(x0)/dfung(x0); delta = x1 - x0; if (delta < 0) delta = -delta;

printf("Hasil iterasi ke-%d adalah %f\n", i, x1); x0 = x1;

(8)

} while ((delta > tol) && (i < imak)); printf("\nNilai akar = %f\n", x1); } float fung(float x) { return x*x*x-155; } float dfung(float x) { return 3*x*x; }

Berikut hasil luaran setelah program dijalankan

Berikan masukan nilai x0 = 4

Hasil iterasi ke-1 adalah 5.895833 Hasil iterasi ke-2 adalah 5.416902 Hasil iterasi ke-3 adalah 5.372062 Hasil iterasi ke-4 adalah 5.371686 Hasil iterasi ke-5 adalah 5.371686 Nilai akar = 5.371686

Perlu diketahui bahwa nilai tersebut merupakan nilai eksak bagi fungsi tersebut.

6.2.1 PR

Berikut disajikan permasalahan _sika terkait masalah Gravitasi: Dua buah benda bermassa m1 = 103 kg dan m2 = 3 x 105 kg mempunyai jarak 10 km. Di antara keduanya

diletakan benda lain dengan massa m3 = 10 kg. Dengan menggunakan metode Bisection

dan Newton tentukan posisi benda ketiga agar terjadi kesetimbangan gaya gravitasi padanya. Gunakanlah kode program yang telah ada pada catatan kuliah ini.

(9)

Setelah memahami metode Newton-Raphson di atas ikutilah peunjuk dibawah ini untuk bisa memahami metode yang sama pada orde yang lebih tinggi yaitu orde dua 1. Ubah program kode jika sistem yang ditinjau empat muatan listrik yang sejajar. 2. Bagaimana jika dicoba suatu nilai tebakan posisi tidak diantara kedua/empat muatan 3. Bagaimana pula jika nilai tebakan sangat dekat pada satu titik muatan?

4. Ubah kode program menggunakan metode Newton Raphson orde dua sebagai berikut: 𝑋!!! =𝑋! − !(!!)

!! !! !!!!!"(!!)

!!!(!!)

(6.11) bandingkan hasil ini dengan metode Newton Raphson orde 1.

(10)

Referensi

Dokumen terkait

Besar intensitas cahaya yang diterima oleh serat optik receiver akibat pantulan cahaya yang dihamburkan di dalam oli bergantung dari jarak, baik jarak sensor

Perlakuan konsentrasi pupuk daun gandasil D berbeda terhadap tinggi bibit, diameter batang, panjang akar tunggang, berat segar akar, berat kering akar, berat segar bibit

Berangkat dari beberapa pendapat para ahli menganai pengertian etos kerja di atas, maka dalam penelitian dapat ditarik sisntesis dari etos kerja adalah suatu sikap atau

tersumbatnya &lt;abang pembulu yg tersumbatnya &lt;abang pembulu yg menyalurkan dara ke jantung ole menyalurkan dara ke jantung ole gumpalan dara beku (trombus)

Role playing dapat digunakan untuk membantu seseorang mengeksplorasi hubungan seseorang dengan orang lain dan mendapatkan pemahaman yang lebih baik tentang berbagai

4.3.16 Banyaknya Perkara dan Terdakwa/Tertuduh yang Diselesaikan Pengadilan Negeri Dirinci Menurut Jenis Kelamin di Kabupaten. Badung Tahun 2011 ……….………

Teknik analisis dalam penelitian ini menghasilkan nilai indeks yang konsisten (IKS, IKJ dan IKH kurang dari atau sama de- ngan 100). Kondisi ideal distribusi raskin yaitu

Pada umumnya bukan darah utuh (whole blood) tetapi plasma ataupun serum yang digunakan untuk penentuan kadar obat. Serum diperoleh dengan membiarkan darah untuk menggumpal dan