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

. sehingga ada selisih antara keduanya. 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. Penyelesaian ini menjadi acuan bagi pemakaian metode pendekatan. Dalam penerapan matematis untuk menyelesaikan persoalan-persoalan perhitungan dan analisis. Pengertian Metode Numerik Metode diformulasikan numerik adalah teknik dimana masalah matematika oleh sedemikian rupa sehingga dapat diselesaikan pengoperasian aritmetika. maka dapat digunakan metode-metode simulasi. Kedua.A. Perbedaan utama antara metode numerik dengan metode analitik terletak pada dua hal. maka penyelesaian matematis (metode analitik) adalah penyelesaian exact yang harus digunakan. Selisih inilah yang disebut dengan galat (error). (3) Bila persoalan sudah merupakan persoalan yang mempunyai kompleksitas tinggi. solusi dengan menggunakan metode numerik selalu berbentuk angka. maka dapat digunakan metode numerik. namun solusi hampiran dapat dibuat seteliti yang kita inginkan. 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. kita hanya memperoleh solusi yang menghampiri atau mendekati solusi sejati sehingga solusi numerik dinamakan juga solusi hampiran (approxomation) atau solusi pendekatan. sehingga metode numerikpun tidak dapat menyajikan penyelesaian dengan baik. Solusi hampiran jelas tidak tepat sama dengan solusi sejati. Pertama. (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.

dimana area dibagi menjadi N bagian. Hanya saja metode biseksi ini membagi range menjadi 2 bagian.1. Hal ini dilakukan berulang-ulang hingga diperoleh akar persamaan. 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) . maka f(x < z) dan f(x > z) saling berbeda tanda. dari dua bagian ini dipilih bagian mana yang mengandung dan bagian yang tidak mengandung akar dibuang. 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. . Metode Bagi Dua (Bisection Method) Prinsip: Ide awal metode ini adalah metode table.

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

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

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

3594 0.0000 10.3606 0.0000 8.0363 0.0000 0 0 0.3594 -0.3605 0.3604 -0.0000 0.3608 0.3594 0.3608 0.3594 0.3613 0.0000 5.0000 11.3613 0.3604 1.3633 0.3604 .0004 0.3307 0.0000 12.3750 0.5000 0.3604 0.0000 4.3672 0.0023 0.1.2500 -0.0026 0.3125 0.3672 0.3750 0.3750 0.1219 0.3438 0.0000 13.0001 xa = 0.0000 6.3633 0.0.3605 n = 13 r = 0.0000 9.0420 0.5000 0.3604 xb = 0.3594 0.Hasil dari runnig program: >> bisec1(fx.3613 0.2500 0.0071 0.0010 0.3750 0.3750 0.3438 -0.0000 2.2866 0.3604 0.5000 0.13) 1.2500 0.0000 7.0000 3.3606 0.0002 0.0169 0.3125 -0.

2. 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. Tidak dapat mencari akar kompleks (imajiner). 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. Jika fungsi f(x) mempunyai beberapa akar (titik) penyelesaian. akar-akar penyelesaian tersebut tidak dapat dicari secara bersamaan. Langkah 3 : Lakukan iterasi dengan persamaan : Kelemahan Metode Newton-Raphson : 1.

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

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

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

f(6)=178 X 2= 2. Hitung xbaru = x1 − f ( x1 ) ( x1 − x0 ) f ( x1 ) − f ( x0 ) 3. Tentukan X0.3673469 f(X3)=-13. Penentuan nilai turunan fungsi dengan metode Secant. dan kembali ke langkah (2) Contoh 1: hitung akar persamaan dari f(x) = x³ . X1. Jika nilai mutlak (Xbaru .83464426 f(2) f(x3) = -18 = 15. Jika jumlah iterasi > iterasi maksimum.40697963 f(X2) = -13. toleransi dan jumlah iterasi maksimum 2. X2 = 2. Dimana . akhiri program 6.X1) < toleransi.gambar .83464426 iterasi kedua: X1 = 2 . X = Xbaru. lanjutkan ke langkah berikutnya 5. jika tidak.20 Perkiraan awal X 1= 6. f(2)=-18 iterasi pertama: X3=2.3673469. 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.83464426 . X3 = 2. diperoleh tulisan Xbaru sebagai hasil perhitungan 4.3673469--13.3x .

587438053 Contoh 2 : Hitung akar persamaan dari y = X3 + X2 – 3X – 3 dengan menggunakan Metode Secant.= 3.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. Pemrograman Secant Method dengan MATLAB . diisyaratkan bahwa batas kesalahan relatif < 0.

571429 1.6f %9.f(n)*(x(n) .n. 1. while abs((x(n+1) .8f\n'.571429 2.6f %9.x(n))/x(n+1)) > tol f(n+1) = fi(x(n+1)). fprintf('Akarnya = %8.8f\n'.i. fprintf('%g %g f(n-1).tol). fprintf('tol = %10.x(n).571429 3.000000 1.x(n).f(n).6f.6f\n'. f(n-1).6f %9. f(1) = fi(x(1)).x(n))/x(n+1)| = %10. n=2.705411 1.735136 . x(2) = 2.705411 -1.i=1. x(n+1) = x(n). %pause.8f <= tol = %10.6f\n'.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.6f %9.i=i+1.6f %9.Berikut source code yang di gunakan: clear x f. banyak iterasi = %g \n'.6f %9.000000 3.000000 -4.000000 2. fprintf('i n x(n-1) x(n) f(x(n-1)) f(x(n)) x(n+1)\n').x(n+1)).000000 -1.x(n-1).6f %9. fprintf('\n|(x(n+1) .247745 1. x(n+1) = x(n). n=n+1.x(n))/x(n+1)).tol = 0. tol).x(n+1)).x(n-1))/(f(n)-f(n-1)).x(n+1).6f %9.f(n). abs((x(n+1) .364431 -0.n.i.364431 1.f(n)*(x(n) .f(2) = fi(x(2)). fprintf('%g %g %9. end.i).000000 1.x(n-1). Outputnya adalah: tol = 0.000001.x(n-1))/(f(n)-f(n-1)). x(1) = 1.

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

dengan cara yang sama serta berturut-turut akan diperoleh taksiran akar berikutnya yang lebih baik. Nilai XR merupakan nilai taksiran akar.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. Contoh program untuk mencari akar persamaan non linear menggunakan Metode Regula-Falsi dalam bahasa C++ .

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

Sign up to vote on this title
UsefulNot useful