Anda di halaman 1dari 9

Pengantar Komputasi Numerik dan Visualisasi Data

dengan Scilab

Saifuddin Arief
Saifuddin.Arief@valeinco.com

Scilab adalah suatu perangkat lunak yang dikembangkan untuk komputasi


numerik dan visualisasi data. Pada awalnya Scilab dikembangkan oleh
INRIA dan ENPC, Perancis, dan sekarang pengembangan dan
pemeliharaan Scilab dilakukan oleh konsorsium Scilab. Alamat website
Scilab adalah http://www.scilab.org.

Gambar 1.1 Scilab

Dua kelebihan utama dari Scilab yaitu gratis (freeware) dan tersedia untuk
berbagai sistem operasi seperti Windows, Mac OS/X, Unix dan Linux.

Scilab dapat dianggap sebagai sebuah kalkulator sains yang sangat canggih
yang dapat digunakan untuk menyelesaikan berbagai persoalan komputasi
numerik dengan mudah dan cepat. Scilab juga menyelesaikan fitur
pembuatan grafik secara dua dimensi dan tiga dimensi. Seperti yang
diilustrasikan pada beberapa contoh di bawah ini.

Dasar-dasar penggunaan Scilab dapat dilihat pada tulisan lainnya yang


telah dipublikasikan dengan judul Sekilas tentang Scilab.

Sebagian besar contoh-contoh yang terdapat pada tulisan ini diambil dari
Bab 1 Pendahuluan dari buku yang sedang penulis kerjakan dengan judul
Scilab: Perangkat Lunak Gratis untuk Komputasi Numerik dan
Visualisasi Data.

Aritmatika.

Misalkan kita mempunyai dua perhitungan sederhana sebagai berikut:


 23 + 4
4
5
 F = 500 1 +
100

Kedua persoalan aritmatika tersebut dapat kita selesaikan dengan


menggunakan perintah-perintah sebagai berikut:
-->2*3 + 4
ans =

10.

-->F = 500*(1 + 5/100)^4


F =
607.75313

Matrik dan Aljabar Linier.

Salah satu kelebihan Scilab yaitu dapat menangani matrik dan berbagai
operasi Aljabar Linier dengan mudah dan cepat. Misalkan sistem
persamaan linier yang akan kita selesaikan adalah sebagai berikut:
x1 + x 2 x3 = 0
6 x1 4 x 2 = 24
6 x1 + 2 x3 = 10

2
Sistem persamaan linier ini dapat kita nyatakan secara ringkas dengan
notasi matrik Ax = b . Dimana A adalah matrik yang menyatakan koefisien
sistem persamaan linier sebelah kiri, b adalah vektor kolom yang
menyatakan koefisien sebelah kanan dari sistem persamaan linier dan x
adalah vektor kolom yang menyatakan variabel yang takdiketahui.

Matrik A dapat kita buat dengan menggunakan perintah sebagai berikut.


-->A = [1 1 -1; 6 -4 0; 6 0 2]
A =
1. 1. - 1.
6. - 4. 0.
6. 0. 2.

Pembuatan suatu matrik secara manual, seperti contoh di atas, dapat


dilakukan secara mudah yaitu dengan menggunakan operator kurung siku
kiri dan kurung siku kanan, ([ ]), kemudian tanda spasi atau koma
digunakan untuk memisahkan elemen yang satu dengan elemen lainnya
serta tanda titik koma (;) untuk memisahkan antara baris yang satu dengan
baris yang lain.

Selanjutnya, vektor b dapat kita buat dengan cara sebagai berikut:


-->b = [0; 24; 10]
b =
0.
24.
10.

Setelah matrik A dan vektor b selesai kita buat maka sistem persamaan
linier Ax = b dapat kita selesaikan dengan menggunakan operator
pembagian kiri (\), dengan cara sebagai berikut.
-->x = A\b
x =

2.
- 3.
- 1.

Penyelesaian yang diperoleh adalah x1 = 2, x2 = -3, dan x3 = -1. Terlihat


bahwa kita dapat menyelesaikan suatu persamaan linier dengan cepat dan
mudah.

3
Komputasi aljabar linier lainnya, seperti nilai determinan dan matrik
inverse juga dapat kita hitung dengan mudah. Determinan suatu matrik
bujur sangkar dapat kita hitung dengan menggunakan fungsi det dan
inverse suatu matrik dapat kita peroleh dengan menggunakan fungsi inv.
-->d = det(A)
d =
- 44.
-->IA = inv(A)
IA =

0.1818182 0.0454545 0.0909091


0.2727273 - 0.1818182 0.1363636
- 0.5454545 - 0.1363636 0.2272727

Penyelesaian Persamaan Nonlinier.

Misalkan sebuah fungsi non-linier yang akan kita cara akarnya adalah
f ( x ) = 1 3 x + 12 x exp(x ) . Akar dari sebuah fungsi nonlinier f(x) dapat kita
tentukan dengan mudah menggunakan fungsi fsolve.

Sebelum menjalankan fungsi fsolve maka kita harus mendefinisikan fungsi


