Modul Praktikum Pemrograman13

19
PRAKTIKUM 13 PENYELESAIAN PERSAMAAN ALJABAR Dalam bab ini kita akan menggunakan Matlab untuk menyelesaikan persamaan aljabar. Kita akan mulai dengan menyelesaikan persamaan sederhana (persamaan dengan satu variabel) dan sistem persamaan. Penyelesaian Persamaan Aljabar Kita akan mulai dengan persamaan sederhana yang mana kita sudah tahu jawabannya dengan mudah. x 2=0 Dengan mudah kita tahu bahwa jawaban yang memenuhi persamaan tersebut adalah x = 2 . Apabila persamaan tersebut diselesaikan dengan Matlab >> x=solve('x-2=0') x = 2 Matlab juga dapat menyelesaikan persamaan yang melipatkan beberapa simbol. Sebagai contoh, kita dapat memperoleh harga variabel untuk persamaan yang melibatkan konstanta a ax 3=0 yaitu >> x=solve('a*x+3') x = -3/a Tetapi ada cara lain untuk menyatakan simbol mana yang akan dipecahkan. Cara ini dapat dilakukan dengan sintaks solve(persamaan,variabel). Sebagai contoh, apabila kita ingin menyelesaikan persamaan ax 3=0 dimana variabel yang akan diketahui adalah a maka dapat dituliskan

description

programming

Transcript of Modul Praktikum Pemrograman13

Page 1: Modul Praktikum Pemrograman13

PRAKTIKUM 13

PENYELESAIAN PERSAMAAN ALJABAR

Dalam bab ini kita akan menggunakan Matlab untuk menyelesaikan

persamaan aljabar. Kita akan mulai dengan menyelesaikan persamaan sederhana

(persamaan dengan satu variabel) dan sistem persamaan.

Penyelesaian Persamaan Aljabar

Kita akan mulai dengan persamaan sederhana yang mana kita sudah tahu

jawabannya dengan mudah.

x−2=0

Dengan mudah kita tahu bahwa jawaban yang memenuhi persamaan tersebut

adalah x=2 . Apabila persamaan tersebut diselesaikan dengan Matlab

>> x=solve('x-2=0') x = 2

Matlab juga dapat menyelesaikan persamaan yang melipatkan beberapa

simbol. Sebagai contoh, kita dapat memperoleh harga variabel untuk persamaan

yang melibatkan konstanta a

ax3=0

yaitu

>> x=solve('a*x+3') x = -3/a

Tetapi ada cara lain untuk menyatakan simbol mana yang akan

dipecahkan. Cara ini dapat dilakukan dengan sintaks

solve(persamaan,variabel).

Sebagai contoh, apabila kita ingin menyelesaikan persamaan ax3=0 dimana

variabel yang akan diketahui adalah a maka dapat dituliskan

Page 2: Modul Praktikum Pemrograman13

>> x=solve('a*x+3','a') x = -3/x

Penyelesaian Persamaan Kuadratik

Matlab dapat pula menyelesaikan persamaan kudratik maupun

persamaan dengan orde lebih tinggi. Cara persis sama dengan cara sebelumnya.

Contoh jika kita ingin menyelesaikan persmaan

x2−4 x−8=0 ,

maka dapat dilakukan dengan

>> s= solve('x^2-4*x-8') ans =[ 2+2*3^(1/2)][ 2-2*3^(1/2)]

Setiap akar dari persamaan yang telah dipecahkan disimpan oleh Matlab

sebagai s(1), s(2), s(3) ... s(n) sesuai dengan jumlah akar persamaannya.

Dimungkinkan pula untuk menyimpan sebuah persamaan ke dalam

sebuah variabel, kemudian kita gunakan variabel tersebut untuk dipecahkan.

>> d='x^4-4*x^2-8=0';>> solve(d) ans = [ (2+2*3^(1/2))^(1/2)][ -(2+2*3^(1/2))^(1/2)][ (2-2*3^(1/2))^(1/2)][ -(2-2*3^(1/2))^(1/2)]

Mengeplot Persamaan Simbolik

