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

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

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

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

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

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. end end %tampilkan hasil dari bisection xa xb n r=(xa+xb)/2 end %tampilkan gambar plot dari bisection fplot(fx.[0 2]). Tampilan saat running program : .

3633 0.3613 0.0000 13.0010 0.0002 0.3604 .3750 0.0000 5.3604 1.0000 4.0000 8.2866 0.3125 -0.0420 0.3672 0.0001 xa = 0.3594 0.0000 11.3605 0.3750 0.3604 0.3606 0.3672 0.0.0000 2.3750 0.3605 n = 13 r = 0.3438 0.0169 0.3613 0.3608 0.3594 0.1.3594 0.3604 xb = 0.3633 0.3608 0.3606 0.5000 0.3750 0.0000 9.1219 0.0023 0.2500 0.3307 0.3750 0.3438 -0.0000 10.3613 0.0000 0.3604 -0.0000 6.Hasil dari runnig program: >> bisec1(fx.5000 0.0363 0.0071 0.0000 3.5000 0.2500 0.0000 7.0004 0.2500 -0.0000 12.3604 0.13) 1.0000 0 0 0.3125 0.0026 0.3594 0.3594 -0.

cari nilai xo baru. Tidak dapat mencari akar kompleks (imajiner). Langkah 3 : Lakukan iterasi dengan persamaan : Kelemahan Metode Newton-Raphson : 1. 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. . dengan menentukan satu nilai tebakan awal dari akar yaitu xi. akar-akar penyelesaian tersebut tidak dapat dicari secara bersamaan. Metode Newton-Rhapson Metode Newton-Raphson adalah salah satu metode penyelesaian akarakar persamaan non linier f(x). 2. Jika fungsi f(x) mempunyai beberapa akar (titik) penyelesaian.2.

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

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

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

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

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

571429 1.6f %9.571429 2.8f\n'. fprintf('tol = %10.tol).6f\n'.8f\n'.x(n+1)).705411 -1.000000 1.x(n))/x(n+1)) > tol f(n+1) = fi(x(n+1)).571429 3.x(n-1).tol = 0.i.n.000001.000000 2.6f %9.f(n)*(x(n) .364431 1. Outputnya adalah: tol = 0.f(n)*(x(n) . n=n+1. %pause.6f %9. n=2.8f <= tol = %10. x(n+1) = x(n).6f %9.x(n+1)).6f %9.x(n+1). end.x(n-1))/(f(n)-f(n-1)).i=i+1.x(n-1). x(n+1) = x(n).Berikut source code yang di gunakan: clear x f. fprintf('%g %g %9.000000 1.6f %9.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.n.247745 1.705411 1.364431 -0.735136 .000000 3. f(1) = fi(x(1)).i).f(2) = fi(x(2)).i=1.x(n-1))/(f(n)-f(n-1)). abs((x(n+1) .f(n). x(1) = 1. fprintf('\n|(x(n+1) .x(n).i.x(n). fprintf('i n x(n-1) x(n) f(x(n-1)) f(x(n)) x(n+1)\n'). f(n-1).x(n))/x(n+1)). x(2) = 2. tol). 1.f(n). banyak iterasi = %g \n'. fprintf('%g %g f(n-1).000000 -1.6f\n'.6f %9.6f %9. fprintf('Akarnya = %8.6f.x(n))/x(n+1)| = %10.000000 -4. while abs((x(n+1) .

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

Contoh program untuk mencari akar persamaan non linear menggunakan Metode Regula-Falsi dalam bahasa C++ .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.

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

Sign up to vote on this title
UsefulNot useful