f(x) terlebih. Perintah-perintah untuk membuat fungsi f(x) adalah sebagai
berikut.
-->function y = fn(x)
--> y = 1 - 3*x + 0.5*x.*exp(x)
-->endfunction

Gambar 1. Grafik f ( x ) = 1 3 x + 12 x exp(x )

4
Dari Gambar 1 terlihat bahwa fungsi f ( x ) = 1 3 x + 12 x exp(x ) mempunyai
dua buah akar dan akar-akar tersebut nilainya adalah disekitar x = 0.5 dan
x = 1.5.

Akar dari fungsi f(x) yang terletak disekitar titik x = 0.5 dapat kita hitung
sebagai berikut:
-->[x1,fx1] = fsolve(0.5, fn)
fx1 =
- 5.551D-17
x1 =

0.4515419

Selanjutnya akar dari fungsi f(x) yang terletak disekitar titik x = 0.5 dan x

= 1.5. dapat kita hitung sebagai berikut:


-->[x2,fx2] = fsolve(1.5,fn)
fx2 =
0.
x2 =
1.5495377

Penyelesaian yang diperoleh yaitu x = 0.4515 dan x = 1.5495 merupakan


akar-akar dari f(x).

Integrasi Numerik

Banyak persamaan integral tertentu yang sulit atau bahkan tidak dapat
diselesaikan analitis, seperti pada contoh berikut ini.

sin (3 x )
5
I = dx
0 x2 + x +1
Untuk kasus yang seperti ini, kita dapat menyelesaikan secara mudah
dengan menggunakan fungsi intg.

Misalkan h(x) adalah fungsi yang diintegralkan pada persamaan di atas,


maka kita dapat menyatakan fungsi h(x) dengan statemen-statemen sebagai
berikut.
-->function y = h(x)
--> y = sin(3*x)/sqrt(x^2 + x + 1)
-->endfunction

5
Nilai integral I dapat kita hitung dengan menggunakan fungsi intg.
-->I = intg(0, 5, h)
I =
0.3648728

Jawaban yang diperoleh yaitu I = 0.3648.

Regresi Linier

Regresi Linier dari suatu pasangan data dapat kita lakukan dengan
menggunakan fungsi regress. Misalkan kita mempunyai pasangan data
sebagai berikut
x y
-1 10
0 9
1 7
2 5
3 4
4 3
5 0
6 -1

Garis regresi linier y = mx + k dari sekumpulan data tersebut dapat kita


tentukan dengan perintah-perintah sebagai berikut.
-->x = [-1 0 1 2 3 4 5 6];
-->y = [10 9 7 5 4 3 0 -1];

-->koef = regress(x,y)
koef =
8.6428571
- 1.6071429
-->yr = koef(1) + koef(2)*x;

Jawaban yang diperoleh yaitu persamaan garis regresi linier untuk


sekumpulan data tersebut adalah y = -1.607 x + 8.643.

Gambar 2 adalah grafik dari pasangan data x dan y serta garis regresi
liniernya.

6
Contoh Regresi Lininer

12

10

6
y

-2
-1 0 1 2 3 4 5 6
x

Gambar 2. Contoh Regresi Linier

Grafik

Visualisasi dari sekumpulan data atau suatu fungsi juga dapat kita lakukan
dengan mudah seperti pada contoh di bawah ini.
-->x = linspace(0,4,1000); y = 9*exp(-2*x) - 7*exp(-3*x);

-->plot(x,y)
-->xtitle("9*exp(-2*x) - 7*exp(-3*x)","x","y")

Grafik yang dihasilkan oleh perintah-perintah di atas adalah seperti yang


ditunjukkan pada gambar di bawah ini.

Gambar 3

7
Scilab juga dapat digunakan untuk membuat grafik tiga dimensi. Berikut ini
adalah perintah-perintah untuk membuat grafik tiga dimensi, seperti yang
terlihat pada gambar 4.
-->x = linspace(0,2*%pi,50); y = x;
-->z = cos(x')*cos(y);

-->clf, plot3d1(x,y,z)
-->xtitle('z = cos(x)*cos(y)'), xset('colormap',jetcolormap(50))

Gambar 4

Kesimpulan

Dari beberapa contoh di atas terlihat bahwa berbagai persoalan numerik


dapat diselesaikan secara mudah dan cepat dengan menggunakan Scilab.
Perhitungan-perhitungan tersebut tentu saja dapat kita selesaikan dengan
menggunakan suatu progam bahasa pemrograman, seperti Fortan atau C,
namun kita harus menggunakan perintah-perintah yang jauh lebih banyak
dan lebih rumit.

8
Daftar Pustaka

Arief, Saifuddin. Scilab: Perangkat Lunak Gratis untuk Komputasi


Numerik dan Visualisasi Data (draft).
Chapra, S.C., Canale, R.P., Numerical Methods for Engineers with
Programming and Software Applications. WCB/McGraw-Hill,
Singapore, 1998.
Kreyzig, E., Advanced Engineering Mathematics 7th Edition, John Wiley &
Sons, New York, 1993.
Quarteroni, A., Saleri, F., Scientific Computing with MATLAB and
Octave. 2nd Edition. Springer, Berlin, 2006.

Anda mungkin juga menyukai