Matlab dapat membangkitkan grafik persamaan simbolik yang kita

masukkan dengan perintah ezplot. Sebagai contoh jika kita ingin mengeplot

grafik dari fungsi

x2−4 x−8

maka dengan mudah, yaitu

>> d=('x^2-4*x-8');

Page 3: Modul Praktikum Pemrograman13

>> ezplot(d)

Untuk mengeset domain pada sumbu x, kita dapat melakukan dengan

perintah

ezplot(f,[x1 x2])

Disamping kita dapat menentukan range ploting grafik pada sumbu x, ita

Gambar 7.1 Grafik simbolik fungsi dengan perintah ezplot.

Gambar 7.2 Grafik simbolik fungsi dengan domain pada sumbu x yang diset manual.

Page 4: Modul Praktikum Pemrograman13

juga dapat menentukan range ploting pada kedua sumbu y. Jika kedua sumbu

kita tentukan rangenya misalnya −4x8 dan −13 y15 maka

>> d=('x^2-4*x-8');

>> ezplot(d,[-4,8,-13,15])

Tetapi, ingat bahwa kita tidak dapat mengeplot grafik simbolik fungsi

dengan cara menuliskan persamaannya misalnya 'x^2-4*x-8=0'. Jika ini yang kita

lakukan maka tentu saja akan muncul pesan kesalahan.

>> d=('x^2-4*x-8=0');

>> ezplot(d)

??? Error using ==> inlineeval

Error in inline expression ==> x.^2-4.*x-8=0

??? Error: "End of Input" expected, "=" found.

Contoh 7.1

Dapatkan akar persamaan nonlinier x42 x2−10=0 dan plot

grafiknya. Selanjutnya tentukan nilai numerik dari akar-akar tersebut.

Penyelesaian

Gambar 7.3 Grafik simbolik fungsi dengan domain pada sumbu x dsn y yang diset manual.

Page 5: Modul Praktikum Pemrograman13

Pertama, kita buat terlebih dahulu bentuk fungsi yang akan diplot dan

disimpan dalam variabel d. Setelah itu kita panggil ezplot untuk mengeplot

fungsi. Untuk menuliskan 10 dalam perintah Matlab, kita bisa

menggunakan sqrt(10) atau 10^(1/2) (Ingat... jangan dituliskan dengan 10^1/2).

>> d='x^4+2*x^2-sqrt(10)';

>> s=solve(d)

s =

[ (-1+(1+10^(1/2))^(1/2))^(1/2)]

[ -(-1+(1+10^(1/2))^(1/2))^(1/2)]

[ i*(1+(1+10^(1/2))^(1/2))^(1/2)]

[ -i*(1+(1+10^(1/2))^(1/2))^(1/2)]

>> ezplot(d)

>> double(s(1))

ans =

1.0199

>> double(s(2))

ans =

-1.0199

>> double(s(3))

ans =

0 + 1.7436i

>> double(s(4))

ans =

0 - 1.7436i

Page 6: Modul Praktikum Pemrograman13

Sistem Persamaan

Apabila kita memiliki beberapa persamaan simultan linier, misalnya

2 x−5 y=105 x2 y=5

Untuk menyelesaikan dua persamaan linier tersebut kita gunakan perintah solve

dengan cara

>> q=solve('2*x-5*y=10','5*x+2*y=5');

Sedangkan untuk memperoleh jawaban yaitu variabel x dan y yang

memenuhi kedua persamaan itu, maka caranya

>> x=q.x

x =

45/29

>> y=q.y

y =

-40/29

Gambar 7.4 Plot grafik fungsi simbolik

Page 7: Modul Praktikum Pemrograman13

Penyelesaian Fungsi Eksponensial dan Logaritma

Apa yang sudah kita bicarakan di atas adalah bagaimana menyelesaikan

fungsi yang berbentuk polinomial. Matlab juga dapat menangani fungsi yang

melibatkan eksponensial maupun logaritma. Contoh

Dapatkan x yang memenuhi persamaan

ln x−ln x−5=4

Penyelesaian

Pernyataan logaritma yang kita gunakan dalam persamaan diatas berarti

