BAB I
PENGANTAR SCILAB
Tujuan Instruksional Khusus :
1. Menjelaskan kegunaan dari komponen - komponen yang ada dalam antarmuka Scilab.
2. Membuat fungsi ataupun prosedur pada Scilab.
3. Menggunakan operator aritmatika, logika dan relasional dalam Scilab untuk menyelesaikan masalah.
4. Menggunakan perintah untuk pemilihan dan pengulangan.
5. Menggunakan operasi dalam array untuk menyederhanakan vektor atau matriks.
6. Memplotting gambar dari sebuah fungsi yang diberikan.
1.1 Pemasangan Scilab
Scilab adalah salah satu perangkat lunak tidak berbayar (open source) yang dibuat oleh Scilab Enterprise dengan tujuan untuk membantu ahli teknik atau pun ilmuwan dalam menyelesaikan permasalahan-permasalahan numerik. Perangkat lunak ini dapat diunduh pada www.scilab.org dan dapat digunakan pada OS Linux ataupun Windows. Selain tidak berbayar, penggunaan perintah-perintah dalam Scilab mengadopsi perintah-perintah yang ada pada perangkat lunak Matlab. Hal ini membuat Scilab akan mudah digunakan bagi orang yang telah terbiasa menggunakan perangkat lunak Matlab. Matlab sendiri adalah perangkat lunak sejenis yang berbayar dan sering digunakan untuk melakukan komputasi numerik dan visualisasi data.
Di dalam buku ini metode-metode numerik yang dibahas akan diimplementasikan menggunakan perintah-perintah yang ada pada Scilab.
Untuk memasang Scilab pertama kali adalah dengan mengunduh perangkat lunak melalui situs https://www.scilab.org dan mengikuti instruksi pemasangan perangkat lunak. Setelah terpasang, maka tampilan yang terlihat setelah perangkat lunak dibuka dapat dilihat pada gambar 1.1
Terdapat lima bagian utama yang muncul diawal perangkat lunak yaitu:
1. File Program adalah bagian yang digunakan untuk mengatur direktori yang aktif. Seperti pada pemrograman Matlab sebelum suatu fungsi dieksekusi maka terlabih dahulu harus dipastikan bahwa fungsi yang dibaca berada pada direktori yang sama dengan direktori yang sedang aktif.
2. Jendela Console berfungsi untuk mengeksekusi perintah yang diberikan dan memunculkan hasil eksekusi. Semua perintah yang dituliskan pada jendela console akan langsung dieksekusi dan hasilnya dapat dilihat langsung oleh pengguna.
3. Bagian Variable Browser ditampilkan untuk melihat karakteristik dari data yang digunakan baik nilai, tipe datanya ataupun visibilitynya.
4. Command History berisi perintah-perintah yang pernah digunakan sebelumnya. Perintah yang ada pada command history dapat dipanggil kembali dengan cara mengeklik baris perintah 2x.
5. News Feed bagian untuk menampilkan informasi berkaitan dengan perkembangan Scilab terbaru baik berupa informasi mengenai konferensi ataupun workshop.
Gambar 1.1 Tampilan Utama pada Scilab
Selain lima bagian utama yang dimunculkan pada jendela console, terdapat pula satu jendela yang sering digunakan yaitu Scinotes. Scinotes adalah tempat untuk menuliskan fungsi atau prosedur pada Scilab untuk disimpan dan dijalankan pada Jendela Console. Berbeda dengan perintah yang dituliskan pada jendela console, fungsi atau prosedur yang telah dituliskan pada Scinotes sewaktu-waktu dapat dipanggil kembali tanpa harus menuliskannya terlebih dahulu. Scinotes dapat dipanggil dengan menuliskan
perintah Scinote pada jendela console atau dengan mengeklik pada menu bagian atas. Adapun, tampilan Scinotes ditunjukkan pada gambar 1.2.
Pada halaman ini dituliskan perintah-perintah yang diinginkan, lalu disimpan untuk kemudian dijalankan, hasilnya dapat dilihat pada jendela console.
1.2 Mendefinisikan Fungsi pada Scilab
Untuk dapat mendefiniskan fungsi pada Scilab dapat dilakukan dengan dua cara yaitu
1. Menuliskan perintahnya pada jendela console dengan menggunakan perintah def seperti contoh 1.
Contoh 1
Gambar 1.2 Tampilan jendela Scinotes
--
>deff('L=luas(p,l)','L=p*l') / /deff(‘(output1,output2,...)=namamodul(input1,input2,...),’persamaan’)
-->luaspersegipanjang=luas(2,3) luaspersegipanjang =
6.
Selama perangkat lunak keluar atau perintah clear belum dijalankan maka modul dengan nama luas masih dapat dipanggil untuk digunakan untuk nilai inputan yang berbeda-beda.
2. Menggunakan jendela SciNotes. Jendela editor (SciNotes) dibuka dengan memilih dari jendela Editor pada menubar atau dengan menuliskan scinote() pada jendela console scilab.
Dengan menggunakan Scinotes maka perhitungan luas persegipanjang dapat dituliskan dalam bentuk fungsi yang disimpan dengan nama file .sci.
Contoh 2
Pada Contoh 2 nama fungsi adalah luaspp dan file akan otomatis disimpan sesuai dengan nama fungsinya yaitu luaspp.sci.
Untuk mengeksekusi fungsi digunakan 3 cara yaitu:
1. Pada menu bar jendela editor pilih execute lalu Load into scilab 2. Pada menu bar jendela kerja pilih execute lalu pilih file yang akan
dieksekusi
3. Dengan mengetikkan secara langsung di jendela kerja exec(‘d:\metnum scilab\luaspp.sci’)artinya memanggil fungsi luaspp.sci yang berada di direktori d yang ada dalam folder bernama metnum scilab.
Contoh 3
Selanjutnya fungsi yang sudah dipanggil dapat digunakan dengan cara menuliskan perintah berikut pada jendela console:
function L=luaspp(p,l);
L = p*l;
endfunction
-->exec('d:\Metnum Scilab\luaspp.sci') -->function L=luaspp(p,l);
--> L=p.*l;
-->endfunction
Contoh 4
Seperti halnya pada bahasa pemrograman yang lain modul atau fungsi dapat digunakan/dipanggil dalam fungsi yang lain yang telah dibuat sebelumnya. Dalam scilab digunakan fungsi exec(‘lokasi dan nama file’)
Contoh 5
1.3 Operator Arimatika dan Logika
Untuk menjalankan perintah-perintah yang akan dieksekusi oleh Scilab, Tabel 1.1 menunjukkan operator - operator aritmatika yang dapat digunakan.
Tabel 1.1 Operator Artimatika dan Operator Pembanding
Simbol Keterangan Simbol Keterangan
+ Penjumlahan == Sama dengan
- Pengurangan < Kurang dari
* Perkalian > Lebih dari
/ Pembagian >= Lebih dari atau sama
dengan
\ Pembagian kiri <= Kurang dari atau sama dengan
^ Pangkat <> , ~= Tidak sama dengan
Contoh 6
-->Luas=luaspp(2,3) Luas =
6.
function V=volkotak(panjang,lebar,tinggi);
exec('d:/metnum scilab/luaspp.sci');
V=luaspp(panjang,lebar)*tinggi;
endfunction
--> 2.5==5/2 ans = T
--> 'saya'=='kamu' ans =
F
--> 'saya'<>'kamu' ans =
T --> 2+5
ans = 7.
--> 2\4 ans = 2.
--> 2/4 ans = 0.5
Contoh 6 menunjukkan untuk pengecekan menggunakan operator pembanding nilai yang dimasukkan bisa berupa angka atau string.
Untuk kebutuhan implementasi metode numerik maka berikut ini ada beberapa contoh variabel dan fungsi yang telah didefinisikan pada Scilab.
Untuk mengetahui variabel yang tersedia di Scilab gunakan perintah who.
Tabel 1.2. Konstanta Spesial pada Scilab Konstanta Spesial pada Scilab Nilai/Keterangan
%pi 3,1415927
%i 1
%e e2,7182818
%t dan %f True dan false dalam konstanta boolean
%eps Epsilon mesin 2,22 x 10-16
Tabel 1.3. Beberapa fungsional yang langsung bisa digunakan pada Scilab
Fungsional Kegunaan
factorial(7) 7!
sin(7) sin 7
log(5) ln 5
disp(x) Menampilkan nilai variable x printf(‘Hello World’) Menampilkan tulisan ‘Hello World’
N=input(‘Masukkan nilai= ‘) Menampilkan tulisan ‘Masukkan Nilai =’ dan hasil inputan disimpan pada variable N pmodulo(5,2) Menghitung sisa hasil bagi 5 dengan 2
abs(x) Nilai mutlak dari x
Untuk operator logika dalam Scilab dapat digunakan simbol pada Tabel 1.4 berikut ini
Tabel 1.4 Simbol-simbol Operator Logika
Simbol Operator Keterangan
& And Konjungsi
| Or Disjungsi
~ Nor Ingkaran
Latihan 1.1
1. Buatlah sebuah fungsi untuk menghitung keliling dan luas lingkaran 2. Diberikan script berikut ini lengkapilah bagian yang kosong, tuliskan
pada scinotes dan kemudian jalankan kembali script tersebut.
function [Keliling, Luas, Volume]=Balok(panjang, lebar, tinggi) Keliling =4*panjang+__________________;
Luas=_____________________________________________;
Volume=panjang*lebar*tinggi;
endfunction
Untuk mengecek hasil perhitungan maka bisa menuliskan perintah di bawah ini pada jendela console.
--> [Keliling, Luas, Volume]=Balok(3,2,1) Volume =
6.
Luas = 22.
Keliling = 24 .
1.4 Kondisi dan Perulangan
Sepertihalnya pada Matlab, terdapat perintah-perintah yang dapat digunakan untuk menyederhanakan script yang dibuat, perintah-perintah
tersebut adalah penggunaan kondisi dan perulangan dalam Scilab. Tabel 1.5 adalah beberapa perintah yang digunakan untuk pengecekan kondisi dan perulangan.
Tabel 1.5 Perintah untuk Pengecekan Kondisi dan Perulangan
Perintah Implementasi
Penggunaan if if komparasi (P1) then
perintah untuk (P1) benar elseif komparasi (P2) then perintah untuk (P2) benar else
perintah end
Penggunaan case of select nama() case nama1 then Perintah_1 case nama2 then Perintah_2 ....
else
Perintah_n end
Penggunaan for inisiasi
for variabel_penghitung = 1:langkah:n perintah yang dikerjakan
end
Penggunaan While inisialisasi while kondisi perintah end
Contoh 7
Perintah Hasil Eksekusi
Tahun = input('Masukkan tahun = ');
if pmodulo(Tahun,4)==0 then disp('Tahun Kabisat');
else
disp('Bukan Tahun Kabisat');
end
Masukkan tahun = 2003
Bukan Tahun Kabisat angka = input('Masukkan angka 1 - 3 =
'); Masukkan angka 1 - 3 =
select angka case 1 then
disp('Hari ke-1 adalah Senin');
case 2 then
disp('Hari ke-2 adalah Selasa');
case 3 then
disp('Hari ke-3 adalah Rabu');
else
disp('Angka yang dimasukkan tidak sesuai')
end
2
Hari ke-2 adalah Selasa Masukkan angka 1 - 3 = 6
Angka yang dimasukkan tidak sesuai for angka = 1: 3
printf('Angka ke- %d \n',angka);
end
Angka ke- 1 Angka ke- 2 Angka ke- 3 angka=1
while angka <= 3
printf('Angka ke- %d \n',angka);
angka = angka+1;
end
Angka ke- 1 Angka ke- 2 Angka ke- 3
Latihan 1.2
1. Buatlah program sederhana untuk menghitung penjumlahan dan perkalian rekursif berikut ini
a.
10 1 x
x
b.
10 2,4,...
x
x
2. Modifikasi program pada no 1 dengan mengubah masukan x menjadi dinamis, sehingga dapat dihitung penjumlahan dan perkalian rekursifnya untuk sembarang nilai x yang dimasukkan.
1.5 Vektor dan Matriks pada Scilab
Seperti halnya pada Matlab, Scilab dapat menerima masukan nilai berupa vektor ataupun matriks. Berikut ini adalah contoh input dari vektor dan matriks.
A=[2 3 5;5 3 2]
[baris,kolom]=size(A) A’
A(1,3)
B=eye(5,5) C=one(4,1) D=2:3:18 A.^2
Latihan 1
Tuliskan kembali perintah yang diberikan pada window console. Perhatikan respon dari perintah yang diberikan lalu jelaskan kegunaan dari setiap perintah yang digunakan.
1.6 Visualisasi Grafik pada Scilab
Seperti pada Matlab perintah untuk memvisualisasikan data dengan menggunakan perintah
perintah Keterangan
plot(a,b) Menampilkan grafik dengan nilai a pada sumbu x dan nilai b pada sumbu y
Title Menampilkan nama dari setiap sumbu
subplot (mn,p) Menampilkan beberapa grafik dalam satu tampilan dengan m = baris, n = kolom dan p = urutan gambar
clf Membersihkan grafik dari hasil plotting data
Contoh 6
//Program visualisasi dengan subplot x=[0:0.1:2*%pi]';
y1=sin(x);
y2=cos(x);
subplot(1,2,1) plot2d(x,y1)
xtitle('Grafik Fungsi Sinus','x','y1')
subplot(1,2,2) plot2d(x,y2)
xtitle('Grafik Fungsi Cosinus','x','y2')
Contoh 7
clf;
x=-4:0.1:4;
f=x.^2+3*x-5;
g=3*x-2;
plot(x,f,x,g);
gambar=gca();
gambar.x_location = "origin";
gambar.y_location = "origin";
gambar.grid=[1,1];
Latihan 2
Gambarkan pada satu bidang koordinat fungsi grafik f(x) = sin(x) dan g(x) = e-x pada interval [0,3]. Tentukan perkiraan titik potong dari kedua grafik tersebut. (gunakan fungsi plot)
BAB II
HAMPIRAN DAN GALAT
2.1 Pengertian Metode Numerik
Untuk memahami suatu proses pada dunia real, maka proses yang terjadi dapat direpresentasikan terlebih dahulu ke dalam bentuk persamaan matematika. Adapun bentuk persamaan matematika dapat berupa sistem persamaan linear maupun persamaan tak linear, persamaan integral dengan nilai batas yang diketahui, persamaan diferensial, dan lain-lain. Representasi dari proses ini disebut dengan model matematika. Jadi model matematika menggambarkan sistem dunia nyata ke dalam bentuk persamaan matematika.
Hal yang tidak kalah penting untuk diketahui adalah bagaimana menyelesaikan solusi dari model matematika tersebut agar dapat diketahui bagaimana perilaku dari sistem yang diamati. Solusi ini disebut dengan solusi eksak. Salah satu metode yang digunakan untuk menyelesaikan model matematika adalah menggunakan metode analitis.
Beberapa contoh metode analitis yang dapat digunakan untuk menyelesaikan model adalah Teknik Integral Parsial untuk menghitung integral dari suatu fungsi, metode Eliminasi untuk menyelesaikan sistem persamaan linear, faktorisasi untuk mencari akar dari persamaan nonlinear. Adanya kesulitan dalam menggunakan metode analitis untuk menyelesaikan model matematika yang rumit mengakibatkan munculnya metode lain yang dapat mengaproksimasi solusi eksak dari model tersebut, metode inilah yang disebut dengan metode numerik.
Definisi 1
Metode numerik adalah teknik-teknik yang digunakan untuk memformulasikan masalah matematis agar dapat diselesaikan dengan menggunakan operasi perhitungan. Karena metode numerik melibatkan
operasi perhitungan yang berulang-ulang maka dalam pengembangannya metode numerik diimplemetasikan dengan memanfaatkan teknologi komputer. Bidang yang mengkaji pengembangan metode yang efisien dan akurat untuk mengaproksimasi suatu nilai eksak yang sulit diperoleh secara analitis disebut komputasi saintifik. Komputasi saintifik melibatkan perangkat keras komputer, dan latar belakang teori berupa teori matematika, metode dan algoritma serta perangkat lunak untuk menghampiri/mengaproksimasi solusi eksak dari model yang diteliti.
Prinsip-prinsip Metode Numerik dapat diuraikan sebagai berikut : 1. Metode Numerik disajikan dalam bentuk algoritma yang mudah
dihitung secara cepat dan mudah.
2. Pendekatan dalam Metode Numerik dengan analisis matematika, dengan tambahan grafis dan teknik perhitungan yang mudah.
3. Algoritma dalam Metode Numerik dengan algoritma pendekatan maka akan muncul istilah iterasi atau pengulangan proses perhitungan.
4. Dengan metode pendekatan sehingga hasil perhitungan akan mempunya nilai kesalahan (error).
Ada beberapa kriteria penyelesaian perhitungan matematika :
1. Bila masalah perhitungan sederhana atau ada teorema analisis matematika yang bisa menyelesaikan masalah tersebut, maka penyelesaian matematis atau metode analitik adalah penyelesaian eksak yang bisa dipakai dengan metode pendekatan.
2. Bila masalah perhitungan sudah sangat sulit, atau tidak mungkin diselesaikan secara analitik, karena tidak ada teorema analisis matematika yang bisa dipakai, maka bisa dipakai metode numerik.
3. Bila masalah perhitungan mempunyai kompleksitas yang tinggi, sehingga metode numerik tidak bisa diselesaikan dengan sempurna, maka bisa dipakai metode-metode simulasi.
Berikut ini adalah contoh sederhana yang dapat diselesaikan dengan menggunakan metode numerik.
1. Misalkan sebuah tabung diisi penuh air dengan tinggi tabung 7 cm dan kedalamnya dimasukkan sebuah bola sehingga air dari tabung tumpah sebanyak 10 cm3. Ingin diketahui berapa ukuran diameter bola yang harus dimasukkan. Permasalahan ini diformulasikan kedalam persamaan matematika menjadi
Vtabung Vbola Vairtumpah
2 4 3
7 10
r 3 r
3 2 30
4r 21r 0
Untuk menyelesaikan persamaan ini dapat dilakukan dengan metode yang diberikan di sekolah namun solusi dari masalah ini dapat diaproksimasi secara numerik dengan menggunakan metode numerik.
2. Diberikan data dari jarak tempuh dan kecepatan sebuah mobil
Tabel 1 Data Hasil Pengamatan dari Jarak Tempuh dan Kecepatan Sebuah Mobil
Waktu (detik) 0 3 6 8 12
Jarak (meter) 0 40 85 130 210
Kecepatan(m/d
et) 0 30 45 35 20
Dari data yang dimiliki dapat ditentukan posisi mobil pada detik ke-10 dengan menggunakan aproksimasi.
1.1Sumber Kesalahan Aproksimasi
Dalam melakukan aproksimasi munculnya kesalahan atau galat tidak dapat dihindari.
Berikut ini adalah beberapa penyebab terjadinya galat:
1. Galat yang terjadi sebelum komputasi
Contoh galat yang terjadi sebelum komputasi adalah: kesalahan dalam memodelkan masalah real kedalam bentuk persamaan matematika,
keterbatasan alat ukur yang digunakan, mengambil data hasil komputasi sebelumnya yang juga merupakan hasil aproksimasi.
2. Galat yang terjadi selama komputasi
Galat yang terjadi selama komputasi dapat dibagi menjadi dua yaitu:
a. Galat yang terjadi akibat pembulatan (rounded error) representasi bilangan hasil perhitungan pada komputer telah melalui proses pembulatan akibatnya hasil komputasinya akan disertai kesalahan.
b. Galat yang terjadi akibat pemotongan (truncation error), galat ini muncul akibat penggunaan hampiran sebagai pengganti persamaan eksak. Contohnya adalah pada fungsi yang kontinu maka penggambaran fungsi dilakukan dengan mendiskritisasi dengan sejumlah yang berhingga titik.
1.2Aturan Pembulatan Bilangan Desimal
Galat yang terjadi akibat pembulatan muncul dari dua metode yang sering dilakukan yaitu:
1. Pemotongan (chopping)
2. Pembulatan terdekat (rounding)
Untuk lebih jelasnya perhatikan contoh pembulatan bilangan desimal menjadi dua digit
Tabel 2 Contoh Pemotongan dan Pembulatan Bilangan Pemotong
an
Pembulata n
Bilangan Pemotong an
Pembulata n
2,74 9
2,7 2,7 2,84
9
2,8 2,8
2,75 0
2,7 2,8 2,85
0
2,8 2,8
2,75 2,7 2,8 2,85 2,8 2,9
1 1 2,79
9
2,7 2,8 2,89
9
2,8 2,9
Amati tabel diatas kemudian simpulkan aturan pembulatan khususnya untuk pembulatan terdekat.
Berdasarkan contoh yang diberikan maka aturan yang berlaku dalam pemotongan adalah sebagai berikut:
1. Untuk pemotongan bilangan desimal, digit yang digunakan sesuai dengan jumlah desimal yang diinginkan. Jika nilai 74,289 akan dipotong menjadi satu desimal maka angka setelah desimal kesatu yaitu 8 dan 9 akan dibuang. Contoh lainnya 2134,286471 jika dipotong menjadi tiga desimal akan menjadi 2134,286.
2. Pada kasus pembulatan, angka yang akan diamati adalah angka setelah desimal yang diinginkan. Contoh jika 74,289 akan dibulatkan dua desimal maka angka yang diamati adalah angka pada desimal ketiga yaitu 9. Jika 2134,286471 akan dibulatkan menjadi 4 desimal maka angka yang diamati adalah angka pada desimal ke 5 yaitu 7.
Berikut adalah aturan yang digunakan dalam pembulatan:
a. Jika desimal yang diamati < 5 maka nilai desimal sebelumnya tetap.
Contoh pembulatan dua desimal dari 31,7234 adalah 31,72 karena angka 3 dari desimal ketiga kurang dari 5.
b. Jika desimal yang diamati >5 maka nilai desimal sebelumnya bertambah satu. Contoh pembulatan dua desimal dari 438,538 adalah 438,54 karena angka 8 pada desimal ketiga > 5.
c. Jika desimal yang diamati =5 maka lihat desimal berikutnya, jika nilainya tidak nol maka nilai desimal sebelumnya bertambah satu.
Contoh pembulatan 3 desimal dari 43,53351 akan menjadi 43,534 karena desimal keempat nilainya 5 dan desimal selanjutnya nilainya tidak nol. Akantetapi, jika nilai yang diamati =5 dan nilai selanjutnya bernilai nol maka akan dilihat desimal sebelum angka 5
tersebut. Jika nilai angka sebelumnya bernilai ganjil maka nilai desimal tersebut bertambah satu dan jika nilai angka sebelumnya bernilai genap maka nilai desimal tersebut tetap. Contoh pembulatan 2 desimal dari 34,315 dan 147,365 akan menjadi 34,32 dan 147,36.
Karena banyaknya iterasi dalam algortima dapat mencapai ribuan kali maka dapat terjadi akumulasi galat yang tidak dapat dikendalikan (blow up) walaupun pada iterasi pertama hanya terjadi galat dengan nilai yang kecil.
Oleh karena itu perlunya untuk mengecek akurasi dan stabilitas dalam menggunakan algoritma menjadi hal yang penting untuk dianalisis sebelum melakukan aproksimasi secara numerik. Jika akurasi menunjukkan pada seberapa dekat hasil aproksimasi dengan hasil sebenarnya maka stabilitas menunjukkan pada seberapa rentannya perubahan hasil aproksimasi akibat perubahan sedikit dari nilai variabel masukkannya.
Jika akurasi digunakan untuk menunjukkan seberapa dekat suatu nilai aproksimasi dengan nilai eksak, maka presisi digunakan untuk menunjukkan seberapa dekat nilai aproksimasi dengan nilai aproksimasi lainnya. Nilai yang tidak akurat disebut dengan istilah bias sedangkan nilai yang tidak presisi disebut dengan ketidakpastian (uncertainty).
Latihan 3
Lakukan pembulatan dengan menggunakan dua desimal dan tiga desimal dari soal berikut ini
Dua Desimal Tiga Desimal
Bilangan Pemotonga
n Pembulata
n Bilangan Pemotonga
n Pembulata
n
5,3456 5,3456
8,6785 8,6785
52,5354 52,5354
235,7935 235,7935
7,245 7,245 1.3Galat
Dari cara perhitungannya galat dapat dibagi menjadi dua yaitu : a. Galat Eksak
Galat eksak dihitung dari selisih antara solusi eksak dengan solusi numerik, dituliskan dalam persamaan berikut:
t ˆ E a a
dengan ˆaadalah nilai aproksimasi dan aadalah nilai eksaknya b. Galat Relatif
Galat relatif terbagi menjadi dua, yaitu:
1. Galat relatif sejati adalah galat yang diperoleh dengan membandingkan Etterhadap a
ˆ
t
a a
a
atau
ˆ 100%
t
a a
a
2. Galat relatif semu adalah galat yang diperoleh dari nilai aproksimasi saat ini dikurang nilai aproksimasi sebelumnya dan dibandingkan dengan nilai aproksimasi saat ini atau dituliskan menjadi persamaan berikut ini
1 1
r r
a r
a a
a
atau
1 1
100%
r r
a r
a a
a
dengan ar1nilai aproksimasi saat ini dan ar nilai aproksimasi sebelumnya. Galat relatif semu sering digunakan apabila solusi eksaknya tidak diketahui.
Contoh 1
Manakah yang lebih signifikat 10 orang gagal ujian dari 100 peserta ujian atau 1 orang gagal dari 20 orang peserta ujian?
Untuk kasus 10 orang gagal maka
10 100% 1%
t 100
sedangkan
Untuk kasus 1 orang gagal maka
1 100% 5%
t 20
Maka terjadinya kegagalan ujian lebih signifikat pada kasus 1 orang yang gagal dibandingkan dengan 10 orang yang gagal. Di dalam komputasi penggunaan galat bertujuan agar pada saat proses penghitungan akan diketahui kapan komputasi harus berhenti. Kondisi yang biasa digunakan adalah berhenti jika galat yang diperoleh < nilai toleransi galat. Toleransi galat adalah besarnya ketelitian yang diinginkan pada saat komputasi berakhir.
1.4Deret Taylor
Telah dijelaskan bahwa galat pemotongan adalah galat yang muncul akibat penggunaan hampiran sebagai pengganti persamaan eksak. Salah satu fungsi yang digunakan untuk menghampiri nilai eksak adalah menggunakan deret Taylor. Setiap fungsi yang kontinu dapat diaproksimasi dengan sebuah fungsi polinomial dengan menggunakan deret Taylor.
Definisi 2
Andaikan f dan f ΄, f ΄΄,… kontinu pada selang [a,b]. Misalkan x0 ∈ [a,b] maka untuk x disekitarx0, x∈ [a,b] maka f(x) dapat diekspansi ke dalam deret Taylor menjadi
2
0 0 ( ) 0
0 0 0 0
( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
1! 2! !
m
x x x x m x x
f x f x f x f x f x
m
Jika x x 0h maka deret Taylor dituliskan kembali menjadi
2
( )
0 0 0 0
( ) ( ) ( ) ( ) ( )
1! 2! !
m
h h m h
f x f x f x f x f x
m
Jika nilai x00maka deret Taylor ini disebut dengan deret Mc Laurin
2 ( )
( ) (0) (0) (0) (0)
2! !
m m
x x
f x f f x f f
m
Latihan 4
Hampiri fungsi ex ke dalam deret Taylor disekitar x00. ( ) x, ( ) x, ( ) x, 4( ) x f x e f x e f x e f x e Maka dengan deret Taylor diperoleh
2 3
0 0 0 0
2 3
( 0) ( 0) ( 0)
1! 2! 3! ...
1 ...
1! 2! 3!
x x x x
e e e e e
x x x
dengan h x 0.
Jika ingin diaproksimasi nilai e1maka diperoleh hasilnya pada tabel berikut:
Lengkapi tabel berikut ini hingga nilai =0.001 Suku
ke-
Nilai hampiran Galat Eksak Galat Hampiran
1 1
2 1+1=2
3 1+1+0.5=2.5
4 5
1.5Order Konvergensi
Melakukan aproksimasi secara numerik dari solusi eksak prinsipnya sama dengan membangun sebuah barisan x x1, ,....,2 xn yang konvergen ke suatu nilai x. Nilai x x1, ,....,2 xn dapat dipandang sebagai hasil perhitungan numerik disetiap iterasi sedangkanxsuatu nilai yang diharapkan adalah nilai solusi
eksak sehingga dengan semakin bertambahnya n maka barisan
xn akan mendekati nilai x. Sesuai dengan teori barisan dalam kalkulus maka berlakulim n
n x x
Terdapat banyak kemungkinan barisan
xn yang bisa konvergen menuju x. Perbedaannya terletak dari kecepatan konvergensi. Untuk mengukur kecepatan konvergensi digunakan orde kekonvergenan yang dinotasikan dengan O (big – O).Definisi 3
Misalkan
n n1konvergen ke bilangan untuk n membesar. Jika terdapat konstanta positif pdan K sehingga. 1
n K p
n
untuk semua
. 1
n K p
n
besar
Maka dikatakan
n n1konvergen ke dengan orde kekonvergenan 1 O pn
Relasi antara dan n adalah
1
n O p
n
Persamaan ini menyatakan bahwa n dengan kecepatan konvergensi 1 np
Jika nilai psemakin besar maka makin cepat barisan tersebut mencapai konvergensi.
Contoh 2
Diberikan dua barisan berikut
1 xn
n
dan 3 2 yn
n
Keduanya akan konvergen ke 0, tetapi barisan ynakan lebih cepat konvergen dari pada barisan xn, sehingga dengan definisi dapat dituliskan
( 1)
xn O n dan yn O n
3Latihan
Buatlah program untuk menghitung nilai aproksimasi e dengan menggunakan deret taylor untuk nilai x = 1 disekitar x0 = 0, jika diberikan nilai e = 0.3678794414 (gunakan %e). Buatlah tabel aproksimasinya sampai kesalahan relatifnya kurang dari 0.00000001, tampilkan pula perhitungan galat eksak, galat relatif