Tugas Matematika Teknik

Oleh:
1.

Qusyairi Ridho Siska Fitrianingrum Yan Hadynoer

0807100775 0807100780 0807100786

2.
3.

TINGKAT II TEKNIK RANCANG BANGUN PERALATAN SANDI

SEKOLAH TINGGI SANDI NEGARA 2010

Perbedaan utama antara metode numerik dengan metode analitik terletak pada dua hal. Pengertian Metode Numerik Metode diformulasikan numerik adalah teknik dimana masalah matematika oleh sedemikian rupa sehingga dapat diselesaikan pengoperasian aritmetika. maka penyelesaian matematis (metode analitik) adalah penyelesaian exact yang harus digunakan. maka dapat digunakan metode-metode simulasi. Bandingkan dengan metode analitik yang biasanya menghasilkan solusi dalam bentuk fungsi matematik yang selanjutnya fungsi mateamtik tersebut dapat dievaluasi untuk menghasilkan nilai dalam bentuk angka. Dalam penerapan matematis untuk menyelesaikan persoalan-persoalan perhitungan dan analisis. sehingga ada selisih antara keduanya. Selisih inilah yang disebut dengan galat (error). Solusi hampiran jelas tidak tepat sama dengan solusi sejati. ada beberapa keadaan dan metode yang digunakan untuk menghasilkan penyelesaian yang baik adalah : (1) Bila persoalan merupakan persoalan yang sederhana atau ada theorema analisa matematika yang dapat digunakan untuk menyelesaikan persoalan tersebut. maka dapat digunakan metode numerik. (2) Bila persoalan sudah sangat sulit atau tidak mungkin diselesaiakan secara matematis (analitik) karena tidak ada theorema analisa matematik yang dapat digunakan. dengan metode numerik. . Penyelesaian ini menjadi acuan bagi pemakaian metode pendekatan. Pertama. (3) Bila persoalan sudah merupakan persoalan yang mempunyai kompleksitas tinggi. sehingga metode numerikpun tidak dapat menyajikan penyelesaian dengan baik. solusi dengan menggunakan metode numerik selalu berbentuk angka. Kedua.A. namun solusi hampiran dapat dibuat seteliti yang kita inginkan. kita hanya memperoleh solusi yang menghampiri atau mendekati solusi sejati sehingga solusi numerik dinamakan juga solusi hampiran (approxomation) atau solusi pendekatan.

. Langkah – langkah dalam menyelesaikan Metode Bagi Dua : Langkah 1 : Pilih a sebagai batas bawah dan b sebagai batas atas untuk taksiran akar sehingga terjadi perubahan tanda fungsi dalam selang interval. Atau periksa apakah benar bahwa : f(a) . dimana area dibagi menjadi N bagian.1. Hal ini dilakukan berulang-ulang hingga diperoleh akar persamaan. dari dua bagian ini dipilih bagian mana yang mengandung dan bagian yang tidak mengandung akar dibuang. Hanya saja metode biseksi ini membagi range menjadi 2 bagian. f(b) < 0 Langkah 2 : Taksiran nilai akar baru yaitu c diperoleh dari : c= a +b 2 Langkah 3 : Menentukan daerah yang berisi akar fungsi:  Jika z merupakan akar fungsi. maka f(x < z) dan f(x > z) saling berbeda tanda. Metode Bagi Dua (Bisection Method) Prinsip: Ide awal metode ini adalah metode table.