logaritma basis 2, sehingga dapat diselesaikan dengan Matlab

>> d='log(x)-log(x-5)=4';

>> s=solve(d);

>> s(1)

ans =

5*exp(4)/(-1+exp(4))

Matlab juga dapat menyelesaikan persamaan yang melibatkan bentuk

eksponensial, misalnya

y=e2xx

Jika diselesaikan dengan Matlab, maka dengan mudah hasilnya akan

diperoleh

>> d='exp(2*x)+x=0';

>> s=solve(d)

s =

-1/2*lambertw(2)

>> double(s)

ans =

-0.4263

Page 8: Modul Praktikum Pemrograman13

Deret Fungsi

Salah satu kemampuan yang dimilki oleh Matlab adalah mampu

menderetkan fungsi. Untuk menderetkan fungsi dengan deret Taylor,

perintahnya cukup dengan taylor().

>> syms x

>> taylor(cos(x))

ans =

1-1/2*x^2+1/24*x^4

Dengan perintah ini, kita dapat memesan sampai berapa suku deret yang

diinginkan. Sebagai contoh, jika kita menginkan 15 suku deret fungsi exp(x):

>> syms x

>> s=taylor(exp(x),15)

s =

1+x+1/2*x^2+1/6*x^3+1/24*x^4+1/120*x^5+1/720*x^6+1/5040*x^7+1/4

0320*x^8+1/362880*x^9+1/3628800*x^10+1/39916800*x^11+1/4790016

00*x^12+1/6227020800*x^13+1/87178291200*x^14

Gambar 7.6. Plot grafik lima suku deret fungsi cos(x)

Page 9: Modul Praktikum Pemrograman13

Menghitung Limit Fungsi

Matlab memiliki kemampuan untuk menghitung limit dari sebuah fungsi

dengan perintah limit. Sebagai contoh,

lim x ∞

x33 x2−4 x102 x310 x2−4 x10

>> syms x;

>> f=x^3+3*x^2-4*x+10;

>> g=2*x^3+10*x^2-4*x+10;

>> limit(f/g,inf)

ans =

½

Contoh 7-1.

Dapatkan hasil limit dari ungkapan

lim x∞

x33 x2−4 x102 x310 x2−4 x10

Page 10: Modul Praktikum Pemrograman13

INTEGRASI NUMERIK DAN PERSAMAAN

DIFERENSIAL

Integrasi Numerik

Integral fungsi f x dalam ranah a xb dapat diintepretasikan

sebagai luas daerah dibawah kurva f x yang membentang dari x=a

hingga x=b .

Dalam hal ini f x disebut integrand, x=a disebut batas bawah

integral dan x=b disebut batas atas integral sedangkan x adalah variabel

integral.

Percepatan dan kecepatan benda.

Kecepatan suatu benda pada saat t detik dengan kecepatan awal v 0

dapat dinyatakan sebagai

v t =∫0

t

a t tv 0

Kecepatan dan jarak benda

Jarak yang ditempuh oleh benda setelah bergerak dari t=a hingga

Drawing 1:

Page 11: Modul Praktikum Pemrograman13

t=b dan posisi awal ada di s(a) ketikan t=a dinyatakan sebagai

s t=∫a

b

v t ts a

Kapasitor, tegangan dan arus

Muatan Q yang melewati dalam sebuah kapasitor merupakan integral dari

arus yang dikenakan melalui kapasitor tersebut. Jika mula-mula kapasitor

membawa muatan Q(a), kemudian arus dilewatkan melalui kapasitor dari

t=a hingga t=b , maka tegangan kapasitor v adalah

v b = 1C [∫a

b

i t dtQ a]dimana C menyatakan kapasitansi dari kapasitor.

Usaha

Usaha yang dilakukan oleh sebuah benda yang dikenai gaya F x dan

bergeser sejauh d dapat dinyatakan oleh

W=∫0

d

F x dx

Untuk pegas linier gaya F x dinyatakan oleh F x =k x , dengan k

adalah konstanta pegas. Kerja yang dilakukan terhadap pegas selanjutnya

