Вы находитесь на странице: 1из 2

Praktikum #03 Komputasi Geosika Pemrograman Lanjut

Andri Hendriyana 3 - 6 Oktober 2011

Metode Bisection

gram bermanfaat jika di masa depan nanti program yang sudah dibuat akan dikembangkan lagi baik oleh pembuat program sendiri maupun orang lain. Contoh owchart untuk metode bisection ini diperlihatkan oleh Gambar 2.

Gambar 1: Ilustrasi metode bisection. x pembuat f (x) = 0 disebut akar-akar persamaan polinomial. Salah satu metode numerik untuk mencari akar-akar ini adalah metode bisection. Algoritma metode ini sangat sederhana dilakukan dengan cara: Gambar 2: Flowchart bisection 1. Tentukan batas bawah (xl ) dan atas (xu ) sedemikian rupa sehingga akar persamaan terletak diantara kedua Flowchart tersebut jika diterjemahkan kedalam bahasa batas ini. pemrograman, maka (diantaranya) menjadi, function [m]=bisection(xl,xu,epsilon,f) % xl = batas bawah % xu = batas atas % epsilon = toleranced error % f = fungsi polinomial ....... xl + xu m= . (1) while nilai > epsilon 2 m=(xl+xu)/2; if (f(m)*f(xl)) < 0 3. Hitunglah f (xl )f (m). Jika hasilnya lebih kecil dari 0 ......; atau f (xl ) dan f (xu ) memiliki tanda yang berbeda, daelse pat dipastikan bahwa akar persamaan terletak pada in......; terval [xl , m] sehingga xu = m (xl masih tetap). Jika end hasil perkaliannya positif, maka batas bawah yang dinilai=.....; geser sehingga xl = m. end 4. Tidak seperti pada metode analitik, pada metode nu- end merik asalkan nilai f (x) 0 misalnya f (x) = dan merupakan bilangan yang sangat kecil, maka x dapat Program utama yang memanggil fungsi di atas dapat berupa, diterima sebagai akar persamaan. clear,clc 5. Jadi perhitungan menentukan batas baru m terus di- % Program menghitung akar persamaan % menggunakan metode bisection lakukan (diiterasi) sampai |f (x)| < . 2. Persempit batas dengan cara menentukan batas (baik batas bawah maupun atas) baru sehingga intervalnya menjadi semakin kecil dan akar persamaan semakin terlokalisasi pada interval sempit. Dalam metode bisection ini, batas baru merupakan nilai tengah,

1.1

Flowchart

f = .....(definisikan fungsi) while (1) a=input(Batas bawah : ); 1

Flowchart berfungsi untuk mempermudah membuat program ataupun mendokumentasikan program. Dokumentasi pro-

b=input(Batas atas : ); if (f(a)*f(b)) < 0 epsilon=input(Epsilon : ); [x,nilai]=bisection(a,b,epsilon,f); fprintf(Akar persamaan : %8.4f\n,x); fprintf(End of program...); break end fprintf(Inputnya salah...Ulangi lagi!\n\n) end

tidak. Ketiga bilangan diinputkan secara acak atau tanpa memperhatikan urutan besar-kecilnya bilangan. 6. Hitunglah konstanta e dengan menggunakan, e=1+ 1 1 1 + + + ... 1! 2! 3! (3)

kemudian hitung ex dengan menggunakan, ex = 1 + x x2 x3 + + + ... 1! 2! 3! (4)

Metode False Position

7. Respons tarikan gaya gravitasi vertikal akibat benda bola dikuantikasi sbb, gz = 4 z GR3 2 3 (z + x2 )3/2 (5)

Tentukan prol horizontal gaya berat dengan parameter tertentu! 8. Fungsi objektif suatu fungsi model tertentu diformu1 lasikan f (x) = 11 x11 x. Tentukan semua model,x, yang mungkin yang berkorelasi dengan nilai ekstrim fungsi objektif. Bandingkan untuk jumlah iterasi yang sama, manakah diantara bisection dan false position yang lebih cepat menuju solusi, jelaskan alasannya! Gambar 3: Ilustrasi metode false position. Yang membedakan antara metode false position dengan bisection adalah metode penentuan titik tebak m pada bisection atau xr pada false position. Selain metode penentuan titik tebak ini, algoritma false position sama dengan bisection. Secara mudah dengan menggunakan rumus yang sudah dikenal sejak sekolah dasar,xr dapat dihitung dengan menggunakan, f (xl )(xu xl ) xr = xl (2) f (xu ) f (xl ) 9. Deeksi (simpangan) batang struktur akibat beban diformulasikan, y= w0 (x5 + 2L2 x3 L4 x) 120EIL (6)

L = 600 cm, E = 50000 kN/cm2 , I = 30000 cm4 , w0 = 2, 5 kN/cm. Tentukan dimana terjadi deeksi maksimum dan berapa nilainya? 10. Gaya yang dialami muatan listrik,q (C), akibat cincin bermuatan listrik,Q (C), yang berjari-jari,a (m), dan berjarak x (m) dari muatan q adalah, F = 1 qQx 2 + a2 )3/2 4e0 (x (7)

Latihan

1. Buatlah program untuk menentukan apakah bilangan yang diinputkan oleh user adalah bilangan prima atau bukan. Kemudian diantara rentang 1 s.d. 1000, outputkan semua bilangan prima-nya! 2. The greatest common divisor (GDC) of two integers is the largest integer that evenly divides each of the two numbers. Write function gdc that returns the greatest common divisor of two integers. 3. Write a program that plays the game of guess the number as follow: Your program choose the number to be guessed by selecting an integer at random in the range 1 to 100 (use round(rand*100)). The program will ask you to enter an integer, if your guess is incorrect, program will inform whether its too low or too high. Program terminated when your number is correct. 4. Write a recursive function power(a,b) that when invoked returns ab 5. Buatlah program yang meminta Anda menginputkan 3 bilangan bulat, kemudian menentukan apakah ketiga bilangan ini memenuhi pasangan pythagoras atau 2

Jika e0 = 8, 85x1012 , F = 1, 25, q dan Q adalah 2x105 dan a = 0, 9, tentukan x!

Вам также может понравиться