Anda di halaman 1dari 22

Pelatihan Ketrampilan Komputer

Laboratorium Informatika dan Komputer


Teknik Elektro Universitas Brawijaya
Scilab (5.4.0)
Penulis: ikri !ulia
!pril "#$%
Bagian I
Pengenalan Scilab
1.1 Pengenalan Scilab
Scilab adalah software free dan open source untuk komputasi numerik&
'oftware ini menyediakan lin(kun(an untuk perhitun(an yan( dibutuhkan bidan(
sains dan keteknikan& Scilab dirilis seba(ai open source dibawahi lisensi )e)ILL*
dan dapat didownload se+ara (ratis& Scilab tersedia pada sistem operasi ,-U.Linu/*
0a+ 1' 2 dan 3indows& Scilab ju(a memiliki dukun(an enterprise ba(i
perusahaan4perusahaan yan( membutuhkan dukun(an&
Scilab menyediakan ratusan fun(si matematis& 'oftware ini memiliki bahasa
pempro(raman tin(kat tin((i dan dapat men(akses struktur data* plot "5* plot %5
dan fun(si (rafis&
1.2 Interface
Bentuk interfa+e default dari Scilab 6&7&# diba(i menjadi % window utama:
ile Browser* Scilab )onsole dan 8ariable Browser& Interfa+e Scilab 6&7&#
men((unakan sistem docking* yaitu komponen4komponen interfa+e dapat dipindah4
pindah sesuai kebutuhan pen((una&
,ambar $& Interfa+e Scilab 6&7&#
1.2.1 File Browser
File Browser ber(una ba(i saat kita membuka berkas yan( dibutuhkan
den(an +epat* terutama file SciNotes&
1.2.2 Scilab Console
Scilab Console adalah tempat untuk menulis perintah pada Scilab& Perintah
akan lan(sun( dijalankan saat kita menekan Enter dan hasil akan lan(sun(
ditampilkan jika kita tidak men((unakan semicolon (;) pada akhir baris perintah&
1.2.3 Variable Browser
Pada 8ariable Browser* kita dapat melihat variabel yan( telah di(unakan*
dimensi* dan tipenya& Variable Browser memudahkan kita untuk men(in(at variabel
yan( telah kita (unakan* terutama jika variabel yan( di(unakan berjumlah banyak&
9ika kita klik dua kali pada salah satu variabel* maka kita akan dibukakan jendela
Variable Editor&
1.2.4 Variable Editor
Variable Editor memun(kinkan kita untuk melihat isi variabel dalam
bentuk spreadsheet, selanjutnya nilai variabel4variabel dapat kita ubah men((unakan
Variable Editor& Kita ju(a dapat men(eplot variabel den(an +ara memilih variabel
yan( akan diplot lalu men(eklik tombol plot dan memilih tipe plot&
,ambar "& 8ariable Editor
,ambar %& Pilihan Plot
1.2.5 Command istor!
Command History menampilkan perintah4perintah yan( telah kita jalankan&
1.2." Sci#otes
SciNotes merupakan tempat untuk menulis perintah dalam Scilab&
Perbedaan SciNotes dan Scilab Console terdapat pada waktu eksekusi& Scilab
Console akan menjalankan hasil perintah dan operasi setiap baris* sedan(kan
SciNotes hanya akan menjalankan hasil perintah jika kita menekan tombol execute&
SciNotes ber(una saat perintah yan( akan ditulis terlalu panjan(&
,ambar 7& '+i-otes
Untuk membuka SciNotes maka buka Applications>SciNotes& SciNotes
memiliki tab majemuk sehin((a dapat menulis beberapa file sekali(us dalam satu
layar& Pada Execute terdapat beberapa tipe eksekusi& :aitu:
execute file with no echo
execute file with echo
execute selection with echo
save and execute
save and execute all
echo adalah diperlihatkanya hasil dari suatu perintah* seba(ai +ontoh:
e$ec%te file wit& no ec&o
Perintah ini akan men(eksekusi file namun tidak memperlihatkan hasilnya&
Untuk men(etahui hasil eksekusi biasanya di(unakan fun(si disp(x) den(an x
adalah variabel yan( in(in diperlihatkan hasilnya pada Scilab Console&
e$ec%te file wit& ec&o
Perintah ini akan men(eksekusi file den(an memperlihatkan proses yan(
terjadi& Proses yan( dieksekusi akan diperlihatkan pada Scilab Console&
e$ec%te selection wit& ec&o
Perintah ini akan men(eksekusi hanya ba(ian yan( diblok lalu
menampilkanya pada Scilab Console&
sa'e and e$ec%te
save and execute tidak akan lan(sun( men(eksekusi perintah* namun
memuat ke dalam Scilab Console, maka tidak ada hasil yan( diperlihatkan&
8ariabel dalam SciNotes akan ter+antum dalam Variable Browser, dan fun(si
dalam SciNotes bisa lan(sun( dipan((il&
sa'e and e$ec%te all
'ama seperti save and execute* namun semua file akan disimpan dan
dieksekusi&
-->a=0
a =

0.
Bagian 2
Sinta(s
2.1 )*erator
2.1.1 )*erator Standar dan +ritmati(
Scilab memiliki operator standar yan( di(unakan untuk memproses&
1perator4operator ini jika di(unakan untuk memproses matriks* maka akan
didapatkan hasil sesuai aturan perhitun(an matriks& operator standar itu yaitu:
, -assignment.
0emberikan nilai pada variabel men((unakan operator ini&
-->a=10
a =

10.
/ -addition.
1perator untuk penjumlahan&
-->35+4
ans =

39.
0 -s%btraction.
1perator untuk pen(uran(an&
-->b=49-10
b =

39.
1 -m%lti*lication.
1perator perkalian&
-->13*3
ans =

39.
2 -rig&t di'ision.
1perator pemba(ian& hasil operasi ini adalah a/b=a*b^-1.
-->78/2
ans =

39.
3 left di'ision
1perator pemba(ian& hasil operasi ini adalah a\b=a^-1*b.
-->2\78
ans =

39.
4 ata% 11 -*ower.
1perator pan(kat&
-->32
ans =

9.

-->3**2
ans =

9.
5 -trans*ose con6%gate.
1perator khusus matriks&
-->a=!1 2 3"4 5 #$
a =

1. 2. 3.
4. 5. #.

-->a%
ans =

1. 4.
2. 5.
3. #.
2.1.2 )*erator 7ogi(a
operator khusus lo(ika hanya akan men(hasilkan nilai T ;T<UE= atau
;!L'E=& Terdiri dari:
a&b ;logical and=
a|b ;logical or=
~a ;logical not=
Bilan(an yan( diproses oleh operator diatas adalah # seba(ai false dan bukan
# seba(ai true& 'emua bilan(an bernilai T<UE ke+uali # ;bernilai !L'E=&
-->5 & 0
ans =

'

-->(5
ans =

'

-->(0
ans =

)
2.1.3 )*erator Pembandingan
1perator pembandin(an adalah operator yan( membandin(kan " bilan(an
dan men(hasilkan T ;T<UE= atau ;!L'E=&
a==b bernilai T ;T<UE= jika kedua nilai sama*
a>?b atau a@Ab bernilai T ;T<UE= jika kedua nilai tidak sama*
a@b bernilai T ;T<UE= jika a lebih ke+il dari b,
aAb bernilai T ;T<UE= jika a lebih besar dari b,
a@?b bernilai T ;T<UE= jika a lebih ke+il atau sama den(an b,
aA?b bernilai T ;T<UE= jika a lebih besar atau sama den(an b.
-->400>#0
ans =

)

-->39==38
ans =

'
2.1.4 )*erator 8&%s%s 9atri(s
Terdapat operasi antar element dalam matriks ;elementwise=: operasi satu4satu*
bukan operasi antar matriks
.* ;elementwise multiplication=*
./ ;elementwise right division=*
&\ ;elementwise left division=*
.^ ;elementwise power=&
-->*1=!1 2 3"4 5 #"7 8 9$
*1 =

1. 2. 3.
4. 5. #.
7. 8. 9.

-->*2=!1 1 2"1 2 1"2 1 1$
*2 =

1. 1. 2.
1. 2. 1.
2. 1. 1.

-->*1.**2
ans =

1. 2. #.
4. 10. #.
14. 8. 9.
2.2 Flow Control
'ama seperti bahasa pempro(raman pada umumnya* Scilab memiliki
perintah men(atur alur eksekusi pro(ram&
if 0 t&en 0 else
)ontoh:
i+ a==b t,en
//state*en
end
i+ a>b t,en
//state*en 1
else
//state*en 2
end
select
)ontoh:
sele-t a
-ase 1
//state*en 1
-ase 2
//state*en 2
else
//state*en 3
end
for
)ontoh:
-->+or a=1.5
-->dis/0a1
-->end

1.

2.

3.

4.

5.
w&ile
)ontoh:
-->2,ile a34 t,en
-->a=a+1
-->end
a =

2.
a =

3.
a =

4.
brea(: contin%e
break dan continue di(unakan di dalam whie& break ber(una
untuk keluar dari whie! continue di(unakan untuk melewati statemen
berikutnya& Untuk lebih mudah memahami break dan continue* perhatikan
+ontoh berikut&
)ontoh untuk break pada SciNotes:
a=0
2,ile a37
a=a+1
i+ a==4 t,en
brea4
end
dis/0a1
end
den(an hasil eksekusi:
-->e5e-0%6.\7ro8ra* 'iles\Scilab-5.4.0\testbrea4.s-e%9 -11

1.

2.

3.
)ontoh untuk continue pada SciNotes:
a=0
2,ile a35
a=a+1
i+ a33 t,en
-ontin:e
end
dis/0a1
end
den(an hasil eksekusi:
-->e5e-0%6.\7ro8ra* 'iles\Scilab-5.4.0\test-ontin:e.s-e%9 -11

3.

4.

5.
Bagian 3
Str%(t%r ;ata Variabel
3.1 Variabel dan #ilai
Scilab hanya men(hitun( men((unakan bilan(an& 'emua perhitun(an
diselesaikan den(an matriks* seba(ai +ontoh perhitun(an "B$ adalah penjumlahan
matriks berdimensi $/$& 8ariabel tidak harus dideklarasikan terlebih dahulu* namun
suatu variabel harus memiliki nilai& Kelebihan dari Scilab adalah variabel bersifat
fleksibel dan dapat diubah4ubah dari bilan(an menjadi string atau sebaliknya&
-ama variabel bisa sepanjan( mun(kin* namun hanya "7 karakter pertama
yan( akan diperhatikan oleh Scilab& -ama variabel tidak boleh dimulai den(an
an(ka& Karakter C"C* C#C* C$C* C%C* C&C* C'C adalah karakter khusus dan tidak boleh
di(unakan dalam nama variabel&
ans
ans adalah variabel untuk penyimpanan sementara& 9ika suatu operasi yan(
men(hasilkan nilai tidak disimpan dalam variabel* maka hasil operasi tersebut akan
disimpan dalam ans&
string
Penulisan string harus diikuti tanda petik tun((al (anda& 9ika string
dijumlahkan den(an string lainnya maka akan dihasilkan concatenate
;pen((abun(an= dari dua string tersebut& 'trin( tidak dapat dijumlahkan den(an
bilan(an&
-->str=;a:a:a:;
str =

a:a:a:

-->in8=%2e2e2e%
in8 =

2e2e2e

-->str+in8
ans =

a:a:a:2e2e2e
-->in8+;5;
ans =

2e2e2e5

3.2 9atri(s
3.2.1 Pen%lisan 9atri(s
Penulisan matriks men((unakan kurun( siku CD EC masin(4masin( elemen
dipisahkan oleh spasi dan masin(4masin( baris dipisahkan oleh simbol CFC
+ontoh penulisan matriks $ / % yaitu:
-->*=1.3
* =

1. 2. 3.

-->*=1.2.#
* =

1. 3. 5.
-->*=!1 2 3$
* =

1. 2. 3.
)ontoh penulisan matriks % / $ yaitu:
-->*3=!1"2"3$
*3 =

1.
2.
3.
)ontoh penulisan matriks " / % men((unakan semi+olon G(H di(unakan untuk
memisahkan antar baris* +ontoh:
-->*2=!1 2 3"4 5 #$
*2 =

1. 2. 3.
4. 5. #.
3.2.2 Penga(sesan Elemen 9atri(s
Untuk men(akses elemen matriks maka di(unakan tanda kurun( C; =C
)ontoh pen(aksesan elemen matriks:
-->*=!1 2 3$
* =

1. 2. 3.
-->*021
ans =

2.
)ontoh pen(aksesan elemen matriks " dimensi:
-->*2=!1 2 3"4 5 #$
*2 =

1. 2. 3.
4. 5. #.

-->*202921
ans =

5.

3.2.3 )*erator <
Elemen dalam matriks biasa diakses den(an referensi inde/ pertama dari
matriks tersebut& Elemen suatu matriks bisa diakses den(an referensi inde/ terakhir
dari matriks tersebut den(an men((unakan tanda &&
-->*
* =

1. 2. 3.
4. 5. #.

-->*029<-11
ans =

5.
3.3 #ilai 8&%s%s
Scilab memiliki konstanta4konstanta yan( serin( di(unakan dalam
matematika* ke(unaanya adalah memudahkan dalam perhitun(an& 'emua konstanta
tersebut dimulai den(an tanda C"C&
"i nilai imajiner
"e konstanta Euler& nilainya "&I$J"J$J
"pi +onstant pi: %&$7$6K"I&
") atau "t : true
"* atau "+ : false
B+B 4
F%ngsi
4.1 F%ngsi dasar
y=strin,(x)
un(si untuk men(ubah bilan(an menjadi string& un(si ini biasa di(unakan
den(an fun(si disp()&
-=s.rt(x)
un(si untuk men(hitun( akar* x bisa bernilai real atau kompleks&
t=abs(x)
un(si untuk menentukan nilai absolut& x bisa bernilai real atau kompleks*
dan t selalu bernilai real&
c=co/pex(a!b)
un(si untuk men(hasilkan bilan(an kompleks den(an a adalah ba(ian real*
b ba(ian ima(iner&
exp(x)
un(si untuk men(hitun( eksponen&
o,(x)
un(si untuk men(hitun( lo(aritma natural ;ln=
o,0(x)
un(si untuk men(hitun( lo(aritma berbasis "&
o,11(x)
un(si untuk men(hitun( lo(aritma berbasis $#&
rea(x)
un(si untuk mendapatkan nilai real dari suatu bilan(an kompleks* x adalah
bilan(an kompleks&
i/a,(x)
un(si untuk mendapatkan nilai imajiner dari suatu bilan(an kompleks* x
adalah bilan(an kompleks&
4.2 F%ngsi trigonometri
un(si tri(onometri pada Scilab yan( palin( serin( di(unakan adalah cos*
sin* tan* sec* csc* cot,* acos* asin* atan& Scilab men((unakan standar
radian& un(si tri(onometri standar memiliki fun(si alternatif den(an satuan derajat&
un(si tersebut diakhiri den(an huruf d& berikut tabel fun(si tri(onometri&
=rigonometri Standar (rad) ;era6at -degree. !*erbolic
+osine
2-3=cos(x) 2-3=cosd(x) 2-3=cosh(x)
sine
2t3=sin(x) 2t3=sind(x) 2t3=sinh(x)
tan(ent
2t3=tan(x) 2t3=tand(x) 2t3=tanh(x)
se+ant
2-3=sec(x) 2-3=secd(x) 2-3=sech(x)
+ose+ant
2t3=csc(x) 2t3=cscd(x) 2t3=csch(x)
+ot
2t3=cot,(x) 2t3=cotd(x) 2t3=coth(x)
Tabel $& un(si Tri(onometri di '+ilab
un(si inverse tri(onometri ju(a men((unakan standar radian seba(ai nilai
kembalian* namun tetap terdapat fun(si alternatif den(an kembalian dalam satuan
derajat&
In'ers =rigonometri Standar (rad) ;era6at -degree. !*erbolic
ar++osine
2t3=acos(x) 2t3=acosd(x) 2t3=acosh(x)
ar+sine
2t3=asin(x) 2t3=asind(x) 2t3=asinh(x)
ar+tan(ent
2t3=atan(x) 2t3=atand(x) 2t3=atanh(x)
ar+se+ant
2t3=asec(x) 2t3=asecd(x) 2t3=asech(x)
ar++ose+ant
2t3=acsc(x) 2t3=acscd(x) 2t3=acsch(x)
ar++ot
2t3=acot(x) 2t3=acotd(x) 2t3=acoth(x)
Tabel "& un(si Invers Tri(onometri di '+ilab
4.3 F%ngsi 'ector dan matri(s
-=su/(x)
un(si untuk men(etahui jumlah nilai dalam vektor atau matriks&
s4 = si4e(x)
un(si untuk men(etahui besar suatu matriks&
det(x)
un(si untuk menetukan determinant matriks&
-->*=!3 1"2 1$
* =

3. 1.
2. 1.

-->det0*1
ans =

1.
in5(x)
un(si ini adalah fun(si invers matriks* +ontoh:
-->*=!1 2"3 4$
* =

1. 2.
3. 4.

-->in=0*1
ans =

- 2. 1.
1.5 - 0.5
4.4 F%ngsi *lot dan dis*la!
c+
+lf ;+lear fi(ure=& Perintah ini akan men(hapus tampilan jendela (rafik&
disp(x1!2x0!...xn3)
un(si disp;= adalah perintah menampilkan variabel atau strin(& un(si ini
membantu jika perintah yan( dieksekusi tidak melakukan e+ho&
/lot01
un(si plot yan( akan dijelaskan dalam modul ini hanya plot "5& Penulisan
plot yaitu pot(-). y berupa tun((al maupun array atau vektor& 9ika y
tun((al maka yan( ditampilkan adalah suatu titik& )ontoh:
-->>=!1 2 3 4 5 4 3 4$
> =

1. 2. 3. 4. 5. 4. 3. 4.

-->/lot0>1
,ambar 6& Plot "5 dari 0atriks
)ara penulisan plot berikutnya adalah pot(x!-)& 9ika kita men((unakan
+ara penulisan pertama* maka sumbu a/is ;/= se+ara otomatis didistribusikan pada
masin(4masin( nilai y& 'eandainya kita perlu memberikan nilai x yan( berbeda* maka
+ara penulisan ini bisa (unakan& )ontoh:
-->5=0.2.14
5 =

0. 2. 4. #. 8. 10. 12. 14.

-->>=!1 2 3 4 5 4 3 4$
> =

1. 2. 3. 4. 5. 4. 3. 4.

-->/lot059>1
,rafik ;tanpa men(hapus terlebih dahulu=:
,ambar L& Plot dari " 0atriks untuk 0asin(40asin( 'umbu
)ara penulisan yan( keti(a adalah pot(y!inespec) atau
pot(x!-!inespec)& Penulisan ini akan mempermudah analisis banyak plot
den(an warna plot berbeda& )ontoh:
-->-l+

-->/lot0>9;8;1

-->/lot059>9;+r;1
,ambar I& Plot "5 den(an linesec&
4.5 F%ngsi ;efinisi Pengg%na
un(si dapat ditulis di Scilab )onsole maupun SciNotes* untuk alasan
kemudahan* disarankan untuk menulis di SciNotes karena kesalahan sintaks serin(
terjadi& Perintah dalam SciNotes dapat dihapus sebelum melakukan eksekusi&
Penulisan fun(si dalam Scilab adalah:
function nilai_kembalian = nama_fungsi(argument)
//tuis state/ent di sini
nilai_kembalian=hasi proses
endfunction
>eferensi
)hristine ,omeM and '+ilab Enterprises& "#$%. Scilab for very beginners.
8ersailles: '+ilab Enterprises '&!&'
http://www.scilab.org/content/download/84/!"#/file/Scilab$beginners.pdf
0i+hael Baudin& "#$#& %ntroduction to Scilab. Le )hesnay: )onsortium '+ilab&
http://www.scilab.org/content/download/&4!/#!"&/file/introscilab.pdf
'+ilab Enterprises& "#$%& Scilab 'nline (elp&
http://help.scilab.org/