W=∫0

d

k x dx

Integral memiliki sifat linier. Apabila c dan d bukan merupakan fungsi x,

maka

∫a

b

[c f x d f x ]dx=c∫a

b

f xdxd∫a

b

f xdx

Page 12: Modul Praktikum Pemrograman13

Integrasi Numerik

Metode Trapesium

Sebagaimana namanya, metode trapezium merupakan metode integrasi

numerik yang didasarkan pada penjumlahan segmen-segmen berbentuk

trapesium. Apabila sebuah integral didekati dengan metode trapesium dengan

satu segmen saja, maka dapat dituliskan sebagai

∫a

b

f x dx=b−a2 [ f a +f b ]+E

Suku pertama pada ruas kanan adalah aturan trapezium yang kita

maksudkan, sedangkan suku kedua yang dinyatakan dengan E adalah kesalahan

yang dimiliki oleh metode ini.

Dengan demikian kita memperoleh pendekatan integral dengan teknik

integrasi trapesium adalah

∫x0

x0h

f t dt≈h2 [ f x0 f x0h]

Secara grafis integrasi trapesium dapat digambarkan seperti pada gambar

(3-3)

h

Gambar 3.2. Deskripsi secara grafis aturan trapesium

Page 13: Modul Praktikum Pemrograman13

Matlab menyediakan beberapa fungsi integrasi yang dapat digunakan

untuk memperoleh hasil pendekatan numerik dari ungkapan integral. Beberapa

fungsi integrasi yang disediakan Matlab ditampilkan pada Tabel 9.1

Perintah Deskripsitrapz(x,y)

quad('myfunction',a,b,tol)

quadl('myfunction',a,b,tol)

dblquad('fun',xmin,xmax,

ymin,ymax,tol)

triplequad('fun',xmin,xma

Perintah ini digunakan untuk menghitung

integral fungsi y terhadap x dengan pendekatan

integrasi numerik aturantrapesium, dimana larik

y berisi nilai fungsi yang besesuaian dengan titik x

Perintah ini digunakan untuk menghitung

integral fungsi bernama 'myfunction' berdasarkan

aturan Simpson dengan batas bawah integrasi a

dan batas atas b serta tol adalah harga toleransi

yang diberikan.

Perintah ini digunakan untuk menghitung

integral fungsi berdasarkan pada integrasi

kuadratur Labato. Sedangkan a,b dan tol sama

dengan quad.

Digunakan untuk menghitung integral ganda dari

fungsi 'fun' dengan xmin dan xmax masing-

masing adalah batas bawah dan atas pada sumbu

x, sedangkan ymin dan ymax masing-masing

adalah batas bawah dan batas atas pada sumbu y.

sedangkan tol adalah toleransi yang bisa diset.

Fungsi ini digunakan untuk menghitung integrasi

Page 14: Modul Praktikum Pemrograman13

x,ymin,ymax,zmin,zmax,to

l)

numerik ganda tiga dari fungsi 'fun' dengan xmin,

ymin dan zmin masing-masing adalah batas

bawah untuk sumbu x,y dan z serta xmax, ymax

dan zmax masing-masing adalah batas atas

integrasi untuk sumbu x,y dan z.

Contoh

Dapatkan hasil pendekatan integral dari ∫0

1

x−cos x dx .

Penyelesaian

>> x=linspace(0,1,100);

>> y=x-cos(x);

>> plot(x,y)

>> trapz(x,y)

ans =

-0.3415

Contoh

Sebuah akselerometer digunakan untuk mengukur percepatan pesawat

terbang. Dimisalkan pesawat dari keadaan diam pada t=0 dan dicatat

percepatannya setiap waktu seperti terlihat pada Tabel 9.2

Tabel 9.2 Percepatan pada setiap waktu yang diukur dengan akselerometer.

Waktu 0 1 2 3 4 5 6 7Percepatan (m/s2) 0 2 4 7 20 23 40 55

(a) Perkirakan kecepatan pesawat setelah detik ke t=7.

(b) Perkirakan kecepatan pesawat pada saat t=1,2,3,...,7

