Modul Praktikum Pemrograman13
-
Upload
gees-angga -
Category
Documents
-
view
5 -
download
0
description
Transcript of 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
>> 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');
>> 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.
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.
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
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
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
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)
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
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:
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
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
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
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,
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
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.
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.
TUGAS