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

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

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. 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) . 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. Metode Bagi Dua (Bisection Method) Prinsip: Ide awal metode ini adalah metode table.1. dimana area dibagi menjadi N bagian. maka f(x < z) dan f(x > z) saling berbeda tanda.

Carilah salah satu akar persamaan berikut: xe-x+1 = 0 disyaratkan bahwa batas kesalahan relatif (εa) =0. f(b)*f(c) positif. yang dapat diketahui dari kesalahan relatif semu. berarti di antara b & c tidak ada akar fungsi Langkah 4 : Menentukan kapan proses pencarian akar fungsi berhenti. Contoh . 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 .001 dengan menggunakan range x=[−1.0]. berarti di antara a & c ada akar fungsi.  f(a)*f(c) negatif.

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

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

3633 0.3606 0.0000 0.3604 -0.3307 0.3606 0.0000 3.5000 0.0000 0 0 0.3594 -0.3594 0.0002 0.3750 0.3605 n = 13 r = 0.3438 -0.3750 0.1219 0.2500 -0.2866 0.3750 0.3594 0.0000 4.1.3604 0.0000 7.2500 0.0.3604 xb = 0.0169 0.0000 5.0010 0.3613 0.3672 0.3594 0.3633 0.3613 0.13) 1.3604 1.0000 6.0000 2.Hasil dari runnig program: >> bisec1(fx.0000 10.2500 0.3125 -0.0001 xa = 0.3608 0.3604 .0420 0.0000 8.3608 0.0000 13.5000 0.3605 0.0000 12.3594 0.0000 11.3604 0.0000 9.3438 0.3750 0.0023 0.5000 0.0026 0.3613 0.0071 0.3672 0.3125 0.0363 0.0004 0.3750 0.

Metode Newton-Rhapson Metode Newton-Raphson adalah salah satu metode penyelesaian akarakar persamaan non linier f(x). . 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. Tidak dapat mencari akar kompleks (imajiner).2. cari nilai xo baru. 2. akar-akar penyelesaian tersebut tidak dapat dicari secara bersamaan. Jika fungsi f(x) mempunyai beberapa akar (titik) penyelesaian.

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

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

yaitu nilai turunan f(x) didekati dengan beda hingga (∆) b 2 − 4ac ) maka akar dari 2a . Metode Secant merupakan perbaikan dari Metode Newton. 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. misalnya persamaan kuadrat X2 – 9 = 0. Metode Secant Ketika SMA.

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

= 3. Pemrograman Secant Method dengan MATLAB .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.

x(1) = 1.i.8f\n'.x(n-1). fprintf('tol = %10.705411 1.705411 -1.n.x(n))/x(n+1)).571429 1.6f\n'. banyak iterasi = %g \n'. x(2) = 2.x(n+1)).tol).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. 1. n=2. n=n+1.n.000000 2.6f %9. fprintf('\n|(x(n+1) .f(2) = fi(x(2)). fprintf('Akarnya = %8.364431 1.571429 2.x(n+1).x(n-1))/(f(n)-f(n-1)).f(n)*(x(n) . end.f(n)*(x(n) .Berikut source code yang di gunakan: clear x f. abs((x(n+1) .000000 3.000001.6f %9.i. f(n-1). %pause. x(n+1) = x(n).6f %9.000000 -1. while abs((x(n+1) .f(n).x(n+1)).x(n))/x(n+1)| = %10.364431 -0.000000 1.6f %9.i=1.x(n).6f %9. f(1) = fi(x(1)).i=i+1.8f\n'.6f %9.x(n-1).571429 3.000000 1.x(n-1))/(f(n)-f(n-1)). fprintf('%g %g %9. tol).f(n).6f.000000 -4. x(n+1) = x(n).tol = 0.735136 .6f\n'.8f <= tol = %10.6f %9. Outputnya adalah: tol = 0.247745 1. fprintf('%g %g f(n-1). fprintf('i n x(n-1) x(n) f(x(n-1)) f(x(n)) x(n+1)\n').x(n))/x(n+1)) > tol f(n+1) = fi(x(n+1)).x(n).i).6f %9.

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

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++ .

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