Penyelesaian

(a) Untuk menyelesaikan masalah ini, kita tidak dapat menggunakan fungsi

quad atau quadl, karena integrand berupa data diskret. Oleh sebab itu,

Page 15: Modul Praktikum Pemrograman13

kita hanya dapat menggunakan fungsi trapz. Hubungan antara kecepatan

dan percepatan adalah

v 10=∫0

7

a t dtv 0=∫0

7

a t dt

>> t=[0:7];

>> a=[0,2,4,7,20,23,40,55];

>> v=trapz(t,a)

ans =

123.5000

(b) Untuk memperoleh kecepatan pada saat t=1,2,3,...,7, maka ungkapan

integral yang cocok adalah

v t k =∫t1

t k

a t dtv 1=∫t 1

t k

a t dt

Ingat bahwa Matlab tidak mengenal indeks 0, sehingga k bergerak

mulaidari 1 hingga 11 dimana t 1=0 dan t 8=7 . Jika dinyatakan

dalam pemrograman Matlab,

t=[0:7];

a=[0,2,4,7,20,23,40,55];

v(1)=0;

for i=2:8

v(i)=trapz(t(1:i),a(1:i))

end

disp([t' v']);

Bisa pula programnya dibuat lebih sederhana menjadi

t=[0:7];

a=[0,2,4,7,20,23,40,55];

v(1)=0;

for i=1:7

Page 16: Modul Praktikum Pemrograman13

v(i+1)=trapz(t(i:i+1),a(i:i+1))+v(i);

end

disp([t' v']);

Hasil running programnya seperti diperlihatkan pada tabel di bawah ini

0 0

1.0000 1.0000

2.0000 4.0000

3.0000 9.5000

4.0000 23.0000

5.0000 44.5000

6.0000 76.0000

7.0000 123.5000

Metode Simpson 1/3

Dalam pembahasan tentang metode numerik, metode integrasi trapesium

dapat mendapatkan secara eksak jika integrand berupa fungsi yang linier. Tetapi

bagaimana jika fungsi integrand berwujud fungsi kuadratik. Jika fungsi

integrand berupa polinomial orde dua (kuadratik), maka metode Simpson 1/3

dapatdi terapkan untuk memperoleh harga yang eksak. Metode Simpson dapat

digambarkan dengan ungkapan

∫a

b

f x dx≈h3 [ f a 4 ∑

i=0

N /2−1

f x 2i12 ∑i=1

N /2−1

f x2 i f b]Contoh

Buatlah pogram Matlab untuk mendapatkan hasil pendekatan integral

dari ∫a

b

e x dx , dimana kita dapat memasukkan batas bawah a dan batas atas b.

Page 17: Modul Praktikum Pemrograman13

Penyelesaian

Matlab menyediakan fungsi quad yang didasarkan pada penggunaan

metode Simpson 1/3 untuk menyelesaikan masalah integral. Kalau fungsi trapz

dapat menyelesaikan dengan nilai eksak untuk fungsi integrand linier, maka

quad dapat memperoleh harga eksak untuk integrand yang berbentuk kuadratik.

Contoh

Dapatkan nilai integral ∫4

6

x2−3 x−4 dx dengan trapz dan quad.

Penyelesaian

Dengan menggunakan Matlab, maka dengan mudah akan diperoleh

hasilnya

(a) Dengan fungsi trapz

>> x=linspace(4,6,20);

>> y=x.^2-3*x-4;

>> trapz(x,y)

ans =

12.6704

(b) Dengan fungsi quad

>> y=inline('x.^2-3*x-4');

>> quad(y,4,6)

ans =

12.6667

(c) Dengan perhitungan manual

∫4

6

x2−3 x−4 dx= 13

x3−32

x2−4 x]4

6

=−618.6667=12.6667

Jadi jelas bahwa dengan menggunakan metode Simpson yang diwakili

dengan fungsi quad dapat menemukan harga eksaknya jika integrand merupakan

fungsi kuadratik.

Page 18: Modul Praktikum Pemrograman13

TUGAS

Page 19: Modul Praktikum Pemrograman13