0]. yang dapat diketahui dari kesalahan relatif semu. Dengan memisalkan bahwa :  (xl) = batas bawah = a  (xu) = batas atas Χ⇒ a +b 2 =b  (xr) = nilai tengah = x . Carilah salah satu akar persamaan berikut: xe-x+1 = 0 disyaratkan bahwa batas kesalahan relatif (εa) =0. Proses pencarian akar fungsi dihentikan setelah keakuratan yang diinginkan dicapai. f(b)*f(c) positif. Contoh .  f(a)*f(c) negatif. berarti di antara b & c tidak ada akar fungsi Langkah 4 : Menentukan kapan proses pencarian akar fungsi berhenti.001 dengan menggunakan range x=[−1. berarti di antara a & c ada akar fungsi.

disp(X). Pemrograman bisection Method dengan MATLAB Berikut source code yang di gunakan: % ini fungsi dari bisection yang kami gunakan function rtn=bisec(fx. if fc*fa<0 xb=xc.xb.fc].xa. xc=(xa+xb)/2. fc=fx(xc).maka diperoleh tabel biseksi sebagai berikut : Pada iterasi ke 10 diperoleh x = -0.001 dibutuhkan10 iterasi. fa=fx(xa). for i=1:n. x=xc.n) x=xa.xb. semakin teliti (kecil toleransi errornya) maka semakin .xa. dapat dilakukan dengan menggunakan toleransi error atau iterasi maksimum. x=xb. fb=fx(xb).xc.56738 dan f(x) = -0. 0.00066 Untuk menghentikan iterasi. X=[i. Catatan : Dengan menggunakan metode biseksi dengan tolerasi error bear jumlah iterasi yang dibutuhkan.

grid on %ini fungsi yang kami gunakan ( f(x)= 3x + sin x – e(x) ) fx=inline('3*x+sin(x)-exp(x)').else xa=xc. Tampilan saat running program : . end end %tampilkan hasil dari bisection xa xb n r=(xa+xb)/2 end %tampilkan gambar plot dari bisection fplot(fx.[0 2]).

0026 0.3608 0.3604 0.0000 2.0000 0 0 0.0.0000 12.3750 0.0420 0.2500 -0.3604 0.3613 0.13) 1.3307 0.5000 0.0000 10.3750 0.3672 0.3608 0.Hasil dari runnig program: >> bisec1(fx.5000 0.0000 5.3604 xb = 0.3594 0.3438 0.0071 0.2866 0.0010 0.3606 0.0000 7.3604 .0000 6.3594 0.3633 0.3613 0.1219 0.3672 0.2500 0.3605 0.3750 0.3633 0.2500 0.0001 xa = 0.3594 0.0000 11.3438 -0.3125 0.3594 0.0002 0.3594 -0.0000 4.0169 0.0000 9.0004 0.0000 13.3125 -0.3750 0.0023 0.3613 0.1.3605 n = 13 r = 0.0000 3.3604 1.3606 0.3604 -0.0363 0.3750 0.5000 0.0000 8.0000 0.

2. Tidak dapat mencari akar kompleks (imajiner).2. Metode Newton-Rhapson Metode Newton-Raphson adalah salah satu metode penyelesaian akarakar persamaan non linier f(x). cari nilai xo baru. dengan menentukan satu nilai tebakan awal dari akar yaitu xi. akar-akar penyelesaian tersebut tidak dapat dicari secara bersamaan. . Langkah 3 : Lakukan iterasi dengan persamaan : Kelemahan Metode Newton-Raphson : 1. Jika fungsi f(x) mempunyai beberapa akar (titik) penyelesaian. Grafik Pendekatan Metode Newton-Raphson : Langkah-langkah penyelesaian Metode Newton-Raphson : Langkah 1: Cari f’(x) dan f”(x) dari f(x) Langkah 2 : Tentukan titik x0 dan Uji sesuai : Apakah memenuhi syarat persamaan? Jika tidak.

c) Jika nilai mutlak (Xbaru . Pemrograman Newton-Rhapson Method dengan C++ #include <stdio. akhiri program. scanf("%c".h> #include <stdlib. b) Hitung Xbaru = x . e) Jika jumlah iterasi > iterasi maksimum. Tidak bisa mencari akar persamaan yang tidak memenuhi persyaratan persamaannya.&ch).h> include <conio. dan kembali ke langkah (b). float coeff[N]. meskipun ada akar penyelesaiannya. /********************************************************/ /***** Finds the root of any linear algebraic any *****/ /***** order equation by "Newton-Raphson" method *****/ /********************************************************/ main() { char ch.h> #include <math. float F(float). do { input(). void input(void). d) jika tidak. Algoritma Metode Newton-Raphson : a) Tentukan Xo. lanjutkan ke langkah berikutnya. } . fflush(stdin). }while(ch=='Y' || ch=='y').3. diperoleh tulisan x baru sebagai hasil perhitungan.f'(X0) / f(X0). float dF_dx(float).01 #define N 10 int degree. 4. dan jumlah iterasi maksimum. Untuk persamaan non linier yang cukup kompleks.h> #define ACC 0. printf("\n \n INGIN MELANJUTKAN [y/n] "). f) X = Xbaru. pencarian turunan pertama dan kedua f(x) akan menjadi sulit. toleransi.X0) < toleransi.

} printf("\n MASUKKAN TEBAKAN AWAL : _").loop=0. if(F(ig)==0) printf("\n %f : ADALAH AKAR DARI PERSAMAANNYA \n". printf("\n MASUKKAN DERAJAT DARI PERSAMAAN DIFFERENTIAL :").print--). deg--.print. } if(func==0) return(1).0. deg=degree.0. } return(func). } float F(float x) { int i.deg). }while(fabs(h)>=ACC). do { h=-(F(ig))/(dF_dx(ig)). for(i=0.ig). } .i++) { func=func+coeff[i]*pow(x. for(i=0.i<=degree. float func=0. print=degree.i++) { printf("\n MASUKKAN KOEFISIEN PADA DERAJAT : _ [%d\t] = ".&ig).i<=degree.ig). loop++.&degree). ig=ig-h. deg--.i<degree.void input(void) { int i. scanf("%f". printf("\n %f ADALAH AKARNYA ". deg=degree.deg.i++) { func=func+coeff[i]*deg*pow(x. for(i=0. return(func).(deg-1)). float func=0. scanf("%d".&coeff[i]). } float dF_dx(float x) { int i. if(loop>=40) exit(0). float ig. float h.deg. scanf("%f".

Metode Secant merupakan perbaikan dari Metode Newton. Metode Secant Ketika SMA. misalnya persamaan kuadrat X2 – 9 = 0. yaitu nilai turunan f(x) didekati dengan beda hingga (∆) b 2 − 4ac ) maka akar dari 2a . kita sring menyelesaikan persamaan kuadrat yaitu berbentuk f(x) = aX2 + bX + c .3. maka akar-akarnya dapat ditentukan dengan persamaan abc X = (−b ± X2 – 9 = 0 adalah X1 = 3 dan X2 = -3.

dan kembali ke langkah (2) Contoh 1: hitung akar persamaan dari f(x) = x³ .20 Perkiraan awal X 1= 6.3673469. X = Xbaru.40697963 f(X2) = -13. toleransi dan jumlah iterasi maksimum 2. Jika jumlah iterasi > iterasi maksimum. f ' ( xi ) = ∆f ' ( xi ) ∆xi f 1 ( xi ) = f ( xi ) − f ( xi −1 ) xi − xi −1 xi − xi −1 f ( xi ) − f ( xi −1 ) Sehingga dalam perrsamaan Newton – Rhapson menjadi : xi +1 = xi − f ( xi ) Algoritmanya sendiri dari metode ini adalah : 1. X1.3673469--13. Penentuan nilai turunan fungsi dengan metode Secant.X1) < toleransi.3x .3673469 f(X3)=-13. lanjutkan ke langkah berikutnya 5. Tentukan X0. jika tidak. f(6)=178 X 2= 2. Jika nilai mutlak (Xbaru . f(2)=-18 iterasi pertama: X3=2. akhiri program 6. Hitung xbaru = x1 − f ( x1 ) ( x1 − x0 ) f ( x1 ) − f ( x0 ) 3. X3 = 2. Dimana .83464426 . X2 = 2.83464426 f(2) f(x3) = -18 = 15.gambar .83464426 iterasi kedua: X1 = 2 . diperoleh tulisan Xbaru sebagai hasil perhitungan 4.

587438053 Contoh 2 : Hitung akar persamaan dari y = X3 + X2 – 3X – 3 dengan menggunakan Metode Secant.01% Kelebihan dari Metode Secant ini dalah dimana sifatnya yang cepat mendapatkan nilai konvergen namun tidak selalu mendapatkan hasil yang konvergen terkadang bisa didapatkan hasil yang divergen. diisyaratkan bahwa batas kesalahan relatif < 0. Pemrograman Secant Method dengan MATLAB .= 3.

i.x(n+1)).x(n-1). x(2) = 2.8f\n'.x(n). fprintf('Akarnya = %8. fprintf('\n|(x(n+1) .6f %9. tol).Berikut source code yang di gunakan: clear x f. fprintf('%g %g f(n-1).6f %9.6f %9.6f %9.8f\n'.000000 -1.8f <= tol = %10.571429 3. banyak iterasi = %g \n'. fprintf('%g %g %9. end.i=i+1.000000 1.000000 2.705411 1.000000 3.n.571429 1.x(n))/x(n+1)).tol = 0.6f %9. abs((x(n+1) . 1.6f %9.x(n+1).f(n)*(x(n) .f(n). x(1) = 1.000001.n.tol).x(n-1))/(f(n)-f(n-1)).00000100 i n 1 2 2 3 3 4 x(n-1) x(n) f(x(n-1)) f(x(n)) x(n+1) %9. fprintf('tol = %10.i. f(1) = fi(x(1)).x(n-1))/(f(n)-f(n-1)).735136 . x(n+1) = x(n). n=n+1.i). f(n-1).f(2) = fi(x(2)).6f\n'.x(n))/x(n+1)| = %10.x(n+1)).364431 -0. x(n+1) = x(n).x(n).247745 1.x(n-1).000000 -4.000000 1. Outputnya adalah: tol = 0.6f\n'.x(n))/x(n+1)) > tol f(n+1) = fi(x(n+1)).6f %9.364431 1.f(n). n=2. while abs((x(n+1) .6f.i=1.6f %9. fprintf('i n x(n-1) x(n) f(x(n-1)) f(x(n)) x(n+1)\n'). %pause.571429 2.f(n)*(x(n) .705411 -1.

Garis lurus tadi seolah-olah berlaku menggantikan kurva f(x) dan memberikan posisi palsu dari akar.f(X0)).029255 -0.731996 1.735136 -0.000515 1.732051. namun tetap memiliki kepastian atau jaminan menuju konvergensi.000001 1. yaitu kurang cepat dalam mencapai konvergensi.732051 1. banyak iterasi = 6 4. perpotongan garis dan sumbu X dapat ditaksir sebagai : .735136 1. Metode ini juga sering disebut sebagai Metode Interpolasi Linier.x(n))/x(n+1)| = 0.00000100 Akarnya = 1. maka beberapa ahli metematika method. Metode Regula-Falsi ini memiliki kelebihan dalam pencapaian nilai konvergensi yang lebih cepat.000515 -0. Metode Regula-Falsi Seperti telah dijelaskan sebelumnya.00000006 <= tol = 0. f(X1) ) dan titik(X0 .732051 -0.4 5 5 6 6 7 1.029255 1. Perpotongan garis tersebut dengan sumbu X merupakan taksiran akar yang diperbaiki.731996 1. Metode Bisection memiliki kelemahan pokok. Dengan Metode Regula-Falsi dibuat garis lurus yang menghubungkan titik( X1 . telah berusaha menyempurnakan metode tersebut dengan dirumuskannya Metode Regula-Falsi atau metode posisi palsu atau false point Dengan menggunakan segitiga – segitiga sebangun pada gambar diatas.247745 0.731996 0.732051 |(x(n+1) .705411 1.

f ( xU ) f ( xL ) = x R − x L xR − x U Yang dapat disederhanakan menjadi : x R = xU − f ( xU )( x L − xU ) f ( xL ) − f ( xU ) Persamaan tersebut adalah rumus untuk mencari akar dengan Metode Posisi Palsu. dengan cara yang sama serta berturut-turut akan diperoleh taksiran akar berikutnya yang lebih baik. Nilai XR merupakan nilai taksiran akar. Contoh program untuk mencari akar persamaan non linear menggunakan Metode Regula-Falsi dalam bahasa C++ .

toleransi 10-5 dan jumlah iterasi maksimum sebanyak 30.1] . adalah sebagai berikut : .Hasil eksekusi program untuk mencari akar dengan Metode Regula-Falsi menggunakan bahasa C+ yang dilakukan dalam selang [0.

Sign up to vote on this title
UsefulNot useful